

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);},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).response('loadTab').send();loaded[new_container.id]=true;}});},display:function(divID,data)
{$(divID).innerHTML=data;}});

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++;});}

function CalcTableBlock(inviso_id,widget_name){this.inviso_id=inviso_id;this.widget_name=widget_name;InvisoBlockManager.register(this,inviso_id,widget_name);params=new Array();this.updateCalcTable=function(formvalues){if(formvalues==undefined){formvalues=new Array();}
inviso_ajax().block(inviso_id).action('update_calc_table').set('blockid',inviso_id).set('divId','calctabletab').set('check_availability',false).set('show_receipt',true).set('params',formvalues).callback(this.highlight).send();}
this.highlight=function(){new Effect.Highlight('calctabletab',{startcolor:'#ffff99',endcolor:'#ffffff'});}
this.get_id=function(){return this.inviso_id;}
this.alarm=function(data){alert(data);return 1;}
this.blockBookButton=function(){if($('bookbutton')!=undefined)
{$('bookbutton').update('<span class="info">Kies een datum</span>');}}}
CalcTableBlock.display=function(divId,data){$(divId).innerHTML=data;return 1;}
function loadBookFrame(divId){var agentId='';if($('agentId')){agentId=$('agentId').value;if(agentId==''||agentId=='Selecteer'){alert('Selecteer een reisbureau');return false;}}
ytw_call('modSearch','load_bookframe',[divId,agentId]);window.focus();window.scroll(0,0);}
CalcTableBlock.addToSelection=function(name,value){var block=InvisoBlockManager.get_block_by_widget_name('calctable');var blockid=block.get_id();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;inviso_call(blockid,'update_calc_table',{'blockid':blockid,'divId':'calctabletab','check_availability':false,'show_receipt':true,'params':params});}}

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();},displayPicture:function(divID,image)
{alert(divID+' '+image);}});

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;InvisoBlockManager.register(this,inviso_id,widget_name);inviso_ajax().block(this.inviso_id).action('manage_criteriums').set('action','parameters').set('params','').action('get_search_results').set("action",'init').action('sort_results').set('sortName','init').action('navigation').set('pageNumber',1).set('resultsPerPage',10).send();},navigation:function(page,results_per_page)
{inviso_ajax().block(this.inviso_id).action('navigation').set('pageNumber',page).set('resultsPerPage',results_per_page).action('get_search_results').set("action",'navigation').send();},sort:function(what)
{inviso_ajax().block(this.inviso_id).action('sort_results').set('sortName',what).action('get_search_results').set('action','sort').send();},deleteCriterium:function(name,id)
{inviso_ajax().block(this.inviso_id).action('manage_criteriums').set('action','delete').set('crit_name',name).set('crit_id',id).action('get_search_results').set("action",'init').action('sort_results').set('sortName','init').action('navigation').set('pageNumber',1).set('resultsPerPage',10).send();}});

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);}};};

function SearchformBlock(inviso_id,widget_name){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;}
initOnChanges('SearchForm');}
SearchformBlock.update_search_form=function(crit_name,crit_value){var block=InvisoBlockManager.get_block_by_widget_name('searchform');inviso_call(block.get_id(),'update_search_form',{'criterium_name':crit_name,'criterium_value':crit_value});}
SearchformBlock.get_searchform_block=function(){var block=InvisoBlockManager.get_block_by_widget_name('searchform');return block;}
var selectElements=new Array();function initOnChanges(formName){var allowed=new Array('Regions_Countries','District','Place','TransportType','MinimumDepartureDate','AccommodationType');for(var i=0;i<allowed.length;i++){if($(allowed[i])){selectElements[i]=$(allowed[i]);}}
for(var i=0;i<selectElements.length;i++){if(selectElements[i]){selectElements[i].onchange=function(){var block=SearchformBlock.get_searchform_block();var action='add';var name=this.id;var value=this.value;if(this.id=="Regions_Countries"){deleteOptions('Place');if(this.value==''){var action='del';var name='Country';}else{var arr_crit_val=this.value.split('-');var name=arr_crit_val[0];var value=arr_crit_val[1];}}
inviso_call(block.get_id(),'update_search_form',{'action':action,'criterium_name':name,'criterium_value':value});}}}}
function deleteOptions(elementName){$(elementName).length=1;}
function resetForm(){var allowed=new Array('District','Place','TransportType','MinimumDepartureDate','AccommodationType');for(var i=0;i<allowed.length;i++){if($(allowed[i])){deleteOptions($(allowed[i]));}}}
function setOptions(selectId,options,selected){var element=$(selectId);if(element){deleteOptions(selectId);options.each(function(option){var displayName=option[0];var resultCount=-1;var displayText='';if(option[1]!=undefined){resultCount=option[1];}
if(selectId!='NightCount'){displayText=displayName;}else{displayText='dag';if(displayName!='1'){displayText=displayText+'en';}
displayText=(parseInt(displayName)+1)+' '+displayText;}
if(resultCount!=0){displayName=option[1];var option=new Option(displayText,displayName);element.options.add(option);}});$(selectId).disabled=false;}}
function setSelectedOption(critname,critvalue){if(critname=='Region'&&$('Country')){$('Country').value='';}else if(critname=='Country'&&$('Region')){$('Region').value='';}
$(critname).value=critvalue;}

function PricetableBlock(inviso_id,widget_name){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;}
this.alarm=function(data){alert(data);return 1;}
this.display=function(divId,data){$(divId).innerHTML=data;return 1;}}
function setNightRange(rows,cols,divId,nights){for(i=0;i<(rows*cols);i++){if($('price'+i)){if($('price'+i).className!='noprice'){if($('price'+i).className=='lastrow'){$('price'+i).className="lastrow priceDeselected";}else if($('price'+i).className=='lastcel'){$('price'+i).className="lastcel priceDeselected";}else if($('price'+i).className=='lastrow lastcel'){$('price'+i).className="lastrow lastcel priceDeselected";}else if($('price'+i).className=='lastrow priceDeselected'||$('price'+i).className=='lastrow priceSelected'){$('price'+i).className="lastrow priceDeselected";}else if($('price'+i).className=='lastcel priceDeselected'||$('price'+i).className=='lastcel priceSelected'){$('price'+i).className="lastcel priceDeselected";}else if($('price'+i).className=='lastrow lastcel priceDeselected'||$('price'+i).className=='lastrow lastcel priceSelected'){$('price'+i).className="lastrow lastcel priceDeselected";}else{$('price'+i).className="priceDeselected";}}}}
if($('price'+divId).className=='lastrow'){$('price'+divId).className='lastrow priceSelected';}else if($('price'+divId).className=='lastcel'){$('price'+divId).className='lastcel priceSelected';}else if($('price'+divId).className=='lastrow lastcel'){$('price'+divId).className='lastrow lastcel priceSelected';}else if($('price'+divId).className=='lastrow priceDeselected'||$('price'+divId).className=='lastrow priceSelected'){$('price'+divId).className='lastrow priceSelected';}else if($('price'+divId).className=='lastcel priceDeselected'||$('price'+divId).className=='lastcel priceSelected'){$('price'+divId).className='lastcel priceSelected';}else if($('price'+divId).className=='lastrow lastcel priceDeselected'||$('price'+divId).className=='lastrow lastcel priceSelected'){$('price'+divId).className='lastrow lastcel priceSelected';}else{$('price'+divId).className='priceSelected';}
for(i=0;i<nights;i++){if($('price'+divId)){divId=divId+cols;if($('price'+divId))$('price'+divId).className="priceSelectedRange";}}}
function choosePrice(formId,depDate,nightCount,checkAvail){$(formId).DepartureDate.value=depDate;$(formId).NightCount.value=nightCount;var blockcalc=InvisoBlockManager.get_block_by_widget_name('calctable');blockcalc.updateCalcTable(xajax.getFormValues(formId));}
PricetableBlock.addToSelection=function(name,value,formId)
{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;}
var priceBlock=InvisoBlockManager.get_block_by_widget_name('price_table');inviso_call(priceBlock.get_id(),'update_price_info',{'divId':'pricetabletab','params':params});var blockcalc=InvisoBlockManager.get_block_by_widget_name('calctable');blockcalc.blockBookButton();}
function PhotoSliderBlock(inviso_id,widget_name){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;}}
var Carousel=Class.create();Carousel.prototype={initialize:function(carouselElemID){this.carouselElemID=carouselElemID;this.options=Object.extend({numVisible:4,scrollInc:3,animParameters:{},buttonStateHandler:null,animHandler:null,ajaxHandler:null,initDoneHandler:null,queue:"carousel-list",size:0,prevElementID:"prev-arrow",nextElementID:"next-arrow",ajaxParameters:null,url:null,counter:null,cid:null,preload:null},arguments[1]||{});this.initDone=false;this.animRunning="none";this.requestIsRunning=false;this.animAfterFinish=this.options.animParameters.afterFinish;Object.extend(this.options.animParameters,{afterFinish:this._animDone.bind(this),queue:{position:'end',scope:this.options.queue}});this.prevScroll=this._prevScroll.bindAsEventListener(this);this.nextScroll=this._nextScroll.bindAsEventListener(this);this.onComplete=this._onComplete.bindAsEventListener(this);this.onFailure=this._onFailure.bindAsEventListener(this);Event.observe(this.options.prevElementID,"click",this.prevScroll);Event.observe(this.options.nextElementID,"click",this.nextScroll);var carouselListClass="carousel-list";this.carouselList=$$("#"+carouselElemID+" ul.carousel-list").first();this.options.size=$(this.carouselList.getElementsByTagName("li")).length;this._init();},destroy:function(){Event.stopObserving(this.options.prevElementID,"click",this.prevScroll);Event.stopObserving(this.options.nextElementID,"click",this.nextScroll);},scrollTo:function(newStart){var old_inc=this.options.scrollInc;this.ignoreNoMoreImages=true;if(newStart>this.currentIndex){this.options.scrollInc=newStart-this.currentIndex;this._nextScroll(this);}else{this.options.scrollInc=this.currentIndex-newStart;this._prevScroll(this);}
this.options.scrollInc=old_inc;},_init:function(){var imagecounter=0;var carouselId=this.options.cid;this.options.preload.each(function(imgsrc){if(imgsrc!=''){$('preload_'+carouselId+'_'+imagecounter).src=imgsrc;}
imagecounter++;});this.currentIndex=0;this._getLiElementSize();if(this.options.url){this._request(this.currentIndex,this.options.numVisible);}else{this._getLiElementSize();this._updateButtonStateHandler(this.options.prevElementID,false);this._updateButtonStateHandler(this.options.nextElementID,this.options.size>this.options.numVisible);}},_prevScroll:function(event){if(this.animRunning!="none"||this.currentIndex==0){return;}
var inc=this.options.scrollInc;if(this.currentIndex-inc<0){inc=this.currentIndex;}
this._scroll(inc,true)
if($(this.options.counter)){$(this.options.counter).innerHTML=this.currentIndex+1;this._checkNextImage();this._checkPrevImage();}
return false;},_nextScroll:function(event){if(this.animRunning!="none"){return false;}
if(this.currentIndex+this.options.numVisible+this.options.scrollInc<=this.options.size){this._scroll(-this.options.scrollInc);}else{this.nbInCache=this.options.size-(this.currentIndex+this.options.numVisible);if(this.options.url&&this.noMoreImages==false){this._request(this.currentIndex+this.options.numVisible+this.nbInCache,this.options.scrollInc-this.nbInCache);}else{if(this.nbInCache>0)
this._scroll(-this.nbInCache,true);}}
this._checkNextImage();this._checkPrevImage();return false;},_request:function(start,nb){if(this.options.url&&!this.requestIsRunning){this.requestIsRunning=true;if(this.options.ajaxHandler){this.options.ajaxHandler(this,"before");}
var params="start="+start+"&nb="+nb;if(this.options.ajaxParameters!=null){params+="&"+this.options.ajaxParameters;}
new Ajax.Request(this.options.url,{parameters:params,onComplete:this.onComplete,onFailure:this.onFailure});}},_onComplete:function(originalRequest){this.requestIsRunning=false;this.carouselList.innerHTML+=originalRequest.responseText;var size=this.options.size;this.options.size=this.carouselList.getElementsByTagName("li").length;var inc=this.options.size-size;if(this.initDone==false){this._getLiElementSize()
this.currentIndex=0;this.initDone=true;if(this.options.initDoneHandler){this.options.initDoneHandler(this);}
this._updateButtonStateHandler(this.options.prevElementID,false);this._updateButtonStateHandler(this.options.nextElementID,this.options.size==this.options.numVisible);this.noMoreImages=this.options.size<this.options.numVisible}
else{if(!this.ignoreNoMoreImages){this.noMoreImages=inc!=this.options.scrollInc;}else{this.ignoreNoMoreImages=false;}
if(inc>0){this._scroll(-inc,this.noMoreImages)}
else{if(this.nbInCache>0)
this._scroll(-this.nbInCache,true);this._updateButtonStateHandler(this.options.nextElementID,false);}}
if(this.options.ajaxHandler){this.options.ajaxHandler(this,"after");}},_onFailure:function(originalRequest){this.requestIsRunning=false;},_animDone:function(event){if(this.options.animHandler)
this.options.animHandler(this.carouselElemID,"after",this.animRunning);this.animRunning="none";if(this.animAfterFinish){this.animAfterFinish(event);}},_updateButtonStateHandler:function(button,state){if(this.options.buttonStateHandler){this.options.buttonStateHandler(button,state);}},_scroll:function(delta,forceDisableNext){this.animRunning=delta>0?"prev":"next";if(this.options.animHandler){this.options.animHandler(this.carouselElemID,"before",this.animRunning);}
new Effect.MoveBy(this.carouselList,0,delta*this.elementSize,this.options.animParameters);this.currentIndex-=delta;this._updateButtonStateHandler(this.options.prevElementID,this.currentIndex!=0);if(this.options.url&&this.noMoreImages==false){enable=true;}else{enable=(this.currentIndex+this.options.numVisible<this.options.size);}
this._updateButtonStateHandler(this.options.nextElementID,(forceDisableNext?false:enable));},_getLiElementSize:function(){if($(this.carouselList.getElementsByTagName("li")[0])){var li=$(this.carouselList.getElementsByTagName("li")[0]);this.elementSize=li.getDimensions().width+parseFloat(li.getStyle("margin-left"))+parseFloat(li.getStyle("margin-right"));}
if(this.elementSize==0)this.elementSize=288;},_checkPrevImage:function(){if($(this.options.counter)){$(this.options.counter).innerHTML=this.currentIndex+1;if($($(this.options.prevElementID))){prevArrow=$($(this.options.prevElementID));if(this.currentIndex>0){prevArrow.className='active';}else{prevArrow.className='inactive';}}}},_checkNextImage:function(){if($(this.options.counter)){$(this.options.counter).innerHTML=this.currentIndex+1;if($($(this.options.nextElementID))){nextArrow=$($(this.options.nextElementID));if((this.currentIndex+1)==this.options.size){nextArrow.className='inactive';}else{nextArrow.className='active';}}}}}

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';}}}}

function goSearch(ele){window.location=$('vakantieSearchId').value;}

