document.domain = 'vliegtarieven.nl';

Dom = YAHOO.util.Dom;

YAHOO.namespace("vliegtarieven.autocomplete");

YAHOO.vliegtarieven.autocomplete.init = function() 
{
	
	var itemSelectHandler = function(sType, aArgs) { 
		
		var instance = aArgs[0];
		var selected_item = aArgs[1];
		// terug reis automatisch invullen op basis van de vertrek gegevens
		switch(instance.getInputEl().id){
			case 'short_autocomplete_vertrek1':
				YAHOO.util.Dom.get('short_autocomplete_vertrek1').value = selected_item.innerHTML;
				YAHOO.util.Dom.get('autocomplete_vertrek1').value = selected_item.innerHTML;
				YAHOO.util.Dom.get('autocomplete_bestemming2').value = selected_item.innerHTML;				
				break;
			case 'autocomplete_vertrek1':
				YAHOO.util.Dom.get('autocomplete_vertrek1').value = selected_item.innerHTML;
				YAHOO.util.Dom.get('autocomplete_bestemming2').value = selected_item.innerHTML;				
				break;
			case 'short_autocomplete_bestemming1':
				YAHOO.util.Dom.get('short_autocomplete_bestemming1').value = selected_item.innerHTML;
				YAHOO.util.Dom.get('autocomplete_vertrek2').value = selected_item.innerHTML;
				YAHOO.util.Dom.get('autocomplete_bestemming1').value = selected_item.innerHTML;	
				break;
			case 'autocomplete_bestemming1':
				YAHOO.util.Dom.get('autocomplete_vertrek2').value = selected_item.innerHTML;
				YAHOO.util.Dom.get('autocomplete_bestemming1').value = selected_item.innerHTML;	
				break;
			default :
				instance.getInputEl().value = selected_item.innerHTML;
				break;
		}
	
	};
	
	var textboxFocusEventHandler = function(sType, aArgs){aArgs[0].getInputEl().select();};
	
	// Externe datasource aanroepen
	
	var oDS = new YAHOO.util.ScriptNodeDataSource("http://www.vliegtarieven.nl/lib/autocomplete.php");// lokaal
	oDS.responseSchema = {
		resultsList : "results",
		fields : ["naam", "bestemming_id", "landnaam"]
	};
	oDS.scriptCallbackParam = "callback";
	
	oDS.responseSchema = 
	{
		resultsList : "results",
		fields : ["naam", "bestemming_id", "landnaam"]
	};
	// Einde externe datasource
	
	// De verschillende autocomplete velden aanmaken
	if(Dom.get('autocomplete_vertrek1')){
		YAHOO.vliegtarieven.autocomplete.heen_van = new YAHOO.widget.AutoComplete("autocomplete_vertrek1", "autocomplete_vertrek1_container", oDS);		
		YAHOO.vliegtarieven.autocomplete.heen_van.generateRequest = function(sQuery) {return "?vertrek1=" + sQuery + "&type=json&limit=12";};
		YAHOO.vliegtarieven.autocomplete.heen_van.formatResult = function(oResultData, sQuery, sResultMatch) {return oResultData[0] + ' (' + oResultData[1] + '), ' + oResultData[2];};
		YAHOO.vliegtarieven.autocomplete.heen_van.itemSelectEvent.subscribe(itemSelectHandler);
		YAHOO.vliegtarieven.autocomplete.heen_van.textboxFocusEvent.subscribe(textboxFocusEventHandler);
	}
	if(Dom.get('autocomplete_vertrek2')){
		YAHOO.vliegtarieven.autocomplete.heen_naar = new YAHOO.widget.AutoComplete("autocomplete_vertrek2", "autocomplete_vertrek2_container", oDS);
		YAHOO.vliegtarieven.autocomplete.heen_naar.generateRequest = function(sQuery) {return "?vertrek2=" + sQuery + "&type=json&limit=12";};
		YAHOO.vliegtarieven.autocomplete.heen_naar.formatResult = function(oResultData, sQuery, sResultMatch) {return oResultData[0] + ' (' + oResultData[1] + '), ' + oResultData[2];};
		YAHOO.vliegtarieven.autocomplete.heen_naar.itemSelectEvent.subscribe(itemSelectHandler);
		YAHOO.vliegtarieven.autocomplete.heen_naar.textboxFocusEvent.subscribe(textboxFocusEventHandler);
	}
	if(Dom.get('autocomplete_bestemming1')){
		YAHOO.vliegtarieven.autocomplete.terug_van = new YAHOO.widget.AutoComplete("autocomplete_bestemming1", "autocomplete_bestemming1_container", oDS);
		YAHOO.vliegtarieven.autocomplete.terug_van.generateRequest = function(sQuery) {return "?bestemming1=" + sQuery + "&type=json&limit=12";};
		YAHOO.vliegtarieven.autocomplete.terug_van.formatResult = function(oResultData, sQuery, sResultMatch) {return oResultData[0] + ' (' + oResultData[1] + '), ' + oResultData[2];};
		YAHOO.vliegtarieven.autocomplete.terug_van.itemSelectEvent.subscribe(itemSelectHandler);
		YAHOO.vliegtarieven.autocomplete.terug_van.textboxFocusEvent.subscribe(textboxFocusEventHandler);
	}
	if(Dom.get('autocomplete_bestemming2')){
		YAHOO.vliegtarieven.autocomplete.terug_naar = new YAHOO.widget.AutoComplete("autocomplete_bestemming2", "autocomplete_bestemming2_container", oDS);
		YAHOO.vliegtarieven.autocomplete.terug_naar.generateRequest = function(sQuery) {return "?bestemming2=" + sQuery + "&type=json&limit=12";};
		YAHOO.vliegtarieven.autocomplete.terug_naar.formatResult = function(oResultData, sQuery, sResultMatch) {return oResultData[0] + ' (' + oResultData[1] + '), ' + oResultData[2];};
		YAHOO.vliegtarieven.autocomplete.terug_naar.itemSelectEvent.subscribe(itemSelectHandler);
		YAHOO.vliegtarieven.autocomplete.terug_naar.textboxFocusEvent.subscribe(textboxFocusEventHandler);		
	}
	if(Dom.get('short_autocomplete_vertrek1')){
		YAHOO.vliegtarieven.autocomplete.heen_van_short = new YAHOO.widget.AutoComplete("short_autocomplete_vertrek1", "short_autocomplete_vertrek1_container", oDS);		
		YAHOO.vliegtarieven.autocomplete.heen_van_short.generateRequest = function(sQuery) {return "?vertrek1=" + sQuery + "&type=json&limit=12";};
		YAHOO.vliegtarieven.autocomplete.heen_van_short.formatResult = function(oResultData, sQuery, sResultMatch) {return oResultData[0] + ' (' + oResultData[1] + ')';};
		YAHOO.vliegtarieven.autocomplete.heen_van_short.itemSelectEvent.subscribe(itemSelectHandler);
		YAHOO.vliegtarieven.autocomplete.heen_van_short.itemMouseOverEvent.subscribe(itemSelectHandler);
		YAHOO.vliegtarieven.autocomplete.heen_van_short.textboxFocusEvent.subscribe(textboxFocusEventHandler);
	}
	if(Dom.get('short_autocomplete_bestemming1')){
		YAHOO.vliegtarieven.autocomplete.terug_naar_short = new YAHOO.widget.AutoComplete("short_autocomplete_bestemming1", "short_autocomplete_bestemming1_container", oDS);
		YAHOO.vliegtarieven.autocomplete.terug_naar_short.generateRequest = function(sQuery) {return "?bestemming1=" + sQuery + "&type=json&limit=12";};
		YAHOO.vliegtarieven.autocomplete.terug_naar_short.formatResult = function(oResultData, sQuery, sResultMatch) {return oResultData[0] + ' (' + oResultData[1] + ')';};
		YAHOO.vliegtarieven.autocomplete.terug_naar_short.itemSelectEvent.subscribe(itemSelectHandler);
		YAHOO.vliegtarieven.autocomplete.terug_naar_short.itemMouseOverEvent.subscribe(itemSelectHandler);
		YAHOO.vliegtarieven.autocomplete.terug_naar_short.textboxFocusEvent.subscribe(textboxFocusEventHandler);		
	}

};

YAHOO.util.Event.onDOMReady(YAHOO.vliegtarieven.autocomplete.init);

var paginator = '';
var paginatorContent = '';
function handlePagination (state) {	
	// Show the appropriate paginatorContent for the requested page
	paginatorContent.className = 'page' + state.page;		
	// Update the Paginator's state, confirming change
	paginator.setState(state);
}
function initPaginator() {
	
	paginatorContent = document.getElementById('page_holder');
	if(paginatorContent){
		
		paginator = new YAHOO.widget.Paginator({
			rowsPerPage : 1,
			totalRecords : paginatorContent.getElementsByTagName('div').length,
			containers : 'paging',
			pageLinks: 5,
			firstPageLinkLabel : '',
			lastPageLinkLabel : '',
			nextPageLinkLabel : '',
			previousPageLinkLabel : '',
			initialPage  :1
		});
		
		paginator.subscribe('changeRequest', handlePagination);
		paginator.render();
	}
}
YAHOO.util.Event.onDOMReady(initPaginator);

function gotoMonth(month, obj)
{
	
	dt = new Date();
	currentMonth = dt.getMonth();
	if(month >= currentMonth)
	{
		obj.setMonth(month);
		obj.setYear(dt.getFullYear());
	}
	else
	{
		obj.setMonth(month);
		obj.setYear(dt.getFullYear() + 1);
	}
	obj.render();	
}

function LocaleDateStringToDate(stringDate){
	dt = null;
	if(stringDate != ''){
		dt_array = new Array();
		dt_array = stringDate.split('-');
		dt = new Date(dt_array[1] + '/' + dt_array[0] + '/' + dt_array[2]);
	}
	
	return dt;
}

YAHOO.namespace("vliegtarieven.calendar");

YAHOO.vliegtarieven.calendar.init = function() {	

	// Kalender config opties
	dt = new Date();
	dt.setDate(dt.getDate() + 1);
	month = dt.getMonth() + 1;
	next_year = dt.getFullYear() + 1;
	var calOptions = {
		close : true,
		MONTHS_LONG : [ 'Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni',
				'Juli', 'Augustus', 'September', 'Oktober', 'November',
				'December' ],
		WEEKDAYS_SHORT : [ 'Zo', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za' ],
		mindate : month + "/" + dt.getDate() + "/" + dt.getFullYear(),
		maxdate : month + "/" + dt.getDate() + "/" + next_year,
		selected : month + "/" + dt.getDate() + "/" + dt.getFullYear(),
		pagedate: month +"/"+dt.getFullYear(),
		strings : {
			close : 'Sluiten'
		}

	};
					
	function generateMonthsHeader(name){
		var dt = new Date();
		var month = dt.getMonth();
		var months_short = new Array('Jan','Feb','Mrt','Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec');

		var volgorde = new Array();
		for(i = month; i <= 11;i++){
			volgorde.push(i);
		}
		for(i = 0; i < month;i++){
			volgorde.push(i);
		}
		
		if(name == 'vertrek'){
			monthHeader = '';
		}else{
			monthHeader = '';
		}
		
		// Elke kalender heeft in de header een maand selectie.
		monthHeader += '<div class="monthSelection">' +
						'<div class="monthsRow">' + 
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[0] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[0]]+'</a>' + 
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[1] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[1]]+'</a>' +  
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[2] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[2]]+'</a>' +  
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[3] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[3]]+'</a>' +  
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[4] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[4]]+'</a>' +  
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[5] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[5]]+'</a>' +  
						'</div>' + 
						'<div class="monthsRow">' + 
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[6] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[6]]+'</a>' +  
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[7] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[7]]+'</a>' +  
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[8] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[8]]+'</a>' +  
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[9] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[9]]+'</a>' +  
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[10] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[10]]+'</a>' +  
							'<a onmouseover="this.className=\'cursor\';" onclick="gotoMonth('+ volgorde[11] +',YAHOO.vliegtarieven.calendar.' + name + ');">'+months_short[volgorde[11]]+'</a>' +  
						'</div>' + 
					'</div>' ;		
		return monthHeader;
	}

	function setInputValue(msg, cal_id) {
		cal_id = cal_id.replace(/short_/,"");
		eLog = YAHOO.util.Dom.get(cal_id + "_date");
		if(YAHOO.util.Dom.get('short_' + cal_id + "_date")){
			eLog2 = YAHOO.util.Dom.get('short_' + cal_id + "_date");
			eLog2.value = msg;
		}
		eLog.value = msg;
		
	}
	
	function dateToLocaleString(dt) {
		var dStr = dt.getDate();
		var mStr = dt.getMonth() + 1;
		var yStr = dt.getFullYear();
		return ( dStr + "-" + mStr + "-" + yStr);
	}
	
	function getDateByType(obj,type){	
		switch(type)
		{
			case 'maxdate':
				dt = obj.cfg.getProperty("maxDate");
				month = dt.getMonth() + 1;
				max_date_cal = new Date(month + '/' + dt.getDate() + '/' + dt.getFullYear());
				var terug_date = LocaleDateStringToDate(YAHOO.util.Dom.get("terug_date").value);
				if(terug_date > max_date_cal){return terug_date;}
				else{return max_date_cal;}
				break;
			case 'mindate':
				dt = obj.cfg.getProperty("minDate");
				month = dt.getMonth() + 1;
				min_date_cal = new Date(month + '/' + dt.getDate() + '/' + dt.getFullYear());
				var vertrek_date = LocaleDateStringToDate(YAHOO.util.Dom.get("vertrek_date").value);
				if(vertrek_date < min_date_cal && vertrek_date != null){return vertrek_date;}
				else{return min_date_cal;}
				break;
			case 'current':
				dt = obj.cfg.getProperty("selected").toString();
				dt = dt.split(',');
				dt_current_cal = new Date();
				dt_current_cal.setFullYear(dt[0],dt[1] - 1,dt[2]);
				input_date = LocaleDateStringToDate(YAHOO.util.Dom.get(obj.id + "_date").value);
				if(input_date){
					gotoMonth(input_date.getMonth(), obj);
				}
				if(input_date != '' && input_date != null){return input_date;}
				else{return dt_current_cal;}
				break;
		}
	}
	
	function addDay(type,obj)
	{
		max_date = getDateByType(obj,'maxdate');	
		dt_current = getDateByType(obj,'current');
		
		if(dt_current < max_date){
			dt_current.setDate(dt_current.getDate() + 1);
			switch(obj.id)
			{
				case 'short_vertrek':
				case 'vertrek':
					YAHOO.vliegtarieven.calendar.short_terug.cfg.setProperty("minDate", dt_current);
					YAHOO.vliegtarieven.calendar.short_terug.render();
					YAHOO.vliegtarieven.calendar.terug.cfg.setProperty("minDate", dt_current);
					YAHOO.vliegtarieven.calendar.terug.render();
					break;
				case 'short_terug':	
				case 'terug':
					YAHOO.vliegtarieven.calendar.short_vertrek.cfg.setProperty("maxDate", dt_current);
					YAHOO.vliegtarieven.calendar.short_vertrek.render();
					YAHOO.vliegtarieven.calendar.vertrek.cfg.setProperty("maxDate", dt_current);
					YAHOO.vliegtarieven.calendar.vertrek.render();				
					break;
			}
			obj.select(dt_current);
			//obj.render();
			setInputValue(dateToLocaleString(dt_current),obj.id);	
		}
	}
	
	function subDay(type,obj){		
		min_date = getDateByType(obj,'mindate');
		dt_current = getDateByType(obj,'current');
		if(dt_current > min_date){
			dt_current.setDate(dt_current.getDate() - 1);
			switch(obj.id)
			{
				case 'short_vertrek':
				case 'vertrek':
					YAHOO.vliegtarieven.calendar.short_terug.cfg.setProperty("minDate", dt_current);
					YAHOO.vliegtarieven.calendar.short_terug.render();
					YAHOO.vliegtarieven.calendar.terug.cfg.setProperty("minDate", dt_current);
					YAHOO.vliegtarieven.calendar.terug.render();
					break;
				case 'short_terug':
				case 'terug':
					YAHOO.vliegtarieven.calendar.short_vertrek.cfg.setProperty("maxDate", dt_current);
					YAHOO.vliegtarieven.calendar.short_vertrek.render();
					YAHOO.vliegtarieven.calendar.vertrek.cfg.setProperty("maxDate", dt_current);
					YAHOO.vliegtarieven.calendar.vertrek.render();				
					break;
			}
			obj.select(dt_current);
			//obj.render();
			setInputValue(dateToLocaleString(dt_current),this.id);	
		}
	}
	
	function vertrekHandler(type, args, obj) {
		var selected = args[0];
		var selVertrekDate = this.toDate(selected[0]);			 
		var selTerugDate = getDateByType(YAHOO.vliegtarieven.calendar.terug,'current');
		if(selTerugDate < selVertrekDate){
			setInputValue('',YAHOO.vliegtarieven.calendar.terug.id);
		}
				
		setInputValue(dateToLocaleString(selVertrekDate),this.id);
		
		YAHOO.vliegtarieven.calendar.terug.cfg.setProperty("minDate", selVertrekDate);
		YAHOO.vliegtarieven.calendar.terug.cfg.setProperty("pageDate", selVertrekDate);
		YAHOO.vliegtarieven.calendar.terug.render();
		YAHOO.vliegtarieven.calendar.vertrek.render();
		//YAHOO.vliegtarieven.calendar.vertrek.cfg.setProperty("selected", selDate);
		obj.hide(); 
	}
	
	function terugHandler(type,args,obj) {
		var selected = args[0];
		var selDate = this.toDate(selected[0]);			 
		setInputValue(dateToLocaleString(selDate),this.id);
		YAHOO.vliegtarieven.calendar.terug.render();
		YAHOO.vliegtarieven.calendar.vertrek.render();
		obj.hide();  
	};
	
	function short_vertrekHandler(type,args,obj) {
		
		var selected = args[0];
		var selVertrekDate = this.toDate(selected[0]);			 
		var selTerugDate =getDateByType(YAHOO.vliegtarieven.calendar.short_terug,'current');
		if(selTerugDate < selVertrekDate){
			setInputValue('',YAHOO.vliegtarieven.calendar.short_terug.id);
		}
				
		setInputValue(dateToLocaleString(selVertrekDate),this.id);
		YAHOO.vliegtarieven.calendar.short_terug.cfg.setProperty("minDate", selVertrekDate);
		YAHOO.vliegtarieven.calendar.short_terug.cfg.setProperty("pageDate", selVertrekDate);
		YAHOO.vliegtarieven.calendar.short_vertrek.render();
		YAHOO.vliegtarieven.calendar.short_terug.render();
		obj.hide();  
	};
	
	function short_terugHandler(type,args,obj) {
		var selected = args[0];
		var selDate = this.toDate(selected[0]);	
		
		setInputValue(dateToLocaleString(selDate),this.id);
		YAHOO.vliegtarieven.calendar.short_terug.render();
		YAHOO.vliegtarieven.calendar.short_vertrek.render();
		obj.hide();  
	};
	
	show_handler = function(type,obj){
		obj.select(getDateByType(obj,'current'));
		switch(obj.id)
		{
			case 'vertrek':
				YAHOO.vliegtarieven.calendar.terug.hide();
				YAHOO.vliegtarieven.calendar.vertrek.show();
				break;
			case 'terug':
				YAHOO.vliegtarieven.calendar.vertrek.hide();
				YAHOO.vliegtarieven.calendar.terug.show();
				break;
			case 'short_vertrek':				
				YAHOO.vliegtarieven.calendar.short_terug.hide();
				YAHOO.vliegtarieven.calendar.short_vertrek.show();
				break;
			case 'short_terug':
				YAHOO.vliegtarieven.calendar.short_vertrek.hide();
				YAHOO.vliegtarieven.calendar.short_terug.show();
				break;	
		}
	};
	// kalender voor de vertrek datum aanmaken

	
	// Kalender voor de terug datum aanmaken
	if(YAHOO.util.Dom.get('terug_date')){
		YAHOO.vliegtarieven.calendar.terug = new YAHOO.widget.Calendar("terug","terug_container", calOptions);
		YAHOO.vliegtarieven.calendar.terug.selectEvent.subscribe(terugHandler, YAHOO.vliegtarieven.calendar.terug, true);
		if(YAHOO.util.Dom.get("terug_date").value != ''){
			YAHOO.vliegtarieven.calendar.terug.select(getDateByType(YAHOO.vliegtarieven.calendar.terug,'current'));
		}
		YAHOO.vliegtarieven.calendar.terug.render();		
		YAHOO.vliegtarieven.calendar.terug.cfg.setProperty("title", generateMonthsHeader('terug'));
		// Event listeners toevoegen aan de betreffende elementen  		
		YAHOO.util.Event.addListener("terug_date", "click", show_handler, YAHOO.vliegtarieven.calendar.terug, true);
		YAHOO.util.Event.addListener("show_terug", "click", show_handler, YAHOO.vliegtarieven.calendar.terug, true);
	}
	if(YAHOO.util.Dom.get('vertrek_date')){
		YAHOO.vliegtarieven.calendar.vertrek = new YAHOO.widget.Calendar("vertrek","vertrek_container", calOptions );
		YAHOO.vliegtarieven.calendar.vertrek.selectEvent.subscribe(vertrekHandler, YAHOO.vliegtarieven.calendar.vertrek, true);
		if(YAHOO.util.Dom.get("vertrek_date").value != ''){
			YAHOO.vliegtarieven.calendar.vertrek.select(getDateByType(YAHOO.vliegtarieven.calendar.vertrek,'current'));
		}
		YAHOO.vliegtarieven.calendar.vertrek.render();		
		YAHOO.vliegtarieven.calendar.vertrek.cfg.setProperty("title", generateMonthsHeader('vertrek'));
		// Event listeners toevoegen aan de betreffende elementen  
		YAHOO.util.Event.addListener("vertrek_date", "click", show_handler, YAHOO.vliegtarieven.calendar.vertrek, true);
		YAHOO.util.Event.addListener("show_vertrek", "click", show_handler, YAHOO.vliegtarieven.calendar.vertrek, true);
	}
	// Kalender voor de terug datum aanmaken
	if(YAHOO.util.Dom.get('short_terug_date')){
		YAHOO.vliegtarieven.calendar.short_terug = new YAHOO.widget.Calendar("short_terug","short_terug_container", calOptions);
		YAHOO.vliegtarieven.calendar.short_terug.selectEvent.subscribe(short_terugHandler, YAHOO.vliegtarieven.calendar.short_terug, true);
		if(YAHOO.util.Dom.get("short_terug_date").value != ''){
			YAHOO.vliegtarieven.calendar.short_terug.select(getDateByType(YAHOO.vliegtarieven.calendar.short_terug,'current'));
		}
		YAHOO.vliegtarieven.calendar.short_terug.render();		
		YAHOO.vliegtarieven.calendar.short_terug.cfg.setProperty("title", generateMonthsHeader('short_terug'));
		// Event listeners toevoegen aan de betreffende elementen  		
		YAHOO.util.Event.addListener("short_terug_date", "click", show_handler, YAHOO.vliegtarieven.calendar.short_terug, true);
		YAHOO.util.Event.addListener("short_terug_min", "click", subDay, YAHOO.vliegtarieven.calendar.short_terug, true);
		YAHOO.util.Event.addListener("short_terug_plus", "click", addDay, YAHOO.vliegtarieven.calendar.short_terug, true);
	}
	if(YAHOO.util.Dom.get('short_vertrek_date')){
		YAHOO.vliegtarieven.calendar.short_vertrek = new YAHOO.widget.Calendar("short_vertrek","short_vertrek_container", calOptions );
		YAHOO.vliegtarieven.calendar.short_vertrek.selectEvent.subscribe(short_vertrekHandler, YAHOO.vliegtarieven.calendar.short_vertrek, true);
		if(YAHOO.util.Dom.get("short_vertrek_date").value != ''){
			YAHOO.vliegtarieven.calendar.short_vertrek.select(getDateByType(YAHOO.vliegtarieven.calendar.short_vertrek,'current'));
		}
		YAHOO.vliegtarieven.calendar.short_vertrek.render();		
		YAHOO.vliegtarieven.calendar.short_vertrek.cfg.setProperty("title", generateMonthsHeader('short_vertrek'));
		// Event listeners toevoegen aan de betreffende elementen  
		YAHOO.util.Event.addListener("short_vertrek_date", "click", show_handler, YAHOO.vliegtarieven.calendar.short_vertrek, true);
		YAHOO.util.Event.addListener("short_vertrek_min", "click", subDay, YAHOO.vliegtarieven.calendar.short_vertrek, true);
		YAHOO.util.Event.addListener("short_vertrek_plus", "click", addDay, YAHOO.vliegtarieven.calendar.short_vertrek, true);
	}
};

YAHOO.util.Event.onDOMReady(YAHOO.vliegtarieven.calendar.init);

YAHOO.namespace('vliegtarieven.anim');
YAHOO.vliegtarieven.anim.init = function() {
	

	function setOverflowHidden(){
		var el = this.getEl(); 
		YAHOO.util.Dom.setStyle(el.id, 'overflow', 'hidden');
		//YAHOO.util.Dom.setStyle(el.id, 'display', 'none');
	}
	
	function setOverflowVisible(){
		var el = this.getEl(); 
		YAHOO.util.Dom.setStyle(el.id, 'overflow', 'visible');
		//YAHOO.util.Dom.setStyle(el.id, 'display', 'block');		
	}

	var searchform_close_handler = function(e) {
			collapse_search_form_anim.animate();
			//YAHOO.util.Dom.get('zoek_opties').innerHTML = '<span style="text-decoration:underline;">Meer opties</span> <img src="/images/expand.gif"/>';
			searchform_open = false;
	};
	var searchform_open_handler = function(e) {
			expand_search_form_anim.animate();
			//YAHOO.util.Dom.get('zoek_opties').innerHTML  = '<span style="text-decoration:underline;">Minder opties</span> <img src="/images/collapse.gif"/>';
			searchform_open = true;			
			YAHOO.vliegtarieven.calendar.short_terug.hide();
			YAHOO.vliegtarieven.calendar.short_vertrek.hide();
	};
		
	var expand_search_form_anim = new YAHOO.util.Anim('search_form', { height: {to: 325} }, 0.8 );
	var collapse_search_form_anim = new YAHOO.util.Anim('search_form', { height: {to: 0} }, 0.8 );
	
	
	expand_search_form_anim.onComplete.subscribe(setOverflowVisible);
	collapse_search_form_anim.onStart.subscribe(setOverflowHidden); 
	
	YAHOO.util.Event.addListener('search_form_more_options', 'click', searchform_open_handler);
	YAHOO.util.Event.addListener('searchform_close', 'click', searchform_close_handler);
};
YAHOO.util.Event.onDOMReady(YAHOO.vliegtarieven.anim.init);


function set_input_on(name,input){
	Dom.get(name).style.display = 'none'; 
	Dom.get(name + '_img').style.display = 'none';
	Dom.get(name + '_input').style.display = 'inline';
	Dom.get(input).value = Dom.get(name).innerHTML; 
	Dom.get(input).focus();
}

function set_input_off(name,input){
	Dom.get(name + '_input').style.display = 'none'; 
	Dom.get(name + '_img').style.display = 'inline';
	Dom.get(name).style.display = 'inline';
	 Dom.get(name).innerHTML = Dom.get(input).value; 
	
}
/* Start YUI model/panel*/

YAHOO.namespace("vliegtarieven.container");
	
YAHOO.vliegtarieven.container.init = function(object) {
	// om ook de onclick van een 'a' element te kunnen gebruiken.
	if("" + object == '[object MouseEvent]' || "" + object == '[object]' || "" + object == '[object Event]'){ 
		var object = null;
	}
	function show_handler(){/*document.documentElement.style.overflow = 'hidden';*/} // als het panel gesloten wordt moeten de scrollbars op auto gezet worden
	function hide_handler(){/*document.documentElement.style.overflow = 'auto';*/} // als het panel getoont wordt moeten de scrollbars uitgezet worden
		
	// config options voor het panel
	panel_options = { width: "750px",
					  height: "600px", 
					  fixedcenter: true,
					  close: true, 
					  draggable: false, 
					  zindex:9999,
					  modal: true,
					  underlay :'shadow',
					  visible: true,
					  constraintoviewport :true,
					  effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.6},
					  strings: {close:'<span>Venster sluiten</span>'}
					};

	YAHOO.vliegtarieven.container.model = new YAHOO.widget.Panel("model",panel_options);
	if(typeof(object) !== 'undefined' && object !== null ){
		url = object.href;
		title = object.title;
	}else{
		if(this.id == 'newsletter_model'){
			url = YAHOO.util.Dom.get('frmNewsletter').action + '?email=' + YAHOO.util.Dom.get('email').value;
			title = this.title;
		}else{
			url = this.href;
			title = this.title;
		}
	}

	YAHOO.vliegtarieven.container.model.setHeader(title);
	YAHOO.vliegtarieven.container.model.setBody("<div style='width:748px;overflow-y:auto;overflow-x:hidden;height:100%'><iframe frameborder='0' height='100%' width='100%' scrolling='auto' src='" + url + "'></iframe></div>");
	YAHOO.vliegtarieven.container.model.setFooter("&nbsp;");
	YAHOO.vliegtarieven.container.model.render(document.body);
	
	YAHOO.vliegtarieven.container.model.hideEvent.subscribe(hide_handler, YAHOO.vliegtarieven.container.model, true);
	YAHOO.vliegtarieven.container.model.showEvent.subscribe(show_handler, YAHOO.vliegtarieven.container.model, true);

	YAHOO.vliegtarieven.container.model.show();
	
};
YAHOO.util.Event.onDOMReady(function(){
YAHOO.util.Event.on("faq_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("about_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("nieuwsbrief_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("prijsgarantie_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("allin_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("beoordeling_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("privacy_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("algvoorwaarden_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("twvoorwaarden_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("phone_model", "click", YAHOO.vliegtarieven.container.init);
YAHOO.util.Event.on("badges_model", "click", YAHOO.vliegtarieven.container.init);
									 });
/* Einde YUI model/panel */
YAHOO.util.Event.onDOMReady(function () {
	var adult_length = YAHOO.util.Dom.get('adults_menu').options[YAHOO.util.Dom.get('adults_menu').selectedIndex].value;
	if(Dom.get('nr_adults')){
		adults = Dom.get('nr_adults');	
		for (i = adults.length - 1; i>=0; i--) {
		    if (adults.options[i].value == '0') {
		    	adults.remove(i);
		    }
		}
	}
	if(Dom.get('adults_menu')){
		adults = Dom.get('adults_menu');	
		for (i = adults.length - 1; i>=0; i--) {
		    if (adults.options[i].value == '0') {
		    	adults.remove(i);
		    }
		}
	}
	
	function getSelectedOption(list){
		return YAHOO.util.Dom.get(list).options[YAHOO.util.Dom.get(list).selectedIndex].innerHTML;
	}
	
	var Button = YAHOO.widget.Button;

	var onMenuRender = function (type, args, button) {
		button.set("selectedMenuItem", this.getItem(0));
	};

	var onSelectedMenuItemChange = function (event) {
		var oMenuItem = event.newValue;
		this.set("label", ("<span class=\"yui-button-label\">" + 
					oMenuItem.cfg.getProperty("text") + "</span>"));
		if(this.get("name") == 'adults'){
			index = oMenuItem.index + 1;
			setMenu(infants,index);
		}
	};
	
	function setMenu(button,index){
		menu = button.getMenu();
		for(i = 10;i>=index;i--){			
			old_item = menu.getItem(i);
			if(old_item){
				menu.removeItem(old_item);
			}
		}
		menu.insertItem("0 baby`s", 0);
		for(i = 1;i<=index;i++){
			if(i == 1){
				text = " baby";
			}else{
				text = " baby`s";
			}
			old_item = menu.getItem(i);
			if(old_item){				
				menu.removeItem(old_item);
			}
			menu.insertItem(i + text, i);
		}	
	}
	
	var onFormSubmit = function (event, button) {

		var oMenuItem = button.get("selectedMenuItem"),
			UA = YAHOO.env.ua,
			oEvent,
			oMenu;
		
		if (!oMenuItem) {

			//	Pause submission of the form until the Button's Menu 
			//	is rendered
			YAHOO.util.Event.preventDefault(event);

			oMenu = button.getMenu();

			oMenu.addItems(oMenu.itemData);

			oMenu.subscribe("render", function () {

				var bSubmitForm;

				if (UA.ie) {
					bSubmitForm = this.fireEvent("onsubmit");
				}
				else {  // Gecko, Opera, and Safari
		
					oEvent = document.createEvent("HTMLEvents");
					oEvent.initEvent("submit", true, true);
					bSubmitForm = this.dispatchEvent(oEvent);
		
				}

				//	In IE and Safari, dispatching a "submit" event to a form 
				//	WILL cause the form's "submit" event to fire, but WILL  
				//	NOT submit the form.  Therefore, we need to call the 
				//	"submit" method as well.
			  
				if ((UA.ie || UA.webkit) && bSubmitForm) {
					this.submit();
				}

			}, this, true);

			oMenu.render(oMenu.cfg.getProperty("container"));

		}
	
	};

	var onMenuRender = function (type, args, button) {
		button.set("selectedMenuItem", this.getItem(0));
	};

	var onSelectedMenuItemChange = function (event) {
		var oMenuItem = event.newValue;
		this.set("label", ("<span class=\"yui-button-label\">" + 
					oMenuItem.cfg.getProperty("text") + "</span>"));
		if(this.get("name") == 'adults'){
			index = oMenuItem.index + 1;
			setMenu(infants,index);
		}
	};
	
		var adults = new Button({ 
							id: "adults", 
							name: "adults",
							label: "<span class=\"yui-button-label\">" + getSelectedOption('adults_menu') +"</span>",
							type: "menu",  
							menu: "adults_menu", 
							container: "select-1-container",
							lazyloadmenu: true
		});
		
		adults.on("selectedMenuItemChange", onSelectedMenuItemChange);

		var childeren = new Button({ 
			id: "children", 
			name: "children",
			label: "<span class=\"yui-button-label\">" + getSelectedOption('children_menu') + "</span>",
			type: "menu",  
			menu: "children_menu", 
			container: "select-2-container",
			lazyloadmenu: false
		});	

		childeren.on("selectedMenuItemChange", onSelectedMenuItemChange);

		var infants = new Button({ 
			id: "infants", 
			name: "infants",
			label: "<span class=\"yui-button-label\">" + getSelectedOption('infants_menu') + "</span>",
			type: "menu",  
			menu: "infants_menu", 
			container: "select-3-container",
			lazyloadmenu: false
		});

		infants.on("selectedMenuItemChange", onSelectedMenuItemChange);
		setMenu(infants,adult_length);

YAHOO.util.Event.on(Dom.get('short_searchform'), "submit", onFormSubmit, this);


});

var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function JSFX_FloatDiv(id, sx, sy)
{
	var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
	var px = document.layers ? "" : "px";
	window[id + "_obj"] = el;
	if(d.layers)el.style=el;
	el.cx = el.sx = sx;el.cy = el.sy = sy;
	el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};

	el.floatIt=function()
	{

		if((d.getElementById('divTopLeft').clientHeight) < document.documentElement.clientHeight){
			var pX, pY;
			pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
			document.documentElement && document.documentElement.clientWidth ? 
			document.documentElement.clientWidth : document.body.clientWidth;
			pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
			document.documentElement.scrollTop : document.body.scrollTop;
			pY -= 160;
			if(document.documentElement.scrollTop < 201){
				pY += 160 - document.documentElement.scrollTop;
			}
			if(this.sy<0) 
			pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
			document.documentElement.clientHeight : document.body.clientHeight;
			if(pY > (d.getElementById('content').clientHeight - 550)){
				pY = d.getElementById('content').clientHeight - (d.getElementById('divTopLeft').clientHeight + 120);				
			}
			this.cx += (pX + this.sx - this.cx)/8;this.cy += (pY + this.sy - this.cy)/8;
			this.sP(this.cx, this.cy);
			setTimeout(this.id + "_obj.floatIt()", 20);
		}};
	return el;
}

function update_baby (){
	var adults = parseInt(YAHOO.util.Dom.get('nr_adults').options[YAHOO.util.Dom.get('nr_adults').selectedIndex].value,10);
	var inf = parseInt(YAHOO.util.Dom.get('nr_infants').options[YAHOO.util.Dom.get('nr_infants').selectedIndex].value,10);
		
	while (adults < YAHOO.util.Dom.get('nr_infants').options.length) {
		YAHOO.util.Dom.get('nr_infants').options[(YAHOO.util.Dom.get('nr_infants').options.length - 1)] = null;
	}
	for (var i=0; i <= adults; i++) {
			YAHOO.util.Dom.get('nr_infants').options[i] = new Option(i,i);
	}
	if (inf <= YAHOO.util.Dom.get('nr_infants').options.length) {
		YAHOO.util.Dom.get('nr_infants').selectedIndex = inf;
	}
};

// Event listeners toevoegen
YAHOO.util.Event.onDOMReady(function(){
if(YAHOO.util.Dom.get('nr_adults')){
	YAHOO.util.Event.addListener('nr_adults', 'change', update_baby);
}});

/* Start YUI tooltips */

YAHOO.namespace("vliegtarieven.tooltips");
	
YAHOO.vliegtarieven.tooltips.init = function() {

	var ttOptions = { 							 
						visible:false,
						effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.5},
						xyoffset:[20,0],
						autodismissdelay : 500000
					};
					
	if(YAHOO.util.Dom.get('tooltip-voornaam-1') || YAHOO.util.Dom.get('tooltip-voornaam')){
		YAHOO.vliegtarieven.tooltips.tt1 = new YAHOO.widget.Tooltip("tt1", ttOptions);
		YAHOO.vliegtarieven.tooltips.tt1.setHeader('');
		YAHOO.vliegtarieven.tooltips.tt1.setBody('<b>Vul uw voornaam zorgvuldig in zoals vermeld in uw paspoort.</b><br /><br /><b>Let op!</b> uitzonderingen:<br /><br />' +
'<b>1:</b> Vul enkel uw volledige eerste voornaam in volgens paspoort.<br />' +
'Voorbeeld: "Yolanthe Cornelia Maria Elisabeth" vul in: Yolanthe<br />' +
'Voorbeeld: "Remco Hendrikus Paulus" vul in: Remco<br /><br /> ' +
'<b>2:</b> Gebruik geen koppeltekens (-), accenten of spaties<br />' +
'Voorbeeld: "Marie-Jose" vul in: Mariejose<br />' +
'Voorbeeld: "Jos&#233;" vul in: Jose<br />' +
'Voorbeeld: "Zo&#235;" vul in: Zoe'
);
		YAHOO.vliegtarieven.tooltips.tt1.setFooter('');
		YAHOO.vliegtarieven.tooltips.tt1.cfg.setProperty("context", ["tooltip-voornaam","tooltip-voornaam-1","tooltip-voornaam-2","tooltip-voornaam-3","tooltip-voornaam-4","tooltip-voornaam-5","tooltip-voornaam-6","tooltip-voornaam-7","tooltip-voornaam-8","tooltip-voornaam-9"]);
	}
	
	if(YAHOO.util.Dom.get('tooltip-achternaam-1') || YAHOO.util.Dom.get('tooltip-achternaam')){
		YAHOO.vliegtarieven.tooltips.tt2 = new YAHOO.widget.Tooltip("tt2", ttOptions);
		YAHOO.vliegtarieven.tooltips.tt2.setHeader('');
		YAHOO.vliegtarieven.tooltips.tt2.setBody('<b>Vul de achternaam zorgvuldig in, met eventueel tussenvoegsel.</b><br /><br /><b>Let op!</b> uitzonderingen:<br /><br />' +
				'(Voorbeeld: "De Vries" wordt "Devries") (Voorbeeld: "Van der Vaart" wordt Vandervaart)<br><br>' +
				'<b>1:</b> e/v, koppeltekens (-), spaties en accenten weglaten. Voorbeeld: "Ter-Haar" wordt "Terhaar" Voorbeeld: "José" wordt "Jose", "Zoë" wordt "Zoe"<br>'+
				'<b>2:</b> Afkortingen voluit. Voorbeeld: "v.d." wordt "vande/den/der" etc.<br>'+
				'<b>3:</b> Niet de aangetrouwde naam vermelden. De achternaam van een echtgeno(o)t(e) dient niet vermeld te worden, ook al wordt in het paspoort vermeld "echtgenote/echtgenoot/weduwe/weduwnaar van". Vrouwelijke passagiers dienen dus de meisjesnaam als achternaam in te vullen zonder toevoeging van de aangetrouwde achternaam. Voorbeeld: "Jansen e/v de Vries" wordt "Jansen"'
		);
		YAHOO.vliegtarieven.tooltips.tt2.setFooter('');
		YAHOO.vliegtarieven.tooltips.tt2.cfg.setProperty("context", ["tooltip-achternaam","tooltip-achternaam-1","tooltip-achternaam-2","tooltip-achternaam-3","tooltip-achternaam-4","tooltip-achternaam-5","tooltip-achternaam-6","tooltip-achternaam-7","tooltip-achternaam-8","tooltip-achternaam-9"]);
	}
	if(Dom.get('tooltip-infants')){
		YAHOO.vliegtarieven.tooltips.tt3 = new YAHOO.widget.Tooltip("tt3", ttOptions);
		YAHOO.vliegtarieven.tooltips.tt3.setHeader('');
		YAHOO.vliegtarieven.tooltips.tt3.setBody('Baby: 0 t/m 1 jaar op het moment van vertrek.');
		YAHOO.vliegtarieven.tooltips.tt3.setFooter('');
		YAHOO.vliegtarieven.tooltips.tt3.cfg.setProperty("context", "tooltip-infants");
	}
	
	if(Dom.get('tooltip-childeren')){
		YAHOO.vliegtarieven.tooltips.tt4 = new YAHOO.widget.Tooltip('tt4', ttOptions);
		YAHOO.vliegtarieven.tooltips.tt4.setHeader('');
		YAHOO.vliegtarieven.tooltips.tt4.setBody('Kind: 2 t/m 11 jaar op het moment van vertrek.');
		YAHOO.vliegtarieven.tooltips.tt4.setFooter('');
		YAHOO.vliegtarieven.tooltips.tt4.cfg.setProperty("context", "tooltip-childeren");
	}
		
	if(Dom.get('fotoboek_model')){
		YAHOO.vliegtarieven.tooltips.tt5 = new YAHOO.widget.Tooltip('tt5', ttOptions);
		YAHOO.vliegtarieven.tooltips.tt5.setHeader('');
		Dom.get('fotoboek_model').title = '<p style="font-size:18px; line-height:28px;">Als u boekt bij Vliegtarieven.nl ontvangt u <font style="color:#3069AB; font-size:20px;"><b>GRATIS</b></font><br />'+
'een schitterend fotoboek t.w.v. <font style="color:#3069AB; font-size:20px;"><b>&euro; 16,95!</b></font></p><p> of voor alle andere producten van Binqy.com 25% korting!<br /><br /> U ontvangt na het boeken een email waarin een kortingscode staat vermeld,  hiermee kunt u gratis het fotoboek bestellen.</p><img src="https://www.vliegtarieven.nl/modules/landingspages/images/fotoboek-small.png" style="margin-top:20px;" />';
		YAHOO.vliegtarieven.tooltips.tt5.setFooter('');
		YAHOO.vliegtarieven.tooltips.tt5.cfg.setProperty("context", "fotoboek_model");
	}
	
	if(Dom.get('taalles_model')){
		YAHOO.vliegtarieven.tooltips.tt5 = new YAHOO.widget.Tooltip('tt_taalles', ttOptions);
		YAHOO.vliegtarieven.tooltips.tt5.setHeader('');
		Dom.get('taalles_model').title = '<p style="font-size:18px; line-height:28px;">Als u boekt bij Vliegtarieven.nl ontvangt u een <font style="color:#3069AB; font-size:20px;"><b>GRATIS privé-taalles online</b></font>'+
' via taleninstituut Myngle.com. Kies uit 50 talen en behaal snel resultaat met live online leraren!</p><p>Na het boeken ontvangt u een e-mail met een verwijzing naar uw gratis proefles en uw kortingscode</p><img src="https://www.vliegtarieven.nl/modules/landingspages/images/taalles-small.png" style="margin-top:10px; margin-left:75px;" />';
		YAHOO.vliegtarieven.tooltips.tt5.setFooter('');
		YAHOO.vliegtarieven.tooltips.tt5.cfg.setProperty("context", "taalles_model");
	}
	
		if(Dom.get('´tooltip-reserveringskosten´')){
		YAHOO.vliegtarieven.tooltips.tt6 = new YAHOO.widget.Tooltip('tt6', ttOptions);
		YAHOO.vliegtarieven.tooltips.tt6.setHeader('');
		Dom.get('´tooltip-reserveringskosten´').title = '<p style="font-size:18px; line-height:28px;">Waarom reserveringskosten?</p><p>Vliegtarieven.nl toont de prijzen inclusief alle bijkomende toeslagen van de luchtvaartmaatschappij. Daarnaast rekenen wij reserveringskosten voor het reserveren van de vliegtickets. Deze kosten a 20 euro per persoon worden berekend omdat:<br /><br />- De administratieve afhandeling tijd kost en wij van de luchtvaartmaatschappij geen of zeer lage vergoeding ontvangen<br />- Wij u zo 365 dagen per te woord kunnen staan bij al uw vragen<br />- Wij zo onze service en kwaliteit kunnen waarborgen<br /><br />Door het rekenen van administratiekosten kunnen wij de kwaliteit van onze dienstverlening waarborgen, dit ten goede van de Vliegtarieven.nl klant.</p>';
		YAHOO.vliegtarieven.tooltips.tt6.setFooter('');
		YAHOO.vliegtarieven.tooltips.tt6.cfg.setProperty("context", "´tooltip-reserveringskosten´");
	}
			if(Dom.get('tooltip-tijdschrift')){
		YAHOO.vliegtarieven.tooltips.tt7 = new YAHOO.widget.Tooltip('tt7', ttOptions);
		YAHOO.vliegtarieven.tooltips.tt7.setHeader('');
		Dom.get('tooltip-tijdschrift').title = '<p style="font-size:18px; line-height:28px;">Als u boekt bij Vliegtarieven.nl ontvangt u per persoon een <font style="color:#3069AB; font-size:20px;"><b>gratis tijdschrift</b></font>. U kunt kiezen uit <font style="color:#3069AB; font-size:20px;"><b>HPde Tijd</b></font> of de <font style="color:#3069AB; font-size:20px;"><b>Glossy</b></font> en deze met een voucher ophalen bij alle AKO winkels in Nederland.</p><p>U ontvangt na reservering een servicemail met meer informatie over uw gratis tijdschrift.</p><img src="https://www.vliegtarieven.nl/images/tijdschriften.jpg" style="margin-top:10px; margin-left:25px;" />';
		YAHOO.vliegtarieven.tooltips.tt7.setFooter('');
		YAHOO.vliegtarieven.tooltips.tt7.cfg.setProperty("context", "tooltip-tijdschrift");
	}
};

YAHOO.util.Event.onDOMReady(YAHOO.vliegtarieven.tooltips.init);

/* Einde YUI tooltip */
/* Start stap 3 form processing */
var setFormCookie = function(){
	var formData = new Array();
	var root = YAHOO.util.Dom.getElementsByClassName("formulier");
	var inputElements = YAHOO.util.Dom.getElementsBy(function(){return true;},'input',root[0]);
	var selectElements = YAHOO.util.Dom.getElementsBy(function(){return true;},'select',root[0]);
	for(i=0;i<inputElements.length;i++){
		switch(inputElements[i].type){
		case "hidden":
			break;
		case "text":
			formData.push(new Array(inputElements[i].name,inputElements[i].type,inputElements[i].value));
			break;
		case "radio":
			
			if(inputElements[i].checked){
				
				formData.push(new Array(inputElements[i].name,inputElements[i].type,inputElements[i].value));
			}
			break;
		case "checkbox":
			if(inputElements[i].checked){
				formData.push(new Array(inputElements[i].name,inputElements[i].type,inputElements[i].value));
			}
			break;
		}		
	}
	for(i=0;i<selectElements.length;i++){
		formData.push(Array(selectElements[i].name,'select',selectElements[i].selectedIndex));
	}
	var now = new Date();
	var expireDate = new Date();
	var min = now.getMinutes() + "";
	if(min.length == 1){
		min = "0" + min;
	}
	var expire = expireDate.setDate(expireDate.getDate()+10);
	//YAHOO.util.Cookie.set("stap3Form" ,"",{expires: new Date("January 12, 2025")});
	YAHOO.util.Cookie.setSub("stap3Form","date",(now.getDate()+"-"+(now.getMonth()+1)+"-"+now.getFullYear()+ " "+now.getHours()+":"+min ),{expires: new Date(expire)});
	YAHOO.util.Cookie.setSub("stap3Form","data",YAHOO.lang.JSON.stringify(formData),{expires: new Date(expire)});
};


YAHOO.namespace("vliegtarieven.stap3");
var checkOldData = function(){
	
	if(YAHOO.util.Cookie.get("stap3Form")){
		var handleYes = function() {
			var root = YAHOO.util.Dom.getElementsByClassName("formulier");
			var inputElements = YAHOO.util.Dom.getElementsBy(function(){return true;},'input',root[0]);
			var selectElements = YAHOO.util.Dom.getElementsBy(function(){return true;},'select',root[0]);
			var formData = YAHOO.lang.JSON.parse(YAHOO.util.Cookie.getSub("stap3Form","data"));
			for(i=0;i<formData.length;i++){
				if(formData[i]){
					switch(formData[i][1]){
					case "hidden":
						break;
					case "text":
						els = document.getElementsByName(formData[i][0]);
						if(els.length > 0){
							el = els[0];
							if(el.type == "text"){
								el.value = formData[i][2];
								el.onblur();
							}
						}					
						break;
					case "radio":
					case "checkbox":						
						if(formData[i]){
							radioElements = document.getElementsByName(formData[i][0]);	
							if(radioElements.length > 0){
								for(ii=0;ii<radioElements.length;ii++){
									if(radioElements[ii].type == "radio" || radioElements[ii].type == "checkbox"){
										if(radioElements[ii].value == formData[i][2]){
											radioElements[ii].click();
										}
									}
								}
							}
						}
						break;
					case "select":
						els = document.getElementsByName(formData[i][0]);				
						if(els.length > 0){
							el = els[0];
							if(el.type != "text" && el.type != "hidden"){
								el.selectedIndex = formData[i][2];
								el.onblur();
							}
						}
						break;
					}
				}
			}
			var t = setInterval(setFormCookie, 3000);
			this.hide();
		};
		var handleNo = function() {
			var t = setInterval(setFormCookie, 3000);
			this.hide();
		};
		if(Dom.get('old_data_dialog')&& Dom.get('DOB1_year')){	// kijken of we wel op stap3 zitten
		// Instantiate the Dialog
			YAHOO.vliegtarieven.stap3.simpledialog1 = new YAHOO.widget.SimpleDialog("simpledialog1", 
																 { width: "300px",
																   fixedcenter: true,
																   visible: true,
																   draggable: false,
																   close: false,
																   modal: true,
																	  underlay :'shadow',
																   text: "Wilt u de gegevens die op " + YAHOO.util.Cookie.getSub("stap3Form","date") + " ingevoerd zijn hergebruiken?",
																   icon: YAHOO.widget.SimpleDialog.ICON_HELP,
																   constraintoviewport: true,
																   buttons: [ { text:"Ja", handler:handleYes, isDefault:true },
																			  { text:"Nee",  handler:handleNo } ]
																 } );
			YAHOO.vliegtarieven.stap3.simpledialog1.setHeader("Er zijn oude gegevens gevonden");
			
			// Render the Dialog
			YAHOO.vliegtarieven.stap3.simpledialog1.render("old_data_dialog");
		}
		
	}else{
		var t = setInterval(setFormCookie, 3000);
	}	
};


//YAHOO.util.Event.onDOMReady(checkOldData);
/* einde stap 3 form processing */

/* start zoek opnieuw */

YAHOO.util.Event.onDOMReady(function(){
	if(Dom.get('opnieuw-zoeken-button')){
		var attributes = {color :{to : '#3069AB'},backgroundColor: { to: '#C2E036' } }; 
		var searchAgainBtnAnim = new YAHOO.util.ColorAnim('opnieuw-zoeken-button',attributes ); 
		var highlightSearchAgainBtn = function(){
			searchAgainBtnAnim.animate();
			Dom.setStyle('opnieuw-zoeken-button','backgroundPosition','0px -30px');
		};
		YAHOO.util.Event.on('short_autocomplete_vertrek1', "blur", highlightSearchAgainBtn);
		YAHOO.util.Event.on('short_autocomplete_bestemming1', "blur", highlightSearchAgainBtn);
		YAHOO.util.Event.on('short_vertrek_date', "blur", highlightSearchAgainBtn);
		YAHOO.util.Event.on('short_vertrek_min', "click", highlightSearchAgainBtn);
		YAHOO.util.Event.on('short_vertrek_plus', "click", highlightSearchAgainBtn);
		YAHOO.util.Event.on('short_terug_date', "blur", highlightSearchAgainBtn);
		YAHOO.util.Event.on('short_terug_min', "click", highlightSearchAgainBtn);
		YAHOO.util.Event.on('short_terug_plus', "click", highlightSearchAgainBtn);
		YAHOO.util.Event.on('adults-button', "click", highlightSearchAgainBtn);
		YAHOO.util.Event.on('children-button', "click", highlightSearchAgainBtn);
		YAHOO.util.Event.on('infants-button', "click", highlightSearchAgainBtn);
	}
});

// login function
YAHOO.util.Event.onDOMReady(function(){
	var div = YAHOO.util.Dom.get('mijn_link');

	var handleSuccess = function(o) {
		if (o.responseText != undefined) {
			div.innerHTML = o.responseText;
		}
	};

	var handleFailure = function(o) {
		//div.innerHTML = o.responseText;

	};

	var callback = {
		success : handleSuccess,
		failure : handleFailure
	};
	
	if(div){
		gebruiker = YAHOO.util.Cookie.get('gebruiker[uid]');
		if(gebruiker){
			var sUrl = 'https://boeking.vliegtarieven.nl/holidays/travelagents/montys/bookxpress/Montys_Ajax_Template.cfm?action=login&id=' + gebruiker;
			var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
		}
	}
});


/* einde zoek opnieuw */

function scrapeCheapestFlight()
{
	if(Dom.get('nr_infants').value == '0'){
		depDate = LocaleDateStringToDate(YAHOO.util.Dom.get('vertrek_date').value).getTime();
		desDate = LocaleDateStringToDate(YAHOO.util.Dom.get('terug_date').value).getTime();
		dep = document.getElementsByName("DEP_APCODE");
		dep = dep[0].value;
		des = document.getElementsByName("DES_APCODE");
		des = des[0].value;
		airline = FFS_flight[0].airline;
		price = (parseFloat(FFS_flight[0].price) / (parseFloat(YAHOO.util.Dom.get('nr_adults').value) + parseFloat(YAHOO.util.Dom.get('nr_children').value)));
		
		var uv = document.createElement('script'); uv.type = 'text/javascript'; uv.async = true;
		uv.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'www.vliegtarieven.nl/public/tracking/flight_scraper.php' + "?depdate=" + (depDate/1000) + "&retourdate=" + (desDate/1000) + "&airline=" + airline + "&dep=" + dep + "&des=" + des + "&price=" +price;
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(uv, s);	
	}
}
YAHOO.util.Event.onDOMReady(function(){scrapeCheapestFlight();});
