var xmlhttp
var daValue

function initForm(){
	//xmlData = 'forhandler_nr=1234&';
	//loadXMLDoc(xmlData);
	updateForm(daForm,'');
}

function updateForm(daForm,firstField){
	el = daForm;
	xmlData = '';
	xmlData += 'daFields=' + dafields.join('|');
	
	for(i=0;i<dafields.length;i++){
		//if (el[dafields[i]].type != 'hidden'){
			if (firstField==''){
				firstField = dafields[i][0];
			}
		//}
		if (el[dafields[i][0]].tagName.toLowerCase() == 'input'){
			daField = el[dafields[i][0]];
			daValue = daField.value;
		}
		if (el[dafields[i][0]].tagName.toLowerCase() == 'select'){
			daField = el[dafields[i][0]];
			if(daField.selectedIndex >= 0){
				daValue = daField[daField.selectedIndex].value;
			}else{
				daValue = "";
			}
		}
		xmlData += '&' + daField.name + '=' + daValue;
	}
	xmlData += '&firstField=' + firstField;
	disableNext = false;
	for(i=0;i<dafields.length;i++){
		//alert(firstField +' == '+ dafields[i] +' | '+ disableNext);
		if (disableNext == true && dafields[i][1]){
			if (el[dafields[i][0]].tagName.toLowerCase() == 'input'){
				el[dafields[i][0]].value = 'Henter data...';
			}
			if (el[dafields[i][0]].tagName.toLowerCase() == 'select'){
				daField = el[dafields[i][0]];
				daField[0].text = 'Henter data...';
				daField[0].selected = true;
			}
			el[dafields[i][0]].disabled = true;
		}
		if (firstField == dafields[i][0]){
			disableNext = true;
		}
	}
	//alert(xmlData);
	loadXMLDoc(xmlData);
}



function loadXMLDoc(xmlData){
	//alert(xmlData);
	url = 'datascript.asp';
	// code for Mozilla, etc.
	if (window.XMLHttpRequest){
		xmlhttp=new XMLHttpRequest();
		xmlhttp.onreadystatechange=state_Change;
		xmlhttp.open("POST",url,true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		//xmlhttp.setRequestHeader("Content-length", xmlData.length);
		//xmlhttp.send(null)
		xmlhttp.send(xmlData);
	}
	// code for IE
	else if (window.ActiveXObject){
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
	    if (xmlhttp){
	    	xmlhttp.onreadystatechange=state_Change;
	    	xmlhttp.open("POST",url,true);
			xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xmlhttp.setRequestHeader("Content-length", xmlData.length);
			xmlhttp.setRequestHeader("Connection", "close");
	    	xmlhttp.send(xmlData);
		}
	}
}

function state_Change(){
	if (xmlhttp.readyState==4){
	  // if "OK"
		if (xmlhttp.status==200){
			//alert(xmlhttp.responseText);
			eval(xmlhttp.responseText);
		}else{
			alert("Der opstod en fejl: "+xmlhttp.status+" - " + xmlhttp.statusText+ "\n\n" + xmlhttp.responseText)
		}
	}
}

function skift(fieldParam,xmlData) {
	//alert(xmlData);
	daField = daForm[fieldParam];
	if (xmlData != ''){
		if (daField.tagName.toLowerCase() == 'input'){
			selectedValue = daField.value;
		}
		if (daField.tagName.toLowerCase() == 'select'){
			selectedValue = daField[daField.selectedIndex].value;
			selectIndex = 0;
		}	
		
			var browser = navigator.appName;
	if (window.XMLHttpRequest && browser != 'Microsoft Internet Explorer'){
			var oParser = new DOMParser();
			var xmlDoc = oParser.parseFromString(xmlData, "text/xml");
		}else if (window.ActiveXObject){
			var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.async="false";
			xmlDoc.loadXML(xmlData);
		}
		
		if (daField.tagName.toLowerCase() == 'select'){
			xmlLength = xmlDoc.documentElement.childNodes.length;
			daField.length = xmlLength;
		}
	
		
		for (i=0;i<xmlDoc.documentElement.childNodes.length;i++){
			var thisNode = xmlDoc.documentElement.childNodes[i].childNodes;
			if(thisNode.length > 1){
				daField.options[i].value = getInnerText(thisNode[1]);
			} else {
				daField.options[i].value = getInnerText(thisNode[0]);
			}
			daField.options[i].text = unescape(getInnerText(thisNode[0]));
			if (daField.options[i].value == selectedValue){
				selectIndex = i;
			}
		}
		daField.selectedIndex = selectIndex;
		daField.disabled = false;
	}else{
		selectIndex = daField.selectedIndex;
		daField.selectedIndex = 0;
		daField.selectedIndex = selectIndex;
		daField.disabled = false;	
	}

}

function getInnerText (node) { 
   if (typeof node.textContent != 'undefined') { 
     return node.textContent; 
   } 
   else if (typeof node.innerText != 'undefined') { 
     return node.innerText; 
   } 
   else if (typeof node.text != 'undefined') { 
     return node.text; 
   } 
   else { 
     switch (node.nodeType) { 
       case 3: 
       case 4: 
         return node.nodeValue; 
         break; 
       case 1: 
       case 11: 
         var innerText = ''; 
         for (var i = 0; i < node.childNodes.length; i++) { 
           innerText += getInnerText(node.childNodes[i]); 
         } 
         return innerText; 
         break; 
       default: 
         return ''; 
     } 
   } 
} 

dafields = [['dealergroupID',false],['carType',true],['carMake',true],['carModel',true]];
daForm = document.forms['carsearch'];
setTimeout('initForm()', 500);
initVal = "";

function findEq(combo0,combo1,lessmore) {
	combo0 = daForm[combo0];
	combo1 = daForm[combo1];
	var combo0value = parseInt(combo0.options[combo0.selectedIndex].value);
	var combo1value = parseInt(combo1.options[combo1.selectedIndex].value);
	if(lessmore == 0){
		if(combo0value >= combo1value){
			for(i=0;i<combo0.length;i++){
				if(parseInt(combo0.options[i].value) < combo1value){
					//alert(combo0.options[i].value +' : '+ combo1.options[combo1.selectedIndex].value);
					combo0.selectedIndex = i;
					break;
				}
			}
		}
	}
	if(lessmore == 1){
		if(combo0value >= combo1value){
			for(i=0;i<combo1.length;i++){
				if(parseInt(combo1.options[i].value) > combo0value){
					//alert(combo1.options[i].value +' : '+ combo0.options[combo1.selectedIndex].value);
					combo1.selectedIndex = i;
					break;
				}
			}
		}
	}
}


// Normalt en del af søgeformularens fil


function Set_Cookie( name, value, expires, path, domain, secure ) 
{
	// set time, it's in milliseconds
	var today = new Date();
		today.setTime( today.getTime() );
		
		/*
		if the expires variable is set, make the correct expires time, the current script below will set 
		it for x number of days, to make it for hours, delete * 24, for minutes, delete * 60 * 24
		*/
	if ( expires )
		{
		expires = expires * 1000 * 60 * 60 * 24;
		}
	var expires_date = new Date( today.getTime() + (expires) );
		
		document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}


function Get_form_values(guid)
{	
	//alert(guid);
	var formName = 'carsearch_' + guid
	//alert(document[formName]['kmspecial_BB'].value);
	
	Set_Cookie('carType', ''+document[formName]['carType'].value+'', '', '', '', '' );
	Set_Cookie('carMake', ''+document[formName]['carMake'].value+'', '', '', '', '' );
	Set_Cookie('carModel', ''+document[formName]['carModel'].value+'', '', '', '', '' );
	Set_Cookie('prisSpecial_BB0', ''+document[formName]['prisSpecial_BB'][0].value+'', '', '', '', '' );
	Set_Cookie('prisSpecial_BB1', ''+document[formName]['prisSpecial_BB'][1].value+'', '', '', '', '' );
	Set_Cookie('kmspecial_BB0', ''+document[formName]['kmspecial_BB'][0].value+'', '', '', '', '' );
	Set_Cookie('kmspecial_BB1', ''+document[formName]['kmspecial_BB'][1].value+'', '', '', '', '' );
	Set_Cookie('alderSpecial_BB0', ''+document[formName]['alderSpecial_BB'][0].value+'', '', '', '', '' );
	Set_Cookie('alderSpecial_BB1', ''+document[formName]['alderSpecial_BB'][1].value+'', '', '', '', '' );
	Set_Cookie('forhandler', ''+document[formName]['forhandler'].value+'', '', '', '', '' );
	//return true;
}

function Set_form_values(guid) {
	var formName = 'carsearch_' + guid;
	//alert('set value: ' + formName);
	
	//document[formName]['carType'].value = Get_cookie('carType');
	//document[formName]['carMake'].value = Get_cookie('carMake');
	//document[formName]['carModel'].value = Get_cookie('carModel');
	if (Get_cookie('prisSpecial_BB0') != null)
	{document[formName]['prisSpecial_BB'][0].value = Get_cookie('prisSpecial_BB0');}
	
	if (Get_cookie('prisSpecial_BB1') != null)
	{document[formName]['prisSpecial_BB'][1].value = Get_cookie('prisSpecial_BB1');}
	
	if (Get_cookie('kmspecial_BB0') != null)
	{document[formName]['kmspecial_BB'][0].value = Get_cookie('kmspecial_BB0');}
	
	if (Get_cookie('kmspecial_BB1') != null)
	{document[formName]['kmspecial_BB'][1].value = Get_cookie('kmspecial_BB1');}
	
	if (Get_cookie('alderSpecial_BB0') != null)
	{document[formName]['alderSpecial_BB'][0].value = Get_cookie('alderSpecial_BB0');}
	
	if (Get_cookie('alderSpecial_BB1') != null)
	{document[formName]['alderSpecial_BB'][1].value = Get_cookie('alderSpecial_BB1');}
	
	if (Get_cookie('forhandler') != null)
	{document[formName]['forhandler'].value = Get_cookie('forhandler');}
	
	
}


function Get_cookie(pairName)
{
	var results = document.cookie.match ( '(^|;) ?' + pairName + '=([^;]*)(;|$)' );

	if ( results )
		return ( unescape ( results[2] ) );
	else
		return null;
}
