var XmlHttpResponseParser=Class.create({initialize:function(){},parse:function(XmlHttpResponse){var xmlDoc;if(!DOMParser&&window.ActiveX){xmlDoc=XmlHttpResponse.responseXML;}
else{var parser=new DOMParser;xmlDoc=parser.parseFromString(XmlHttpResponse.responseText,"text/xml");}
try{xmlDoc.setProperty("SelectionLanguage","XPath");}
catch(err){xmlDoc=XmlHttpResponse.responseXML;}
return xmlDoc}});var BASE='/site/?';if(location.href.search(/(ferio|beachmasters)+\.(nl|fred|intern)+/i)!=-1){BASE='/zoeken/?';}
var FAS=Class.create({initialize:function(){this.facet_service='/facet-service/';this.base_location='//accommodaties/nl_NL/';this.n_saved_items_element;this.calendar=false;this.facetmap=false;this.min_items=2;},redirect:function(sUri){document.location=sUri;},text_search:function(search_string){var args=arguments;var t=new FAS_Url('fh_location=//accommodaties/nl_NL');t.add_query_element('fh_view','search');if(args[1]){var additions=args[1].split('/');for(ii=0,len=additions.length;ii<len;ii++){var k=additions[ii].split('=')[0];var v=additions[ii].split('=')[1];t.add_to_location(k,v);}}
if(args[2]){t.add_query_element('q',search_string);}
search_string=search_string.replace(/<[^>]+>/g,'');search_string=encodeURIComponent(search_string).replace(/%/g,'\\u00');if(typeof(pageTracker)!='undefined'&&typeof(pageTracker._trackPageview)=='function'){pageTracker._trackPageview('search/'+search_string);}
t.replace_in_location('$s',search_string);this.redirect(t.uri());},save:function(item_id,item_name){var saved_object=this.read_cookie();saved_object.set(item_id,item_name);if(this.n_saved_items_element){this.n_saved_items_element.innerHTML=saved_object.size();}
this.write_cookie(saved_object);return saved_object;},remove_saved:function(item_id){if(!item_id){return;}
var saved_object=this.read_cookie();saved_object.unset(item_id);if(this.n_saved_items_element){this.n_saved_items_element.innerHTML=saved_object.size();}
this.write_cookie(saved_object);return saved_object;},number_of_saved_items:function(){var saved_object=this.read_cookie();return saved_object.size();},view_saved:function(){var saved_object=this.read_cookie();var saved_ids=saved_object.keys();this.compare(saved_ids);},compare:function(aItems){if(aItems.length==0){return;}
if(aItems.length>=this.min_items){var uri=BASE+'fh_view=compare';for(var i=0;i<aItems.length;i++){uri=uri+'&fh_secondid='+aItems[i];}
this.redirect(uri);}
else{this.show_error("min-"+this.min_items+"-items");}},get_saved:function(){return this.read_cookie();},read_cookie:function(){var saved_items_JSON_string=(new Cookie).read("FAS_SAVED")||'{}';var return_object=new Hash(saved_items_JSON_string.evalJSON(true));return return_object;},write_cookie:function(save_object){if(!save_object){return false;}
var c=new Cookie('FAS_SAVED',save_object.toJSON(),(30*24*7),'/');c.create();return true;},set_error_handler:function(error_handler){this.error_handler=new(error_handler);},show_error:function(msg_code){var msg;switch(msg_code){case'min-2-items':msg="U dient minimaal 2 items te selecteren om te kunnen vergelijken...";break;}
if(typeof(this.error_handler)=='undefined'){alert(msg);}
else{this.error_handler.show(msg);}},setup_facetmap:function(){this.facetmap=new FAS_FacetMap;this.facetmap.parent=this;},setup_calendar:function(element_id,s_title){this.calendar=new FAS_Calendar;this.calendar.init(element_id,s_title);this.calendar.set_select_handler(this.calendar_selections);this.calendar.parent=this;}});var FAS_DepartureStack=Class.create({initialize:function(){this.departures={};this.base_uri='';this.selected=new Array();},add:function(date_int){var sel=arguments[1]||0;this.departures[date_int]=true;if(sel==1){this.selected.push(date_int);}},set_uri:function(s_uri){this.base_uri=s_uri;},set_selected_interval:function(d0,d1){this.selected_interval=new Array(d0,d1);}});var FAS_FacetMap=Class.create({initialize:function(){this.search_element=false;this.n_items_element=false;this.throbber_container='qfm-throbber';},set_search_element:function(element_id){this.search_element=$(element_id);},set_n_items_element:function(element_id){this.n_items_element=$(element_id);},facet_changed:function(uri){if(!uri||uri==''||uri==0){return;}
if(uri){var u=new FAS_Url(uri);this.parent.redirect(u.uri());}},update_facets:function(query){this.cached_query=query;if(query==0)return;var request_options={'method':'GET','parameters':query,'onComplete':(this.rebuild_facets),'caller':this}
new Ajax.Request(this.parent.facet_service,request_options);},filter_key:function(key,query){var q;var se=$(this.search_element);if(!se&&!this.cached_query&&!query){return false;}
if(!se&&!this.cached_query&&query){q=query;}
if(!se&&this.cached_query&&!query){q=this.cached_query;}
if(se&&!query){switch(se.tagName.toLowerCase()){case'a':q=se.getAttribute('href');break;case'button':case'input':q=se.value;break;}}
q=q.replace(/\/(site|zoeken)+\/\?/gi,'');var furl=new FAS_Url(q);furl.delete_from_location(key);return furl.uri();},rebuild_facets:function(xmlhttpresponse){var oCaller=xmlhttpresponse.request.options.caller;try{var XRP=new XmlHttpResponseParser;var xmlDoc=XRP.parse(xmlhttpresponse);}
catch(e){if(console){console.error(e);}
}
try{var aFacets=xmlDoc.selectNodes('//qfm-response/facet');for(var i=0,len=aFacets.length;i<len;i++){var xFacet=aFacets[i];var oFacet=$(xFacet.getAttribute('id'));var aOptions=xFacet.selectNodes('./filteroption');if(aOptions.length<=0&&oFacet){var container=oFacet.up('.filter-container');container.hide();}
if(oFacet){for(var j=oFacet.options.length-1;j>0;j--){oFacet.removeChild(oFacet.options[j]);}
if(aOptions.length<1){oFacet.up('div.filter-container').hide();}
if(aOptions.length>=1){oFacet.up('div.filter-container').show();}
for(var j=0;j<aOptions.length;j++){var xOption=aOptions[j];var oOption=document.createElement('option');var l=xOption.selectSingleNode('link').textContent?xOption.selectSingleNode('link').textContent:xOption.selectSingleNode('link').text;oOption.value=l;var v=xOption.selectSingleNode('value').textContent?xOption.selectSingleNode('value').textContent:xOption.selectSingleNode('value').text;var n=xOption.selectSingleNode('nr').textContent?xOption.selectSingleNode('nr').textContent:xOption.selectSingleNode('nr').text;oOption.innerHTML=v;if(xOption.getAttribute('selected')=='true'){oOption.selected='selected';}
else{oOption.innerHTML=oOption.innerHTML+" ("+n+")";}
if(xOption.selectSingleNode('crp_type')){var crp=xOption.selectSingleNode('crp_type').textContent?xOption.selectSingleNode('crp_type').textContent:xOption.selectSingleNode('crp_type').text;oOption.className=crp;var t='';switch(crp){case'r':t='&nbsp;&nbsp;&nbsp;';break;case'p':t='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';break;}
if(t&&t!=''){oOption.innerHTML=t+oOption.innerHTML;}}
oFacet.appendChild(oOption);}}
else if(xFacet.getAttribute('title')=='vertrekdatum'&&$('FAS-CALENDAR')){var aOptions=xFacet.selectNodes('./filteroption');var new_stack=new FAS_DepartureStack();var uri=aOptions[0].selectSingleNode('link').textContent?aOptions[0].selectSingleNode('link').textContent:aOptions[0].selectSingleNode('link').text;new_stack.set_uri(uri);for(var k=0;k<aOptions.length;k++){var departure=aOptions[k].selectSingleNode('value').textContent?aOptions[k].selectSingleNode('value').textContent:aOptions[k].selectSingleNode('value').text;var selected=0;if(aOptions[k].getAttribute('selected')=='true')selected=1;new_stack.add(departure,selected);}
oCaller.parent.calendar._calendar_object.removeRenderers();oCaller.parent.calendar.set_departures(new_stack);oCaller.parent.calendar.render();var dArray=oCaller.parent.calendar._calendar_object.getInterval();if(dArray[0]&&dArray[1]){var d0=dArray[0].getDate()<10?"0"+dArray[0].getDate():dArray[0].getDate();var d1=dArray[1].getDate()<10?"0"+dArray[1].getDate():dArray[1].getDate();var m0=dArray[0].getMonth()+1;var m0=m0<10?"0"+m0:m0;var m1=dArray[1].getMonth()+1;var m1=m1<10?"0"+m1:m1;if(dArray[0]==dArray[1]){$('FAS-CALENDAR-SHOW').innerHTML=d0+"-"+m0+"-"+dArray[0].getFullYear();}
else{$('FAS-CALENDAR-SHOW').innerHTML=d0+"-"+m0+"-"+dArray[0].getFullYear()+" t/m "+d1+"-"+m1+"-"+dArray[1].getFullYear();}}}}
var xLink=xmlDoc.selectSingleNode('//qfm-response/searchlink');if(oCaller.search_element){var l=xLink.textContent?xLink.textContent:xLink.text;switch(oCaller.search_element.tagName.toLowerCase()){case"a":var h=oCaller.search_element.href.substring(0,oCaller.search_element.href.search(/\?/g));oCaller.search_element.href=BASE+l;break;case"input":if(oCaller.search_element.type.toLowerCase()=='button'){}
if(oCaller.search_element.type.toLowerCase()!='button'){oCaller.search_element.value=BASE+l;}
break;case"button":Event.observe(oCaller.search_element,'click',(location.href=BASE+l));break;}}
var xNrOfItems=xmlDoc.selectSingleNode('//qfm-response/nr-of-items');if(oCaller.n_items_element){oCaller.n_items_element.innerHTML=xNrOfItems.textContent?xNrOfItems.textContent:xNrOfItems.text;}}
catch(error){if(typeof(console)!='undefined')console.error(error);}
var th=$(oCaller.throbber_container);if(th){th.hide();}}});var FAS_Url=Class.create({initialize:function(sUri){sUri=sUri.replace('?','');this.__base=sUri;this.__components={};this.__fh_location=false;this.__BASE_LOCATION='%2f%2faccommodaties%2fnl_NL';var t=sUri.split('&');for(var i=0;i<t.length;i++){var qs_piece=t[i].split("=");var key=qs_piece[0];var value=qs_piece[1];key=key.replace('amp;','');this.__components[key]=value;}},add_query_element:function(k,v){this.__components[k]=v;},replace_in_location:function(key,values){this.delete_from_location(key);this.add_to_location(key,values);},add_to_location:function(key,values){var t=this.split_location();if(!t)return false;if(Object.isArray(values)&&values.length==2&&values[0]!=values[1]){k=values[0]+'<'+key+'<'+values[1];}
else if((Object.isArray(values)&&values.length==2&&values[0]==values[1])||(!Object.isArray(values))){k=key+'='+(Object.isArray(values)?values[0]:values);}
t.push(k);this.__fh_location=t;},delete_from_location:function(key){var t=this.split_location();if(!t)return false;if(key=='$s'){key=/^\$s=/;}
var n=new Array;for(var i=0;i<t.length;i++){if(t[i].search(key)==-1){n.push(t[i]);}}
this.__fh_location=n;},split_location:function(){if(!this.__components.fh_location&&!this.__fh_location){this.__components.fh_location=this.__BASE_LOCATION;}
if(!this.__fh_location){this.__fh_location=decodeURIComponent(this.__components.fh_location).split("/");}
return this.__fh_location;},join_location:function(){if(!this.__fh_location){return;}
this.__components.fh_location=encodeURIComponent(this.__fh_location.join("/"));return this.__components.fh_location;},uri:function(){var k=Object.keys(this.__components);var a=new Array;var _fh_location_component=false;for(var i=0;i<k.length;i++){if(k[i]=='fh_location'&&this.__fh_location!==false){this.join_location();_fh_location_component=true;}
if(k[i]&&this.__components[(k[i])]){a.push(k[i]+'='+this.__components[(k[i])]);}}
if(!_fh_location_component&&this.__fh_location!==false){a.push('fh_location='+this.join_location());}
if(this.__components['q']==undefined){if(document.location.href.search(/\/(site|zoeken)+\//)==-1){return BASE+a.join('&');}else{return'?'+a.join('&');}}else{if(document.location.href.search(/\/googlesearch\//)==-1){return'/googlesearch/?'+a.join('&');}else{return'?'+a.join('&');}}}});var FAS_Calendar=Class.create({initialize:function(){this._calendar_object=false;this._departures={};this.selected=new Array;this.render_from=new Date;this.render_to=new Date(((new Date).setFullYear((new Date).getFullYear()+1)));this.base_uri='';this.only_available=true;this._cache_={};this._select_handler=false;},init:function(element_id,s_title){var fasCalendar=new YAHOO.netclever.widget.IntervalCalendar(element_id,{pages:3,title:s_title||'Selecteer de gewenste vertrekperiode',close:true,navigator:false});fasCalendar.cfg.setProperty("START_WEEKDAY",1);fasCalendar.cfg.setProperty("MONTHS_SHORT",["Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]);fasCalendar.cfg.setProperty("MONTHS_LONG",["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"]);fasCalendar.cfg.setProperty("WEEKDAYS_1CHAR",["Z","M","D","W","D","V","Z"]);fasCalendar.cfg.setProperty("WEEKDAYS_SHORT",["Zo","Ma","Di","Wo","Do","Vr","Za"]);fasCalendar.cfg.setProperty("WEEKDAYS_MEDIUM",["Zon","Man","Din","Woe","Don","Vri","Zat"]);fasCalendar.cfg.setProperty("WEEKDAYS_LONG",["Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag"]);fasCalendar.selectEvent.subscribe(this._handle_selections,this,true);fasCalendar.deselectEvent.subscribe(this._handle_deselection,this,true);fasCalendar.hideEvent.subscribe(this.close,this,true);this._calendar_object=fasCalendar;this._base_element=element_id;},set_departures:function(stack){this._departures={};this._departures=stack.departures;this.base_link=stack.base_uri;if(stack.selected.length>0){if(this.selected.length>1)this.selected=new Array();var d0=stack.selected[0];var d1=stack.selected[(stack.selected.length-1)];this.selected.push(this._dateint_to_us(d0),this._dateint_to_us(d1));}},set_select_handler:function(hndlr){this._select_handler=hndlr;},show:function(){this._calendar_object.resetInterval();this._calendar_object.deselectAll();this._calendar_object.show();},render:function(){var min_max_dates=this._get_min_max_dates();var min_date_us=this._dateint_to_us(min_max_dates.min);var dmin=new Date(min_date_us);var dnow=new Date;if(dnow<dmin){this._calendar_object.cfg.setProperty('PAGEDATE',((dmin.getMonth()+1)+"/"+dmin.getFullYear()));}
this._calendar_object.cfg.setProperty('MINDATE',min_date_us);this._calendar_object.cfg.setProperty('MAXDATE',this._dateint_to_us(min_max_dates.max));if(this.selected.length>0){this._calendar_object.setInterval(new Date(this.selected[0]),new Date(this.selected[1]));if(new Date(this.selected[0]).getMonth()==0){this._calendar_object.setMonth(11);this._calendar_object.setYear(new Date(this.selected[0]).getFullYear()-1);}
else{this._calendar_object.setMonth(new Date(this.selected[0]).getMonth()-1);this._calendar_object.setYear(new Date(this.selected[0]).getFullYear());}}
if(this.only_available){this._calendar_object.addRenderer(this._create_availables(),this._calendar_object.renderOutOfBoundsDate);}
this._calendar_object.render();if($('fas-cal-customized')){return};var calContainer=$(this._base_element);var oHelp1=new Element('div').addClassName('calHelp').update('Selecteer de dag of de periode waarin '+(document.location.hostname.search('beachmaster')==-1?'u':'je')+' wilt vertrekken...');var from_to_container=new Element('div').addClassName('fas-calendar-customized');var from_container=new Element('div').addClassName('from-to-container');var to_container=new Element('div').addClassName('from-to-container');var from_label=new Element('label').update('van');var to_label=new Element('label').update('t/m');var legenda_container=new Element('div').addClassName('legenda-container');var legenda_not_available=new Element('div').addClassName('not-available');var legenda_available=new Element('div').addClassName('available');var legenda_today=new Element('div').addClassName('today');var legenda_selected=new Element('div').addClassName('selected-day');var span_not_available=new Element('span').addClassName('text').update('Geen reizen beschikbaar voor deze vertrekdatum.');var span_available=new Element('span').addClassName('text').update('Alle mogelijke vertrekdata waarop reizen beschikbaar zijn.');var span_today=new Element('span').addClassName('text').update('De huidige dag.');var span_selected=new Element('span').addClassName('text').update('Geselecteerde vertrekdag(en).');var from_input=new Element('input',{'type':'hidden','id':'theStartDate','value':(this.selected[0]?this.selected[0].replace(/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/,'$2-$1-$3'):'geen voorkeur')}).addClassName('fas-calendar-input');var to_input=new Element('input',{'type':'hidden','id':'theEndDate','value':(this.selected[1]?this.selected[1].replace(/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/,'$2-$1-$3'):'geen voorkeur')}).addClassName('fas-calendar-input');var obr=new Element('br').addClassName('clear');var clear_rule=new Element('div').addClassName('clear');var select_button=new Element('button',{'id':'goDate'}).update('Selecteer');var custom_container=new Element('div',{'id':'fas-cal-customized'});var t=this;var helpcontainer=new Element('div',{'id':'nodate'});var helptext=new Element('span').addClassName('helptext').update('Selecteer hierboven eerst een vertrekdag of periode.');select_button.observe('click',function(e){t.go_departure(e,t)});from_input.observe('change',function(e){t.from_selected(e,t)});from_input.observe('click',t.clear);to_input.observe('change',function(e){t.to_selected(e,t)});to_input.observe('click',t.clear);from_to_container.insert(helpcontainer.insert(helptext)).insert(legenda_container.insert(legenda_not_available.insert(new Element('span').update('1')).insert(span_not_available)).insert(legenda_available.insert(new Element('span').update('1')).insert(span_available)).insert(legenda_today.insert(new Element('span').update('1')).insert(span_today)).insert(legenda_selected.insert(new Element('span').update('1')).insert(span_selected))).insert(from_container.insert(from_input)).insert(to_container.insert(to_input)).insert(select_button).insert(clear_rule);custom_container.insert(from_to_container);calContainer.insert(custom_container);calContainer.insertBefore(oHelp1,$('FAS-CALENDAR_0'));},_create_availables:function(){var min_date_int=(this._get_min_max_dates()).min;var max_date_int=(this._get_min_max_dates()).max;var d=new Date(this._dateint_to_us(min_date_int));var dy=d.getFullYear();var dm=d.getMonth()+1;var dd=d.getDate();var render_stack=new Array;var i=0;while(i<=max_date_int){if(dd==32){dd=1;dm++;};if(dm==13){dm=1;dy++;};i=parseInt(dy+''+(dm<10?'0'+dm:dm)+''+(dd<10?'0'+dd:dd))
if(this._departure_exists(i)){render_stack.push(dm+'/'+dd+'/'+dy);}
dd++;}
return render_stack.join(",");},_departure_exists:function(date_int){return(this._departures[date_int]?false:true);},_dateint_to_us:function(dateint){var ds=new String(dateint);return ds.replace(/([0-9]{4})([0-9]{2})([0-9]{2})/,"$2/$3/$1");},_get_min_max_dates:function(){if(!this._cache_.min_max){var aKeys=Object.keys(this._departures);aKeys.sort();var o={min:aKeys.first(),max:aKeys.last()}
var today_date=new Date();var y=today_date.getFullYear().toString();var m=(today_date.getMonth()+1)<10?"0"+(today_date.getMonth()+1).toString():(today_date.getMonth()+1).toString();var d=today_date.getDate()<10?"0"+today_date.getDate().toString():today_date.getDate().toString();var t=parseInt(y+m+d);if(parseInt(o.min)<t)o.min=y+m+d;this._cache_.min_max=o;}
return this._cache_.min_max;},_handle_deselection:function(action,d_array,oCal){},_handle_selections:function(action,d_array,oCal){var sDate=d_array[0][0];var dd=sDate[2]<10?"0"+sDate[2]:sDate[2];var mm=sDate[1]<10?"0"+sDate[1]:sDate[1];switch(oCal._calendar_object._iState){case 1:$('theStartDate').value=dd+"-"+mm+"-"+sDate[0];$('theEndDate').value=dd+"-"+mm+"-"+sDate[0];break;case 2:$('theEndDate').value=dd+"-"+mm+"-"+sDate[0];break;default:return false;break;}
return;},go_departure:function(e,oCal){var sDate1=$('theStartDate');var sDate2=$('theEndDate');var url=new FAS_Url(oCal.base_link);if(sDate1.value=='geen voorkeur'){$('nodate').addClassName('showcontainer');return;}
else{$('nodate').removeClassName('showcontainer');}
if(new Date(sDate1.value.replace(/([0-9]{2})-([0-9]{2})-([0-9]{4})/,'$2/$1/$3'))>new Date(sDate2.value.replace(/([0-9]{2})-([0-9]{2})-([0-9]{4})/,'$2/$1/$3'))){var t=sDate1.value;sDate1.value=sDate2.value;sDate2.value=t;}
var selection;if(sDate1.value==sDate2.value&&oCal._calendar_object._iState==1){selection=sDate1.value.split("-").reverse().join('');}
else if(sDate1.value!=sDate2.value&&oCal._calendar_object._iState==2){tDate=new Date();tDate.setDutchDate(sDate2.value);tDate.addDays(1);selection=new Array(sDate1.value.split("-").reverse().join(''),tDate.getDutchDate().split("-").reverse().join(''))}
var eValue=Object.isArray(selection)?selection.join(' : '):selection;if(typeof ncTracking!='undefined'){ncTracking._trackEvent('QFM','Vertrekdatum',eValue);}
/ GA integratie */
url.replace_in_location('vertrekdatum',selection);if(oCal._calendar_object._iState==1||oCal._calendar_object._iState==2){oCal._select_handler(url.uri());}},from_selected:function(e,oCal){var obj=e.findElement('input');if(!obj.value.match(/^[0-9]{2}\-[0-9]{2}-[0-9]{4}/)){alert('Gelieve een datum in te voeren in het formaat \'dd-mm-jjjj\'');return;}
var to=$('theEndDate');to.value=obj.value;oCal._calendar_object.setInterval(new Date(obj.value.replace(/([0-9]{2})-([0-9]{2})-([0-9]{4})/,'$2/$1/$3')),new Date(to.value.replace(/([0-9]{2})-([0-9]{2})-([0-9]{4})/,'$2/$1/$3')));oCal._calendar_object.setMonth((parseInt(obj.value.replace(/([0-9]{2})-([0-9]{2})-([0-9]{4})/,'$2'))-2));oCal._calendar_object.render();return;},to_selected:function(e,oCal){var obj=e.findElement('input');if(!obj.value.match(/^[0-9]{2}\-[0-9]{2}-[0-9]{4}/)){alert('Gelieve een datum in te voeren als dd-mm-jjjj');return;}
var from=$('theStartDate');oCal._calendar_object.setInterval(new Date(from.value.replace(/([0-9]{2})-([0-9]{2})-([0-9]{4})/,'$2/$1/$3')),new Date(obj.value.replace(/([0-9]{2})-([0-9]{2})-([0-9]{4})/,'$2/$1/$3')));oCal._calendar_object.setMonth((parseInt(from.value.replace(/([0-9]{2})-([0-9]{2})-([0-9]{4})/,'$2'))-2));oCal._calendar_object.render();},clear:function(e){var obj=e.findElement('input');if(!obj){return;}
if(obj.value=='geen voorkeur'){obj.value='';}},set_close_handler:function(hndlr){this._close_handler=hndlr;},close:function(){if(this._close_handler){this._close_handler();}}});function select_vertrekdag(){var d=prompt('Geef een vertrekdatum (yyyy-mm-dd of yyymmdd): ');if(!d){return};d=d.replace(/\-/gi,'');var fu=new FAS_Url(document.location.href);fu.delete_from_location('leesbarevertrekweek');fu.add_to_location('vertrekdatum',d);var location=fu.join_location();document.location=document.location.pathname+"?fh_location="+location;return;}
function select_personen(){var d=prompt('Aantal personen (1 tot 10)');if(!d){return};d=d.replace(/\-/gi,'');var fu=new FAS_Url(document.location.href);fu.add_to_location('personen',d);var location=fu.join_location();document.location=document.location.pathname+"?fh_location="+location;return;}
function select_duur(){var d=prompt('Aantal dagen (8,15,21...)');if(!d){return};d=d.replace(/\-/gi,'');var fu=new FAS_Url(document.location.href);fu.add_to_location('duur',d);var location=fu.join_location();document.location=document.location.pathname+"?fh_location="+location;return;}
var windowTimer;var DynaBookingLoader={frameholder:'',dataholder:'',buttonholder:'',default_action:'buildButton',loaded:false,load:function(){if(!this.loaded){try{if(window.top.location.hostname!=document.location.hostname){throw(new Error('DomainMismatchError'));}
else{windowTimer=new Date().getTime();this.buildFrame();this.loaded=true;}}
catch(err){this[this.default_action]();}}},buildFrame:function(){var placeholder=$(this.frameholder);var ecmp=getQueryString('ecmp');var variant=getQueryString('variant');var icmp=getQueryString('icmp');if(icmp)DynaBookingUri+='&icmp='+icmp;if(variant)DynaBookingUri+='&variant='+variant;if(placeholder&&DynaBookingUri){var oFrame=new Element("iframe");oFrame.observe("load",function(){var windowLoad=new Date().getTime()-windowTimer;console.info('windowLoad '+windowLoad);_gaq=_gaq||[];_gaq.push(['_trackEvent','Pricetable','Load','Time',windowLoad]);if($('priceframe-loading')){$('priceframe-loading').hide();}});oFrame.name='dynabooking-frame';oFrame.id='dynabooking-frame';oFrame.src=DynaBookingUri;oFrame.width='100%';oFrame.height='600';oFrame.setAttribute('frameborder',0);oFrame.frameBorder=0;placeholder.appendChild(oFrame);}},buildButton:function(){var button=$(this.buttonholder);if(button){if(button.href){button.href='#';}
button.observe('click',DynaBookingLoader.openWindow);}},openWindow:function(){if(!DynaBookingUri){console.info('Uri not found...');return;}
var w=950>window.screen.availWidth?window.screen.availWidth:950;var h=window.screen.availHeight-100;window.open(DynaBookingUri,'','width='+w+',height='+h+',scrollbars=yes,menu=no,location=no,menu=no');}}
function globalWindow_DomLoaded(){Cufon.replace('.cufonfont',{fontWeight:'bold',textTransform:'uppercase',fontFamily:'Eurostile-Black-DTC',hover:{color:'#55adaf'}})('h1')('h2');Cufon.replace('.eurostile',{textShadow:'1px 1px rgba(0, 0, 0, 0.2)',fontWeight:'bold',textTransform:'uppercase',fontFamily:'Eurostile-Black-DTC',hover:{color:'red'}})('.eurostile');Cufon.now();var aShowMore=$$('.qfm-showmore');for(var i=0;i<aShowMore.length;i++){aShowMore[i].observe('click',toggle_qfm_Clicked);}
countdownChersonissos_Init();init_clickables();init_hoverables();backLink_Init();dropDownMenu_Init();init_newwindowlinks();checkBanner();}
document.observe('dom:loaded',globalWindow_DomLoaded);Event.observe(window,'beforeunload',function(e){obj=e.findElement();if(obj.tagName=='A'&&obj.href.search(/javascript:/)!=-1){return;}
if($('navtabthrobber')){$('navtabthrobber').show();}});function toggleQFM(aantal,show){var zichtbaar='block';var tekst='Minder zoekopties';var plaatje='minder';var aan_uit=0;if(!show){zichtbaar='none';tekst='Meer zoekopties';plaatje='meer';aan_uit=1;}
var i=5;while(i<aantal){var el="div"+i
$(el).style.display=zichtbaar;i=i+1;}
$('More_text').innerHTML=tekst;$('More_text').title=tekst;$('More_text').href='javascript:toggleQFM('+aantal+','+aan_uit+');';$('More_image').innerHTML='<img alt='+plaatje+' src="/images/qfm-'+plaatje+'.gif" />';$('More_image').title=tekst;$('More_image').href='javascript:toggleQFM('+aantal+','+aan_uit+');';}
function backLink_Init(){var t=document.referrer;if(t.search(/www\.beachmasters\.[nl|be]\/.*\//)!=-1&&$('backlink')){$('backlink').href=document.referrer;$('backlink').show();}
else if($('backlink')){$('backlink').hide();}}
function popupFilm(page){return popup(page,250,340);}
function popupText(page){return popup(page,550,645);}
function go_youtube(id){var href='/text_details/?ACT=Youtube&code='+id+'&popup=1';return popup(href,425,500);}
function go_traveldodo(c){return popup('http://www.travelmap.nl/partner_beachmasters/'+c,540,790);}
function dropDownMenu_Init(){if(typeof(bmDropDownMenu)=='undefined'||typeof(ncDropDownMenu)=='undefined')return;try{var fasData=new FAS;if($('url_params')){var url_params=$('url_params').getValue();for(var i=0;i<url_params.split(/%2F/i).length;i++){var param=url_params.split(/%2F/i)[i];if(param.split(/%3D/i)[0]=='eindexamenreis'&&param.split(/%3D/i)[1]=='1'){$('countries-list').removeClassName('disabled');fasData.facet_service+='?fh_location='+fasData.base_location+'b%3D1/eindexamenreis%3D1';}
else if(param.split(/%3D/i)[0]=='lastminute'&&param.split(/%3D/i)[1]=='1'){$('countries-list').removeClassName('disabled');fasData.facet_service+='?fh_location='+fasData.base_location+'b%3D1/lastminute%3D1';}
else if(param.split(/%3D/i)[0]=='a_soortverblijf'&&param.split(/%3D/i)[1]=='app'){$('countries-list').removeClassName('disabled');fasData.facet_service+='?fh_location='+fasData.base_location+'b%3D1/a_soortverblijf%3Dapp';}}}
var request_options={'method':'GET','parameters':'','onComplete':(build_dropdown_data),'caller':this}
new Ajax.Request(fasData.facet_service,request_options);}
catch(err){console.info(err);}}
function drawCharts(){var r=Raphael('graph-holder');if(!r)return;r.g.piechart(320,240,100,[55,20,13,32,5,1,2,10]);}
function countdownChersonissos_Init(){var element=$('chersonissosCountdown');if(!element)return;var end_date=new Date;end_date.setDutchDate('04-06-2010');var days=end_date.getDiffDays();var s1=new Element('span',{'className':'counter'}).update(days.toString());var s2=new Element('span',{'className':'appender'}).update(days==1?'dag':'dagen korting');element.update();element.insert(s1).insert(s2);}
function emailField(){var sField=$('emailinput');if(sField.value=="Vul je e-mailadres in"){sField.value="";}
else if(sField.value==""){sField.value="Vul je e-mailadres in";}}
function checkBanner(){var c=new Cookie('bannerOverlayDisplayed');var cvalue=c.read();var obj=$('bannerOverlay');if(!obj){return;}
var closeBtns=$$('.hide');if(!cvalue||cvalue.search('noBanner')==-1){obj.appear({duration:1.0,fron:0.0,to:1.0,delay:2});closeBtns.each(function(el){el.observe('click',function(e){var c=new Cookie();c.set('path','/');c.set('expire',365*24*60);c.set('name','bannerOverlayDisplayed');c.set('value','noBanner');c.create();$('bannerOverlay').fade({duration:0.5,from:1,to:0});});});}
else{$('bannerOverlay').hide();}}
var GLOBAL_FAS;var save_button_save='Bewaar deze accommodatie';var save_button_remove='Deze accommodatie niet meer bewaren';function init_GLOBAL_FAS(){GLOBAL_FAS=new FAS;GLOBAL_FAS.min_items=1;var qfm=$$('div.FAS-QFM');var facetmap=$$('div.facetmap');if(qfm.length==1||facetmap.length==1){GLOBAL_FAS.setup_facetmap();}
var calendar=$('FAS-CALENDAR');if(calendar){GLOBAL_FAS.setup_calendar('FAS-CALENDAR','Selecteer een vertrekdag / periode:');GLOBAL_FAS.calendar.set_departures(stack);GLOBAL_FAS.calendar.set_select_handler(qfm.length==1?FasCalendar_Update:FasCalendar_Select);GLOBAL_FAS.calendar.render();GLOBAL_FAS.calendar.set_close_handler(close_fas_calendar);}
var calendar_show=$('FAS-CALENDAR-SHOW');if(calendar_show){calendar_show.observe('click',show_fas_calendar);}
var calendar_show2=$('FAS-CALENDAR-IMAGE');if(calendar_show2){calendar_show2.observe('click',show_fas_calendar);}
if(qfm.length==1){var aSelects=$$('.FAS-FACET');for(var i=0;i<aSelects.length;i++){aSelects[i].observe('change',QfmFacet_Changed);}
GLOBAL_FAS.facetmap.set_search_element('FAS-QFM-SEARCH');GLOBAL_FAS.facetmap.set_n_items_element('FAS-QFM-N');}
if(facetmap.length==1){var aFacets=$$('.FAS-FACET');for(var i=0;i<aFacets.length;i++){var aSelect=aFacets[i].getElementsByTagName('select');if(aSelect.length>0){oSelect=aSelect[0];Event.observe(oSelect,'change',FacetMapFacet_Changed);}
var aNpts=aFacets[i].getElementsByTagName('input');for(var j=0;j<aNpts.length;j++){Event.observe(aNpts[j],'click',FacetMapFacetNpt_Changed);}}}
var a_saves=$$('.FAS-SAVE');if(a_saves&&a_saves.length>0){GLOBAL_FAS.n_saved_items_element=$('FAS-SAVED-ITEMS');for(var i=0;i<a_saves.length;i++){a_saves[i].observe('click',FasSave_Click);}}
var view_saved=$('FAS-VIEW-SAVED');if(view_saved){view_saved.observe('click',FasViewSaved_Click);}
toggle_view_saved();}
Event.observe(window,'load',init_GLOBAL_FAS);function QfmFacet_Changed(e){var obj=e.element();var q=obj.options[obj.selectedIndex].value;if(q==0){var facet_key=obj.up('div.filter-container').className.replace(/filter\-container/g,'');facet_key=facet_key.replace(/ /g,"");q=GLOBAL_FAS.facetmap.filter_key(facet_key);}
GLOBAL_FAS.facetmap.update_facets(q);var th=$('qfm-throbber');if(th)th.show();}
function FacetMapFacet_Changed(e){var obj=e.element();var q=obj.options[obj.selectedIndex].value;if(q==0){var facet_key=obj.up('.FAS-FACET').className.replace(/FAS\-FACET /,'');q=GLOBAL_FAS.facetmap.filter_key(facet_key,(document.location.search?document.location.search:obj.options[1].value));q=q.search(/fh_view/g)!=-1?q.replace(/fh_view=.*(^&)/,'fh_view=lister'):q+'&fh_view=lister';q=q.replace(/\/site\//gi,'');}
GLOBAL_FAS.facetmap.facet_changed(q);}
function FacetMapFacetNpt_Changed(e){var obj=e.element();if(!obj){return;}
GLOBAL_FAS.facetmap.facet_changed(obj.value);}
function FasCalendar_Select(uri){GLOBAL_FAS.facetmap.facet_changed(uri);}
function FasCalendar_Update(uri){uri=uri.replace(/\/site\//gi,'');GLOBAL_FAS.facetmap.update_facets(uri);GLOBAL_FAS.calendar._calendar_object.hide();var th=$('qfm-throbber');if(th)th.show();}
function FAS_Search_Clicked(){var sField=$('FAS-SEARCH-FIELD');if(sField&&sField.value!=''){GLOBAL_FAS.text_search(sField.value);}}
function FAS_Search_Submitted(){var sField=$('FAS-SEARCH-FIELD');if(sField&&sField.value!=''){var t='';if(sField.value!='vrij zoeken op trefwoord...'){GLOBAL_FAS.text_search(sField.value,t,"googlesearch");}
else{$('FAS-SEARCH-FIELD').addClassName('errorsearch');sField.value='typ eerst een trefwoord in';}}
return false;}
function blankit(){var sField=$('FAS-SEARCH-FIELD');if(sField.value=="vrij zoeken op trefwoord..."||sField.value=="typ eerst een trefwoord in"){if($('FAS-SEARCH-FIELD').hasClassName('errorsearch')){$('FAS-SEARCH-FIELD').removeClassName('errorsearch')}
sField.value="";}
else if(sField.value==""){sField.value="vrij zoeken op trefwoord...";}}
function FasSave_Click(e){var obj=e.element();if(!obj){return;}
e.stop();var container=obj.up('div.FAS-SAVE');console.info(container);var v=container.id.split("--");if(!container.hasClassName('saved')){GLOBAL_FAS.save(v[0],v[1]);container.addClassName('saved')
var ssaved=container.select('.acco-saved')[0];var not_saved=container.select('div.acco-not-saved')[0];not_saved.hide();ssaved.appear({queue:'end'});}
else{var p=obj.up(".compare-item");if(p){var saved_object=GLOBAL_FAS.remove_saved(v[0]);p.dropOut();if(saved_object.keys().length<=0){var container=p.up('div#Block1');if(container){var o=document.createElement('h2');o.innerHTML='Er worden geen accommodaties (meer) bewaard.';o.className='geen-accos';container.appendChild(o);}}}}
toggle_view_saved();}
function FasViewSaved_Click(){GLOBAL_FAS.view_saved();}
function toggle_view_saved(){var view_saved=$('FAS-VIEW-SAVED');if(!view_saved){return;}
if(GLOBAL_FAS.number_of_saved_items()>0){view_saved.style.cursor='pointer';view_saved.removeAttribute('disabled');view_saved.addClassName('active')}
else{view_saved.disabled='disabled';view_saved.style.cursor='default';view_saved.removeClassName('active')}}
function show_fas_calendar(){aObjects=document.body.select('object');aObjects.each(function(el){el.style.visibility='hidden';});GLOBAL_FAS.calendar.show();}
function close_fas_calendar(){aObjects=document.body.select('object');aObjects.each(function(el){el.style.visibility='visible';});}
var bmDropDownItems=new Hash({});function build_dropdown_data(xmlhttpresponse){var oCaller=xmlhttpresponse.request.options.caller;try{var XRP=new XmlHttpResponseParser;var xmlDoc=XRP.parse(xmlhttpresponse);}
catch(e){if(console){console.error(e);}}
try{var aFacets=xmlDoc.selectNodes('//qfm-response/facet');for(var i=0,len=aFacets.length;i<len;i++){var xFacet=aFacets[i];var facetTitle=xFacet.getAttribute('title');if(facetTitle=='bestemming'){var aOptions=xFacet.selectNodes('./filteroption');var currentC;var currentCLink;var currentRLink;var currentPLink;for(var j=0;j<aOptions.length;j++){var xOption=aOptions[j];var v=xOption.selectSingleNode('value').textContent?xOption.selectSingleNode('value').textContent:xOption.selectSingleNode('value').text;var n=xOption.selectSingleNode('nr').textContent?xOption.selectSingleNode('nr').textContent:xOption.selectSingleNode('nr').text;var idParts=xOption.selectSingleNode('value').getAttribute('identifier').split('__');if(xOption.selectSingleNode('crp_type')){var crp=xOption.selectSingleNode('crp_type').textContent?xOption.selectSingleNode('crp_type').textContent:xOption.selectSingleNode('crp_type').text;var vConverted;switch(crp){case'c':vConverted=idParts[0].replace(/_/g,'-');currentC=vConverted;currentRLink='';currentCLink='/jongerenreizen/'+currentC+'/';bmDropDownItems.set(currentC,new Hash({'id':currentC,'name':v,'href':currentCLink,'regions':new Hash(),'places':new Hash()}));break;case'r':vConverted=idParts[1].replace(/_/g,'-');currentRLink=currentCLink+vConverted+'/';bmDropDownItems.get(currentC).get('regions').set(vConverted,new Hash({'name':v,'href':currentRLink}));break;case'p':vConverted=idParts[2].replace(/_/g,'-');currentPLink=currentRLink+vConverted+'/';bmDropDownItems.get(currentC).get('places').set(vConverted,new Hash({'name':v,'href':currentPLink}));break;}}}}}
bmDropDownMenu.initialize($('countries-list'),bmDropDownItems);bmDropDownMenu.build();ncDropDownMenu.primary='li.country';ncDropDownMenu.submenu='div.country-submenu';ncDropDownMenu.delay=300;ncDropDownMenu.duration=0.2;ncDropDownMenu.init('countries-list');}
catch(e){if(console){console.error(e);}}}
var bmDropDownMenu={initialize:function(countries_element,submenushash){if(countries_element.hasClassName('disabled')){this.disabled=true;}
this.primary_trigger=false;this.default_trigger='jongerenreizen';this.elements=new Hash(submenushash);this.ctrs=countries_element.identify();var countries=countries_element.select('li.country');for(var i=0,len=countries.length;i<len;i++){var el=countries[i];el.identify();if(!this.primary_trigger){try{var t=el.select('a')[0];if(t){this.primary_trigger=t.href.replace(/^http:\/\/.*?\//,'').split(/\//)[0];}}
catch(err){}}
var cid=el.className.replace(' country','');if(this.elements.get(cid)){(this.elements.get(cid)).set('element',el);}}
if(!this.primary_trigger){this.primary_trigger=this.default_trigger;}
return true;},build:function(){if(this.disabled){return;}
var keys=this.elements.keys();for(var i=0,len=keys.size();i<len;i++){var element=this.elements.get(keys[i]);this._add_container(element);}},_add_container:function(element){var container=new Element('div',{'className':'country-submenu'});container.identify();var regions_container=new Element('ul',{'className':'regions-container'});regions_container.insert(new Element('li',{'className':'submenu-header'}).update('Streken:'));var reg_keys=(element.get('regions')).keys();if(reg_keys.size()>=1){for(var i=0,len=reg_keys.size();i<len;i++){var region=(element.get('regions')).get(reg_keys[i]);var reg_link=new Element('a',{'href':region.get('href').replace(this.default_trigger,this.primary_trigger),'title':'Meer informatie over '+region.get('name')}).update(region.get('name'));var li=new Element('li',{'className':region.get('id')}).insert(reg_link);regions_container.insert(li);}
container.insert(regions_container)}
var pl_keys=(element.get('places')).keys();if(pl_keys.size()>=1){var places_container=new Element('ul',{'className':'places-container'});places_container.insert(new Element('li',{'className':'submenu-header'}).update('Plaatsen:'));for(var i=0,len=pl_keys.size();i<len;i++){var place=(element.get('places')).get(pl_keys[i]);var pl_link=new Element('a',{'href':place.get('href').replace(this.default_trigger,this.primary_trigger),'title':'Meer informatie over '+place.get('name')}).update(place.get('name'));var li=new Element('li',{'className':place.get('id')}).insert(pl_link);places_container.insert(li);}
container.insert(places_container);}
var c=element.get('element');if(c){$(element.get('element').identify()).insert(container);container.hide();}}};
