function LastNameClick()
		{
			if ( (event.which && event.which == 13) || (event.keyCode && event.keyCode == 13) ) 
			{
				event.cancelBubble = true;
				event.returnValue = false;
				
				document.forms[0].SearchButton.click();
				
			}
			else
			{
				return true;
			}
		
		}



function ForgotClick()
		{
			if ( (event.which && event.which == 13) || (event.keyCode && event.keyCode == 13) ) 
			{
				event.cancelBubble = true;
				event.returnValue = false;
				
				document.forms[0].ForgotButton.click();
				
			}
			else
			{
				return true;
			}
		
		}
		
function Click_RegisterGift()	{
	if(!checkFName(document.RegForm.fname, "First Name"))return
	if(!checkLName(document.RegForm.lname, "Last Name"))return
	if(!checkEmail(document.RegForm.email))return
	if(document.RegForm.email.value != document.RegForm.emailVerify.value)	{
		alert("Your emails do not match")
		return
	}
	//if(Trim(document.RegForm.password.value)=="")	{
	//	alert("You must enter a password")
	//	return
	//}		
	//if( document.RegForm.password.value != document.RegForm.passwordVerify.value )	{
	//	alert("Your passwords do not match")
	//	return
	//}
	if(!checkAddress1(document.RegForm.Address1,"Address1"))return
	if(!checkAddress2(document.RegForm.Address2,"Address2"))return
	if(!checkCity(document.RegForm.City,"City"))return
	if(document.RegForm.State.selectedIndex==0)	{
		alert("You must select a State")
		return
	}
	if(!checkZip(document.RegForm.Zip,"Zip"))return

	//if(!checkPhone(document.RegForm.HomePhone.value,"Home"))return

	//if(Trim(document.RegForm.License.value) == "")	{
	//	alert("You must enter a License Number ")
	//	return		
	//}	

	//if(document.RegForm.LicenseState.selectedIndex==0)	{
	//	alert("You must select a License State ")
	//	return
	//}	

	if(Trim(document.RegForm.WorkPhone.value) != "")	{
		//if(!checkPhone(document.RegForm.WorkPhone.value,"Work"))return		
	}

	if(Trim(document.RegForm.Fax.value) != "")	{
		//if(!checkPhone(document.RegForm.Fax.value,"Fax"))return
	}

	if(document.RegForm.cCType.selectedIndex==0)	{
		alert("You must Select a Credit Cart Type")
		return
	}
	if(!CheckCC(document.RegForm.cCNum.value,document.RegForm.cCType.selectedIndex))return
	if(!checkDate(document.RegForm.cCExpirationDate.value))return

	document.RegForm.regBut.disabled = true;
	document.RegForm.submit()
}	

function Click_Reminder()	{
		if(!checkFName(document.RegForm.FName, "First Name"))return
		if(!checkLName(document.RegForm.LName, "Last Name"))return
		if(!checkEmail(document.RegForm.EMail))return
		if(document.RegForm.EMail.value != document.RegForm.EMailVerify.value)	{
			alert("Your emails do not match")
			return
		}

		if(!checkAddress1(document.RegForm.Address1,"Address1"))return
		if(!checkAddress2(document.RegForm.Address2,"Address2"))return
		if(!checkCity(document.RegForm.City,"City"))return
		if(document.RegForm.State.selectedIndex==0)	{
			alert("You must select a State")
			return
		}
		if(!checkZip(document.RegForm.Zip,"Zip"))return
		if(!checkDate(document.RegForm.RemindDate.value))return
		if(!checkDate(document.RegForm.ClassDate.value))return
		

		document.RegForm.submit()
}


	function Click_RegisterAdmin()	{
		if(!checkFName(document.RegForm.fname, "First Name"))return
		if(!checkLName(document.RegForm.lname, "Last Name"))return
		if(!checkEmail(document.RegForm.email))return
		if(document.RegForm.email.value != document.RegForm.emailVerify.value)	{
			alert("Your emails do not match")
			return
		}
		//if(Trim(document.RegForm.password.value)=="")	{
		//	alert("You must enter a password")
		//	return
		//}		
		//if( document.RegForm.password.value != document.RegForm.passwordVerify.value )	{
		//	alert("Your passwords do not match")
		//	return
		//}
		if(!checkAddress1(document.RegForm.Address1,"Address1"))return
		if(!checkAddress2(document.RegForm.Address2,"Address2"))return
		if(!checkCity(document.RegForm.City,"City"))return
		if(document.RegForm.State.selectedIndex==0)	{
			alert("You must select a State")
			return
		}
		if(!checkZip(document.RegForm.Zip,"Zip"))return
		
		//if(!checkPhone(document.RegForm.HomePhone.value,"Home"))return
		
		if(Trim(document.RegForm.License.value) == "")	{
			alert("You must enter a License Number ")
			return		
		}	
		
		if(document.RegForm.LicenseState.selectedIndex==0)	{
			alert("You must select a License State ")
			return
		}	
		
		if(Trim(document.RegForm.WorkPhone.value) != "")	{
			//if(!checkPhone(document.RegForm.WorkPhone.value,"Work"))return		
		}
		
		if(Trim(document.RegForm.Fax.value) != "")	{
			//if(!checkPhone(document.RegForm.Fax.value,"Fax"))return
		}
		
		//if(document.RegForm.cCType.selectedIndex==0)	{
		//	alert("You must Select a Credit Cart Type")
		//	return
		//}
		//if(!CheckCC(document.RegForm.cCNum.value,document.RegForm.cCType.selectedIndex))return
		//if(!checkDate(document.RegForm.cCExpirationDate.value))return
		
		document.RegForm.regBut.disabled = true;
		document.RegForm.submit()
	}	



	function Click_PreRegistered()	{
		if(!checkFName(document.RegForm.fname, "First Name"))return
		if(!checkLName(document.RegForm.lname, "Last Name"))return
		if(!checkEmail(document.RegForm.email))return
		if(document.RegForm.email.value != document.RegForm.emailVerify.value)	{
			alert("Your emails do not match")
			return
		}
		//if(Trim(document.RegForm.password.value)=="")	{
		//	alert("You must enter a password")
		//	return
		//}		
		//if( document.RegForm.password.value != document.RegForm.passwordVerify.value )	{
		//	alert("Your passwords do not match")
		//	return
		//}
		if(!checkAddress1(document.RegForm.Address1,"Address1"))return
		if(!checkAddress2(document.RegForm.Address2,"Address2"))return
		if(!checkCity(document.RegForm.City,"City"))return
		if(document.RegForm.State.selectedIndex==0)	{
			alert("You must select a State")
			return
		}
		if(!checkZip(document.RegForm.Zip,"Zip"))return
		
		//if(!checkPhone(document.RegForm.HomePhone.value,"Home"))return
		
		if(Trim(document.RegForm.License.value) == "")	{
			alert("You must enter a License Number ")
			return		
		}	
		
		if(document.RegForm.LicenseState.selectedIndex==0)	{
			alert("You must select a License State ")
			return
		}	
		
		if(Trim(document.RegForm.WorkPhone.value) != "")	{
			//if(!checkPhone(document.RegForm.WorkPhone.value,"Work"))return		
		}
		
		if(Trim(document.RegForm.Fax.value) != "")	{
			//if(!checkPhone(document.RegForm.Fax.value,"Fax"))return
		}
		
		//if(document.RegForm.cCType.selectedIndex==0)	{
		//	alert("You must Select a Credit Cart Type")
		//	return
		//}
		//if(!CheckCC(document.RegForm.cCNum.value,document.RegForm.cCType.selectedIndex))return
		//if(!checkDate(document.RegForm.cCExpirationDate.value))return
		document.RegForm.submit()
	}
	
	function Click_Register()	{
		if(!checkFName(document.RegForm.fname, "First Name"))return
		if(!checkLName(document.RegForm.lname, "Last Name"))return
		if(!checkEmail(document.RegForm.email))return
		if(document.RegForm.email.value != document.RegForm.emailVerify.value)	{
			alert("Your emails do not match")
			return
		}
		//if(Trim(document.RegForm.password.value)=="")	{
		//	alert("You must enter a password")
		//	return
		//}		
		//if( document.RegForm.password.value != document.RegForm.passwordVerify.value )	{
		//	alert("Your passwords do not match")
		//	return
		//}
		if(!checkAddress1(document.RegForm.Address1,"Address1"))return
		if(!checkAddress2(document.RegForm.Address2,"Address2"))return
		if(!checkCity(document.RegForm.City,"City"))return
		if(document.RegForm.State.selectedIndex==0)	{
			alert("You must select a State")
			return
		}
		if(!checkZip(document.RegForm.Zip,"Zip"))return
		
		//if(!checkPhone(document.RegForm.HomePhone.value,"Home"))return
		
		if(Trim(document.RegForm.License.value) == "")	{
			alert("You must enter a License Number ")
			return		
		}	
		
		if(document.RegForm.LicenseState.selectedIndex==0)	{
			alert("You must select a License State ")
			return
		}	
		
		if(Trim(document.RegForm.WorkPhone.value) != "")	{
			//if(!checkPhone(document.RegForm.WorkPhone.value,"Work"))return		
		}
		
		if(Trim(document.RegForm.Fax.value) != "")	{
			//if(!checkPhone(document.RegForm.Fax.value,"Fax"))return
		}
		
		if(document.RegForm.cCType.selectedIndex==0)	{
			alert("You must Select a Credit Cart Type")
			return
		}
		if(!CheckCC(document.RegForm.cCNum.value,document.RegForm.cCType.selectedIndex))return
		if(!checkDate(document.RegForm.cCExpirationDate.value))return
		
		document.RegForm.regBut.disabled = true;
		document.RegForm.submit()
	}	

	function checkPhone(data,type)	{
		data = Trim(data).replace("-","").replace("-","").replace(" ","").replace("(","").replace(")","")
		for (i = 0; i < data.length; i++)	{   
		    var c = data.charAt(i);
		    if (!isNaN(c))	{
				alert("Invalid "+type+" Phone Number")
				return false
		    }
		}
		return true
	}
	
	function checkDate(data)	{
		error = 0;

		if((data.charAt(2)!="/") || data.length!=5)
			error = 1;
		else if(isNaN(data.charAt(0))||isNaN(data.charAt(1))||isNaN(data.charAt(3))||isNaN(data.charAt(4)))
			error = 1;

		switch(error)
		{
		case 1: alert("Date must be in mm/yy format");
				return false;
				break;
		case 2: alert("The month you entered is invalid.");
				return false;
				break;
		case 4: alert("The date you entered is invalid.");
				return false;
				break;
		default: return true;
		}
	}

	
/*
	FORM VALIDATION
*/
	function checkEmail(sVal) {
		sVal = sVal.value
		var oReg = /[^@\s][^@\s]+@[^@\s][^@\s]+\.[a-z]{2,4}/i  
		var bOK = oReg.test(sVal);
	    var sErr = "Please enter a valid email address\n(e.g. username@address.com).";
	  
	    if ( ! bOK ) {
			alert( sErr );
			return false;
	    }    
		return true;
	}

	function checkFName(obj, sMsg)	{
		
		var sValue = Trim(obj.value);
		var reg = new RegExp("\\s","gi");
		var sValue = sValue.replace(reg, "");
		obj.value = sValue;
		var sExp = "^([A-Z]|[a-z]|[&\\-'`]){1,}$";
		var oReg = new RegExp( sExp );
		var bOK = oReg.test( sValue );
		
		if (! bOK)
		{
			alert(sMsg + " contains invalid characters or numbers"); 
			return false;
		}
		return true;
	}

	function checkLName(obj, sMsg)	{

		var sValue = Trim(obj.value);
		var reg = new RegExp("\\s","gi");
		var sValue = sValue.replace(reg, "");
		obj.value = sValue;
		var sExp = "^([A-Z]|[a-z]|[&\\-'`]){2,}$";
		var oReg = new RegExp( sExp );
		var bOK = oReg.test( sValue);

		if (! bOK) {
			alert(sMsg + " contains invalid characters, numbers\nor is not at least 2 characters "); 
			return false;
		}
		return true;
	}
	
	function ReplaceCharX(idx, find, replacement)
	{
		var oldString = idx.value;
		var reg = new RegExp(find,"gi");
		var newString = oldString.replace(reg, replacement); 
		idx.value = newString;
	}

	function checkAddress1(obj, sMsg)	{

		var sValue = Trim(obj.value);
		obj.value = sValue;
		ReplaceCharX(obj, ",", " ");
		obj.value = Trim(obj.value);
		sValue = obj.value
		//allowed characters:
		//                 [ a to z ] [0-9]  [.][/][#] [-]
		var sExp = "^(\\s|[a-z]|[A-Z]|[0-9]|\\.|\\/|#|\\-){5,}$"
		var oReg = new RegExp( sExp );
		var bOK = oReg.test( sValue);

		if (! bOK) {
			alert(sMsg + " contains invalid characters\nor is not at least 5 characters "); 
			return false;
		}
		return true;
	}
	
	function checkAddress2(obj, sMsg)	{

		var sValue = Trim(obj.value);
		obj.value = sValue;
		ReplaceCharX(obj, ",", " ");
		sValue = obj.value
		var sExp = "^(\\s|[a-z]|[A-Z]|[0-9]|\\.|\\/|#|\\-)*$"
		var oReg = new RegExp( sExp );
		var bOK = oReg.test( sValue);

		if (! bOK) {
			alert(sMsg + " contains invalid characters"); 
			return false;
		}
		return true;
	}

	function checkCity(obj, sMsg)	{

		var sValue = Trim(obj.value);
		obj.value = sValue;
		var sExp = "^(\\s|[a-zA-Z .]){2,}$"
		var oReg = new RegExp( sExp );
		var bOK = oReg.test( sValue);

		if (! bOK) {
			alert(sMsg + " contains invalid characters\nor is not at least 2 characters"); 
			return false;
		}
		if (sValue=="NYC"||sValue=="NY"||sValue=="nyc"||sValue=="ny") {
			if ( confirm("Do you mean to use 'New York City' for your city entry?") ) {
				obj.value = "New York City";		
			}
		}
		if (sValue=="LA"||sValue=="la") {
			if ( confirm("Do you mean to use 'Los Angeles' for your city entry?") ) {
				obj.value = "Los Angeles";		
			}
		}
		if (sValue=="DC"||sValue=="dc") {
			if ( confirm("Do you mean to use 'Washington DC' for your city entry?") ) {
				obj.value = "Washington DC";		
			}
		}

		return true;
	}
	/*
	function checkCC(obj, sMsg)	{

		var sValue = Trim(obj.value);
		obj.value = sValue;
		var sExp =  "^\\d{12,}$";
		var oReg = new RegExp( sExp );
		var bOK = oReg.test( sValue);

		if (! bOK) {
			alert(sMsg + " contains invalid characters\nor is in the wrong format"); 
			return false;
		}
		
		return true;
	}
	*/
	function checkZip(obj, sMsg)	{

		var sValue = Trim(obj.value);
		obj.value = sValue;
		var sExp =  "^\\d{5}((\\-{1}\\d{4}$)|($))";
		var oReg = new RegExp( sExp );
		var bOK = oReg.test( sValue);

		if (! bOK) {
			alert(sMsg + " contains invalid characters\nor is in the format of #####"); 
			return false;
		}
		
		return true;
	}

/*
	STRING UTILS
*/
	function Trim(str)	{
		return RTrim(LTrim(str));
	}

	function LTrim(str)	{
		var whitespace = new String(" \t\n\r");
		var s = new String(str);
		if (whitespace.indexOf(s.charAt(0)) != -1) {
		var j=0, i = s.length;
		while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
			j++;
		s = s.substring(j, i);
		}
		return s;
	}
	function RTrim(str)	{
		var whitespace = new String(" \t\n\r");
		var s = new String(str);
		if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
		var i = s.length - 1;       // Get length of string
		while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
			i--;
		s = s.substring(0, i+1);
		}
		return s;
	}
	

    
function CheckCC(CC_NUMBER,formCC_TYPE)
	{
	var CCN_digits = ""

	for (var i = 0; i < CC_NUMBER.length; i++)
		{

			if ((CC_NUMBER.charAt(i) == "0") || (CC_NUMBER.charAt(i) == "1") || (CC_NUMBER.charAt(i) == "2") || (CC_NUMBER.charAt(i) == "3") || (CC_NUMBER.charAt(i) == "4") || (CC_NUMBER.charAt(i) == "5") || (CC_NUMBER.charAt(i) == "6") || (CC_NUMBER.charAt(i) == "7") || (CC_NUMBER.charAt(i) == "8") || (CC_NUMBER.charAt(i) == "9"))
				CCN_digits = CCN_digits + CC_NUMBER.charAt(i);
			
		}
	var validcard = false;

// ------------------------------------------------------------------------------------------------------
// msgind is used to communicate the type of alert to post in case of a problem
//	1=invalid prefix (prefix does not match card type)
//	2=invalid number of digits in card number for the card type selected
// ------------------------------------------------------------------------------------------------------
	var msgind = 0;

// ------------------------------------------------------------------------------------------------------
// Check the card for having a valid prefix and number of digits (length) for the card type.
// Note - the if, else if construct was used here because switch/case is not supported by JavaScript 1.0
// ------------------------------------------------------------------------------------------------------
//							AMEX		DISCOVER		MASTERCARD		VISA
// ------------------------------------------------------------------------------------------------------
//		VALID LENGTHS		 15				  16			16			13/16
// ------------------------------------------------------------------------------------------------------
//		VALID PREFIXES		 34				6011			51			  4
//							 37								52
//							 								53
//							 								54
//							 								55
// ------------------------------------------------------------------------------------------------------
	if (formCC_TYPE == 1)
		if (CCN_digits.length == 15)
			if ((CCN_digits.substring (0, 2) == "34") || (CCN_digits.substring (0, 2) == "37"))
				validcard = true;
			else
				msgind = 1;
		else	
			msgind = 2;
	else if (formCC_TYPE == 2)
		if (CCN_digits.length == 16)
			if (CCN_digits.substring (0, 4) == "6011")
				validcard = true;
			else
				msgind = 1;
		else	
			msgind = 2;
	else if (formCC_TYPE == 3)
		if (CCN_digits.length == 16)
			if ((CCN_digits.substring (0, 2) >= "51") && (CCN_digits.substring (0, 2) <= "55"))
				validcard = true;
			else
				msgind = 1;
		else	
			msgind = 2;
	else if (formCC_TYPE == 4)
		if ((CCN_digits.length == 16)  || (CCN_digits.length ==13))
			if (CCN_digits.substring (0, 1) == "4")
				validcard = true;
			else
				msgind = 1;
		else	
			msgind = 2;
	else
// ------------------------------------------------------------------------------------------------------
// this should be impossible to reach as long as all valid card types are in the list above....
// ------------------------------------------------------------------------------------------------------
		alert ("Sorry, is not currently being accepted - please contact us by phone or email.");

	if (!validcard)
		{
		if (msgind == 1)
// ------------------------------------------------------------------------------------------------------
//			Invalid prefix
// ------------------------------------------------------------------------------------------------------
			alert ("The Card Number and the Card Type do not match.");

		else if (msgind == 2)
// ------------------------------------------------------------------------------------------------------
//			Invalid number of digits (length)
// ------------------------------------------------------------------------------------------------------
			alert ("The Card Number is not the right length for the Card Type.");
		}

	if (!validcard)
		return (validcard);

// ------------------------------------------------------------------------------------------------------
// fix the Netscape 2 reverse polarity radio buttons
// ------------------------------------------------------------------------------------------------------

			var DebugOn = false



	var CheckSum = 0;
// for loop
	for (var x = 1; x <= CCN_digits.length; x++)
		{
// BUG-FIX 1999.12.21
//		var CurrentDigit = CCN_digits.charAt(CC_NUMBER.length - x); CHANGED TO:
		var CurrentDigit = CCN_digits.charAt(CCN_digits.length - x);
// BUG-FIX THANKS TO Curt Cloninger
// x is subtracted from the length of the CCN to point at the digits from RIGHT to LEFT
		if (x % 2 == 0)
			{
// even position in credit card number (2nd, 4th, etc. from RIGHT of Credit Card Number)
			var WorkDigit = CurrentDigit * 2;	
			if (WorkDigit > 9)
				{ 
				CheckSum = CheckSum + (1 - 0);
				CheckSum = CheckSum + (WorkDigit % 10 - 0);
				if (DebugOn)
					{
					alert ("CurrentDigit = " + CurrentDigit + " even position - WorkDigit=" + WorkDigit + " > 9 - Checksum = Checksum + WorkDigit mod10 + 1 = " + CheckSum);
					}
				}
			else
				{
				CheckSum = CheckSum + (WorkDigit - 0);
				if (DebugOn)
					{
					alert ("CurrentDigit = " + CurrentDigit + " even position - WorkDigit = " + WorkDigit + " NOT > 9 - Checksum = Checksum + WorkDigit = " + CheckSum);
					}
				}	
			}
		else
			{
// odd position in credit card number (1st, 3rd, etc. from RIGHT of Credit Card Number)
			CheckSum = CheckSum + (CurrentDigit - 0);
			if (DebugOn)
				{
				alert ("CurrentDigit = " + CurrentDigit + " odd position " + "Checksum = Checksum + CurrentDigit = " + CheckSum);
				}
			}
		}
// end for loop

	if (CheckSum % 10) 
		{ 
		validcard = false; 
		alert ("I'm sorry, the Card Number is not correct - perhaps there is a typo or two numbers are reversed?"); 
		} 
	
	return (validcard); 
	}


/* get the browser, version, OS */
function clientInfo()
{
	// properties: browser, version, ostype
	// use as follows:
	//		var oTest = new clientinfo();
	//		var nVersion = oTest.version;

	if (navigator.appName == "") {
	        this.browser = "Unknown Browser";
	}
	else {
	        this.browser = navigator.appName;
	}
	this.ostype = "unknown platform";

	var isN6    = false;
	var isBeta  = false;
 
	this.version = parseFloat(navigator.appVersion);

	if ((Math.round(parseFloat(navigator.appVersion)*100)) - (parseInt(navigator.appVersion) * 100) == 0) {
        this.version = this.version + ".0";
	}

	if (navigator.appName.substring(0,9) == "Microsoft") {
        msiestart = (navigator.appVersion.indexOf('(') + 1);
        msieend = navigator.appVersion.indexOf(')');
        msiestring = navigator.appVersion.substring(msiestart, msieend);
        msiearray = msiestring.split(";");
        this.ostype = msiearray[2];
        msieversion = msiearray[1].split(" ");
        this.version = msieversion[2];
        this.browser = navigator.appName;
	}

	if (navigator.appName.substring(0,8) == "Netscape") {
       
        if (navigator.userAgent.indexOf("Nav") > 0) {
            this.browser = "Netscape Navigator";
        }
        else {
            this.browser = "Netscape Communicator";
        }
    
        msiestart = (navigator.userAgent.indexOf('(') + 1);
        msieend = navigator.userAgent.indexOf(')');
        msiestring = navigator.userAgent.substring(msiestart, msieend);
        msiearray = msiestring.split("; ");
   
        if (msiearray[2]) {
   
		   if (msiearray[0].toLowerCase() == "windows") {
			 this.ostype = msiearray[2];
			} 
			else {
				this.ostype = msiearray[0] + " " + msiearray[2];
			}
        }
        else {
			this.ostype = msiearray[0];
        }
	}

	if (navigator.userAgent.indexOf("Netscape6") > 0) {
        isN6 = true;
        this.browser = "Netscape";
        Netscape6_start = (navigator.userAgent.indexOf("Netscape6") + 10);
        Netscape6_end = navigator.userAgent.length;
        this.version = navigator.userAgent.substring(Netscape6_start,Netscape6_end);
        msiestart = (navigator.userAgent.indexOf('(') + 1);
        msieend = navigator.userAgent.indexOf(')');
        msiestring = navigator.userAgent.substring(msiestart, msieend);
        msiearray = msiestring.split("; ");
 
		if (this.version.indexOf("b") > 0 ) {
			preview = version.substring((version.indexOf("b")+1),version.length);
		    shortver = version.substring(0,version.indexOf("b"));
		    this.version = shortver + " Preview Release " + preview;
			isBeta = true;
		}
	}
}


/** JAVASCRIPT FOR PREREG CHECK **/
function CheckAll()
{
						
			// CHECK FIRST NAME
			if ( document.forms[0].fname.value == '' )
			{
				alert('First name must be entered.');
				document.forms[0].fname.focus();
				return false;
			}
			
			// CHECK LAST NAME
			if ( document.forms[0].lname.value == '' )
			{
				alert('Last name must be entered.');
				document.forms[0].lname.focus();
				return false;
			}
			
			// CHECK EMAIL
			if ( !checkEmail(document.forms[0].email) )
			{
				
				document.forms[0].email.focus();
				return false;
			}
			
			// MATCHING EMAILS
			if ( document.forms[0].email.value != document.forms[0].emailverify.value )
			{
				alert('Emails entered must match for verification purposes.');
				document.forms[0].emailverify.focus();
				return false;
			}
			
			// SERIAL NUMBER
			if ( document.forms[0].KeyCode.value == '' )
			{
				alert('Serial number must be entered.');
				document.forms[0].KeyCode.focus();
				return false;
			}
			
			// LICENSE
			if ( document.forms[0].License.value == '' )
			{
				alert('License must be entered.');
				document.forms[0].License.focus();		
				return false;
			}
			
			// LICENSE STATE
			if ( document.forms[0].LicenseState.selectedIndex == 0 )	
			{
				alert('You must select a License State.');
				document.forms[0].LicenseState.focus();
				return false;
			}
			
			// ADDRESS 1
			if ( document.forms[0].Address1.value == '' )
			{
				alert('Address 1 must be entered.');
				document.forms[0].Address1.focus();
				return false;
			}
			
			// CITY
			if ( document.forms[0].City.value == '' )
			{
				alert('City must be entered.');
				document.forms[0].City.focus();
				return false;
			}
			
			// STATE
			if ( document.forms[0].State.selectedIndex == 0 )	
			{
				alert('You must select a State.');
				document.forms[0].State.focus();
				return false;
			}
			
			// ZIP CODE
			if ( !checkZip(document.forms[0].ZipCode, "Zip") )
			{
				
				document.forms[0].ZipCode.focus();
				return false;
			}
			
			// CHECK BLANK HOME PHONE
			if ( document.forms[0].HomePhone.value == '' )
			{
				alert('Home Phone number is required.');
				document.forms[0].HomePhone.focus();
				return false;
			}
				
			// CHECK HOME PHONE
			if ( document.forms[0].HomePhone.value.length != 14 )
			{
				alert('Home Phone requires area code and phone number');
				document.forms[0].HomePhone.focus();
				return false;
			}
			
			// WORK PHONE
			if ( document.forms[0].WorkPhone.value != '' )
			{
				if ( document.forms[0].WorkPhone.value.length != 14 )
				{
					alert('Work phone number is not in correct format.');
					document.forms[0].WorkPhone.focus();
					return false;
				}
			}
			
			
			
		return true;
			
			
}

/** JAVASCRIPT FOR GROUP FORM CHECK **/
function CheckAllGroupForm()
{
						
			// GROUP NAME 
			if ( document.forms[0].GroupName.value == '' )
			{
				alert('Company/Group must be entered.');
				document.forms[0].GroupName.focus();
				return false;
			}
				
			// ADDRESS 1
			if ( document.forms[0].Address1.value == '' )
			{
				alert('Address 1 must be entered.');
				document.forms[0].Address1.focus();
				return false;
			}
			
			// CITY
			if ( document.forms[0].City.value == '' )
			{
				alert('City must be entered.');
				document.forms[0].City.focus();
				return false;
			}
			
			// STATE
			if ( document.forms[0].State.selectedIndex == 0 )	
			{
				alert('You must select a State.');
				document.forms[0].State.focus();
				return false;
			}
			
			// ZIP CODE
			if ( !checkZip(document.forms[0].Zip, "Zip") )
			{
				
				document.forms[0].Zip.focus();
				return false;
			}
			
			// CONTACT NAME
			if ( document.forms[0].ContactName.value == '' )
			{
				alert('Contact must be entered.');
				document.forms[0].ContactName.focus();
				return false;
			}
			
			// CHECK BLANK PHONE
			if ( document.forms[0].PhoneNum.value == '' )
			{
				alert('Phone number is required.');
				document.forms[0].PhoneNum.focus();
				return false;
			}
				
			// CHECK PHONE
			if ( document.forms[0].PhoneNum.value.length != 14 )
			{
				alert('Phone requires area code and phone number');
				document.forms[0].PhoneNum.focus();
				return false;
			}
			
			// CHECK FAX
			if ( document.forms[0].FaxNumber.value.length != 14 )
			{
				alert('Fax phone number is not in correct format.');
				document.forms[0].FaxNumber.focus();
				return false;
			}
			
			// CHECK EMAIL
			if ( !checkEmail(document.forms[0].EMail) )
			{
				
				document.forms[0].EMail.focus();
				return false;
			}
			
					
		return true;
			
			
}


/** JAVASCRIPT FOR REMINDER CHECK **/
function CheckAllReminder()
{
			
			// CHECK FIRST NAME
			if ( document.forms[0].FName.value == '' )
			{
				alert('First name must be entered.');
				document.forms[0].FName.focus();
				return false;
			}
			
			// CHECK LAST NAME
			if ( document.forms[0].LName.value == '' )
			{
				alert('Last name must be entered.');
				document.forms[0].LName.focus();
				return false;
			}
			
			// CHECK EMAIL
			if ( !checkEmail(document.forms[0].EMail) )
			{
				
				document.forms[0].EMail.focus();
				return false;
			}
			
			// MATCHING EMAILS
			if ( document.forms[0].EMail.value != document.forms[0].EMailVerify.value )
			{
				alert('Emails entered must match for verification purposes.');
				document.forms[0].EMailVerify.focus();
				return false;
			}
			
			// ADDRESS 1
			if ( document.forms[0].Address1.value == '' )
			{
				alert('Address 1 must be entered.');
				document.forms[0].Address1.focus();
				return false;
			}
			
			// CITY
			if ( document.forms[0].City.value == '' )
			{
				alert('City must be entered.');
				document.forms[0].City.focus();
				return false;
			}
			
			// STATE
			if ( document.forms[0].State.selectedIndex == 0 )	
			{
				alert('You must select a State.');
				document.forms[0].State.focus();
				return false;
			}
			
			// ZIP CODE
			if ( !checkZip(document.forms[0].Zip, "Zip") )
			{
				document.forms[0].Zip.focus();
				return false;
			}
			
			// DATE
			if ( document.forms[0].MonthDropList2.selectedIndex == 0 )
			{
				alert('Month must be selected.');
				document.forms[0].MonthDropList2.focus();
				return false;
			}
			if ( document.forms[0].YearDropList2.selectedIndex == 0 )
			{
				alert('Year must be selected.');
				document.forms[0].YearDropList2.focus();
				return false;
			}
			
			
		return true;
			
			
}


function CheckPhoneLengthGroupForm()
{
			var phonenumber = document.forms[0].PhoneNum.value;
			
			if ( phonenumber.length != 14 )
			{
				alert('Phone Number requires area code and number');
				return false;
			}
			else
			{
				return true;
			}
}



// FORMAT PHONENUM
function FormatPhoneNum() 
{
	document.forms[0].HomePhone.value = formatPhone(document.forms[0].HomePhone.value);
}

function FormatPhoneGroupForm()
{
	document.forms[0].PhoneNum.value = formatPhone(document.forms[0].PhoneNum.value);
}

function FormatFaxGroupForm()
{
	document.forms[0].FaxNumber.value = formatPhone(document.forms[0].FaxNumber.value);
}

function FormatFax()
{
	document.forms[0].Fax.value = formatPhone(document.forms[0].Fax.value);
}

function FormatWorkPhone()
{
	document.forms[0].WorkPhone.value = formatPhone(document.forms[0].WorkPhone.value);
}

function formatPhone(num)
		{ 
			var _return=false;
			/*
				* 7181238748 to 1(718)123-8748
			*/ 
			
			num= replaceSubstring(num, ".", "");
			num= replaceSubstring(num, "(", "");
			num= replaceSubstring(num, ")", "");
			num= replaceSubstring(num, "-", "");
			num= replaceSubstring(num, " ", "");
			
			if(num.length != 10)
			{ 
				/* 
				* if user did not enter 10 digit phone number then simply print whatever user entered 
				*/ 
				_return=num;
			} 
			else
			{ 
				/* formating phone number here */ 
				_return="(";
				var ini = num.substring(0,3);
				_return+=ini+") ";
				var st = num.substring(3,6);
				_return+=st+"-";
				var end = num.substring(6,10);
				_return+=end;
			}
			return _return; 
		} 
	
	// REPLACE A SUBSTRING WITHIN A STRING
	function replaceSubstring(inputString, fromString, toString) 
	{
		// Goes through the inputString and replaces every occurrence of fromString with toString
		var temp = inputString;
		if (fromString == "") 
		{
			return inputString;
		}
		if (toString.indexOf(fromString) == -1) 
		{ // If the string being replaced is not a part of the replacement string (normal situation)
			while (temp.indexOf(fromString) != -1) 
			{
				var toTheLeft = temp.substring(0, temp.indexOf(fromString));
				var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
				temp = toTheLeft + toString + toTheRight;
			}
		} 
		else 
		{ // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
			var midStrings = new Array("~", "`", "_", "^", "#");
			var midStringLen = 1;
			var midString = "";
			// Find a string that doesn't exist in the inputString to be used
			// as an "inbetween" string
			while (midString == "") 
			{
				for (var i=0; i < midStrings.length; i++) 
				{
					var tempMidString = "";
					for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
					if (fromString.indexOf(tempMidString) == -1) 
					{
						midString = tempMidString;
						i = midStrings.length + 1;
					}
				}
			} // Keep on going until we build an "inbetween" string that doesn't exist
			// Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
			while (temp.indexOf(fromString) != -1) 
			{
				var toTheLeft = temp.substring(0, temp.indexOf(fromString));
				var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
				temp = toTheLeft + midString + toTheRight;
			}
			// Next, replace the "inbetween" string with the "toString"
			while (temp.indexOf(midString) != -1) 
			{
				var toTheLeft = temp.substring(0, temp.indexOf(midString));
				var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
				temp = toTheLeft + toString + toTheRight;
			}
		} // Ends the check to see if the string being replaced is part of the replacement string or not
		return temp; // Send the updated string back to the user
	
	} // Ends the "replaceSubstring" function
