function selectLocationField(event){
	var source, obj;
	
	if(event.srcElement){
		source = event.srcElement;
	}
	else if(event.target){
		source = event.target;
	}
	else{
		return(true);
	}
	
	obj = document.getElementById("txtZipCode");
	if(!obj){
		obj = document.getElementById("cmbStateMetro");
	}
	
	if(source.value == 1){
		if(obj.tagName == "INPUT"){
			var parentObj = obj.offsetParent;
			parentObj.removeChild(obj);
			
			var newObj = document.createElement("SELECT");
			newObj.id = "cmbStateMetro";
			newObj.userValue = obj.value;
			newObj.className = "objInitialInput";
			
			newObj.options[newObj.options.length] = new Option("Chose a State/Metro ----------------->","");
			for(var i = 0; i < aMetroCode.length ; i ++){
				newObj.options[newObj.options.length] = new Option(aMetroDesc[i],aMetroCode[i]);
			}
						
			parentObj.appendChild(newObj);
		}
	}
	else if(source.value == 0){

		if(obj.tagName == "SELECT"){
			
			var parentObj = obj.offsetParent;
			parentObj.removeChild(obj);
			
			var newObj = document.createElement("INPUT");
			newObj.id = "txtZipCode";
			newObj.className = "objInitialInput";
			
			newObj.maxLength = 5;
			
			if(obj.userValue != "")
				newObj.value = obj.userValue;
			
			parentObj.appendChild(newObj);

		}
	}
}


function postForm(){
	var objZipCode = document.getElementById("txtZipCode");
	var objStateMetro = document.getElementById("cmbStateMetro");
	var objLocationOption_0 = document.getElementById("rdbLocationOption_0");
	var objLocationOption_1 = document.getElementById("rdbLocationOption_1");
	
	
	var objHiddenZipCode = document.getElementById("hdZipCode");
	var objHiddenStateMetro = document.getElementById("hdStateMetro");
	var objHiddenLocationOption = document.getElementById("hdLocationOption");
	var objHiddenZipCodePosted = document.getElementById("hdZipCodePosted");
	
	if (objLocationOption_0.checked)
		objHiddenLocationOption.value = "0";
	else
		objHiddenLocationOption.value = "1";

	
	//Uncomment the block below if zip code become required
	if(objZipCode){
		if(objZipCode.value == ""){
			alert("Please enter a valid zip code");
			return(false);
		}
		else{
			objHiddenZipCode.value = objZipCode.value;
		}
	}
	
	if(objStateMetro){
		if(objStateMetro.value == ""){
			alert("Please enter a valid state/metro");
			return(false);
		}
		else{
			objHiddenStateMetro.value = objStateMetro.value;
		}
	}
	
	var strBrowser = new String(navigator.userAgent);
	if (strBrowser.toUpperCase().indexOf("MSIE") >= 0)
	{
		objLocationOption_0.style.visibility = "hidden";
		objLocationOption_1.style.visibility = "hidden";
		objLocationOption_0.checked = true;
	}
	
	objHiddenZipCodePosted.value = "1";
	
	document.getElementById("mainform").submit();
}

function changTab(index){
	var objHiddenCurrentTab = document.getElementById("hdCurrentTab");
	var dvBaseTab = document.getElementById("dvBaseTab");
	var dvBonusTab = document.getElementById("dvBonusTab");
	var dvBenefitsTab = document.getElementById("dvBenefitsTab");
	var dvPaycheckTab = document.getElementById("dvPaycheckTab");
	var lblTabLegend = document.getElementById("lblTabLegend");
	
	var tab01 = document.getElementById("tab01");
	var tab02 = document.getElementById("tab02");
	var tab03 = document.getElementById("tab03");
	//var tab04 = document.getElementById("tab04");
	
	var dvYouVsMarketPlaceHolder1 = document.getElementById("dvYouVsMarketPlaceHolder1");
	var dvYouVsMarketPlaceHolder2 = document.getElementById("dvYouVsMarketPlaceHolder2");
	var dvYouVsMarketPlaceHolder3 = document.getElementById("dvYouVsMarketPlaceHolder3");
	//var dvYouVsMarketPlaceHolder4 = document.getElementById("dvYouVsMarketPlaceHolder4");
	var dvYouVsMarket = document.getElementById("dvYouVsMarket");
	 
	dvYouVsMarket.style.display = "inline"; 
	 
	objHiddenCurrentTab.value = index;
	
	dvBaseTab.style.display = "none";
	dvBonusTab.style.display = "none";
	dvBenefitsTab.style.display = "none";
	dvPaycheckTab.style.display = "none";
	
	tab01.className = "tdTab";
	tab02.className = "tdTab";
	tab03.className = "tdTab";
	//tab04.className = "tdTab";
	
	
	if(index == 1){
		dvBaseTab.style.display = "inline";
		tab01.className = "tdSelectedTab";
		dvYouVsMarketPlaceHolder1.appendChild(dvYouVsMarket);
		lblTabLegend.innerText = "Base pay only";
	}
	else if(index == 2){
		dvBonusTab.style.display = "inline";
		tab02.className = "tdSelectedTab";
		dvYouVsMarketPlaceHolder2.appendChild(dvYouVsMarket);
		lblTabLegend.innerText = "Total cash compensation (base + bonuses)";
	}
	else if(index == 3){
		dvBenefitsTab.style.display = "inline";
		tab03.className = "tdSelectedTab";
		dvYouVsMarketPlaceHolder3.appendChild(dvYouVsMarket);
		lblTabLegend.innerText = "Total compensation (base + bonuses + benefits)";
	}
/*	else if(index == 4){
		dvPaycheckTab.style.display = "inline";
		tab04.className = "tdSelectedTab";
		dvYouVsMarketPlaceHolder4.appendChild(dvYouVsMarket);
		lblTabLegend.innerText = "Base pay only";
	}*/
	
	
	//document.getElementById("mainform").submit();
}

function refreshPage(strPayCheckCalc, strAction, strPageNumber)
{
	document.resultform.paycheckcalc.value = strPayCheckCalc;
	getResultPage(strAction, strPageNumber);
}

function getResultPage(strAction, strPageNumber)
{
	window.onunload = null;
	//document.mainform.pagenumber.value = strPageNumber;
	//document.resultform.action = strAction;
	document.mainform.submit();
}


function refreshPageexp(strPayCheckCalc, strAction, strPageNumber)
{
	document.mainform.paycheckcalc.value = strPayCheckCalc;
	getResultPageexp(strAction, strPageNumber);
}

function getResultPageexp(strAction, strPageNumber)
{
	window.onunload = null;
	//document.mainform.pagenumber.value = strPageNumber;
	//document.localform.action = strAction;
	document.mainform.submit();
}

function newCalcexp(strAction, strPageNumber)
{
	document.mainform.paycheckcalc.value = "n";
	getResultPageexp(strAction, strPageNumber);
}

function clearCalculateexp(strPayCheckCalc, strAction, strPageNumber)
{

	var frm = document.getElementById("mainform");
	frm.taxyear.value = "";
	frm.paycheckstate.value = "";
	frm.grossfreq.value = "";
	frm.paypd.value = "";
	frm.fedstatus.value = "";
	frm.statestatus.value = "";
	
	frm.roundfed[0].checked = false;
	frm.roundfed[1].checked = true;
	
	v.grosspay.value = "";
	frm.grossytd.value = "";
	frm.fedexemps.value = "";
	frm.additionalfit.value = "";
	frm.stateexemps.value = "";
	frm.additionalsit.value = "";
	
	var i;
	for (i=1; i-frm.deductionnum.value<=0; i++)
	{
		frm.elements["deductiondrop_"+i].value = "";
		frm.elements["deductionname_"+i].value = "";
		frm.elements["deductionamt_"+i].value = "";
		frm.elements["deductiontype_"+i].value = "";
		
		frm.elements["checkfederal_"+i].value = "";
		frm.elements["checkfica_"+i].value = "";
		frm.elements["checkstate_"+i].value = "";
		frm.elements["checklocal_"+i].value = "";
	}
	frm.submit();
}


function calculateexp(strPageNumber)
{
	var frm = document.getElementById("mainform");
	
	if(frm.paycheckstate.value.length==0){
		alert("Please choose a state.");
		frm.paycheckstate.focus();
		return;
	}
	if(frm.grosspay.value.length==0){
		alert("Please enter gross pay.");
		frm.grosspay.focus();
		return;
	}
	else if(isNaN(frm.grosspay.value)){
		alert("Please enter a number as gross pay.");
		frm.grosspay.focus();
		return;
	}
	else if(parseInt(frm.grosspay.value) < 0 || parseInt(frm.grosspay.value) - 100000000 > 0){
		alert("Please enter a valid number as gross pay.");
		frm.grosspay.focus();
		return;
	}
	else if(isNaN(frm.grossytd.value)){
		alert("Please enter a number as gross salary YTD or keep it blank.");
		frm.grossytd.focus();
		return;
	}
	else if(frm.grossytd.value.length > 0) {
		if(parseInt(frm.grossytd.value) < 0 || parseInt(frm.grossytd.value) - 10000000 > 0){
			alert("Please enter a valid number as gross salary YTD.");
			frm.grossytd.focus();
			return;
		}
	}
	else if(isNaN(frm.fedexemps.value)){
		alert("Please enter a number as federal allowance.");
		frm.fedexemps.focus();
		return;
	}
	else if(parseInt(frm.fedexemps.value) < 0 || parseInt(frm.fedexemps.value) - 99 > 0){
		alert("Please enter a number between 0 to 99 as federal allowance.");
		frm.fedexemps.focus();
		return;
	}
	else if(isNaN(frm.additionalfit.value)){
		alert("Please enter a number as additional federal withholding.");
		frm.additionalfit.focus();
		return;
	}
	else if(parseInt(frm.additionalfit.value) < 0 || parseInt(frm.additionalfit.value) - 1000000 > 0){
		alert("Please enter a valid number as additional federal withholding.");
		frm.additionalfit.focus();
		return;
	}
	else if(isNaN(frm.stateexemps.value)){
		alert("Please enter a number as state exemption.");
		frm.stateexemps.focus();
		return;
	}
	else if(parseInt(frm.stateexemps.value) < 0 || parseInt(frm.stateexemps.value) - 99 > 0){
		alert("Please enter a number between 0 to 99 as state exemption.");
		frm.stateexemps.focus();
		return;
	}
	else if(isNaN(frm.additionalsit.value)){
		alert("Please enter a number as additional state withholding.");
		frm.additionalsit.focus();
		return;
	}
	else if(parseInt(frm.additionalsit.value) < 0 || parseInt(frm.additionalsit.value) - 100000000 > 0){
		alert("Please enter a valid number as additional state withholding.");
		frm.additionalsit.focus();
		return;
	}
	
	var i;
	for (i=1; i-frm.deductionnum.value<=0; i++)
	{
		if(isNaN(frm.elements["deductionamt_"+i].value)){
			alert("Please enter a number as deduction amount.");
			frm.elements["deductionamt_"+i].focus();
			return;
		}
		else if(parseInt(frm.elements["deductiontype_"+i].value) <= 2) {
			if(parseInt(frm.elements["deductionamt_"+i].value) < 0 || parseInt(frm.elements["deductionamt_"+i].value) - 100000000 > 0){
				alert("Please enter a valid number as deduction amount.");
				frm.elements["deductionamt_"+i].focus();
				return;
			}
		}
		else if(parseInt(frm.elements["deductiontype_"+i].value) > 2) {
			if(parseInt(frm.elements["deductionamt_"+i].value) < 0 || parseInt(frm.elements["deductionamt_"+i].value) - 100 > 0){
				alert("Please enter a valid number as deduction amount.");
				frm.elements["deductionamt_"+i].focus();
				return;
			}
		}
	}
	
	frm.hdPaycheckCalc.value = "1";
	frm.submit();
	
}

function showExtededState(){
	var dvCalculationBasedOn = document.getElementById("dvCalculationBasedOn");
	var dvEditYourPaycheckDeductions = document.getElementById("dvEditYourPaycheckDeductions");
	
	if(dvCalculationBasedOn.style.display == "none")
	{
		dvCalculationBasedOn.style.display = "inline";
		dvEditYourPaycheckDeductions.style.display = "inline";
	}
	else
	{
		dvCalculationBasedOn.style.display = "none";
		dvEditYourPaycheckDeductions.style.display = "none";
	}
}


function pageInit(){
	
	var rdbLocationOption_0 = document.getElementById("rdbLocationOption_0");
	var rdbLocationOption_1 = document.getElementById("rdbLocationOption_1");
	
	var spPaycheckValue2 = document.getElementById("spPaycheckValue2");
	
	if(rdbLocationOption_0)
		objLocationOption_0.style.visibility = "visible";
	
	if(rdbLocationOption_1)
		objLocationOption_1.style.visibility = "visible";
	
}


function openCommonWindow(strUrl,strWidth,strHeight){		
		
		 var subWin = window.open(strUrl,"SalWizWindow",
								"toolbar=yes,scrollbars=yes," + 
									"resizable=yes,width=" + strWidth + "," +
										"height=" + strHeight + ",left=0,top=0");		
	
		if(subWin!=null) subWin.focus();
    	
}	

function postBackgroundEmployerForm(boolNoCheck, strReferralCode,strFormSubmit){
	var frm = document.getElementById("frmBackgroundEmployer");	
	var cmbEducation = document.getElementById("cmbEducation");
	var zipcode = document.getElementById("zipcode");
	var metrocode = document.getElementById("metrocode");
	var geometrocode = document.getElementById("geometrocode");
	var geo = document.getElementById("geo");
	var txtZipCode = document.getElementById("txtZipCode");
	var cmbStateMetro = document.getElementById("cmbStateMetro");
	var r = document.getElementById("r");
	var hdfte=document.getElementById("hdfte");
 	var ftesize=document.getElementById("ftesize");
 	var directlySubmit=document.getElementById("directlySubmit");
	if(boolNoCheck)
	{
//		frm.action = frm.action.replace('srpl_createprofile.asp','srpl_overview.asp');
		frm.submit();
		return;
	}
	if(txtZipCode){

		if (validateZipCode(txtZipCode.value))
		{

			var arrZip = getZipCodeDetails(txtZipCode.value);
			
			zipcode.value = txtZipCode.value;
			if(arrZip)
			{
				if(arrZip.length==7)
				{
					metrocode.value = arrZip[2];
					geometrocode.value = arrZip[6];
					geo.value = arrZip[0] + ", " +  arrZip[1] + " " + arrZip[3];
				}
			}
			if (hdfte)
			{
				if (IsNumeric(hdfte.value) == false) {
					alert("Please enter a valid # of employees");
					pageFTE(hdfte.value);
				}
				else
				{
					if (strFormSubmit=="pageFTE")
					{
						ftesize.value = hdfte.value;
						frm.submit();
					}
					else if(directlySubmit.value=="directlySubmit")
					{
						ftesize.value = hdfte.value;
						frm.submit();

					}
					else
					{
						alert("Please enter a valid # of employees");
						pageFTE(hdfte.value);
					}
				}
			}
			else
			{
				alert("Please enter a valid # of employees.");
				pageFTE(hdfte.value);
			}
		}
		else
		{
			alert("You must enter valid ZIP Code.");
		}
	}
	else if(cmbStateMetro){		
		
		if (cmbStateMetro.value != "")
		{
			var arrMetro = getMetroCodeDetails(cmbStateMetro.value);
			if(arrMetro)
			{
				if(arrMetro.length==6)
				{
					zipcode.value = arrMetro[3];
					geometrocode.value = arrMetro[5];
					geo.value = arrMetro[0] + ", " +  arrMetro[1] + " " + arrMetro[3];
				}
			}
			metrocode.value = cmbStateMetro.value;
			if (hdfte)
			{
				if (IsNumeric(hdfte.value) == false) {
					alert("Please enter a valid # of employees");
					pageFTE(hdfte.value);
				}
				else
				{
					if (strFormSubmit=="pageFTE")
					{
						ftesize.value = hdfte.value;
						frm.submit();
					}
					else if(directlySubmit.value=="directlySubmit")
					{
						ftesize.value = hdfte.value;
						frm.submit();

					}
					else
					{
						alert("Please enter a valid # of employees");
						pageFTE(hdfte.value);
					}
				}
			}
			else
			{
				alert("Please enter a valid # of employees.");
				pageFTE(hdfte.value);
			}
		}
		else
		{
			alert("You must enter a valid State/Metro area.");
		}
	}
	else if(hdfte){

		if (IsNumeric(hdfte.value) == false) {
				alert("Please enter a valid # of employees");
				pageFTE(hdfte.value);
			}
		else
			{
				if (strFormSubmit=="pageFTE")
				{
					ftesize.value = hdfte.value;
					frm.submit();
				}
				else if(directlySubmit.value=="directlySubmit")
				{
					ftesize.value = hdfte.value;
					frm.submit();

				}
				else
				{
			alert("here");
				alert("Please enter a valid # of employees");
					pageFTE(hdfte.value);
				}
			}
	}
	else
	{
		alert("Please enter a valid # of employees.");
		pageFTE(hdfte.value);
	}
	
	
	
}

function validateZipCode(strZipCode)
{
	var boolResponse;
	var ajaxRequest;
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
		
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser doesn't support ajax!");
				return false;
			}
		}
	}
	/*
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var strResponse = new String(ajaxRequest.responseText)
			boolResponse = ( strResponse.indexOf("TRUE")>=0 );
		}
	}
	*/
	
	ajaxRequest.open("GET", "/salarywizard/layoutscripts/swzl_zipcodevalidation.asp?zipcode=" + strZipCode, false);
	ajaxRequest.send(null); 
	
	var strResponse = new String(ajaxRequest.responseText)
	boolResponse = ( strResponse.indexOf("TRUE")>=0 );
	
	return(boolResponse);
}


function getZipCodeDetails(strZipCode)
{
	var boolResponse;
	var ajaxRequest;
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
		
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser doesn't support ajax!");
				return false;
			}
		}
	}
	
	ajaxRequest.open("GET", "/salarywizard/layoutscripts/swzl_zipcodedata.asp?zipcode=" + strZipCode, false);
	ajaxRequest.send(null); 
	
	var strResponse = new String(ajaxRequest.responseText);
	
	return(strResponse.split("|||"));
}


function getMetroCodeDetails(strMetroCode)
{
	var boolResponse;
	var ajaxRequest;
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
		
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser doesn't support ajax!");
				return false;
			}
		}
	}
	
	ajaxRequest.open("GET", "/salarywizard/layoutscripts/swzl_statemetrodata.asp?metrocode=" + strMetroCode, false);
	ajaxRequest.send(null); 
	
	var strResponse = new String(ajaxRequest.responseText);
	
	return(strResponse.split("|||"));
}


function signIn()
{		
		document.frmBackgroundEmployer.action = document.frmBackgroundEmployer.action.replace('srpl_createprofile.asp','srpl_signin.asp');
		document.frmBackgroundEmployer.submit();
}

function pageFTE(strFTE){
	var spPageContent = document.getElementById("displayZipCode");
	var pageHTML="";
	//	alert(strFTE);

	pageHTML = pageHTML + "<table cellpadding=0 cellspacing=0>";
	pageHTML = pageHTML + "		<tr>";
	pageHTML = pageHTML + "			<td>";
	pageHTML = pageHTML + "				<label class=\"SecondaryColorTitle\">Create a Profile</label>";
	pageHTML = pageHTML + "				<br>";
	pageHTML = pageHTML + "				<label>Enter company size:</label>";
	pageHTML = pageHTML + "			</td>";
	pageHTML = pageHTML + "		</tr>";
	pageHTML = pageHTML + "		<tr><td height=10></td></tr>";
	pageHTML = pageHTML + "		<tr>";
	pageHTML = pageHTML + "			<td>";
	if(strFTE)
		pageHTML = pageHTML + "				<input type=\"text\" ID=\"hdfte\" NAME=\"hdfte\" class=\"objInitialInput\" value=\"" + strFTE + "\">";
	else	
		pageHTML = pageHTML + "				<input type=\"text\" ID=\"hdfte\" NAME=\"hdfte\" class=\"objInitialInput\" value=\"\">";
	pageHTML = pageHTML + "			</td>";
	pageHTML = pageHTML + "		</tr>";
	pageHTML = pageHTML + "		<tr>";
	pageHTML = pageHTML + "			<td align=right><img src=\"/salarywizard/graphics/b_next_new.gif\" class=\"clickable\" onclick=\"postBackgroundEmployerForm(false,'salswz_salresnxt_psr','pageFTE')\"></td>";
	pageHTML = pageHTML + "		</tr>";
	pageHTML = pageHTML + "</table>";
	
	spPageContent.innerHTML = pageHTML;		
	
}
function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }