
function PhoneCheck(vPhField, FieldDesc) {
  var re = new RegExp(/^\d\d\d-\d\d\d-\d\d\d\d$/);
	var phString = vPhField.value.toString();
  if ( !phString.match(re) && phString.length > 0) { 
    alert("The "+FieldDesc+" Entered Is Not In The Format: xxx-xxx-xxxx");
		phString = phString.replace(/([a-zA-Z]|[~!@#$%^&*()_+,.={}\]\[\/\>\<\|\\;:'"?`])/gi,'');
  	vPhField.focus();
		vPhField.select();
	}
	return phString;
}

function isValidSSN(value) { 
    var re = /^([0-6]\d{2}|7[0-6]\d|77[0-2])([ \-]?)(\d{2})\2(\d{4})$/; 
    if (!re.test(value)) { 
			return false; 
			} 
    var temp = value; 
    if (value.indexOf("-") != -1) { temp = (value.split("-")).join(""); } 
    if (value.indexOf(" ") != -1) { temp = (value.split(" ")).join(""); } 
    if (temp.substring(0, 3) == "000") { 
		return false; 
		} 
    if (temp.substring(3, 5) == "00") { 
		return false; 
		} 
    if (temp.substring(5, 9) == "0000") { 
		return false; 
		} 
    return true; 
}

function SetClassChecked(ClassID) {
	if (ClassID.checked == true) {
		ClassID.checked = false;
	}
	else { 
		ClassID.checked = true;	
	}
	calcTot();
}


function calcTot() {

	var myTot = 0;
	var myValue = 0;
	var myVal = 0;
	var myPrice = 0;
	var myItemListHTML = "&nbsp;";
	myItemListHTML+="<table align=left border=0 cellpadding=0 cellspacing=0><tr class=ft><td width=225><b>Items Chosen:</b></td><td align=center><b>Amount</b></td></tr>";
	
	with (document.enroll) { 	

		if (Life_And_Health.checked) { 
			myTot += parseFloat(LH_PRICE.value); 
			myValue = parseFloat(LH_PRICE.value);
			myItemListHTML+="<tr class=ft><td>L & H - 2 Day Training </td><td align=right>"+myValue.toFixed(2)+"</td></tr>"; 
			}
		if (Property_And_Casualty.checked) { 
			myTot += parseFloat(PC_PRICE.value); 
			myValue = parseFloat(PC_PRICE.value);
			myItemListHTML+="<tr class=ft><td>P & C - 4 Day Training </td><td align=right>"+myValue.toFixed(2)+"</td></tr>";
			}
		if (Mortgage.checked) { 
			myTot += parseFloat(MG_PRICE.value); 
			myValue = parseFloat(MG_PRICE.value);
			myItemListHTML+="<tr class=ft><td>Mortgage Originators Prelicensing - 4 Day Training </td><td align=right>"+myValue.toFixed(2)+"</td></tr>";
			}		
		if (MortgageCE.checked) { 
			myTot += parseFloat(MG_CE_PRICE.value); 
			myValue = parseFloat(MG_CE_PRICE.value);
			myItemListHTML+="<tr class=ft><td>Mortgage Originators Continuing Education - 2 Day Training </td><td align=right>"+myValue.toFixed(2)+"</td></tr>";
			}					
		if (Series_7.checked) { 
			myTot += parseFloat(S7_PRICE.value); 
			myValue = parseFloat(S7_PRICE.value);
			myItemListHTML+="<tr class=ft><td>Series 7 - 4 Day Training </td><td align=right>"+myValue.toFixed(2)+"</td></tr>";
			}	 
		if (Series_6.checked) { 
			myTot += parseFloat(S6_PRICE.value); 
			myValue = parseFloat(S6_PRICE.value);
			myItemListHTML+="<tr class=ft><td>Series 6 - 3 Day Training </td><td align=right>"+myValue.toFixed(2)+"</td></tr>";
			}	
		if (Series_63.checked) { 
			myTot += parseFloat(S63_PRICE.value); 
			myValue = parseFloat(S63_PRICE.value);
			myItemListHTML+="<tr class=ft><td>Series 63 - 1 Day Training </td><td align=right>"+myValue.toFixed(2)+"</td></tr>";
			}	
		if (Series_65.checked) { 
			myTot += parseFloat(S65_PRICE.value); 
			myValue = parseFloat(S65_PRICE.value);
			myItemListHTML+="<tr class=ft><td>Title Pre-License Training</td><td align=right>"+myValue.toFixed(2)+"</td></tr>";
			}	
		if (Series_66.checked) { 
			myTot += parseFloat(S66_PRICE.value); 
			myValue = parseFloat(S66_PRICE.value);
			myItemListHTML+="<tr class=ft><td>Series 66  - 3 Day Training</td><td align=right>"+myValue.toFixed(2)+"</td></tr>";
			}				
			
		
		if (CE_Hours.value > 0) {	
			myVal = parseFloat(CE_Hours.value);
			myPrice = parseFloat(CE_PRICING.value);
			myValue = myVal * myPrice;
			
			myTot += parseFloat(CE_Hours.value) * parseFloat(CE_PRICING.value); 
			myItemListHTML+="<tr class=ft><td>Continuing Education Credit Hours </td><td align=right>"+myValue.toFixed(2)+"</td></tr>"; 
			} 
		if (CE_Hours_2.value > 0) {	
			myVal = parseFloat(CE_Hours_2.value);
			myPrice = parseFloat(CE_PRICING.value);
			myValue = myVal * myPrice;
			
			myTot += parseFloat(CE_Hours_2.value) * parseFloat(CE_PRICING.value); 
			myItemListHTML+="<tr class=ft><td>Continuing Education Credit Hours Day 2 </td><td align=right>"+myValue.toFixed(2)+"</td></tr>"; 
			} 
		if (CE_Hours_3.value > 0) {	
			myVal = parseFloat(CE_Hours_3.value);
			myPrice = parseFloat(CE_PRICING.value);
			myValue = myVal * myPrice;
			
			myTot += parseFloat(CE_Hours_3.value) * parseFloat(CE_PRICING.value); 
			myItemListHTML+="<tr class=ft><td>Continuing Education Credit Hours Day 3 </td><td align=right>"+myValue.toFixed(2)+"</td></tr>"; 
			} 			
		if (myTot <= 0) {
			myItemListHTML+="<tr class=ft><td>None Chosen</td><td>&nbsp;</td></tr>"; 
		}
		Auth_Amt.value = myTot.toFixed(2);		
		
		
		
		myItemListHTML+="<tr><td colspan=2>&nbsp;</td></tr></table>";
		document.getElementById("ItemList").innerHTML=myItemListHTML;		
		} 
}	



function chkSig() {

	with (document.enroll) 	{

		var mySig = E_Signature.value;
		var CC_FLAG = false;

		CC_Exp.value = CC_Exp1.value + CC_Exp2.value;
		var ExpireDate="";
		CC_Exp.value=ExpireDate.concat(CC_Exp1.value,"/",CC_Exp2.value);

		if (CC_Type.value != 'None Chosen') {
			CC_FLAG = true;
			}
		// check if pay by cc
			
			if (E_Signature.value == 'Type Your Name Here' || mySig.length < 1) {
				alert('Please Type Your Name In The Signature Field');
				E_Signature.focus();
				E_Signature.select();
				return false;
				} 
			else if (parseFloat(Auth_Amt.value) <= 0) {
				alert('You Have Not Chosen A Class: \nPlease Choose From The Following Available Classes:\n\n' + 
							'* Life & Health\n' + 
							'* Property & Casualty\n' +
							'* Continuing Education Credit Hours\n');
				
				Auth_Amt.value.value='0.00';

				return false;
				} 

				// cc requires:
			else if (CC_FLAG == true) {
				
				if (CC_Number.value.length < 12) {
					alert('Please Enter All Of The Required '+CC_Type.value+' Credit Card Information.');	
					CC_Number.focus();
					CC_Number.select();
					return false;
					}
				else if (CC_Exp1.value.length < 2) {
					alert('Please Enter A (2) Digit '+CC_Type.value+' Credit Card Expiration Month.');	
					CC_Exp1.focus();
					CC_Exp1.select();
					return false;
					}
				else if ((CC_Exp2.value.length < 2) || (isNaN(CC_Exp2.value))) {
					alert('Please Enter A (2) Digit '+CC_Type.value+' Credit Card Expiration Year.');	
					CC_Exp2.focus();
					CC_Exp2.select();
					return false;
					}
				} 
		return true;
	}	
}	


function ConfirmEnroll() {
	
	calcTot() 
	
	with (document.enroll) {
	var ClassDesc='';
	var bLH = false, bPC = false, bCE = false, bS7 = false, bS6 = false, b63 = false, bMG = false;
	var bS65 = false, b66 = false;
	var d = new Date();
	var curr_date = d.getDate();
	var curr_month = d.getMonth()+1;
	var curr_year = d.getFullYear();
	var full_date = curr_month + "/" + curr_date + "/" + curr_year;
	var bAdminFee = false;
	
// check for dates 
	if (Life_And_Health.checked) { 
		bLH = true;
		ClassDesc='Life And Health Training';
		if (LH_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			LH_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(LH_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				LH_START_DATE.value='';
				LH_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_LH.value=='') {
			alert('You Must Select A Course Location For '+ClassDesc+'!');
			CourseLocation_LH.focus();
			return false;
		}

		var sDate = new Date(full_date);
		var eDate = new Date(LH_START_DATE.value);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
	
		if (daysApart < 3) {
			bAdminFee = true;		
		}
	}
	else {
		LH_START_DATE.value='';
		CourseLocation_LH.value='';
	}
	if (Property_And_Casualty.checked) {
		bPC = true;
		ClassDesc='Property And Casualty';
		if (PC_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			PC_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(PC_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				PC_START_DATE.value='';
				PC_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_PC.value=='') {
			alert('You Must Select A Course Location For '+ClassDesc+'!');
			CourseLocation_PC.focus();
			return false;
		}

		var sDate = new Date(full_date);
		var eDate = new Date(PC_START_DATE.value);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
		
		if (daysApart < 4) {
			bAdminFee = true;		
		}

		if (LateRegFlag.checked) { 
			bAdminFee = false;
		}

	}
	else {
		PC_START_DATE.value='';
		CourseLocation_PC.value='';
	}

	if (Mortgage.checked) {
		bMG = true;
		ClassDesc='Mortgage';
		if (MG_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			MG_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(MG_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				MG_START_DATE.value='';
				MG_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_MG.value=='') {
			alert('You Must Select A Course Location For '+ClassDesc+'!');
			CourseLocation_MG.focus();
			return false;
		}

		var sDate = new Date(full_date);
		var eDate = new Date(MG_START_DATE.value);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
		
		if (daysApart < 4) {
			bAdminFee = true;		
		}

		if (LateRegFlag.checked) { 
			bAdminFee = false;
		}

	}
	else {
		MG_START_DATE.value='';
		CourseLocation_MG.value='';
	}

	if (MortgageCE.checked) {
		bMG = true;
		ClassDesc='Mortgage CE';
		if (MG_CE_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			MG_CE_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(MG_CE_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				MG_CE_START_DATE.value='';
				MG_CE_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_MGCE.value=='') {
			alert('You Must Select A Course Location For '+ClassDesc+'!');
			CourseLocation_MGCE.focus();
			return false;
		}

		var sDate = new Date(full_date);
		var eDate = new Date(MG_CE_START_DATE.value);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
		
		if (daysApart < 4) {
			bAdminFee = true;		
		}

		if (LateRegFlag.checked) { 
			bAdminFee = false;
		}

	}
	else {
		MG_CE_START_DATE.value='';
		CourseLocation_MGCE.value='';
	}


	if (Series_7.checked) {
		bS7 = true;
		ClassDesc='Series 7';
		if (S7_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			S7_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(S7_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				S7_START_DATE.value='';
				S7_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_S7.value=='') {
			alert('You Must Select A Course Location For '+ClassDesc+'!');
			CourseLocation_S7.focus();
			return false;
		}

		var sDate = new Date(full_date);
		var eDate = new Date(S7_START_DATE.value);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
		
		if (daysApart < 4) {
			bAdminFee = true;		
		}

		if (LateRegFlag.checked) { 
			bAdminFee = false;
		}

	}
	else {
		S7_START_DATE.value='';
		CourseLocation_S7.value='';
	}	
	
	if (Series_6.checked) {
		bS6 = true;
		ClassDesc='Series 6';
		if (S6_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			S6_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(S6_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				S6_START_DATE.value='';
				S6_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_S6.value=='') {
			alert('You Must Select A Course Location For '+ClassDesc+'!');
			CourseLocation_S6.focus();
			return false;
		}

		var sDate = new Date(full_date);
		var eDate = new Date(S6_START_DATE.value);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
		
		if (daysApart < 4) {
			bAdminFee = true;		
		}

		if (LateRegFlag.checked) { 
			bAdminFee = false;
		}

	}
	else {
		S6_START_DATE.value='';
		CourseLocation_S6.value='';
	}		
	
	bRtn = document.enroll.Series_63
	
	if (Series_63.checked) {
		bS6 = true;
		ClassDesc='Series 63';
		if (S63_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			S63_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(S63_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				S63_START_DATE.value='';
				S63_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_63.value=='') {
			alert('You Must Select A Course Location For '+ClassDesc+'!');
			CourseLocation_63.focus();
			return false;
		}

		var sDate = new Date(full_date);
		var eDate = new Date(S63_START_DATE.value);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
		
		if (daysApart < 4) {
			bAdminFee = true;		
		}

		if (LateRegFlag.checked) { 
			bAdminFee = false;
		}

	}
	else {
		S63_START_DATE.value='';
		CourseLocation_63.value='';
	}	
	
	bRtn = document.enroll.Series_65
	
	if (Series_65.checked) {
		bS65 = true;
		ClassDesc='Title Pre-License';
		if (S65_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			S65_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(S65_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				S65_START_DATE.value='';
				S65_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_65.value=='') {
			alert('You Must Select A Course Location For '+ClassDesc+'!');
			CourseLocation_65.focus();
			return false;
		}

		var sDate = new Date(full_date);
		var eDate = new Date(S65_START_DATE.value);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
		
		if (daysApart < 4) {
			bAdminFee = true;		
		}

		if (LateRegFlag.checked) { 
			bAdminFee = false;
		}

	}
	else {
		S65_START_DATE.value='';
		CourseLocation_65.value='';
	}		

	bRtn = document.enroll.Series_66
	
	if (Series_66.checked) {
		bS66 = true;
		ClassDesc='Series 66';
		if (S66_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			S66_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(S66_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				S66_START_DATE.value='';
				S66_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_66.value=='') {
			alert('You Must Select A Course Location For '+ClassDesc+'!');
			CourseLocation_66.focus();
			return false;
		}

		var sDate = new Date(full_date);
		var eDate = new Date(S66_START_DATE.value);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
		
		if (daysApart < 4) {
			bAdminFee = true;		
		}

		if (LateRegFlag.checked) { 
			bAdminFee = false;
		}

	}
	else {
		S66_START_DATE.value='';
		CourseLocation_66.value='';
	}	

	if (CE_Hours.value > 0) {
		bCE = true;
		ClassDesc='Continuing Education Training';
		if (CE_START_DATE.value.length <= 1) {
			alert('You Must Select A Class Starting Date For The '+ClassDesc+'!');
			CE_START_DATE.focus();
			return false;
		}
		else if (new Date(full_date) > new Date(CE_START_DATE.value) ){
				alert ("Please Choose A Class Date That Begins Today Or Later.");
				CE_START_DATE.value='';
				CE_START_DATE.focus();
				return false;
		}	
		else if (CourseLocation_CE.value=='') {
			alert('You Must Select A Course Location For The '+ClassDesc+'!');
			CourseLocation_CE.focus();
			return false;
		}
		else if (CE_Type.value=='') {
			alert('You Must Select A Class Type For CEs');
			CE_Type.focus();
			return false;
		}		
	}
	else {
		CE_START_DATE.value='';
		CourseLocation_CE.value='';
	}
	szLH = LH_START_DATE.value;
	szPC = PC_START_DATE.value;
	szMG = MG_START_DATE.value;
	szMG = MG_CE_START_DATE.value;
	szCE = CE_START_DATE.value;
	szS7 = S7_START_DATE.value;
	szS6 = S6_START_DATE.value;
	sz63 = S63_START_DATE.value;
	sz65 = S65_START_DATE.value;
	sz66 = S66_START_DATE.value;
	
//	szS66 = S66_START_DATE.value;	
	
	if ((bLH && bPC) || (bCE && (bLH || bPC))) {
		if ((szLH == szPC) || (szLH == szCE) || (szPC == szCE)) {
			alert('You have Chosen More Than 1 Class To Start On The Same Date!  Please Choose Unique Start Dates For These Classes.');
			LH_START_DATE.focus();
			return false;
		}
	}
		
	if (parseFloat(Auth_Amt.value) <= 0) {
		alert('You Have Not Chosen A Class! \nPlease Choose (1) Or More Of The Following:\n\n' +
					'* Life & Health (2 Day Class)\n' +
					'* Property & Casualty (4 Day Class)\n' +
					'* Mortgage Originator (4 Day Class)\n' +
					'* Mortgage Originator Continuing Education (2 Day Class)\n' +
					'* Series 7 (4 Day Class)\n' +
					'* Series 6 (3 Day Class)\n' +
					'* Series 63 (1 Day Class)\n' +
					'* Title Pre-License \n' +
					'* Series 66 (3 Day Class)\n' +
					'* Continuing Education Credit Hours\n');
		Auth_Amt.value='0.00';
		Life_And_Health.focus();
		Life_And_Health.select();
		return false;
		} 
	
	if (bAdminFee == true) {
			//alert("Admin Fee Applies");
		var AuthAMT = 0;
		var LateFee = parseFloat(LateRegFee.value);
		AuthAMT = parseFloat(Auth_Amt.value);		
		AuthAMT = parseFloat(AuthAMT + LateFee); 
		AuthAMT = AuthAMT.toFixed(2)		
		Auth_Amt.value = AuthAMT;
		
		alert("A $" + LateFee + " Admin Fee Is Applied To Your Late Registration.");
	}
	
	rtnStatus = chkSig();

	if (rtnStatus == false) {
			return false;
		}
	
	var message = 'You Are About To Submit An Enrollment Request For The Following: \n\n' + 
		'Authorization Amount: ' + Auth_Amt.value + '\n\n' +
		'By Clicking The \'Ok\' Button You Agree To The Terms [1-7] Below.\n\nContinue?';

	}
	
	var return_value = confirm(message);

	if (return_value == true) {
		return true;
		} 
	else { 
		return false; 
		}
}

// these functions are for the ce class lists.
 function getSelected(opt) {
		var selected = new Array();
		var index = 0;
		for (var intLoop = 0; intLoop < opt.length; intLoop++) {
			 if ((opt[intLoop].selected) ||
					 (opt[intLoop].checked)) {
					index = selected.length;
					selected[index] = new Object;
					selected[index].value = opt[intLoop].value;
					selected[index].index = intLoop;
			 }
		}
		return selected;
 }

 function outputSelected(opt) {
		var sel = getSelected(opt);
		var strSel = "";
		for (var item in sel)       
			 strSel += sel[item].value + "; ";
		//alert("Selected Items:\n" + strSel);
		document.enroll.lstClassesText.value=strSel;
 }

