var firstVisit    = true;
var theForm       = window.document.vacancy_search;
var elementsArray = theForm.elements;

	
function updateCounter() 
{
	
	iFrameCounter.document.open();
	progressHtml  = "<html><body style='background-color: transparent;' marginwidth='0' marginheight='0' topmargin='0' leftmargin='0'>";
	progressHtml += "<img src='/jobsrep/gfx/allsites/spacer.gif' width='1' height='5'><br>";
	progressHtml += "<img src='/jobsrep/gfx/allsites/zoeken_progress.gif'>";
	progressHtml += "</body></html>";
	iFrameCounter.document.write(progressHtml);
	iFrameCounter.document.close();

	firstVisit        = false;
	var queryString   = "?doCount=true";

	for (var i=0; i < elementsArray.length ; i++)
	{
		
		var paramObject = elementsArray[i];
		var paramName   = paramObject.name;
		var paramValue  = paramObject.value;
		var paramType   = paramObject.type;

		if (paramType == "select-multiple") {
			for (var j=0; j < paramObject.options.length ; j++) 
			{
				var selectObject = paramObject.options[j];
				//alert("ParamValue: " + paramValue +"\n "+ "J: "+j);				
					
				if (selectObject.selected && paramName == "company_id")
				{
					if (paramValue != "") {
						queryString = getEnrichedQueryCompanyIdString(queryString, paramValue);
					}
				}
				else if (selectObject.selected && paramName == "siteId")
				{
					//alert("ParamValue: " + paramValue +"\n "+ "J: "+j + "\nselectObject"+selectObject.value);				
					if (paramValue != "") {
						queryString += "&"+ paramName +"="+ selectObject.value;
					}
				}
				else if (selectObject.selected) {
					selectValue = selectObject.value;
					if (selectValue != "") {
						queryString = getEnrichedQueryString(queryString, selectValue);
					}
				}
			}
		} 
		else if (paramType == "checkbox") 
		{
			if (paramObject.checked && paramName == "siteId") {
				if (paramValue != "") {
					queryString = getEnrichedQuerySiteIdString(queryString, paramValue);
				}
			}
			else if (paramObject.checked)
			{
				if (paramValue != "") {
					queryString = getEnrichedQueryString(queryString, paramValue);
				}
			}
		} 
		else 
		{
			if ((paramName == "keyword") || (paramName == "siteId") || (paramName == "be") || (paramName == "menuId") || (paramName == "company_id") || (paramName == "applicant") || (paramName == "forwardMenuId")|| (paramName == "caseObjectId")|| (paramName == "caseContentTypeId")|| (paramName == "forwardMenuId")|| (paramName == "spj_tab")|| (paramName == "spj_resume_id") || (paramName == "loginmenuID") || (paramName == "days")) 
			{
				queryString += "&"+ paramName +"="+ paramValue;
			} else {
				if (paramValue != "") {
					queryString = getEnrichedQueryString(queryString, paramValue);
				}
			}
		}
	}
	takeSomeTime(100);
	newLocation          = "/jobsrep/vacancyCounter" + queryString;

//alert(newLocation);
	iFrameCounter.location.replace(newLocation);
}

function getEnrichedQueryString(currentQueryString, theValue) 
{
	var newQueryString;
	if (isNaN(theValue)) {
		newQueryString = currentQueryString;
	} else {
		newQueryString = currentQueryString + "&jp="+ theValue;
	}
	return newQueryString;
}

function getEnrichedQuerySiteIdString(currentQueryString, theValue) 
{
	var newQueryString;
	if (isNaN(theValue)) {
		newQueryString = currentQueryString;
	} else {
		newQueryString = currentQueryString + "&siteId="+ theValue;
	}
	return newQueryString;
}

function getEnrichedQueryCompanyIdString(currentQueryString, theValue) 
{
	var newQueryString;
	if (isNaN(theValue)) {
		newQueryString = currentQueryString;
	} else {
		newQueryString = currentQueryString + "&company_id="+ theValue;
	}
	return newQueryString;
}

function takeSomeTime(gapInMilliSecs)
{ 
	var then;
	var now; 
	then = new Date().getTime();
	now = then;
	while((now-then) < gapInMilliSecs)
	{
		now = new Date().getTime();
	}
}

function checkCheckBoxes(nameOfCheckbox) 
{
	for (var i=0; i < elementsArray.length ; i++)
	{
		var paramObject = elementsArray[i];
	 	var paramName   = paramObject.name;
		var paramValue  = paramObject.value;
		var paramType   = paramObject.type;
		
		if ((paramType == "checkbox") && (paramName == nameOfCheckbox))
		{
			paramObject.checked = true;
		}
	}
}

function unCheckCheckBoxes(nameOfCheckbox) 
{
	for (var i=0; i < elementsArray.length ; i++)
	{
		var paramObject = elementsArray[i];
	 	var paramName   = paramObject.name;
		var paramValue  = paramObject.value;
		var paramType   = paramObject.type;
		
		if ((paramType == "checkbox") && (paramName == nameOfCheckbox))
		{
			paramObject.checked = false;
		}
	}
}

if (firstVisit) {
	if(typeof doCheckCheckBoxes != "undefined") {
		if (doCheckCheckBoxes || doCheckCheckBoxes != false) {
		    checkCheckBoxes("jp");
		}
	}
	updateCounter();
}
