//Took out non-code lines, please update both this and the .bk file, 
// or just the .bk file and recreate this.

function hidestatus(statusmsg){
window.status=statusmsg
return true
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function checkRadio(f){
var Collection;
	Collection = f.contact;
	for (i=0; i < Collection.length; i++){	
	if(Collection[i].checked){return (Collection[i].value);}
	}
}

function validateForm(f) {
var berror = false

if (f.FName.value.length < 1) // validate first name length
{window.alert ("Please provide your first name.");berror=true;}

else if(f.LName.value.length < 1) // validate last name length
{window.alert ("Please provide your last name.");berror=true;}

else if(f.HAddr.value.length < 1) // validate last name length
{window.alert ("Please provide your address.");berror=true;}

else if(f.HCity.value.length < 1) // validate last name length
{window.alert ("Please provide the city.");berror=true;}

else if(f.HState.value == '') // validate last name length
{window.alert ("Please provide the state.");berror=true;}

else if (f.HZip.value == '')
{window.alert ("Please provide the zip.");berror=true;}

else if(isValidZipCode(f.HZip, 'USA')== false) // validate zip code length
{berror=true;}

else if(f.HPhone.value == '')
{window.alert ("Please provide the evening phone number.");berror=true;}

else if(isValidPhone(f.HPhone)==false) // validate phone number length
{berror=true;}

else if(checkRadio(f) == 'Fax') // validate fax number
{
	if(f.Fax.value =='')
	{window.alert("Please Provide Fax Number.");berror=true;}
	else if(isValidPhone(f.Fax)==false)
	{berror=true;}

}	

else if(f.email.value == '')
{window.alert ("Please provide the email address.");berror=true;}

else if(checkEmail(f.email)==false)
{berror=true;}

return berror;
}

function CheckstationinfoRegForCanUSA(f){
//var strMsg;
for (var i = 0; i < f.elements.length; i++)
{
	var e = f.elements[i];
		if (e.value == '')
		{
			switch (e.name){
			case 'Org_Name': {strMsg = 'Shop Name';window.alert('Please provide ' + strMsg + ' information.'); return true;		 break; }
			case 'Org_Add': {strMsg = 'Address'; window.alert('Please provide ' + strMsg + ' information.');return true;		break;}
			case 'Org_City': {strMsg = 'City'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_State': {strMsg = 'State'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Zip': {strMsg = 'Zip'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Phone': {strMsg = 'Evening Telephone Number'; window.alert('Please provide ' + strMsg + ' information.');return true;		break;}
			//case 'Org_FAX': { strMsg = 'Fax Number';window.alert('Please provide ' + strMsg + ' information.');	return true;	 break;}
			case 'Org_Email': {strMsg = 'Email'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Owner': {strMsg = 'at least One owner'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			//case 'Org_Council': {strMsg = 'County'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			//case 'Org_HLStationID': {strMsg = 'HotLine ID'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'Password':{strMsg = 'Create Password'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'accountid':{strMsg = 'Shop ID'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'VPassword':{strMsg = 'Verify Password'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			}										
	}// end if							
		else
		{			
			switch(e.name){
			case 'accountid':{
				var txtid = e.value;	
				if (txtid.length < 5 ){window.alert('ID must be more than 5 length.'); e.focus(); return true; break;}
				for(var j = 0;j < txtid.length ;j++)
				{
					if (txtid.charAt(j) == ' ')
					{window.alert('Please provide ID with no space.'); e.focus(); e.focus(); return true; break;}		
				}						
			}//case
			case 'Password':{
				var txtpass = e.value;	
				if (txtpass.length < 4 ){window.alert('Password must be more than 5 length.'); e.focus(); return true; break;}
				for(var k = 0;k < txtpass.length ;k++)
				{
					if (txtpass.charAt(k) == ' ')
					{window.alert('Please provide Password with no space.'); e.focus(); return true; break;}		
				}																		
			}//case
				
			}//switch													
		}// end if	
						
		if (e.name == 'Org_Phone'){ if (isValidPhone(e)==false){ return true;}}		
		if (e.name == 'Org_Phone2'){ if (isValidPhone(e)==false){ return true;}}
		if (e.name == 'Org_FAX'){ if (e.value!=''){if (isValidPhone(e)==false){ return true;}}}
		if (e.name == 'Org_Zip')
		{
			if(e.value == 'USA'){
				if (isValidZipCode(e, 'USA')==false){return true;}
			}
			else if(e.value == 'CAN'){
			if (isValidZipCode(e, 'CAN')==false){return true;} }
			
		}				
		if (e.name == 'Org_Email'){ if (checkEmail(e)==false){ return true;}}						
				
}//next

}// end function


function CheckClassInfoField(f){

	for (var i = 0; i < f.elements.length; i++)
	{
		var e=f.elements[i];
		if (e.value =='') 
		{
			switch(e.name){
			case 'subject1':{window.alert('Subject1 is required.'); return true; break;}
			case 'date1':{window.alert('Date on Subject1 is required.'); return true; break;}
			case 'phone':{window.alert('Phone Number is required.'); return true; break;}
			case 'address':{window.alert('Address is required.'); return true; break;}
			case 'city':{window.alert('City is required.'); return true; break;}
			case 'state':{window.alert('State is required.'); return true; break;}
			case 'zip':{window.alert('Zip Code is required.'); return true; break;}
			case 'location':{window.alert('Location is required.'); return true; break;}
			}		
		}
		if (e.name == 'phone'){ if (isValidPhone(e)==false){ return true;}}
		if (e.name == 'fax'){ if (e.value!=''){if (isValidPhone(e)==false){ return true;}}}
		if (e.name == 'zip'){if (isValidZipCode(e, 'USA')==false){return true;}}				
		if (e.name == 'date1'){ if (isValidDate(e)==false){ return true;}}
		if (e.name == 'date2'){ if (isValidDate(e)==false){ return true;}}
	}	
}

function CheckAdminInfoField(f){

	for (var i = 0; i < f.elements.length; i++)
	{
		var e=f.elements[i];
		if (e.value =='')
		{
			switch(e.name){
			case 'admin_fname':{window.alert('First Name is required.'); return true; break;}
			case 'admin_lname':{window.alert('Last Name is required.'); return true; break;}
			case 'admin_userID':{window.alert('ID is required.'); return true; break;}
			case 'admin_password':{window.aler('Password is required.'); return true; break;}
			case 'confirmadmin_password':{window.alert('Confirm password is required.'); return true; break;}
			case 'admin_title':{window.alert('Title is required.'); return true; break;}
			case 'admin_telephone':{window.alert('Telephone Number is required.'); return true; break;}
			case 'admin_email':{window.alert('Email is required.'); return true; break;}
			case 'admin_seclevel':{window.alert('Security Level is required.');  e.focus(); return true; break;}
			}		
		}
		if (e.name == 'admin_telephone'){ if (isValidPhone(e)==false){ return true;}}
		if (e.name == 'admin_password'){var ap1 = e.value; }
		if (e.name == 'cadmin_password'){var ap2 = e.value;}
		if (e.name == 'admin_email'){ if (checkEmail(e)==false){ return true;}}	
	}
	if (ap1 != ap2){window.alert('Password and Confirm password are not match.' + ap1 +' xxx ' + ap2); return true;}	
}

function CheckSurvey(f){
var bol =false;
var bpass = false;

var rdo1;
var rdo2;



	for (var i = 0; i < f.elements.length; i++)
	{
		
		var e = f.elements[i];
		
		if (e.name == 'SY_Enhanced_EM_Training?'){if (bpass == false){var obje1 = e; bpass = true;} else {var obje2 = e;}}
		if (e.value == '')
		{
			switch(e.name){
				case 'SY_Years_Auto_Tech': {window.alert('How many years have you been an automobile technician is missing.'); e.focus(); bol = true; break;}
				case 'SY_Avg_Hours_Training_Yr': {window.alert('On average, how may hours of formal update training do you attend per year? is missing'); e.focus();  bol = true; break;}				case 'SY_Avg_Training_Classes_Yr': {window.alert('On average, how may training classes do you attend each year? is missing'); e.focus(); bol = true; break;}
				case 'SY_Avg_Training_Classes_Yr': {window.alert('On average, how may training classes do you attend each year? is missing'); e.focus();  bol = true; break;}				case 'SY_Avg_Training_Classes_Yr': {window.alert('On average, how may training classes do you attend each year? is missing'); e.focus(); bol = true; break;}
			}//switch	
			if (bol == true){return true;}
			
		}//if		
	}//for	


if (f.SY_Cert_Inspector[0].checked == true){rdo1 = 1;}
else if( f.SY_Cert_Inspector[1].checked == true){rdo1 = 2;}
else{rdo1 = 3;}

if (obje1.checked == true){rdo2 = 1;}
else if( obje2.checked == true){rdo2 = 2;}
else{rdo2 = 3;}
				
		if (rdo1 == 3){window.alert('Are you presently a certified emission inspection technician? is missing'); f.SY_Cert_Inspector[0].focus(); return true;}
		if (rdo1 == 1){if (f.SY_Cert_Inspector_State.value == ''){window.alert('What State(s) is missing'); f.SY_Cert_Inspector_State.focus(); return true;}}

		if (rdo2 == 3){window.alert('Have you received any training in enhanced emission repair? is missing'); obje1.focus(); return true;}
		if (rdo2 == 1){if (f.SY_Enh_Em_Trng_Org.value == ''){window.alert('From what training organization? is missing'); f.SY_Enh_Em_Trng_Org.focus(); return true;}}


}

function checknewpass(f){

	for (var i = 0; i < f.elements.length; i++)
	{
		var e = f.elements[i];
		if (e.value == '')
		{
			switch(e.name){
			case 'password': {strmsg = 'Password IS Required'; break;}
			case 'passwordv': {strmsg = 'Verify Password IS Required'; break;}				
			}
			window.alert(strmsg);			
			return true;
		}		
		if (e.name == 'password'){var newp = e.value;}
		if (e.name == 'passwordv'){var newpv = e.value;}			
	}
	if (newp !=  newpv){window.alert('Password and Verify Password must match.');return true;}
	
}

function checknewidowner(f){

	for (var i = 0; i < f.elements.length; i++)
	{
		var e = f.elements[i];
		if (e.value == '')
		{
			switch(e.name){
			case 'TempOwnerID': {strmsg = 'Temp Owner ID IS Required'; break;}
			case 'NewOwnerID': {strmsg = 'New Owner ID IS Required'; break;}
			case 'OwnerIDV': {strmsg = 'You must verify your new Owner ID'; break;}					
			}
			window.alert(strmsg);			
			return true;
		}		
		if (e.name == 'NewOwnerID'){var newid = e.value;}
		if (e.name == 'OwnerIDV'){var newidv = e.value;}			
	}
	if (newid !=  newidv){window.alert('New Owner ID and Verify Owner ID must match.');return true;}
	
}

function checknewid(f){

	for (var i = 0; i < f.elements.length; i++)
	{
		var e = f.elements[i];
		if (e.value == '')
		{
			switch(e.name){
			case 'TempTechID': {strmsg = 'Temp Tech ID IS Required'; break;}
			case 'NewTechID': {strmsg = 'New Tech ID IS Required'; break;}
			case 'TechIDV': {strmsg = 'You must verify your new Tech ID'; break;}					
			}
			window.alert(strmsg);			
			return true;
		}		
		if (e.name == 'NewTechID'){var newid = e.value;}
		if (e.name == 'TechIDV'){var newidv = e.value;}			
	}
	if (newid !=  newidv){window.alert('New Tech ID and Verify Tech ID must match.');return true;}
	
}

function CheckCWField(f){
//var strMsg;
for (var i = 0; i < f.elements.length; i++)
{
	var e = f.elements[i];
		if (e.value == '')
		{
			switch (e.name){
			case 'corp_ware_name': {strMsg = 'Name';window.alert('Please provide ' + strMsg + ' information.'); e.focus(); return true;		 break; }
			case 'address': {strMsg = 'Address'; window.alert('Please provide ' + strMsg + ' information.'); e.focus(); return true;		break;}
			case 'city': {strMsg = 'City'; window.alert('Please provide ' + strMsg + ' information.');	e.focus(); return true;	break;}
			case 'state': {strMsg = 'State'; window.alert('Please provide ' + strMsg + ' information.');	e.focus(); return true;	break;}
			case 'zip': {strMsg = 'Zip'; window.alert('Please provide ' + strMsg + ' information.');	e.focus(); return true;	break;}
			case 'telphone': {strMsg = 'Telephone Number'; window.alert('Please provide ' + strMsg + ' information.'); e.focus(); return true;		break;}
			}										
	}// end if							
		if (e.name == 'telphone'){ if (isValidPhone(e)==false){ return true;}}		
		if (e.name == 'fax'){ if (e.value!=''){if (isValidPhone(e)==false){ return true;}}}
		if (e.name == 'zip')
		{
			if(e.value == 'USA'){
				if (isValidZipCode(e, 'USA')==false){return true;}
			}
			else if(e.value == 'CAN'){
			if (isValidZipCode(e, 'CAN')==false){return true;} }
			
		}			
				
}//next

}// end function

function CheckASPinfoField(f){
	for (var i = 0; i < f.elements.length; i++)
	{
		var e=f.elements[i];
		if (e.value =='')
		{
			switch(e.name){
			case 'admin_fname':{window.alert('First Name is required.'); return true; break;}
			case 'admin_lname':{window.alert('Last Name is required.'); return true; break;}
			//case 'admin_userID':{window.alert('ID is required.'); return true; break;}
			case 'admin_password':{window.aler('Password is required.'); return true; break;}
			case 'confirmadmin_password':{window.alert('Confirm password is required.'); return true; break;}
			case 'admin_title':{window.alert('Title is required.'); return true; break;}
			case 'admin_telephone':{window.alert('Telephone Number is required.'); return true; break;}
			case 'admin_email':{window.alert('Email is required.'); return true; break;}
			//case 'admin_seclevel':{window.alert('Security Level is required.');  e.focus(); return true; break;}
			}		
		}
		if (e.name == 'admin_telephone'){ if (isValidPhone(e)==false){ return true;}}
		if (e.name == 'admin_password'){var ap1 = e.value; }
		if (e.name == 'cadmin_password'){var ap2 = e.value;}
		if (e.name == 'admin_email'){ if (checkEmail(e)==false){ return true;}}	
	}
	if (ap1 != ap2){window.alert('Password and Confirm password are not match.' + ap1 +' xxx ' + ap2); return true;}	

}

function CheckstationinfoField(f){
//var strMsg;
for (var i = 0; i < f.elements.length; i++)
{
	var e = f.elements[i];
		if (e.value == '')
		{
			switch (e.name){
			case 'Org_Name': {strMsg = 'Shop Name';window.alert('Please provide ' + strMsg + ' information.'); return true;		 break; }
			case 'Org_Add': {strMsg = 'Address'; window.alert('Please provide ' + strMsg + ' information.');return true;		break;}
			case 'Org_City': {strMsg = 'City'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_State': {strMsg = 'State'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Zip': {strMsg = 'Zip'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Phone': {strMsg = 'Evening Telephone Number'; window.alert('Please provide ' + strMsg + ' information.');return true;		break;}
			//case 'Org_FAX': { strMsg = 'Fax Number';window.alert('Please provide ' + strMsg + ' information.');	return true;	 break;}
			case 'Org_Email': {strMsg = 'Email'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Owner': {strMsg = 'at least One owner'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			//case 'Org_Council': {strMsg = 'County'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			//case 'Org_HLStationID': {strMsg = 'HotLine ID'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'Password':{strMsg = 'Password'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'accountid':{strMsg = 'Shop ID'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			}										
		}// end if								
		if (e.name == 'Org_Phone'){ if (isValidPhone(e)==false){ return true;}}		
		if (e.name == 'Org_Phone2'){ if (isValidPhone(e)==false){ return true;}}
		if (e.name == 'Org_FAX'){ if (e.value!=''){if (isValidPhone(e)==false){ return true;}}}
		if (e.name == 'Org_Zip')
		{
			if(e.value == 'USA'){
				if (isValidZipCode(e, 'USA')==false){return true;}
			}
			else if(e.value == 'CAN'){
			if (isValidZipCode(e, 'CAN')==false){return true;} }
			
		}				
		if (e.name == 'Org_Email'){ if (checkEmail(e)==false){ return true;}}						
				
}//next

}// end function

function CheckstationinfoFieldforAdmin(f){
//var strMsg;
for (var i = 0; i < f.elements.length; i++)
{
	//window.alert('array:' + i);
	var e = f.elements[i];
		//window.alert('name:' + e.name + '  value:' + e.value + ' array:' + i); 
		if (e.value == '')
		{
			switch (e.name){
			case 'Org_Comp_Name':{strMsg = 'Corp Name';window.alert('Please provide ' + strMsg + ' information.'); return true;		 break; }
			case 'Org_Ware_House':{strMsg = 'Warehouse';window.alert('Please provide ' + strMsg + ' information.'); return true;		 break; }
			case 'Org_Name': {strMsg = 'Shop Name';window.alert('Please provide ' + strMsg + ' information.'); return true;		 break; }
			case 'Org_Add': {strMsg = 'Address'; window.alert('Please provide ' + strMsg + ' information.');return true;		break;}
			case 'Org_City': {strMsg = 'City'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_State': {strMsg = 'State'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Zip': {strMsg = 'Zip'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Phone': {strMsg = 'Evening Telephone Number'; window.alert('Please provide ' + strMsg + ' information.');return true;		break;}
			//case 'Org_FAX': { strMsg = 'Fax Number';window.alert('Please provide ' + strMsg + ' information.');	return true;	 break;}
			case 'Org_Email': {strMsg = 'Email'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Owner': {strMsg = 'at least One owner'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			//case 'Org_Council': {strMsg = 'County'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			//case 'Org_HLStationID': {strMsg = 'HotLine ID'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'Password':{strMsg = 'Password'; window.alert('Please provide ' + strMsg + ' information.');	return true; break;}		
			case 'accountid':{strMsg = 'Shop ID'; window.alert('Please provide ' + strMsg + ' information.');	return true; break;}		
			case 'StationType':{strMsg = 'Station Type'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'PaidAmount':{strMsg = 'PaidAmount'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'SalesMgr':{strMsg = 'Asp Coordinator'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			}	
		}//else end if		
		else
		{			
			switch(e.name){
			case 'accountid':{
				var txtid = e.value;	
				if (txtid.length < 5 ){window.alert('ID must be more than 5 length.'); e.focus(); return true; break;}
				for(var j = 0;j < txtid.length ;j++)
				{
					if (txtid.charAt(j) == ' ')
					{window.alert('Please provide ID with no space.'); e.focus(); e.focus(); return true; break;}		
				}						
			}//case
			case 'Password':{
				var txtpass = e.value;	
				if (txtpass.length < 4 ){window.alert('Password must be more than 5 length.'); e.focus(); return true; break;}
				for(var k = 0;k < txtpass.length ;k++)
				{
					if (txtpass.charAt(k) == ' ')
					{window.alert('Please provide Password with no space.'); e.focus(); return true; break;}		
				}																		
			}//case
				
			}//switch													
		}// end if	
						
		if (e.name == 'Org_Phone'){ if (isValidPhone(e)==false){ return true;}}		
		if (e.name == 'Org_Phone2'){ if (isValidPhone(e)==false){ return true;}}
		if (e.name == 'Org_FAX'){ if (e.value!=''){if (isValidPhone(e)==false){ return true;}}}
		if (e.name == 'Org_Zip')
		{
			if(e.value == 'USA'){
				if (isValidZipCode(e, 'USA')==false){return true;}
			}
			else if(e.value == 'CAN'){
			if (isValidZipCode(e, 'CAN')==false){return true;} }
			
		}				
		if (e.name == 'Org_Email'){ if (checkEmail(e)==false){ return true;}}						
				
}//next  

}// end function

function CheckstationinfoReg(f){
//var strMsg;
for (var i = 0; i < f.elements.length; i++)
{
	var e = f.elements[i];
		if (e.value == '')
		{
			switch (e.name){
			case 'Org_Name': {strMsg = 'Shop Name';window.alert('Please provide ' + strMsg + ' information.'); return true;		 break; }
			case 'Org_Add': {strMsg = 'Address'; window.alert('Please provide ' + strMsg + ' information.');return true;		break;}
			case 'Org_City': {strMsg = 'City'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_State': {strMsg = 'State'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Zip': {strMsg = 'Zip'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Phone': {strMsg = 'Evening Telephone Number'; window.alert('Please provide ' + strMsg + ' information.');return true;		break;}
			//case 'Org_FAX': { strMsg = 'Fax Number';window.alert('Please provide ' + strMsg + ' information.');	return true;	 break;}
			case 'Org_Email': {strMsg = 'Email'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			case 'Org_Owner': {strMsg = 'at least One owner'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			//case 'Org_Council': {strMsg = 'County'; window.alert('Please provide ' + strMsg + ' information.');	return true;	break;}
			//case 'Org_HLStationID': {strMsg = 'HotLine ID'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'Password':{strMsg = 'Create Password'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'accountid':{strMsg = 'Shop ID'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			case 'VPassword':{strMsg = 'Verify Password'; window.alert('Please provide ' + strMsg + ' information.');	return true;break;}		
			}										
	}// end if							
		if (e.name == 'Org_Phone'){ if (isValidPhone(e)==false){ return true;}}		
		if (e.name == 'Org_Phone2'){ if (isValidPhone(e)==false){ return true;}}
		if (e.name == 'Org_FAX'){ if (e.value!=''){if (isValidPhone(e)==false){ return true;}}}
		if (e.name == 'Org_Zip'){if (isValidZipCode(e, 'USA')==false){return true;}}				
		if (e.name == 'Org_Email'){ if (checkEmail(e)==false){ return true;}}						
				
}//next

}// end function

//function Start(page) {
//OpenWin = this.open(page, 'CtrlWindow', 'toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,width=202,height=658,position=500');
//}
function Start(page) {
OpenWin = this.open(page, 'CtrlWindow', 'toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no,width=300,height=300,position=400');
}

function StartBenefit(page) {
OpenWin = this.open(page, 'CtrlWindow', 'toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no,width=300,height=350,position=600');
}

function Start1(page) {
OpenWin = this.open(page, 'CtrlWindow', 'toolbar=yes,menubar=yes,location=no,scrollbars=yes,resizable=yes,width=800,height=600,position=400');
}

function StartPrint(page) {
OpenWin = this.open(page, 'CtrlWindow', 'toolbar=yes,menubar=yes,location=no,scrollbars=yes,resizable=yes,width=850,height=600,position=400');
}

function StartX(page, xwidth, xheight, xposition) {
OpenWin = this.open(page, 'CtrlWindow', 'toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no,width=' + xwidth + ',height=' + xheight + ',position=' + xposition );
//OpenWin.focus();
}

function checkEmail(objInput) {
var x = objInput
if ((x.value == '') || (x.value.indexOf('@') == -1) || (x.value.indexOf('.') == -1)) 
{window.alert('This Field must be a valid email address(like foo@bar.com). Please reenter it now.');
return false;}
else {return true;}
}	
	
function loadFrames(frame1,page1,frame2,page2) {
eval('parent.'+frame1+'.location='+page1+'');
eval('parent.'+frame2+'.location='+page2+'');
}

//add 2.13.01
function hasIllegalChar(argString, illegal_string){
var is_illegal = false;
var the_char = '';

	for(var loop = 0; loop < illegal_string.length; loop++)
	{
		the_char = illegal_string.charAt(loop);
		if (argString.indexOf(the_char) != -1)
		{
			is_illegal = true;
		}
	}		

return is_illegal;
}

//add 2.13.01
function CheckFieldinfo(f){
//var strMsg;

for (var i = 0; i < f.elements.length; i++)
{
	var e = f.elements[i];  
		if (e.value == '') 
		{
			switch (e.name){
			case 'Tech_FName': {strMsg = 'Fist Name';window.alert('Please provide ' + strMsg + ' information.'); return true; e.focus();break; }
			case 'Tech_LName': {strMsg = 'Last Name';window.alert('Please provide ' + strMsg + ' information.'); return true; e.focus();break; }
			case 'Tech_HAddr': {strMsg = 'Home Address';window.alert('Please provide ' + strMsg + ' information.'); return true; e.focus();break; }
			case 'Tech_HCity': {strMsg = 'City';window.alert('Please provide ' + strMsg + ' information.'); return true;e.focus();break; }
			case 'Tech_HZip': {strMsg = 'Zip';window.alert('Please provide ' + strMsg + ' information.'); return true;e.focus();break; }
			case 'Tech_HPhone': {strMsg = 'Evening Telephone Number';window.alert('Please provide ' + strMsg + ' information.'); return true;e.focus();break; }
			case 'Tech_email': {strMsg = 'Email';window.alert('Please provide ' + strMsg + ' information.'); return true;e.focus();break; }
			case 'Tech_HState': {strMsg = 'State';window.alert('Please provide ' + strMsg + ' information.'); return true;e.focus();break; }
			case 'Tech_WPhone': {strMsg = 'Day Telephone Number';window.alert('Please provide ' + strMsg + ' information.'); return true;e.focus();break; }
			}	
		}
		else if (e.name == 'Tech_HZip')
		{
			if(e.value == 'USA'){
				if (isValidZipCode(e, 'USA')==false){return true;}
			}
			else if(e.value == 'CAN'){
			if (isValidZipCode(e, 'CAN')==false){return true;} }
			
		}
		else if (e.name == 'Tech_email'){if (checkEmail(e)==false){return true;}}
		else if (e.name == 'Tech_HPhone'){ if (isValidPhone(e)==false){ return true;}}					  
		else if (e.name == 'Tech_WPhone'){ if (isValidPhone(e)==false){ return true;}}			
					
}//next
			
}// end function

//raw socre record
function CheckField(f){
var sChecked = false;

  for (var i = 0; i < f.elements.length; i++)
  {
	var e = f.elements[i];	
	if (e.name == 'A1_R'){
		if (e.checked == true){sChecked = true;}
	}//end if
  }//next
  
  if (sChecked != true){ 
  window.alert('Please Check One of the answer');
  return true;}
}


function checkInputbox(objItem, objItemCheck){
	//var e = window.document.survey.SY_A1E;
	if	(objItem.options[0].selected != true) {
		objItemCheck.checked = true;
	}
	else
	{objItemCheck.checked = false;}


}

//for password change
function CheckPass(f){

	for (var i = 0; i < f.elements.length; i++)
	{
		var e = f.elements[i];
		if (e.value == ''){window.alert('Please put Old and New Password to change your password.'); return true;}
		if (e.name == 'newpassword'){ var newp = e.value;}
		if (e.name == 'confirmnewpassword'){ var cnewp = e.value;}
	}
	if (newp != cnewp){window.alert('New Password and Confirm New Password are not match.'); return true;}
	return false;
}

function back(){
window.history.back(-1);
}

function checkUserLogin(fthis){	

	for (var i = 0; i < fthis.elements.length; i++)
	{		
		var e = fthis.elements[i];
		if (e.value == null)
		{window.alert('Both Username and Password are required fields.'); return true;}
	}		
	
}




function checkRequiredFields(arrRequiredFields) {
	var tmpValue ='';
	for(var i=0; i < arrRequiredFields.length; i++){
		if(arrRequiredFields[i].value == null){
			if(arrRequiredFields[i].length > 0) {
				// its a dropdown
				tmpValue = arrRequiredFields[i].options[arrRequiredFields[i].selectedIndex].value;
				if(tmpValue == null || tmpValue == ''){
					alert('All * fields are required');
					arrRequiredFields[i].focus();
					return false;
				}
			}
			else {
				if (tmpValue == null) {
					tmpValue = '';
				}
				tmpValue = tmpValue.toString();
				tmpValue = tmpValue.replace(/\s/g, '');
				if(tmpValue == '' || tmpValue == null) {
					alert('All * fields are required');
					arrRequiredFields[i].focus();
					return false;
				}
			}
		}
		else{
			tmpValue = arrRequiredFields[i].value;
			tmpValue = tmpValue.toString();
			tmpValue = tmpValue.replace(/\s/g, '');
			if(tmpValue == '') {
				alert('All * fields are required');
				arrRequiredFields[i].focus();
				return false;
			}
		}
	}
	return true;
}

function stripLeadingZero(strNum) {
	strNum = strNum.toString();
	if(strNum.indexOf('0', 0) == 0){
		return strNum.substr(1, strNum.length -1);
	}
	else {
		return strNum;
	}
}

function hasValue(varElement) {
	var tmpElement;
	tmpElement = varElement.value;
	tmpElement = tmpElement.replace(/\s/g, '');

	if (tmpElement == '')
	{
	  return false;
	}
	return true;
}

function isValidInteger(varElement) {
	if(!hasValue(varElement)){
		return true;
	}

	var OKChars = '0123456789,';
	var checkStr = varElement.value;
	var allValid = isOnlyValidChars(checkStr, OKChars);

	if (!allValid)
	{
      alert('Please Enter only numbers or commas.');
      varElement.focus();
	  return false;
	}

	var tmpInt = varElement.value;
	tmpInt = tmpInt.replace(/\D/g, '');
	varElement.value = tmpInt
	return true;
}

function isValidNumber(varElement) {
	if(!hasValue(varElement)){
		return true;
	}

	var OKChars = '0123456789,';
	var checkStr = varElement.value;
	var allValid = isOnlyValidChars(checkStr, OKChars);

	if (!allValid)
	{
      alert('Please Enter only numbers and commas.');
      varElement.focus();
	  return false;
	}

	var tmpInt = varElement.value;
	tmpInt = tmpInt.replace(/\D/g, '');
	tmpInt = makeValidNumber(tmpInt);
	varElement.value = tmpInt;
	
	return true;
}

function makeValidNumber(tmpNumber) {
	lenNumber = tmpNumber.toString().length;
	var tmpNewNumber = '';
	if(lenNumber > 3) {
		var tmpNumber2 = tmpNumber;
		for(var i=0; i < (lenNumber /3); i++) {
			tmpStartPlace = tmpNumber2.toString().length -3
			if(tmpStartPlace < 1){
				tmpStartPlace = 0;
			}
			tmpNumber2 = tmpNumber2.toString();
			v1 =  tmpNumber2.toString().length;
			v2 = tmpNumber2.slice(tmpStartPlace , v1);
			tmpNewNumber = ',' + v2 + tmpNewNumber;
			tmpNumber2 = tmpNumber2.slice(0, tmpNumber2.length -3);
		}
		//this remove the first character if it is a comma
		if(tmpNewNumber.indexOf(',',0) == 0) {
			tmpNewNumber = tmpNewNumber.slice(1, tmpNewNumber.toString().length);
		}
		tmpNumber = tmpNewNumber;
	}
	return tmpNumber;
}

function isValidUserName(varElement) {
	if(!hasValue(varElement)){
		return true;
	}
	var OKChars = '0123456789-_ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	var checkStr = varElement.value;
	var allValid = isOnlyValidChars(checkStr, OKChars);

	if (!allValid)
	{
      alert('Please Enter only numbers and letters for your username. \n Spaces are not allowed');
      varElement.focus();
	  return false;
	}
	varElement.value = varElement.value.toLowerCase();
	return true;
}

function isOnlyValidChars(checkStr, OKChars) {
	checkStr = checkStr.toUpperCase();
	for (i = 0;  i < checkStr.length;  i++)
	{
	  ch = checkStr.charAt(i);
	  for (j = 0;  j < OKChars.length;  j++)
	    if (ch == OKChars.charAt(j))
	      break;
	  if (j == OKChars.length)
	  {
	    return false;
	    break;
	  }
	}
	return true;
}


function isValidStateOrProvence(varElement, strCountry){
	if(!hasValue(varElement)){
		return true;
	}

	var tmpState = varElement.value;
	tmpState = tmpState.replace(/\d/g, '');
	tmpState = tmpState.replace(/\W/g, '');
	if(tmpState.length != 2) {
		alert('Please enter valid 2 digit State or Province Code');
		varElement.focus();
		return false;
	}
	if(strCountry == 'USA'){
		if(!isStateCode(tmpState.toUpperCase())){
			alert('Please enter valid 2 digit State Code');
			varElement.focus();
			return false;
		}
	}
	else {
		if(strCountry == 'CAN') {
			if(!isProvenceCode(tmpState.toUpperCase())){
				alert('Please enter valid 2 digit Province Code');
				varElement.focus();
				return false;
			}
		}
		else {
			if(!isStateOrProvenceCode(tmpState.toUpperCase())) {
				alert('Please enter valid 2 digit State or Province Code');
				varElement.focus();
				return false;
			}
		}
	}
	makeValidState(varElement);
	return true;
}

function isValidState(varElement, strCountry){
	if(!hasValue(varElement)){
		return true;
	}

	var tmpState = varElement.value;
	tmpState = tmpState.replace(/\d/g, '');
	tmpState = tmpState.replace(/\W/g, '');
	if(tmpState.length != 2) {
		alert('Please enter valid 2 digit State Code');
		varElement.focus();
		return false;
	}
	if(strCountry == 'USA'){
		if(!isStateCode(tmpState.toUpperCase())){
			alert('Please enter valid 2 digit State Code');
			varElement.focus();
			return false;
		}
	}
	else {
		if(strCountry == 'CAN') {
			if(!isProvenceCode(tmpState.toUpperCase())){
				alert('Please enter valid 2 digit Province Code');
				varElement.focus();
				return false;
			}
		}
	}

	makeValidState(varElement);
	return true;
}

function makeValidState(varElement) {
	var tmpState = varElement.value;
	tmpState = tmpState.replace(/\d/g, '');
	tmpState = tmpState.replace(/\W/g, '');
	tmpState = tmpState.toUpperCase();
	varElement.value = tmpState;
}


function isValidSSN(varElement) {
	if(!hasValue(varElement)){
		return true;
	}
	var tmpSSN = varElement.value;
	tmpSSN = tmpSSN.replace(/\D/g, '');

	if(tmpSSN.toString().length != 9){
		alert('Please enter valid 9 digit Social Security Number');
		varElement.focus();
		return false;
	}
	makeValidSSN(varElement);
	return true;
}

function makeValidSSN(varElement) {
	var tmpSSN = varElement.value;
	tmpSSN = tmpSSN.replace(/\D/g, '');
	tmpSSN = tmpSSN.slice(0,3) + '-' + tmpSSN.slice(3,5) + '-' + tmpSSN.slice(5,9);
	varElement.value = tmpSSN;
}


function isValidZipCode(varElement, strCountry) {
	if(!hasValue(varElement)){
		return true;
	}
	var checkOK = '';
	if(strCountry == 'USA') {
		checkOK = '0123456789- ';
	}
	if(strCountry == 'CAN') {
		checkOK = '0123456789- ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	}
	
	var checkStr = varElement.value;
	checkStr = checkStr.toUpperCase();
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
	  ch = checkStr.charAt(i);
	  for (j = 0;  j < checkOK.length;  j++)
	    if (ch == checkOK.charAt(j))
	      break;
	  if (j == checkOK.length)
	  {
	    allValid = false;
	    break;
	  }
	}
	if (!allValid)
	{
	  alert('Please enter valid Zip or Zip\+ 4. Letters are not allowed.');
	  varElement.focus();
	  return false;
	}
	
	var tmpZip = varElement.value;

	if(strCountry == 'USA') {
		tmpZip = tmpZip.replace(/\D/g, '');
		if(tmpZip.toString().length != 5 && tmpZip.toString().length != 9){
			alert('Please enter valid Zip or Zip\+ 4');
			varElement.focus();
			return false;
		}

		makeValidZipCode(varElement);
	}
	if(strCountry == 'CAN') {
		tmpZip = tmpZip.toUpperCase();
		tmpZip = tmpZip.replace(/\s/g, '');
		if(tmpZip.toString().length != 6){
			alert('Please enter all 6 characters in the Postal Code');
			varElement.focus();
			return false;
		}
		if(tmpZip.search(/[A-Z][0-9][A-Z][0-9][A-Z][0-9]/)) {
			alert('Please enter valid Postal Code');
			varElement.focus();
			return false;
		}
		makeValidPostalCode(varElement);
	}

	return true;
}

function makeValidZipCode(varElement) {
	var tmpZip = varElement.value;
	tmpZip = tmpZip.replace(/\D/g, '');

	if(tmpZip.toString().length == 5) {
		varElement.value = tmpZip;
		return true;
	}
	else {
		if(tmpZip.toString().length == 9) {
			tmpZip = tmpZip.slice(0,5) + '-' + tmpZip.slice(5,9);
			varElement.value = tmpZip;
			return false;
		}
		else {
			alert('Please enter valid Zip or Zip\+ 4');
			varElement.focus();
			return false;
		}
	}
}

function makeValidPostalCode(varElement) {
	var tmpZip = varElement.value;
	tmpZip = tmpZip.replace(/\s/g, '');
	tmpZip = tmpZip.toUpperCase();

	if(tmpZip.toString().length == 6) {
		tmpZip = tmpZip.slice(0,3) + ' ' + tmpZip.slice(3,6);
		varElement.value = tmpZip;
	}
	else {
		alert('Please enter valid Zip or Zip\+ 4');
		varElement.focus();
	}
}

function isValidCurrency(varElement) {
	if(!hasValue(varElement)){
		return true;
	}
	var checkOK = '0123456789,$.';
	var checkStr = varElement.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
	  ch = checkStr.charAt(i);
	  for (j = 0;  j < checkOK.length;  j++)
	    if (ch == checkOK.charAt(j))
	      break;
	  if (j == checkOK.length)
	  {
	    allValid = false;
	    break;
	  }
	}
	if (!allValid)
	{
	  alert('Please enter only digit and \'$,\' characters in the \'Currency\' field.');
	  varElement.focus();
	  return false;
	}

	
	
	makeValidCurrency(varElement);
	return true;
}

function makeValidCurrency(varElement) {
// takes input from a text field and formates it as a Currency
	var thisCurrency = varElement.value;
	var error = false;
	var thisNewCurrency = '';

	thisCurrency = thisCurrency.replace(/\s/g, '');
	thisCurrency = thisCurrency.replace(/\,/g, '');
	thisCurrency = thisCurrency.replace(/\$/g, '');
	
	if (thisCurrency.toString().length > 0){		
		var tmpDollars = '';
		var tmpCents = '';
		var lenDollars = '';
		var lenCents = '';
		
		if (thisCurrency.indexOf('.',0) != -1) {
			if (thisCurrency.indexOf('.',0) != 0) {
				tmpDollars = thisCurrency.substring(0,thisCurrency.indexOf('.',0));
				tmpCents = thisCurrency.substring(thisCurrency.indexOf('.',0) + 1, thisCurrency.toString().length);
			}
			else {
				tmpDollars = '0';
				tmpCents = thisCurrency.substring(thisCurrency.indexOf('.',0) + 1, thisCurrency.toString().length);
			}				
		}
		else {
			tmpCents = '00'
			tmpDollars = thisCurrency;
		}

		tmpCents = tmpCents + '0000';
		tmpCents = tmpCents.substring(0,4);
		tmpCents = tmpCents.substr(0,2) + '.' + tmpCents.substr(2,2)
		tmpCents = Math.round(tmpCents);
		if(tmpCents.toString().length == 1)	{
			tmpCents = '0' + tmpCents;
		}
		if(tmpCents.toString().length == 3)	{
			tmpDollars = parseFloat(tmpDollars) + 1;
			tmpDollars = tmpDollars.toString();
			tmpCents = '00';
		}
		
				
		var tmpNewDollars = '';
		tmpDollars = Math.round(tmpDollars);

		lenDollars = tmpDollars.toString().length;
		if(lenDollars > 3) {
			tmpDollars2 = tmpDollars;
			for(i=0; i < (lenDollars /3); i++) {
				tmpStartPlace = tmpDollars2.toString().length -3
				if(tmpStartPlace < 1){
					tmpStartPlace = 0;
				}
				tmpDollars2 = tmpDollars2.toString();
				v1 =  tmpDollars2.toString().length;
				v2 = tmpDollars2.slice(tmpStartPlace , v1);
				tmpNewDollars = ',' + v2 + tmpNewDollars;
//				tmpNewDollars = ',' + tmpDollars2.slice(tmpStartPlace , tmpDollars2.toString().length) + tmpNewDollars;				
				tmpDollars2 = tmpDollars2.slice(0, tmpDollars2.length -3);
			}
			//this remove the first character if it is a comma
			if(tmpNewDollars.indexOf(',',0) == 0) {
				tmpNewDollars = tmpNewDollars.slice(1, tmpNewDollars.toString().length);
			}
			tmpDollars = tmpNewDollars;
		}
		

		varElement.value = '$' + tmpDollars + '.' + tmpCents;
		
	}
	if (error == true) {
			alert('Please use a valid Dollar amount:');
			varElement.focus();
		return;
	}
}



function isValidPhone(varElement) {
	if(!hasValue(varElement)){
		return true;
	}
	
	var checkOK = '0123456789-()- ';
	var checkStr = varElement.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
	  ch = checkStr.charAt(i);
	  for (j = 0;  j < checkOK.length;  j++)
	    if (ch == checkOK.charAt(j))
	      break;
	  if (j == checkOK.length)
	  {
	    allValid = false;
	    break;
	  }
	}
	if (!allValid)
	{
	  alert('Please enter only digit and '-' characters in the Phone Number field.');
	  varElement.focus();
	  return false;
	}
	
	var varTmpElement;
	varTmpElement = varElement.value
	varTmpElement = varTmpElement.replace(/\D/g, '');

	if (varTmpElement.length != 10)
	{
	  alert('Please enter a 10 digit phone number \'XXX-XXX-XXXX\' in the \'Phone Number\' field.');
	  varElement.focus();
	  return false;
	}
	
	makeValidPhone(varElement);
	
	return true;
}

function makeValidPhone(varElement) {
	var thisPhone = varElement.value;
	var error = false;
	var thisNewPhone = '';
	thisPhone = thisPhone.replace(/\D/g, '');

	if(thisPhone.length != 10) {
		alert('Please enter a 10 digit phone number \'\(XXX\)XXX-XXXX\' in the \'Phone Number\' field.');
	}	

	thisNewPhone = '(' + thisPhone.substr(0,3) + ')' + thisPhone.substr(3,3) + '-' + thisPhone.substr(6,4);

	varElement.value = thisNewPhone;
}

function isValidEmail(varElement) {
	if(!hasValue(varElement)){
		return true;
	}

	var thisEmail = varElement.value;
	var error = false;

	thisEmail = thisEmail.replace(/\s/g,'');
	if (thisEmail.toString().length > 0){		
		if (thisEmail.toString().length < 6){
			error = true;
		}
		else {
			if(thisEmail.indexOf('@') == -1) {
				error = true;
			}
			if(thisEmail.indexOf('.') == -1) {
				error = true;
			}
		}
	}
	if (error == true) {
		alert('Please enter a valid email address.');
		varElement.focus();
		return false;
	}
	return true;
}

function isValidDate(varElement){
	if(!hasValue(varElement)){
		return true;
	}
	
	var checkOK = '0123456789-/ ';
	var checkStr = varElement.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
	  ch = checkStr.charAt(i);
	  for (j = 0;  j < checkOK.length;  j++)
	    if (ch == checkOK.charAt(j))
	      break;
	  if (j == checkOK.length)
	  {
	    allValid = false;
	    break;
	  }
	}
	if (!allValid)
	{
	  alert('Please use a valid date: mm/dd/yyyy');
	  varElement.focus();
	  return false;
	}
	
	var tmpDate = varElement.value;
	
	if(tmpDate.length < 8) {
		varElement.focus();
		alert('Please use a valid date: mm/dd/yyyy');
		return false;
	}
	else {
		tmpDate = tmpDate.replace(/\s/g, '');
		tmpDate = tmpDate.replace(/\-/g, '/');
		
		var tmpIndex1;
		var tmpIndex2;
		tmpIndex1 = tmpDate.indexOf('/', 0);
		tmpIndex2 = tmpDate.indexOf('/', tmpIndex1);
		
		if(tmpIndex1 == -1 || tmpIndex2 == -1) {
			varElement.focus();
			alert('Please use a valid date: mm/dd/yyyy');
			return false;
		}
		
		tmpDateArray = tmpDate.split('/');
		if(tmpDateArray[0].toString().length == 1) {
			tmpDateArray[0] = '0' + tmpDateArray[0].toString();
		}

		if(tmpDateArray[1].toString().length == 1) {
			tmpDateArray[1] = '0' + tmpDateArray[1].toString();
		}
		tmpDate = tmpDateArray.toString();
		tmpDate = tmpDate.replace(/\,/g, '/');
	}

	if(tmpDate.length != 10) {
		varElement.focus();
		alert('Please use a valid date: mm/dd/yyyy');
		return false;
	}

	if(!isDate(stripLeadingZero(tmpDate.substr(6,4)), stripLeadingZero(tmpDate.substr(0,2)), stripLeadingZero(tmpDate.substr(3,2)))) {
		alert(tmpDate + ' is not a valid date');
		return false;
	}

	varElement.value = tmpDate;
	
	return true;
}

var CANProvenceCodeDelimiter = '|';
var CANProvenceCodes = 'AB|BC|MB|NB|NF|NT|NS|NT|ON|PE|QC|SK|YT'

function isProvenceCode(s)
{   if (isEmpty(s)) 
       if (isProvenceCode.arguments.length == 1) return defaultEmptyOK;
       else return (isProvenceCode.arguments[1] == true);
    return ( (CANProvenceCodes.indexOf(s) != -1) &&
             (s.indexOf(CANProvenceCodeDelimiter) == -1) )
}


var StateAndProvenceCodeDelimiter = '|';
var StateAndProvenceCodes = 'AB|BC|MB|NB|NF|NT|NS|NT|ON|PE|QC|SK|YT|AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY|AE|AA|AE|AE|AP'

function isStateOrProvenceCode(s)
{   if (isEmpty(s)) 
       if (isStateOrProvenceCode.arguments.length == 1) return defaultEmptyOK;
       else return (isStateOrProvenceCode.arguments[1] == true);
    return ( (StateAndProvenceCodes.indexOf(s) != -1) &&
             (s.indexOf(StateAndProvenceCodeDelimiter) == -1) )
}

var digits = '0123456789';
var lowercaseLetters = 'abcdefghijklmnopqrstuvwxyz'
var uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
var whitespace = ' \t\n\r';
var decimalPointDelimiter = '.'
var phoneNumberDelimiters = '()- ';
var validUSPhoneChars = digits + phoneNumberDelimiters;
var validWorldPhoneChars = digits + phoneNumberDelimiters + '+';
var SSNDelimiters = '- ';
var validSSNChars = digits + SSNDelimiters;
var digitsInSocialSecurityNumber = 9;
var digitsInUSPhoneNumber = 10;
var ZIPCodeDelimiters = '-';
var ZIPCodeDelimeter = '-'
var validZIPCodeChars = digits + ZIPCodeDelimiters
var digitsInZIPCode1 = 5
var digitsInZIPCode2 = 9
var creditCardDelimiters = ' '
var mPrefix = 'You did not enter a value into the '
var mSuffix = ' field. This is a required field. Please enter it now.'
var sUSLastName = 'Last Name'
var sUSFirstName = 'First Name'
var sWorldLastName = 'Family Name'
var sWorldFirstName = 'Given Name'
var sTitle = 'Title'
var sCompanyName = 'Company Name'
var sUSAddress = 'Street Address'
var sWorldAddress = 'Address'
var sCity = 'City'
var sStateCode = 'State Code'
var sWorldState = 'State, Provence, or Prefecture'
var sCountry = 'Country'
var sZIPCode = 'ZIP Code'
var sWorldPostalCode = 'Postal Code'
var sPhone = 'Phone Number'
var sFax = 'Fax Number'
var sDateOfBirth = 'Date of Birth'
var sExpirationDate = 'Expiration Date'
var sEmail = 'Email'
var sSSN = 'Social Security Number'
var sCreditCardNumber = 'Credit Card Number'
var sOtherInfo = 'Other Information'
var iStateCode = 'This field must be a valid two character U.S. state abbreviation (like CA for California). Please reenter it now.'
var iZIPCode = 'This field must be a 5 or 9 digit U.S. ZIP Code (like 94043). Please reenter it now.'
var iUSPhone = 'This field must be a 10 digit U.S. phone number (like 415 555 1212). Please reenter it now.'
var iWorldPhone = 'This field must be a valid international phone number. Please reenter it now.'
var iSSN = 'This field must be a 9 digit U.S. social security number (like 123 45 6789). Please reenter it now.'
var iEmail = 'This field must be a valid email address (like foo@bar.com). Please reenter it now.'
var iCreditCardPrefix = 'This is not a valid '
var iCreditCardSuffix = ' credit card number. (Click the link on this form to see a list of sample numbers.) Please reenter it now.'
var iDay = 'This field must be a day number between 1 and 31.  Please reenter it now.'
var iMonth = 'This field must be a month number between 1 and 12.  Please reenter it now.'
var iYear = 'This field must be a 2 or 4 digit year number.  Please reenter it now.'
var iDatePrefix = 'The Day, Month, and Year for '
var iDateSuffix = ' do not form a valid date.  Please reenter them now.'

var pEntryPrompt = 'Please enter a '
var pStateCode = '2 character code (like CA).'
var pZIPCode = '5 or 9 digit U.S. ZIP Code (like 94043).'
var pUSPhone = '10 digit U.S. phone number (like 415 555 1212).'
var pWorldPhone = 'international phone number.'
var pSSN = '9 digit U.S. social security number (like 123 45 6789).'
var pEmail = 'valid email address (like foo@bar.com).'
var pCreditCard = 'valid credit card number.'
var pDay = 'day number between 1 and 31.'
var pMonth = 'month number between 1 and 12.'
var pYear = '2 or 4 digit year number.'

var defaultEmptyOK = false

function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0
   } 
   return this
}

var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;   // must programmatically check this
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;

var USStateCodeDelimiter = '|';
var USStateCodes = 'AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY|AE|AA|AE|AE|AP'

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}
function stripCharsInBag (s, bag)
{   var i;
    var returnString = '';
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function stripCharsNotInBag (s, bag)

{   var i;
    var returnString = '';
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) != -1) returnString += c;
    }
    return returnString;
}
function stripWhitespace (s)

{   return stripCharsInBag (s, whitespace)
}

function charInString (c, s)
{   for (i = 0; i < s.length; i++)
    {   if (s.charAt(i) == c) return true;
    }
    return false
}
function stripInitialWhitespace (s)

{   var i = 0;

    while ((i < s.length) && charInString (s.charAt(i), whitespace))
       i++;
    
    return s.substring (i, s.length);
}

function isLetter (c)
{   return ( ((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z')) )
}

function isDigit (c)
{   return ((c >= '0') && (c <= '9'))
}
function isLetterOrDigit (c)
{   return (isLetter(c) || isDigit(c))
}


function isInteger (s)
{   var i;

    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    return true;
}

function isSignedInteger (s)
{   if (isEmpty(s)) 
       if (isSignedInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedInteger.arguments[1] == true);

    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;

        if (isSignedInteger.arguments.length > 1)
            secondArg = isSignedInteger.arguments[1];

        if ( (s.charAt(0) == '-') || (s.charAt(0) == '+') )
           startPos = 1;    
        return (isInteger(s.substring(startPos, s.length), secondArg))
    }
}

function isPositiveInteger (s)
{   var secondArg = defaultEmptyOK;

    if (isPositiveInteger.arguments.length > 1)
        secondArg = isPositiveInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) > 0) ) );
}

function isNonnegativeInteger (s)
{   var secondArg = defaultEmptyOK;

    if (isNonnegativeInteger.arguments.length > 1)
        secondArg = isNonnegativeInteger.arguments[1];

    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) >= 0) ) );
}

function isNegativeInteger (s)
{   var secondArg = defaultEmptyOK;

    if (isNegativeInteger.arguments.length > 1)
        secondArg = isNegativeInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) < 0) ) );
}

function isNonpositiveInteger (s)
{   var secondArg = defaultEmptyOK;

    if (isNonpositiveInteger.arguments.length > 1)
        secondArg = isNonpositiveInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) <= 0) ) );
}
function isFloat (s)

{   var i;
    var seenDecimalPoint = false;

    if (isEmpty(s)) 
       if (isFloat.arguments.length == 1) return defaultEmptyOK;
       else return (isFloat.arguments[1] == true);

    if (s == decimalPointDelimiter) return false;

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
        else if (!isDigit(c)) return false;
    }

    return true;
}

function isSignedFloat (s)

{   if (isEmpty(s)) 
       if (isSignedFloat.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedFloat.arguments[1] == true);

    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;

        if (isSignedFloat.arguments.length > 1)
            secondArg = isSignedFloat.arguments[1];

        if ( (s.charAt(0) == '-') || (s.charAt(0) == '+') )
           startPos = 1;    
        return (isFloat(s.substring(startPos, s.length), secondArg))
    }
}
function isAlphabetic (s)

{   var i;

    if (isEmpty(s)) 
       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphabetic.arguments[1] == true);

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if (!isLetter(c))
        return false;
    }

    return true;
}
function isAlphanumeric (s)

{   var i;

    if (isEmpty(s)) 
       if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphanumeric.arguments[1] == true);
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if (! (isLetter(c) || isDigit(c) ) )
        return false;
    }
    return true;
}
function reformat (s)

{   var arg;
    var sPos = 0;
    var resultString = '';

    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) resultString += arg;
       else {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}

function isSSN (s)
{   if (isEmpty(s)) 
       if (isSSN.arguments.length == 1) return defaultEmptyOK;
       else return (isSSN.arguments[1] == true);
    return (isInteger(s) && s.length == digitsInSocialSecurityNumber)
}
function isUSPhoneNumber (s)
{   if (isEmpty(s)) 
       if (isUSPhoneNumber.arguments.length == 1) return defaultEmptyOK;
       else return (isUSPhoneNumber.arguments[1] == true);
    return (isInteger(s) && s.length == digitsInUSPhoneNumber)
}

function isInternationalPhoneNumber (s)
{   if (isEmpty(s)) 
       if (isInternationalPhoneNumber.arguments.length == 1) return defaultEmptyOK;
       else return (isInternationalPhoneNumber.arguments[1] == true);
    return (isPositiveInteger(s))
}

function isZIPCode (s)
{  if (isEmpty(s)) 
       if (isZIPCode.arguments.length == 1) return defaultEmptyOK;
       else return (isZIPCode.arguments[1] == true);
   return (isInteger(s) && 
            ((s.length == digitsInZIPCode1) ||
             (s.length == digitsInZIPCode2)))
}

function isStateCode(s)
{   if (isEmpty(s)) 
       if (isStateCode.arguments.length == 1) return defaultEmptyOK;
       else return (isStateCode.arguments[1] == true);
    return ( (USStateCodes.indexOf(s) != -1) &&
             (s.indexOf(USStateCodeDelimiter) == -1) )
}

function isEmail (s)
{   if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
   
    if (isWhitespace(s)) return false;
    var i = 1;
    var sLength = s.length;

    while ((i < sLength) && (s.charAt(i) != '@'))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != '@')) return false;
    else i += 2;

    while ((i < sLength) && (s.charAt(i) != '.'))
    { i++
    }

    if ((i >= sLength - 1) || (s.charAt(i) != '.')) return false;
    else return true;
}

function isYear (s)
{   if (isEmpty(s)) 
       if (isYear.arguments.length == 1) return defaultEmptyOK;
       else return (isYear.arguments[1] == true);
    if (!isNonnegativeInteger(s)) return false;
    return ((s.length == 2) || (s.length == 4));
}

function isIntegerInRange (s, a, b)
{   if (isEmpty(s)) 
       if (isIntegerInRange.arguments.length == 1) return defaultEmptyOK;
       else return (isIntegerInRange.arguments[1] == true);

    if (!isInteger(s, false)) return false;
    var num = parseInt (s);
    return ((num >= a) && (num <= b));
}

function isMonth (s)
{   if (isEmpty(s)) 
       if (isMonth.arguments.length == 1) return defaultEmptyOK;
       else return (isMonth.arguments[1] == true);
    return isIntegerInRange (s, 1, 12);
}
function isDay (s)
{   if (isEmpty(s)) 
       if (isDay.arguments.length == 1) return defaultEmptyOK;
       else return (isDay.arguments[1] == true);   
    return isIntegerInRange (s, 1, 31);
}

function daysInFebruary (year)
{   // February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (  ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 );
}

function isDate (year, month, day)
{   // catch invalid years (not 2- or 4-digit) and invalid months and days.
    if (! (isYear(year, false) && isMonth(month, false) && isDay(day, false))) return false;
    var intYear = parseInt(year);
    var intMonth = parseInt(month);
    var intDay = parseInt(day);

    if (intDay > daysInMonth[intMonth]) return false; 

    if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;

    return true;
}

function prompt (s)
{   window.status = s;
}

function promptEntry (s)
{   window.status = pEntryPrompt + s;
}
function warnEmpty (theField, s)
{   theField.focus();
    alert(mPrefix + s + mSuffix);
    return false;
}
function warnInvalid (theField, s)
{   theField.focus();
    //theField.select();
    alert(s);
    return false;
}

function checkString (theField, s, emptyOK)
{   // Next line is needed on NN3 to avoid 'undefined is not a number' error
    // in equality comparison below.
    if (checkString.arguments.length == 2) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (isWhitespace(theField.value)) 
       return warnEmpty (theField, s);
    else return true;
}

function checkStateCode (theField, emptyOK)
{   if (checkStateCode.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else
    {  theField.value = theField.value.toUpperCase();
       if (!isStateCode(theField.value, false)) 
          return warnInvalid (theField, iStateCode);
       else return true;
    }
}


function reformatZIPCode (ZIPString)
{   if (ZIPString.length == 5) return ZIPString;
    else return (reformat (ZIPString, '', 5, '-', 4));
}

function checkZIPCode (theField, emptyOK)
{   if (checkZIPCode.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else
    { var normalizedZIP = stripCharsInBag(theField.value, ZIPCodeDelimiters)
      if (!isZIPCode(normalizedZIP, false)) 
         return warnInvalid (theField, iZIPCode);
      else 
      {  // if you don't want to insert a hyphen, comment next line out
         theField.value = reformatZIPCode(normalizedZIP)
         return true;
      }
    }
}

function reformatUSPhone (USPhone)
{   return (reformat (USPhone, '(', 3, ') ', 3, '-', 4))
}
function checkUSPhone (theField, emptyOK)
{   if (checkUSPhone.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else
    {  var normalizedPhone = stripCharsInBag(theField.value, phoneNumberDelimiters)
       if (!isUSPhoneNumber(normalizedPhone, false)) 
          return warnInvalid (theField, iUSPhone);
       else 
       {  // if you don't want to reformat as (123) 456-789, comment next line out
          theField.value = reformatUSPhone(normalizedPhone)
          return true;
       }
    }
}

function checkInternationalPhone (theField, emptyOK)
{   if (checkInternationalPhone.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else
    {  if (!isInternationalPhoneNumber(theField.value, false)) 
          return warnInvalid (theField, iWorldPhone);
       else return true;
    }
}

//function checkEmail (theField, emptyOK)
//{   if (checkEmail.arguments.length == 1) emptyOK = defaultEmptyOK;
//    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
//    else if (!isEmail(theField.value, false)) 
//       return warnInvalid (theField, iEmail);
//    else return true;
//}

function reformatSSN (SSN)
{   return (reformat (SSN, '', 3, '-', 2, '-', 4))
}
function checkSSN (theField, emptyOK)
{   if (checkSSN.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else
    {  var normalizedSSN = stripCharsInBag(theField.value, SSNDelimiters)
       if (!isSSN(normalizedSSN, false)) 
          return warnInvalid (theField, iSSN);
       else 
       {  // if you don't want to reformats as 123-456-7890, comment next line out
          theField.value = reformatSSN(normalizedSSN)
          return true;
       }
    }
}

function checkYear (theField, emptyOK)
{   if (checkYear.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (!isYear(theField.value, false)) 
       return warnInvalid (theField, iYear);
    else return true;
}

function checkMonth (theField, emptyOK)
{   if (checkMonth.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (!isMonth(theField.value, false)) 
       return warnInvalid (theField, iMonth);
    else return true;
}
function checkDay (theField, emptyOK)
{   if (checkDay.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (!isDay(theField.value, false)) 
       return warnInvalid (theField, iDay);
    else return true;
}

function checkDate (yearField, monthField, dayField, labelString, OKtoOmitDay)
{   if (checkDate.arguments.length == 4) OKtoOmitDay = false;
    if (!isYear(yearField.value)) return warnInvalid (yearField, iYear);
    if (!isMonth(monthField.value)) return warnInvalid (monthField, iMonth);
    if ( (OKtoOmitDay == true) && isEmpty(dayField.value) ) return true;
    else if (!isDay(dayField.value)) 
       return warnInvalid (dayField, iDay);
    if (isDate (yearField.value, monthField.value, dayField.value))
       return true;
    alert (iDatePrefix + labelString + iDateSuffix)
    return false
}
function getRadioButtonValue (radio)
{ 
  if(parseInt(radio.length) > 0) {  
   for (var i = 0; i < radio.length; i++)
    {   if (radio[i].checked) 
       {   return radio[i].value
           break 
           }
    }
    }
  else
    if (radio.checked)
      return radio.value
    
   return null
}
function checkCreditCard (radio, theField)
{   var cardType = getRadioButtonValue (radio)
    var normalizedCCN = stripCharsInBag(theField.value, creditCardDelimiters)
    if (!isCardMatch(cardType, normalizedCCN)) 
       return warnInvalid (theField, iCreditCardPrefix + cardType + iCreditCardSuffix);
    else 
    {  theField.value = normalizedCCN
       return true
    }
}
function isCreditCard(st) {
  // Encoding only works on cards with less than 19 digits
  if (st.length > 19)
    return (false);

  sum = 0; mul = 1; l = st.length;
  for (i = 0; i < l; i++) {
    digit = st.substring(l-i-1,l-i);
    tproduct = parseInt(digit ,10)*mul;
    if (tproduct >= 10)
      sum += (tproduct % 10) + 1;
    else
      sum += tproduct;
    if (mul == 1)
      mul++;
    else
      mul--;
  }
  if ((sum % 10) == 0)
    return (true);
  else
    return (false);

} // END FUNCTION isCreditCard()

function isVisa(cc)
{
  if (((cc.length == 16) || (cc.length == 13)) &&
      (cc.substring(0,1) == 4))
    return isCreditCard(cc);
  return false;
}  // END FUNCTION isVisa()


function isMasterCard(cc)
{
  firstdig = cc.substring(0,1);
  seconddig = cc.substring(1,2);
  if ((cc.length == 16) && (firstdig == 5) &&
      ((seconddig >= 1) && (seconddig <= 5)))
    return isCreditCard(cc);
  return false;

}
function isAmericanExpress(cc)
{
  firstdig = cc.substring(0,1);
  seconddig = cc.substring(1,2);
  if ((cc.length == 15) && (firstdig == 3) &&
      ((seconddig == 4) || (seconddig == 7)))
    return isCreditCard(cc);
  return false;

} // END FUNCTION isAmericanExpress()

function isDinersClub(cc)
{
  firstdig = cc.substring(0,1);
  seconddig = cc.substring(1,2);
  if ((cc.length == 14) && (firstdig == 3) &&
      ((seconddig == 0) || (seconddig == 6) || (seconddig == 8)))
    return isCreditCard(cc);
  return false;
}
function isCarteBlanche(cc)
{
  return isDinersClub(cc);
}

function isDiscover(cc)
{
  first4digs = cc.substring(0,4);
  if ((cc.length == 16) && (first4digs == '6011'))
    return isCreditCard(cc);
  return false;

} // END FUNCTION isDiscover()

function isEnRoute(cc)
{
  first4digs = cc.substring(0,4);
  if ((cc.length == 15) &&
      ((first4digs == '2014') ||
       (first4digs == '2149')))
    return isCreditCard(cc);
  return false;
}

function isJCB(cc)
{
  first4digs = cc.substring(0,4);
  if ((cc.length == 16) &&
      ((first4digs == '3088') ||
       (first4digs == '3096') ||
       (first4digs == '3112') ||
       (first4digs == '3158') ||
       (first4digs == '3337') ||
       (first4digs == '3528')))
    return isCreditCard(cc);
  return false;

}
function isAnyCard(cc)
{
  if (!isCreditCard(cc))
    return false;
  if (!isMasterCard(cc) && !isVisa(cc) && !isAmericanExpress(cc) && !isDinersClub(cc) &&
      !isDiscover(cc) && !isEnRoute(cc) && !isJCB(cc)) {
    return false;
  }
  return true;

}
function isCardMatch (cardType, cardNumber)
{

	cardType = cardType.toUpperCase();
	var doesMatch = true;

	if ((cardType == 'VISA') && (!isVisa(cardNumber)))
		doesMatch = false;
	if ((cardType == 'MASTERCARD') && (!isMasterCard(cardNumber)))
		doesMatch = false;
	if ( ( (cardType == 'AMERICANEXPRESS') || (cardType == 'AMEX') )
                && (!isAmericanExpress(cardNumber))) doesMatch = false;
	if ((cardType == 'DISCOVER') && (!isDiscover(cardNumber)))
		doesMatch = false;
	if ((cardType == 'JCB') && (!isJCB(cardNumber)))
		doesMatch = false;
	if ((cardType == 'DINERS') && (!isDinersClub(cardNumber)))
		doesMatch = false;
	if ((cardType == 'CARTEBLANCHE') && (!isCarteBlanche(cardNumber)))
		doesMatch = false;
	if ((cardType == 'ENROUTE') && (!isEnRoute(cardNumber)))
		doesMatch = false;
	return doesMatch;

}  // END FUNCTION CardMatch()




function IsCC (st) {
    return isCreditCard(st);
}

function IsVisa (cc)  {
  return isVisa(cc);
}

function IsVISA (cc)  {
  return isVisa(cc);
}

function IsMasterCard (cc)  {
  return isMasterCard(cc);
}

function IsMastercard (cc)  {
  return isMasterCard(cc);
}

function IsMC (cc)  {
  return isMasterCard(cc);
}

function IsAmericanExpress (cc)  {
  return isAmericanExpress(cc);
}

function IsAmEx (cc)  {
  return isAmericanExpress(cc);
}

function IsDinersClub (cc)  {
  return isDinersClub(cc);
}

function IsDC (cc)  {
  return isDinersClub(cc);
}

function IsDiners (cc)  {
  return isDinersClub(cc);
}

function IsCarteBlanche (cc)  {
  return isCarteBlanche(cc);
}

function IsCB (cc)  {
  return isCarteBlanche(cc);
}

function IsDiscover (cc)  {
  return isDiscover(cc);
}

function IsEnRoute (cc)  {
  return isEnRoute(cc);
}

function IsenRoute (cc)  {
  return isEnRoute(cc);
}

function IsJCB (cc)  {
  return isJCB(cc);
}

function IsAnyCard(cc)  {
  return isAnyCard(cc);
}

function IsCardMatch (cardType, cardNumber)  {
  return isCardMatch (cardType, cardNumber);
}

    function getCookieVal (offset) {
      var endstr = document.cookie.indexOf (';', offset);
      if (endstr == -1)
        endstr = document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr));
    }

    function GetCookie (name) {
      var arg = name + '=';
      var alen = arg.length;
      var clen = document.cookie.length;
      var i = 0;
      while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
          return getCookieVal (j);
        i = document.cookie.indexOf(' ', i) + 1;
        if (i == 0) break; 
      }
      return null;
    }

    function SetCookie (name, value) {
      var argv = SetCookie.arguments;
      var argc = SetCookie.arguments.length;
      var expires = (argc > 2) ? argv[2] : null;
      //var path = (argc > 3) ? argv[3] : null;
      var path = '/'; //This is here to fix a bug with Client side cookies
      var domain = (argc > 4) ? argv[4] : null;
      var secure = (argc > 5) ? argv[5] : false;
      
      document.cookie = name + '=' + escape (value) +
        ((expires == null) ? '' : ('; expires=' + expires.toGMTString())) +
        ((path == null) ? '' : ('; path=' + path)) +
        ((domain == null) ? '' : ('; domain=' + domain)) +
        ((secure == true) ? '; secure' : '');
    }

    function DeleteCookie (name) {
      var exp = new Date();
      exp.setTime (exp.getTime() - 1);  // This cookie is history
      var cval = GetCookie (name);
      document.cookie = name + '=' + cval + '; expires=' + exp.toGMTString();
    }

function check_Warecountry(objItem, objform){	
 for (var loop = 0; loop < objItem.length; loop++)
 {	

	if(objItem[1].checked == true)
	{
		objform.state.outerHTML = '<select NAME="state" id="state" class="tan">' +
				'<option Value>Please Select Province..</option>' +
				'<option Value="Alberta">Alberta</option>' +
				'<option Value="British Columbia">British Columbia</option>' +				
				'<option Value="Manitoba">Manitoba</option>' +
				'<option Value="Newfoundland">Newfoundland</option>' +
				'<option Value="Nova Scotia">Nova Scotia</option>' +
				'<option Value="Nova Brunswick">Nova Brunswick</option>' +
				'<option Value="Ontario">Ontario</option>' +
				'<option Value="Prince Edward Island">Prince Edward Island</option>' +
				'<option Value="Saskatchwan">Saskatchwan</option>' +
				'<option Value="Quebec">Quebec</option>' +	
				'<option Value>---Territories---</option>' +		
				'<option Value="Yukon">Yukon</option>' +	
				'<option Value="NWT">NWT(Northwest Territories)</option>' +			
				'</select>' 	
	}
	else
	{
		objform.state.outerHTML = '<select NAME="state" id="state" class="tan"><option Value>Please Select State..</option>' +
                  '<option VALUE="AL">Alabama </option>' +
                  '<option VALUE="AK">Alaska </option>' +
                  '<option VALUE="AZ">Arizona </option>' +
                  '<option VALUE="AR">Arkansas </option>' +
                  '<option VALUE="CA">California </option>' +
                  '<option VALUE="CO">Colorado </option>' +
                  '<option VALUE="CT">Connecticut </option>' +
                  '<option VALUE="DE">Delaware </option>' +
                  '<option VALUE="DC">District of Columbia </option>' +
                  '<option VALUE="FL">Florida </option>' +
                  '<option VALUE="GA">Georgia </option>' +
                  '<option VALUE="HI">Hawaii </option>' +
                  '<option VALUE="ID">Idaho </option>' +
                  '<option VALUE="IL">Illinois </option>' +
                  '<option VALUE="IN">Indiana </option>' +
                  '<option VALUE="IA">Iowa </option>' +
                  '<option VALUE="KS">Kansas </option>' +
                  '<option VALUE="KY">Kentucky </option>' +
                  '<option VALUE="LA">Louisiana </option>' +
                  '<option VALUE="ME">Maine </option>' +
                  '<option VALUE="MD">Maryland </option>' +
                  '<option VALUE="MA">Massachusetts </option>' +
                  '<option VALUE="MI">Michigan </option>' +
                  '<option VALUE="MN">Minnesota </option>' +
                  '<option VALUE="MS">Mississippi </option>' +
                  '<option VALUE="MO">Missouri </option>' +
                  '<option VALUE="MT">Montana </option>' +
                  '<option VALUE="NE">Nebraska </option>' +
                  '<option VALUE="NV">Nevada </option>' +
                  '<option VALUE="NH">New Hampshire </option>' +
                  '<option VALUE="NJ">New Jersey </option>' +
                  '<option VALUE="NM">New Mexico </option>' +
                  '<option VALUE="NY">New York </option>' +
                  '<option VALUE="NC">North Carolina </option>' +
                  '<option VALUE="ND">North Dakota </option>' +
                  '<option VALUE="OH">Ohio </option>' +
                  '<option VALUE="OK">Oklahoma </option>' +
                  '<option VALUE="OR">Oregon </option>' +
                  '<option VALUE="PA"> Pennsylvania </option>' +
                  '<option VALUE="PR">Puerto Rico </option>' +
                  '<option VALUE="RI">Rhode Island </option>' +
                  '<option VALUE="SC">South Carolina </option>' +
                  '<option VALUE="SD">South Dakota </option>' +
                  '<option VALUE="TN">Tennessee </option>' +
                  '<option VALUE="TX">Texas </option>' +
                  '<option VALUE="UT">Utah </option>' +
                  '<option VALUE="VT">Vermont </option>' +
                  '<option VALUE="VA">Virginia </option>' +
                  '<option VALUE="WA">Washington </option>' +
                  '<option VALUE="WV">West Virginia </option>' +
                  '<option VALUE="WI">Wisconsin </option>' +
                  '<option VALUE="WY">Wyoming </option></select>' 

			
	}// end if
	
	
	
 }//for

}

    
function check_Techcountry(objItem, objform){	
 for (var loop = 0; loop < objItem.length; loop++)
 {	

	if(objItem[1].checked == true)
	{
		objform.Tech_HState.outerHTML = '<select NAME="Tech_HState" id="Tech_HState" class="tan">' +
				'<option Value>Please Select Province..</option>' +
				'<option Value="Alberta">Alberta</option>' +
				'<option Value="British Columbia">British Columbia</option>' +				
				'<option Value="Manitoba">Manitoba</option>' +
				'<option Value="Newfoundland">Newfoundland</option>' +
				'<option Value="Nova Scotia">Nova Scotia</option>' +
				'<option Value="Nova Brunswick">Nova Brunswick</option>' +
				'<option Value="Ontario">Ontario</option>' +
				'<option Value="Prince Edward Island">Prince Edward Island</option>' +
				'<option Value="Saskatchwan">Saskatchwan</option>' +
				'<option Value="Quebec">Quebec</option>' +	
				'<option Value>---Territories---</option>' +		
				'<option Value="Yukon">Yukon</option>' +	
				'<option Value="NWT">NWT(Northwest Territories)</option>' +			
				'</select>' 	
	}
	else
	{
		objform.Tech_HState.outerHTML = '<select NAME="Tech_HState" id="Tech_HState" class="tan"><option Value>Please Select State..</option>' +
                  '<option VALUE="AL">Alabama </option>' +
                  '<option VALUE="AK">Alaska </option>' +
                  '<option VALUE="AZ">Arizona </option>' +
                  '<option VALUE="AR">Arkansas </option>' +
                  '<option VALUE="CA">California </option>' +
                  '<option VALUE="CO">Colorado </option>' +
                  '<option VALUE="CT">Connecticut </option>' +
                  '<option VALUE="DE">Delaware </option>' +
                  '<option VALUE="DC">District of Columbia </option>' +
                  '<option VALUE="FL">Florida </option>' +
                  '<option VALUE="GA">Georgia </option>' +
                  '<option VALUE="HI">Hawaii </option>' +
                  '<option VALUE="ID">Idaho </option>' +
                  '<option VALUE="IL">Illinois </option>' +
                  '<option VALUE="IN">Indiana </option>' +
                  '<option VALUE="IA">Iowa </option>' +
                  '<option VALUE="KS">Kansas </option>' +
                  '<option VALUE="KY">Kentucky </option>' +
                  '<option VALUE="LA">Louisiana </option>' +
                  '<option VALUE="ME">Maine </option>' +
                  '<option VALUE="MD">Maryland </option>' +
                  '<option VALUE="MA">Massachusetts </option>' +
                  '<option VALUE="MI">Michigan </option>' +
                  '<option VALUE="MN">Minnesota </option>' +
                  '<option VALUE="MS">Mississippi </option>' +
                  '<option VALUE="MO">Missouri </option>' +
                  '<option VALUE="MT">Montana </option>' +
                  '<option VALUE="NE">Nebraska </option>' +
                  '<option VALUE="NV">Nevada </option>' +
                  '<option VALUE="NH">New Hampshire </option>' +
                  '<option VALUE="NJ">New Jersey </option>' +
                  '<option VALUE="NM">New Mexico </option>' +
                  '<option VALUE="NY">New York </option>' +
                  '<option VALUE="NC">North Carolina </option>' +
                  '<option VALUE="ND">North Dakota </option>' +
                  '<option VALUE="OH">Ohio </option>' +
                  '<option VALUE="OK">Oklahoma </option>' +
                  '<option VALUE="OR">Oregon </option>' +
                  '<option VALUE="PA"> Pennsylvania </option>' +
                  '<option VALUE="PR">Puerto Rico </option>' +
                  '<option VALUE="RI">Rhode Island </option>' +
                  '<option VALUE="SC">South Carolina </option>' +
                  '<option VALUE="SD">South Dakota </option>' +
                  '<option VALUE="TN">Tennessee </option>' +
                  '<option VALUE="TX">Texas </option>' +
                  '<option VALUE="UT">Utah </option>' +
                  '<option VALUE="VT">Vermont </option>' +
                  '<option VALUE="VA">Virginia </option>' +
                  '<option VALUE="WA">Washington </option>' +
                  '<option VALUE="WV">West Virginia </option>' +
                  '<option VALUE="WI">Wisconsin </option>' +
                  '<option VALUE="WY">Wyoming </option></select>' 

			
	}// end if
	
	
	
 }//for

}
    
    
    
function check_country(objItem, objform){	
 for (var loop = 0; loop < objItem.length; loop++)
 {	

	if(objItem[1].checked == true)
	{
		objform.Org_State.outerHTML = '<select NAME="Org_State" id="Org_State" class="tan">' +
				'<option Value>Please Select Province..</option>' +
				'<option Value="Alberta">Alberta</option>' +
				'<option Value="British Columbia">British Columbia</option>' +				
				'<option Value="Manitoba">Manitoba</option>' +
				'<option Value="Newfoundland">Newfoundland</option>' +
				'<option Value="Nova Scotia">Nova Scotia</option>' +
				'<option Value="Nova Brunswick">Nova Brunswick</option>' +
				'<option Value="Ontario">Ontario</option>' +
				'<option Value="Prince Edward Island">Prince Edward Island</option>' +
				'<option Value="Saskatchwan">Saskatchwan</option>' +
				'<option Value="Quebec">Quebec</option>' +	
				'<option Value>---Territories---</option>' +		
				'<option Value="Yukon">Yukon</option>' +	
				'<option Value="NWT">NWT(Northwest Territories)</option>' +			
				'</select>' 	
	}
	else
	{
		objform.Org_State.outerHTML = '<select NAME="Org_State" id="Org_State" class="tan"><option Value>Please Select State..</option>' +
                  '<option VALUE="AL">Alabama </option>' +
                  '<option VALUE="AK">Alaska </option>' +
                  '<option VALUE="AZ">Arizona </option>' +
                  '<option VALUE="AR">Arkansas </option>' +
                  '<option VALUE="CA">California </option>' +
                  '<option VALUE="CO">Colorado </option>' +
                  '<option VALUE="CT">Connecticut </option>' +
                  '<option VALUE="DE">Delaware </option>' +
                  '<option VALUE="DC">District of Columbia </option>' +
                  '<option VALUE="FL">Florida </option>' +
                  '<option VALUE="GA">Georgia </option>' +
                  '<option VALUE="HI">Hawaii </option>' +
                  '<option VALUE="ID">Idaho </option>' +
                  '<option VALUE="IL">Illinois </option>' +
                  '<option VALUE="IN">Indiana </option>' +
                  '<option VALUE="IA">Iowa </option>' +
                  '<option VALUE="KS">Kansas </option>' +
                  '<option VALUE="KY">Kentucky </option>' +
                  '<option VALUE="LA">Louisiana </option>' +
                  '<option VALUE="ME">Maine </option>' +
                  '<option VALUE="MD">Maryland </option>' +
                  '<option VALUE="MA">Massachusetts </option>' +
                  '<option VALUE="MI">Michigan </option>' +
                  '<option VALUE="MN">Minnesota </option>' +
                  '<option VALUE="MS">Mississippi </option>' +
                  '<option VALUE="MO">Missouri </option>' +
                  '<option VALUE="MT">Montana </option>' +
                  '<option VALUE="NE">Nebraska </option>' +
                  '<option VALUE="NV">Nevada </option>' +
                  '<option VALUE="NH">New Hampshire </option>' +
                  '<option VALUE="NJ">New Jersey </option>' +
                  '<option VALUE="NM">New Mexico </option>' +
                  '<option VALUE="NY">New York </option>' +
                  '<option VALUE="NC">North Carolina </option>' +
                  '<option VALUE="ND">North Dakota </option>' +
                  '<option VALUE="OH">Ohio </option>' +
                  '<option VALUE="OK">Oklahoma </option>' +
                  '<option VALUE="OR">Oregon </option>' +
                  '<option VALUE="PA"> Pennsylvania </option>' +
                  '<option VALUE="PR">Puerto Rico </option>' +
                  '<option VALUE="RI">Rhode Island </option>' +
                  '<option VALUE="SC">South Carolina </option>' +
                  '<option VALUE="SD">South Dakota </option>' +
                  '<option VALUE="TN">Tennessee </option>' +
                  '<option VALUE="TX">Texas </option>' +
                  '<option VALUE="UT">Utah </option>' +
                  '<option VALUE="VT">Vermont </option>' +
                  '<option VALUE="VA">Virginia </option>' +
                  '<option VALUE="WA">Washington </option>' +
                  '<option VALUE="WV">West Virginia </option>' +
                  '<option VALUE="WI">Wisconsin </option>' +
                  '<option VALUE="WY">Wyoming </option></select>' 

			
	}// end if
	
	
	
 }//for

}    
