function showSpecialOffers(link, typeId, hide) {
	if(hide == null) {
		hide = false;
	}
	var el = document.getElementById('resultTable');
	var trs = el.getElementsByTagName('tr');
	for(var i = 0; i < trs.length; i++) {
		var tr = trs[i];
		if(tr.getAttribute('typeId') != null) {
			if(typeId == tr.getAttribute('typeId')) {
				if(hide) {
					tr.style.display = 'none';
				} else {
					tr.style.display = '';
				}
			}
		}
	}
	if(hide) {
		link.innerHTML = link.innerHTML.replace(/verbergen/, 'tonen');
		link.onclick = function() { showSpecialOffers(link, typeId); };
	} else {
		link.innerHTML = link.innerHTML.replace(/tonen/, 'verbergen');
		link.onclick = function() { showSpecialOffers(link, typeId, true); };
	}
}

// FastSearch verfijner functionaliteit:

var fs_req = null;
var fs_timer = null;
var fs_timerId = null;
var fs_status = 0;
var fs_IE = document.all?true:false;
var fs_xmlhttp;
function xmlhttpChange()
{
    if(fs_xmlhttp.readyState == 4){
            if (fs_xmlhttp.status == 200) {
    	        responseText = fs_xmlhttp.responseText;

			// reset object (firefox gets recursize xmlhttpuests!)
			fs_xmlhttp.onreadystatechange = new Function ("return true;");
			fs_xmlhttp.abort();
			fs_xmlhttp = null;


		   	eval(responseText);
			fs_status = 0;
			
	    } else {
			window.status = "There was a problem retrieving data from the server:<BR>\n" + fs_xmlhttp.statusText;
	    }
    }
}

function postAjax(name, value){

	if (fs_status != 0){// nog bezig
		setTimeout('postAjax(\''+name+'\',\''+value+'\')',100);
		return;
	}
	fs_status = 1;	
	var uri = "./?ajax=1&search_" + name + "=" + value;
	fs_timerId = setTimeout('loadXMLDoc("'+uri+'")',100);
}

function postFull(){
	document.forms['results'].submit();
}


function loadXMLDoc(url) {

	
//    if (fs_status == 1){ // delay request when queue is not ready yet.
//        setTimeout("loadXMLDoc(\""+url+"\")",10);
//		return false;
//   }

	fs_status = 1;
    // code for Mozilla, etc.
    if (window.XMLHttpRequest) {
	fs_xmlhttp=new XMLHttpRequest();
	fs_xmlhttp.onreadystatechange=xmlhttpChange;
	fs_xmlhttp.open("GET", url, true);
	fs_xmlhttp.send(null);
    } else if (window.ActiveXObject)  {
	fs_xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	if (fs_xmlhttp)
        {
	    fs_xmlhttp.onreadystatechange=xmlhttpChange;
	    fs_status =1;
	    fs_xmlhttp.open("GET",url,true);
	    fs_xmlhttp.send();
        }
    }
}

function getXMLHTTP(){
  var nak_A=null;
  try{
    nak_A=new ActiveXObject("Msxml2.XMLHTTP")
  }catch(e){
    try{
      nak_A=new ActiveXObject("Microsoft.XMLHTTP")
    } catch(oc){
      nak_A=null
    }
  }
  if(!nak_A && typeof XMLHttpRequest != "undefined") {
	nak_A=new XMLHttpRequest();
    
    }
    return nak_A;
}


// function fsearchCheckResultAmount() kijkt of er resultaten worden teruggegeven

function fsearchCheckResultAmount(){
	if (!fs_resultAmount == undefined){
		if (fs_resultAmount == 0){
			return confirm('Er zijn geen voertuigen die aan de voorwaarden voldoen');
		}
	}	
	return true;
}


// update functies

var fs_currentFieldName;
var fs_mode = 'create';
var fs_currentNode = 0;

// fieldName: field to update, nrValues: amount of times updateField will be called
function initializeUpdateField(fieldName,nrValues,fieldType){
	if (fieldType == 'select'){
		if (document.forms['results'][fieldName] == undefined){ // not set dependencyfield, skip
			fs_mode = 'skip';
			return;
		}

		fs_currentFieldName = fieldName;
		fs_currentNode = 0;

		if(document.forms['results'][fieldName].options.length == nrValues){
			fs_mode = 'update';
		} else {
			fs_mode = 'create';
			document.forms['results'][fieldName].options.length = 0;
		}
	} else if (fieldType == 'checkbox'){
		fs_mode = 'skip';
	}
}

function updateField(_value,_label,_selected,_enabled){

	if(fs_mode == 'skip'){
		return;
	}
	
	if(fs_mode == 'update'){
//		if (document.forms['results'][fs_currentFieldName].options[fs_currentNode].innerHTML != _label){
			document.forms['results'][fs_currentFieldName].options[fs_currentNode].value = _value;
			document.forms['results'][fs_currentFieldName].options[fs_currentNode].innerHTML = _label;
			if (!_enabled){
				document.forms['results'][fs_currentFieldName].options[fs_currentNode].style.color = '#aaaaaa';
			} else {
				document.forms['results'][fs_currentFieldName].options[fs_currentNode].style.color = '#000000';
			}
//		}
		if (_selected){
			document.forms['results'][fs_currentFieldName].options[fs_currentNode].selected = true;			
		}
	} else {
		var oOption = document.createElement('option');
		 oOption.innerHTML = _label;
		 oOption.value = _value;
		 if(!_enabled){
		 	oOption.style.color = '#aaaaaa';
		 }
		 if(_selected){
		 	oOption.selected = true;
		 }
		 document.forms['results'][fs_currentFieldName].appendChild(oOption);

	}
	fs_currentNode++;
}

function showModelVerfijner(){
	if (document.getElementById('modelField') != undefined){
		document.getElementById('modelField').style.display = '';
		document.getElementById('modelField').style.visibility = '';
	}
}

function hideModelVerfijner(){
	if (document.getElementById('modelField') != undefined){
		document.getElementById('modelField').style.display = 'none';
		document.getElementById('modelField').style.visibility = 'hidden';
	}
}