function txtKeyword_OnKeyDown(event){
	var key;
	var txtObj;
	
	if (event.keyCode){
		key = event.keyCode;
	}
	else if(event.which){
		key = event.which;
	}
	else{
		return(true);
	}
	
	txtObj = document.getElementById("txtKeyword");
	if(txtObj.className == "objInitialInput txtKeywordEmpty")
	{
		txtObj.value = "";
		txtObj.className = "objInitialInput txtKeyword";
	}
	
}


function txtKeyword_OnFocus(event){
	var txtObj = document.getElementById("txtKeyword");
	var str1 = new String(txtObj.value);
	var str2 = new String(txtObj.getAttribute("defValue"));
	
	if(txtObj.value == txtObj.getAttribute("defValue")){
		txtObj.className = "objInitialInput txtKeyword";
		txtObj.value = "";
	}
}

function txtKeyword_OnBlur(event){
	var txtObj = document.getElementById("txtKeyword");
	
	if(txtObj.value == ""){
		txtObj.className = "objInitialInput txtKeywordEmpty";
		txtObj.value = txtObj.getAttribute("defValue");
	}
}


function selectSearchByField(event){
	var source, obj;
	
	if(event.srcElement){
		source = event.srcElement;
	}
	else if(event.target){
		source = event.target;
	}
	else{
		return(true);
	}
	
	obj = document.getElementById("txtKeyword");
	if(!obj){
		obj = document.getElementById("cmbJobCategory");
	}
	
	if(source.value == 1){
		if(obj.tagName == "INPUT"){
			var parentObj = obj.offsetParent;
			parentObj.removeChild(obj);
			
			var newObj = document.createElement("SELECT");
			newObj.id = "cmbJobCategory";
			newObj.setAttribute("defValue", obj.getAttribute("defValue"));
			newObj.setAttribute("userValue", obj.value);
			newObj.className = "objInitialInput";
			
			newObj.options[newObj.options.length] = new Option("Chose a Job Category ----------------->","");
			for(var i = 0; i < aNarrowCode.length ; i ++){
				newObj.options[newObj.options.length] = new Option(aNarrowDesc[i],aNarrowCode[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 = "txtKeyword";
			newObj.setAttribute("defValue", obj.getAttribute("defValue"));
			
			if( obj.getAttribute("userValue") != obj.getAttribute("defValue")){
			
				newObj.value = obj.getAttribute("userValue");
				newObj.className = "objInitialInput txtKeyword";
			}
			else{
			
				newObj.value = obj.getAttribute("defValue");
				newObj.className = "objInitialInput txtKeywordEmpty";
			}
			
			//newObj.attachEvent("onkeydown",txtKeyword_OnKeyDown);
			try{
				newObj.addEventListener("focus", txtKeyword_OnFocus, false);
				newObj.addEventListener("blur", txtKeyword_OnBlur, false);
			}
			catch(e){
				newObj.onfocus = txtKeyword_OnFocus;
				newObj.onblur = txtKeyword_OnBlur;
			}
			parentObj.appendChild(newObj);
		}
	}
}

function selectJobCategory(strCode){
	var cmb = document.getElementById("cmbJobCategory");
	for(var i = 0 ; i < cmb.options.length ; i ++){
		if(cmb.options[i].value == strCode){
			cmb.selectedIndex = i;
			return;
		}
	}
}

function postForm(){
	var objKeyword = document.getElementById("txtKeyword");
	var objJobCategory = document.getElementById("cmbJobCategory");
	var objSearchByOption_0 = document.getElementById("rdbSearchByOption_0");
	var objSearchByOption_1 = document.getElementById("rdbSearchByOption_1");
		
	var objHiddenKeyword = document.getElementById("hdKeyword");
	var objHiddenJobCategory = document.getElementById("hdJobCategory");
	var objHiddenSearchByOption = document.getElementById("hdSearchByOption");
	var objHiddenViewAllRecords = document.getElementById("hdViewAllRecords");
	var objHiddenCurrentPage = document.getElementById("hdCurrentPage");
	
	if (objSearchByOption_0.checked)
		objHiddenSearchByOption.value = "0";
	else
		objHiddenSearchByOption.value = "1";
	
	if(objKeyword){
		if(objKeyword.value == ""){
			alert("Please enter a valid keyword");
			return(false);
		}
		else{
			objHiddenKeyword.value = objKeyword.value;
		}
	}
	
	if(objJobCategory){
		if(objJobCategory.value == ""){
			alert("Please enter a valid job category");
			return(false);
		}
		else{
			objHiddenJobCategory.value = objJobCategory.value;
		}
	}
	
	//every time that user requires a new search, pagination comes back
	objHiddenViewAllRecords.value = "0";
	objHiddenCurrentPage.value = "1";
	
	var strBrowser = new String(navigator.userAgent);
	if (strBrowser.toUpperCase().indexOf("MSIE") >= 0)
	{
		objSearchByOption_0.style.visibility = "hidden";
		objSearchByOption_1.style.visibility = "hidden";
		objSearchByOption_0.checked = true;
	}
	
	
	document.getElementById("mainform").submit();
}

function changePage(pageIndex){
	var hdCurrentPage = document.getElementById("hdCurrentPage");
	var objHiddenPageFrom = document.getElementById("pagefrom");
	
	var hdViewAllRecords = document.getElementById("hdViewAllRecords");
	hdViewAllRecords.value = "0";

	hdCurrentPage.value = pageIndex;
	objHiddenPageFrom.value = "salaryresults";

	//document.getElementById("mainform").submit();
	getJobList(true);
}

function sortByAlpha(){
	var hdSortBy = document.getElementById("hdSortBy");
	var lblSearchMostPopular = document.getElementById("lblSearchMostPopular");
	var lblSearchAlphabetic = document.getElementById("lblSearchAlphabetic");
	
	if(hdSortBy.value == "1")
	{
		return;
	}
	
	lblSearchMostPopular.className = "Link";
	lblSearchAlphabetic.className = "";
	
	try{
		lblSearchMostPopular.addEventListener("click", sortByPopularity, false);
	}
	catch(ex){
		lblSearchMostPopular.attachEvent("onclick", sortByPopularity);
	}
	hdSortBy.value = "1";
	//postForm();
	
	getJobList(true);
}

function sortByPopularity(){

	var hdSortBy = document.getElementById("hdSortBy");
	var lblSearchMostPopular = document.getElementById("lblSearchMostPopular");
	var lblSearchAlphabetic = document.getElementById("lblSearchAlphabetic");
	
	if(hdSortBy.value == "0")
	{
		return;
	}
	
	lblSearchMostPopular.className = "";
	lblSearchAlphabetic.className = "Link";
	
	try{
		lblSearchAlphabetic.addEventListener("click", sortByAlpha, false);
	}
	catch(ex){
		lblSearchAlphabetic.attachEvent("onclick", sortByAlpha);
	}
	
	hdSortBy.value = "0";
	//postForm();
	getJobList(true);

}


function viewAllRecords(){
	var hdViewAllRecords = document.getElementById("hdViewAllRecords");
	hdViewAllRecords.value = "1";
	//document.getElementById("mainform").submit();
	getJobList(true);
}

function getJobDescAltTitles(strJobCode, strJobAdvancedTitle, strNarrowDesc,strAreaID,strNarrowCode,strWSRCode,strStateCode,strMetroCode){
	var strUrl;	
	//alert(strMetroCode);
	strUrl = "/salarywizard/layoutscripts/swzl_salresjobdesc.asp?"
	strUrl = strUrl + "jobcode=" + strJobCode
	strUrl = strUrl + "&advancedjobtitle=" + escape(strJobAdvancedTitle)
	strUrl = strUrl + "&narrowdesc=" + escape(strNarrowDesc)
	strUrl = strUrl + "&area=" + escape(strAreaID)
	strUrl = strUrl + "&narrowcode=" + escape(strNarrowCode)
	strUrl = strUrl + "&wsrcode=" + escape(strWSRCode)
	strUrl = strUrl + "&statecode=" + escape(strStateCode)
	strUrl = strUrl + "&metrocode=" + escape(strMetroCode)
	if (strJobCode != "")
	{
	
		var jobdescWindow=window.open(strUrl,"JobDescWindow", "toolbar=no,scrollbars=yes, resizable=yes,width=700,height=325,left=0,top=0");
		jobdescWindow.focus();
	}
    	
}

function showResults(showAdvertisement, strJobCode, strJobTitle, strNarrowCode, strNarrowDesc){
	var pageName;
	
	pageName = "swzl_salaryresults.asp?";
	
	var form = document.getElementById("mainform");
	var objHiddenJobCode = document.getElementById("hdJobCode");
	var objHiddenJobTitle = document.getElementById("hdJobTitle");
	var objHiddenJobCategory = document.getElementById("hdJobCategory");
	var objHiddenNarrowDesc = document.getElementById("hdNarrowDesc");
	var objHiddenPageFrom = document.getElementById("pagefrom");
	
	objHiddenJobCode.value = strJobCode;
	objHiddenJobTitle.value = strJobTitle;
	objHiddenJobCategory.value = strNarrowCode;
	objHiddenNarrowDesc.value = strNarrowDesc;
	objHiddenPageFrom.value = "salaryresults";
	
	form.action = pageName;
	form.submit();
}

function showEmployerBaseSalaryRange(
	HRSalaryCenterHost,
	strPSRReferral,
	strJobDispCode,
	strJobDispTitle,
	strNarrowDesc,
	strZipCode,
	strMetroCode,
	strWSRCode,
	strYearsOfExp,
	strGeo,
	strNarrowCode
)
{
	var strPath;
	strPath =	"http://" + HRSalaryCenterHost + "/salarywizard/layoutscripts/swzl_localrangebell.asp?r=" + strPSRReferral + 
				"&jobcode=" + strJobDispCode + 
				"&jobtitle=" + strJobDispTitle + 
				"&narrowdesc=" + strNarrowDesc + 
				"&zipcode=" + strZipCode + 
				"&metrocode=" + strMetroCode + 
				"&wsrcode=" + strWSRCode + 
				"&yearsofexp=" + strYearsOfExp + 
				"&geo=" + strGeo+ 
				"&narrowcode=" + strNarrowCode;
	location.href = strPath;
						   												
}


function showPremiumHRSalaryData(
	strHRSalaryCenterHost,
	strJobDispCode,
	strJobDispTitle,
	strNarrowDesc,
	strZipCode,
	strMetroCode,
	strGeo,
	strNarrowCode
)
{
	var strPath;
	strPath =	strHRSalaryCenterHost + "/salarywizardprofessional/layoutscripts/swpl_defineneeds.asp?r=salswz_swzseljob_swp&s=salary&p=050205_psr_495" + 
				"&jobcode=" + strJobDispCode + 
				"&jobtitle=" + strJobDispTitle + 
				"&narrowdesc=" + strNarrowDesc + 
				"&zipcode=" + strZipCode + 
				"&metrocode=" + strMetroCode + 
				"&geo=" + strGeo+ 
				"&narrowcode=" + strNarrowCode ;
	location.href = strPath;
}


function showPersonalSalaryReport(
	MySalaryHost,
	strPSREntryPageName,
	strPSRReferral,
	strJobDispCode,
	strJobDispTitle,
	strNarrowDesc,
	strGeoMetroCode,
	strMetroCode,
	strNarrowCode,
	strGeo
)

{
	/*
	var strPath;
	strPath =	MySalaryHost  + "/salaryreport/layoutscripts/" + strPSREntryPageName + "?r=" + strPSRReferral + "&s=salary&p=050205_psr_495" + 
				"&jobcode=" + strJobDispCode + 
				"&jobtitle=" + strJobDispTitle + 
				"&actualjobtitle=" + strJobDispTitle + 
				"&narrowdesc=" + strNarrowDesc + 
				"&geometrocode=" + strGeoMetroCode + 
				"&metrocode=" + strMetroCode + 
				"&narrowcode=" + strNarrowCode + 
				"&jobmatchcode=JM02" + 
				"&geo=" + strGeo
	//location.href = strPath;
	*/
	var jobcode = document.getElementById("jobcode");
	var jobtitle = document.getElementById("jobtitle");
	var narrowcode = document.getElementById("narrowcode");
	var narrowdesc = document.getElementById("narrowdesc");
	var geo = document.getElementById("geo");
	var r = document.getElementById("r");
	
	if(jobcode)
		jobcode.value = strJobDispCode;
		
	if(jobtitle)
		jobtitle.value = strJobDispTitle;
		
	if(narrowcode)
		narrowcode.value = strNarrowCode;
		
	if(narrowdesc)
		narrowdesc.value = strNarrowDesc;
		
	if(geo)
		geo.value = strGeo;
	if(r)
		r.value = strPSRReferral;
		
	var frm = document.getElementById("frmBackgroundEmployer");
	frm.submit();
	
}

function pageInit(){
	
	var rdbSearchByOption_0 = document.getElementById("rdbSearchByOption_0");
	var rdbSearchByOption_1 = document.getElementById("rdbSearchByOption_1");
	
	objSearchByOption_0.style.visibility = "visible";
	objSearchByOption_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 getNewJobList(){
	var objKeyword = document.getElementById("txtKeyword");
	var objJobCategory = document.getElementById("cmbJobCategory");
	var objSearchByOption_0 = document.getElementById("rdbSearchByOption_0");
	var objSearchByOption_1 = document.getElementById("rdbSearchByOption_1");
		
	var objHiddenKeyword = document.getElementById("hdKeyword");
	var objHiddenJobCategory = document.getElementById("hdJobCategory");
	var objHiddenSearchByOption = document.getElementById("hdSearchByOption");
	var objHiddenViewAllRecords = document.getElementById("hdViewAllRecords");
	var objHiddenCurrentPage = document.getElementById("hdCurrentPage");
	
	if (objSearchByOption_0.checked)
		objHiddenSearchByOption.value = "0";
	else
		objHiddenSearchByOption.value = "1";
	
	if(objKeyword){
		if(objKeyword.value == ""){
			alert("Please enter a valid keyword");
			return(false);
		}
		else{
			objHiddenKeyword.value = objKeyword.value;
		}
	}
	
	if(objJobCategory){
		if(objJobCategory.value == ""){
			alert("Please enter a valid job category");
			return(false);
		}
		else{
			objHiddenJobCategory.value = objJobCategory.value;
		}
	}
	
	//every time that user requires a new search, pagination comes back
	objHiddenViewAllRecords.value = "0";
	objHiddenCurrentPage.value = "1";
	getJobList(true);
	
}
function hideWaitMessage(){
	var dvWaitMessage = document.getElementById("dvWaitMessage");

	if(dvWaitMessage){
		dvWaitMessage.offsetParent.removeChild(dvWaitMessage);
	}
}

function displayWaitMessage(strMessage){
	var dvWaitMessage = document.getElementById("dvWaitMessage");

	if(!dvWaitMessage){
		dvWaitMessage = document.createElement("DIV");
		dvWaitMessage.id = "dvWaitMessage";
	}
	
	dvWaitMessage.style.padding = "5px";
	dvWaitMessage.style.backgroundColor = "#FFFFFF";
	dvWaitMessage.style.color = "#FF6600";
	dvWaitMessage.style.border = "solid 1px #CCCCCC";
	dvWaitMessage.style.fontWeight = "bold";
	dvWaitMessage.style.fontFamily = "verdana, arial";
	dvWaitMessage.innerHTML = "<center><img src=\"/salarywizard/graphics/loading_animation.gif\"><br>" + strMessage + "</center>";
	document.body.appendChild(dvWaitMessage);
	
	dvWaitMessage.style.position = "absolute";
	dvWaitMessage.style.top = ((document.body.clientHeight - dvWaitMessage.offsetHeight) / 2) + document.body.scrollTop;
	dvWaitMessage.style.left = ((document.body.clientWidth - dvWaitMessage.offsetWidth) / 2) + document.body.scrollLeft;
	
}

function shiftTop(){
	document.body.scrollTop = 0;
}

function shiftToResults(){
	document.body.scrollTop = 1000;
}

function getJobList(showWaitMessage){
	try{
		if(showWaitMessage){
			displayWaitMessage("Please wait...");
			setTimeout("_getJobList();hideWaitMessage();", 1000);
		}	
		else{
			_getJobList();
		}
	}
	catch(ex){
		var dvInitialMessage = document.getElementById("dvInitialMessage");
		var dvJobListSection = document.getElementById("dvJobListSection");
		var dvJobListORSection = document.getElementById("dvJobListORSection");
		
		dvInitialMessage.innerHTML = "<label>It was not possible to access the server right now. Please try again in a few moments.</label>";
		dvJobListSection.style.display = "none";
		dvJobListORSection.style.display = "none";
	}
}

function _getJobList(){
	
	var frm = document.getElementById("mainform");
	var dvJobList = document.getElementById("dvJobList");
	var dvPagination = document.getElementById("dvPagination");
	var dvInitialMessage = document.getElementById("dvInitialMessage");
	var dvJobListOR = document.getElementById("dvJobListOR");
	
	var dvJobListSection = document.getElementById("dvJobListSection");
	var dvJobListORSection = document.getElementById("dvJobListORSection");
	var hdCurrentPage = document.getElementById("hdCurrentPage");
//	var jobcounter = document.getElementById("jobcounter");
	
	var strParameters = "";
	dvJobList.innerHTML = "";
	dvPagination.innerHTML = "";
	dvInitialMessage.innerHTML = "";
	dvJobListOR.innerHTML = "";
	
	dvJobListSection.style.display = "none";
	dvJobListORSection.style.display = "none";
	
	var arrParameters = document.getElementsByTagName("input");
	for(var i = 0 ; i < arrParameters.length ; i ++){
		if(arrParameters[i].type.toUpperCase() == "HIDDEN" && arrParameters[i].name.indexOf("hdOmni") < 0 ){
			if(strParameters == "")
				strParameters += "?";
			else
				strParameters += "&";
			
			strParameters += arrParameters[i].name + "=" + arrParameters[i].value;
		}
	}
	//strParameters = "?op=salswz_psr&hdSearchByOption=1&hdLocationOption=0&hdKeyword=&hdJobCategory=FA01&hdZipCode=&hdStateMetro=&hdGeoLocation=U.S.%20National%20Averages&hdCurrentPage=1&hdViewAllRecords=0&hdSortBy=1&hdJobCode=&hdJobTitle=&hdNarrowDesc=&hdJSBoolDisplayAdvertisement=false"
	//window.open("swzl_salaryresultsajax.asp" + strParameters);
	var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");
	//request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    request.open("GET", "swzl_salaryresultsajax.asp" + strParameters , false);
    request.send(null);
    
	var dvAjaxResults = document.getElementById("dvAjaxResults");
	
	if(dvAjaxResults)
	{
		dvAjaxResults.innerHTML = request.responseText;
	}
	
	var dvAjaxPagination = document.getElementById("dvAjaxPagination");
	dvPagination.appendChild(dvAjaxPagination);
	
	//hideWaitMessage();
	//shiftTop();
	shiftToResults();

	
}

function form_OnSubmit(){
	getNewJobList();
	return(false);
}