var vorige = 0;
var filiaal_bas = false;

function load_filialen(has_bas) {
	filiaal_bas = has_bas;
	ajax_send('load_filialen');
	ajax_send('load_plaatsen');
}

/* filialen ophalen bij gekozen plaats */
function plaatsen_uniek_change(obj_this,has_bas) {
	filiaal_bas = has_bas;
	vorige = ajax.send('../ajax/filiaal_select.php?action=load_filialen&value=' + obj_this.value + (location.protocol == 'https:' ? '&protocol=https' : ''), '',load_filialen_response);
}

/* anvr nummer setten + logo */
function filialen_uniek_change(obj_this,has_bas) {
	filiaal_bas = has_bas;
	if(obj_this.value != '') {
		vorige = ajax.send('../ajax/filiaal_select.php?action=select_filiaal&anvr=' + obj_this.value + (location.protocol == 'https:' ? '&protocol=https' : ''), '',select_filiaal_response);
	}

}

//verstuur ajax requests load_filialen / load_plaatsen
function ajax_send(func) {

	vorige = ajax.send('../ajax/filiaal_select.php?action='+func + (location.protocol == 'https:' ? '&protocol=https' : ''), '',eval(func+'_response'));

}

/* filiaal gekozen */
function select_filiaal_response(obj_json) {

	if(obj_json == 'failure') {
		return false;
	}

	var filialenUniek = document.getElementById('filialen_uniek');
	if (filialenUniek)
		filialenUniek.value = obj_json[0].filiaal_anvr;

	//kop logo instellen
	if(document.getElementById('filiaal_logo')) {
		document.getElementById('filiaal_logo').src = obj_json[0].filiaal_logopath;
	}

	if (typeof toerkoop !== 'undefined')
	{
		toerkoop.anvr = obj_json[0].filiaal_anvr;
		toerkoop.filiaalSelected = true;
	}

	var span_servicekantoor = document.getElementById('servicekantoor');
	if (span_servicekantoor)
	{
		span_servicekantoor.innerHTML = 'Toerkoop reisburo '+obj_json[0].filiaal_naam+'<br \/>'+(obj_json[0].filiaal_wijk ? obj_json[0].filiaal_wijk+'<br \/>' : '')+obj_json[0].filiaal_straat+' '+obj_json[0].filiaal_nummer+'<br \/>'+obj_json[0].filiaal_postcodestraat+' '+obj_json[0].filiaal_plaats;
		span_servicekantoor.className += ' on';
	}

	if (typeof toerEngine !== 'undefined' && typeof toerEngine.boeking !== 'undefined')
		toerEngine.boeking.updateFiliaal(obj_json);

	return true;
}


/* filialen weergeven */
function load_filialen_response(obj_json) {

	if (typeof filiaalkiezer !== 'undefined')
		filiaalkiezer.filialen = obj_json;

	var span_servicekantoor = document.getElementById('servicekantoor');
	if (span_servicekantoor)
	{
		var selectedFiliaal = null;
		for(var a = 0; a < obj_json.length; a++)
			if (obj_json[a].selected == '1')
			{
				selectedFiliaal = obj_json[a];
				break;
			}

		if (selectedFiliaal)
		{
			span_servicekantoor.innerHTML = 'Toerkoop reisburo '+obj_json[a].filiaal_naam+'<br \/>'+(obj_json[a].filiaal_wijk ? obj_json[a].filiaal_wijk+'<br \/>' : '')+obj_json[a].filiaal_straat+' '+obj_json[a].filiaal_nummer+'<br \/>'+obj_json[a].filiaal_postcodestraat+' '+obj_json[a].filiaal_plaats;
			span_servicekantoor.className += ' on';
		}
		else
		{
			span_servicekantoor.innerHTML = 'Nog geen servicekantoor gekozen';
			span_servicekantoor.className = span_servicekantoor.className.replace(/ ?\bon\b/g, '');
		}
	}

	var obj_filialen = document.getElementById('filialen_uniek');
	if (obj_filialen && obj_filialen.options)
	{
		obj_filialen.options.length = 0;

		var length = obj_filialen.options.length;
		obj_filialen.options[length] = new Option('Kies een servicekantoor','');

		for(var a = 0; a < obj_json.length; a++) {
			var length = obj_filialen.options.length;
			obj_filialen.options[length] = new Option(obj_json[a].filiaal_plaats + ', ' + obj_json[a].filiaal_naam + ' ' + obj_json[a].filiaal_straat + ' ' + obj_json[a].filiaal_nummer, obj_json[a].filiaal_anvr);

			//dan hier niet beschikbare items instellen TODO
			if( (filiaal_bas == 'true') && (obj_json[a].filiaal_bas == '0') ) {
				obj_filialen.options[length].disabled = true;
			}

			if(obj_json[a].selected == 1) {
				obj_filialen.options[length].selected = true;
			}

		}
	}

}

/* plaatsen weergeven */
function load_plaatsen_response(obj_json) {

	var obj_plaatsen = document.getElementById('plaatsen_uniek');
	if (obj_plaatsen)
	{
		obj_plaatsen.options.length = 0;

		var length = obj_plaatsen.options.length;
		obj_plaatsen.options[length] = new Option('Kies een plaats','');

		for(var a = 0; a < obj_json.length; a++) {
			var length = obj_plaatsen.options.length;
			obj_plaatsen.options[length] = new Option(obj_json[a].plaatsen_uniek, obj_json[a].plaatsen_uniek);
			if(obj_json[a].selected == 1) {
				obj_plaatsen.options[length].selected = true;
			}
		}
	}
}

//aanroepen van request met vertraging #nog iets doen met een lege zoekcode?
function call_ajax(func) {

	//stop vorige timer
	if(typeof timer != 'undefined') {
		clearTimeout(timer);
	}

	//cancel vorige request
	if(vorige) {
		ajax.abort(vorige);
		vorige = 0;
	}

	timer = setTimeout(function(){ajax_send(func);}, 500);

}

