/**
 *
 * Class: Search Class
 * This class will submit the accomodation, camper & huurauto form
 * 
 */

var arrCities = '';
var arrPois = '';

function updateCities() {
    var loc = $('location');
    var cit = $('town');
    var cid = loc.options[loc.selectedIndex].value;
    var reg = new RegExp(cid);
    cit.options[0].selected = 'selected';
    if (arrCities.length == 0){
        arrCities = cit.cloneNode(true);        
    }
    cit.innerHTML = '';
    /*
    for (var n = 1;n<arrCities.length;n++){
    	cit.options[n].style.display = 'block';
    	if (cid != 0){
	    	if (!cit.options[n].value.match(reg)){
	    		cit.options[n].style.display = 'none';
	    	}
    	}
    }*/
    var msg = '';
    for (var n = 0;n<arrCities.length;n++){
        if (arrCities[n].value.match(reg) || arrCities[n].value == 0){
            var o = arrCities[n].cloneNode(true);
            cit.appendChild(o);
        }
    }
    return false;
}

function updatePois() {
    var loc = $('location');
    var poi = $('poi');
    var cid = loc.options[loc.selectedIndex].value;
    var reg = new RegExp(cid);
    poi.options[0].selected = 'selected';
    /*
    for (var n = 1;n<poi.options.length;n++){
        poi.options[n].style.display = 'block';
        if (cid != 0){
            if (!poi.options[n].value.match(reg)){
                poi.options[n].style.display = 'none';
            }
        }
    }
    */
    if (arrPois.length == 0){
        arrPois = poi.cloneNode(true);        
    }
    poi.innerHTML = '';
    var msg = '';
    for (var n = 0;n<arrPois.length;n++){
        if (arrPois[n].value.match(reg) || arrPois[n].value == 0){
            var o = arrPois[n].cloneNode(true);
            poi.appendChild(o);
        }
    }
    return false;
}
 
function updateGlobusForm() {
    // show the spinner
    showSpinner('globusmessage');
    // reset the globus button
    checkGlobusButton(0);
    // do the submit
    GLOBUSSEARCH.submit();
}
 
function checkGlobusButton(count) {
    if (count > 0) {
        $('globusformsubmit').disabled = false;
    } else {
        $('globusformsubmit').disabled = true;
    }
}

function toggleGlobusResults() {
    if (GLOBUSSEARCH.result) {
        GLOBUSSEARCH.result = false;
        $('globusformsubmit').innerHTML = 'toon resultaten';
    } else {
        GLOBUSSEARCH.result = true;
        $('globusformsubmit').innerHTML = 'verberg resultaten';
    }
}
 
 function Search(frm){
 	this.ajax = new joinkJAH();
 	this.form = $(frm);
 	this.results = false;
 }
 
 Search.prototype = {
 	
 	submit:function(){
 		this.ajax.setParams(this.form);
 		this.ajax.setFunction(bind(this, this.response));
 		this.ajax.doRequest('/obj/ajax/updateGlobusForm.php', 'POST');
 	},
 	
 	response:function(){
 	    msg = '';
 	    res = '';
 	    
        if (this.ajax.response != 'null') {
             response = JSON.parse(this.ajax.response)
             checkGlobusButton(response.count);
             msg = response.count + ' resultaten';
             if (this.result) {
                res = response.html;
             }
        } else {
            GLOBUSSEARCH.result = true;
            toggleGlobusResults();
        }
        
        $('globusmessage').innerHTML = msg;
        $('globusresults').innerHTML = res;
 	}
 	
 }