/*window.addEvent('domready', function () {
	initHomepage();			

});*/

/*$(document).ready(function() {
	initHomepage();			
});*/

var focused = null;
var hidden = true;
var autocomp = new Array(4);

document.addEvent('click', function(e) {
								  if (!e) e = window.event;
								  
								  
								  if (focused != ((e.target) || (e.srcElement)) && !hidden) {
									  autocomp['dep_apname'].hideChoices(true); 
									  autocomp['des_apname'].hideChoices(true); 
									  autocomp['dep2_apname'].hideChoices(true); 
									  autocomp['des2_apname'].hideChoices(true); 
									  focused = (e.target) || (e.srcElement);
									  hidden = true;
									  }
								  });

var scriptVars = {
	retourdate_initialized:false,
	cal_r:null
};

function initHomepage() {
	initLayout();
	if (localVars.autocompleter) initAuto();
};

function initLayout(){
	$('dep_apname').focus();
	
	if (localVars.calendar)
	{
		new CalendarEightysix('vertrekdate', { theme: 'vista', minDate: 'today', maxDate: localVars.maxDate, prefill:false,  startMonday:true, alignX:localVars.alignX_v, alignY:localVars.alignY_v, offsetX:localVars.offsetX_v, offsetY:localVars.offsetY_v,
			pickFunction:function(d){
			    renderRetourdate();
			    $('retourdate').focus();
			}
		});
		scriptVars.cal_r = new CalendarEightysix('retourdate', { theme: 'vista', minDate: 'today', maxDate: localVars.maxDate, prefill:false, startMonday:true, alignX:localVars.alignX_r, alignY:localVars.alignY_r, offsetX:localVars.offsetX_r, offsetY:localVars.offsetY_r,
			pickFunction:function(d){
			}
		});
	}
	
	//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){
	// does the autocompleter have autocompletion enabled?
	var el = jq('#' + prefix + '_apname');
	if (el.attr('no-enable') == 'yes')
	{
		return;
	}
	
    autocomp[prefix + '_apname'] = new Autocompleter.Request.JSON($(prefix + '_apname'), 'url', {
        postData: { p_lang: globalVars.lang, product: 'flights' },
        minLength: 3,
        width: '',
        selectMode: false,
        maxChoices: localVars.maxChoices,
        onRequest: function () {
			if ($(prefix+'_loader') && $(prefix+'_loader') != null)
			{
	            $(prefix+'_loader').style.display = 'block';
			}
        },
        onComplete: function () {
			if ($(prefix+'_loader') && $(prefix+'_loader') != null)
			{
	            $(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();
        },
        onBlur: function (a) {
            focused = a;
            hidden = false;
        }
    });	
};

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'){
		var desPrefix = prefix=='dep'?'des2':'dep2';
		if($(desPrefix+'_apname').value == ''){
			$(desPrefix+'_apname').value = a.value; 
			$(desPrefix+'_apcode').value = $(prefix+'_apcode').value;
		}
	}
	$(prefix+'_apname').blur();	
	

}
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 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 ControleCheck(f) {
	var datum1  = back_date(f.vertrekdate.value);
	var vandaag = new Date();
	vandaag = new Date(vandaag.getFullYear(), vandaag.getMonth(), vandaag.getDate());

	// 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.RoundtripCheck.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.RoundtripCheck.checked) {
	    var datum2 = back_date(f.retourdate.value);
	    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 SwapOneway() {
	var f = document.formulierQuickSearch;
	if (f.Roundtrip[1].checked) {
		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 {
		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 SwapOnewayCheck() {
	var f = document.formulierQuickSearch;
	if (!f.RoundtripCheck.checked) {
		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';
		f.Roundtrip.value = 0;
	} else {
		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';
		f.Roundtrip.value = 1;
	}		
};


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);
		}
	}
}
