
function addToSelection(name,value){var params=new Array();if(name=='MinMaxDepartureDate'){if(value.length>4){var dates=value.split(':');params['MinimumDepartureDate']=dates[0];params['MaximumDepartureDate']=dates[1];}}else{params[name]=value;ytw_call('modSearch','update_calc_table',['calctabletab',params]);}
ytw_call('modSearch','update_price_info',['pricetabletab',params]);}
function choosePrice(formId,depDate,nightCount,checkAvail){$(formId).DepartureDate.value=depDate;$(formId).NightCount.value=nightCount;ytw_call('modSearch','update_calc_table',['calctabletab',xajax.getFormValues(formId),checkAvail]);}
function updateCalcTable(divId,name,value){var params=new Array();if(name!=undefined)
params[name]=value;ytw_call('modSearch','update_calc_table',[divId,params]);}
function loadBookFrame(divId){var agentId='';if($('agentId')){agentId=$('agentId').value;if(agentId==''){}}
ytw_call('modSearch','load_bookframe',[divId,agentId]);window.focus();window.scroll(0,0);}
function selSearchOption(element,val){if(element.name=='DepartureDate'||element.name=='MinimumDepartureDate'||element.name=='MaximumDepartureDate'||element.name=='MaximumReturnDate'){var date=new Date();date.setYear(val.displayName.substring(0,4));date.setMonth(val.displayName.substring(5,6));date.setDate(val.displayName.substring(7,8));val.displayName=date.getDate()+'-'+date.getMonth()+'-'+date.getYear();return;}
if(element.options){if(element.name=='TransportType'){if(element.value=='Flight'||val.id=='Flight')
{$('DepartureAirport').disabled=false;$('DepartureAirport').removeClassName('disabled');}else
{$('DepartureAirport').disabled=true;$('DepartureAirport').addClassName('disabled');}}
for(var i=0;i<element.options.length;i++){if(element.options[i].value==val.displayName){element.options[i].selected=true;}}}else{if(element.type=='checkbox'){if(val.value){element.checked='checked';}}else if(element.type=='text'){element.value=val.displayName;}}}
function setSearchMode(newSearchMode){searchMode=newSearchMode;ytw_call('modSearch','set_searchmode',newSearchMode);setFieldVisibility();}
function setFieldVisibility(){var elements=$('modSearch_formSearch').getElements().without($('Country'));var calendarinputs=new Array($("MaximumReturnDate"),$("MaximumDepartureDate"),$("MinimumDepartureDate"));var calendars=document.getElementsByClassName('calendar_delete_button');if($('Country').selectedIndex==0){elements.each(function(element){});$$('#modSearch_formSearch button').each(function(element){});$$('#modSearch_formSearch .buttonBlue').each(function(element){});if(calendars.length>0){calendars.each(function(calendar){calendar.style.background='transparent url(/lib/images/datepicker/cal_disabled.gif) no-repeat scroll 0pt';});}
if(calendarinputs.length>0){calendarinputs.each(function(calendarinput){if(calendarinput)calendarinput.style.disabled='disabled';});}}else{elements.each(function(element){});$$('#modSearch_formSearch button').each(function(element){});$$('#modSearch_formSearch .buttonBlue').each(function(element){});calendars.each(function(calendar){calendar.style.background='transparent url(/lib/images/datepicker/cal.gif) no-repeat scroll 0pt';});calendarinputs.each(function(calendarinput){if(calendarinput)calendarinput.style.disabled='enabled';});}
var elements=$$('label').without($('Country_label'));if($('Country').selectedIndex==0){elements.each(function(element){element.disabled='disabled';element.addClassName('disabled');});}else{elements.each(function(element){element.disabled=false;element.removeClassName('disabled');});}
if($('Country').selectedIndex==0){$('District').selectedIndex=0;}
if($('reset_button')){$('reset_button').disabled='';$('reset_button').removeClassName('disabled');$('reset_button').style.cursor='pointer';}}
function setTransportTypeState(){if($('TransportType')){if($('TransportType').value=='Vlucht'||$('TransportType').value=='Flight'){$('DepartureAirport').disabled=false;$('DepartureAirport').removeClassName('disabled');}else{$('DepartureAirport').disabled=true;$('DepartureAirport').addClassName('disabled');$('DepartureAirport').selectedOption=0;}}}
function setSelectOptions(){if($('Country').selectedIndex==0){$('District').options[0].innerHTML=translation['noPreference'];if($('Place')){$('Place').options[0].innerHTML=translation['noPreference'];}}else{$('District').options[0].innerHTML=translation['noPreference'];if($('Place')){$('Place').options[0].innerHTML=translation['noPreference'];}}
if($('AccommodationType')){if($('AccommodationType').selectedIndex==0){$('RoomType').options[0].innerHTML=translation['firstSelectAccomodation'];}else{$('RoomType').options[0].innerHTML='-';}}
if($('DepartureAirport')){if($('DepartureAirport').options.length<2){$('DepartureAirport').options[0].innerHTML='Geen vertrekhavens';}else{$('DepartureAirport').options[0].innerHTML=translation['noPreference'];}}}
function submitSearchForm(noAjax){if($('loader')){$('loader').style.opacity=0.25;$('loader').style.filter="alpha(opacity=25)";}
if($('loader_text')){$('loader_text').style.display='block';}
$$('body')[0].style.cursor="wait";if($('submit_button')){$('submit_button').disabled='disabled';$('submit_button').addClassName('disabled');}
if($('loader_image')){$('loader_image').src=$('loader_image').src;}
if(noAjax){if($('modSearch_formSearch')){$('modSearch_formSearch').action='/search/searchResult';$('modSearch_formSearch').submit();}else{location.href='/search/searchResult';}}else{ytw_call('modSearch','update_search_results',['contentContainer','add','all',xajax.getFormValues('modSearch_formSearch')]);}
return true;}
function updateSearchResults(element){if($('Country').selectedIndex==0){alert(translation['errorRequiredFields']+'\n - '+translation['country']);return false;}
$('loader').style.opacity=0.25;$('loader').style.filter="alpha(opacity=25)";$('loader_text').style.display='block';$$('body')[0].style.cursor="wait";if($('submit_button')){$('submit_button').disabled='disabled';$('submit_button').addClassName('disabled');}
$('loader_image').src=$('loader_image').src;ytw_call('modSearch','update_search_results',element);return true;}
function resetSearchForm(){updateSearchForm('modSearch','update_search_form','del','all',null);$('modSearch_formSearch').reset();}
function updateSearchForm(module,functionName,action,name,value){if(action!='del'&&$('Country').selectedIndex==0){setFieldVisibility();if(name!='Country'){alert(translation['errorRequiredFields']+'\n - '+translation['country']);$('modSearch_formSearch').reset();}
return false;}
ytw_call(module,'update_search_form',[functionName,action,name,value]);setFieldVisibility();}
function disableSearchForm(disabled,reset){var elements=$$('#modSearch_formSearch select','#modSearch_formSearch input','#modSearch_formSearch label','#modSearch_formSearch button');if(reset)elements=$('modSearch_formSearch').getElements().without($('Country'));elements.each(function(element){if(disabled||reset){element.disabled='disabled';element.addClassName('disabled');}else{element.disabled='';element.removeClassName('disabled');}});if(disabled){if(!$('submit_button_ytwblack')){if($('loader_text'))
$('loader_text').style.display='block';}}else{if(!$('submit_button_ytwblack')){if($('loader_text'))
$('loader_text').style.display='none';}}
if(disabled){$$('body')[0].style.cursor="wait";}else{$$('body')[0].style.cursor="default";}
setTransportTypeState();if(!disabled){setFieldVisibility();}}
function resetPlaceDistrict(object){if(object.value==''&&object.id=='Country')
{$('Places').length=1;$('districts').length=1;}
else if(object.value==''&&object.id=='District')
{$('Places').length=1;}
else
{$('modSearch_formSearch').action='index.php?page=search';$('modSearch_formSearch').submit();}}
function deleteOptions(elementName){$(elementName).length=1;}
function setOptions(selectId,options,selected){var element=$(selectId);if(element){deleteOptions(selectId);options.each(function(option){var displayName=option[0];var id=option[1];var resultCount=-1;var displayText='';if(option[2]!=undefined){resultCount=option[2];}
if(selectId!='NightCount'){displayText=displayName;if(resultCount!=-1){displayText+=' ('+resultCount+')';}}else{displayText='dag';if(displayName!='1'){displayText=displayText+'en';}
displayText=(parseInt(displayName)+1)+' '+displayText;if(resultCount!=-1){displayText+=' ('+resultCount+')';}}
if(resultCount!=0){var option=new Option(displayText,id);$(selectId).options.add(option);}});$(selectId).disabled=false;}}
function setSelectedOption(selectId,displayName){var element=$(selectId);if(element){if(element.name=='DepartureDate'||element.name=='MinimumDepartureDate'||element.name=='MaximumDepartureDate'||element.name=='MaximumReturnDate'){var date=new Date();date.setYear(val.displayName.substring(0,4));date.setMonth(val.displayName.substring(5,6));date.setDate(val.displayName.substring(7,8));val.displayName=date.getDate()+'-'+date.getMonth()+'-'+date.getYear();return;}
if(element.options){for(var i=0;i<element.options.length;i++){if(element.options[i].value==displayName){element.options[i].selected=true;}}
if(element.name=='TransportType'){if($('DepartureAirport')){if(element.value=='Vlucht'||element.value=='Flight'){$('DepartureAirport').disabled=false;$('DepartureAirport').removeClassName('disabled');}else{$('DepartureAirport').disabled=true;$('DepartureAirport').addClassName('disabled');}}}}else if(element.type=='checkbox'){if(displayName==true){element.checked='checked';}}else if(element.type=='text'){element.value=displayName;}}}
function eraseCookie(name){createCookie(name,"",-1);}
function dateAddDays(stringDate,days){var oldDate=parseDate(stringDate);var newDate=new Date;newDate.setTime(oldDate.getTime()+days*24*60*60*1000);if(navigator.appName.substr(0,9)=="Microsoft"){newYear=newDate.getYear();}else{newYear=(newDate.getYear()+1900);}
newDay=newDate.getDate()+"";newMonth=newDate.getMonth()+1+"";newYear=newYear+"";if(newDay.length==1){newDay='0'+newDay;}
if(newMonth.length==1){newMonth='0'+newMonth;}
newDate=newDay+'-'+newMonth+'-'+newYear;return newDate;}
function cumulativeOffset(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return[valueL,valueT];}
function countryChange(country_name){var searchoptions=new Array(1);searchoptions['Country']=country_name;addToFilter('add','all',searchoptions,false,'contentContainer');}
function regionChange(name,ids){var searchoptions=new Array(1);var idarr=ids.split(',');var randomnumber=Math.floor(Math.random()*idarr.length);searchoptions['District']=idarr[randomnumber];addToFilter('add','select',searchoptions,true,'contentContainer');}
function countryWorldSelect(id){var searchoptions=new Array(1);searchoptions['Country']=id;addToFilter('add','all',searchoptions,true,'contentContainer');}
function addToFilter(action,name,value,reloadPage,divId,tmp,source_element){if((action!='del'&&action!='add')||name==''){return false;}
if(name=='MinMaxDepartureDate'){if(value.length>4){var dates=value.split(':');value=new Array();value['MinimumDepartureDate']=dates[0];value['MaximumDepartureDate']=dates[1];name='selection';}}else if(name=='MinMaxNightCount'){if(value.length>4){var dates=value.split(':');value=new Array();value['MinimumNightCount']=dates[0];value['MaximumNightCount']=dates[1];name='selection';}}else if(name=='MinMaxPricePerPerson'){var prices=value.split(':');value=new Array();value['MinimumPricePerPerson']=prices[0];value['MaximumPricePerPerson']=prices[1];name='selection';}
if(reloadPage){ytw_call('modSearch','update_search_results',[divId,action,name,value],true);}else{ytw_call('modSearch','update_search_form',['update_search_form',action,name,value],true);}
return true;}
function searchOnValue(divId,type,value){if($('rapidsearchcontainer')){$('rapidsearchcontainer').style.display='none';}
var values=new Array(1)
values[type]=value;addToFilter('add','all',values,true,divId);}
var sortOps=new Array()
function gotopage(divId,pnr,history,template){sortOps['pnr']=pnr;ytw_call('modSearch','update_search_results',[divId,'','','',sortOps,template],false);}
function gotosort(divId,order,sort){sortOps['searchSort']=sort;sortOps['searchOrder']=order;ytw_call('modSearch','update_search_results',[divId,'','','',sortOps]);}
function gotosort(divId,order,sort,template){sortOps['searchSort']=sort;sortOps['searchOrder']=order;ytw_call('modSearch','update_search_results',[divId,'','','',sortOps,template]);}
function setSelectedSite(siteid){if(siteid){if(siteid==document.getElementById('site1').value){index=document.getElementById('site1').selectedIndex;document.getElementById('site2').selectedIndex=index;}else if(siteid==document.getElementById('site2').value){index=document.getElementById('site2').selectedIndex;document.getElementById('site1').selectedIndex=index;}}else{document.getElementById('site1').selectedIndex='';document.getElementById('site2').selectedIndex='';}}
function loadDetailPage(resultIndex,accCode,accName,tabIndex){location.href='/acc/?ResultIndex='+resultIndex+'&AccommodationInfoCode='+accCode;}
function loadDetailPageOnTab(resultIndex,accCode,tabIndex){location.href='/acc/?ResultIndex='+resultIndex+'&AccommodationInfoCode='+accCode+'&test=2'+'&SelIndex='+tabIndex;}
function loadComparePage(divId,action,accs,page,useajax){if(page=='compare'){if(useajax){ytw_call('modSearch','update_compare_list',[divId,action,accs]);}else{if($(divId)){allNodes=Form.getElements(divId);for(i=0;i<allNodes.length;i++){if(allNodes[i].name=='compareaction')
allNodes[i].value=action;}
$(divId).submit();}}}else if(page=='detail'){ytw_call('modSearch','update_saved_trips',[divId,action,accs]);$('save_trip_img').src='images/knop_fav_disabled.gif';}else{ytw_call('modSearch','update_saved_trips',[divId,action,accs]);}}
function updateCompareList(action,accs,page){if(page=='compare'){ytw_call('modSearch','update_compare_list',['',action,accs]);}}
function copyFormTo(element){element.appendChild($('search_form_container'));}
function initialiseInputs(){if($("MinimumDepartureDate")&&$("MaximumReturnDate")&&$("MaximumDepartureDate")){$("MinimumDepartureDate").onchange=setReservationDatesOnDeparture;$("MaximumReturnDate").onchange=setReservationDatesOnArrival;$("MaximumDepartureDate").onchange=setReservationDatesOnMaxDeparture;}}
function setReservationDatesOnArrival(e){if(!("MaximumDepartureDate"in datePickerController.datePickers)){return;}
var dt=datePickerController.dateFormat(this.value,datePickerController.datePickers["MaximumReturnDate"].format.charAt(0)=="m");if(dt==0)return;var md=datePickerController.datePickers["MaximumDepartureDate"];md.setRangeHigh(dt);var edm=datePickerController.dateFormat(document.getElementById("MaximumDepartureDate").value,datePickerController.datePickers["MaximumDepartureDate"].format.charAt(0)=="m");if(dt<edm){document.getElementById("MaximumDepartureDate").value="";}}
function setReservationDatesOnDeparture(e){if(!("MinimumDepartureDate"in datePickerController.datePickers)){return;}
var dt=datePickerController.dateFormat(this.value,datePickerController.datePickers["MinimumDepartureDate"].format.charAt(0)=="m");if(dt==0)return;var edv=datePickerController.dateFormat(document.getElementById("MaximumReturnDate").value,datePickerController.datePickers["MaximumReturnDate"].format.charAt(0)=="m");var ed=datePickerController.datePickers["MaximumReturnDate"];var md=datePickerController.datePickers["MaximumDepartureDate"];var edmm=datePickerController.dateFormat(document.getElementById("MaximumDepartureDate").value,datePickerController.datePickers["MaximumDepartureDate"].format.charAt(0)=="m");ed.setRangeLow(dt);md.setRangeLow(dt);var year=parseFloat(this.value.substring(6,10));var month=parseFloat(this.value.substring(3,5))-1;var day=parseFloat(this.value.substring(0,2));var maxdate=new Date(year,month,day);maxdate.setDate(maxdate.getDate()+20);var edm=datePickerController.dateFormat(""+maxdate.getDate()+"/"+(maxdate.getMonth()+1)+"/"+maxdate.getFullYear(),datePickerController.datePickers["MaximumReturnDate"].format.charAt(0)=="m");if(edm==0)return;md.setRangeHigh(edm);if(edmm<dt||edmm>edm){document.getElementById("MaximumDepartureDate").value="";}
if(edv<dt){document.getElementById("MaximumReturnDate").value="";}}
function setReservationDatesOnMaxDeparture()
{}
function updateDepartureAirport(){if($('TransportType').value=='Vlucht'||$('TransportType').value=='Flight'){$('DepartureAirport').disabled=false;$('DepartureAirport').removeClassName('disabled');}else{$('DepartureAirport').selectedIndex=0;$('DepartureAirport').disabled=true;}}
function remove_minDepartDate(){document.getElementById('MinimumDepartureDate').value='';}
function remove_maxDepartDate(){document.getElementById('MaximumDepartureDate').value='';}
function remove_maxReturnDate(){document.getElementById('MaximumReturnDate').value='';}
function showWithInput(buttonid){var buttonid='fd-but-'+buttonid;if($(buttonid)){var element=$(buttonid).next();}}
var isMoz=(window.ActiveXObject)?false:true;var DutchMonths=new Array();DutchMonths[1]='Januari';DutchMonths[2]='Februari';DutchMonths[3]='Maart';DutchMonths[4]='April';DutchMonths[5]='Mei';DutchMonths[6]='Juni';DutchMonths[7]='Juli';DutchMonths[8]='Augustus';DutchMonths[9]='September';DutchMonths[10]='Oktober';DutchMonths[11]='November';DutchMonths[12]='December';function toggleList(options_list,flag){var options_list=$(options_list);options_list=options_list.getElementsByTagName('li');if(options_list.length<=maxDrillDownItems)return;if(flag){for(var i=0;i<options_list.length;i++){if((i<maxDrillDownItems)||(i==options_list.length-1))options_list[i].style.display='block';else options_list[i].style.display='none';}
options_list[options_list.length-1].childNodes[0].innerHTML=lang_makeLong;}else{if(options_list[maxDrillDownItems].style.display=='none'){for(var i=0;i<options_list.length;i++)options_list[i].style.display='block';options_list[options_list.length-1].childNodes[0].innerHTML=lang_makeShort;}else{for(var i=0;i<options_list.length;i++){if((i<maxDrillDownItems)||(i==options_list.length-1))options_list[i].style.display='block';else options_list[i].style.display='none';}
options_list[options_list.length-1].childNodes[0].innerHTML=lang_makeLong;}}}
function checkOptionList(options_list_name){var options_list=$(options_list_name);if(options_list){options_list=options_list.getElementsByTagName('li');if(options_list.length<maxDrillDownItems){options_list[options_list.length-1].style.display='none';}else{toggleList(options_list_name,true);}}else return;}
function checkOptionLists(){checkOptionList('leaveOptionsShort');checkOptionList('countryOptionsShort');checkOptionList('districtOptionsShort');checkOptionList('placeOptionsShort');checkOptionList('accommodationOptionsShort');checkOptionList('boardtypeOptionsShort');checkOptionList('transportypeOptionsShort');checkOptionList('airportOptionsShort');checkOptionList('touroperatorOptionsShort');}
function toggleDatesUList(month){var numerical_month;if(month=='08')numerical_month=8;else if(month=='09')numerical_month=9;else numerical_month=parseInt(month);var dtToday=new Date();var year;if(dtToday.getMonth()>numerical_month)year=dtToday.getFullYear()+1;else year=dtToday.getFullYear();if($('filter_Month'))
if(month=='00'){$('monthList').style.display='block';$('leaveOptionsShort').style.display='none';$('filter_Month').innerHTML='geen waarde ingesteld';$('filter_Month').parentNode.childNodes[1].style.display='none';}else{$('monthList').style.display='none';$('leaveOptionsShort').style.display='block';var list_items=$('leaveOptionsShort').childNodes;for(var i=0;i<list_items.length;i++){if(list_items[i].className=='month_num_'+month+'_'+year)
list_items[i].style.display='block';else list_items[i].style.display='none';}
$('filter_Month').innerHTML=DutchMonths[numerical_month]+' '+year;$('filter_Month').parentNode.childNodes[1].style.display='inline';}}
function setStartMonth(){var currentMonth='00';if($('filter_MinMaxDepartureDate'))if($('filter_MinMaxDepartureDate').className!=''){currentMonth=$('filter_MinMaxDepartureDate').className;toggleDatesUList(currentMonth);return;}
var dt=getQuerystring('MinimumDepartureDate','no_set');if(dt=='no_set'){toggleDatesUList('00');currentMonth='00';}else{dt=dt.substring(3,5);toggleDatesUList(dt);currentMonth=dt;}
if($('filter_MinMaxDepartureDate')){$('filter_MinMaxDepartureDate').className=currentMonth;}}
function getQuerystring(key,default_){if(default_==null)default_="";key=key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regex=new RegExp("[\\?&]"+key+"=([^&#]*)");var qs=regex.exec(window.location.href);if(qs==null)return default_;else return qs[1];}
function ManageFilter(action,name,value,reloadPage,divId,templates,source_element){if((action!='del'&&action!='add')||name==''){return false;}
$('search_filters').style.display='block';$('search_result_form_header').src='/images/dd_page_right.gif';var options_list;var filter_item;if(name=='MinMaxDepartureDate'){filter_item=$('filter_MinMaxDepartureDate');options_list=$('leaveOptionsShort');}else if(name=='Country'){filter_item=$('filter_Country');options_list=$('countryOptionsShort');}else if(name=='District'){filter_item=$('filter_District');options_list=$('districtOptionsShort');}else if(name=='Place'){filter_item=$('filter_Place');options_list=$('placeOptionsShort');}else if(name=='AccommodationType'){filter_item=$('filter_AccommodationType');options_list=$('accommodationOptionsShort');}else if(name=='BoardType'){filter_item=$('filter_BoardType');options_list=$('boardtypeOptionsShort');}else if(name=='TransportType'){filter_item=$('filter_TransportType');options_list=$('transportypeOptionsShort');}else if(name=='DepartureAirport'){filter_item=$('filter_DepartureAirport');options_list=$('airportOptionsShort');}else if(name=='TourOperator'){filter_item=$('filter_TourOperator');options_list=$('touroperatorOptionsShort');}
if(name!='all'){options_list=options_list.getElementsByTagName('li');for(var i=0;i<options_list.length;i++)options_list[i].childNodes[0].style.fontWeight='normal';if(name=='Country'){options_list=$('districtOptionsShort').getElementsByTagName('li');for(var i=0;i<options_list.length;i++)options_list[i].childNodes[0].style.fontWeight='normal';options_list=$('placeOptionsShort').getElementsByTagName('li');for(var i=0;i<options_list.length;i++)options_list[i].childNodes[0].style.fontWeight='normal';}
if(name=='District'){options_list=$('placeOptionsShort').getElementsByTagName('li');for(var i=0;i<options_list.length;i++)options_list[i].childNodes[0].style.fontWeight='normal';}}
if((action=='del')&&(name!='all')){filter_item.innerHTML='geen waarde ingesteld';filter_item.parentNode.parentNode.style.display='none';if(name=='Country'){$('filter_District').innerHTML='geen waarde ingesteld';$('filter_District').parentNode.parentNode.style.display='none';eraseCookie('dd_District');$('filter_Place').innerHTML='geen waarde ingesteld';$('filter_Place').parentNode.parentNode.style.display='none';eraseCookie('dd_Place');}
if(name=='District'){$('filter_Place').innerHTML='geen waarde ingesteld';$('filter_Place').parentNode.parentNode.style.display='none';eraseCookie('dd_Place');}
eraseCookie('dd_'+name);}else if(action=='add'){filter_item.parentNode.parentNode.style.display='block';filter_item.innerHTML=source_element.innerHTML;filter_item.parentNode.childNodes[1].style.display='inline';source_element.style.fontWeight='bold';createCookie('dd_'+name,source_element.innerHTML);}
if(action=='all'){eraseCookie('dd_MinMaxDepartureDate');eraseCookie('dd_Country');eraseCookie('dd_District');eraseCookie('dd_Place');eraseCookie('dd_AccommodationType');eraseCookie('dd_BoardType');eraseCookie('dd_TransportType');eraseCookie('dd_DepartureAirport');eraseCookie('dd_TourOperator');}
if(name=='MinMaxDepartureDate'){if(value.length>4){var dates=value.split(':');value=new Array();value['MinimumDepartureDate']=dates[0];value['MaximumDepartureDate']=dates[1];name='selection';}}else if(name=='MinMaxNightCount'){if(value.length>4){var dates=value.split(':');value=new Array();value['MinimumNightCount']=dates[0];value['MaximumNightCount']=dates[1];name='selection';}}else if(name=='MinMaxPricePerPerson'){var prices=value.split(':');value=new Array();value['MinimumPricePerPerson']=prices[0];value['MaximumPricePerPerson']=prices[1];name='selection';}
if(reloadPage){ytw_call('modSearch','update_search_results',[divId,action,name,value,'',templates],true);}else{ytw_call('modSearch','update_search_form',['update_search_form',action,name,value],false);}
return true;}
function removeMonthFilter(){toggleDatesUList('00');ManageFilter('del','MinMaxDepartureDate','01-01-2008:01-01-2010',true,'resultstable','all',false);if($('filter_MinMaxDepartureDate')){$('filter_MinMaxDepartureDate').className='00';}}
function changeMonthFilter(month_num){toggleDatesUList(month_num);$('search_filters').style.display='block';$('search_result_form_header').src='/images/dd_page_right.gif';if($('filter_MinMaxDepartureDate')){$('filter_MinMaxDepartureDate').className=month_num;}}
function removeAllFilters(){RemoveFilterVisual('MinMaxDepartureDate');RemoveFilterVisual('Country');RemoveFilterVisual('District');RemoveFilterVisual('Place');RemoveFilterVisual('AccommodationType');RemoveFilterVisual('BoardType');RemoveFilterVisual('TransportType');RemoveFilterVisual('DepartureAirport');RemoveFilterVisual('TourOperator');ManageFilter('del','all','',true,'resultstable','all','');removeMonthFilter();$('search_filters').style.display='none';$('search_result_form_header').src='/images/dd_page_right_empty.gif';}
function RemoveFilterVisual(name){var options_list;var filter_item;if(name=='MinMaxDepartureDate'){filter_item=$('filter_MinMaxDepartureDate');options_list=$('leaveOptionsShort');}else if(name=='Country'){filter_item=$('filter_Country');options_list=$('countryOptionsShort');}else if(name=='District'){filter_item=$('filter_District');options_list=$('districtOptionsShort');}else if(name=='Place'){filter_item=$('filter_Place');options_list=$('placeOptionsShort');}else if(name=='AccommodationType'){filter_item=$('filter_AccommodationType');options_list=$('accommodationOptionsShort');}else if(name=='BoardType'){filter_item=$('filter_BoardType');options_list=$('boardtypeOptionsShort');}else if(name=='TransportType'){filter_item=$('filter_TransportType');options_list=$('transportypeOptionsShort');}else if(name=='DepartureAirport'){filter_item=$('filter_DepartureAirport');options_list=$('airportOptionsShort');}else if(name=='TourOperator'){filter_item=$('filter_TourOperator');options_list=$('touroperatorOptionsShort');}
options_list=options_list.getElementsByTagName('li');for(var i=0;i<options_list.length;i++)options_list[i].childNodes[0].style.fontWeight='normal';filter_item.innerHTML='geen waarde ingesteld';filter_item.parentNode.parentNode.style.display='none';return true;}

function get_book_url(page,agent,agentmessage,adultmessage,travelmessage)
{if(adultmessage!=""){alert(adultmessage);}else if(travelmessage!=""){alert(travelmessage);}else if(agent==""){alert(agentmessage);}else{if(agent=="disabled"){agent='';}
document.getElementById('modSearch_details').style.display='';ytw_call(page,'get_book_url',[agent]);}}
function changeMaxRetDate(minDepDate)
{}
function toolTipFixOut(targetId,text){document.getElementById(targetId).onmouseover=new Function("event","showToolTip(event,'"+text+"');return false;}");}
function toolTipFixOver(targetId){document.getElementById(targetId).onmouseover="";}
function changeBackground(Object,image){Object.style.backgroundImage="url('/images/"+image+"')"}
function showAvailability(divId){if($(divId)){$(divId).style.display='block';}};function showResultLoader(){if($('resultLoaderContainer')){$('resultLoaderContainer').style.display='block';}}
function hideResultLoader(){if($('resultLoaderContainer')){$('resultLoaderContainer').style.display='none';}}

function initFastSearch(){}
function setStarText(count){if($('resultcount')){if(count==undefined){count="alle";}
$('resultcount').innerHTML=count;if($('resultCountText')){if(count==1||count=='1'){$('resultCountText').innerHTML="zoekresultaat";}else{$('resultCountText').innerHTML="zoekresultaten";}}}}
function setFieldVisibility(){}
function resetSearchForm(count){updateSearchForm('modSearch','update_search_form','del','all',null);$('modSearch_formSearch').reset();setStarText(count);}
function updateSearchForm(module,functionName,action,name,value){if(action!='del'&&$('Country').selectedIndex==0){if(name!='Country'){alert(translation['errorRequiredFields']+'\n - '+translation['country']);$('modSearch_formSearch').reset();}
return false;}
ytw_call(module,'update_search_form',[functionName,action,name,value]);}
function searchOnAccoInfoCode(divid){if($(divid)){accinfocode=$(divid).getValue();location.href="/detail/?AccommodationInfoCode="+accinfocode;}}

if(typeof Effect=='undefined')
throw("accordion.js requires including script.aculo.us' effects.js library!");var accordion=Class.create();accordion.prototype={showAccordion:null,currentAccordion:null,duration:null,effects:[],animating:false,initialize:function(container,options){if(!$(container)){throw(container+" doesn't exist!");return false;}
this.options=Object.extend({resizeSpeed:8,classNames:{toggle:'accordion_toggle',toggleActive:'accordion_toggle_active',content:'accordion_content'},defaultSize:{height:null,width:null},direction:'vertical',onEvent:'click'},options||{});this.duration=((11-this.options.resizeSpeed)*0.15);var accordions=$$('#'+container+' .'+this.options.classNames.toggle);accordions.each(function(accordion){Event.observe(accordion,this.options.onEvent,this.activate.bind(this,accordion),false);if(this.options.onEvent=='click'){accordion.onclick=function(){return false;};}
if(this.options.direction=='horizontal'){var options={width:'0px'};}else{var options={height:'0px'};}
Object.extend(options,{display:'none'});this.currentAccordion=$(accordion.next(0)).setStyle(options);}.bind(this));},activate:function(accordion){if(this.animating){return false;}
this.effects=[];this.currentAccordion=$(accordion.next(0));this.currentAccordion.setStyle({display:'block'});this.currentAccordion.previous(0).addClassName(this.options.classNames.toggleActive);if(this.options.direction=='horizontal'){this.scaling={scaleX:true,scaleY:false};}else{this.scaling={scaleX:false,scaleY:true};}
if(this.currentAccordion==this.showAccordion){this.deactivate();}else{this._handleAccordion();}},deactivate:function(){var options={duration:this.duration,scaleContent:false,transition:Effect.Transitions.sinoidal,queue:{position:'end',scope:'accordionAnimation'},scaleMode:{originalHeight:this.options.defaultSize.height?this.options.defaultSize.height:this.currentAccordion.scrollHeight,originalWidth:this.options.defaultSize.width?this.options.defaultSize.width:this.currentAccordion.scrollWidth},afterFinish:function(){this.showAccordion.setStyle({height:'auto',display:'none'});this.showAccordion=null;this.animating=false;}.bind(this)};Object.extend(options,this.scaling);this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);new Effect.Scale(this.showAccordion,0,options);},_handleAccordion:function(){var options={sync:true,scaleFrom:0,scaleContent:false,transition:Effect.Transitions.sinoidal,scaleMode:{originalHeight:this.options.defaultSize.height?this.options.defaultSize.height:this.currentAccordion.scrollHeight,originalWidth:this.options.defaultSize.width?this.options.defaultSize.width:this.currentAccordion.scrollWidth}};Object.extend(options,this.scaling);this.effects.push(new Effect.Scale(this.currentAccordion,100,options));if(this.showAccordion){this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);options={sync:true,scaleContent:false,transition:Effect.Transitions.sinoidal};Object.extend(options,this.scaling);this.effects.push(new Effect.Scale(this.showAccordion,0,options));}
new Effect.Parallel(this.effects,{duration:this.duration,queue:{position:'end',scope:'accordionAnimation'},beforeStart:function(){this.animating=true;}.bind(this),afterFinish:function(){if(this.showAccordion){this.showAccordion.setStyle({display:'none'});}
$(this.currentAccordion).setStyle({height:'auto'});this.showAccordion=this.currentAccordion;this.animating=false;}.bind(this)});}}

if(typeof Effect=='undefined')
throw("accordion.js requires including script.aculo.us' effects.js library!");var accordion=Class.create();accordion.prototype={showAccordion:null,currentAccordion:null,duration:null,effects:[],animating:false,bookHistory:false,initialize:function(container,options){if(!$(container)){throw(container+" doesn't exist!");return false;}
this.options=Object.extend({resizeSpeed:8,classNames:{toggle:'accordion_toggle',toggleActive:'accordion_toggle_active',toggleDisabled:'accordion_toggle_disabled',content:'accordion_content'},defaultSize:{height:null,width:null},direction:'vertical',onEvent:'click'},options||{});this.duration=((11-this.options.resizeSpeed)*0.15);var accordions=$$('#'+container+' .'+this.options.classNames.toggle);accordions.each(this._bind.bind(this));},clickHandler:function(accordion){if(accordion.hasClassName(this.options.classNames.toggleDisabled)){return false;}else{this.request(accordion);}},request:function(accordion){var formname=this.showAccordion.id+'Form';ytw_call('modSearch','activate_book_step',[this.showAccordion.previous(0).id,accordion.id,xajax.getFormValues(formname,true)],this.bookHistory);},activate:function(accordion){if(this.animating){return false;}
this.effects=[];this.currentAccordion=$(accordion.next(0));this.currentAccordion.setStyle({display:'block'});this.currentAccordion.previous(0).addClassName(this.options.classNames.toggleActive);if(this.options.direction=='horizontal'){this.scaling={scaleX:true,scaleY:false};}else{this.scaling={scaleX:false,scaleY:true};}
if(this.currentAccordion==this.showAccordion){}else{this._handleAccordion();}},deactivate:function(){var options={duration:this.duration,scaleContent:false,transition:Effect.Transitions.sinoidal,queue:{position:'end',scope:'accordionAnimation'},scaleMode:{originalHeight:this.options.defaultSize.height?this.options.defaultSize.height:this.currentAccordion.scrollHeight,originalWidth:this.options.defaultSize.width?this.options.defaultSize.width:this.currentAccordion.scrollWidth},afterFinish:function(){this.showAccordion.setStyle({height:'auto',display:'none'});this.showAccordion=null;this.animating=false;}.bind(this)};Object.extend(options,this.scaling);this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);new Effect.Scale(this.showAccordion,0,options);},_handleAccordion:function(){var options={sync:true,scaleFrom:0,scaleContent:false,transition:Effect.Transitions.sinoidal,scaleMode:{originalHeight:this.options.defaultSize.height?this.options.defaultSize.height:this.currentAccordion.scrollHeight,originalWidth:this.options.defaultSize.width?this.options.defaultSize.width:this.currentAccordion.scrollWidth}};Object.extend(options,this.scaling);this.effects.push(new Effect.Scale(this.currentAccordion,100,options));if(this.showAccordion){this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);options={sync:true,scaleContent:false,transition:Effect.Transitions.sinoidal};Object.extend(options,this.scaling);this.effects.push(new Effect.Scale(this.showAccordion,0,options));}
new Effect.Parallel(this.effects,{duration:this.duration,queue:{position:'end',scope:'accordionAnimation'},beforeStart:function(){this.animating=true;}.bind(this),afterFinish:function(){if(this.showAccordion){this.showAccordion.setStyle({display:'none'});}
$(this.currentAccordion).setStyle({height:'auto'});this.showAccordion=this.currentAccordion;this.animating=false;}.bind(this)});},_bind:function(accordion){Event.observe(accordion,this.options.onEvent,this.clickHandler.bind(this,accordion),false);if(this.options.onEvent=='click'){accordion.onclick=function(){return false;};}
if(this.options.direction=='horizontal'){var options={width:'0px'};}else{var options={height:'0px'};}
Object.extend(options,{display:'none'});this.currentAccordion=$(accordion.next(0)).setStyle(options);}}

var Validator=Class.create();Validator.prototype={initialize:function(className,error,test,options){if(typeof test=='function'){this.options=$H(options);this._test=test;}else{this.options=$H(test);this._test=function(){return true};}
this.error=error||'Validation failed.';this.className=className;},test:function(v,elm){return(this._test(v,elm)&&this.options.all(function(p){return Validator.methods[p.key]?Validator.methods[p.key](v,elm,p.value):true;}));}}
Validator.methods={pattern:function(v,elm,opt){return Validation.get('IsEmpty').test(v)||opt.test(v)},minLength:function(v,elm,opt){return v.length>=opt},maxLength:function(v,elm,opt){return v.length<=opt},min:function(v,elm,opt){return v>=parseFloat(opt)},max:function(v,elm,opt){return v<=parseFloat(opt)},notOneOf:function(v,elm,opt){return $A(opt).all(function(value){return v!=value;})},oneOf:function(v,elm,opt){return $A(opt).any(function(value){return v==value;})},is:function(v,elm,opt){return v==opt},isNot:function(v,elm,opt){return v!=opt},equalToField:function(v,elm,opt){return v==$F(opt)},notEqualToField:function(v,elm,opt){return v!=$F(opt)},include:function(v,elm,opt){return $A(opt).all(function(value){return Validation.get(value).test(v,elm);})}}
var Validation=Class.create();Validation.prototype={initialize:function(form,options){this.options=Object.extend({onSubmit:true,stopOnFirst:false,immediate:false,focusOnError:true,useTitles:false,onFormValidate:function(result,form){},onElementValidate:function(result,elm){}},options||{});this.form=$(form);if(this.options.onSubmit)Event.observe(this.form,'submit',this.onSubmit.bind(this),false);if(this.options.immediate){var useTitles=this.options.useTitles;var callback=this.options.onElementValidate;Form.getElements(this.form).each(function(input){Event.observe(input,'blur',function(ev){Validation.validate(Event.element(ev),{useTitle:useTitles,onElementValidate:callback});});});}},onSubmit:function(ev){if(!this.validate())Event.stop(ev);},validate:function(){var result=false;var useTitles=this.options.useTitles;var callback=this.options.onElementValidate;if(this.options.stopOnFirst){result=Form.getElements(this.form).all(function(elm){return Validation.validate(elm,{useTitle:useTitles,onElementValidate:callback});});}else{result=Form.getElements(this.form).collect(function(elm){return Validation.validate(elm,{useTitle:useTitles,onElementValidate:callback});}).all();}
if(!result&&this.options.focusOnError){Form.getElements(this.form).findAll(function(elm){return $(elm).hasClassName('validation-failed')}).first().focus()}
this.options.onFormValidate(result,this.form);return result;},reset:function(){Form.getElements(this.form).each(Validation.reset);}}
Object.extend(Validation,{validate:function(elm,options){options=Object.extend({useTitle:false,onElementValidate:function(result,elm){}},options||{});elm=$(elm);var cn=elm.classNames();return result=cn.all(function(value){var test=Validation.test(value,elm,options.useTitle);options.onElementValidate(test,elm);return test;});},test:function(name,elm,useTitle){var v=Validation.get(name);var prop='__advice'+name.camelize();try{if(Validation.isVisible(elm)&&!v.test($F(elm),elm)){if(!elm[prop]){var advice=Validation.getAdvice(name,elm);if(advice==null){var errorMsg=useTitle?((elm&&elm.title)?elm.title:v.error):v.error;advice='<div class="validation-advice" id="advice-'+name+'-'+Validation.getElmID(elm)+'" style="display:none">'+errorMsg+'</div>'
switch(elm.type.toLowerCase()){case'checkbox':case'radio':var p=elm.parentNode;if(p){new Insertion.Bottom(p,advice);}else{new Insertion.After(elm,advice);}
break;default:new Insertion.After(elm,advice);}
advice=Validation.getAdvice(name,elm);}
if(typeof Effect=='undefined'){advice.style.display='block';}else{new Effect.Appear(advice,{duration:1});}}
elm[prop]=true;elm.removeClassName('validation-passed');elm.addClassName('validation-failed');return false;}else{var advice=Validation.getAdvice(name,elm);if(advice!=null)advice.hide();elm[prop]='';elm.removeClassName('validation-failed');elm.addClassName('validation-passed');return true;}}catch(e){throw(e)}},isVisible:function(elm){while(elm.tagName!='BODY'){if(!$(elm).visible())return false;elm=elm.parentNode;}
return true;},getAdvice:function(name,elm){return $('advice-'+name+'-'+Validation.getElmID(elm))||$('advice-'+Validation.getElmID(elm));},getElmID:function(elm){return elm.id?elm.id:elm.name;},reset:function(elm){elm=$(elm);var cn=elm.classNames();cn.each(function(value){var prop='__advice'+value.camelize();if(elm[prop]){var advice=Validation.getAdvice(value,elm);advice.hide();elm[prop]='';}
elm.removeClassName('validation-failed');elm.removeClassName('validation-passed');});},add:function(className,error,test,options){var nv={};nv[className]=new Validator(className,error,test,options);Object.extend(Validation.methods,nv);},addAllThese:function(validators){var nv={};$A(validators).each(function(value){nv[value[0]]=new Validator(value[0],value[1],value[2],(value.length>3?value[3]:{}));});Object.extend(Validation.methods,nv);},get:function(name){return Validation.methods[name]?Validation.methods[name]:Validation.methods['_LikeNoIDIEverSaw_'];},methods:{'_LikeNoIDIEverSaw_':new Validator('_LikeNoIDIEverSaw_','',{})}});Validation.add('IsEmpty','',function(v){return((v==null)||(v.length==0));});Validation.addAllThese([['required','This is a required field.',function(v){return!Validation.get('IsEmpty').test(v);}],['validate-number','Please enter a valid number in this field.',function(v){return Validation.get('IsEmpty').test(v)||(!isNaN(v)&&!/^\s+$/.test(v));}],['validate-digits','Please use numbers only in this field. please avoid spaces or other characters such as dots or commas.',function(v){return Validation.get('IsEmpty').test(v)||!/[^\d]/.test(v);}],['validate-alpha','Please use letters only (a-z) in this field.',function(v){return Validation.get('IsEmpty').test(v)||/^[a-zA-Z]+$/.test(v)}],['validate-alphanum','Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.',function(v){return Validation.get('IsEmpty').test(v)||!/\W/.test(v)}],['validate-date','Please enter a valid date.',function(v){var test=new Date(v);return Validation.get('IsEmpty').test(v)||!isNaN(test);}],['validate-email','Please enter a valid email address. For example fred@domain.com .',function(v){return Validation.get('IsEmpty').test(v)||/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v)}],['validate-url','Please enter a valid URL.',function(v){return Validation.get('IsEmpty').test(v)||/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(v)}],['validate-date-au','Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006.',function(v){if(Validation.get('IsEmpty').test(v))return true;var regex=/^(\d{2})\/(\d{2})\/(\d{4})$/;if(!regex.test(v))return false;var d=new Date(v.replace(regex,'$2/$1/$3'));return(parseInt(RegExp.$2,10)==(1+d.getMonth()))&&(parseInt(RegExp.$1,10)==d.getDate())&&(parseInt(RegExp.$3,10)==d.getFullYear());}],['validate-currency-dollar','Please enter a valid $ amount. For example $100.00 .',function(v){return Validation.get('IsEmpty').test(v)||/^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(v)}],['validate-selection','Please make a selection',function(v,elm){return elm.options?elm.selectedIndex>0:!Validation.get('IsEmpty').test(v);}],['validate-one-required','Please select one of the above options.',function(v,elm){var p=elm.parentNode;var options=p.getElementsByTagName('INPUT');return $A(options).any(function(elm){return $F(elm);});}]]);

var bookAccordion;var bookSteps=new Array();var bookHistory=true;function gotoBookPage(divId,buttonId){document.body.scrollTop=0;if($(buttonId))
$(buttonId).style.display='none';ytw_call('modSearch','load_bookframe',[divId],bookHistory);}
function loadAccordions(){bookAccordion=new accordion('bookform');bookAccordion.bookHistory=bookHistory;}
function loadFirstBookStep(){ytw_call('modSearch','activate_book_step',['firstload','trip',null],bookHistory);}
function submitBookStep(target_bookstep){if(target_bookstep==bookSteps['payment']-1){showBookingLoader();current_bookstep=bookAccordion.showAccordion.previous(0).id;form_name=current_bookstep+'ContentForm';ytw_call('modSearch','activate_book_step',[current_bookstep,'payment',xajax.getFormValues(form_name,true),'bookform'],bookHistory);}else{showBookingLoader(target_bookstep);bookAccordion.request($$('#bookform .accordion_toggle')[target_bookstep]);}}
function enableBookStep(index,value){if(value){$$('#bookform .accordion_toggle')[index-1].removeClassName("accordion_toggle_disabled");}else{$$('#bookform .accordion_toggle')[index-1].addClassName("accordion_toggle_disabled");}}
function activateBookStep(index){hideBookingLoader();showBookStep(index);for(var stepName in bookSteps){var i=parseInt(bookSteps[stepName]);enableBookStep(i,i<index)}}
function showBookStep(index){bookAccordion.activate($$('#bookform .accordion_toggle')[index-1]);}
function bookForm_init(){bookForm_init_standard();loadAccordions();loadFirstBookStep();}
function bookPage_init(){bookForm_init_standard();}
function bookForm_init_standard(){trip_init();travelers_init();mainbooker_init();trip_load_validation();transport_load_validation();travelers_load_validation();transport_init();extras_init();extras_load_validation();mainbooker_load_validation();}
function validate_form(formid){if(formid=="trip"){trip_form_validation.validate();}else if(formid=="transport"){transport_form_validation.reset();transport_form_validation.validate();}else if(formid=="travelers"){travelers_form_validation.reset();travelers_form_validation.validate();}else if(formid=="mainbooker"){mainbooker_transport_validation.validate();}}
function setBookSteps(booksteps){try{bookSteps=booksteps.evalJSON(true);}catch(se){console.info("Error occured while parsing imported JSON");}}
function enableBookHistory(){bookHistory=true;}
function disableBookHistory(){bookHistory=false;}
function trip_init(){if($('tripContentForm')){trip_form_validation=new Validation('tripContentForm',{immediate:true});}}
var book_trip_housing_options,book_trip_housing_choices;function trip_submit(nextbookstep){trip_form_validation=new Validation('tripContentForm',{immediate:true});if(trip_form_validation.validate()){submitBookStep(nextbookstep);}}
function trip_load_validation(){Validation.addAllThese([['validate-too-many-rooms','',function(value,element){var people=parseInt($('adults').value);people+=parseInt($('children').value);var minOccupation=0;$$('#room-options .room-option').each(function(elem){var room_type=elem.down('.room-type').value;var min=book_trip_housing_options[room_type]["minOccupation"];var number=elem.down('.room-number').value;minOccupation+=number*min;});return(people>=minOccupation);}],['validate-too-little-rooms','',function(value,element){var people=parseInt($('adults').value);people+=parseInt($('children').value);var maxOccupation=0;$$('#room-options .room-option').each(function(elem){var room_type=elem.down('.room-type').value;var max=book_trip_housing_options[room_type]["maxOccupation"];var number=elem.down('.room-number').value;maxOccupation+=number*max;});return(people<=maxOccupation);}],['validate-rooms-available','',function(value,element){var selected_rooms=new Array();($$('#room-options .room-option')).each(function(elem){var room_type=elem.down('.room-type').value;var number=elem.down('.room-number').value;if(selected_rooms[room_type]==null){selected_rooms[room_type]=parseInt(number);}else{selected_rooms[room_type]+=parseInt(number);}});for(i=0;i<selected_rooms.size();i++){if(selected_rooms[i]>book_trip_housing_options[i]["available"])return false;}
return true;}]]);}
function trip_update_rooms(form_name,target_css_id,add){trip_form=xajax.getFormValues(form_name)
ytw_call('modSearch','trip_update_rooms',[trip_form,target_css_id,(add?1:0)]);showBookingLoader();}
function trip_update_rooms_callback(){hideBookingLoader();trip_form_validation=new Validation('tripContentForm',{immediate:true});trip_form_validation.validate()}
function trip_remove_room_option(element,form_name,target_css_id){$(element.parentNode).remove();trip_form=xajax.getFormValues(form_name);showBookingLoader();ytw_call('modSearch','trip_update_rooms',[trip_form,target_css_id,0]);}
function trip_update_travelers_selection(name,value){showBookingLoader();params=new Array();params[name]=value;ytw_call('modSearch','trip_update_travelers_selection',[params]);}
function trip_update_travelers_selection_callback(){hideBookingLoader();if(revert){$$('#adults option').each(function(elem){if(elem.value==adults){elem.selected=true;}});$$('#children option').each(function(elem){if(elem.value==children){elem.selected=true;}});$$('#babies option').each(function(elem){if(elem.value==babies){elem.selected=true;}});}}
function showBookingLoader(divId){if($('bookingLoaderContainer')){$('bookingLoaderContainer').style.display='block';}
$$("#bookform select").each(function(element){element.disabled=true;});$$("#bookform input").each(function(element){element.disabled=true;});}
function hideBookingLoader(){if(typeof hideResultLoader=='function'){hideResultLoader();}
if($('bookingLoaderContainer')){$('bookingLoaderContainer').style.display='none';}
$$("#bookform select").each(function(element){element.disabled=false;});$$("#bookform input").each(function(element){element.disabled=false;});}
function showErrorMsg(msg){if(typeof hideResultLoader=='function'){hideResultLoader();}
var el=$('errorMsg');if(el){el.style.display='block';}else{alert(msg);}}
function set_housing_options(json_housing_options){while(json_housing_options.indexOf("\n")!=-1){json_housing_options=json_housing_options.replace("\n","");}
while(json_housing_options.indexOf("&amp;")!=-1){json_housing_options=json_housing_options.replace("&amp;","&");}
try{book_trip_housing_options=json_housing_options.evalJSON(true);}catch(se){console.info("Error occured while parsing imported JSON");return;}}
function set_housing_choices(json_housing_choices){book_trip_housing_choices=json_housing_choices.evalJSON(true);}
function transport_init(){if($('transportContentForm')){transport_form_validation=new Validation('transportContentForm',{stopOnFirst:false,focusOnError:false});}}
function transport_submit(nextbookstep){transport_form_validation=new Validation('transportContentForm',{stopOnFirst:false,focusOnError:false});if(transport_form_validation.validate()){submitBookStep(nextbookstep);}}
function transport_load_validation(){Validation.add('validate-one-required-enhanced','',function(value,element){name=element.name;form_id=element.up('form').id;set=false;$$("#"+form_id+" input").each(function(input){if(input.type=="radio"&&input.name==name){if(input.checked){set=true;}}});return set;},{});}
function select_element(id){element=$(id);element.checked=true;option=element.ancestors()[1];option.siblings().each(function(elem){if(elem.hasClassName("option-selected")){elem.removeClassName("option-selected");}});option.addClassName("option-selected");}
function hover_element(id){element=$(id);option=element.ancestors()[1];option.addClassName("option-hover");}
function leave_element(id){element=$(id);option=element.ancestors()[1];option.removeClassName("option-hover");}
function transport_set_data(data,targetCssId){target_div=$(targetCssId);target_div.innerHTML=data;}
function travelers_init(){if($('travelersContentForm')){travelers_form_validation=new Validation('travelersContentForm',{stopOnFirst:true,focusOnError:false});}}
var travelers_departure_date=new Array();function travelers_submit(nextbookstep){travelers_form_validation=new Validation('travelersContentForm',{stopOnFirst:true,focusOnError:false});if(travelers_form_validation.validate()){submitBookStep(nextbookstep);}}
function travelers_load_validation(){Validation.addAllThese([['validate-required-checkbox','U moet akkoord gaan met de algemene voorwaarden',function(value,elem){return elem.checked;}],['validate-required-all-first-names','Niet alle voornamen zijn ingevuld.',function(value,elem){result=true;$$('.travelers-info .option .first-name').each(function(element){if(!Validation.get('validate-required-name-dutch').test(element.value,element)){result=false;}});return result;}],['validate-required-all-last-names','Niet alle achternamen zijn ingevuld.',function(value,elem){result=true;$$('.travelers-info .option .last-name').each(function(element){if(!Validation.get('validate-required-name-dutch').test(element.value,element)){result=false;}});return result;}],['validate-required-name-dutch','Voer uw volledige naam in, zoals aangegeven in uw paspoort.',{minLength:2,pattern:new RegExp("[AaoOuUiIeE]")}],['validate-all-dates','Niet alle opgegeven data zijn geldig.',function(value,elem){result=true;$$('.travelers-info .option .travelers-day-select').each(function(element){if(!Validation.get('validate-date').test(element.value,element)){result=false;}});return result;}],['validate-date','Een opgegeven datum is ongeldig.',function(value,elem){element=Element.extend(elem);ancestors=element.ancestors();parentnode=ancestors[0];day=parseInt(parentnode.down('.travelers-day-select').value);month=parseInt(parentnode.down('.travelers-month-select').value);year=parseInt(parentnode.down('.travelers-year-select').value);switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:valid_number_of_days=31;break;case 4:case 6:case 9:case 11:valid_number_of_days=30;break;case 2:valid_number_of_days=(((year%4==0)&&((!(year%100==0))||(year%400==0)))?29:28);break;}
if(day>valid_number_of_days){return false;}
return true;}],['validate-each-room-has-adult','',function(value,element){var hasAdultInRoom=new Object();$$('.travelers-info .option').each(function(elem){var traveler_type=elem.down('.traveler_type').value;if(traveler_type=='adults'){var housing_unit_id=elem.down('.room-assignment').value;hasAdultInRoom[housing_unit_id]=true;}});var options=$$('.travelers-info .option')[0].down('.room-assignment');for(i=0;i<options.length;i++){if(!hasAdultInRoom[options.item(i).value]){return false;}}
return true;}],['validate-each-room-min-occupation','',function(value,element){var numberPeopleInRoom=new Object();var housing_options=traveler_get_housing_options();$$('.travelers-info .option').each(function(elem){var traveler_type=elem.down('.traveler_type').value;if(traveler_type=='adults'||traveler_type=='children'){var housing_code=elem.down('.room-assignment').value;if(numberPeopleInRoom[housing_code]>0){numberPeopleInRoom[housing_code]++;}else{numberPeopleInRoom[housing_code]=1;}}});var options=$$('.travelers-info .option')[0].down('.room-assignment');for(i=0;i<options.length;i++){var key=options.item(i).value;var room_type=key.substr(0,key.length-1);if(numberPeopleInRoom[key]<housing_options[room_type]["minOccupation"]){return false;}}
return true;}],['validate-each-room-max-occupation','',function(value,element){var numberPeopleInRoom=new Object();var housing_options=traveler_get_housing_options();$$('.travelers-info .option').each(function(elem){var traveler_type=elem.down('.traveler_type').value;if(traveler_type=='adults'||traveler_type=='children'){var housing_code=elem.down('.room-assignment').value;if(numberPeopleInRoom[housing_code]>0){numberPeopleInRoom[housing_code]++;}else{numberPeopleInRoom[housing_code]=1;}}});var options=$$('.travelers-info .option')[0].down('.room-assignment');for(i=0;i<options.length;i++){var key=options.item(i).value;var room_type=key.substr(0,key.length-1);if(numberPeopleInRoom[key]>housing_options[room_type]["maxOccupation"]){return false;}}
return true;}]]);}
function traveler_get_housing_options(){var result=new Object();for(var i in book_trip_housing_options){result[book_trip_housing_options[i]["unitId"]]=book_trip_housing_options[i];}
return result;}
function select_mainbooker(checkbox){if(checkbox.checked){checkboxes=$$('.travelers_mainbooker_checkbox');checkboxes.each(function(element){element.checked=false;});checkbox.checked=true;}}
function travelers_set_departure_date(day,month,year){travelers_departure_date['day']=day;travelers_departure_date['month']=month;travelers_departure_date['year']=year;}
function travelers_validate_supplied_date(e){}
function shop_submit(nextbookstep){submitBookStep(nextbookstep);}
function extras_init(){if($('extrasContentForm')){extra_form_validation=new Validation('extrasContentForm',{stopOnFirst:false,focusOnError:false});}}
function extras_submit(nextbookstep){extra_form_validation=new Validation('extrasContentForm',{stopOnFirst:false,focusOnError:false});extra_form_validation.reset();if(extra_form_validation.validate()){submitBookStep(nextbookstep);}}
function extras_get_rental_information(provider,transportRentalId,targetCssId){ytw_call('modSearch','extras_get_rental_information',[provider,transportRentalId,targetCssId]);}
function extras_switch(id){panel=$(id);if(panel.getStyle('display')!='none'){panel.setStyle({'display':'none'});}else{panel.setStyle({'display':'block'});}}
function checkExtraAssignment(elem){if(elem.value==0){if(elem.checked==true){var newElem=elem.up().next('label');while(newElem){newElem.down().checked=true;newElem=newElem.next('label');}}else{var newElem=elem.up().next('label');while(newElem){newElem.down().checked=false;newElem=newElem.next('label');}}}else{if(elem.checked==false){var newElem=elem.up().previous('label',elem.value-1);newElem.down().checked=false;}else{var firstElem=elem.up().previous('label',elem.value-1);var all_selected=true;var newElem=firstElem.next('label');while(newElem){all_selected=all_selected&&newElem.down().checked;newElem=newElem.next('label');}
if(all_selected){firstElem.down().checked=true;}}}}
function extras_load_validation(){Validation.addAllThese([['validate-extra-assignment','',function(value,elem){if(elem.value!=0){return true;}
var result=elem.checked;var newElem=elem.up().next('label');while(newElem){result=result||newElem.down().checked;newElem=newElem.next('label');}
return result;}],['validate-extra-date','',function(value,elem){var startdate=elem.value;var parent=elem.up('.information-item');var enddate=parent.next('.information-item').down('select').value;startdate=startdate.split('T');startdate=startdate[0].replace('-','/').replace('-','/');startdate=Date.parse(startdate);enddate=enddate.split('T');enddate=enddate[0].replace('-','/').replace('-','/');enddate=Date.parse(enddate);var start=new Date();var end=new Date();start.setTime(startdate);end.setTime(enddate);return start<=end;}]]);}
function overview_submit(nextbookstep){if(mainbooker_submit()){submitBookStep(nextbookstep);}}
function mainbooker_init(){if($('mainbookerContentForm')){mainbooker_form_validation=new Validation('mainbookerContentForm',{immediate:true,onElementValidate:mainbooker_validation_callback});mainbooker_examples=new Array();$$('#mainbookerContentForm .has-example').each(function(element){mainbooker_examples[element.name]=$(element.id+"_example").value;if(element.value==""){mainbooker_field_raise_example(element,false);}});}}
function mainbooker_submit(){$$('#mainbookerContentForm .example').each(function(elem){mainbooker_field_drop_example(elem);});mainbooker_form_validation=new Validation('mainbookerContentForm',{immediate:true});return mainbooker_form_validation.validate();}
function mainbooker_load_validation(){Validation.addAllThese([['validate-required-dutch','Dit veld is vereist.',{minLength:1}],['validate-adres-dutch','Straatnaam moet correct worden ingevuld (bijvoorbeeld "Hoofdstraat 14a")',{minLength:1}],['validate-zipcode-dutch','',{minLength:1,maxLength:7,pattern:new RegExp("^[0-9]{4} ?[A-Za-z]{2}$")}],['validate-telephonenumber-dutch','',{minLength:1,pattern:new RegExp("^\\+?([0-9]{2,3}( *|-)){0,2}[0-9]{6,10}$")}],['validate-emailaddress-dutch','',{minLength:1,pattern:new RegExp("^.+@.+\\..+$")}],['validate-required-checkbox','U moet akkoord gaan met de algemene voorwaarden',function(value,elem){return elem.checked;}]]);}
function mainbooker_validation_callback(result,element){if(!result&&mainbooker_examples[element.name]!=undefined){mainbooker_field_raise_example(element,false);}}
function mainbooker_field_drop_example(element){if(element.hasClassName("example")){mainbooker_examples[element.name]=element.value;element.removeClassName("example");element.value="";Validation.reset(element);}}
function mainbooker_field_raise_example(element,validate){show=true;if(validate)show=!Validation.validate(element);if(show){element.addClassName("example");element.value=mainbooker_examples[element.name];}}
function select_country(target){if($(target+'_country').value=='Nederland'||$(target+'_country').value=='Koninkrijk der Nederlanden'){$(target+'_zipcode').addClassName('validate-zipcode-dutch');$(target+'_telephonenr').addClassName('validate-telephonenumber-dutch');}else{$(target+'_zipcode').removeClassName('validate-zipcode-dutch');$(target+'_telephonenr').removeClassName('validate-telephonenumber-dutch');$('homecontact_telephonenr').removeClassName('validate-telephonenumber-dutch');$('advice-validate-zipcode-dutch-'+target+'_zipcode').style.display='none';$('advice-validate-telephonenumber-dutch-'+target+'_telephonenr').style.display='none';}}
function replaceSpecialchars(obj){var chars=new Array();chars['À']='A';chars['Á']='A';chars['Â']='A';chars['Ã']='A';chars['Ä']='A';chars['Å']='A';chars['Æ']='A';chars['Ç']='C';chars['È']='E';chars['É']='E';chars['Ê']='E';chars['Ë']='E';chars['Ì']='I';chars['Í']='I';chars['Î']='I';chars['Ï']='I';chars['Ñ']='N';chars['Ò']='O';chars['Ó']='O';chars['Ô']='O';chars['Õ']='O';chars['Ö']='O';chars['Ø']='O';chars['Ù']='U';chars['Ú']='U';chars['Û']='U';chars['Ü']='U';chars['Ý']='Y';chars['ß']='s';chars['à']='a';chars['á']='a';chars['â']='a';chars['ã']='a';chars['ä']='a';chars['å']='a';chars['æ']='ae';chars['ç']='c';chars['è']='e';chars['é']='e';chars['ê']='e';chars['ë']='e';chars['ì']='i';chars['í']='i';chars['î']='i';chars['ï']='i';chars['ñ']='n';chars['ò']='o';chars['ó']='o';chars['ô']='o';chars['õ']='o';chars['ö']='o';chars['ø']='o';chars['ù']='u';chars['ú']='u';chars['û']='u';chars['ü']='u';chars['ý']='y';chars['ÿ']='y';if(obj.value.length>0){var change=false;var newValue=obj.value;for(i=0;i<obj.value.length;i++){if(chars[obj.value.substring(i,i+1)]!=null){newValue=(i>0?newValue.substring(0,i):'')
+chars[obj.value.substring(i,i+1)]
+(i<=newValue.length?newValue.substring(i+1,newValue.length+1):'');change=true;}}
if(change==true){obj.value=newValue;}}}

function addToFilter(action,name,value,reloadPage,divId,templates,blockid){if((action!='del'&&action!='add')||name==''){return false;}
if(name=='MinMaxDepartureDate'){if(value.length>4){var dates=value.split(':');value=new Array();value['MinimumDepartureDate']=dates[0];value['MaximumDepartureDate']=dates[1];name='selection';}}else if(name=='MinMaxNightCount'){if(value.length>4){var dates=value.split(':');value=new Array();value['MinimumNightCount']=dates[0];value['MaximumNightCount']=dates[1];name='selection';}}else if(name=='MinMaxPricePerPerson'){var prices=value.split(':');value=new Array();value['MinimumPricePerPerson']=prices[0];value['MaximumPricePerPerson']=prices[1];name='selection';}
if(reloadPage){if(templates){ytw_call('modSearch','update_search_results',[divId,action,name,value,'',templates,blockid],true);}else{ytw_call('modSearch','update_search_results',[divId,action,name,value],true);}}else{ytw_call('modSearch','update_search_form',['update_search_form',action,name,value]);}
return true;}
function setNightRange(rows,cols,divId,nights){for(i=0;i<(rows*cols);i++){if($('price'+i)){if($('price'+i).className!='noprice'){if($('price'+i).hasClassName('priceSelected')){$('price'+i).removeClassName('priceSelected');}
$('price'+i).addClassName('priceDeselected');}}}
$('price'+divId).addClassName('priceSelected');}
var sortOps=new Array()
function gotosort(divId,order,sort){sortOps['searchSort']=sort;sortOps['searchOrder']=order;ytw_call('modSearch','update_search_results',[divId,'','','',sortOps]);}
function gotosort(divId,order,sort,template){sortOps['searchSort']=sort;sortOps['searchOrder']=order;ytw_call('modSearch','update_search_results',[divId,'','','',sortOps,template]);}
function setMinimumPrice(price,perperson){if($('modSearch_MinimumPricePerPerson')){$('modSearch_MinimumPricePerPerson').innerHTML=price;}
if($('modSearch_PricePerPerson')&&!(perperson)){$('modSearch_PricePerPerson').innerHTML="per unit";}
if($('modSearch_SelectedTransportType')){$('modSearch_SelectedTransportType').innerHTML="";}}
function datediff(date1){var day1,day2;var month1,month2;var year1,year2;var date2=new Date();var day1=date1.substring(0,date1.indexOf("-"));var month1=date1.substring(date1.indexOf("-")+1,date1.lastIndexOf("-"));var year1=date1.substring(date1.lastIndexOf("-")+1,date1.length);var day2=date2.getDate();var month2=date2.getMonth()+1;var year2=date2.getFullYear();date1=year1+"/"+month1+"/"+day1;date2=year2+"/"+month2+"/"+day2;var firstDate=Date.parse(date1);var secondDate=Date.parse(date2);var msPerDay=24*60*60*1000
var dbd=Math.round((firstDate.valueOf()-secondDate.valueOf())/msPerDay);return dbd;}
function choosePrice(formId,depDate,nightCount,checkAvail,persons){$(formId).DepartureDate.value=depDate;$(formId).NightCount.value=nightCount;$(formId).Adults.value=persons;if(datediff(depDate)<4){$('bookingsmsg').innerHTML="<h1>Sorry</h1><p>De door u geselecteerde reis is op aanvraag, omdat de reis binnen 4 dagen voor vertrek plaatsvindt. Helaas is het hierdoor niet mogelijk om de reis nog online te kunnen boeken.<br /><br />Als u deze reis wilt reserveren kunt u telefonisch contact opnemen met Globe Telefonisch Reisburo, tel: 0900- 8482 (0,15 p.m.).</p>";$('bookingsmsg-wrap').style.display="block";}
else{var ytwcall=ytw_call('modSearch','update_calc_table',['calctabletab',xajax.getFormValues(formId),checkAvail]);var bBookFrameCalled=false;xajax.completeResponse=function(ytwcall){if(!bBookFrameCalled){loadBookFrame('bookpage');bBookFrameCalled=true;}}}}
function submitBookStep(target_bookstep){if(target_bookstep==bookSteps['payment']-1){showBookingLoader();current_bookstep=bookAccordion.showAccordion.previous(0).id;form_name=current_bookstep+'ContentForm';ytw_call('modSearch','activate_book_step',[current_bookstep,'payment',xajax.getFormValues(form_name,true),'bookpage'],bookHistory);}else{showBookingLoader(target_bookstep);bookAccordion.request($$('#bookform .accordion_toggle')[target_bookstep]);}}
function showBookingLoader(divId){if($('bookingLoaderContainer')){$('bookingLoaderContainer').style.display='block';}
if($('overlaybook')){$('overlaybook').style.display='block';}
$$("#bookform select").each(function(element){element.disabled=true;});$$("#bookform input").each(function(element){element.disabled=true;});}
function hideBookingLoader(){if(typeof hideResultLoader=='function'){hideResultLoader();}
if($('bookingLoaderContainer')){$('bookingLoaderContainer').style.display='none';}
if($('overlaybook')){$('overlaybook').style.display='none';}
$$("#bookform select").each(function(element){element.disabled=false;});$$("#bookform input").each(function(element){element.disabled=false;});}
function setOptionsGlobe(selectId,options,selected){var element=$(selectId);if(element){deleteOptions(selectId);options.each(function(option){var displayName=option[0];var id=option[1];var resultCount=-1;var displayText='';if(option[2]!=undefined){resultCount=option[2];}
if(selectId!='NightCount'){displayText=displayName;if(resultCount!=-1){displayText+=' ('+resultCount+')';}}else{displayText='dag';if(displayName!='1'){displayText=displayText+'en';}
displayText=(parseInt(displayName)+1)+' '+displayText;if(resultCount!=-1){displayText+=' ('+resultCount+')';}}
if(resultCount>=0){var option=new Option(displayText,id);$(selectId).options.add(option);}});$(selectId).disabled=false;}}
