	function ErrorCheckIsEmpty(formObject){
		if(formObject.value == "" || formObject.value == "..."){
			aErrorList.push(formObject);
			SetErrorFocus(formObject);
			formObject.onblur = function() { ClearError(formObject,  "textbox"); }
		}
	}
	
	function ErrorCheckCompareFields(formObject1, formObject2){
		if(formObject1.value != formObject2.value){
			aErrorList.push(formObject1);
			aErrorList.push(formObject2);
			SetErrorFocus(formObject1);
			SetErrorFocus(formObject2);
			formObject1.onblur = function() { ClearErrorExtended(formObject1, formObject2,  "textboxCompare"); }
			formObject2.onblur = function() { ClearErrorExtended(formObject1, formObject2,  "textboxCompare"); }
		}
	}
	
	function ErrorCheckIsValidPhone(formObject){
		var sPhoneValue= formObject.value;
		var sPhonePreFixValue= sPhoneValue.substring(0,1);
		var sPhonePreFixParenValue= sPhoneValue.substring(0,2);
		var sPhoneAreaCodeValue= sPhoneValue.substring(0,3);
		var sPhoneAreaCodeParenValue= sPhoneValue.substring(0,4);

		var regexPhone = /^(\(?[0-9]{3}[\)-\.]?\ ?)?([0-9]{3}[-\.]?[0-9]{4})?$/;
		

		if(sPhonePreFixValue == "0" || sPhonePreFixValue == "1" || sPhonePreFixParenValue == "(0" || sPhonePreFixParenValue == "(1" 
			 || sPhoneAreaCodeValue == "555" || sPhoneAreaCodeValue == "123" || sPhoneAreaCodeValue == "999" || sPhoneAreaCodeValue == "977" 
			 || sPhoneAreaCodeParenValue == "(555" || sPhoneAreaCodeParenValue == "(123" || sPhoneAreaCodeParenValue == "(999" || sPhoneAreaCodeParenValue == "(977" 
			 || !regexPhone.test(formObject.value) || (sPhoneValue.length > 0 && sPhoneValue.length < 10)){
			aErrorList.push(formObject);
			SetErrorFocus(formObject);
			formObject.onblur = function() { ClearError(formObject,  "textboxphone"); }
		}
	}
	
	function ErrorCheckIsValidIntPhone(formObject){
		var sPhoneValue= formObject.value;
		var sPhonePreFixValue= sPhoneValue.substring(0,3);
		var regexPhone = /^([0-9\-\.\+\(\)\s]{0,30})?$/;

		if(sPhonePreFixValue == "555" || sPhonePreFixValue == "123" || (sPhoneValue.length > 0 && sPhoneValue.length < 10) || !regexPhone.test(sPhoneValue)){
			aErrorList.push(formObject);
			SetErrorFocus(formObject);
			formObject.onblur = function() { ClearError(formObject,  "textboxintphone"); }
		}
	}
	
	
	function ErrorCheckIsValidEmail(formObject){
		var regexEmail = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
		
		if(!regexEmail.test(formObject.value)){
			aErrorList.push(formObject);
			SetErrorFocus(formObject);
			/*
			if(formObject.attachEvent) formObject.attachEvent("blur", function() { ClearError(formObject, "emailAddress"); });
			else if(formObject.addEventListener) formObject.addEventListener("blur", function() { ClearError(formObject, "emailAddress"); }, true);
			else formObject.onblur = function() { ClearError(formObject, "emailAddress"); };
			*/
			formObject.onblur = function() { ClearError(formObject, "emailAddress"); };		
		}		
	}
	
	function ErrorCheckIsSelected(formObject){
	
		if(formObject.options[formObject.selectedIndex].value == "" || formObject.options[formObject.selectedIndex].value == "empty"){
			aErrorList.push(formObject);
			SetErrorFocus(formObject);
			formObject.onblur = function() { ClearError(formObject,  "dropdown"); }
		}
	}
	
	function ErrorCheckIsChecked(formObject){
	
		if(!formObject.checked){
			aErrorList.push(formObject);
			SetErrorFocus(formObject);
			formObject.onblur = function() { ClearError(formObject,  "checkedbox"); }
			return true;
		} else {
			return false;	
		}
		
	}
	
	function ErrorCheckIsValidCapital(formObject, HighestInvestmentLevel, ErrorMessageObject){
			if(formObject.value != ""){

				if( formObject.value < HighestInvestmentLevel){
					ErrorMessageObject.innerHTML += "You have selected franchise(s) that are require more liquid capital than you quailfy for.  Please uncheck the selection(s) higher than your current investment level.<br>";
					
					aErrorList.push(formObject);
					SetErrorFocus(formObject);
					formObject.onblur = function() { ClearError(formObject,  "capitalcompare"); }
				} else {
					formObject.style.backgroundColor = '#ffffff';
					formObject.style.color = '#000000';
				}
			}
	
	}
	
	function ErrorCheckIsValidCapitalProfile(formObject, HighestInvestmentLevel, ErrorMessageObject, customMessage){
			if(formObject.value != ""){

				if( formObject.value < HighestInvestmentLevel){
					ErrorMessageObject.innerHTML += customMessage + "<br>";
					
					aErrorList.push(formObject);
					SetErrorFocus(formObject);
					formObject.onblur = function() { ClearError(formObject,  "capitalcompare"); }
				} else {
					formObject.style.backgroundColor = '#ffffff';
					formObject.style.color = '#000000';
				}
			}
	
	}
	
	function SetErrorFocus(formObject){
		formObject.style.backgroundColor = '#990000';
		formObject.style.color = '#FFFFFF';
	}
	
	function ClearError(formObject, objectType){
		formObject.style.backgroundColor = '#ffffff';
		formObject.style.color = '#000000';
		
		if(objectType == "textbox"){
			ErrorCheckIsEmpty(formObject);
		} else if(objectType == "emailAddress"){
			ErrorCheckIsValidEmail(formObject);
		} else if(objectType == "dropdown"){
			ErrorCheckIsSelected(formObject);
		}	else if(objectType == "textboxphone"){
			ErrorCheckIsValidPhone(formObject);
		}	else if(objectType == "textboxintphone"){
			ErrorCheckIsValidIntPhone(formObject);
		}	else if(objectType == "capitalcompare"){
			ErrorCheckIsValidCapital(formObject);
		}	else if(objectType == "checkedbox"){
			ErrorCheckIsChecked(formObject);
		}
		
	}
	
	function ClearErrorExtended(formObject1, formObject2, objectType){
		formObject1.style.backgroundColor = '#ffffff';
		formObject1.style.color = '#000000';
		
		formObject2.style.backgroundColor = '#ffffff';
		formObject2.style.color = '#000000';
		
		if(objectType == "textboxCompare"){
			ErrorCheckCompareFields(formObject1, formObject2);
		}
	}

	


	function DisplayCountryFields(){
		var oCountry= document.getElementById("country");
		var oAddressContainer = document.getElementById("AddressContainer");
		var oStateProvText = document.getElementById("StateProvText");
		var oStatesProvinces= document.getElementById("state");
		
	
		if(oCountry.options[oCountry.selectedIndex].value == "USA" || oCountry.options[oCountry.selectedIndex].value == "CAN"){
			oAddressContainer.style.display = "block";
			
			if(oCountry.options[oCountry.selectedIndex].value == "USA"){
				oStateProvText.innerHTML = "State";
				
				var list = aStatesProvinces[0];
				oStatesProvinces.options.length = 0;
				for(i=0;i<list.length;i++)
				{
					oStatesProvinces.options[i] = new Option(list[i][0],list[i][1]);
				}
				
			} else if(oCountry.options[oCountry.selectedIndex].value == "CAN") {
				oStateProvText.innerHTML = "Province";
				
				var list = aStatesProvinces[1];
				oStatesProvinces.options.length = 0;
				for(i=0;i<list.length;i++)
				{
					oStatesProvinces.options[i] = new Option(list[i][0],list[i][1]);
				}
			}
			
	
			bVerifyAddressFields = true;
		} else {
			oAddressContainer.style.display = "none";
			bVerifyAddressFields = false;
		}
		if(typeof(positionHelpBubble)=="function") positionHelpBubble();
	}


	function ShowComments(){
		var oCommentsLink = document.getElementById("CommentsLink");
		var oCommentsContainer = document.getElementById("CommentsContainer");
		var oCommentsLabel = document.getElementById("CommentsLabel");
		
		oCommentsLink.style.display = "none";
		oCommentsContainer.style.display = "block";	
		oCommentsLabel.style.display = "block";
	}
	
function goToRequestForm(){
	//if(document.location.protocol=="https:"){
		fname = document.getElementById("Fname");
		if(fname) fname.focus();
		document.location.hash="requestform";
		return false;
	//} else{		
		//loc = document.location.toString();
		//loc = loc.replace("http:","https:")+"#requestform";
		//document.location = loc;
	//}
}

function checkEmailCommon(frm){
	
	var offset = {x:((frm.offsetWidth > 200)?0:132),y:65};
	var object = frm;
	var eml = frm.value;
	
	var yahoo = /@yahoo.com$/i;
	var yahoo1 = /@ya(h|o){1,2}o(\.|\,)?(c|o|m){2,4}$/i;
	var yahoo2 = /@((\w)?ahoo|y(\w)?hoo|ya(\w)?oo)(\.|\,)?((c|o|m){2,4})$/i;
	
	var hotmail = /@hotmail.com$/i;
	var hotmail1 = /@ho(t)?m(a|i|l){1,3}(\.|\,)?(c|o|m){2,4}$/i;
	var hotmail2 = /@((\w)?otmail|h(\w)?tmail|ho(\w)?mail|hot(\w)?ail|hotm(\w)?il|hotma(\w)?l|hotmai(\w)?)(\.|\,)?(c|o|m){2,4}$/i;

	var gmail = /@gmail.com$/i;
	var gmail1 = /@g(m|a|i|l){3,4}(\.|\,)?(c|o|m){2,4}$/i;

	var aol = /@aol.com$/i;
	var aol1 = /@(((a|z|q|s){1}ol)|(a|o|l){2,3})(\.|\,)?(c|o|m){2,4}$/i;

	var common = new Array([/(\.|\,){1}(n|e|t){3}$/,".net"],[/(\.|\,){1}(c|o|m){3}$/,".com"],[/(\.|\,){1}(o|r|g){3}$/,".org"],[/(\.|\,){1}(e|d|u){3}$/,".edu"]);

	if((yahoo1.test(eml) || yahoo2.test(eml)) && !yahoo.test(eml)){		
		makeReport(eml.replace(yahoo1,"").replace(yahoo2,""),"@yahoo.com",object,offset);
	}
	else if((hotmail1.test(eml) || hotmail2.test(eml)) && !hotmail.test(eml)){
		makeReport( eml.replace(hotmail1,"").replace(hotmail2,""),"@hotmail.com",object,offset);
	}
	else if(gmail1.test(eml)&& !gmail.test(eml)){
		makeReport(eml.replace(gmail1,""),"@gmail.com",object,offset);
	}
	else if(aol1.test(eml) && !aol.test(eml)){
		makeReport( eml.replace(aol1,""),"@aol.com",object,offset);
	}
	else {
		for(var i = 0; i < common.length; i ++){
			re = new RegExp(common[i][1]);
			if(common[i][0].test(eml) && !re.test(eml)){
				//alert("common match");
				//var blah = eml.value.replace(common,"");
				makeReport(eml.replace(common[i][0],""),common[i][1],object,offset);
			}
		}
	}
}

function makeReport(str,dom,obj,off){
	var rpt = document.getElementById("emailbubble");
//	rpt.id = "emailbubble";
	var rptspan = document.getElementById("emailbubblepng");
	var isIE = (navigator.appVersion.indexOf("MSIE")!=-1 );
	
	var isIE6 = (isIE && parseFloat(navigator.appVersion.substring(navigator.appVersion.indexOf("MSIE")+5))<7);
	var strNewHTML = "<span id=\"emailbubblepng\" onclick=\"replaceEmail('"+str+dom+"')\" style=\"cursor: pointer;cursor: hand;display:block;width:265px; height:65px;padding-top:10px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/emailbubble.png', sizingMethod='scale');\">Did you mean  <br />"+str+"<b>"+dom+"</b>?</span>";
	if(isIE6 && rptspan){
			rptspan.outerHTML =  strNewHTML;
			rpt.style.background = "transparent";
//			rpt.style.paddingTop = "5px";
			off.y += 17;
	}
	else rptspan.innerHTML = "Did you mean <br />"+str+"<b>"+dom+"</b>?";

	var posarray = findPos(obj);
//	var leftoffset = ((isIE6 || isIE)?(!isIE6)?0:-50:20)
	rpt.style.position = "absolute";
	rpt.style.left = (posarray[0] - off.x) +"px";
	rpt.style.top = (posarray[1]-off.y)+"px";
	rpt.style.display = "block";
	rptspan.onclick = function(){ replaceEmail(str+dom) };
}

function replaceEmail(str){
	var eml = document.getElementById("email");
	eml.value = str;
	document.getElementById("emailbubble").style.display="none";
	var rptspan = document.getElementById("emailbubblepng");
	//rptspan.onclick =  false;
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	curleft -= (((self.innerWidth)?self.innerWidth:document.body.offsetWidth) - 820) / 2;
	return [curleft,curtop];
}

function setCountryFocus() {
	var oAddressContainer = document.getElementById("AddressContainer");
	if(oAddressContainer.style.display == "none") {
		var oNext = document.getElementById("zip");
	} else {
		var oNext = document.getElementById("address");
	}
	oNext.focus();
}