window.onload=function()
{
	//loadMenu();
}

function loadMenu()
{
	if (document.getElementById('top_nav'))
	{
		var uls=document.getElementById('top_nav').getElementsByTagName('ul');
		var strHref = window.location.href;
		for(var i=0;i<uls.length;i++)
		{
			var lis=uls[i].getElementsByTagName('li');
			var len=lis.length;
			uls[i].onmouseout=function()
			{
				hideMenu(this);
			}
			uls[i].onmouseover=function()
			{
				showMenu(this);
			}
			for(var j=0;j<len;j++)
			{

					var aTags=lis[j].getElementsByTagName("a");
					if(aTags[0].getAttribute('href'))
					{
						if (strHref.match(aTags[0].getAttribute('href')) != null || strHref.substring(strHref.lastIndexOf("/")+1) == (aTags[0].getAttribute('href')).substring((aTags[0].getAttribute('href')).lastIndexOf("/")+1)){
							aTags[0].id="current"
						}
					}
				if(j==0)
				{
					lis[j].onmouseover=function()
					{
						showMenu(this.parentNode);
					}
				}
				else
				{
					lis[j].style.display='none';
				}
			}	
		}
		//document.getElementById('content').style.backgroundImage="url(images/<%=request("img")%>)";	
		//document.getElementById('content').style.backgroundRepeat='no-repeat';
	}
}
function showMenu(obj)
{
	var lis=obj.getElementsByTagName('li');
	var len=lis.length;
	for(var i=0;i<len;i++)
	{
		lis[i].style.display='block';
		lis[i].style.margin="0px";
		lis[i].firstChild.onmouseover=function(){
			showMenu(this.parentNode.parentNode);	
		}
	}
}
function hideMenu(obj)
{
	var lis=obj.getElementsByTagName('li');
	var len=lis.length;
	for(var i=1;i<len;i++)
	{
		lis[i].style.display='none';
	}	
}

function rollOver(imgName, sfx)
{
	document.images[imgName].src = "images/" + "nav_" + imgName + "_" + sfx + ".gif";
}

var aobjPopupWindows = new Array();

function WindowOpener(strURL, strName, strArguments)
{
	if ((typeof(aobjPopupWindows[strName]) != "object") || (aobjPopupWindows[strName].closed) || ((aobjPopupWindows[strName].location.pathname + aobjPopupWindows[strName].location.search).replace(/^(\/)?.*(\/)/, "") != strURL.replace(/^(\/)?.*(\/)/, "")))
	{
		aobjPopupWindows[strName] = window.open(strURL, strName, strArguments);
	}
	
	aobjPopupWindows[strName].focus();
}

String.prototype.trim = function()
{
	return this.replace(/^\s+|\s+$/, "");
}

Array.prototype.indexOf = function(vntValue)
{
	for (var i = 0; i < this.length; i++)
	{
		if (this[i] == vntValue)
		{
			return i;
		}
	}
	
	return -1;
}

function blnValidateEmail(strEmailAddress)
{
	var objRegExp = /^([a-z0-9_\-\+\.]+)@([a-z0-9_\-\+\.]+)\.([a-z]{2,4}|store|museum)$/i;
	return objRegExp.test(strEmailAddress);
}

function blnValidatePhone(strPhoneNumber)
{
	var objRegExp = /^(1[\-\s\.]?)?(\([1-9]\d{2}\)\s?|[1-9]\d{2}[\-\s\.]?)\d{3}[\-\s\.]?\d{4}(\s?(x|ext\.?|extension)\s?\d{1,9})?$/i;
	return objRegExp.test(strPhoneNumber);
}

function blnValidateZipCode(strZipCode)
{
	var objRegExp  = /^\d{5}(-?\d{4})?$/;
	return objRegExp.test(strZipCode);
}

function blnValidatePostalCode(strPostalCode)
{
	var objRegExp  = /^[a-zA-Z]\d[a-zA-Z](\-|\s)?\d[a-zA-Z]\d$/;
	return objRegExp.test(strPostalCode);
}

function blnValidateURL(strURL)
{
	var objRegExp = /^http(s)?:(\/){2}[a-z0-9\-&_+](([a-z0-9\-&_+]{0,61}[a-z0-9\-&_+])?\.)+([a-z]{2,4}|store|museum)(\:\d+)*(\/([a-z0-9\.\+\?\-&_~=#$%]+\/?)*)?$/i;
	return objRegExp.test(strURL);
}

function blnValidatePlanNum(strPlanNum)
{
	var objRegExp = /^\d+\-\d+$/i;
	return objRegExp.test(strPlanNum);
}

function blnValidateTaxID(strTaxID) {
	var matchArr = strTaxID.match(/^(\d{3})-?\d{2}-?\d{4}$/);
	var matchArr2 = strTaxID.match(/^(\d{2})-?\d{7}$/);
	var numDashes = strTaxID.split('-').length - 1;
	if (matchArr == null || numDashes == 1) {
		if (matchArr2 == null || numDashes == 0)
			alert('Invalid Tax Id number. Must be 9 digits or in the form ###-##-####\n or ##-####### for corporation.');
		else
		{
			if (parseInt(matchArr2[1],10)==0) {
				alert("Invalid strTaxID: strTaxID's can't start with 000.");
			}
			else {
				return true;
			}
		}
	}
	else 
	{
		if (parseInt(matchArr[1],10)==0) {
			alert("Invalid strTaxID: strTaxID's can't start with 000.");
		}
		else {
			return true;
		}
	}
	return false;
}

function SubmitForm()
{
	if (blnVerifyForm())
	{
		document.frmSubscribe.submit();
	}
}

function blnVerifyForm()
{		
	var strErrorMsg = "";
	
	with (document.frmSubscribe)
	{
		email.value = email.value.trim();
		
		if (email.value.length == 0)
		{
			if (strErrorMsg.length == 0)
			{
				email.focus();
			}
			
			strErrorMsg += "Please enter your email address.\n"
		}
		else if (! blnValidateEmail(email.value))
		{
			if (strErrorMsg.length == 0)
			{
				email.focus();
			}
			
			strErrorMsg += "Please enter a valid email address.\n"
		}
	}
	
	if (strErrorMsg.length == 0)
	{
		return true;
	}
	else
	{
		alert(strErrorMsg);
		return false;
	}
}

function setClassName(objId, className) {
	var ele= document.getElementById(objId);
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) != -1))
		return;
	ele.className += (ele.className ? " " : "") + className;
}

function removeClassName(objId, className) {
	var ele= document.getElementById(objId);
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) == -1))
		return;
	ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");	
}

function validateReqFields(formName,oldClassName,newClassName){
	var errormsg="";
	var allReqStr="";
	formObj=document.getElementById(formName);
	
	for (var i=0; i < formObj.elements.length; i++){		
		if (formObj.elements[i].getAttribute("label")=="req"){
			if (formObj.elements[i].type == "radio")
			{						
				myOption = 0;
				
				currentName = formObj.elements[i].name;
				currentField = formObj.elements[currentName];
				
				for (a=0;a<currentField.length;a++) 
				{
					//alert(a + currentField[a].checked);
					if (currentField[a].checked) 
					{
						myOption = myOption + 1;
					}
				}
				if (myOption == 0)
				{	
					errormsg = "Please Enter all the required information with *"
				}									
			}
		
			if(formObj.elements[i].name == "email"){
				if (!blnValidateEmail(formObj.elements[i].value)){
					removeClassName(formObj.elements[i].name,formObj.elements[i].className)
					setClassName(formObj.elements[i].name,newClassName)
					errormsg="Invalid Email Address";				
				}
			}
			if(formName == "QuickQuote_Form"){
				if(formObj.elements[i].name == "InteriorChanges" || formObj.elements[i].name == "exteriorChanges")
				{
					allReqStr=allReqStr+formObj.elements[i].value;
					allReqStr=allReqStr.replace(/\n/g,"");
				}
				if(formObj.elements[i].name == "phone"){
					if(formObj.elements[i].value == "" ){
						errormsg="Please enter Contact Phone Number";
					}
					else{
						if (!blnValidatePhone(formObj.elements[i].value)){
							errormsg="Please enter a valid Contact Phone Number";
						}
					}
				}
				if(formObj.elements[i].name == "cfullname"){
					if(formObj.elements[i].value == "" ){
						errormsg="Please enter Contact Name";
					}
				}
			}
			else{
								
				if(formObj.elements[i].value == "" ){
					removeClassName(formObj.elements[i].name,formObj.elements[i].className)
					setClassName(formObj.elements[i].name,newClassName)
					errormsg="Please Enter all the required information with *";
				}
				else{
					removeClassName(formObj.elements[i].name,formObj.elements[i].className);
				}				
			}
		}
	}

	/*if(formName == "QuickQuote_Form" && (allReqStr.replace(/ /g,"")).length == 0){
		errormsg="Please enter modifications";
	}*/
	
	if(errormsg != "")
	{
		alert(errormsg);
		return false;
	}
	else
	{
		formObj.submit();
	}
}

function submitFinal(formName) {
	formObj=document.getElementById(formName);
	if (confirm("Are you sure you want to submit your Custom Plan QuickQuote now?")){
		formObj.submit();
	}
}

function framePrint(whichFrame){
	parent[whichFrame].focus();
	parent[whichFrame].print();
}

function blnValidatePlanNum2(strPlanNum)
{
	var objRegExp = /^\d{1,4}-\d{0,4}$/
	return objRegExp.test(strPlanNum);
}

function ValidatePlanNum(PlanID,formID)
{
	var strPlanNum=document.getElementById(PlanID).value;
	var formObj=document.getElementById(formID);
	if (blnValidatePlanNum2(strPlanNum))
	{
		formObj.submit();
	}
	else
	{
		alert("Please enter Plan Number in the following format:\n##-###");
	}
}

function validateText() {
	var textareas=document.getElementsByTagName('textarea');
	for(var i=0; i < textareas.length;i++){
		textareas[i].value = (textareas[i].value).replace(/'/g, "*ap*");
		textareas[i].innerHTML = (textareas[i].innerHTML).replace(/'/g, "*ap*");
	}
	/*
	for(var i = 1; i <= 9; i++){
		if (document.getElementById("planNo"+i) != null){
			document.getElementById("planNo"+i).value = (document.getElementById("planNo"+i).value).replace(/'/g, "");
		}
	}
	*/
	var inputs=document.getElementsByTagName('input');
	for(var i=0;i<inputs.length;i++){
		if ((inputs[i].getAttribute('name')).match("planNo") != null){
			inputs[i].value = (inputs[i].value).replace(/'/g, "");
		}
	}
	
	return true;
}

function submitThisForm(formId,formMethod){
	formObj=document.getElementById(formId);
	document.getElementById("strMethod").value = formMethod;
	if(validateText()){
		formObj.submit();
	}
}

function validateForm(strFormName)
{
	var objForm = document.getElementById(strFormName);

	for (var i=0; i < objForm.elements.length; i++)		
	{
		if(objForm.elements[i].getAttribute("label"))
		{
			switch(objForm.elements[i].getAttribute("label"))
			{
				case "req":
					if(objForm.elements[i].value == "")
					{
						alert("Invalid Entry");
						return false;
					}
					break; 
				case "name":
					if(objForm.elements[i].value == "" || objForm.elements[i].value == "Full Name")
					{
						alert("Invalid Name");
						return false;
					}
					break; 				   
				case "email":
					if(!blnValidateEmail(objForm.elements[i].value))
					{
						alert("Invalid Email Adress");
						return false;
					}
					break;
				case "phone":
					if(!blnValidatePhone(objForm.elements[i].value))
					{
						alert("Invalid Phone");
						return false;
					}			
					break;
				case "planno":
					if(!blnValidatePlanNum2(objForm.elements[i].value))
					{
						alert("Invalid Plan#");
						return false;
					}			
					break;
			}		
		}
	}
	objForm.submit();
	return true;
}

function showDiv(divID)
{
	if (document.getElementById(divID))
	{
		divObj = document.getElementById(divID);
		divObj.style.visibility="visible";
		divObj.style.display="block";
	}
}

function hideDiv(divID)
{
	if (document.getElementById(divID))
	{
		divObj = document.getElementById(divID);
		divObj.style.visibility="hidden";
		divObj.style.display="none";
	}
}

function financing_options(formName)
{
	var formObj = document.getElementById(formName);
	var strGotoPage = "builder_construction_loan_financing.asp";
	for (var i=0; i < formObj.elements.length; i++)
	{
		if(formObj.elements[i].name == "finance_opt" && formObj.elements[i].checked == true)
		{
			strGotoPage = "builder_construction_loan_financing.asp?fOpt=1";
		}
	}
	window.location = strGotoPage; 
}