
priceTableBlock=Class.create({initialize:function(inviso_id,widget_name){this.inviso_id=inviso_id;this.widget_name=widget_name;this.prices_template='prices';InvisoBlockManager.register(this,inviso_id,widget_name);},chooseNights:function(nights)
{inviso_ajax().block(this.inviso_id).action('chooseNight').set('name','NightCount').set('value',nights).action('getPrices').response('pricesView').send();},chooseAirport:function(airPort)
{inviso_ajax().block(this.inviso_id).action('chooseNight').set('name','DepartureAirport').set('value',airPort).action('getPrices').response('pricesView').send();},chooseDate:function(id){inviso_ajax().block(this.inviso_id).action('chooseDate').set('id',id).send();},start_book:function(agentId){ytw_call('modSearch','load_bookframe',['bookpage',agentId]);},hideUnavailablePrice:function(id){if(id!=undefined){var i;if(window.unavailableDates==undefined){window.unavailableDates=new Array();}
window.unavailableDates.push(id);for(i=0;i<window.unavailableDates.length;i++){if($(window.unavailableDates[i])){$(window.unavailableDates[i]).addClassName('red');document.getElementById(window.unavailableDates[i]).removeAttribute('onClick');}}}},showHiddenAirports:function(){$$('tr.hiddenAirport').each(function(s){Effect.toggle(s.id,'appear',{delay:0.3});});},chooseMonth:function(firstMonthDay,currentNightCount){this.firstMonthDay=firstMonthDay;inviso_ajax().block(this.inviso_id).action('chooseMonth').set('action',this.firstMonthDay).set('currentNightCount',currentNightCount).set('displayTpl',this.prices_template).response(this.prices_template).send();},showPriceTip:function(id){this.infoTable_template='tip';inviso_ajax().block(this.inviso_id).action('chooseDate').set('id',id).response(this.infoTable_template).callback(function(){var element=jQuery('#'+id);var position=element.position();var top=position.top+'px';var left=position.left+'px';var cssObj={'top':top,'left':left}
jQuery('.priceTip').css(cssObj).show('fast');}).send();},closePriceTip:function(){jQuery('.priceTip').hide('fast');},hideUnavailablePrice2:function(id){if(id!='undefined'){$(id).addClassName('red');document.getElementById(id).removeAttribute('onClick');var i;window.unavailableDates=new Array();window.unavailableDates.push(id);for(i=0;i<window.unavailableDates.length;i++){alert(window.unavailableDates[i]);}}}});

photoMapBlock=Class.create({initialize:function(inviso_id,widget_name)
{this.map=null;this.geocoder=null;this.text=null;this.inviso_id=inviso_id;this.widget_name=widget_name;InvisoBlockManager.register(this,inviso_id,widget_name);},searchByText:function(text)
{if(!this.geocoder){this.geocoder=new GClientGeocoder();}
this.geocoder.getLocations(text,function(response){if(!response||response.Status.code!=200){alert("Van deze locatie zijn op dit moment geen kaartgegevens beschikbaar. Onze welgemeende excuses hiervoor.");this.setCenter(new GLatLng(52.132633,5.291266),8);this.clearOverlays();}
else{place=response.Placemark[0];point=new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);var zoom;if(place.AddressDetails.Accuracy==8)zoom=16;else if(place.AddressDetails.Accuracy==7)zoom=16;else if(place.AddressDetails.Accuracy==6)zoom=15;else if(place.AddressDetails.Accuracy==5)zoom=14;else if(place.AddressDetails.Accuracy==4)zoom=13;else if(place.AddressDetails.Accuracy==3)zoom=12;else if(place.AddressDetails.Accuracy==2)zoom=11;else zoom=6;marker=new GMarker(point,{title:text,draggable:false});this.addOverlay(marker);this.setCenter(point,zoom);}}.bind(this.map));},loadGmap:function(region)
{if(GBrowserIsCompatible())
{this.map=new GMap2($(region));this.map.setCenter(new GLatLng(0,0),16);this.map.addControl(new GMapTypeControl());this.map.addControl(new GLargeMapControl());this.map.addOverlay(new GLayer('com.panoramio.all'));this.map.addOverlay(new GLayer('org.wikipedia.nl'));this.map.enableScrollWheelZoom();}}});

var iteration=0;function LoaderBlock(inviso_id,widget_name,options){this.inviso_id=inviso_id;this.widget_name=widget_name;InvisoBlockManager.register(this,inviso_id,widget_name);this.get_id=function(){return this.inviso_id;}}
LoaderBlock.manage_loader=function(divId){if(divId)
{xajax.callback.global.onRequest=function()
{$(divId).style.display='block';iteration++;}
xajax.callback.global.onComplete=function()
{iteration--;if(iteration==0)
{$(divId).style.display='none';}}}}

resultTableBlock=Class.create({initialize:function(inviso_id,widget_name)
{this.inviso_id=inviso_id;this.widget_name=widget_name;this.results_template='results_large';InvisoBlockManager.register(this,inviso_id,widget_name);},reloadPage:function(url)
{document.location.href=url;},manageCompare:function(action,accInfoCode,accId,boardType,nightCount,transportType,departureDate,pricePerPerson,departureAirport,boxID)
{inviso_ajax().block(this.inviso_id).action('add_acco_to_compare').set('action',action).set('AccommodationInfoCode',accInfoCode).set('AccommodationId',accId).set('BoardType',boardType).set('NightCount',nightCount).set('TransportType',transportType).set('DepartureDate',departureDate).set('PricePerPerson',pricePerPerson).set('DepartureAirport',departureAirport).send();}});function doTooltip(e,zooverDetailsList,testimonialCount)
{if(typeof Tooltip=="undefined"||!Tooltip.ready)return;$('zooverCount').innerHTML='<hr/>'+testimonialCount;$('scoreDiv').innerHTML="";for(var i=0;i<zooverDetailsList.length-1;i++)
{var name=zooverDetailsList[i][0];var score=zooverDetailsList[i][1];var newScoreDiv=document.createElement("DIV");newScoreDiv.innerHTML="<div class='scoresName'>"+name+"</div><div class='scoresValue'>"+score+"</div>";$('scoreDiv').insert(newScoreDiv);}
$('tipDiv').style.position='absolute';var zoover=$('zooverTooltip').innerHTML
Tooltip.show(e,zoover);}
function hideTip()
{if(typeof Tooltip=="undefined"||!Tooltip.ready)return;Tooltip.hide();}
var IE=document.all?true:false;if(!IE)document.captureEvents(Event.MOUSEMOVE)
document.onmousemove=getMouseXY;var tempX=0;var tempY=0;function getMouseXY(e){if(IE){var de=document.documentElement;var bdy=document.body;tempX=event.clientX+(de.scrollLeft||bdy.scrollLeft)-(de.clientLeft||0);tempY=event.clientY+(de.scrollTop||bdy.scrollTop)-(de.clientTop||0);}
else{tempX=e.pageX;tempY=e.pageY;}
if(tempX<0){tempX=0;}
if(tempY<0){tempY=0;}
window.xxxx=tempX;window.yyyy=tempY;return true;}
function getXY(e){x=(window.Event)?e.pageX:event.clientX;y=(window.Event)?e.pageY:event.clientY;window.xxxx=x;window.yyyy=y;}
function getPosition(){e=window.event;var cursor={x:0,y:0};if(e.pageX||e.pageY){cursor.x=e.pageX;cursor.y=e.pageY;}
else{var de=document.documentElement;var b=document.body;cursor.x=e.clientX+
(de.scrollLeft||b.scrollLeft)-(de.clientLeft||0);cursor.y=e.clientY+
(de.scrollTop||b.scrollTop)-(de.clientTop||0);}
window.xxxx=cursor.x;window.yyyy=cursor.y;return cursor;}
function showPriceIfExists(objId){var xobj=$(objId);if(typeof(xobj)=="object"){if(xobj!=null){xobj.style.display="block";xobj.style.visibility="";}}}
function hidePriceIfExists(objId){var xobj=$(objId);if(typeof(xobj)=="object"){if(xobj!=null){xobj.style.display="none";xobj.style.visibility="hidden";}}}
function movePriceIfExists(objId){var xobj=$(objId);if(typeof(xobj)=="object"){if(xobj!=null){xobj.style.display="block";xobj.style.visibility="";xobj.style.left=(window.xxxx+34).toString()+"px";xobj.style.top=(window.yyyy+34).toString()+"px";}}}

function DateSettings()
{this.dateInit=function()
{$("DepartureDate").value="";$("MaximumDepartureDate").value="";datePickerController.addEvent($("DepartureDate"),"change",setDates);};this.setDates=function()
{try{var minDate=datePickerController.getDatePicker("DepartureDate");var maxDate=datePickerController.getDatePicker("MaximumDepartureDate");var returnDate=datePickerController.getDatePicker("MaximumReturnDate");}catch(err){if(initAttempts++<10)setTimeout("setDates()",50);return;}
var dateForm=datePickerController.dateFormat(this.value,minDate.format.charAt(0)=="m");if(dateForm==0)return;var edv=datePickerController.dateFormat($("MaximumDepartureDate").value,maxDate.format.charAt(0));maxDate.setRangeLow(dateForm);returnDate.setRangeLow(dateForm);if(edv<dateForm){$("MaximumReturnDate").value="";$("MaximumDepartureDate").value="";}};this.removeDates=function()
{datePickerController.removeEvent($("DepartureDate"),"change",this.setDates);};this.dateInit=function()
{$("DepartureDate").value='';$("MaximumDepartureDate").value="";datePickerController.addEvent($("DepartureDate"),"change",setDates);};};function SearchClass(inviso_id,widget_name,form_name)
{selectionList=Class.create({initialize:function(){selection=Class.create({initialize:function(field,value){this.field=field;this.value=value;}});this.itemList=new Array();},addItem:function(field,value){this.itemList.push(new selection(field,value));},getItem:function(field){for(i=0;i<this.itemList.length;i++){if(this.itemList[i].field==field)return this.itemList[i];}
return false;},alertList:function(){for(i=0;i<this.itemList.length;i++){alert(this.itemList[i].field+" "+this.itemList[i].value);}},flushList:function(){this.itemList=new Array();}});this.selection_container=new selectionList();this.inviso_id=inviso_id;this.widget_name=widget_name;this.form_name=form_name;this.selectedOption=new Array();var forma=$(form_name);InvisoBlockManager.register(this,inviso_id,widget_name);this.init=function()
{var configObj=new configClass();if($('DepartureDate').value==''){$('DepartureDate').disabled='true';$('lblDepartureDate').addClassName('lblInactive');}
if(location.search==''){$('submitButton').addClassName('buttonInactive');$('submitButton').removeAttribute('href');inviso_ajax().block(inviso_id).action('update_select_fields').set('arrCrits',configObj.getConfig('Init')).set('arrConfig',configObj.getConfig('Configuration')).set('place','Init').send();}else{inviso_ajax().block(inviso_id).action('update_select_fields').set('arrCrits',configObj.getConfig('Init')).set('arrConfig',configObj.getConfig('Configuration')).set('place','Init').send();inviso_ajax().block(inviso_id).action('update_select_fields').set('arrCrits',configObj.getConfig('Parameter')).set('arrConfig',configObj.getConfig('Configuration')).set('place','Parameter').send();}};this.initOnChange=function()
{this.init();for(var i=0;i<forma.length;i++){forma[i].onchange=function(){if(this.id)
{$('submitButton').removeClassName('buttonInactive');$('submitButton').setAttribute('href',"javascript:document.getElementById('form_search').submit();");var configObj=new configClass();configObj.fillConfigFile(forma,this.id,'selection');configObj.fillConfigFile(forma,this.id,'update');inviso_ajax().block(inviso_id).action('update_select_fields').set('arrCrits',configObj.getConfig(this.id)).set('arrConfig',configObj.getConfig('Configuration')).set('place',this.id).send();}};}};this.disableSelections=function(divID,value)
{var elementID=forma[divID];if(value=='true'){if(elementID.options.length>0)
elementID.options[0].selected=true;elementID.setAttribute("disabled","disabled");$('lbl'+elementID.id).addClassName('lblInactive');}
else{elementID.removeAttribute("disabled");$('lbl'+elementID.id).removeClassName('lblInactive');}};this.flushList=function(){this.selection_container.flushList();};this.setSelectedOption=function(divID){var selectList=forma[divID];if(selectList.selectedIndex!=''){this.selection_container.addItem(divID,selectList.options[selectList.selectedIndex].value);}};this.addOption=function(selectId,optionName,optionValue,isSelected)
{var theSelectList=forma[selectId];var select=this.selection_container.getItem(selectId);if(select!=false&&select.value==optionValue){isSelected=true;}
AddSelectOption(theSelectList,optionName,optionValue,isSelected);function AddSelectOption(selectObj,text,value,isSelected){if(selectObj!=null&&selectObj.options!=null){selectObj.options[selectObj.options.length]=new Option(text,value,false,isSelected);}}};this.sortSelection=function(selectID){var lb=$(selectID);arrTexts=new Array();arrValues=new Array();selected=null;for(i=1;i<lb.length;i++){arrTexts[i]=lb.options[i].text;arrValues[lb.options[i].text]=lb.options[i].value;if(lb.options[i].selected)selected=arrValues[lb.options[i].text];}
arrTexts.sort();for(i=1;i<lb.length;i++){lb.options[i].text=arrTexts[i-1];lb.options[i].value=arrValues[arrTexts[i-1]];if(lb.options[i].value==selected)
lb.options[i].selected=true;}};this.addText=function(divID,information)
{$(divID).innerHTML=information;};this.blockZookAndAdvForm=function()
{$('submitButton').addClassName('buttonInactive');$('submitButton').removeAttribute('href');jQuery('#searchLink a').addClass('linkInactive');jQuery('#searchLink a').removeAttr('href');};this.unBlockZookAndAdvForm=function(formVersion)
{$('submitButton').removeClassName('buttonInactive');$('submitButton').setAttribute('href',"javascript:document.getElementById('form_search').submit();");jQuery('#searchLink a').removeClass('linkInactive');if(formVersion=='homepage')
{jQuery('#searchLink a').attr('href',"/advanced_search");}
else if(formVersion=='advanced_search')
{jQuery('#searchLink a').attr('href',"/homepage");}};this.blockZook=function()
{$('submitButton').addClassName('buttonInactive');$('submitButton').removeAttribute('href');};this.unBlockZook=function()
{$('submitButton').removeClassName('buttonInactive');$('submitButton').setAttribute('href',"javascript:document.getElementById('form_search').submit();");};this.addCharacteristic=function(divID,information)
{$(divID).innerHTML=$(divID).innerHTML+information;};this.addAllCharacteristics=function(information)
{$('character').innerHTML=information;};this.delText=function(divID)
{$(divID).innerHTML='';};this.dellAllOptions=function(divID)
{var selectList=forma[divID];for(i=selectList.options.length-1;i>=0;i--)
{selectList.remove(i);}};this.clearSearchForm=function()
{var configObj=new configClass();$('DepartureDate').value='';$('DepartureDate').disabled='true';inviso_ajax().block(inviso_id).action('clear_search_form').action('update_select_fields').set('arrCrits',configObj.getConfig('Init')).set('arrConfig',configObj.getConfig('Configuration')).set('place','Init').send();this.init();};this.addTextToInput=function(divID,text){var elementID=forma[divID];elementID.value=text;};this.removeTextFromInput=function(divID){var elementID=forma[divID];elementID.value='';}};

flickrPhotosBlock=Class.create({initialize:function(inviso_id,widget_name)
{this.inviso_id=inviso_id;this.widget_name=widget_name;InvisoBlockManager.register(this,inviso_id,widget_name);inviso_ajax().block(this.inviso_id).action('get_pictures').set('id',this.inviso_id).set('name',this.widget_name).response('photoList').send();}});

priceTableBlock=Class.create({initialize:function(inviso_id,widget_name)
{this.inviso_id=inviso_id;this.widget_name=widget_name;this.prices_template='prices';this.error_msg=false;this.it=0;this.room_codes=new Array();InvisoBlockManager.register(this,inviso_id,widget_name);},start_book:function(anvr)
{ytw_call('modSearch','load_bookframe',['region_one',anvr]);InvisoBlockManager.get_block_by_widget_name('steps').loadBookingStep();},hideUnavailablePrice:function(id)
{if(id!=undefined)
{var i;if(window.unavailableDates==undefined)
{window.unavailableDates=new Array();}
window.unavailableDates.push(id);for(i=0;i<window.unavailableDates.length;i++)
{if($(window.unavailableDates[i]))
{$(window.unavailableDates[i]).addClassName('red');document.getElementById(window.unavailableDates[i]).removeAttribute('onClick');}}}},addRoomInfo:function(divID,text,isSelected)
{if(isSelected==undefined)
{isSelected=0;}
this.room_codes[this.it]=divID;this.it++;this.addOption($('roomChooser'),text,divID,isSelected);return text;},hideAllRooms:function(){for(var i=0;i<this.it;i++){jQuery('#'+this.room_codes[i]).hide();}},showRoom:function(roomID){jQuery('#'+roomID).fadeIn("slow").show();jQuery('#roomChooser'+roomID).fadeIn("slow").show();},addOption:function(selectId,optionName,optionValue,isSelected)
{var theSelectList=selectId;AddSelectOption(theSelectList,optionName,optionValue,isSelected);function AddSelectOption(selectObj,text,value,isSelected){if(selectObj!=null&&selectObj.options!=null){selectObj.options[selectObj.options.length]=new Option(text,value,false,isSelected);}}},showHiddenAirports:function()
{$$('tr.hiddenAirport').each(function(s)
{Effect.toggle(s.id,'appear',{delay:0.3});});},showPriceTip:function(id)
{this.error_msg=false;inviso_ajax().block(this.inviso_id).action('chooseDate').set('id',id).response('tip').callback(function(){if(this.error_msg){var element=jQuery('#'+id);var position=element.position();var top=position.top-220+'px';var left=position.left-220+'px';var cssObj={'top':top,'left':left}
jQuery('.priceTip').css(cssObj).show('slow');}}).send();},showErrorMessage:function(id){this.error_msg=true;},closePriceTip:function()
{jQuery('.priceTip').hide('fast');},setAnvr:function(anvr)
{inviso_ajax().block(this.inviso_id).action('setAnvr').set('agent_index',anvr).send();jQuery('.selectChooser').css("border","none");},markAnvrSelect:function()
{jQuery('.selectChooser').css("border","1px solid red");}});

tabMenuBlock=Class.create({initialize:function(inviso_id,widget_name,tab_name)
{this.tab_name=tab_name;this.inviso_id=inviso_id;this.widget_name=widget_name;this.tabs=new Control.Tabs(this.tab_name);this.initObserver();this.tabs.first();InvisoBlockManager.register(this,inviso_id,widget_name);},setActiveTab:function(id)
{this.tabs.setActiveTab(id);},initObserver:function()
{var id=this.inviso_id;var loaded=new Array();this.tabs.observe('beforeChange',function(old_container,new_container){if(typeof(loaded[new_container.id])=="undefined")
{inviso_ajax().block(id).action('load_tab').set('url',new_container.id).send();loaded[new_container.id]=true;}});},display:function(divID,data)
{$(divID).innerHTML=data;}});

function LoadVideoBar(tag,container,playerContainer,master,cycleMode){var options={string_allDone:" ",master:master,largeResultSet:false,horizontal:true,autoExecuteList:{cycleTime:GSvideoBar.CYCLE_TIME_SMALL,cycleMode:cycleMode,executeList:[""+tag+""]}}
videoBar=new GSvideoBar(document.getElementById(container),document.getElementById(playerContainer),options);}

stepsBlock=Class.create({initialize:function(inviso_id,widget_name)
{this.inviso_id=inviso_id;this.widget_name=widget_name;InvisoBlockManager.register(this,inviso_id,widget_name);},loadBookingStep:function(step_name){inviso_ajax().block(this.inviso_id).action('loadBookingStep').response('steps').send();}})
