window.addEvent('domready', function() {
	initHomepage();		
	if( (document.referrer+'').indexOf('BookXpress_Hitchhiker', 0) != -1)
	{
		document.getElementById('dep_apcode').value = "";
		document.getElementById('des_apcode').value = "";
		document.getElementById('dep2_apcode').value = "";
		document.getElementById('des2_apcode').value = "";
	}
});

var scriptVars = {
	isSearchboxAdvancedVisible: false,
	slideSarchboxAdvanced: null,
	retourdate_initialized:false,
	cal_r:null
};

function initHomepage() {
	initScriptVars();
	initLayout();
	initAuto();
};

function initScriptVars(){
	scriptVars.slideSarchboxAdvanced = new Fx.Slide('searchbox_more', {
		mode: 'horizontal',
		transition: Fx.Transitions.Quint.easeInOut, duration:1000
	})	
};

function initLayout(){
	try {
	$('dep_apname').focus();
	} catch(e) {}
	$('searchbox_more').style.display = 'block';
	scriptVars.slideSarchboxAdvanced.hide();
	if (window.location.search.toLowerCase().indexOf('maatschappijen') >= 0) showAdvancedSearchbox();
	
	new CalendarEightysix('vertrekdate', { theme: 'vista', minDate: 'today', maxDate: localVars.maxDate, prefill:false,  startMonday:true,
		pickFunction:function(d){
			$('vertrekdate_day').innerHTML = globalVars.days[d.getDay()].substr(0,globalVars.days_short);
			renderRetourdate();
			$('retourdate').focus();
		}
	});
	scriptVars.cal_r = new CalendarEightysix('retourdate', { theme: 'vista', minDate: 'today', maxDate: localVars.maxDate, prefill:false, startMonday:true,
		pickFunction:function(d){
			$('retourdate_day').innerHTML = globalVars.days[d.getDay()].substr(0,globalVars.days_short);
		}
	});
	
	SwapOneway();
};

function renderRetourdate(){
	if($('retourdate').value == localVars.dateFormatLocal){
		scriptVars.cal_r.selectedDate = new Date().parse($('vertrekdate').value).clearTime();
		scriptVars.cal_r.viewDate = scriptVars.cal_r.selectedDate.clone().set('date', 1).clearTime();
		scriptVars.cal_r.render();
	}
}

function pp(aa){
	alert(aa);	
}

function initAuto(){
	initAutoCompleteField('dep');
	initAutoCompleteField('des');
	initAutoCompleteField('dep2');
	initAutoCompleteField('des2');
};

function initAutoCompleteField(prefix){
	new Autocompleter.Request.HTML($(prefix+'_apname'), 'autocomplete.cfm', {
		postData:{p_lang: globalVars.lang, product: 'flights' },
		minLength:3,
		width:'',
		selectMode:false,
		selectFirst:true,
		onRequest:function(){			
//			if($defined($('autocomplete_code'))) $('autocomplete_code').innerHTML = '';
			$(prefix+'_loader').style.display = 'block';
		},
		onComplete:function(){			
			$(prefix+'_loader').style.display = 'none';
		},
		injectChoice:function(choice){			
			var text = choice.getFirst();
			var value = text.innerHTML;
			choice.inputValue = choice.innerHTML;
			text.set('html', this.markQueryValue(value));
			this.addChoiceEvents(choice);							
		},
		onSelection:function(a){
			copyField(a, prefix);		
			if(prefix == 'dep') $('des_apname').focus();	
			if(prefix == 'des')	$('vertrekdate').focus();
			if(prefix == 'dep2') $('des2_apname').focus();	
			if(prefix == 'des2') $('retourdate').focus();
			//ShowHideUseCalendar();
		},
		onBlur:function(){
//			if(($(prefix+'_apcode').value).length == 0)
//				alert($('autocomplete_code').innerHTML);
			
		}
	});	
};

function copyField(a, prefix){
	$('tmpAutocomplete').innerHTML = a.value;
	a.value = $('autocomplete_label').innerHTML;
	$(prefix+'_apcode').value = $('autocomplete_code').innerHTML;
	setCaretTo($(prefix+'_apname'), 0);

	if(prefix == 'dep' || prefix == 'des'){
		//$(prefix+'_continent').value = $('autocomplete_continent').innerHTML;
		var desPrefix = prefix=='dep'?'des2':'dep2';
		if($(desPrefix+'_apname').value == ''){
			$(desPrefix+'_apname').value = a.value; 
			$(desPrefix+'_apcode').value = $(prefix+'_apcode').value;
		}
	}
	$(prefix+'_apname').blur();	
	$(prefix+'_apname2').value = $(prefix+'_apname').value;

}
function setCaretTo(obj, pos) { 
    if(obj.createTextRange) { 
        var range = obj.createTextRange(); 
        range.move("character", pos); 
        range.select(); 
    } else if(obj.selectionStart) { 
        obj.focus(); 
        obj.setSelectionRange(pos, pos); 
    } 
};
function logg(txt){
	$('logg').innerHTML += '<div>'+txt+'</div>';	
};

function showAdvancedSearchbox(){
	scriptVars.isSearchboxAdvancedVisible = !scriptVars.isSearchboxAdvancedVisible;
	if(scriptVars.isSearchboxAdvancedVisible){
		showHide($('advancedSearchboxLink'));
		
		scriptVars.slideSarchboxAdvanced.slideIn().onComplete=function(){
			showHide($('advancedSearchboxCloseLink'));
		};		
	}else{
		showHide($('advancedSearchboxCloseLink'));
		scriptVars.slideSarchboxAdvanced.slideOut().onComplete=function(){
			showHide($('advancedSearchboxLink'));
		};				
	}	
};

function Controle(f) {
	var datum1  = back_date(f.vertrekdate.value);
	var datum2  = back_date(f.retourdate.value);
	var vandaag = new Date();
	
	// nogmaals checken als er geen onChange is geweest
	if  (isNaN(datum1)) {
		alert(localVars.valid_departuredate_msg);
		f.vertrekdate.focus();
		return false;
	}
	
	if (f.dep_apname.value == "") {
		alert(localVars.valid_departure_msg);
		f.dep_apname.focus();
		return false;
	}
	if (f.des_apname.value == "") {
		alert(localVars.valid_destination_msg);
		f.des_apname.focus();
		return false;
	}
	if (f.Roundtrip[0].checked) {
		if (f.dep2_apname.value == "") {
			alert(localVars.valid_departure_msg);
			f.dep2_apname.focus();
			return false;
		}
		if (f.des2_apname.value == "") {
			alert(localVars.valid_destination_msg);
			f.des2_apname.focus();
			return false;
		}
		if (f.dep_apname.value == f.dep2_apname.value && f.des_apname.value == f.des2_apname.value) {
			alert(localVars.valid_route_msg);				
			return false;
		}
	}	
	if (datum1 <= vandaag) {
		alert(localVars.valid_departuredate_past_msg);
		f.vertrekdate.focus();
		return false;
	}
	if (f.Roundtrip[0].checked) {
		if (isNaN(datum2) ) {
			alert(localVars.valid_returndate_msg);
			f.retourdate.focus();
			return false;
			}
		if (datum2 <= vandaag) {
			alert(localVars.valid_arrivaldate_past_msg);
			f.retourdate.focus();
			return false;
		}			
		if (datum2 < datum1) {
			alert(localVars.valid_departuredate_after_returndate_msg);
			f.vertrekdate.focus();
			return false;
		}
	}	
	// Omzetten naar juiste datumformaat BookXpress...
	f.dag1.value = datum1.getDate();
	f.maandjaar1.value = (datum1.getMonth()+1) + "/" + datum1.getFullYear();
	f.dag2.value = datum2.getDate();
	f.maandjaar2.value = (datum2.getMonth()+1) + "/" + datum2.getFullYear();	
	
	/*if (f.vertrekdate.value == f.retourdate.value) {
		return confirm('\nDe terugreis is op dezelfde dag als de heenreis.\n\nIs het de bedoeling dat u een korte reis maakt?\n\n');
	}*/
	
	return true;
};

function SetAirportNameCode() {
	if($('dep_apname').value != $('dep_apname2').value) {
		$('dep_apcode').value = "";
	}
	if($('dep2_apname').value != $('dep2_apname2').value) {
		$('dep2_apcode').value = "";
	}
	if($('des_apname').value != $('des_apname2').value) {
		$('des_apcode').value = "";
	}
	if($('des2_apname').value != $('des2_apname2').value) {
		$('des2_apcode').value = "";
	}
	return true;
}

function SwapOneway() {
	var f = document.formulierQuickSearch;
	if (f.Roundtrip[1].checked) {
		//ShowHideUseCalendar();
		f.dep2_apname.disabled = true;
		f.des2_apname.disabled = true;
		f.retourdate.disabled = true;
		f.uur2.disabled = true;
		f.dep2_apname.style.backgroundColor = '#CCCCCC';
		f.des2_apname.style.backgroundColor = '#CCCCCC';
		f.retourdate.style.backgroundColor = '#CCCCCC';			
		f.uur2.style.backgroundColor = '#CCCCCC';	
	} else {
		//ShowHideUseCalendar();
		f.dep2_apname.disabled = false;
		f.des2_apname.disabled = false;
		f.retourdate.disabled = false;
		f.uur2.disabled = false;
		f.dep2_apname.style.backgroundColor = '#FFFFFF';
		f.des2_apname.style.backgroundColor = '#FFFFFF';
		f.retourdate.style.backgroundColor = '#FFFFFF';	
		f.uur2.style.backgroundColor = '#FFFFFF';
	}		
};

function infoPassengers(lbl){
	alert(localVars['msg_passengers_'+lbl]);
}

function SetNumberOfBabies() {
	var tempMaxBabies = $('nr_adults').options[$('nr_adults').selectedIndex].value;
	var selBabies = $('nr_infants').options[$('nr_infants').selectedIndex].value;
	if(selBabies > tempMaxBabies) {selBabies = tempMaxBabies;}
	while($('nr_infants').options.length > 1) {$('nr_infants').remove(1);}
	for(i = 1; i <= tempMaxBabies; i++) {
		var objOption = document.createElement("option");
		objOption.text = i;
		objOption.value = i;
		if(i == selBabies) {objOption.selected = true;}
		if(document.all && !window.opera) {
			$('nr_infants').add(objOption);
		} else {
			$('nr_infants').add(objOption, null);
		}
	}
}

function ShowHideUseCalendar() {
	var f = document.formulierQuickSearch;
	var dep = document.getElementById('dep_continent').value;
	var des = document.getElementById('des_continent').value;
	if(f.Roundtrip[0].checked && dep != "" && des != "" && dep != des) {
		document.getElementById('UseCalendarDiv').style.visibility = 'visible';
	} else {
		f.UseCalendar2.checked = false;
		f.UseCalendar.value = 0;
		document.getElementById('UseCalendarDiv').style.visibility = 'hidden';
	}
}

function CheckUseCalendar() {
	var f = document.formulierQuickSearch;
	if(f.UseCalendar2.checked) {
		f.UseCalendar.value = 1;
	} else {
		f.UseCalendar.value = 0;
	}
}