var _page = 0;
var _sort = 0;
var _totaal;
var _history;
var mCal;
var toggle_hotel;
var toggle_vp;
var is_toggled_hotel;
var is_toggled_vp;
var cal_toggled = 'hide';
var cal2_toggled = 'hide';
var cal3_toggled = 'hide';
var _huisid;
var _vpid;
var _nr;
var _van;
var _tot;
var _cal_date;
var geo;
var swfobject; 
var _current_url;
var zat_zat;
var start = microtime(true);
var prijs_requests = new Array();

function cal_click(date) 
{
	$('aankomst_day').set('value', mCal.getFormatedDate("%e", date));
	$('aankomst_month').set('value', mCal.getFormatedDate("%c", date));
	$('aankomst_year').set('value', mCal.getFormatedDate("%Y", date));
	date = mCal.getFormatedDate("%d-%m-%Y", date);
	$('aankomst').value = date;
	cal_toggle();
	new Request({url:url,
		data: {
			zoek_ajax_function: 'load_2nd_cal',
			date: date
		},
		onComplete: calAfterClick
	}).send();
}
function cal_click3(date) 
{
	$('aankomst_day3').set('value', mCal3.getFormatedDate("%e", date));
	$('aankomst_month3').set('value', mCal3.getFormatedDate("%c", date));
	$('aankomst_year3').set('value', mCal3.getFormatedDate("%Y", date));
	date = mCal.getFormatedDate("%d-%m-%Y", date);
	$('aankomst3').value = date;
	cal_toggle3();
	new Request({url:url,
		data: {
			zoek_ajax_function: 'load_2nd_cal',
			date: date
		},
		onComplete: calAfterClick3
	}).send();
}
function microtime (get_as_float) {
    var now = new Date().getTime() / 1000;
    var s = parseInt(now, 10); 
    return (get_as_float) ? now : (Math.round((now - s) * 1000) / 1000) + ' ' + s;
}
function updateDate()
{
	if($('aankomst_year') == null || $('aankomst') == null) return;
	var month 	= ($('aankomst_month').get('value') < 10 ? "0" : "") + $('aankomst_month').get('value');
	var day		= ($('aankomst_day').get('value') < 10 ? "0" : "") + $('aankomst_day').get('value');
	var year	= $('aankomst_year').get('value');
	var date =  year + '-' + month + '-' + day;
	
	$('aankomst').set('value', date);
	mCal.setDate(month+'/'+day+'/'+year);
	
	new Request({url:url,
		data: {
			zoek_ajax_function: 'load_2nd_cal',
			date: day+'-'+month+'-'+year
		},
		onComplete: calAfterClick
	}).send();
}
function updateDate3()
{
	if($('aankomst_year3') == null || $('aankomst3') == null) return;
	var month 	= ($('aankomst_month3').get('value') < 10 ? "0" : "") + $('aankomst_month3').get('value');
	var day		= ($('aankomst_day3').get('value') < 10 ? "0" : "") + $('aankomst_day3').get('value');
	var year	= $('aankomst_year3').get('value');
	var date =  year + '-' + month + '-' + day;
	
	$('aankomst3').set('value', date);
	mCal.setDate(month+'/'+day+'/'+year);
	
	new Request({url:url,
		data: {
			zoek_ajax_function: 'load_2nd_cal',
			date: day+'-'+month+'-'+year
		},
		onComplete: calAfterClick3
	}).send();
}

function calAfterClick(response)
{
	var selected = $('vertrek').selectedIndex;
	$('vertrek').options.length = 0;
	var optGroups = $('vertrek').getChildren();
	var result = JSON.decode(response);
	var day = 1;
	for(var i = 0; i < result.length; i++)
	{
		var option = document.createElement("option");
		option.value = result[i].value;
		option.innerHTML = result[i].naam;
		
		optGroups[(Math.ceil(day/7))-1].appendChild( option );
		day++;
	}
	$('vertrek').selectedIndex = selected;
}
function calAfterClick3(response)
{
	var selected = $('vertrek3').selectedIndex;
	$('vertrek3').options.length = 0;
	var optGroups = $('vertrek3').getChildren();
	var result = JSON.decode(response);
	var day = 1;
	for(var i = 0; i < result.length; i++)
	{
		var option = document.createElement("option");
		option.value = result[i].value;
		option.innerHTML = result[i].naam;
		
		optGroups[(Math.ceil(day/7))-1].appendChild( option );
		day++;
	}
	$('vertrek3').selectedIndex = selected;
	$('vertrek3').fireEvent('change');
}

function cal_click2(date)
{
	//for(var i=0; i)
	$('vertrek').value = mCal2.getFormatedDate("%d-%m-%Y", date)
	cal_toggle2();
	
}

function cal_toggle()
{
	cal_toggled = (cal_toggled == 'hide' ? 'show' : 'hide');
	if(cal_toggled == 'show')
	{
		mCal.show();
		$('vertrek').setStyle('display', 'none');
		//$('cal_toggle').removeClass('cal_down').addClass('cal_up');
	} else
	{
		mCal.hide();
		$('vertrek').setStyle('display', '');
		//$('cal_toggle').removeClass('cal_up').addClass('cal_down');
	}
}


function cal_toggle2()
{
	cal2_toggled = (cal2_toggled == 'hide' ? 'show' : 'hide');
	if(cal2_toggled == 'show')
	{
		mCal2.show();
		//$('cal_toggle').removeClass('cal_down').addClass('cal_up');
	} else
	{
		mCal2.hide();
		//$('cal_toggle').removeClass('cal_up').addClass('cal_down');
	}
}
function cal_toggle3()
{
	cal3_toggled = (cal3_toggled == 'hide' ? 'show' : 'hide');
	if(cal3_toggled == 'show')
	{
		mCal3.show();
		$('vertrek3').setStyle('display', 'none');
		//$('cal_toggle').removeClass('cal_down').addClass('cal_up');
	} else
	{
		mCal3.hide();
		$('vertrek3').setStyle('display', '');
		//$('cal_toggle').removeClass('cal_up').addClass('cal_down');
	}
}
function fillGebied(response)
{
	alert('resp: '+response);
}

function flashMouseOver(regioId)
{
	$$('#homeRegions .homeRegio').removeClass('hover');
	$('regio_'+regioId).addClass('hover');
}
function flashMouseOut(regioId)
{
	$('regio_'+regioId).removeClass('hover');
}
function flashMouseClick(regioId)
{
	$$('#homeRegions a').removeClass('selected').removeClass('hover');
	$('regio_'+regioId).addClass('selected');

	$$('#homeRegionsText .regioText').setStyle('display', 'none');
	$('regioText_'+regioId).setStyle('display', '');

}
function setRegioIdFromFlash(regioid)
{
	if(regioid == 0)
	{
		$('gebied').set('value', '');
	} else
	{
		$('gebied').set('value', regioid);
	}
}
window.addEvent('load', function(){
	//if(debug) alert( (microtime(true) - start) + " sec before load");
	if($('header')!=null)
	{
		var flashvars 	= {};
		var params 		= {"wmode": "transparent"};
		var attributes	= {};
		if(site == 'noordjutland')
		{
			swfobject.embedSWF("http://images.dfb.nl/templates/njutland/swf/noord-jutland-header.swf", "header", "702", "330", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes); 
		} else if(site == 'oostdenemarken') 
		{
			swfobject.embedSWF("http://images.dfb.nl/templates/oostdk/swf/oostdk-header.swf", "header", "702", "330", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes); 
		} else if(site == 'beleefdenemarken') 
		{
			swfobject.embedSWF("http://images.dfb.nl/templates/beleef/swf/beleef - header.swf", "header", "702", "330", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes); 
		} else if(site == 'skallerup') 

		{
			swfobject.embedSWF("http://images.dfb.nl/templates/skallerup/swf/skallerup - header.swf", "header", "690", "350", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes); 
		} else {
			swfobject.embedSWF("http://www.dfb.nl/templates/swf/home_header4.swf", "header", "680", "176", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes);
		}
	}
	if($('homeRegionFlash')!=null)
	{
		var obj = new Swiff('http://www.dfb.nl/templates/swf/dk2.swf', {
			id: 'dk2_swf',
			width: 470,
			height: 340,
			params: {
				wmode: 'transparent'
			},
			vars: {
			}
		}).inject($('homeRegionFlash'));
		
		$$('#homeRegions .homeRegion').each(function(el){
			el.addEvent('mouseover', function(){
				var id = this.get('id').replace('regio_', '');
				$('dk2_swf').mouseOverRegion(id);
			});
			el.addEvent('mouseout', function(){
				var id = this.get('id').replace('regio_', '');
				$('dk2_swf').mouseOutRegion(id);
			});
			el.addEvent('click', function(){
				var id = this.get('id').replace('regio_', '');
				$('dk2_swf').mouseClickRegion(id);
				
				$$('#homeRegions .homeRegion').removeClass('selected');
				this.addClass('selected');
				
				$$('#homeRegionsText .regioText').setStyle('display', 'none');
				$('regioText_'+id).setStyle('display', '');
			});
		});
	}
	if($('animated_flower')!=null)
	{
		var flashvars 	= {};
		var params 		= {"wmode": "transparent"};
		var attributes	= {};
		swfobject.embedSWF("http://images.dfb.nl/templates/swf/header_flower.swf", "animated_flower", "690", "176", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes); 
	}
	if($('sea_ster')!=null)
	{
		var flashvars 	= {};
		var params 		= {"wmode": "transparent"};
		var attributes	= {};
		swfobject.embedSWF("http://images.dfb.nl/templates/swf/sea_ster.swf", "sea_ster", "130", "130", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes);  
	}
	if($('flash_animatie_legoland')!=null)
	{
		var flashvars 	= {};
		var params 		= {"wmode": "transparent"};
		var attributes	= {};
		swfobject.embedSWF("http://images.dfb.nl/templates/swf/lego - home.swf", "flash_animatie_legoland", "250", "250", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes); 
	}
	if($('kaart_color')!=null && (site == "dfb" || site == "beleefdenemarken"))
	{
		$('gebied').addEvent('change', function(){
			if($('land').get('value').toInt() > 1) return;
			$('kaart_color_swf').setRegion(get_gebied_name(this.value)); 
		});
		$('land').addEvent('change', function(){
			$('kaart_color').setStyle('display', (this.value == '1' ? '' : 'none'));
			$('kaart_descr').setStyle('display', (this.value == '1' ? '' : 'none'));
			$('kaart_fill').setStyle('display', (this.value == '1' ? 'none' : ''));
			
			$('gebied').options.length = 0;
			$('gebied').options[0] = new Option( 'gebieden laden...', '');
			new Request({
				url: '/index/ajax',
				data: {
					'ajax_function': 'zoek_gebied',
					'landid': ($('land') == null ? 1 : $('land').get('value'))
				}, onComplete: function(r){				
					if(r == null) return;
					var _options = JSON.decode(r);
					$('gebied').options.length = 0;
					if($('land') != null) 
						$('gebied').options[0] = new Option( $('land').options[$('land').options.selectedIndex].text, '');
					for(var i=0; i<_options.length; i++)
					{
						$('gebied').options[i+1] = new Option(_options[i].naam, _options[i].id);
					}
					if(firstEvent)
					{
						firstEvent = false;
						$('gebied').set('value', firstSelected);	
					}
				}
			}).send();
		});
		//$('land').fireEvent('change');
		
		var obj = new Swiff('http://www.dfb.nl/templates/swf/kaart_small_color.swf', {
			id: 'kaart_color_swf',
			width: 270,
			height: 340,
			params: {
				wmode: 'transparent'
			},
			vars: {
				gebied: get_gebied_name($('gebied').get('value'))
			}
		}).inject($('kaart_color'));
	}
	if($('kaart_grey')!=null && (site == "dfb" || site == "hotelsdenemarken" || site == "beleefdenemarken" || site == 'best'))
	{
		if($('land').get('value').toInt() > 1)
		{
			var flashvars 	= {gebied: $('gebied').get('value') };
		} else
		{
			var flashvars 	= {gebied: get_gebied_name($('gebied').get('value')) };
		}
		var params 		= {"wmode": "transparent", OnReadyStateChange: changeRegio};
		var attributes	= {"id": "kaart_grey", "name": "kaart_grey"}; 
		swfobject.embedSWF("http://www.dfb.nl/templates/swf/kaart_small_grey.swf", "kaart_grey", "135", "180", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes);
		
		$('gebied').addEvent('change', function(){
			try{
				if($('land').get('value').toInt() > 1)
				{
					$('kaart_grey').setRegion(this.value);
				} else
				{
					$('kaart_grey').setRegion(get_gebied_name(this.value));
				}
			} catch(e){}
		});
		$('land').addEvent('change', function(){
//			$('kaart_grey_container').setStyle('display', (this.value == '1' ? '' : 'none'));
			switch( $('land').get('value').toInt() )
			{
				case 1:
					$('kaart_grey_container').setStyle('display', '');
					swfobject.embedSWF("http://www.dfb.nl/templates/swf/kaart_small_grey.swf", "kaart_grey", "135", "180", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes);
					break;
				
				case 2:
					$('kaart_grey_container').setStyle('display', '');
					swfobject.embedSWF("http://www.dfb.nl/templates/swf/kaart_noorwegen_grey.swf", "kaart_grey", "135", "180", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes);
					break;
				
				case 3:
					$('kaart_grey_container').setStyle('display', '');
					swfobject.embedSWF("http://www.dfb.nl/templates/swf/kaart_zweden_grey.swf", "kaart_grey", "135", "180", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes);
					break;
				
				case 4:
					$('kaart_grey_container').setStyle('display', '');
					swfobject.embedSWF("http://www.dfb.nl/templates/swf/kaart_germany_grey.swf", "kaart_grey", "135", "180", "9.0.0", "/templates/swf/expressInstall.swf", flashvars, params, attributes);
					break;
				
				default:
					$('kaart_grey_container').setStyle('display', 'none');
			}
				
			$('gebied').options.length = 0;
			$('gebied').options[0] = new Option( 'gebieden laden...', '');
			new Request({
				url: '/index/ajax',
				data: {
					'ajax_function': 'zoek_gebied',
					'landid': $('land').get('value')
				}, onComplete: function(r){				
					if(r == null) return;
					var _options = JSON.decode(r);
					$('gebied').options.length = 0;
					if($('land').options != null)
						$('gebied').options[0] = new Option( $('land').options[$('land').options.selectedIndex].text, '');
					else
						$('gebied').options[0] = new Option( 'Denemarken', '');
					for(var i=0; i<_options.length; i++)
					{
						$('gebied').options[i+1] = new Option(_options[i].naam, _options[i].id);
					}
					if(firstEvent)
					{
						firstEvent = false;
						$('gebied').set('value', firstSelected);	
					}
				}
			}).send();
			
			
		});
		var firstEvent = true;
		var firstSelected = $('gebied').get('value');
		//if(site != 'best')
		//	$('land').fireEvent('change');
	}
	
	if($('dhtmlxCalendar')!=null)
	{
		mCal = new dhtmlxCalendarObject('dhtmlxCalendar');
		mCal.attachEvent('onClick', cal_click);
		mCal.setDate(_cal_date);
		
		
		if (mCal.disableIESelectFix) {
		  mCal.disableIESelectFix (true);
		} 
		  
		mCal.hide();
		$('cal_close').setStyle('display', '');
		
		if($('vertrek') != null)
		{
			$('vertrek').addEvent('change', function(){
				Locale.use("nl-NL");
				var aankomst = new Date.parse($('aankomst').get('value'));	
				var diff = aankomst.diff( new Date.parse($('vertrek').get('value')));
				var nr_weeks = Math.ceil(diff/7);
				var sel = $('prijs').selectedIndex;
				$('prijs').options.length = 1;
				$('prijs').options[1] = new Option("tot €"+(200*nr_weeks), 2);
				$('prijs').options[2] = new Option("tot €"+(300*nr_weeks), 3);
				$('prijs').options[3] = new Option("tot €"+(400*nr_weeks), 4);
				$('prijs').options[4] = new Option("tot €"+(600*nr_weeks), 6);
				$('prijs').options[5] = new Option("tot €"+(800*nr_weeks), 8);
				$('prijs').options[6] = new Option("tot €"+(1000*nr_weeks), 10);
				$('prijs').options[7] = new Option("tot €"+(1500*nr_weeks), 15);
				$('prijs').options[8] = new Option("meer dan €"+(1500*nr_weeks), 16);
				$('prijs').selectedIndex = sel;
			});	
		}
	}
	
	if($('dhtmlxCalendar3')!=null)
	{
		mCal3 = new dhtmlxCalendarObject('dhtmlxCalendar3');
		mCal3.attachEvent('onClick', cal_click3);
		mCal3.setDate(_cal_date3);
		
		
		if (mCal3.disableIESelectFix) {
		  mCal3.disableIESelectFix (true);
		} 
		  
		mCal3.hide();
		$('cal_close3').setStyle('display', '');
		
		if($('vertrek') != null && false)
		{
			$('vertrek').addEvent('change', function(){
				Locale.use("nl-NL");
				var aankomst = new Date.parse($('aankomst').get('value'));	
				var diff = aankomst.diff( new Date.parse($('vertrek').get('value')));
				var nr_weeks = Math.ceil(diff/7);
				var sel = $('prijs').selectedIndex;
				$('prijs').options.length = 1;
				$('prijs').options[1] = new Option("tot €"+(200*nr_weeks), 2);
				$('prijs').options[2] = new Option("tot €"+(300*nr_weeks), 3);
				$('prijs').options[3] = new Option("tot €"+(400*nr_weeks), 4);
				$('prijs').options[4] = new Option("tot €"+(600*nr_weeks), 6);
				$('prijs').options[5] = new Option("tot €"+(800*nr_weeks), 8);
				$('prijs').options[6] = new Option("tot €"+(1000*nr_weeks), 10);
				$('prijs').options[7] = new Option("tot €"+(1500*nr_weeks), 15);
				$('prijs').options[8] = new Option("meer dan €"+(1500*nr_weeks), 16);
				$('prijs').selectedIndex = sel;
			});	
		}
	}
	
	
});	

function flashLoaded()
{
	changeRegio()
}

function changeRegio(){
	$('gebied').fireEvent('change');
}

function minivakantie(mini)
{
	$('prijzen_vertrekdata').set('html', "<center><img src='/images/loading.gif'></center>");
	new Request.HTML({
		url:url,
		update: 'prijzen_vertrekdata',
		data: {
			ajax_function: 'get_vertrekdata',
			minivakantie: mini,
			dag: kalender_prijzen.dag,
			maand: kalender_prijzen.maand,
			jaar: kalender_prijzen.jaar
		}
	}).send();
}

var timerContentBanner;
var currentBanner = 1;
window.addEvent("domready", function(){
	//url = url.replace('&amp;', '&');
	
	init_click();
	
	if($('resultaat_outer') != null )
	{
		prev_next_init();
		_history = HistoryManager.register(
			"page", 
			[0], 
			function(values){
				_page = values[0];
				update_search_results();
			},
			function(values){
				return 'page('+ values[0]+ ')';
			},
			'page\\((\\d+)\\)'
		);
		_history = HistoryManager.register(
			"sort", 
			[0], 
			function(values){
				_sort = values[0];
				update_search_results();
			},
			function(values){
				return 'sort('+ values[0]+ ')';
			},
			'sort\\((\\d+)\\)'
		);
		HistoryManager.start();
	}
	
	$$('#jstabs li').each(function(el){
		if(el == el.getParent().getFirst()) el.set('first', true);
		var div = $(el.getFirst().get('href').replace('#', ''))
			.addClass('tab-hide')
			.addClass('tab-content');
		if(el.get('first')) {
			div.removeClass('tab-hide');
			el.addClass('current');
		}
		el.addEvent('click', function(){
			this.getParent().getChildren().removeClass('current');
			this.addClass('current');
			$$('.tab-content').addClass('tab-hide');
			$(this.getFirst().get('href').replace('#', '')).removeClass('tab-hide');
			return false;
		});
	});
	
	if($('seo_ster') != null)
	{
		var fx = new Fx.Tween($('seo_ster'), {duration: 3000, transition: Fx.Transitions.Elastic.easeOut});
		fx.start('margin-left', -2000, -20);
	}
	
	if($('contentBanner') != null)
	{
		timerContentBanner = fadeContentBanner.periodical(5000);
	}
	
	if($('nav')!=null)
	{
		$$('#nav li').addEvent('mouseenter', function(li){
			this.addClass('over');
		});
		$$('#nav li').addEvent('mouseleave', function(li){
			this.removeClass('over');
		});
	}
	
	$$('.legoprijzen').addEvent('mouseover', function(){
		$('legoprijzen').setStyle('display', ($('legoprijzen').getStyle('display') == 'none' ? '' : 'none') );
		var coor = this.getCoordinates();
		$('legoprijzen').setStyles({'top': coor.top, 'left': coor.left});
	});
	$$('.legoprijzen').addEvent('mouseout', function(){
		$('legoprijzen').setStyle('display', 'none');
	});
	
	$$('.legohotelprijzen').addEvent('mouseover', function(){
		$('legohotelprijzen').setStyle('display', ($('legohotelprijzen').getStyle('display') == 'none' ? '' : 'none') );
		var coor = this.getCoordinates();
		$('legohotelprijzen').setStyles({'top': coor.top, 'left': coor.left});
	});
	$$('.legohotelprijzen').addEvent('mouseout', function(){
		$('legohotelprijzen').setStyle('display', 'none');
	});
	
	$$('.legolalandiaprijzen').addEvent('mouseover', function(){
		$('legolalandiaprijzen').setStyle('display', ($('legolalandiaprijzen').getStyle('display') == 'none' ? '' : 'none') );
		var coor = this.getCoordinates();
		$('legolalandiaprijzen').setStyles({'top': coor.top, 'left': coor.left});
	});
	$$('.legolalandiaprijzen').addEvent('mouseout', function(){
		$('legolalandiaprijzen').setStyle('display', 'none');
	});
	
	$$('.dancenter_lego').addEvent('mouseover', function(){
		$('dancenter_lego').setStyle('display', ($('dancenter_lego').getStyle('display') == 'none' ? '' : 'none') );
		var coor = this.getCoordinates();
		$('dancenter_lego').setStyles({'top': coor.top, 'left': coor.left});
	});
	$$('.dancenter_lego').addEvent('mouseout', function(){
		$('dancenter_lego').setStyle('display', 'none');
	});
	
	$$('.novasol_lego').addEvent('mouseover', function(){
		$('novasol_lego').setStyle('display', ($('novasol_lego').getStyle('display') == 'none' ? '' : 'none') );
		var coor = this.getCoordinates();
		$('novasol_lego').setStyles({'top': coor.top, 'left': coor.left});
	});
	$$('.novasol_lego').addEvent('mouseout', function(){
		$('novasol_lego').setStyle('display', 'none');
	});
	
	if($('aankomst_day') != null)
	{
		$('aankomst_day').addEvent('change', updateDate);
		$('aankomst_month').addEvent('change', updateDate);
		if($('aankomst_year') != null) $('aankomst_year').addEvent('change', updateDate);
	}
	if($('aankomst_day3') != null)
	{
		$('aankomst_day3').addEvent('change', updateDate3);
		$('aankomst_month3').addEvent('change', updateDate3);
		$('aankomst_year3').addEvent('change', updateDate3);
	}
	if($('layer') != null)
	{
		$('layer').setStyles({
			width: window.getWidth(),
			height: window.getScrollHeight(),
			opacity: .7
		});
		$('layer').addEvent('click', function(){
			$('layer_top').setStyle('display', 'none');
			$('layer').setStyle('display', 'none');
		});
	}
		
	add_rr_events();
	if($('update_prijzen') != null)
	{
		$('update_prijzen').addEvent('submit', function(e){
			e = new Event(e).stop();
			update_rr_prijzen();
		});
	}
	
	$$('#zoeken .btn').each(function(el){
		if(!el.hasClass("selected")){
			el.setStyle("opacity", .7);
		}
		el.addEvent("mouseover", function(){
			this.setStyle("opacity", 1);
		});
		el.addEvent("mouseout", function(){
			if(this.hasClass("selected"))return;
			this.setStyle("opacity", .7);
		});
		el.addEvent("click", function(){
			$$("#zoeken .btn").each(function(btn){
				btn.removeClass("selected");
				btn.setStyle("opacity", .7);
			});
			this.addClass("selected");
			this.setStyle("opacity", 1);
			$('soort').value = this.title;
			
			if(this.title == 'hotel')
			{
				toggle_vp.start(0);
				is_toggled_vp = false;
			} else
			{
				toggle_hotel.start(0);
				is_toggled_hotel = false;
			}
		});
	});
	
	$$("#vw_tabs li").each(function(el){
		el.addEvent("mouseover", function(){
			this.addClass('hover');
		});
		el.addEvent("mouseout", function(){
			this.removeClass("hover");
		});
		el.addEvent("click", function(){
			if(this.hasClass('boeken')) {
				this.addClass("selected");
				return true;
			}
			
			$$("#vw_tabs li").each(function(tab){
				tab.removeClass("selected");
				if($(tab.id.replace('tab', 'content'))!= null)
				{
					$(tab.id.replace('tab', 'content')).removeClass('selected');
				}
			});
			this.addClass("selected");
			$(this.id.replace('tab', 'content')).addClass('selected');
			if(this.id == 'tab7')
			{
				google_load();				
			}
			if(this.id == 'tab5')
			{
				if(jsGet('form') == null)
				{
					var loc = location.href.replace('http://www.dfb.nl','') + '?form=0';
					pageTracker._initData();
					pageTracker._trackPageview(loc);
				}
			}
		});
	});
	
	if($('mainpic')!=null)
	{
		$('mainpic').addEvent("load", function(){
			if($("mainpic").width > 629)
			{
				$("mainpic").setStyle("width", 629);
			}
		});
	}
	
	$$('input.bestel').each(function(el){
		if(el.value == '') el.addClass('nofocus');
		if(el.value=='')el.value = el.name;
		el.addEvent('focus', function(){
			el.removeClass('nofocus');
			el.removeClass('error');
			if(this.name == this.value)
			{
				this.value = '';
			}
		});
		el.addEvent('blur', function(){
			if(this.value == '')
			{
				el.addClass('nofocus');
				this.value = this.name;
			}
		});
	});
	$$('.faciliteit').each(function(el){
		//if(!el.hasClass('selected')) el.setStyle('opacity', .6);
		
		el.addEvent('mouseover', function(){
			this.addClass('hover');
		});
		
		el.addEvent('mouseout', function(){
			this.removeClass('hover');
		});
		
		el.addEvent('click', function(){
			this.toggleClass('selected');
			if(this.hasClass('selected'))
			{
				//this.setStyle('opacity', 1);
				$(this.id.replace('faciliteit', 'input')).value = this.title;
			} else
			{
				//this.setStyle('opacity', .6);
				$(this.id.replace('faciliteit', 'input')).value = '';
			}
		});
	});
	
	$$('.is_hover').each(function(el){
		el.addEvent('mouseover', function(){
			this.addClass('hover');
		});
		el.addEvent('mouseout', function(){
			this.removeClass('hover');
		});
	});
	
	get_live_prijzen();
	
	if($('q') != null)
	{
		$('q').addEvent('focus', function(){
			this.addClass('focussed');
			if(this.value == 'zoeken...') this.value = '';
		});
		$('q').addEvent('keypress', function(key){
			if(key.code == 13)
				this.form.submit();
		});
		if($('qsubmit') != null)
		{
			$('qsubmit').addEvent('mouseover', function(){
				if(debug) alert('click');
			});
		}
	}
	
	if($('input_plaats') != null)
	{
		$('input_plaats').addEvent('focus', function(){
			this.addClass('focussed');
			if(this.value == 'plaats...' || this.get('value') == 'niet belangrijk') this.value = '';
		});
		new Autocompleter.Ajax.Json($('input_plaats'), url, {
			'maxChoices': 1000,
			'postVar': 'zoekplaats',
			'postData': {
				'zoek_ajax_function': 'zoekplaats',
				'regioid': $('gebied').get('value'),
				'landid': $('land').get('value')
			}, 
			onRequest: function(el, req, data, query){
				data.regioid = $('gebied').get('value');
			}, 
			onSelection: function(el){
				el.form.submit();
			}
		});
	}
	
	var fp = $$('.checkbox.fp');
	fp.each(function(el){
		el.addEvent('click', function(){
			var count = 0;
			fp.each(function(item){
				if(item.checked) count++;
			});
			if(count > 4)
			{
				alert("je mag maar 4 gidsen van feriepartner bestellen");
				this.checked = false;
			}
		});
	});
	
	var anders = $$('.anders');
	anders.each(function(el){
		// no display for tr
		$(el.id).getParent().getParent().setStyle('display', 'none');
	});
	
	$$('.formselect').each(function(el){
		el.addEvent('change', function(){
			if(this.value == "Anders" || this.value == "anders" || this.value == " Anders" || this.value == " anders" || this.value == "Anders, namelijk...")
			{
				anders.each(function(sel){
					// display for tr
					$(sel.id).getParent().getParent().setStyle('display', '');
				});
			} else
			{
				anders.each(function(sel){
					// no display for tr
					$(sel.id).getParent().getParent().setStyle('display', 'none');
				});
				
			}
		});
	});
	
	if($('reisgezelschap') != null)
	{
		$('reisgezelschap').addEvent('change', function(){
			if(this.get('value') == 'Anders, namelijk:')
			{
				$('tr_anders').setStyle('display', '');
			} else
			{
				$('tr_anders').setStyle('display', 'none');
			}
		});	
	}
	
	if($('tab_kaart') != null)
	{
		$('tab_kaart').addEvent('click', function(){
			$('tab_list').removeClass('selected');
			this.addClass('selected');
			$('resultaat_outer').setStyle('display', 'none');
			//$('result_bottom').setStyle('display', 'none');
			
			$('maps').setStyle('display', '');
			$('show').set('value', 'kaart');
			google_load();
		});
		$('tab_list').addEvent('click', function(){
			$('tab_kaart').removeClass('selected');
			this.addClass('selected');
			$('resultaat_outer').setStyle('display', '');
			//$('result_bottom').setStyle('display', '');
			$('maps').setStyle('display', 'none');
			$('show').set('value', 'list');
		});
		if(jsGet('show') == 'kaart')
		{
			$('tab_kaart').fireEvent('click');
		}
	}
	
	$$('#zoeken_wit .param').each(function(el){
		el.addEvent('click', function(){
			this.getChildren('.naam').setStyle('display', 'none');
			this.getChildren('.urls').setStyle('display', '');			
		});
	}); 
	
	if($('kent_via') != null)
	{
		$('kent_via').addEvent('change', function(){
			if(this.get('value') == "Anders, namelijk...") 
			{
				$('anders').setStyle('display', '');
			} else
			{
				$('anders').setStyle('display', 'none');
			}
		});	
	}
	
	if($('dc_borgsom') != null)
	{
		$('dc_borgsom').addEvent('mouseover', function(){
			var pos = $('dc_borgsom').getPosition();
			$('dc_borgsom_popup').setStyles({
				'left': pos.x,
				'top': pos.y.toInt() + 20,
				'display': ''
			});
		});
		$('dc_borgsom').addEvent('mouseout', function(){
			$('dc_borgsom_popup').setStyle('display', 'none');
		});
	}
	
	if($('beoordeling_square') != null)
	{
		$('beoordeling_square').addEvent('click', function(){
			$("beoordelingsform").setStyles({"display":""}); 
			$("tab9").fireEvent("click");
		}).addEvent('mouseover', function(){
			$("beoordeling_cijfers").setStyle("display", "");
		}).addEvent('mouseout', function(){
			$("beoordeling_cijfers").setStyle("display", "none");
		});
	}

	$$('.vpaanbieding').each(function(el){
		var div = $(el.get('id').replace('vpaanbieding_', 'vpab_uitgebreid_'));
		if(div == null) return;
		el.addEvent('mouseover', function(){
			var pos = el.getPosition();
			div.setStyle('display', '');
			//div.setStyles({'top': pos.y + 5, 'left': pos.x});
			div.position({
				relativeTo: el,
				position: 'upperLeft',
				edge: 'topLeft',
				offset: { y: 5 }
			});
		});
		el.addEvent('mouseout', function(){
			div.setStyle('display', 'none');
		});
	});
	
	var videos = $$("a").filter(function(el) {
		return el.rel && el.rel.test(/^video/i);
	});

	videos.removeEvents('click').addEvent('click', function(e){
		var youtube_url = this.get('href');
		youtube_url = youtube_url.replace("http://www.dfb.nl/video/", "http://www.youtube.com/watch");
		//alert(youtube_url);
		show_video(youtube_url);
		return false;
	});
	
	$$('.overlay, .overlay_inner').each(function(el){
		el.inject($('body'), 'top');
		if(el.hasClass('overlay_inner'))
		{
			el.setStyle("margin-left", ($('body').getWidth() - el.getWidth()) / 2);
		} else
		{
			el.addEvent('click', function(){
				$$('.overlay, .overlay_inner').destroy();
			});
		}
	});
	$$('.overlay_inner .form').addEvent('submit', function(e) {
		e.stop(); 
		//Empty the log and show the spinning indicator.
		var log = $('log_res').empty().addClass('ajax-loading');
		var form = this;
		//Set the options of the form's Request handler. 
		//("this" refers to the $('myForm') element).
		this.set('send', {onComplete: function(response) { 
			log.removeClass('ajax-loading');
			log.set('html', response);
			if(response.match('Bedankt'))
			{
				form.getElement('input[type="submit"]').set('disabled', true);
			}
		}});
		//Send the form.
		this.send();
	});
	$$('.zoek-sort a').addEvent('click', function(){
		$$('.zoek-sort a').removeClass('selected');
		this.addClass('selected');
		_page = 0;
		_sort = this.get('title');
		update_search_results();
		HistoryManager.setValue('sort', 0, _sort);
	});	
	if($('zoek-head') != null)
	{
		$$('#zoek-head .param').addEvent('click', function(){
			$$('#zoek-head .options').addClass('hide');
			$$('#zoek-head .param').removeClass('hover');
			this.getParent().addClass('hover');
			this.addClass('hover');
			$(this.get('id').replace('param', 'options')).removeClass('hide');
			zoek_head_id = this.get('id');
		});
		$$('#zoek-head .param, #zoek-head .options').addEvent('mouseleave', function(){
			zoek_head_timer = zoek_head_collapse.delay(1000, this);
		});
		$$('#zoek-head .options, #zoek-head .param').addEvent('mouseenter', function(){
			$clear(zoek_head_timer);
		});
		
	}
});
function zoek_head_collapse()
{
	if(zoek_head_id == null) return;
	$(zoek_head_id).getParent().removeClass('hover');
	$(zoek_head_id).removeClass('hover');
	$(zoek_head_id.replace('param', 'options')).addClass('hide');
	zoek_head_id = null;
}
var zoek_head_id;
var zoek_head_timer;

function fadeContentBanner()
{
	var fx = new Fx.Tween($('banner'+currentBanner), {onComplete: function(){
			$('banner'+currentBanner).setStyle('display', 'none');
			currentBanner++;
			if(currentBanner > 3) currentBanner = 1;
			$('banner'+currentBanner).setStyle('opacity', 0);
			$('banner'+currentBanner).setStyle('display', '');
			new Fx.Tween($('banner'+currentBanner)).start('opacity', 0, 1);
			
		}
	});
	fx.start('opacity', 1, 0);
}

function update_rr_prijzen()
{
	var subtotal = 0;
	var onrequest = false;
	$$('#rondreis_maininfo .left .locatie-item .prijs .span_prijs').each(function(el) {
		var prijs = parseInt(el.get('html'));
		if(typeof(prijs) !== 'number' || prijs === 0) {
			onrequest = true;
			return false;
		}
		subtotal += prijs;
	});
	
	if(subtotal > 0 && onrequest === false) {
		
		var newtotal = subtotal;
		
		$$('#rondreis_maininfo .left .total').each(function(el) {
			if(el.hasClass('extras')) {
				var prijs = parseInt(el.getElement('.price .amount').get('html'));
				subtotal += prijs;
				newtotal += prijs;
			}
			if(el.hasClass('discount')) {
				newtotal -= parseInt(el.getElement('.price .amount').get('html'));
			}
		});
		
		$$('#rondreis_maininfo .left .total.subtotal .price .amount').set('html', subtotal);
		$$('#rondreis_maininfo .left .total.final .price .amount').set('html', newtotal);
	}
	
}
function get_live_prijzen()
{
	// haal de prijzen op nadat de resultaten zijn gerendered.
	$$('.zoek_prijs').each(function(el){
		if(!el.hasClass('live_prijs'))return;  
		prijs_requests.push( new Request.JSON({url:url,
			data: {
				ajax_function: (el.hasClass('vp') ? 'request_vp_prijs' : 'request_vw_prijs'),
				huisid: el.id.replace('prijs_', '')
			},
			onFailure: function(xhr){
				if($(el.id.replace('prijs_', 'inner_')) == null) return;
				$(el.id.replace('prijs_', 'inner_'))
							.set('html', 'momenteel geen prijs beschikbaar in deze periode')
							.removeClass('inner')
							.addClass('grey');
				$(el.id.replace('prijs_', 'outer_')).addClass('wide');
				if($(el.id.replace('prijs_', 'boek_')) != null)
					$(el.id.replace('prijs_', 'boek_')).dispose();
				if($(el.id.replace('prijs_', 'kaart_')) != null)
					$(el.id.replace('prijs_', 'kaart_')).dispose();
							
			},
			onComplete: function(result)
			{
				if(result == null) return;
				if(result.prijs > 0 && result.prijs < 99999)
				{
					if($(el.id) == null) return;
					$(el.id).set('html', '&euro;'+result.prijs);
					if(result.bruto_prijs == null) result.bruto_prijs = '0';
					try{
						if(result.bruto_prijs > result.prijs )
						{
							$('bruto_'+el.id).set('html', '&euro;' + result.bruto_prijs);
						}
					} catch(e){}
				} else if(result.prijs == '0' || result.prijs == 'op aanvraag')
				{
					var message;
					if(zat_zat || el.hasClass('vp') )
						message = 'momenteel geen prijs beschikbaar in deze periode';
					else 
					{
						message = 'Aankomst op de gewenste dag is niet mogelijk, probeer aankomst op zaterdag.';
						//message += '	Afwijkende data zijn op aanvraag via 0597 55 1416 of <a href="mailto:info@dfb.nl">info@dfb.nl</a>.';			
					}
					if($(el.id.replace('prijs_', 'inner_')) == null) return;
					$(el.id.replace('prijs_', 'inner_'))
							.set('html', message)
							.removeClass('inner')
							.addClass('grey');
					$(el.id.replace('prijs_', 'outer_')).addClass('wide');
					if($(el.id.replace('prijs_', 'boek_')) != null)
						$(el.id.replace('prijs_', 'boek_')).dispose();
					if($(el.id.replace('prijs_', 'kaart_')) != null)
						$(el.id.replace('prijs_', 'kaart_')).dispose();
						
				} else
				{
					$(el.id).set('html', result.prijs);					
				}
				
			}
		}).send()
		);
	});	
}

function jsGet(type)
{
	if(location.href.match(type))
	{
		var loc = location.href.replace('#', '&');
		return loc.split(type+'=')[1].split('&')[0];
	}
}

var map;
var _vpid;

function add_rr_events()
{
	$$('#rr_detail .edit').each(function(a){
		a.removeEvents();
		a.addEvent('click', function(){
			$('layer_top').set('html', '');
			$('layer').setStyle('display', '');
			$('layer_top').setStyles({
				'display': '', 
				'top': (window.getScrollTop().toInt() + 50),
				'left': ((window.getWidth().toInt() - $('layer_top').getStyle('width').toInt())/2).toInt(),
				'height': (window.getHeight().toInt() - 100)
			});
			
			var data = this.id.split("_");
			_vpid = data[1];
			_nr = data[2];
			_van = $('van_'+_nr).value;
			_tot = $('tot_'+_nr).value;
			new Request({url:url,
				data: {
					ajax_function: 'get_edit_screen',
					vp_id: _vpid,
					van: _van,
					tot: _tot
				},
				onComplete: load_google
			}).send();
			
			return false;
		});
	});	
}


function load_google(response)
{
	if($('vps') != null)
	{
		$('vps').set('html', 'laden accommodaties...');	
	}
	var result = JSON.decode(response);
	$('layer_top').set('html', result.html);
	$('map').setStyle('height', $('layer_top').getStyle('height'));
	
	if(typeof($$('#layer_top div.close-icon')) != 'undefined') {
		$$('#layer_top div.close-icon').addEvent('click', function(){
			$('layer_top').setStyle('display', 'none');
			$('layer').setStyle('display', 'none');
		});
	}
	
	var _center_lat = result.lat;
	var _center_lng = result.lng;
	var _center_zoom = 10;
	
	var myOptions = {
		zoom: _center_zoom,
		center: new google.maps.LatLng(_center_lat, _center_lng),
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		scrollwheel: false,
		navigationControlOptions: {style: google.maps.NavigationControlStyle.ZOOM_PAN}

	}
	map = new google.maps.Map(document.getElementById("map"), myOptions);

	google.maps.event.addListener(map, 'dragend', updatePoints2);
	setTimeout(updatePoints2, 500);
}

function showadvanced(){
	if($('soort').value == 'hotel')
	{
		if(is_toggled_hotel == true){
			is_toggled_hotel = false;
			toggle_hotel.start(0);
			$('advanced_hotel').setStyle("border-bottom", "none");
		}
		else{
			is_toggled_hotel = true;
			toggle_hotel.start(70);
			$('advanced_hotel').setStyle("border-bottom", "2px solid #818285");		
		}
	} else
	{
		if(is_toggled_vp == true){
			is_toggled_vp = false;
			toggle_vp.start(0);
			$('advanced_vp').setStyle("border-bottom", "none");
		}
		else{
			is_toggled_vp = true;
			toggle_vp.start(270);
			$('advanced_vp').setStyle("border-bottom", "2px solid #818285");		
		}
	}
	/*
	toggled wordt gedeclareerd in templates/zoeken.html line 110
	*/

}			

function gopic(pic)
{
	$("mainpic").setStyle("width", "auto");
	$("mainpic").src=pic;
	
}
function page(frm,frmpage)
{
    fld        = frm.elements['goform'];
    fld.value = frmpage;
    frm.submit();
}


function newsubmit(formulier)
{
	try{
		if(!document.all && formulier.className=='onderschep')
		{
			onderschep_form(formulier);
			void(0);
		}
	}catch(e){}
}

var regions = new Array();
regions['bornholm'] 			= 10;
regions['funen'] 				= 8;
regions['kopenhagen']			= 9;
regions['lolland']				= 13;
regions['midden_jutland']		= 5;
regions['noord_sjeeland']		= 11;
regions['noordwest_jutland']	= 7;
regions['oost_jutland']			= 4;
regions['west_jutland']			= 3;
regions['zuid_sjeeland']		= 12;
regions['zuidoost_jutland']		= 2;
regions['zuidwest_jutland']		= 1;
regions['noordoost_jutland']	= 6;
regions["heel_denemarken"] = '';

function getRegionFromFlash(regio)
{
	$('gebied').value = regions[regio];
}

function get_gebied_name(regio_nr)
{
	for(var regio in regions)
	{
		if(regions[regio] == regio_nr) return regio;
	}
}
function onderschep_form(formulier)
{	
	written		= 0;
	query		= "";
	add_this	= 0;	
		
	elementen		= formulier.elements;	
	for(var i=0; i<elementen.length; i++)
	{
		add_this	= 0;			
		
		try{
			if(elementen[i].type=="radio" || elementen[i].type=="checkbox")
			{
				if(elementen[i].checked)
				{
					add_this		= 1;
				}
			}else
			{
				add_this		= 1;
			}
			
			if(add_this==1)
			{
				if(written>0)
				{
					query	+= "&";
				}			
				query	+= elementen[i].name+"="+elementen[i].value;
				written++;
			}
		}catch(e){alert(e);}
	}
		
	
	return false;
}


function foto_volgende()
{
	$('foto_vorige').removeClass('disabled');
	if($('foto_nr').get("html").toInt() > foto)
	{
		foto++;
		$('foto_id').set("html", foto);
		$('foto_img').setProperty("src", fotos[foto]);
		if(foto == $('foto_nr').get("html").toInt())
		{
			$('foto_volgende').addClass('disabled');
		}
	} 
}
function foto_vorige()
{
	$('foto_volgende').removeClass('disabled');
	if(foto > 1)
	{
		foto--;
		$('foto_id').set("html", foto);
		$('foto_img').setProperty("src", fotos[foto]);
		if(foto == 1)
		{
			$('foto_vorige').addClass('disabled');
		}
	} 
}

function update_volw(el)
{
	var aant_volw = el.value;
	var trs = $$('tr.volw');
	for(i=0; i<trs.length; i++)
	{
		trs[i].setStyle('display', (i>=aant_volw ? 'none' : ''));
	}
}

function update_kind(el)
{
	var aant_kind = el.value;
	var ths = $$('td.kindkop');
	var trs = $$('tr.kind');
	for(i=0; i<ths.length; i++)
	{
		ths[i].setStyle('display', (aant_kind > 0 ? '' :'none'));
	}
	for(i=0; i<trs.length; i++)
	{
		trs[i].setStyle('display', (i>=aant_kind ? 'none' : ''));
	}
}
function update_kind0(el)
{
	var aant_kind = el.value;
	var ths = $$('td.kind0kop');
	var trs = $$('tr.kind0');
	for(i=0; i<ths.length; i++)
	{
		ths[i].setStyle('display', (aant_kind > 0 ? '' :'none'));
	}
	for(i=0; i<trs.length; i++)
	{
		trs[i].setStyle('display', (i>=aant_kind ? 'none' : ''));
	}
}
function bewaren(id, type)
{
	var img = $('img_'+id);
	if(img == null)
	{
		img = $('foto_img');
	}
	var clone = img.clone()
		.setStyles({position: 'absolute'})	
		.setStyles(img.getCoordinates())
		.injectInside(document.body);
	var newpos = $('a_opgeslagen').getCoordinates();
	var fx = new Fx.Morph(clone, {duration: 1000});
	fx.start({top: newpos.top, left: newpos.left, opacity: 0, width: 150, height: 100});
	new Request.HTML({url:url,
		data: {
			ajax_function: 'bewaren',
			id: id,
			type: type
		},
		update: 'a_opgeslagen'
	}).send();
}
function verwijderen(id, type)
{
	new Request.HTML({url:url,
		data: {
			ajax_function: 'verwijderen',
			id: id,
			type: type
		},
		update: 'a_opgeslagen',
		onComplete: function(){
			var a = $('opgeslagen'+id);
			a.getParent().getParent().getParent().getPrevious().dispose();
			a.getParent().getParent().getParent().getPrevious().dispose();
			a.getParent().getParent().getParent().dispose();
		}
	}).send();
}


function boot(id)
{
	if(id.checked == true)
	{
		document.getElementById('divboot').style.display = 'none';
	}else
	{
		document.getElementById('divboot').style.display = 'block';
	}
}

function verz(id)
{
	if(id.checked == true)
	{
		document.getElementById('divverzekeringen').style.display = 'block';
	}else
	{
		document.getElementById('divverzekeringen').style.display = 'none';
	}
}



function zOrder(marker, b)
{
	var selected = (marker.data.selected ? 9 : 0);
	return GOverlay.getZIndex(marker.getPoint().lat()) + selected*1000000;
}

function addMouseOvers()
{
	$$('#vps .locatie').each(function(el){
		el.addEvent('mouseover', function(){
			this.setStyle('background-color', '#e2ebf2');
			var id = this.id.replace('vp_', '');
			var item = findItem2ById(id);
			item.marker.setIcon( "http://www.dfb.nl/images/vp.png" );

			/*var houseabout = new Element('div', {'class': 'houseabout'});
			houseabout.injectAfter(map.getPane(G_MAP_MAP_PANE));
		
			var latlng = new GLatLng(item.lat, item.lng);
			var pixel = map.fromLatLngToDivPixel(latlng);
			houseabout.innerHTML = item.naam;
			houseabout.setStyles({'left': pixel.x+18, 'top':pixel.y-34});
			*/
		});
		el.addEvent('mouseout', function(){
			this.setStyle('background-color', '#fff');
/*			$$('.houseabout').each(function(e){
				e.dispose();
			});*/
			var id = this.get('id').replace('vp_', '');
			var item = findItem2ById(id);
			if(item.marker != null) item.marker.setIcon( (item.id == _vpid ? "http://www.dfb.nl/images/vp.png" : "http://www.dfb.nl/images/vp_blue.png") );
		});
		el.addEvent('click', function(){
			var id = this.id.replace('vp_', '');
			new Request({url:url,
				data: {
					'ajax_function': 'get_vp_info',
					'vpid': id,
					'nr': _nr,
					'van': $('van_'+_nr).value,
					'tot': $('tot_'+_nr).value,
					volw: $('aantal_personen').value,
					kind: $('aantal_kinderen').value
				},
				onComplete: change_rr_item
			}).send();
			//var clone = $('vp_'+id).clone().inject(document.body);
			//clone.setStyles({'top': 10, 'left': 10, 'z-index': 9999999999999999});
			$('layer').setStyle('display', 'none');
			$('layer_top').setStyle('display', 'none');
		});
	});
}

function change_rr_item(response)
{
	var result = JSON.decode(response);
	
	/*if(debug) { /* NW VERSIE */
		
		// info op overzicht
		$$('#rondreis_maininfo .item-'+_nr+' td.image').set('html', result.image);
		$$('#rondreis_maininfo .item-'+_nr+' td span.accnaam').set('html', result.naam);
		$$('#rondreis_maininfo .item-'+_nr+' td.info span.kamer').set('html', result.kamernaam);
		$$('#rondreis_maininfo .item-'+_nr+' td.prijs span.span_prijs').set('html', result.prijs);
		$$('#rondreis_maininfo .item-'+_nr+' td.wijzig a').set('id', 'edit_'+result.vp_locatieid+'_'+_nr);
		
		$$('#rondreis_maininfo .item-'+_nr+' td.info span.breakfest').setStyle('display', 'none');
		if(result.type == 'hotel') {
			$$('#rondreis_maininfo .item-'+_nr+' td.info span.breakfest').setStyle('display', '');
		}
		
		// info op tabje
		$$('#vw_content .item-'+_nr+' h4').set('html', result.naam);
		$$('#vw_content .item-'+_nr+' .kamer .text').set('html', result.kamernaam);
		$$('#vw_content .item-'+_nr+' .span_prijs').set('html', result.prijs);
		$$('#vw_content .item-'+_nr+' table td.images').set('html', result.fotos);
		
		$$('#vw_content .item-'+_nr+' .breakfest').setStyle('display', 'none');
		if(result.type == 'hotel') {
			$$('#vw_content .item-'+_nr+' .breakfest').setStyle('display', '');
		}
		
		Slimbox.scanPage(); // voor lightbox herinitialisatie
	/*}
	else {
		$('span_prijs_'+_nr).set('html', result.prijs);
		$('img_'+_nr).set('html', result.td);
		$('vp_'+_nr).set('value', result.vp_locatieid);
		$('kamer_'+_nr).set('value', result.kamer);
		$('span_kamer_'+_nr).set('html', result.kamernaam);
	
		add_rr_events();
	}*/
	
	update_rr_prijzen();
}


function do_update_prijzen(response)
{
	var result = JSON.decode(response);
	var beschikbaar = true;
	for(var i=0; i<result.prijzen.length; i++)
	{
		var item = result.prijzen[i];
		$('span_van_'+i).set('html', item.van);
		$('van_'+i).value = item.van;
		
		$('span_tot_'+i).set('html', item.tot);
		$('tot_'+i).value = item.tot;
		
		if(item.prijs < 1 || item.prijs > 9999)
		{
			$('span_prijs_'+i).set('html', 'op aanvraag');
			$('span_euro_'+i).setStyle('display', 'none');
			beschikbaar = false;
		} else
		{
			$('span_prijs_'+i).set('html', item.prijs);
			$('span_euro_'+i).setStyle('display', '');
		}
		
		$('span_kamer_'+i).set('html', item.kamer_naam);
		$('kamer_'+i).set('value', item.kamer_id);
	}
	if(beschikbaar)
	{
		$('span_total').set('html', result['totaal']);
		//$('rr_submit').set('disabled', false);	
		$('span_euro_total').setStyle('display', '');
	} else
	{
		$('span_total').set('html', 'op aanvraag');	
		$('span_euro_total').setStyle('display', 'none');
		//$('rr_submit').set('disabled', true);	
	}
	if($('span_subtotal') != null)	$('span_subtotal').set('html', result['sub_totaal']);
	if($('span_korting') != null) $('span_korting').set('html', result['korting']);
	$('loading_prices').setStyle('display', 'none');
}


function rr_bestel()
{
	$('ajax_function').set('value', 'bestellen');
	update_rr_prijzen();
}

function submitformulier()
{
//	document.formulier.submit();
	$('formulier').submit();
//	$('formulier').fireEvent('submit');
}
function voegtoe(id, naam, prijs)
{
	if($$('.wagenid'+id).length > 0) return;
	var coor = $('wagen').getCoordinates();
	var clone = $('pic_'+id).clone()
		.setStyles({'position':'absolute'})
		.setStyles($('pic_'+id).getCoordinates())
		.set('id', 'clone_'+id)
		.inject(document.body)
		.morph({'top':coor.top, 'left': coor.left, 'opacity': 0});
	if($('wagen_descr') != null) $('wagen_descr').dispose();
	if(prijs == 0)
	{
		var prijs_html = 'gratis';
	} else
	{
		var prijs_html = '&euro; ' + format_number(prijs);
		
	}
	
	var tr = new Element("tr");
	var td1 = new Element("td").set('html', naam).addClass('wagenid'+id).inject(tr);
	var td2 = new Element("td").set('html', prijs_html).addClass('prijs').setStyles({'width':39}).inject(tr);
	var td3 = new Element("td").set('html', "<a href='javascript:;' onclick='deleteWagenItem(this)'><img src='/templates/images/delete.png' alt='Delete'/></a>").inject(tr);
	tr.injectBefore($('wagen_bottom'));
	
	$('wagen_totaal').set('html', format_number($('wagen_totaal').get('html').toFloat() + prijs));
	$('gids_prijskaartje').set('value', $('gids_prijs').get('html'));
}
function deleteWagenItem(el)
{
	el = $(el);
	var prijs = el.getParent().getPrevious().get('html');
	if(prijs != 'gratis') 
	{
		prijs = prijs.substr(2).toFloat();
		$('wagen_totaal').set('html', format_number($('wagen_totaal').get('html').toFloat() - prijs));
	}
	el.getParent().getParent().dispose();
	$('gids_prijskaartje').set('value', $('gids_prijs').get('html'));
}

function format_number(number)
{
	number = Math.round(number * 100) / 100;
	var punt_pos = 0;
	number = number.toString();
	for(var i=0; i<number.length; i++)
	{
		if(number.substr(i, 1) == ".")
		{
			punt_pos = i;
		}
		
	}
	if(punt_pos == 0)
	{
		number += ".00";
	} else if(punt_pos == number.length - 2)
	{
		number += "0";
	}	
	return number;
}
function checkAnders(el)
{
	if(el.value == 'Anders, namelijk...')
	{
		document.getElementById('tr_anders').style.display = '';
	} else
	{
		document.getElementById('tr_anders').style.display = 'none';
	}			
}

function wijzig_kamer(el)
{
	$('loading_prices').setStyle('display', ''); // loader tonen
	
	/*if(debug) { /* NW VERSIE */
		var nr = el.get('class').replace('wijzig_kamer_', '');
	/*} else {
		var nr = el.get('id').replace('wijzig_kamer_', '');
	}*/
	var vp_locatie_id = $('vp_'+nr).get('value');
	var vp_kamer_id = $('kamer_'+nr).get('value');
	
	new Request({
		url: url,
		data: {
			'ajax_function': 'get_kamers',
			'vpid': vp_locatie_id,
			'volw': $('aantal_personen').get('value'),
			'kind': $('aantal_kinderen').get('value'),
			'van': $( 'van_'+nr ).get('value'),
			'tot': $( 'tot_'+nr ).get('value'),
			'nr': nr,
			'huidig': vp_kamer_id
		},
		onComplete: function(r){ 
			new Element('div')
				.set('id', 'choose_'+nr)
				.set('class', 'wijzig_kamer_ov')
				.set('html', r)
				.inject(el, 'after')
				.position({
					relativeTo: el,
					position: 'upperLeft',
					offset: { x: -5, y: -5 }
				});
			
			/*if(debug) { /* NW VERSIE */
				
				$('loading_prices').setStyle('display', 'none'); // loader weghalen
			/*}
			else {
				$('span_kamer_'+nr ).setStyle('display', 'none');
				el.setStyle('display', 'none').set('html', 'wijzig accommodatie');
			}*/
		}
	}).send();
}

function confirm_kamer(kamerid, nr, prijs, naam)
{
	$('loading_prices').setStyle('display', ''); // loader tonen
	
	new Request({
		url: url,
		data: {
			'ajax_function': 'set_kamer',
			'nr': nr,
			'kamer': kamerid,
			'prijs': prijs
		},
		onComplete: function(r) {
			
			if(r == 'ok') {
				$$('#rondreis_maininfo .item-'+nr+' .span_prijs').set('html', prijs);
				$('kamer_'+nr).set('value', kamerid);
				$$('#rondreis_maininfo .item-'+nr+' td.info span.kamer').set('html', naam);
				$$('#vw_content .item-'+nr+' .kamer .text').set('html', naam);
				$$('#vw_content .item-'+nr+' .span_prijs').set('html', prijs);
			}
		
			$('choose_'+nr).dispose();
			$('loading_prices').setStyle('display', 'none'); // loader weghalen
			
			update_rr_prijzen();
		}
	}).send();
}

var player;
function show_video(url)
{
	url = url.replace('www.dfb.nl/video/', 'www.youtube.com/watch');
	
	var bg_size = $('bg').getSize();
	var bg = new Element("div") 
		.set('id', 'swf_bg')
		.setStyles({
			"position": "absolute",
			"left": 0,
			"top": 0,
			"width": bg_size.x,
			"height": bg_size.y,
			"background-color": "black",
			"z-index": 999,
			"opacity": .8,
			"cursor": "pointer"
		}).addEvent('click', function(){
			$('player').sendEvent("STOP", true);
			swf_cont.setStyle('display', 'none');
			bg.setStyle('display', 'none');
			swf_cont.dispose();
			bg.dispose();
		}).inject(document.body);
	var swf_cont = new Element("div")
		.set('id', 'swf_cont')
		.setStyles({
			"position": "fixed",
			"width": 720,
			"height": 460,
			"z-index": 1000,
			"left": (bg_size.x.toInt() - 720) / 2,
			"top": 40,
			"background-color": "black"
		}).inject(document.body);
		
	var player = new Swiff('/templates/swf/player-viral.swf', {
		id: 'player',
		width: 720,
		height: 460,
		params: {
			allowfullscreen: true,
			allowscriptaccess: 'always'
		},
		vars: {
			file: url,
			autostart: true
		}
	}).inject(swf_cont);

}
function prev_next_init()
{
	$$('.prevResult').addEvent('click', function(){
		if(_page > 0) _page--;
		update_search_results();
		HistoryManager.setValue('page', 0, _page);
	});
	$$('.nextResult').addEvent('click', function(){
		if(_page < (_totaal/10)) _page++;
		update_search_results();
		HistoryManager.setValue('page', 0, _page);
	});	
	if(Browser.Engine.trident) // IE support geen rounded corners in css
	{
		$$('.vpaanbieding').each(function(el){
			var html = el.get('html');
			el.set('html', '');
			new Element("div").addClass('inner').set('html', html).inject(el);
			new Element("div").addClass('left').inject(el, 'top');
			el.addClass("bg");
			new Element("div").addClass("right").inject(el, 'bottom');
		});
	}
	
}

function go_page(page)
{
	_page = page;
	update_search_results();
	HistoryManager.setValue('page', 0, _page);
}

function update_search_results(){
	var height = $('resultaat_outer').getSize().y;
	if(height == 0) height = 300;
	
	// zorg ervoor dat alle lopende requests worden geannuleerd, zodat hier niet eerst op hoeft worden gewacht..
	for(var i=0; i<prijs_requests.length; i++)
	{
		if(prijs_requests[i].isRunning())
		{
			prijs_requests[i].cancel();	
		}
	}
	
	$('resultaat_outer')
		.setStyle('height', height)
		.set('html', 'resultaten laden...')
		.addClass('loading');
	new Request({
		url: url,
		data: {
			'ajax_function': 'search',
			'page': _page,
			'sort': _sort
		}, 
		onComplete: function(r)
		{
			$('resultaat_outer').set('html', r).removeClass('loading').setStyle('height', 'auto'); 
			prev_next_init();
			init_click();
			get_live_prijzen();
		}
	}).send();
	
}
function show_kaart(lat, lng, naam)
{
	var size = $('body').getSize();
	var layer = new Element('div')
		.addClass('layer')
		.setStyles({ width: size.x, height: size.y})
		.addEvent('click', function(){
			layer.dispose();
			overlay.dispose();
		})
		.inject($('body'), 'top');
	var overlay = new Element('div')
		.addClass('layer-overlay')
		.setStyles({left: ((size.x - 800) / 2), top: ((size.y-500)/2)})
		.inject($('body'), 'top');
	var btn_close = new Element('div')
		.addClass('close')
		.addEvent('click', function(){
			layer.fireEvent('click');
		})
		.inject(overlay);
	var title = new Element('div')
		.addClass('title')
		.set('html', 'Detailkaart '+naam)
		.inject(overlay);
	var little_map_div = new Element('div')
		.set('id', 'little-map')
		.inject(overlay);
	
	var point = new google.maps.LatLng(lat, lng);
	var little_options = {
			zoom: 10,
			center: point,
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			scrollwheel: false
	}
	var little_map = new google.maps.Map(document.getElementById("little-map"), little_options);
	var marker = new google.maps.Marker({
        position: point, 
        map: little_map
    });   
}
function del_opgeslagen(el, type)
{
	el = $(el.id);
	el.set('html', 'bezig met verwijderen...');
	new Request.HTML({url:url,
		data: {
			ajax_function: 'verwijderen',
			id: el.get('id').replace('del_', ''),
			type: type
		},
		update: 'a_opgeslagen',
		onComplete: function(head, js, resp){
			el.getParent().getParent().dispose();
		}
	}).send();
}
function debug(data){ console.log(data); }

function init_click()
{
	$$('.click').each(function(el){
		var a = get_first_a(el);
		if(a == null || a == false) return;
		el.store('a', a );
		el.addEvent('mouseover', function(){
			window.status = this.retrieve('a');
		});
		el.addEvent('click', function(){
			document.location = this.retrieve('a');
		});	
		
	});
}
function get_first_a(el)
{
	var children = el.getChildren();
	for(i=0; i<children.length; i++)
	{
		var child = children[i];
		if(	child.get('href') != null )
			return child.get('href');
		if(children[i].getChildren() > 0)
		{
			if(debug) alert('click');
			var children_children = child.getChildren();
			for(j=0; j<children_children.length; j++)
			{
				if(children_children[j].get('href') != null)
				{
					
					return children_children[j].get('href');	
				}
			}
		}
		
	}
}
