// <![CDATA[
var booking =
{
	description : 'Our global object-literal namespace.',
	version     : '2.5.1',
	env         : {
		"b_action" : 'general',
		"b_google_maps_key_params" : 'key=ABQIAAAAEG168dBcRndNV70R9mDglhSZn_smZpFKc3SoS1v7FyDshy3QMxSgeH0qWTH24Gc7je-iJ9DSXiNmcA&amp;client=gme-booking',
		"b_lang" : 'en',
		"b_this_urchin" : '/general.html?tmpl=docs%2Foffices_worldwide;ur_exp_236=0;ur_exp_240=0;',
			
		"setvar_affiliate_is_bookings2" : 1,
			
			
		"error" : {}
	},
	ensureNamespaceExists : function ( namespaceString )
	{
		if ( !booking[namespaceString] )
		{
			booking[namespaceString] = {};
		}
	}
};
// ]]>

var gClientIsGecko=(window.controllers)?true:false;var gClientIsOpera=(window.opera)?true:false;var gClientIsIE=(document.all&&!gClientIsOpera)?true:false;var gClientIsIE5=(gClientIsIE&&/MSIE 5\.0/.test(navigator.appVersion))?true:false;var gClientIsIE55=(gClientIsIE&&/MSIE 5\.5/.test(navigator.appVersion))?true:false;var gClientIsIE6=(gClientIsIE&&/MSIE 6\.0/.test(navigator.appVersion))?true:false;var gClientIsIE7=(gClientIsIE&&/MSIE 7\.0/.test(navigator.appVersion))?true:false;var gClientIsIElte55=(gClientIsIE&&(gClientIsIE5||gClientIsIE55)&&!gClientIsIE7);var gClientIsIElte6=(gClientIsIE&&(gClientIsIElte55||gClientIsIE6)&&!gClientIsIE7);var gClientIsMac=(/Mac/.test(navigator.appVersion))?true:false;booking.CSS={units:{px:"px"}};booking.ensureNamespaceExists("utils");booking.utils.ie={};booking.utils.ie.hideIntersectingElements=function(B,D){var A,C;B.offsetBottom=B.offsetTop+B.offsetHeight;B.offsetRight=B.offsetLeft+B.offsetWidth;for(A=0;A<D.length;A++){C=D[A];C.offsetBottom=C.offsetTop+C.offsetHeight;C.offsetRight=C.offsetLeft+C.offsetWidth;if(C.offsetLeft<B.offsetRight&&C.offsetRight>B.offsetLeft&&C.offsetTop<B.offsetBottom&&C.offsetBottom>B.offsetTop){C.style.visibility="hidden"}else{C.style.visibility="visible"}}};booking.ensureNamespaceExists("ajax");booking.ajax.Request=function(C,B,A){var D=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("MSXML2.XMLHTTP.3.0");D.open("GET",C,true);D.onreadystatechange=function(){if(D.readyState==4&&D.status==200){if(D.responseText){B(D.responseText,A)}}};D.send(null);return D};booking.ensureNamespaceExists("json");booking.json.Request=function(C,B,A){var D=new booking.ajax.Request(C,function(F,E){B(booking.json.validate(F),E)},A);return D};booking.json.validate=function(responseJson){var result=!(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(responseJson.replace(/"(\\.|[^"\\])*"/g,"")))&&eval("("+responseJson+")");return result};booking.ensureNamespaceExists("event");booking.event.addListener=function(A,C,B){if(A){if(A.addEventListener){A.addEventListener(C,B,false)}else{if(A.attachEvent){A.attachEvent("on"+C,B)}else{A["on"+C]=B}}}};booking.event.removeListener=function(A,C,B){if(A){if(A.removeEventListener){A.removeEventListener(C,B,false)}else{if(A.detachEvent){A.detachEvent("on"+C,B)}else{A["on"+C]=""}}}};booking.event.preventDefault=function(A){if(A.preventDefault){A.preventDefault()}else{A.returnValue=false}};booking.event.stopPropagation=function(A){if(A.stopPropagation){A.stopPropagation()}else{A.cancelBubble=true}};booking.event.ie={PreventDefault:function(A){return function(){A.returnValue=false}},StopPropagation:function(A){return function(){A.cancelBubble=true}}};booking.event.normalizeExplorerEventObject=function(A){if(!A){A=window.event?window.event:""}if(A){if(!A.currentTarget){A.currentTarget=A.srcElement}if(!A.target){A.target=A.srcElement}if(!A.stopPropagation){A.stopPropagation=new booking.event.ie.PreventDefault(A)}if(!A.preventDefault){A.preventDefault=new booking.event.ie.StopPropagation(A)}}return A};if(!window.Node){var Node={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_FRAGMENT_NODE:11}}booking.utils.buildHtmlNode=function(G,F,E){var J,B,K,D,I;for(J in G){if(G.hasOwnProperty(J)){var C=J.substring(0,1),H=J.substring(1);if(C!="_"){if(C=="@"){if(!F.getAttribute(H)){booking.utils.dom.setAttribute(F,H,G[J])}}else{if(C=="#"){if(H=="text"){K=false;if(F.childNodes&&F.childNodes.length>0){B=0;while(B<F.childNodes.length&&!K){if(F.childNodes[B].nodeType==Node.TEXT_NODE&&F.childNodes[B].nodeValue==G[J]){K=true}B++}}if(!K){I=document.createTextNode(G[J]);if(E){F.insertBefore(I,E)}else{F.appendChild(I)}}}else{if(H=="cdata"){F.appendChild(document.createCDATANode(G[J]))}}}else{if(F){if(G[J].length>0){for(B=0;B<G[J].length;B++){if(G[J][B]){if(!G[J][B]._node){D=document.createElement(J);G[J][B]._node=D;var A=B+1;while(A<G[J].length&&!E){if(G[J][A]){E=G[J][A]._node}A++}if(E){I=F.insertBefore(G[J][B]._node,E)}else{I=F.appendChild(G[J][B]._node)}arguments.callee(G[J][B],I);D._elementTree=G[J][B]}else{arguments.callee(G[J][B],G[J][B]._node)}}}}else{if(G[J].length!==0){if(!G[J]._node){D=document.createElement(J);G[J]._node=D;if(E){I=F.insertBefore(G[J]._node,E)}else{I=F.appendChild(G[J]._node)}arguments.callee(G[J],I);D._elementTree=G}else{arguments.callee(G[J],G[J]._node)}}}}else{if(!G[J]._node){arguments.callee(G[J],G[J]._node=F=document.createElement(J))}else{arguments.callee(G[J],G[J]._node)}}}}}}}return F};booking.utils.hasClass=function(B,A){return B.className?B.className.match(new RegExp("(\\s|^)"+A+"(\\s|$)")):false};booking.utils.addClass=function(B,A){if(!booking.utils.hasClass(B,A)){B.className+=(" "+A)}};booking.utils.removeClass=function(C,A){if(booking.utils.hasClass(C,A)){var B=new RegExp("(\\s|^)"+A+"(\\s|$)");C.className=C.className.replace(B," ")}};booking.utils.dom={getElementsByClassName:function(F,A,D){var E=[],B,C;if(!A){A=document}if(A==document&&document.getElementsByClassName){E=document.getElementsByClassName(F)}else{if(!D){D="*"}B=(gClientIsIElte55&&D=="*")?A.all:A.getElementsByTagName(D);for(C=0;C<B.length;C++){if(booking.utils.hasClass(B[C],F)){E.push(B[C])}}}return E},setAttribute:function(C,A,B){if(A=="class"){C.className=B}else{C.setAttribute(A,B)}}};function printDoc(){if(window.print){window.print()}else{alert(tr.pressCltP)}}function bookmark(A,B){if(window.external){window.external.AddFavorite(A,B)}else{alert(tr.pressCtlD)}}function hideFrameContainer(A,D,B){if(document.getElementById){var E=document.getElementById(A);var C=document.getElementById(D);E.style.display="none"}}function tickCheckBox(A){if(document.getElementById){if(document.getElementById(A)){document.getElementById(A).checked=true}}return true}function hideDiv(B){if(document.getElementById){var A=document.getElementById(B);A.style.display="none"}}var hide=true;function getBrowserWidth(){var A=0;if(typeof (window.innerWidth)=="number"){A=window.innerWidth}else{if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){A=document.documentElement.clientWidth}else{if(document.body&&(document.body.clientWidth||document.body.clientHeight)){A=document.body.clientWidth}}}return A}function getBrowserHeight(){var A=0;if(typeof (window.innerWidth)=="number"){A=window.innerHeight}else{if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){A=document.documentElement.clientHeight}else{if(document.body&&(document.body.clientWidth||document.body.clientHeight)){A=document.body.clientHeight}}}return A}function showBlock(A){if(document.getElementById){document.getElementById(A).style.display="block"}}function toggleTxt(B,D,G){var E=document.getElementById(B),A=E.style.display,C=document.getElementById(D),F=document.getElementById(G);if(A=="none"){C.style.display="none";F.style.display="inline"}else{C.style.display="inline";F.style.display="none"}}function addListener(C,B,A){if(C.addEventListener){C.addEventListener(B,A,false)}else{if(C.attachEvent){C.attachEvent("on"+B,A)}else{C["on"+B]=A}}}function removeListener(C,B,A){if(C.removeEventListener){C.removeEventListener(B,A,false)}else{if(C.detachEvent){C.detachEvent("on"+B,A)}}}var DOM={isParentOf:function(A,B){while(B&&(B!=A)){B=B.parentNode}return(B==A)},getParentOrSelf:function(B,A){A=A.toLowerCase();while(B.nodeName.toLowerCase()!=A&&B.parentNode){B=B.parentNode}return B},addClass:function(B,A){B.className+=" "+A},removeClass:function(C,B){var A=new RegExp("\\b"+B+"\\b","g");if(A.test(C.className)){C.className=C.className.replace(A," ")}}};function fixMail(){var G=/\bencrypted\b/,A=/^mailto:(.*)$/,C=document.getElementsByTagName("a"),F,D,B,H,E;for(F=0,D=C.length;F<D;F++){if(G.test(C[F].className)&&A.test(C[F].href)){C[F].className=C[F].className.replace(G,"");B=A.exec(C[F].href)[1];H=C[F].innerText||C[F].textContent;C[F].href="mailto:"+B.deCode();if(H==B){C[F].innerHTML=H.deCode()}}}E=document.getElementsByTagName("span");for(F=0,D=E.length;F<D;F++){if(G.test(E[F].className)){E[F].className=E[F].className.replace(G,"");H=E[F].innerText||E[F].textContent;E[F].innerHTML=H.deCode()}}}function _init(){if(!booking.windowLoadDone){fixMail();if(window.initDaySelect){initDaySelect()}booking.windowLoadDone=true}}addListener(window,"load",_init);if(!Array.prototype.pop){Array.prototype.pop=function(){var A;if(this.length>0){A=this[this.length-1];this.length--}return A}}if(!Array.prototype.push){Array.prototype.push=function(){var B=this.length;for(var A=0;A<arguments.length;A++){this[B+A]=arguments[A]}return this.length}}if(!Array.prototype.shift){Array.prototype.shift=function(){var A=this[0];if(A){this.splice(0,1)}return A}}if(!Array.prototype.unshift){Array.prototype.unshift=function(){this.reverse();for(var A=arguments.length-1;A>=0;A--){this[this.length]=arguments[A]}this.reverse();return this.length}}if(!Number.prototype.toFixed){Number.prototype.toFixed=function(dc){dc=(typeof (dc)=="number")?dc:0;return eval("Math.round(this * 1e"+dc+") / 1e"+dc)}}function hideEl(A){var B;if(document.getElementById){B=document.getElementById(A);if(B!==null){if(B.style.display!=="none"){B.style.display="none"}}}return B}function showEl(B){var A;if(document.getElementById){A=document.getElementById(B);if(A!==null){if(A.style.display!=="block"){A.style.display="block"}}}return A}function showPhoto(B,A,F,E){var C;if(document.getElementById){var D,G;C=document.getElementById(A);for(D=C.childNodes.length-1;D>=0;D--){C.removeChild(C.childNodes[D])}G={img:{"@alt":""}};if(F){G.img["@width"]=F}if(E){G.img["@height"]=E}if(C.style.display!=="block"){G.img["@src"]=B}else{G.img["@src"]=tr.icons+"/transparent.gif";C.style.display="none"}booking.utils.buildHtmlNode(G,C)}return false}function showFrameContainer(E,B,D,A,C,O,K,G,N){if(document.getElementById){var J=document.getElementById(E);var L=document.getElementById(B);var I=document.getElementById(D);if(L.style.display=="block"){L.style.display="none";return false}if(I.src!=A){I.src=A}L.style.visibility="hidden";L.style.display="block";var H=getDimensions(J);var F=H.x,M=H.y;if(K){F+=K}if(G){M+=G}if(!C){C=L.offsetWidth}var P=document.getElementById("bodyconstraint").offsetWidth;if((F+C)>P){F=(P-C-40)}L.style.left=F+"px";L.style.top=M+"px";L.style.visibility="visible";return false}else{window.open(A)}}function openCurrencyConverter(C,B,A){if(document.getElementById){document.getElementById("amount").value=B;document.getElementById("sourceCurrency").value=A;document.getElementById("currencyResults").style.display="none";positionObj(C,"currencyConverter");document.getElementById("currencyConverter").style.display="block"}}function calculateCurrency(){if(document.getElementById){var A=document.getElementById("amount").value;var D=currencydb[document.getElementById("sourceCurrency").value];var C=currencydb[document.getElementById("destinationCurrency").value];var B=Math.round(100*A*(C.val/D.val))/100;document.getElementById("displayCurrencyResults").innerHTML=D.symbol+" "+A+" = "+C.symbol+" "+B;document.getElementById("currencyResults").style.display="block";return false}}function closeCurrencyConverter(){if(document.getElementById){document.getElementById("displayCurrencyResults").innerHTML="";document.getElementById("currencyResults").style.display="none";document.getElementById("currencyConverter").style.display="none"}}function showDiv(B,A,E,D){if(document.getElementById){var F=document.getElementById(B);var H=document.getElementById(A);if(H.style.display!="block"){var G=getDimensions(F);var C=G.x,I=G.y;H.style.visibility="hidden";H.style.display="block";if(E=="left"){C-=H.offsetWidth}else{C+=F.offsetWidth}if(D=="top"){I-=H.offsetHeight}else{I+=F.offsetHeight}if(I<10){I=10}if(gClientIsIE5){C+=document.body.scrollLeft;I+=document.body.scrollTop}H.style.left=C+"px";H.style.top=I+"px";H.style.visibility="visible"}else{H.style.display="none"}}}function itemToggle(B){var A=document.getElementById(B);A.style.display=(A.style.display!="none"?"none":"")}function positionObj(G,B){if(document.getElementById){var F=document.getElementById(B);var H=getBrowserWidth();var C=getDimensions(G);var E=C.x,D=C.y;F.style.visibility="hidden";F.style.display="block";if((E+F.offsetWidth)>H){E=(H-F.offsetWidth-30)}var A=document.getElementById("bodyconstraint").offsetLeft;E-=A;F.style.display="none";F.style.visibility="visible";F.style.left=E+"px";F.style.top=D+"px"}}function displayArrow(B,E){var D=document.getElementById(B);var A=D.style.display;var C=document.getElementById(E);if(A=="none"){C.style.backgroundPosition="0 -11px"}else{C.style.backgroundPosition="left top"}}function sSc(B,A,C){if(document.getElementById){document.getElementById("rsc_"+B).innerHTML=C}}function sSc2(D,C){if(document.getElementById){document.getElementById("rnr").innerHTML=D;for(var B=-1;B<10;B++){var A=document.getElementById("rl"+B);if(A){A.style.color="";A.style.textDecoration="underline"}}C.style.color="#003580";C.style.textDecoration="none";C.blur()}}function fixBanner(){}function getDimensions(E){var C={x:0,y:0,w:0,h:0};if(document.getBoxObjectFor){var A=document.getBoxObjectFor(E);C.x=A.x;C.y=A.y;C.w=A.width;C.h=A.height}else{if(E.getBoundingClientRect){var B=/MSIE 5\.0/g;var A=E.getBoundingClientRect();C.x=A.left;C.y=A.top;C.w=(A.right-A.left);C.h=(A.bottom-A.top);if(document.compatMode&&document.compatMode!="BackCompat"){C.x+=document.documentElement.scrollLeft-2;C.y+=document.documentElement.scrollTop-2}else{if(!gClientIsIE5){C.x+=document.body.scrollLeft-2;C.y+=document.body.scrollTop-2}}}else{C.w=E.offsetWidth;C.h=E.offsetHeight;while(E){C.x+=E.offsetLeft;C.y+=E.offsetTop;if(E.offsetParent){E=E.offsetParent}else{break}}}}var D;if(D=document.getElementById("bodyconstraint")){C.x-=D.offsetLeft}return C}String.prototype.deCode=function(){return this.replace(/[a-zA-Z]/g,function(A){return String.fromCharCode((A<="Z"?90:122)>=(A=A.charCodeAt(0)+13)?A:A-26)})};Date.prototype.getTwoDigitMonth=function(){var A=(this.getMonth()+1).toFixed().toString();if(A.length==1){A="0"+A}return A};Date.prototype.MILLISECONDS_PER_DAY=86400000;function buildCal(L,E,K){var B=[31,0,31,30,31,30,31,31,30,31,30,31];var G=new Date();if(!L){L=G.getFullYear()}if(!E){E=G.getMonth()+1}if(!K){K=G.getDate}var D=calendar.caldt;var C=new Date(L,E-1,1);var H=C.getDay();B[1]=(((C.getFullYear()%100!=0)&&(C.getFullYear()%4==0))||(C.getFullYear()%400==0))?29:28;var P='<table class="caltable" cellspacing="0"><tr>';P+='<td class="calheader" colspan="7" class="monthYear">';if(L==G.getFullYear()&&E==G.getMonth()+1){P+='<img class="calNoPrevMonth" src="'+tr.icons+'/transparent.png" width="24" height="24" alt="'+tr.prevMonth+'" />'}else{P+='<a class="calPrevMonth" href="" onclick="prevMonth( '+L+","+E+' ); return false;" title="'+tr.prevMonth+'"><img src="'+tr.icons+'/transparent.png" width="24" height="24" alt="'+tr.prevMonth+'" /></a>'}P+='&nbsp;<select name="ym" onchange="goYearMonth( this.options[this.selectedIndex].value );">';var F=G.getMonth()+1;var O=G.getFullYear();var J=0;for(n=0;n<=11;n++){P+='<option value="'+O+"-"+F+'"';if(F==E&&O==L){P+=' selected="selected"';J=1}else{J=0}P+=">"+months[F-1]+" "+O+"</option>";F++;if(F>12){F=1;O++}}P+=" </select>&nbsp;";if(J==1){P+='<img class="calNoNextMonth" src="'+tr.icons+'/transparent.png" width="24" height="24" alt="'+tr.nextMonth+'" />'}else{P+='<a class="calNextMonth" href="" onclick="nextMonth( '+L+","+E+' ); return false;" title="'+tr.nextMonth+'"><img src="'+tr.icons+'/transparent.png" width="24" height="24" alt="'+tr.nextMonth+'" /></a>'}P+="</td></tr>";P+='<tr class="dayNames">';var N;for(dn=0;dn<7;dn++){N="";if((dn%7==5)||(dn%7==6)){N+=" weekend"}P+='<td class="'+N+'">'+days[dn]+"</td>"}P+='</tr><tr class="days">';for(i=1;i<=42;i++){var M=i-(H+6)%7;if(M>B[E-1]||M<1){M="&nbsp;"}N="";var A=0;if((i%7==0)||(i%7==6)){N+=" weekend"}if(M>0){var I=new Date(L,E-1,M);if((I.getFullYear()==L)&&(I.getMonth()+1==E)&&(I.getDate()==K)){N+=" selected";A=1}if((I.getFullYear()==G.getFullYear())&&(I.getMonth()==G.getMonth())&&(I.getDate()==G.getDate())){N+=" today";A=1}else{if(I>G){N+=" future";A=1}else{if(I<G){N+=" past"}}}}P+='<td class="'+N+'">';if(A){P+='<a href="#" onclick="pickDate( '+L+","+E+","+M+",'"+D+"' ); return false;\">"+M+"</a>"}else{P+=M}P+="</td>";if(((i)%7==0)&&(i<36)){P+='</tr><tr class="days">'}}P+='</tr><tr><td colspan="7"><a href="#" onclick="closeCal(); return false;">'+tr.closeCalendar+"</a></td></tr></table>";document.getElementById("calendar").innerHTML=P}function showCalendar(G,J,A){getDimensions(G);if(document.getElementById){var F=document.getElementById(J);var C=getChildImage(G);var E=DOM.getParentOrSelf(G,"form");calendar.cal=F;calendar.caldt=A;calendar.calf=E;var I=E[A+"_year_month"].value.split("-");y=I[0];m=I[1];d=E[A+"_monthday"].value;if(y==="0"){y=new Date().getFullYear()}buildCal(y,m,d);var D=getDimensions(C);var B=D.x,H=(D.y+C.offsetHeight);F.style.left=B+"px";F.style.top=H+"px";F.style.display="block"}}function closeCal(){calendar.cal.style.display="none"}function prevMonth(B,A){if(new Date(B,A-1,1)<td){return }if(A>1){A--}else{A=12;B--}buildCal(B,A)}function nextMonth(B,A){if(A<12){A++}else{A=1;B++}buildCal(B,A)}function goYearMonth(A){var B=A.split("-");buildCal(B[0],B[1])}function pickDate(E,A,D,B){var C=calendar.calf;var B=calendar.caldt;C[B+"_year_month"].value=E+"-"+A;C[B+"_monthday"].value=D;tickCheckBox("availcheck");if(B=="checkin"){checkDateOrder(C,"checkin_monthday","checkin_year_month","checkout_monthday","checkout_year_month")}closeCal();updateDaySelect(C)}function initDaySelect(){var A=document.getElementsByTagName("form");for(var B=0;B<A.length;B++){if(A[B].checkin_monthday){if(!gClientIsIE5){A[B].validator=new booking.datebox.Validator(A[B])}updateDaySelect(A[B])}}}function updateDaySelect(J){if(!days3){return }if(gClientIsIE5&&gClientIsMac){return }var M=DOM.getParentOrSelf(J,"form");if(!M.checkin_monthday||!M.checkout_monthday||!M.checkin_year_month||!M.checkout_year_month){return }if(M.checkin_monthday.value==="0"&&M.checkout_monthday.value==="0"&&M.checkin_year_month.value==="0"&&M.checkout_year_month.value==="0"){return }var H=M.checkin_monthday,O=M.checkout_monthday;if(booking.env.s_value_checkin_year_month&&booking.env.s_value_checkin_year_month!=="0"){var G=booking.env.s_value_checkin_year_month.split("-")}else{if(M.checkin_year_month.value!=="0"){G=M.checkin_year_month.value.split("-")}else{var Q=new Date();G=[Q.getFullYear(),Q.getTwoDigitMonth()]}}if(booking.env.s_value_checkin_year_month&&booking.env.s_value_checkout_year_month!=="0"){var N=booking.env.s_value_checkout_year_month.split("-")}else{if(M.checkout_year_month.value!=="0"){N=M.checkout_year_month.value.split("-")}else{var Q=new Date();N=[Q.getFullYear(),Q.getTwoDigitMonth()]}}var I=Math.max(H.selectedIndex,0),B=Math.max(O.selectedIndex,0),E=H[I].value,L=O[B].value,K=[],A,F;H.innerHTML="";O.innerHTML="";if((!booking.env.s_value_checkin_monthday_is_set||booking.env.s_value_checkin_monthday_is_0)&&(!booking.env.s_value_checkout_monthday_is_set||booking.env.s_value_checkout_monthday_is_0)&&!gClientIsIE5){var P=function(){this.option={_this:this,"@selected":"selected","@class":"day prompt site_experiment_encourage_date_entry_2","@value":0,"#text":booking.env.day}};if(E==="0"){booking.utils.buildHtmlNode(new P(),H).selected=true}if(L==="0"){booking.utils.buildHtmlNode(new P(),O).selected=true}}function D(Y,U,R,X,W){var V,T,S;for(V=0;V<Y;V++){S=document.createElement("option");T=V+1;if(U.value!=="0"){T=R[V]+" "+T}S.innerHTML=T;S.value=(V+1);if(V>0&&W==V+1){S.defaultSelected=S.selected=true}X.appendChild(S)}}K=buildDaysForMonth(G[0],G[1]);var C=31;if(M.checkin_year_month.value!=="0"){C=K.length}D(C,M.checkin_year_month,K,H,E);K=buildDaysForMonth(N[0],N[1]);C=31;if(M.checkout_year_month.value!=="0"){C=K.length}D(C,M.checkout_year_month,K,O,L);if(gClientIsIElte6){H.value=E;O.value=L}}function buildDaysForMonth(D,F){var B=new Date(D,F-1);var E=B.getMonth();var A=[],C;while(B.getMonth()==E){C=(B.getDay()==0)?6:(B.getDay()-1);A.push(days3[C]);B.setDate(B.getDate()+1)}return A}function checkDateOrder(G,C,B,H,D){var J=DOM.getParentOrSelf(G,"form"),K,M=new Date(0),I=new Date(0),A,F=new Date(),L,E;if(J[C].value!=="0"){M.setDate(J[C].value)}if(J[B].value!=="0"){K=J[B].value.split("-");M.setFullYear(K[0]);M.setMonth(K[1]-1)}M.setHours(12);M.setMinutes(0);M.setSeconds(0);if(J[H].value!=="0"){I.setDate(J[H].value)}if(J[D].value!=="0"){K=J[D].value.split("-");I.setFullYear(K[0]);I.setMonth(K[1]-1)}I.setHours(12);I.setMinutes(0);I.setSeconds(0);if(M>=I){I.setTime(M.getTime()+Date.prototype.MILLISECONDS_PER_DAY);A=I.getMonth()+1;if(J[C].value!=="0"){J[H].value=I.getDate()}if(J[B].value!=="0"){J[D].value=I.getFullYear()+"-"+A}}}function switchDateStack(A,C){var B=DOM.getParentOrSelf(A,"div");var D=0;while(B){if(B.nodeName.toLowerCase()=="div"){D++;if(D==C){B.style.display="block"}else{B.style.display="none"}}B=B.nextSibling}}function getChildImage(A){A=A.firstChild;while(A.nodeName.toLowerCase()!="img"&&A.nextSibling){A=A.nextSibling}return A}function getParentOrSelf(B,A){A=A.toLowerCase();while(B.nodeName.toLowerCase()!=A&&B.parentNode){B=B.parentNode}return B}booking.ExclamationSpan=function(){this.span={_this:this,"@class":"exclamation","#text":"\u00A0!\u00A0"}};booking.ensureNamespaceExists("datebox");booking.datebox.Validator=function(A){A=DOM.getParentOrSelf(A,"form");this.dateboxFormNode=A;this.initialize()};booking.datebox.Validator.prototype.initialize=function(){if(!this.initialized&&!gClientIsIE5){this.checkinMonthday=this.dateboxFormNode.checkin_monthday;this.checkinYearmonth=this.dateboxFormNode.checkin_year_month;this.checkoutMonthday=this.dateboxFormNode.checkout_monthday;this.checkoutYearmonth=this.dateboxFormNode.checkout_year_month;booking.event.addListener(this.dateboxFormNode,"submit",this.validate);this.errorElement=booking.utils.dom.getElementsByClassName("dateerrors",this.dateboxFormNode)[0];this.initialized=true}return this.dateboxFormNode};booking.datebox.Validator.prototype.validate=function(B){booking.event.normalizeExplorerEventObject(B);var D=false,C=B.currentTarget.validator,A=(C.checkinMonthday.value==="0"||C.checkinYearmonth.value==="0"),E=(C.checkoutMonthday.value==="0"||C.checkoutYearmonth.value==="0");if(A||E){if(C.dateboxFormNode.do_availability_check&&C.dateboxFormNode.do_availability_check.type=="checkbox"){if(C.dateboxFormNode.do_availability_check.checked){D=true}}else{D=true}if(D){B.preventDefault();C.showError({checkin:A,checkout:E},C);return false}}};booking.datebox.Validator.prototype.showError=function(A,B){if(B.errorDialog){B.errorElement.innerHTML=""}if(A.checkin&&A.checkout){B.errorDialog=new B.Div_checkin_and_checkout_dates_invalid()}else{if(A.checkin){B.errorDialog=new B.Div_checkin_date_invalid()}else{if(A.checkout){B.errorDialog=new B.Div_checkout_date_invalid()}}}return booking.utils.buildHtmlNode(B.errorDialog,B.errorElement)};booking.datebox.Validator.prototype.Div_checkin_date_invalid=function(){this.span=new booking.ExclamationSpan().span;this.p={_this:this,"@class":"error please_enter_your_check_in_date","#text":booking.env.please_enter_your_check_in_date}};booking.datebox.Validator.prototype.Div_checkout_date_invalid=function(){this.span=new booking.ExclamationSpan().span;this.p={_this:this,"@class":"error please_enter_your_check_out_date","#text":booking.env.please_enter_your_check_out_date}};booking.datebox.Validator.prototype.Div_checkin_and_checkout_dates_invalid=function(){this.span=new booking.ExclamationSpan().span;this.p={_this:this,"@class":"error please_enter_your_check_in_and_check_out_dates","#text":booking.env.to_check_availability_please_enter_your_dates_of_stay}};booking.ensureNamespaceExists("google");booking.google.returnAnalyticsTrackingString=function(){var C=booking.env,A="",B;A=C.b_this_urchin+"ur_aid="+C.b_aid+";ur_plang="+C.b_lang+";ur_gstcc="+C.b_guest_country+";ur_expgr="+(C.b_experiment_group?"1":"");if(C.b_first_time_in_confirmation_page){A+=";ur_trans=1"}if(C.b_action==="hotel"&&C.b_checkin_date){A+=";ur_hodat=1"}if(C.b_action==="hotel"){A+=";ur_hocc1="+C.b_countrycode}if(C.b_action==="searchresults"&&C.b_multiple_destinations_found){A+=";ur_srdis=1"}if(C.b_action==="searchresults"&&C.b_availability_checked){A+=";ur_srdat=1"}if(C.b_action==="searchresults"&&C.b_context_details){for(B=0;B<C.b_context_details.length;B++){A+=";ur_srctp="+C.b_context_details[B].b_type+";ur_srcid="+C.b_context_details[B].b_code}}return A};booking.buildMapNamespace=function(){booking.map={description:"Object-literal namespace for sitewide Google Maps.",version:"1.5",controls:[],markers:[],ZOOM_TARGET_HOTEL_PREVIEW:13,ZOOM_TARGET_HOTEL_NORMAL:14,CLASS_PREVIEW:"preview",CLASS_NORMAL:"normal",MARGIN_TOP:30,MARGIN_RIGHT:0,MARGIN_BOTTOM:30,MARGIN_LEFT:72,CSS_POSITION_TOP:40,CSS_POSITION_LEFT:200,MAP_PREVIEW_THUMBNAIL_IS_REAL_MAP:false,LOAD_MAP_ON_WINDOW_LOAD:false,LOAD_MAP_HIDDEN:false,REUSE_PREVIEW_THUMBNAIL_AS_FULL_MAP:false,SHOW_INFOWINDOW_ON_SHOWMAP_LINK_MOUSEOVER:true,DEFAULT_DISPLAY_MODE:6,JS_VOID_URL:"#",PLACEMARKS_LIMIT:50,MARKER_MOUSEOVER_Z_INDEX_OFFSET:100000,MARKER_PATH_PREFIX:"/static/img",SHOW_LEGEND:booking.env.setvar_affiliate_is_bookings2?true:false};if(booking.env.s_raw_param_map_mode){booking.map.display_mode=booking.env.s_raw_param_map_mode}else{booking.map.display_mode=booking.map.DEFAULT_DISPLAY_MODE}switch(booking.map.display_mode){case 2:booking.map.MAP_PREVIEW_THUMBNAIL_IS_REAL_MAP=true;break;case 3:booking.map.MAP_PREVIEW_THUMBNAIL_IS_REAL_MAP=true;booking.map.LOAD_MAP_ON_WINDOW_LOAD=true;booking.map.LOAD_MAP_HIDDEN=true;break;case 4:break;case 5:booking.map.LOAD_MAP_ON_WINDOW_LOAD=true;booking.map.LOAD_MAP_HIDDEN=true;break;case 6:break;case 7:booking.map.USE_CENTER_FROM_ACTION=true;booking.map.USE_ZOOM_FROM_ACTION=true;break}booking.map.BuildInfoWindow=function(item){this.item_=item};booking.map.BuildInfoWindow.prototype.it=function(){GEvent.removeListener(this.item_.marker.handleBuildInfoWindow);this.item_.marker.infoWindow=new booking.map.InfoWindow2(this.item_,booking.env);booking.map.obj.addOverlay(this.item_.marker.infoWindow);this.item_.mouseoverHandle=GEvent.addDomListener(this.item_.marker,"mouseover",function(){this.infoWindow.show()});this.item_.mouseoutHandle=GEvent.addDomListener(this.item_.marker,"mouseout",function(){this.infoWindow.hide()});GEvent.trigger(this.item_.marker,"mouseover")};booking.Go=function(url){this.url_=url};booking.Go.prototype.to=function(){document.location=this.url_};booking.map.InfoWindow2=function(record,env){this._record=record;this.div={"@class":"BInfoWindow below",h3:{},p:{}};if(record){this.div["@id"]=record.id;this.div["@class"]+=(" "+record.icon_type);if(record.b_class){this.div.h3.img={"@src":"/static/img/"+record.b_class+"sterren-small.png","@alt":record.b_class+" "+(record.b_class==1?env.star:env.stars)}}if(record.b_image_url){this.div.p.img={"@src":record.b_image_url,"@alt":"thumbnail photograph"}}if(record.b_type=="hotel"){this.div.h3["#text"]=record.title;this.div.p["#text"]=record.b_description}else{this.div.h3["#text"]=record.title;this.div.h3.span={"@class":"subhead",br:{},"#text":record.subhead};if(record.b_hotelcount){this.div.p["#text"]=record.b_hotelcount+" "+(record.b_hotelcount==1?env.map_hotel:env.map_hotels)}else{delete this.div.p}}}};booking.map.InfoWindow2.prototype=new GOverlay();booking.map.InfoWindow2.prototype.initialize=function(map){this._map=map;booking.utils.buildHtmlNode(this,map.getPane(G_MAP_FLOAT_PANE))};booking.map.InfoWindow2.prototype.remove=function(){this.div._node.parentNode.removeChild(this.div._node)};booking.map.InfoWindow2.prototype.copy=function(){return new booking.InfoWindow(this._record)};booking.map.InfoWindow2.prototype.redraw=function(force){if(!force){return }};booking.map.InfoWindow2.prototype.show=function(){if(booking.map.display.subject&&(this._record!==booking.map.display.subject)){booking.map.display.clear()}booking.utils.removeClass(this.div._node,"disabled");this.position();this._record.marker.increaseZIndex(booking.map.MARKER_MOUSEOVER_Z_INDEX_OFFSET)};booking.map.InfoWindow2.prototype.position=function(){var markerAnchor=this._map.fromLatLngToDivPixel(this._record.latLng),left="auto",markerType=booking.map.iconTypes[this._record.icon_type],ddV=document.defaultView?document.defaultView:false,halfwidth=ddV?parseFloat(ddV.getComputedStyle(this.div._node,null).width)/2:Math.round(this.div._node.offsetWidth/2),height=ddV?parseFloat(ddV.getComputedStyle(this.div._node,null).height):this.div._node.offsetHeight,pointEN,pointWS,mapInfowindowBounds=new GBounds(),count=0,text=this.div.p?this.div.p._node.lastChild:null,top=markerAnchor.y+markerType.infoWindowAnchor.y-markerType.iconAnchor.y;if(booking.map.display.subject){var size=booking.map.obj.getSize();pointEN=new GPoint(markerAnchor.x+(size.width/2),markerAnchor.y-(size.height/2));pointWS=new GPoint(markerAnchor.x-(size.width/2),markerAnchor.y+(size.height/2))}else{var bounds=this._map.getBounds();pointEN=this._map.fromLatLngToDivPixel(bounds.getNorthEast());pointWS=this._map.fromLatLngToDivPixel(bounds.getSouthWest())}mapInfowindowBounds.minY=pointEN.y+booking.map.MARGIN_TOP;mapInfowindowBounds.maxX=pointEN.x-booking.map.MARGIN_RIGHT;mapInfowindowBounds.maxY=pointWS.y-booking.map.MARGIN_BOTTOM;mapInfowindowBounds.minX=pointWS.x+booking.map.MARGIN_LEFT;function truncate(text,parent){text.nodeValue=text.nodeValue.slice(0,text.nodeValue.search(/\s{1}\S+$/))+booking.env.typographical_ellipsis;height=ddV?parseFloat(ddV.getComputedStyle(parent,null).height):parent.offsetHeight;booking.utils.addClass(parent,"truncated")}if(top+height>mapInfowindowBounds.maxY){if(markerAnchor.y>((mapInfowindowBounds.maxY-mapInfowindowBounds.minY)/2)){top=markerAnchor.y-markerType.infoWindowAnchor.y-height;booking.utils.removeClass(this.div._node,"below");booking.utils.addClass(this.div._node,"above");while((top<mapInfowindowBounds.minY)&&(count++<200)&&text){truncate(text,this.div._node);top=markerAnchor.y-markerType.infoWindowAnchor.y-height}}else{while((top+height>mapInfowindowBounds.maxY)&&(count++<200)&&text){truncate(text,this.div._node)}}}this.div._node.style.top=top+=booking.CSS.units.px;if(markerAnchor.x+halfwidth>mapInfowindowBounds.maxX){left=mapInfowindowBounds.maxX-(halfwidth*2)-5}else{if(markerAnchor.x-halfwidth<mapInfowindowBounds.minX){left=mapInfowindowBounds.minX}else{left=markerAnchor.x-halfwidth}}this.div._node.style.left=left+booking.CSS.units.px};booking.map.InfoWindow2.prototype.hide=function(){booking.utils.addClass(this.div._node,"disabled");this._record.marker.decreaseZIndex(booking.map.MARKER_MOUSEOVER_Z_INDEX_OFFSET)};booking.map.buildPlacemarksUrl=function(){var bbox=booking.map.box.getSouthWest().lng()+","+booking.map.box.getSouthWest().lat()+","+booking.map.box.getNorthEast().lng()+","+booking.map.box.getNorthEast().lat();booking.placemarksUrl="/hotelsonmap."+booking.env.b_lang+".json?BBOX="+bbox+";limit="+booking.map.PLACEMARKS_LIMIT};booking.map.inflateBoundsBox=function(boundsBox,env){var promo;for(var i in booking.promotions){if(booking.promotions.hasOwnProperty(i)&&(typeof booking.promotions[i]=="object")){promo=booking.promotions[i];if(!promo.latLng){promo.latLng=new GLatLng(promo.b_latitude,promo.b_longitude);delete promo.b_latitude;delete promo.b_longitude}if((env.b_action!=="searchresults"&&promo.b_type==="hotel")||env.b_action==="region"||(env.b_action=="country"&&(promo.b_type==="city"||promo.b_type==="airport"))){boundsBox.extend(promo.latLng)}}}};booking.map.inflateBoundsBox.inflate="Called when booking.map.box.isEmpty() returns true to expand the box to fit all the pageâ€™s promotions, with various exceptions.";booking.map.computeZoom=function(mapNamespace,mapObject){if(mapNamespace.USE_ZOOM_FROM_ACTION&&booking.env.b_map_google_static_thumbnail_zoom_level){mapNamespace.boundsZoomLevel=booking.env.b_map_google_static_thumbnail_zoom_level+1}else{mapNamespace.boundsZoomLevel=mapObject.getBoundsZoomLevel(this.box);if(booking.env.b_action=="hotel"){var target=booking.utils.hasClass(booking.map.main,booking.map.CLASS_PREVIEW)?mapNamespace.ZOOM_TARGET_HOTEL_PREVIEW:mapNamespace.ZOOM_TARGET_HOTEL_NORMAL;mapNamespace.boundsZoomLevel=target+Math.round((mapNamespace.boundsZoomLevel-target)/2)}}};booking.map.setCenter=function(center,zoom,mapType){this.obj.setCenter(center?center:this.center,zoom?zoom:this.boundsZoomLevel,mapType?mapType:this.mapType)};booking.map.addControls=function(){if(booking.map.controls.length===0){booking.map.controls.push(new GLargeMapControl(),new GScaleControl(),new GHierarchicalMapTypeControl());for(var i=0;i<booking.map.controls.length;i++){booking.map.obj.addControl(booking.map.controls[i])}}};booking.map.removeControls=function(){while(booking.map.controls.length>0){booking.map.obj.removeControl(booking.map.controls.pop())}};booking.map.close=function(eventObject){booking.event.normalizeExplorerEventObject(eventObject);if(booking.map.display.subject){GEvent.trigger(booking.map.display.subject.marker,"mouseout");booking.map.display.subject=null}if(booking.utils.hasClass(booking.map.main,booking.map.CLASS_NORMAL)){booking.map.minimize()}else{booking.utils.addClass(booking.map.main,"disabled")}if(gClientIsIElte6){for(var i=0;i<booking.selects.length;i++){booking.selects[i].style.visibility="visible"}}eventObject.preventDefault();eventObject.stopPropagation();return false};booking.map.focus=function(subject){booking.map.obj.panTo(subject.latLng);GEvent.trigger(subject.marker,"mouseover")};booking.map.setSubject=function(eventObject,itemId){if(booking.map.obj&&booking.map.display.initialized){booking.event.normalizeExplorerEventObject(eventObject);if(!itemId&&eventObject.currentTarget&&eventObject.currentTarget.itemId){itemId=eventObject.currentTarget.itemId}booking.map.display.clear();if(itemId){if(booking.promotions[itemId]||booking.placemarks){booking.map.display.subject=booking.promotions[itemId]?booking.promotions[itemId]:booking.placemarks[itemId];booking.map.focus(booking.map.display.subject)}else{booking.map.display.subjectID=itemId}}else{booking.map.obj.panTo(booking.map.center)}}};booking.map.display=function(eventObject){var b_map=booking.map;booking.event.normalizeExplorerEventObject(eventObject);if(eventObject){booking.event.normalizeExplorerEventObject(eventObject)}if(!b_map.load.executed){b_map.load(b_map)}if(booking.utils.hasClass(b_map.main,b_map.CLASS_PREVIEW)){b_map.maximize()}else{b_map.main.style.display="block"}if(!b_map.display.initialized){b_map.display.initialize(b_map)}if(eventObject&&eventObject.currentTarget.itemId&&!(b_map.display.subject&&(b_map.display.subject.b_hotel_id===eventObject.currentTarget.itemId))){b_map.setSubject(eventObject)}else{b_map.obj.panTo(b_map.center)}if(gClientIsIElte6){b_map.area.hideSelectsUnderneath()}if(booking.map.display.handle){GEvent.removeListener(booking.map.display.handle);delete booking.map.display.handle}eventObject.preventDefault();eventObject.stopPropagation();return false};booking.map.display.clear=function(){if(booking.map.display.subject){GEvent.trigger(booking.map.display.subject.marker,"mouseout");booking.map.display.subject=""}};booking.map.display.initialize=function(b_map){booking.map.featMap.style.display="block";if(booking.env.b_action=="searchresults"){booking.hotelsMatchingCriteria.load()}booking.promotions.process();b_map.buildPlacemarksUrl();var downloadUrl=new GDownloadUrl(booking.placemarksUrl,booking.map.processPlacemarks);b_map.display.initialized=true;b_map.obj.enableDragging();b_map.obj.checkResize();b_map.computeZoom(b_map,b_map.obj);b_map.setCenter();b_map.zoom.normal=b_map.obj.getZoom();b_map.addControls()};booking.map.resetForPreviewMode=function(){if(!booking.map.maximize.handle){booking.map.maximize.handle=GEvent.addDomListener(booking.map.thumbnail,"click",booking.map.maximize)}if(booking.map.REUSE_PREVIEW_THUMBNAIL_AS_FULL_MAP){booking.map.obj.checkResize();booking.map.computeZoom(booking.map,booking.map.obj);booking.map.setCenter();booking.map.obj.disableDragging()}};booking.map.maximize=function(){var b_map=booking.map;function getDocumentWindowDimensions(){var myWidth=0,myHeight=0;if(typeof window.innerWidth=="number"){myWidth=window.innerWidth;myHeight=window.innerHeight}else{if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;myHeight=document.documentElement.clientHeight}else{if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;myHeight=document.body.clientHeight}}}return{width:myWidth,height:myHeight}}function getScrollOffsets(){var x=0,y=0;if(typeof window.pageYOffset=="number"){y=window.pageYOffset;x=window.pageXOffset}else{if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){y=document.body.scrollTop;x=document.body.scrollLeft}else{if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){y=document.documentElement.scrollTop;x=document.documentElement.scrollLeft}}}return{x:x,y:y}}var dimensions=getDocumentWindowDimensions(),scrollOffsets=getScrollOffsets(),adjustedTop=(dimensions.height/2)-(433/2)+scrollOffsets.y,adjustedLeft=(dimensions.width/2)-(640/2)+scrollOffsets.x;b_map.draggableObject.moveTo(new GPoint(adjustedLeft,adjustedTop));b_map.obj.enableDragging();if(b_map.maximize.handle){GEvent.removeListener(b_map.maximize.handle);delete b_map.maximize.handle}booking.utils.removeClass(b_map.main,b_map.CLASS_PREVIEW);booking.utils.addClass(b_map.main,b_map.CLASS_NORMAL);if(b_map.REUSE_PREVIEW_THUMBNAIL_AS_FULL_MAP){b_map.obj.checkResize();b_map.computeZoom(b_map,b_map.obj);b_map.setCenter();b_map.addControls()}};booking.map.minimize=function(){booking.utils.removeClass(booking.map.main,booking.map.CLASS_NORMAL);booking.utils.addClass(booking.map.main,booking.map.CLASS_PREVIEW);if(booking.map.REUSE_PREVIEW_THUMBNAIL_AS_FULL_MAP){booking.map.removeControls()}booking.map.resetForPreviewMode()};booking.map.iconTypes={};booking.map.Marker=function(latlng,options){this.latlng=latlng;this.icon_type=options.icon.icon_type.replace("-","_");GMarker.apply(this,arguments)};booking.map.Marker.prototype=new GMarker(new GLatLng(0,0));booking.map.Marker.prototype.initialize=function(map){GMarker.prototype.initialize.call(this,map)};booking.map.Marker.prototype.redraw=function(map){GMarker.prototype.redraw.call(this,map);this.increaseZIndex()};booking.map.Marker.prototype.determineImgNodePropertyName=function(){booking.map.Marker.prototype.imgNodePropertyName=false;for(var property in this){if(this.hasOwnProperty(property)&&typeof this[property]==="object"&&this[property]&&this[property].nodeName&&this[property].nodeName.toLowerCase()==="img"){booking.map.Marker.prototype.imgNodePropertyName=property;break}}};booking.map.Marker.prototype.getStyleObject=function(){if(!this.imgNodePropertyName&&this.imgNodePropertyName!==false){this.determineImgNodePropertyName()}return this[this.imgNodePropertyName]?this[this.imgNodePropertyName].style:null};booking.map.Marker.prototype.getZIndex=function(){return this.getStyleObject()?this.getStyleObject().zIndex:null};booking.map.Marker.prototype.setZIndex=function(newValue){if(this.getStyleObject()){this.getStyleObject().zIndex=newValue}};booking.map.Marker.prototype.increaseZIndex=function(incrementInteger){if(incrementInteger){this.setZIndex(parseInt(this.getZIndex(),10)+incrementInteger)}else{this.setZIndex(parseInt(this.getZIndex(),10)+booking.map.iconTypes[this.icon_type].zOrder)}};booking.map.Marker.prototype.decreaseZIndex=function(decrementInteger){if(decrementInteger){this.setZIndex(parseInt(this.getZIndex(),10)-decrementInteger)}else{this.setZIndex(parseInt(this.getZIndex(),10)-booking.map.iconTypes[this.icon_type].zOrder)}};booking.map.Marker.prototype.remove=function(map){GMarker.prototype.remove.call(this)};booking.map.Icon=function(options){if(!options){options={}}this.icon_type=options.icon_type?options.icon_type:this.icon_type;if(options.image){this.image=options.image}else{this.image=booking.map.MARKER_PATH_PREFIX+"/marker-"+this.icon_type+".png"}this.shadow=options.shadow?options.shadow:this.shadow;this.iconSize=options.iconSize?options.iconSize:this.iconSize;this.shadowSize=options.shadowSize?options.shadowSize:this.shadowSize;this.iconAnchor=options.iconAnchor?options.iconAnchor:this.iconAnchor;this.infoWindowAnchor=options.infoWindowAnchor?options.infoWindowAnchor:(this.infoWindowAnchor?this.infoWindowAnchor:this.iconAnchor);this.printImage=options.printImage?options.printImage:(this.printImage?this.printImage:this.image);this.mozPrintImage=options.mozPrintImage?options.mozPrintImage:(this.mozPrintImage?this.mozPrintImage:this.image);this.printShadow=options.printShadow?options.printShadow:(this.printShadow?this.printShadow:this.shadow);this.transparent=options.transparent?options.transparent:this.transparent;this.imageMap=options.imageMap?options.imageMap:this.imageMap;this.maxHeight=options.maxHeight?options.maxHeight:this.maxHeight;this.dragCrossImage=options.dragCrossImage?options.dragCrossImage:this.dragCrossImage;this.dragCrossSize=options.dragCrossSize?options.dragCrossSize:this.dragCrossSize;this.dragCrossAnchor=options.dragCrossAnchor?options.dragCrossAnchor:this.dragCrossAnchor};booking.map.Icon.prototype=new GIcon();booking.map.Icon.prototype.icon_type="hotel";booking.map.Icon.prototype.image=booking.map.MARKER_PATH_PREFIX+"/marker-hotel-orange.png";booking.map.Icon.prototype.shadow=booking.map.MARKER_PATH_PREFIX+"/marker-shadow-hotel.png";booking.map.Icon.prototype.iconSize=new GSize(17,20);booking.map.Icon.prototype.shadowSize=new GSize(28,20);booking.map.Icon.prototype.iconAnchor=new GPoint(8.5,20);booking.map.Icon.prototype.infoWindowAnchor=new GPoint(8.5,20);booking.map.Icon.prototype.printImage=undefined;booking.map.Icon.prototype.mozPrintImage=undefined;booking.map.Icon.prototype.printShadow=undefined;booking.map.Icon.prototype.transparent="";booking.map.Icon.prototype.imageMap=[];booking.map.Icon.prototype.maxHeight=0;booking.map.Icon.prototype.dragCrossImage="";booking.map.Icon.prototype.dragCrossSize=new GSize(0,0);booking.map.Icon.prototype.dragCrossAnchor=new GPoint(0,0);booking.map.SmallIcon=function(){};booking.map.SmallIcon.prototype=new booking.map.Icon({icon_type:"city",image:booking.map.MARKER_PATH_PREFIX+"/marker-city.png",shadow:booking.map.MARKER_PATH_PREFIX+"/marker-shadow-city.png",iconSize:new GSize(9,9),shadowSize:new GSize(15,12),iconAnchor:new GPoint(4.5,4.5),infoWindowAnchor:new GPoint(4.5,9)});booking.map.LargeIcon=function(options){if(options){if(options.icon_type){this.icon_type=options.icon_type}if(options.image){this.image=options.image}if(options.iconSize){this.iconSize=options.iconSize}if(options.shadow){this.shadow=options.shadow}if(options.shadowSize){this.shadowSize=options.shadowSize}}};booking.map.LargeIcon.prototype=new booking.map.Icon({icon_type:"hotel_current",image:booking.map.MARKER_PATH_PREFIX+"/marker-hotel-orange-large.png",shadow:booking.map.MARKER_PATH_PREFIX+"/marker-shadow-hotel-large.png",iconSize:new GSize(26,27),shadowSize:new GSize(40,27),iconAnchor:new GPoint(13,27),infoWindowAnchor:new GPoint(13,27)});booking.map.ZoomRange=function(min,max){this.min=min?min:Math.NEGATIVE_INFINITY;this.max=max?max:Math.POSITIVE_INFINITY};booking.map.iconTypes.build=function(b_map){b_map.iconTypes.hotel=new b_map.Icon({icon_type:"hotel",image:booking.map.MARKER_PATH_PREFIX+"/marker-hotel-blue.png"});b_map.iconTypes.hotel.zoomRange=new b_map.ZoomRange(9);b_map.iconTypes.hotel.zOrder=10000;b_map.iconTypes.hotel_current=new b_map.LargeIcon();b_map.iconTypes.hotel_current.zoomRange=new b_map.ZoomRange(4);b_map.iconTypes.hotel_current.zOrder=100000;b_map.iconTypes.hotel_matching_criteria=new b_map.Icon({icon_type:"hotel_matching_criteria",image:booking.map.MARKER_PATH_PREFIX+"/marker-hotel-orange.png"});b_map.iconTypes.hotel_matching_criteria.zoomRange=new b_map.ZoomRange(9);b_map.iconTypes.hotel_matching_criteria.zOrder=5000;b_map.iconTypes.hotel_not_matching_criteria=new b_map.Icon({icon_type:"hotel_not_matching_criteria",image:booking.map.MARKER_PATH_PREFIX+"/marker-hotel-grey.png"});b_map.iconTypes.hotel_not_matching_criteria.zoomRange=new b_map.ZoomRange(9);b_map.iconTypes.hotel_not_matching_criteria.zOrder=100;b_map.iconTypes.airport=new b_map.Icon({icon_type:"airport"});b_map.iconTypes.airport.zoomRange=new b_map.ZoomRange(5);b_map.iconTypes.airport.zOrder=90;b_map.iconTypes.airport_current=new b_map.LargeIcon({icon_type:"airport_current",image:booking.map.MARKER_PATH_PREFIX+"/marker-airport-large.png"});b_map.iconTypes.airport_current.zoomRange=new b_map.ZoomRange(5);b_map.iconTypes.airport_current.zOrder=90;b_map.iconTypes.landmark=new b_map.Icon({icon_type:"landmark"});b_map.iconTypes.landmark.zoomRange=new b_map.ZoomRange(12);b_map.iconTypes.landmark.zOrder=80;b_map.iconTypes.landmark_current=new b_map.LargeIcon({icon_type:"landmark_current",image:booking.map.MARKER_PATH_PREFIX+"/marker-landmark-large.png"});b_map.iconTypes.landmark_current.zoomRange=new b_map.ZoomRange(12);b_map.iconTypes.landmark_current.zOrder=80;b_map.iconTypes.city=new b_map.SmallIcon();b_map.iconTypes.city.zoomRange=new b_map.ZoomRange(4,16);b_map.iconTypes.city.zOrder=70;b_map.iconTypes.city_current=new b_map.LargeIcon({icon_type:"city_current",image:booking.map.MARKER_PATH_PREFIX+"/marker-city-large.png",iconSize:new GSize(15,15),iconAnchor:new GPoint(7.5,15),shadow:booking.map.MARKER_PATH_PREFIX+"/marker-shadow-city-large.png",shadowSize:new GSize(23,15)});b_map.iconTypes.city_current.zoomRange=new b_map.ZoomRange(4,16);b_map.iconTypes.city_current.zOrder=70;b_map.iconTypes.country=new b_map.Icon({icon_type:"country"});b_map.iconTypes.country.zoomRange=new b_map.ZoomRange(4,10);b_map.iconTypes.country.zOrder=60;b_map.iconTypes.region=new b_map.Icon({icon_type:"region"});b_map.iconTypes.region.zoomRange=new b_map.ZoomRange(5);b_map.iconTypes.region.zOrder=50;b_map.iconTypes.district=new b_map.SmallIcon({icon_type:"district"});b_map.iconTypes.district.zoomRange=new b_map.ZoomRange(7);b_map.iconTypes.district.zOrder=40};booking.map.buildMarker=function(item){if(!item.icon_type){item.icon_type=item.b_type}item.marker=new booking.map.Marker(item.latLng,{icon:this.iconTypes[item.icon_type]});this.markerManager.addMarker(item.marker,this.iconTypes[item.icon_type].zoomRange.min,this.iconTypes[item.icon_type].zoomRange.max);if(item.url){item.marker.go=new booking.Go(item.url);GEvent.addDomListener(item.marker,"click",function(){this.go.to()})}item.marker.build=new booking.map.BuildInfoWindow(item);item.marker.handleBuildInfoWindow=GEvent.addDomListener(item.marker,"mouseover",function(){if(booking.utils.hasClass(booking.map.main,booking.map.CLASS_NORMAL)){}this.build.it();delete this.build})};booking.promotions.process=function(){for(var i in booking.promotions){if(booking.promotions.hasOwnProperty(i)&&(typeof booking.promotions[i]=="object")){var promo=booking.promotions[i];if(!promo.latLng){promo.latLng=new GLatLng(promo.b_latitude,promo.b_longitude);delete promo.b_latitude;delete promo.b_longitude}if(!booking.promotions[i].marker){if(promo.b_image_url){promo.b_image_url=promo.b_image_url.replace("square90","square60")}if(promo.b_type==="hotel"&&booking.env.b_action==="searchresults"){if(booking.hotelsMatchingCriteria[i]){promo.icon_type="hotel_matching_criteria"}else{promo.icon_type="hotel_not_matching_criteria"}}booking.map.buildMarker(promo);booking.map.markers.push(promo.marker)}}}};booking.map.processPlacemarks=function(response,code){if(response&&(code==200)){booking.placemarks=!(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(response.replace(/"(\\.|[^"\\])*"/g,"")))&&eval("("+response+")");if(!booking.placemarks){booking.placemarks.hotelsonmap="invalid";return }else{booking.placemarks.hotelsonmap="valid"}var placemark;for(var i in booking.placemarks){if(booking.placemarks.hasOwnProperty(i)&&(typeof booking.placemarks[i]=="object")){placemark=booking.placemarks[i];if(!booking.promotions[i]&&!(booking.pageSubject&&booking.pageSubject.b_hotel_id==i)){placemark.b_type="hotel";placemark.latLng=new GLatLng(placemark.b_latitude,placemark.b_longitude);delete placemark.b_latitude;delete placemark.b_longitude;if(booking.env.b_action==="searchresults"){if(booking.hotelsMatchingCriteria[i]){placemark.icon_type="hotel_matching_criteria"}else{placemark.icon_type="hotel_not_matching_criteria"}}placemark.url+=booking.env.b_query_params_with_lang;booking.map.buildMarker(placemark);booking.map.markers.push(placemark.marker)}else{delete booking.placemarks[i]}}}booking.loadCurrentHotels();if(booking.map.display.subjectID){booking.map.display.subject=booking.placemarks[booking.map.display.subjectID];booking.map.focus(booking.map.display.subject);delete booking.map.display.subjectID}}else{booking.placemarks.hotelsonmap="failed; code "+code+"."}};booking.map.buildCurrentHotel=function(properties_of_a_b_hotels_object_member){var p=properties_of_a_b_hotels_object_member;if(booking.promotions&&!booking.promotions[p.b_id]&&!booking.placemarks[p.b_id]){booking.placemarks[p.b_id]={b_type:"hotel",icon_type:booking.hotelsMatchingCriteria[p.b_id]?"hotel_matching_criteria":"hotel_not_matching_criteria",b_image_url:booking.env.images_url+p.b_main_photo,b_description:p.b_description,id:"hotel"+p.b_id,title:p.b_name,latLng:new GLatLng(p.b_latitude,p.b_longitude),url:p.b_url};if(p.b_class){booking.placemarks[p.b_id].b_class=p.b_class}booking.map.buildMarker(booking.placemarks[p.b_id])}};booking.map.buildNode=function(map){map.featMap=document.getElementById("b_featMap");if(map.featMap){map.containerTree=new map.Div(booking.env);booking.utils.buildHtmlNode(map.containerTree,map.featMap);map.containerTree.initialize(map);booking.utils.addClass(map.featMap,"b_map_mode_"+booking.map.display_mode);booking.utils.addClass(map.thumbnail,"b_map_mode_"+booking.map.display_mode)}};booking.map.buildNode.description="Called from the body element descendant after which the map node should appear.";booking.map.Div=function(env){this.div={_this:this,"@id":"b_google_map","@class":booking.map.CLASS_PREVIEW+" b_popupInner loading",div:{"@id":"b_google_map_area",h2:{"@id":"b_google_map_handle","@class":"handle b_popupInner",a:{"@id":"close_map","@href":booking.map.JS_VOID_URL,"#text":env.close_map},"#text":env.map},div:[{"@id":"b_google_map_container","@class":"b_popupInner",div:[{"@id":"b_google_map_parent"}]},{"@id":"b_google_map_container_shadow"}]}};if(booking.map.SHOW_LEGEND){this.div["@class"]+=" b_show_legend";this.div.div.div[0].div.push(new booking.map.Legend())}};booking.map.Legend=function(){var env=booking.env;this.div={_this:this,"@id":"b_google_map_legend",h3:{"#text":env.map_legend},table:{col:[{"@class":"b_maps_legend_marker"},{"@class":"b_maps_marker_legend_description"}],tbody:{tr:[new booking.map.Legend.Entry("b_maps_landmark","marker-landmark.png",env.map_landmark).tr,new booking.map.Legend.Entry("b_maps_city","marker-city.png",env.city).tr,new booking.map.Legend.Entry("b_maps_airport","marker-airport.png",env.airport).tr]}},p:{"#text":env.map_click_these_markers_on_the_map_for_more_detailed_information}};if(env.b_action==="searchresults"){this.div.table.tbody.tr.unshift(new booking.map.Legend.Entry("b_maps_hotel_matching_selection_criteria","marker-hotel-orange.png",env.map_hotel_matching_your_selection_criteria).tr,new booking.map.Legend.Entry("b_maps_hotel_other","marker-hotel-grey.png",env.map_other_hotel).tr)}else{this.div.table.tbody.tr.unshift(new booking.map.Legend.Entry("b_maps_hotel","marker-hotel-blue.png",env.map_hotel).tr);if(env.b_action==="hotel"){this.div.table.tbody.tr.unshift(new booking.map.Legend.Entry("b_maps_current_hotel","marker-hotel-orange-large.png",env.current_hotel).tr)}}};booking.map.Legend.Entry=function(classString,filenameString,textString){this.tr={_this:this,"@class":classString,td:{"@class":"b_maps_legend_marker",img:{"@src":this.constructImageSrcAttributeValue(filenameString)}},th:{"#text":textString}}};booking.map.Legend.Entry.prototype.constructImageSrcAttributeValue=function(filenameString){return booking.map.MARKER_PATH_PREFIX+"/"+filenameString};booking.map.Div.prototype.initialize=function(containerObject){containerObject.main=this.div._node;containerObject.area=this.div.div._node;containerObject.handle=this.div.div.h2._node;containerObject.close_map=this.div.div.h2.a._node;containerObject.container=this.div.div.div[0]._node;containerObject.legend=booking.map.SHOW_LEGEND?this.div.div.div[0].div[1]._node:null;containerObject.parent=this.div.div.div[0].div[0]._node;containerObject.shadow=this.div.div.div[1]._node;containerObject.showMap=document.getElementById("showMap");containerObject.show_map=document.getElementById("show_map");if(booking.map.REUSE_PREVIEW_THUMBNAIL_AS_FULL_MAP){containerObject.thumbnail=containerObject.area}else{containerObject.thumbnail=document.getElementById("b_google_map_thumbnail")}};booking.map.load=function(b_map){var i,anchor,href,env=booking.env;b_map.mapType=(env.b_googlemaps_maptype=="satellite")?G_SATELLITE_MAP:false;if(env.b_bbox_southwest_latitude&&env.b_bbox_southwest_longitude&&env.b_bbox_northeast_latitude&&env.b_bbox_northeast_longitude){b_map.box=new GLatLngBounds(new GLatLng(env.b_bbox_southwest_latitude,env.b_bbox_southwest_longitude),new GLatLng(env.b_bbox_northeast_latitude,env.b_bbox_northeast_longitude))}else{b_map.box=new GLatLngBounds()}if(env.b_map_center_latitude&&env.b_map_center_longitude){b_map.center=new GLatLng(env.b_map_center_latitude,env.b_map_center_longitude)}else{if(env.b_latitude&&env.b_longitude){b_map.center=new GLatLng(env.b_latitude,env.b_longitude)}else{b_map.center=b_map.box.getCenter()}}booking.promotions.load(env);if(b_map.box.isEmpty()){b_map.inflateBoundsBox(b_map.box,env);if(env.b_action!="hotel"&&!b_map.USE_CENTER_FROM_ACTION){b_map.center=b_map.box.getCenter()}}b_map.iconTypes.build(b_map);b_map.obj=new GMap2(b_map.parent);b_map.obj.addMapType(G_PHYSICAL_MAP);GEvent.addDomListener(b_map.obj,"load",function(){booking.utils.removeClass(b_map.main,"loading")});b_map.setCenter();if(b_map.USE_ZOOM_FROM_ACTION){b_map.box=b_map.obj.getBounds()}b_map.obj.enableContinuousZoom();b_map.markerManager=new GMarkerManager(b_map.obj);if(booking.pageSubject){b_map.buildMarker(booking.pageSubject);b_map.markers.push(booking.pageSubject.marker)}b_map.resetForPreviewMode();b_map.zoom={preview:b_map.obj.getZoom()};b_map.main.anchors=b_map.main.getElementsByTagName("a");for(i=0;i<b_map.main.anchors.length;i++){anchor=b_map.main.anchors[i];href=anchor.getAttribute("href");if(href&&href.indexOf("ct=api_logo")!=-1){booking.utils.addClass(anchor,"api_logo")}if(href&&href.indexOf("terms_maps")!=-1){booking.utils.addClass(anchor,"terms_maps")}}b_map.display.initialized=false;b_map.close_map.removeAttribute("onclick");b_map.close_map.href=booking.map.JS_VOID_URL;GEvent.addDomListener(b_map.close_map,"click",b_map.close);b_map.area.hideSelectsUnderneath=function(){booking.utils.ie.hideIntersectingElements(b_map.area,booking.selects)};if(gClientIsIElte6){booking.selects=document.getElementsByTagName("select");for(i=0;i<booking.selects.length;i++){booking.selects[i].style.position="relative"}GEvent.addDomListener(b_map.draggableObject,"drag",b_map.area.hideSelectsUnderneath);GEvent.addDomListener(window,"resize",b_map.area.hideSelectsUnderneath)}if(b_map.SHOW_INFOWINDOW_ON_SHOWMAP_LINK_MOUSEOVER){for(i=0;i<b_map.showMapAnchors.length;i++){anchor=b_map.showMapAnchors[i];if(anchor.itemId){anchor.mouseoverHandle=GEvent.addDomListener(anchor,"mouseover",b_map.setSubject)}}}if(b_map.load.handle){GEvent.removeListener(b_map.load.handle)}b_map.load.executed=true;GEvent.addDomListener(window,"unload",GUnload)};booking.map.initialize=function(b_map,env){var i,anchor,idIndex,href;b_map.buildNode(b_map);b_map.showMapAnchors=booking.utils.dom.getElementsByClassName("show_map",document,"a");for(i=0;i<b_map.showMapAnchors.length;i++){anchor=b_map.showMapAnchors[i];if(anchor.id&&(anchor.id.substring("show_id")!==-1)){anchor.itemId=anchor.id.split("show_id")[1]}anchor.clickHandle=GEvent.addDomListener(anchor,"click",b_map.display);anchor.href=b_map.JS_VOID_URL}if(b_map.LOAD_MAP_ON_WINDOW_LOAD){b_map.load(b_map);b_map.display.initialize(b_map)}b_map.display.handle=GEvent.addDomListener(b_map.thumbnail,"click",b_map.display);if(b_map.MAP_PREVIEW_THUMBNAIL_IS_REAL_MAP){if(!b_map.load.executed){b_map.load(b_map)}if(!b_map.REUSE_PREVIEW_THUMBNAIL_AS_FULL_MAP){b_map.preview=new GMap2(b_map.thumbnail);b_map.preview.setCenter(b_map.center?b_map.center:null,b_map.preview.getBoundsZoomLevel(b_map.box),b_map.mapType?b_map.mapType:null);if(b_map.preview.draggingEnabled()){b_map.preview.disableDragging()}if(booking.pageSubject){b_map.preview.marker=new GMarker(booking.pageSubject.latLng,{icon:b_map.iconTypes[booking.pageSubject.icon_type],clickable:false});b_map.preview.addOverlay(b_map.preview.marker)}}}b_map.draggableObject=new GDraggableObject(b_map.area)}};booking.event.addListener(window,"load",function(){if(booking.env.setvar_show_google_maps&&!gClientIsIE5&&new GBrowserIsCompatible()){booking.buildMapNamespace();booking.map.initialize(booking.map,booking.env)}});booking.ensureNamespaceExists("availability");booking.availability={rooms:{description:'Manage total number of rooms selected when both multi- and single-occupancy rates (and form Selects) are available. Expects the form containing these selected to have name="roomsForm". This functionality was requested in bug 0014212. Perhaps migrate this to /static/defaults/js/book.js at some point.',room:{},roomsFormName:"roomsForm"}};booking.availability.rooms.add=function(A,B){booking.availability.rooms.room[A]={maximum:B}};booking.availability.rooms.update=function(C){var B=booking.availability.rooms.room[C],D=parseInt(B.multiples.value,10),A=parseInt(B.singles.value,10);B.selected=D+A};booking.availability.rooms.register=function(B){if(!gClientIsIE5){var C,A={},D=document[B];booking.availability.rooms.roomsForm=D;for(C in booking.availability.rooms.room){if(booking.availability.rooms.room.hasOwnProperty(C)&&(typeof booking.availability.rooms.room[C]=="object")&&(C!="roomsForm")){booking.availability.rooms.room[C].multiples=D["nr_rooms_"+C+"_0"];booking.availability.rooms.room[C].singles=D["nr_rooms_"+C+"_1"];booking.event.addListener(booking.availability.rooms.room[C].multiples,"change",booking.availability.rooms.limit);booking.event.addListener(booking.availability.rooms.room[C].singles,"change",booking.availability.rooms.limit);booking.availability.rooms.update(C);A.currentTarget=booking.availability.rooms.room[C].multiples;booking.availability.rooms.limit(A)}}}};booking.availability.rooms.limit=function(C){C=booking.event.normalizeExplorerEventObject(C);var G=C.currentTarget.name,I=G.split("_"),H=I[I.length-1]=="0"?"multiples":"singles",B=I[2]+"_"+I[3],A=booking.availability.rooms.room[B],E=A.multiples,F=A.singles,D=A.maximum;booking.availability.rooms.update(B);if(A.selected>D){if(H=="multiples"){F.selectedIndex=D-parseInt(E.value,10)}else{E.selectedIndex=D-parseInt(F.value,10)}booking.availability.rooms.update(B)}};booking.event.addListener(window,"load",function(){var A=booking,B=A.env,C=A.availability.rooms;if(B.b_action==="hotel"){C.register(C.roomsFormName)}else{if(B.b_action==="book"){C.register(A.book.formName)}}});booking.forms={};booking.forms.Limiter=function(C,B,A,E,F,D){this.formName=C;this.selectNamePrefix=B;this.errorElementId=A;this.errorString=E;this.limitValue=F;this.env=D;this.initialize()};booking.forms.Limiter.prototype.initialize=function(A){this.self=this;var B=this.self;booking.event.addListener(window,"load",function(C){C.limiter=B;B.load(C)})};booking.forms.Limiter.prototype.load=function(A){var D,C,B=A.limiter;B.formNode=document.getElementById(B.formName);B.selects=[];D=B.formNode.getElementsByTagName("select");for(C=0;C<D.length;C++){if(!B.selectNamePrefix||(D[C].name.indexOf(B.selectNamePrefix)!==-1)){B.selects.push(D[C]);booking.event.addListener(D[C],"change",function(E){E.limiter=B;B.check(E)})}}B.errorElement=document.getElementById(B.errorElementId);B.check(A)};booking.forms.Limiter.prototype.check=function(B){var C=B.limiter,F=C.env,E,D=C.selects,A=0;B=booking.event.normalizeExplorerEventObject(B);for(E=0;E<D.length;E++){A+=parseInt(D[E].value,10)}if(A>C.limitValue){if(B.type==="change"){B.currentTarget.value=parseInt(B.currentTarget.value,10)-(A-C.limitValue)}else{}C.formNode.tip=function(){var G=new Tip(C.errorString)};booking.event.addListener(C.formNode,"mouseover",C.formNode.tip);if(C.errorElement){booking.utils.removeClass(C.errorElement,"disabled")}}else{if(C.errorElement){booking.utils.addClass(C.errorElement,"disabled")}if(C.formNode.tip){booking.event.removeListener(C.formNode,"mouseover",C.formNode.tip)}}};if(booking.env.b_max_rooms_in_reservation){if(booking.env.b_action==="hotel"&&booking.env.b_has_maxotel_rooms){booking.availability.rooms.limiter=new booking.forms.Limiter(booking.availability.rooms.roomsFormName,"","you_can_book_at_most_x_rooms_with_this_hotel",booking.env.you_can_book_at_most_x_rooms_with_this_hotel,booking.env.b_max_rooms_in_reservation,booking.env)}else{if(booking.env.b_action==="book"&&booking.env.b_stage===1){booking.book.limiter=new booking.forms.Limiter(booking.book.formName,"","you_can_book_at_most_x_rooms_with_this_hotel",booking.env.you_can_book_at_most_x_rooms_with_this_hotel,booking.env.b_max_rooms_in_reservation,booking.env)}}}else{if(booking.env.b_max_persons_in_reservation&&booking.env.b_action==="book"&&booking.env.b_stage===2){booking.book.limiter=new booking.forms.Limiter(booking.book.formName,"nr_guests_","you_can_book_for_at_most_x_guests_per_reservation_with_this_hotel",booking.env.you_can_book_for_at_most_x_guests_per_reservation_with_this_hotel,booking.env.b_max_persons_in_reservation,booking.env)}}function SloppyRegExp(D,I){var G,B,H,E,C="",A=b25.Suggest.sub;for(var F=0;F<D.length;F++){B=false;H=isUpperCase(D.charAt(F));G=D.charAt(F).toLowerCase();for(E in A){if(A[E].indexOf(G)!=-1){G="["+A[E]+"]";B=true;break}}if(H){G=G.toUpperCase()}C+=G+" ?"}return new RegExp("("+C+")",I)}function isUpperCase(A){return(A==A.toUpperCase())}function highlightSloppy(C,A){var D=SloppyRegExp(A,"i");if(D.test(C)){var B=D.exec(C)[1];return C.replace(D,"<strong>"+B+"</strong>")}else{return C}}if(!b25){var b25={}}b25.Suggest={BS_URI:"/lookup.html?str=",BS_TIMEOUT:100,BS_INITIALIZED:false,sub:["aÃ Ã¡Ã¢Ã£Ã¤Ã¥Ã¦ÄÄƒÄ…","iÃ¬Ã­Ã®Ã¯Ä«Ä­Ä©","eÃ¨Ã©ÃªÃ«Ä“Ä•Ä—Ä™Ä›","oÃ²Ã³Ã´ÃµÃ¶ÅÅÅ‘","uyÃ¹ÃºÃ»Ã¼Ã½Å©Å«Å­Å¯Å±"," ?"],request:null,timeout:false,element:null,popup:null,append:null,popupActive:false,lastValue:"",init:function(C){if(!b25.Suggest.popup){var B=document.getElementById("bodyconstraint")||document.body;var A='<table cellspacing="0" cellpadding="0"><tr><td></td></tr></table>';if(document.all&&!window.opera){A='<iframe style="position: absolute; width: 1000px; height: 1000px;" frameborder="0"></iframe>'+A}b25.Suggest.popup=document.createElement("div");b25.Suggest.popup.setAttribute("id","suggest_popup");b25.Suggest.popup.style.display="none";b25.Suggest.popup.innerHTML=A;B.appendChild(b25.Suggest.popup);b25.Suggest.append=b25.Suggest.popup.getElementsByTagName("td")[0]}b25.Suggest.element=C;b25.Suggest.BS_INITIALIZED=true},initRequestObject:function(){b25.Suggest.request=null;var C;try{C=new ActiveXObject("Msxml2.XMLHTTP")}catch(B){try{C=new ActiveXObject("Microsoft.XMLHTTP")}catch(A){C=null}}if(!C&&(typeof (XMLHttpRequest)!="undefined")){C=new XMLHttpRequest()}b25.Suggest.request=C},handleKeyNav:function(A,B){if(gClientIsIE5){return true}if(A.keyCode){switch(A.keyCode){case 9:if(b25.Suggest.popup.selectedSuggestion){b25.Suggest.popup.selectedSuggestion.onmousedown()}break;case 13:if(B){return false}if(b25.Suggest.popup.selectedSuggestion){b25.Suggest.popup.selectedSuggestion.onmousedown();if(A.preventDefault){A.preventDefault()}return false}break;case 27:b25.Suggest.__hidePopup();b25.Suggest.lastValue=b25.Suggest.element.value;break;case 38:if(b25.Suggest.popupActive){b25.Suggest.__previousSuggestion()}if(A.preventDefault){A.preventDefault()}break;case 40:if(b25.Suggest.popupActive){b25.Suggest.__nextSuggestion()}if(A.preventDefault){A.preventDefault()}break;default:return true}}},handleActivity:function(B,A){if(gClientIsIE5){return }if(!b25.Suggest.BS_INITIALIZED){b25.Suggest.init(B)}if(B.value==""){b25.Suggest.__hidePopup();b25.Suggest.lastValue=B.value}else{if(B.value!=b25.Suggest.lastValue){if(b25.Suggest.timeout){clearTimeout(b25.Suggest.timeout)}b25.Suggest.timeout=setTimeout(b25.Suggest.requestSuggestion,b25.Suggest.BS_TIMEOUT)}}},requestSuggestion:function(){if(b25.Suggest.element.value==""){b25.Suggest.__hidePopup();return }b25.Suggest.initRequestObject();var B=b25.Suggest.request,A=b25.Suggest.BS_URI+encodeURIComponent(b25.Suggest.element.value);B.onreadystatechange=b25.Suggest.responseHandler;B.open("GET",A,true);B.send("");b25.Suggest.lastValue=b25.Suggest.element.value},responseHandler:function(){if(b25.Suggest.request.readyState==4){switch(b25.Suggest.request.status){case 200:b25.Suggest.parseResponse(b25.Suggest.request.responseText);break;case 404:break;default:window.status="b25 Suggest error: Server returned HTTP code "+b25.Suggest.request.status;break}}},parseResponse:function(B){var C,A=b25.Suggest.append,G=b25.Suggest.element;var F=[];var D=B.split("\n");for(C=0;D[C];C+=2){F.push({n:D[C],d:(D[C+1]>0)?D[C+1]+"&#160;"+$t_hotels:$t_hotels_around})}if(F.length){var E="";b25.Suggest.suggestions=[];for(C=0;F[C];C++){b25.Suggest.suggestions[C]=F[C].n;E+='<div class="suggest_entry" onmouseover="b25.Suggest.__setActiveSuggestion( this );" onmouseout="b25.Suggest.__unsetActiveSuggestion( this );" onmousedown="b25.Suggest.__useSuggestion( '+C+' )">';E+=highlightSloppy(F[C].n,b25.Suggest.lastValue);E+='<div class="suggest_dist">'+F[C].d+"</div>";E+="</div>"}A.innerHTML=E;b25.Suggest.__showPopup()}else{b25.Suggest.__hidePopup()}b25.Suggest.popup.selectedSuggestion=null},__setActiveSuggestion:function(A){if(b25.Suggest.popup.selectedSuggestion){b25.Suggest.__unsetActiveSuggestion(b25.Suggest.popup.selectedSuggestion)}DOM.addClass(A,"suggest_entry_selected");b25.Suggest.popup.selectedSuggestion=A},__unsetActiveSuggestion:function(A){DOM.removeClass(A,"suggest_entry_selected")},__nextSuggestion:function(){var A;if(b25.Suggest.popup.selectedSuggestion&&b25.Suggest.popup.selectedSuggestion.nextSibling){A=b25.Suggest.popup.selectedSuggestion.nextSibling}else{A=b25.Suggest.append.firstChild}b25.Suggest.__setActiveSuggestion(A)},__previousSuggestion:function(){var A;if(b25.Suggest.popup.selectedSuggestion&&b25.Suggest.popup.selectedSuggestion.previousSibling){A=b25.Suggest.popup.selectedSuggestion.previousSibling}else{A=b25.Suggest.append.lastChild}b25.Suggest.__setActiveSuggestion(A)},__useSuggestion:function(A){b25.Suggest.element.value=b25.Suggest.suggestions[A];b25.Suggest.__hidePopup()},__showPopup:function(){if(b25.Suggest.element.value==""){b25.Suggest.__hidePopup();return }var E=b25.Suggest.element,A=b25.Suggest.popup;var D=getDimensions(E);var C=D.x,B=D.y+(E.offsetHeight);A.style.left=C+"px";A.style.top=B+"px";A.style.display="none";A.style.display="block";b25.Suggest.popupActive=true},__hidePopup:function(){if(gClientIsIE5){return }var A=function(){b25.Suggest.popup.style.display="none"};setTimeout(A,100);b25.Suggest.popupActive=false;b25.Suggest.popup.selectedSuggestion=null;b25.Suggest.lastValue=""}};


