
var deeplink={init:function(inviso_deeplink_url,session_id,supplier_id,site_id,campaign_id,deeplink_url,app_status){this.disable_all_links();Event.observe(window,'load',function(){setTimeout(function(){deeplink.redirect(inviso_deeplink_url,session_id,supplier_id,site_id,campaign_id,deeplink_url,app_status);},2000);});},disable_all_links:function(){var all_links=$$('a').concat($$('input'));for(var i=0,k=all_links.length;i<k;++i){all_links[i].setAttribute('onclick','return false;');all_links[i].setAttribute('onfocus','this.blur();');}},redirect:function(inviso_deeplink_url,session_id,supplier_id,site_id,campaign_id,deeplink_url,app_status){url=inviso_deeplink_url+'?SessionId='+session_id+'&Touroperator='+supplier_id+'&SiteId='+site_id+'&Campaign='+campaign_id+'&Deeplink='+deeplink_url+'&AppStatus='+app_status;document.location.replace(url);}}

function getSelVal(obj)
{return obj.options[obj.selectedIndex].value;}

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';}}}}
"use strict";var urlParser=(function(){var urlObj;function parse(url){var i,tmpKey;urlObj={};url=url.replace(/^\?/,'').split('&');for(i=0;i<url.length;++i){url[i]=url[i].split('=',2);add(url[i][0],url[i][1]);}
return this;}
function add(key,value){var tmpKey=encodeURIComponent(key.substring(0,key.length-2));value=encodeURIComponent(value);if(key.substring(key.length-2)==='[]'){if(urlObj[tmpKey]){if(urlObj[tmpKey].constructor===Array){urlObj[tmpKey].push(value);}else{urlObj[tmpKey]=[urlObj[tmpKey],value];}}else{urlObj[tmpKey]=[value];}}else{key=encodeURIComponent(key);if(urlObj[key]&&urlObj[key].constructor===Array){urlObj[key].push(value);}else{urlObj[key]=value;}}
return this;}
function replace(key,value){var tmpKey;if(key.substring(key.length-2)==='[]'){tmpKey=key.substring(0,key.length-2);urlObj[encodeURIComponent(tmpKey)]=[encodeURIComponent(value)];}else{urlObj[encodeURIComponent(key)]=encodeURIComponent(value);}
return this;}
function remove(key,value){key=encodeURIComponent(key);if(typeof value==='undefined'){delete urlObj[key];}else{if(value.constructor===Array){if(urlObj[key].constructor===Array&&urlObj[key].toString()===value.toString()){delete urlObj[key];}}else{value=encodeURIComponent(value);if(urlObj[key].constructor===Array){for(i in urlObj[key]){if(urlObj[key].hasOwnProperty(i)&&urlObj[key]===value){delete urlObj[key];}}}else if(urlObj[key]===value){delete urlObj[key];}}}
return this;}
function get(){var ret='',key,i;for(key in urlObj){if(urlObj.hasOwnProperty(key)){if(urlObj[key].constructor===Array){for(i in urlObj[key]){if(urlObj[key].hasOwnProperty(i)){ret+='&'+key+'[]='+urlObj[key][i];}}}else{ret+='&'+key+'='+urlObj[key];}}}
return'?'+ret.substring(1);}
function init(){parse(location.search);}
init();return{parse:parse,add:add,replace:replace,remove:remove,get:get,toString:get};}());var result_table={initAttempts:0,setDates:function(){var minDate,maxDate,dateForm,edv;try{minDate=datePickerController.getDatePicker("MinimumDepartureDate");maxDate=datePickerController.getDatePicker("MaximumDepartureDate");}catch(err){if(this.initAttempts++<10){setTimeout(function(){this.setDates();},50);}
return;}
dateForm=datePickerController.dateFormat(this.value,minDate.format.charAt(0)=="m");if(dateForm==0){return;}
edv=datePickerController.dateFormat($("MaximumDepartureDate").value,maxDate.format.charAt(0));maxDate.setRangeLow(dateForm);if(edv<dateForm){$("MaximumDepartureDate").value="";}},removeDates:function(){datePickerController.removeEvent($("MinimumDepartureDate"),"change",this.setDates);}};var resultTableBlock=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_search_results').action('navigation').send();},navigation:function(page,results_per_page){location.search=urlParser.replace('pageNumber',page).replace('resultsPerPage',results_per_page).get();},sort:function(what){location.search=urlParser.replace('sortName',what).get();},deleteCriterium:function(name,id){location.search=urlParser.remove(name,id).get();},setDates:function(minDate,maxDate){if(minDate!=''&&maxDate!=''){location.search=urlParser.replace('MinimumDepartureDate',minDate).replace('MaximumDepartureDate',maxDate).get();}}});

function DateSettings()
{this.dateInit=function()
{$("MinimumDepartureDate").value="";$("MaximumDepartureDate").value="";datePickerController.addEvent($("MinimumDepartureDate"),"change",setDates);};this.setDates=function()
{try{var minDate=datePickerController.getDatePicker("MinimumDepartureDate");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($("MinimumDepartureDate"),"change",this.setDates);};this.dateInit=function()
{$("MinimumDepartureDate").value="";$("MaximumDepartureDate").value="";datePickerController.addEvent($("MinimumDepartureDate"),"change",setDates);};};function SearchClass(inviso_id,widget_name,form_name)
{this.inviso_id=inviso_id;this.widget_name=widget_name;this.form_name=form_name;var forma=$(form_name);InvisoBlockManager.register(this,inviso_id,widget_name);function configClass()
{var cnf={Filter:{},Init:{update:{Country:true,Characteristic:true},selection:{},disabled:{District:true,Place:true,PersonCount:true,BedroomCount:true,TourOperator:true,AccommodationType:true,NightCount:true}},Country:{update:{Country:true,District:true,Place:true,PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,AccommodationType:true,Characteristic:true},selection:{Country:true,PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true},disabled:{Country:false,District:false,Place:false,PersonCount:false,BedroomCount:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'Init'}},District:{update:{Place:true,NightCount:true,PersonCount:true,BedroomCount:true,TourOperator:true,AccommodationType:true,Characteristic:true},selection:{Country:true,District:true,Place:true,PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'District'}},Place:{update:{PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,AccommodationType:true,Characteristic:true},selection:{Country:true,District:true,Place:true,PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'Place'}},PersonCount:{update:{BedroomCount:true,NightCount:true,TourOperator:true,Characteristic:true},selection:{Country:true,District:true,Place:true,PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'Country'}},BedroomCount:{update:{NightCount:true,TourOperator:true,Characteristic:true},selection:{Country:true,District:true,Place:true,PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'Country'}},NightCount:{update:{TourOperator:true,Characteristic:true},selection:{Country:true,District:true,Place:true,PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'NightCount'}},TourOperator:{update:{Characteristic:true},selection:{Country:true,District:true,Place:true,PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'TourOperator'}},MinimumDepartureDate:{update:{Country:true,District:true,Place:true,NightCount:true,TourOperator:true,AccommodationType:true,Characteristic:true},selection:{Country:true,District:true,Place:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'Country'}},MaximumDepartureDate:{update:{Country:true,District:true,Place:true,NightCount:true,TourOperator:true,AccommodationType:true,Characteristic:true},selection:{Country:true,District:true,Place:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'Country'}},AccommodationType:{update:{PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,Characteristic:true},selection:{Country:true,District:true,Place:true,PersonCount:true,BedroomCount:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'AccommodationType'}},AccommodationName:{update:{Country:true,District:true,Place:true,NightCount:true,TourOperator:true,AccommodationType:true,Characteristic:true},selection:{Country:true,District:true,Place:true,NightCount:true,TourOperator:true,MinimumDepartureDate:true,MaximumDepartureDate:true,AccommodationType:true,AccommodationName:true},disabled:{Country:false,District:false,Place:false,NightCount:false,TourOperator:false,AccommodationType:false},emptyselection:{run:'Country'}}};this.getConfig=function(ID)
{return cnf[ID];};this.getType=function(field,typer)
{var typ=field.constructor.toString().match(typer);if(typ!=null)return true;else return false;};this.fillConfigFile=function(forma,selectID,fieldName)
{for(x in cnf[selectID][fieldName])
{if(forma[x]&&forma[x].value!=""){if(cnf[selectID][fieldName][x]==true){if(forma[x].options){cnf[selectID][fieldName][x]=forma[x].value+':'+forma[x].options[forma[x].selectedIndex].text;}
else{cnf[selectID][fieldName][x]=forma[x].value;}}}
else{cnf[selectID][fieldName][x]='';}}}};this.init=function()
{var configObj=new configClass();if($('fd-but-MinimumDepartureDate')!=null)
$('fd-but-MinimumDepartureDate').setAttribute('disabled','disabled');if($('fd-but-MaximumDepartureDate')!=null)
$('fd-but-MaximumDepartureDate').setAttribute('disabled','disabled');if($('fd-but-MaximumReturnDate')!=null)
$('fd-but-MaximumReturnDate').setAttribute('disabled','disabled');if($('AccommodationName')!=null)
$('AccommodationName').setAttribute('disabled','disabled');$('submit_button').setAttribute('disabled','disabled');inviso_call(inviso_id,'update_select_fields',{"arrCrits":configObj.getConfig('Init'),"arrFilter":configObj.getConfig('Filter')});};this.initOnChange=function()
{this.init();for(var i=0;i<forma.length;i++){forma[i].onchange=function(){if(this.id)
{if($('fd-but-MinimumDepartureDate')!=null)
$('fd-but-MinimumDepartureDate').removeAttribute('disabled');if($('fd-but-MaximumDepartureDate')!=null)
$('fd-but-MaximumDepartureDate').removeAttribute('disabled');if($('fd-but-MaximumReturnDate')!=null)
$('fd-but-MaximumReturnDate').removeAttribute('disabled');if($('AccommodationName')!=null)
$('AccommodationName').removeAttribute('disabled');$('submit_button').removeAttribute('disabled');var configObj=new configClass();configObj.fillConfigFile(forma,this.id,'selection');configObj.fillConfigFile(forma,this.id,'update');inviso_call(inviso_id,'update_select_fields',{"arrCrits":configObj.getConfig(this.id),"arrFilter":configObj.getConfig('Filter')});}};}};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");}
else{elementID.removeAttribute("disabled");}};this.addOption=function(selectId,optionName,optionValue,isSelected)
{var theSelectList=forma[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);}}};this.addText=function(divID,information)
{$(divID).innerHTML=$(divID).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);}};};

if(typeof sIFR=="function"){sIFR.replaceElement("div.text_title",named({sFlashSrc:"/swf/bail.swf",nPaddingBottom:"0",sColor:"#0066CC",sLinkColor:"#D9408C",sHoverColor:"#D9408C",sWmode:"transparent"}));sIFR.replaceElement("div.menu_home h3",named({sFlashSrc:"/swf/bail.swf",nPaddingBottom:"0",sColor:"#FFFFFF",sLinkColor:"#FFFFFF",sHoverColor:"#FFFFFF",sWmode:"transparent"}));sIFR.replaceElement("ul.menu_default li#active",named({sFlashSrc:"/swf/bail.swf",nPaddingBottom:"0",sColor:"#0066CC",sLinkColor:"#D9408C",sHoverColor:"#D9408C",sWmode:"transparent",sFlashVars:"textalign=right"}));sIFR.replaceElement("ul.menu_default li",named({sFlashSrc:"/swf/bail.swf",nPaddingBottom:"0",sColor:"#0066CC",sLinkColor:"#408CD9",sHoverColor:"#D9408C",sWmode:"transparent",sFlashVars:"textalign=right"}));sIFR.replaceElement("ul.menu_default_newsletter li#active",named({sFlashSrc:"/swf/bail.swf",nPaddingBottom:"0",sColor:"#0066CC",sLinkColor:"#D9408C",sHoverColor:"#D9408C",sWmode:"transparent",sFlashVars:"textalign=right"}));sIFR.replaceElement("ul.menu_default_newsletter li",named({sFlashSrc:"/swf/bail.swf",nPaddingBottom:"0",sColor:"#0066CC",sLinkColor:"#408CD9",sHoverColor:"#D9408C",sWmode:"transparent",sFlashVars:"textalign=right"}));};Event.observe(window,'load',function(){$$('div#menuImages a').each(function(menuLink){if(menuLink.style.display=='block'){menuLink.active=true;}else{menuLink.active=false;}});});function changeMenuImage(x){var showId='menu_image_'+x;var nZindex=10;if(!window.menuImagesAciveId){window.menuImagesAciveId=showId;}
if(showId!=window.menuImagesAciveId){$$('div#menuImages a').each(function(menuLink){if(menuLink.id==showId){menuLink.style.zIndex=20;Effect.Appear(menuLink.id,{duration:1.5});}else if(menuLink.id==window.menuImagesAciveId){menuLink.style.zIndex=nZindex--;Effect.Fade(menuLink.id,{duration:1.0});}});window.menuImagesAciveId=showId;checkActiveMenuImage();}}
function checkActiveMenuImage(){setTimeout(function(){if($(window.menuImagesAciveId).style.display!='block'){$(window.menuImagesAciveId).style.display='block';}},1500);}
function changeMenuImageRemote(obj){var title='';$$("#"+obj.id+" h3").each(function(h3){h3.cleanWhitespace()
title=h3.innerHTML;});var key=0;$$('.menu_home_top a').each(function(menuLink){menuLink.cleanWhitespace();if(menuLink.innerHTML==title){changeMenuImage(key);}
key++;});}

