eval(function(a,c,b,d,e,f){e=function(g){return(g<c?"":e(parseInt(g/c)))+((g%=c)>35?String.fromCharCode(g+29):g.toString(36))};if(!"".replace(/^/,String)){for(;b--;)f[e(b)]=d[b]||e(b);d=[function(g){return f[g]}];e=function(){return"\\w+"};b=1}for(;b--;)if(d[b])a=a.replace(RegExp("\\b"+e(b)+"\\b","g"),d[b]);return a}('5 4(b,a){1.q=a;1.o=a.M||"";1.G=a.1i||"1c";1.r=a.X||k P(0,0);1.t=(a.1u==m)?m:n;1.w=a.C||"";1.f=n;1.e=n;6(a.u){a.u=m}8.d(1,9)}4.3=k 8(k O(0,0));4.3.L=5(b){8.3.L.d(1,9);1.K=b;1.2=1x.1t("1q");1.2.1m=1.G;1.2.A=1.o;1.2.7.1f="1e";6(1.t){1.2.7.1d="1b"}1.2.C=1.w;6(!1.e){1.s()}1.h();b.16(15).12(1.2);6(1.t){g a=[\'Y\',\'W\',\'V\',\'U\',\'T\',\'S\'];R(g i=0;i<a.Q;i++){g c=a[i];j.10(1.2,c,j.11(j,j.1z,1,c,1.l()))}}};4.3.J=5(a){8.3.J.d(1,9);1.v()};4.3.v=5(){g p=1.K.1y(1.l());g z=1w.1s(1.l().1r());1.2.7.1p=(p.x+1.r.1l)+"B";1.2.7.1j=(p.y+1.r.1h)+"B";1.2.7.1g=z};4.3.N=5(){j.1k(1.2);6(1.2.H){1.2.H=""}6(1.2.E){1.2.E.1n(1.2)}1.2=1o;8.3.N.d(1,9)};4.3.1a=5(){g a=k 4(1.l(),1.q);a.f=1.f;a.e=1.e;I a};4.3.D=5(){8.3.D.d(1,9);1.e=n;1.h()};4.3.s=5(){8.3.s.d(1,9);1.e=m;1.h()};4.3.19=5(a){1.f=a;1.h()};4.3.18=5(){I 1.f};4.3.h=5(){6(1.2){6((!1.17())&&1.f){1.2.7.F=\'1v\'}14{1.2.7.F=\'13\'}}};4.3.Z=5(a){1.o=a;1.2.A=a;1.q.M=a};',
62,98,"|this|div_|prototype|LabeledMarker|function|if|style|GMarker|arguments||||apply|ownVisibility_|labelVisibility_|var|applyLabelVisibility_||GEvent|new|getLatLng|false|true|labelText_||opts_|labelOffset_|hide|clickable_|draggable|redrawLabel_|title_||||innerHTML|px|title|show|parentNode|display|labelClass_|outerHTML|return|redraw|map_|initialize|labelText|remove|GLatLng|GSize|length|for|mouseout|mouseover|mouseup|mousedown|dblclick|labelOffset|click|setLabelText|addDomListener|callback|appendChild|none|else|G_MAP_MARKER_PANE|getPane|isHidden|getLabelVisibility|setLabelVisibility|copy|pointer|LabeledMarker_markerLabel|cursor|absolute|position|zIndex|height|labelClass|top|clearInstanceListeners|width|className|removeChild|null|left|div|lat|getZIndex|createElement|clickable|block|GOverlay|document|fromLatLngToDivPixel|trigger".split("|"),
0,{}));
eval(function(a,c,b,d,e,f){e=function(g){return(g<c?"":e(parseInt(g/c)))+((g%=c)>35?String.fromCharCode(g+29):g.toString(36))};if(!"".replace(/^/,String)){for(;b--;)f[e(b)]=d[b]||e(b);d=[function(g){return f[g]}];e=function(){return"\\w+"};b=1}for(;b--;)if(d[b])a=a.replace(RegExp("\\b"+e(b)+"\\b","g"),d[b]);return a}('5 4(c,b){2 e=3;e.13=c;e.D=c.1k();e.1h=c.1V().1N();b=b||{};e.N=4.1f;2 g=c.29();2 h=g[0].1o();l(2 i=0;i<g.E;i++){2 f=g[i].1o();7(f>h){h=f}}e.p=b.1J||h;e.18=b.1E;e.m=b.15||C;2 d;7(28 b.1s==="24"){d=b.1s}11{d=4.1q}e.1p=w q(-d,d);e.1j=w q(d,-d);e.1Y=d;e.B=[];e.H=[];e.H[e.p]=[];e.s=[];e.s[e.p]=0;X.1e(c,"1U",e,e.1d);e.r=5(a){c.1L(a);e.G--};e.t=5(a){7(e.m){c.1G(a);e.G++}};e.U();e.G=0;e.8=e.V()}4.1f=1C;4.1q=1z;4.1w=1x;4.6.U=5(){2 a=3;2 c=4.1w;l(2 b=0;b<=a.p;++b){a.H[b]=[];a.s[b]=0;a.B[b]=o.2c(c/a.N);c<<=1}};4.6.27=5(){2 a=3;a.v(a.8,a.r);a.U()};4.6.n=5(a,c,b){2 d=3.1h.25(a,c);9 w 23(o.1r((d.x+b.22)/3.N),o.1r((d.y+b.1Z)/3.N))};4.6.10=5(e,a,f){2 b=e.Z();e.1n=a;7(3.18){X.1e(e,"1m",3,3.1l)}2 d=3.n(b,f,q.A);l(2 c=f;c>=a;c--){2 g=3.Y(d.x,d.y,c);g.1i(e);d.x=d.x>>1;d.y=d.y>>1}};4.6.F=5(e){2 a=3;2 c=a.8.J<=e.y&&e.y<=a.8.I;2 f=a.8.M;2 d=f<=e.x&&e.x<=a.8.K;7(!d&&f<0){2 b=a.B[a.8.z];d=f+b<=e.x&&e.x<=b-1}9 c&&d};4.6.1l=5(e,i,g){2 c=3;2 a=c.p;2 f=O;2 h=c.n(i,a,q.A);2 d=c.n(g,a,q.A);1g(a>=0&&(h.x!==d.x||h.y!==d.y)){2 b=c.L(h.x,h.y,a);7(b){7(c.W(b,e)){c.Y(d.x,d.y,a).1i(e)}}7(a===c.D){7(c.F(h)){7(!c.F(d)){c.r(e);f=C}}11{7(c.F(d)){c.t(e);f=C}}}h.x=h.x>>1;h.y=h.y>>1;d.x=d.x>>1;d.y=d.y>>1;--a}7(f){c.u()}};4.6.1T=5(e){2 c=3;2 b=c.p;2 a=O;2 f=e.Z();2 d=c.n(f,b,q.A);1g(b>=0){2 g=c.L(d.x,d.y,b);7(g){c.W(g,e)}7(b===c.D){7(c.F(d)){c.r(e);a=C}}d.x=d.x>>1;d.y=d.y>>1;--b}7(a){c.u()}c.s[e.1n]--};4.6.1S=5(b,a,c){2 d=3.R(c);l(2 i=b.E-1;i>=0;i--){3.10(b[i],a,d)}3.s[a]+=b.E};4.6.R=5(a){9 a||3.p};4.6.1Q=5(a){2 b=0;l(2 z=0;z<=a;z++){b+=3.s[z]}9 b};4.6.1P=5(e,b,a){2 d=3;2 h=w 1O(e,b);2 g=d.n(h,a,q.A);2 f=w 1M(h);2 c=d.L(g.x,g.y,a);7(c!=1b){l(2 i=0;i<c.E;i++){7(e==c[i].1a().1K()&&b==c[i].1a().T()){f=c[i]}}}9 f};4.6.1I=5(e,a,c){2 b=3;2 f=3.R(c);b.10(e,a,f);2 d=b.n(e.Z(),b.D,q.A);7(b.F(d)&&a<=b.8.z&&b.8.z<=f){b.t(e);b.u()}3.s[a]++};19.6.1H=5(a){2 b=3;9(b.M<=a.x&&b.K>=a.x&&b.J<=a.y&&b.I>=a.y)};4.6.Y=5(x,y,z){2 b=3.H[z];7(x<0){x+=3.B[z]}2 c=b[x];7(!c){c=b[x]=[];9(c[y]=[])}2 a=c[y];7(!a){9(c[y]=[])}9 a};4.6.L=5(x,y,z){2 a=3.H[z];7(x<0){x+=3.B[z]}2 b=a[x];9 b?b[y]:1b};4.6.17=5(j,b,c,e){b=o.S(b,3.p);2 i=j.1F();2 f=j.1D();2 d=3.n(i,b,c);2 g=3.n(f,b,e);2 a=3.B[b];7(f.T()<i.T()||g.x<d.x){d.x-=a}7(g.x-d.x+1>=a){d.x=0;g.x=a-1}2 h=w 19([d,g]);h.z=b;9 h};4.6.V=5(){2 a=3;9 a.17(a.13.1R(),a.D,a.1p,a.1j)};4.6.1d=5(){2 a=3;a.16(3,3.1c,0)};4.6.16=5(b,a,c){9 1B.1A(5(){a.1W(b)},c)};4.6.1X=5(){9 3.m?C:O};4.6.1y=5(){9!3.m};4.6.15=5(){3.m=C;3.P()};4.6.20=5(){3.m=O;3.P()};4.6.21=5(){3.m=!3.m;3.P()};4.6.P=5(){2 a=3;7(a.G>0){a.v(a.8,a.r)}7(a.m){a.v(a.8,a.t)}a.u()};4.6.1c=5(){2 a=3;a.D=3.13.1k();2 b=a.V();7(b.2d(a.8)&&b.z===a.8.z){9}7(b.z!==a.8.z){a.v(a.8,a.r);7(a.m){a.v(b,a.t)}}11{a.14(a.8,b,a.1v);7(a.m){a.14(b,a.8,a.1u)}}a.8=b;a.u()};4.6.u=5(){X.2b(3,"1m",3.8,3.G)};4.6.v=5(b,a){l(2 x=b.M;x<=b.K;x++){l(2 y=b.J;y<=b.I;y++){3.Q(x,y,b.z,a)}}};4.6.Q=5(x,y,z,a){2 b=3.L(x,y,z);7(b){l(2 i=b.E-1;i>=0;i--){a(b[i])}}};4.6.1v=5(x,y,z){3.Q(x,y,z,3.r)};4.6.1u=5(x,y,z){3.Q(x,y,z,3.t)};4.6.14=5(c,d,a){2 b=3;b.1t(c,d,5(x,y){a.2a(b,[x,y,c.z])})};4.6.1t=5(j,k,b){2 f=j.M;2 a=j.J;2 d=j.K;2 h=j.I;2 g=k.M;2 c=k.J;2 e=k.K;2 i=k.I;2 x,y;l(x=f;x<=d;x++){l(y=a;y<=h&&y<c;y++){b(x,y)}l(y=o.12(i+1,a);y<=h;y++){b(x,y)}}l(y=o.12(a,c);y<=o.S(h,i);y++){l(x=o.S(d+1,g)-1;x>=f;x--){b(x,y)}l(x=o.12(f,e+1);x<=d;x++){b(x,y)}}};4.6.W=5(a,c,b){2 d=0;l(2 i=0;i<a.E;++i){7(a[i]===c||(b&&a[i]===c)){a.26(i--,1);d++}}9 d};',62,
138,"||var|this|MarkerManager|function|prototype|if|shownBounds_|return||||||||||||for|show_|getTilePoint_|Math|maxZoom_|GSize|removeOverlay_|numMarkers_|addOverlay_|notifyListeners_|processAll_|new||||ZERO|gridWidth_|true|mapZoom_|length|isGridPointVisible_|shownMarkers_|grid_|maxY|minY|maxX|getGridCellNoCreate_|minX|tileSize_|false|refresh|processCellMarkers_|getOptMaxZoom_|min|lng|resetManager_|getMapGridBounds_|removeFromArray_|GEvent|getGridCellCreate_|getPoint|addMarkerBatch_|else|max|map_|rectangleDiff_|show|objectSetTimeout_|getGridBounds_|trackMarkers_|GBounds|getLatLng|undefined|updateMarkers_|onMapMoveEnd_|bind|DEFAULT_TILE_SIZE_|while|projection_|push|nePadding_|getZoom|onMarkerMoved_|changed|MarkerManager_minZoom|getMaximumResolution|swPadding_|DEFAULT_BORDER_PADDING_|floor|borderPadding|rectangleDiffCoords_|addCellMarkers_|removeCellMarkers_|MERCATOR_ZOOM_LEVEL_ZERO_RANGE|256|isHidden|100|setTimeout|window|1024|getNorthEast|trackMarkers|getSouthWest|addOverlay|containsPoint|addMarker|maxZoom|lat|removeOverlay|GMarker|getProjection|GLatLng|getMarker|getMarkerCount|getBounds|addMarkers|removeMarker|moveend|getCurrentMapType|call|visible|borderPadding_|height|hide|toggle|width|GPoint|number|fromLatLngToPixel|splice|clearMarkers|typeof|getMapTypes|apply|trigger|ceil|equals".split("|"),
0,{}));var ds_i_date=new Date;ds_c_month=ds_i_date.getMonth()+1;ds_c_year=ds_i_date.getFullYear();function ds_getel(a){return document.getElementById(a)}function ds_getleft(a){var c=a.offsetLeft;for(a=a.offsetParent;a;){c+=a.offsetLeft;a=a.offsetParent}return c}function ds_gettop(a){var c=a.offsetTop;for(a=a.offsetParent;a;){c+=a.offsetTop;a=a.offsetParent}return c}var ds_oe=ds_getel("ds_calclass"),ds_ce=ds_getel("ds_conclass"),ds_ob="";function ds_ob_clean(){ds_ob=""}
function ds_ob_flush(){ds_oe.innerHTML=ds_ob;ds_ob_clean()}function ds_echo(a){ds_ob+=a}var ds_element,ds_monthnames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ds_daynames=["M","T","W","T","F","S","S"];
function ds_template_main_above(a,c,b){var d='<table cellpadding="1" cellspacing="1" class="ds_tbl"><tr>';d+=c?'<td class="ds_headbuttons" onclick="ds_pm(\''+b+"');\">&lt;</td>":'<td class="ds_head"></td>';d+='<td class="ds_head" colspan="5">'+a+'</td><td class="ds_headbuttons" onclick="ds_nm(\''+b+"');\">&gt;</td></tr><tr>";return d}function ds_template_day_row(a){return'<td class="ds_subhead">'+a+"</td>"}function ds_template_new_week(){return"</tr><tr>"}
function ds_template_blank_cell(a){return'<td colspan="'+a+'"></td>'}function ds_template_day(a,c,b,d,e){return d?'<td class="ds_cell_ghosted">'+a+"</td>":e?'<td class="ds_cell_grey" onclick="ds_onclick('+parseInt(a,10)+","+parseInt(c,10)+","+b+')">'+a+"</td>":'<td class="ds_cell" onclick="ds_onclick('+parseInt(a,10)+","+parseInt(c,10)+","+b+')">'+a+"</td>"}function ds_template_main_below(){return"</tr></table>"}
function ds_draw_calendar(a,c,b){ds_ob_clean();var d=new Date,e=true;if(d.getMonth()==a-1&&d.getFullYear()==c)e=false;ds_echo(ds_template_main_above(ds_monthnames[a-1]+" "+c,e,b));for(i=0;i<7;i++)ds_echo(ds_template_day_row(ds_daynames[i]));e=new Date;e.setMonth(a-1);e.setFullYear(c);e.setDate(1);days=a==1||a==3||a==5||a==7||a==8||a==10||a==12?31:a==4||a==6||a==9||a==11?30:c%4==0?29:28;e=e.getDay();var f=1;ds_echo(ds_template_new_week());if(e==0)ds_echo(ds_template_blank_cell(6));else e!=1&&ds_echo(ds_template_blank_cell(e-
1));for(i=0;i<days;i++){e==1&&!f&&ds_echo(ds_template_new_week());f=false;if(i+1<d.getDate()&&a-1==d.getMonth()&&c==d.getFullYear())f=true;var g=false,k=(b=="arrivaldate"?document.getElementById("arrivaldate").value:document.getElementById("departuredate").value).split("/");if(!isNaN(parseInt(k[0],10))&&!isNaN(parseInt(k[1],10))&&!isNaN(parseInt(k[2],10)))if(i+1==parseInt(k[0],10)&&a==parseInt(k[1],10)&&c==k[2])g=true;ds_echo(ds_template_day(i+1,a,c,f,g));f=0;e++;e%=7}ds_echo('<tr><td colspan="7" class="ds_foot" onclick="ds_hi();">Close</td></tr>');
ds_echo(ds_template_main_below());ds_ob_flush()}
function ds_sh(a,c){document.getElementById("numadults").style.visibility="hidden";document.getElementById("numchildren").style.visibility="hidden";ds_element=a;var b=document.getElementById("arrivaldate").value,d=document.getElementById("departuredate").value,e=new Date;ds_c_month=e.getMonth()+1;ds_c_year=e.getFullYear();b=b.split("-");d=d.split("-");var f=e=false;if(b.length==3)if(!isNaN(parseInt(b[0],10))&&!isNaN(parseInt(b[2],10)))e=true;if(d.length=3)if(!isNaN(parseInt(d[0],10))&&!isNaN(parseInt(d[2],
10)))f=true;if(c=="arrivaldate"||f==false){if(e){month=b[1];ds_c_month=ds_monthnames.indexOf(month)+1;ds_c_year=b[2]}}else if(c=="departuredate"&&f==true){month=d[1];ds_c_month=ds_monthnames.indexOf(month)+1;ds_c_year=d[2]}ds_draw_calendar(ds_c_month,ds_c_year,c);ds_ce.style.display="";the_left=ds_getleft(a)+1;the_top=ds_gettop(a)+a.offsetHeight;ds_ce.style.left=the_left+"px";ds_ce.style.top=the_top+"px"}
function ds_hi(){ds_ce.style.display="none";document.getElementById("numadults").style.visibility="visible";document.getElementById("numchildren").style.visibility="visible"}function ds_nm(a){ds_c_month++;if(ds_c_month>12){ds_c_month=1;ds_c_year++}ds_draw_calendar(ds_c_month,ds_c_year,a)}function ds_pm(a){ds_c_month-=1;if(ds_c_month<1){ds_c_month=12;ds_c_year-=1}ds_draw_calendar(ds_c_month,ds_c_year,a)}
function ds_format_date(a,c,b){d2="00"+a;d2=d2.substr(d2.length-2);return d2+"-"+ds_monthnames[c-1]+"-"+b}function ds_onclick(a,c,b){ds_hi();if(typeof ds_element.value!="undefined")ds_element.value=ds_format_date(a,c,b);else if(typeof ds_element.innerHTML!="undefined")ds_element.innerHTML=ds_format_date(a,c,b);else alert(ds_format_date(a,c,b));showUpdateButton(true)}if(!Array.prototype.indexOf)Array.prototype.indexOf=function(a){for(var c=this.length,b=0;b<c;b++)if(this[b]==a)return b;return false};
var map,mgr,geocoder,hotelnames=[],townnames=[],citynames=[],newhotelmarkers=[],allhotelmarkers=[],geocodemarker,lockupdate=false,MAXCOUNTRYZOOM=5,MAXCITYZOOM=9,MAXTOWNZOOM=11,MAXHOTELS=50,lowerprice=75,upperprice=150,numstars=1,mapcontrol=new GLargeMapControl3D,shortlist={name:[],producturl:[],rate:[]},centrelat=15,centrelng=0,zoomlevel=3,geocodemade=false,forcegeocode=false,firstplot=true,DRAG_SENSITIVITY=0.0050,COUNTRIES_PLOTTED=false,wikilayer,centrelocations=[],geocodelocation="",arrivaldatehotel,
departuredatehotel,numadults,numchildren,currency="usd",currencysymbol="$",monthnames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
function initialize(){mapSize();map=new GMap2(document.getElementById("map_canvas"));map.addMapType(G_PHYSICAL_MAP);map.setMapType(G_PHYSICAL_MAP);map.addControl(new GHierarchicalMapTypeControl);map.addControl(new GNavLabelControl,new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(215,5)));map.addControl(new GScaleControl);map.enableScrollWheelZoom();map.enableContinuousZoom();map.setCenter(new GLatLng(0,0),3);mgr=new MarkerManager(map,{borderPadding:0});geocoder=new GClientGeocoder;wikilayer=new GLayer("org.wikipedia.en");
GEvent.addListener(map,"dragend",catchDrag);GEvent.addListener(map,"zoomend",catchZoom);if(typeof $_GET.locale!="undefined"){locale=$_GET.locale.substr(0,2);switch(locale){case "en":currency="usd";currencysymbol="$";break;case "eu":currency="eur";currencysymbol="&euro;";break;case "uk":currency="gbp";currencysymbol="&pound;";break}}if(typeof $_GET.country!="undefined"){geocodelocation=$_GET.country;forcegeocode=true;geocode()}else if(document.getElementById("city")){geocodelocation=document.getElementById("city").firstChild.nodeValue;
forcegeocode=true;geocode()}else{if(document.getElementById("event")){var a="",c="",b="",d="",e="",f="";if(document.getElementById("event_name"))a=document.getElementById("event_name").firstChild.nodeValue;if(document.getElementById("event_address"))c=document.getElementById("event_address").firstChild.nodeValue;if(document.getElementById("event_startdate"))b=document.getElementById("event_startdate").firstChild.nodeValue;if(document.getElementById("event_enddate"))d=document.getElementById("event_enddate").firstChild.nodeValue;
if(document.getElementById("event_description"))e=document.getElementById("event_description").firstChild.nodeValue;if(document.getElementById("event_eventurl"))f=document.getElementById("event_eventurl").firstChild.nodeValue;if(document.getElementById("event_zoom"))zoomlevel=parseInt(document.getElementById("event_zoom").firstChild.nodeValue);if(document.getElementById("event_centrelat"))centrelat=parseFloat(document.getElementById("event_centrelat").firstChild.nodeValue);if(document.getElementById("event_centrelng"))centrelng=
parseFloat(document.getElementById("event_centrelng").firstChild.nodeValue);geocodemade=true;createEventMarker(a,c,b,d,e,f,centrelat,centrelng)}else{a=window.location.hash.split(",");if(a.length>=3){centrelat=parseFloat(a[0].substr(1));centrelng=parseFloat(a[1]);zoomlevel=parseInt(a[2])}if(a.length==4){a=a[3];a=a.replace("%20"," ");a=a.replace("+",", ");geocodemade=true;createAddressMarker(a,centrelat,centrelng)}}if(zoomlevel<=MAXTOWNZOOM){map.setCenter(new GLatLng(centrelat,centrelng),zoomlevel,
G_PHYSICAL_MAP);catchZoom(17,zoomlevel)}else{map.setCenter(new GLatLng(centrelat,centrelng),zoomlevel);catchZoom(1,zoomlevel)}}}function setupCountries(){showLoadingMessage(true);COUNTRIES_PLOTTED=true;GDownloadUrl("data/countries.xml",addCountryMarkersToMgr)}
function setupCities(){showLoadingMessage(true);var a=map.getBounds(),c=a.getSouthWest();a=a.getNorthEast();map.getZoom();c="http://www.roomatlas.com/dbaccess/getCities.php?swlat="+c.lat()+"&swlng="+c.lng()+"&nelat="+a.lat()+"&nelng="+a.lng()+"&type=city";GDownloadUrl(c,addCityMarkersToMgr)}
function setupTowns(){showLoadingMessage(true);var a=map.getBounds(),c=a.getSouthWest();a=a.getNorthEast();map.getZoom();c="http://www.roomatlas.com/dbaccess/getCities.php?swlat="+c.lat()+"&swlng="+c.lng()+"&nelat="+a.lat()+"&nelng="+a.lng()+"&type=town";GDownloadUrl(c,addTownMarkersToMgr)}
function addCountryMarkersToMgr(a){var c=[];a=GXml.parse(a).getElementsByTagName("k");for(var b=0;b<a.length;b++){var d=a[b].getAttribute("c"),e=a[b].getAttribute("n"),f=parseFloat(a[b].getAttribute("x")),g=parseFloat(a[b].getAttribute("y")),k=new GLatLng(f,g),j=parseInt(a[b].getAttribute("z")),h=new StringBuilder;h.appendFormat("<h1>{0}</h1>",e);h.appendFormat("<br />{0} hotels",d);h.appendFormat("<br /><b><a href='#' onclick='centrelat={0};centrelng={1};firstplot=true;geocodemade=false;map.setCenter(new GLatLng({0},{1}),{2});return false;'>Zoom to towns >></a></b>",
f,g,j);d=createMarker("country",k,d,h.toString());c.push(d)}mgr.addMarkers(c,1,MAXCOUNTRYZOOM);mgr.refresh();showLoadingMessage(false)}
function addCityMarkersToMgr(a){var c=[];a=GXml.parse(a).documentElement.getElementsByTagName("c");for(var b=0;b<a.length;b++){var d=a[b].getAttribute("n");if(!citynames.contains(d)){var e=a[b].getAttribute("c"),f=parseFloat(a[b].getAttribute("x")),g=parseFloat(a[b].getAttribute("y")),k=new GLatLng(f,g),j=parseInt(a[b].getAttribute("z")),h=new StringBuilder;h.appendFormat("<h1>{0}</h1>",d);h.appendFormat("<br />{0} hotels",e);h.appendFormat("<br /><b><a href='#' onclick='centrelat={0};centrelng={1};firstplot=true;geocodemade=false;map.setCenter(new GLatLng({0},{1}),{2});return false;'>Zoom to hotels >></a></b>",
f,g,j);e=createMarker("city",k,e,h.toString());c.push(e);citynames.push(d)}}mgr.addMarkers(c,MAXCOUNTRYZOOM+1,MAXTOWNZOOM);mgr.refresh();showLoadingMessage(false)}
function addTownMarkersToMgr(a){var c=[];a=GXml.parse(a).getElementsByTagName("c");for(var b=0;b<a.length;b++){var d=a[b].getAttribute("n");if(!townnames.contains(d)){var e=a[b].getAttribute("c"),f=parseFloat(a[b].getAttribute("x")),g=parseFloat(a[b].getAttribute("y")),k=new GLatLng(f,g),j=parseInt(a[b].getAttribute("z")),h=new StringBuilder;h.appendFormat("<h1>{0}</h1>",d);if(e==1){h.append("<br />1 hotel");h.appendFormat("<br /><b><a href='#' onclick='centrelat={0};centrelng={1};firstplot=true;map.setCenter(new GLatLng({0},{1}),{2});return false;'>Zoom to hotel >></a></b>",
f,g,j)}else{h.appendFormat("<br />{0} hotels",e);h.appendFormat("<br /><b><a href='#' onclick='centrelat={0};centrelng={1};firstplot=true;map.setCenter(new GLatLng({0},{1}),{2});return false;'>Zoom to hotel(s) >></a></b>",f,g,j)}e=createMarker("city",k,e,h.toString());c.push(e);townnames.push(d)}}mgr.addMarkers(c,MAXCITYZOOM+1,MAXTOWNZOOM);mgr.refresh();showLoadingMessage(false)}
function catchDrag(){var a=map.getBounds(),c=a.getSouthWest();a=a.getNorthEast();centrelat=(c.lat()+a.lat())/2;centrelng=(c.lng()+a.lng())/2;c=map.getZoom();if(c>MAXCITYZOOM&&c<=MAXTOWNZOOM){setupCities();setupTowns()}else if(c>MAXCOUNTRYZOOM&&c<=MAXTOWNZOOM)setupCities();else c>MAXTOWNZOOM&&somewhereNew(centrelat,centrelng,c)&&!lockupdate&&setupHotels()}
function catchZoom(a,c){var b=map.getBounds(),d=b.getSouthWest();b=b.getNorthEast();centrelat=(d.lat()+b.lat())/2;centrelng=(d.lng()+b.lng())/2;d=map.getZoom();if(a>MAXTOWNZOOM&&c<=MAXTOWNZOOM){resetMgr();map.setMapType(G_PHYSICAL_MAP);setTitleBar("zoomedout");document.getElementById("sidebar").style.display="none";document.getElementById("wikipedia_text").style.display="none";updateWikipedia(false);map.removeControl(mapcontrol);map.addControl(mapcontrol)}else if(a<=MAXTOWNZOOM&&c>MAXTOWNZOOM){resetMgr();
map.setMapType(G_NORMAL_MAP);document.getElementById("sidebar").style.display="block";document.getElementById("wikipedia_text").style.display="inline";document.getElementById("wikipediacheckbox").checked&&updateWikipedia(true);map.removeControl(mapcontrol);map.addControl(mapcontrol,new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(170,5)));firstplot=true}if(c>MAXCITYZOOM&&c<=MAXTOWNZOOM&&somewhereNew(centrelat,centrelng,d)){setupCities();setupTowns()}else if(c>MAXCOUNTRYZOOM&&c<=MAXTOWNZOOM&&somewhereNew(centrelat,
centrelng,d))setupCities();else if(c<=MAXCOUNTRYZOOM&&!COUNTRIES_PLOTTED)setupCountries();else c>MAXTOWNZOOM&&!lockupdate&&somewhereNew(centrelat,centrelng,d)&&setupHotels()}
function setupHotels(){if(checkDatesValid()){document.getElementById("updatemapbutton").disabled||resetMgr();showLoadingMessage(true);newhotelmarkers=[];var a=makeProviderRequest();GDownloadUrl(a,addAvailabilityHotelsToMgr)}else{alert("Check-out date must be after check-in date");document.getElementById("jumptobutton").disabled=false}}
function makeProviderRequest(){var a=map.getBounds(),c=a.getSouthWest(),b=a.getNorthEast();a=(c.lat()+b.lat())/2;var d=(c.lng()+b.lng())/2;c=getRadius(c.lat(),b.lat());b=new StringBuilder;if(document.getElementById("arrivaldate").value!="dd-mm-yyyy"&&document.getElementById("departuredate").value!="dd-mm-yyyy"){arrivaldatehotel=document.getElementById("arrivaldate").value;var e=arrivaldatehotel.split("-"),f=monthnames.indexOf(e[1])+1,g=new StringBuilder;g.appendFormat("{0}/{1}/{2}",f,e[0],e[2]);var k=
g.toString();departuredatehotel=document.getElementById("departuredate").value;e=departuredatehotel.split("-");f=monthnames.indexOf(e[1])+1;g=new StringBuilder;g.appendFormat("{0}/{1}/{2}",f,e[0],e[2]);f=g.toString()}else{k=getNextTuesday("start");e=k.split("/");g=new StringBuilder;g.appendFormat("{0}/{1}/{2}",e[1],e[0],e[2]);arrivaldatehotel=g.toString();f=getNextTuesday("end");e=f.split("/");g=new StringBuilder;g.appendFormat("{0}/{1}/{2}",e[1],e[0],e[2]);departuredatehotel=g.toString()}e=document.getElementById("numadults");
numadults=e.options[e.selectedIndex].value;e=document.getElementById("numchildren");numchildren=e.options[e.selectedIndex].value;e="";for(var j=0;j<numchildren-1;j++)e+="5,";e+="5";g=getStars();var h=document.getElementsByName("amenitycheckbox"),m=new StringBuilder,l="";for(j=0;j<h.length;j++)h[j].checked&&m.appendFormat("{0},",h[j].value);if(m.length>0){l=m.toString();l=l.substr(0,l.length-1)}j=document.getElementById("sortmethod").value;if(document.getElementById("usd").checked==true){currency=
"usd";currencysymbol="$"}else if(document.getElementById("eur").checked==true){currency="eur";currencysymbol="&euro;"}else{currency="gbp";currencysymbol="&pound;"}b.appendFormat("http://www.roomatlas.com/getAvailabilityXML.php?arrivalDate={0}&departureDate={1}&numAdults={2}&numChildren={3}&childAges={4}&minStars={5}&amenities={6}&sortMethod={7}&numResults={8}&latitude={9}&longitude={10}&searchRadius={11}&currency={12}",k,f,numadults,numchildren,e,g,l,j,MAXHOTELS,a,d,c,currency);return b.toString()}
function addAvailabilityHotelsToMgr(a){a=GXml.parse(a).documentElement.getElementsByTagName("Hotel");var c=a.length,b;if(firstplot&&c>4){var d=[];b=a[0].getElementsByTagName("NativeNightlyRates").length-1;for(var e=parseInt(a[0].getElementsByTagName("NativeNightlyRates")[b].getAttribute("size")),f=0;f<c;f++){b=currency!="gbp"?parseFloat(a[f].getElementsByTagName("chargeableRoomRateTotal")[0].firstChild.nodeValue)-parseFloat(a[f].getElementsByTagName("chargeableRoomRateTaxesAndFees")[0].firstChild.nodeValue):
parseFloat(a[f].getElementsByTagName("chargeableRoomRateTotal")[0].firstChild.nodeValue);d.push(b/e)}d.sort(sortNumber);lowerprice=Math.round(d[Math.round(c/4)]);upperprice=Math.round(d[Math.round(3*c/4)])}firstplot=false;document.getElementById("arrivaldate").value!="dd-mm-yyyy"&&document.getElementById("departuredate").value!="dd-mm-yyyy"?setTitleBar("hotelavailability"):setTitleBar("hotelinfo");for(f=0;f<c;f++)plotavailabilityhotel(a[f]);mgr.addMarkers(newhotelmarkers,MAXTOWNZOOM+1,17);mgr.refresh();
showLoadingMessage(false);if(c==MAXHOTELS&&map.getZoom()<=14)document.getElementById("morehotels").style.display="block";else document.getElementById("morehotels").style.display="none";geocodemade==true&&GEvent.trigger(geocodemarker,"click");a=map.getZoom();centrelocations.push(Array(centrelat,centrelng,a));geocodemade=false}
function plotavailabilityhotel(a){var c=getValue(a.getElementsByTagName("name"));if(!hotelnames.contains(c)){hotelnames.push(c);var b=getValue(a.getElementsByTagName("hotelId")),d="http://www.hotels.com"+getValue(a.getElementsByTagName("thumbNailUrl")),e=getValue(a.getElementsByTagName("propertyRating")),f=getRatingImg(e),g=getValue(a.getElementsByTagName("address1"));e=parseFloat(getValue(a.getElementsByTagName("latitude")));var k=parseFloat(getValue(a.getElementsByTagName("longitude"))),j=new GLatLng(e,
k);parseFloat(getValue(a.getElementsByTagName("lowRate")));var h=parseInt(a.getElementsByTagName("NativeNightlyRates")[0].getAttribute("size")),m=getValue(a.getElementsByTagName("roomDescription")),l=new StringBuilder;l.appendFormat("<div class='bubble'><table width='340px'><tr>");d!="http://www.hotels.com"&&l.appendFormat('<td width = "80px" valign=\'top\'><img alt="{0}" id="bubbleimg" src="{1}"></td>',c,d);l.appendFormat('<td valign=\'top\'><h1>{0}</h1><br/>{1}<br /><img class="ratingimg" src="{2}" width="83" height="14"/><br />',
c,g,f);if(a.getElementsByTagName("PromoRateInfo").length>0){f=a.getElementsByTagName("PromoRateInfo")[0];g=a.getElementsByTagName("RateInfo")[0];d=parseFloat(f.getElementsByTagName("chargeableRoomRateTotal")[0].firstChild.nodeValue);var n=parseFloat(g.getElementsByTagName("chargeableRoomRateTotal")[0].firstChild.nodeValue);if(currency!="gbp"){d-=parseFloat(f.getElementsByTagName("chargeableRoomRateTaxesAndFees")[0].firstChild.nodeValue);n-=parseFloat(g.getElementsByTagName("chargeableRoomRateTaxesAndFees")[0].firstChild.nodeValue)}if(d<
n){h=0-d/h;if(a.getElementsByTagName("promoDescription").length>0){a=getValue(a.getElementsByTagName("promoDescription"));a!=""&&l.appendFormat('<p style="background-color: #FFFFA9;padding: 3px 5px;line-height: 200%;">{0}</p>',a)}}else h=d/h}else{d=parseFloat(a.getElementsByTagName("chargeableRoomRateTotal")[0].firstChild.nodeValue);if(currency!="gbp")d-=parseFloat(a.getElementsByTagName("chargeableRoomRateTaxesAndFees")[0].firstChild.nodeValue);h=d/h}a=Math.round(h);h=Math.abs(a);f=new StringBuilder;
if(document.getElementById("arrivaldate").value!="dd-mm-yyyy"&&document.getElementById("departuredate").value!="dd-mm-yyyy"){l.appendFormat("<div style='margin: 5px 0'><p style='background-color: #D4ED91;line-height: 200%;padding: 3px 5px;'><b>{0}{1}/night ({0}{2} total",currencysymbol,h,Math.round(d));currency=="gbp"&&l.append(" incl. tax");l.appendFormat(")</b></p><br/><b>{0}</b></div>",m);f.appendFormat("http://www.roomatlas.com/hotel.php?hotel={0}&id={1}&lat={2}&lng={3}&arrivaldate={4}&departuredate={5}&numadults={6}&numchildren={7}&currency={8}",
c.replace(/\s/g,"-"),b,e,k,arrivaldatehotel,departuredatehotel,numadults,numchildren,currency)}else{l.appendFormat("<div style='margin: 3px 0'><b>Rooms from <span style='background-color: #D4ED91; padding: 0 3px;'>{0}{1}/night</span>. Please use the booking panel to find available hotels and narrow your search.</div>",currencysymbol,h);f.appendFormat("http://www.roomatlas.com/hotel.php?hotel={0}&id={1}&lat={2}&lng={3}&currency={4}",c.replace(/\s/g,"-"),b,e,k,currency)}l.appendFormat('<p style="background-color: #FFD9D9;padding: 3px 5px;line-height: 200%;"><b><a target="_blank" href="{0}">View details and book >></a></b></p><br/><p style="line-height: 150%;"><a href="#" onclick="showTripAdvisor({1}); return false;">TripAdvisor reviews</a></p><br /><p style="line-height:150%;"><a href=\'#\' onclick=\'addToShortlist("{2}","{0}","{3}")\'>Shortlist</a>&nbsp;|&nbsp;<a href=\'#\' onclick=\'removeMarker({1});\'>Remove from map</a></p></td></tr></table></div>',
f.toString(),b,c,a);c=createMarker("hotel",j,a,l.toString());c.id=b;newhotelmarkers.push(c);allhotelmarkers.push(c)}}
function createAddressMarker(a,c,b){var d=new GIcon;d.image="http://www.roomatlas.com/images/placeicon.png";d.iconAnchor=new GPoint(9,31);d.infoWindowAnchor=new GPoint(9,1);d.iconSize=new GSize(19,32);geocodemarker=new GMarker(new GLatLng(c,b),{icon:d});a=a.split(",")[0];var e=new StringBuilder;e.appendFormat("<div class='geocodebubble'><h1>{0}</h1><br /><p style='display: block;'>Drag the map or zoom to view more hotels. Then use the booking panel to check availability.</p>",a.toProperCase());map.getZoom()<=
15&&e.append("<p>If there's an address you'd like to stay near, please enter it in the search box.</p></div>");GEvent.addListener(geocodemarker,"click",function(){geocodemarker.openInfoWindowHtml(e.toString())});map.addOverlay(geocodemarker)}
function createEventMarker(a,c,b,d,e,f,g,k){var j=new GIcon;j.image="http://www.roomatlas.com/images/placeicon.png";j.iconAnchor=new GPoint(9,31);j.infoWindowAnchor=new GPoint(9,1);j.iconSize=new GSize(19,32);geocodemarker=new GMarker(new GLatLng(g,k),{icon:j});var h=new StringBuilder;h.appendFormat("<div class='geocodebubble'><h1>{0}</h1><br /><p style='font-weight:bold;'>{1}<br/>",a,c);if(b!="dd-mm-yyyy"&&d!="dd-mm-yyyy")b!=d?h.appendFormat("{0} to {1}",b,d):h.append(b);h.appendFormat("</p><p>{0}</p>",
e);f!=""&&h.appendFormat("<p>Find out more and book tickets at <a target='_blank' href='http://{0}'>{0}</a>.</p>",f);h.append("<p>Use the booking panel to adjust your requirements, then click hotels to view details and book.</p><p>You may wish to zoom out to see more hotels.</p></div>");GEvent.addListener(geocodemarker,"click",function(){geocodemarker.openInfoWindowHtml(h.toString())});map.addOverlay(geocodemarker)}
function createMarker(a,c,b,d){var e=new GIcon;e.iconAnchor=new GPoint(19,37);e.infoWindowAnchor=new GPoint(19,10);e.iconSize=new GSize(38,37);e.imageMap=[4,31,4,21,1,21,18,3,36,21,33,21,33,31,4,31];var f=new StringBuilder;if(a=="hotel"){var g=Math.abs(b);e.image=getHotelIcon(b,"mouseout");var k=g<10?new GSize(-7,-23):g<100?new GSize(-9,-23):new GSize(-12,-23);f.appendFormat("{0}{1}",currencysymbol,g)}else{k=b<10?new GSize(-3,-23):b<100?new GSize(-7,-23):b<1E4?new GSize(-9,-23):new GSize(-11,-23);
b>=1E3?f.appendFormat("{0}k+",Math.floor(b/1E3)):f.appendFormat("{0}",b);e.image="http://www.roomatlas.com/images/hotelicon-1.png"}opts={icon:e,clickable:true,labelText:f.toString(),labelOffset:k};var j=new LabeledMarker(c,opts);GEvent.addListener(j,"mouseover",function(){a=="hotel"?j.setImage(getHotelIcon(b,"mouseover")):j.setImage("http://www.roomatlas.com/images/hotelicon-1-sel.png")});GEvent.addListener(j,"mouseout",function(){a=="hotel"?j.setImage(getHotelIcon(b,"mouseout")):j.setImage("http://www.roomatlas.com/images/hotelicon-1.png")});
GEvent.addListener(j,"click",function(){j.openInfoWindowHtml(d)});return j}function geocode(){if(geocodelocation.length>=2)if(isNaN(geocodelocation.charAt(0))&&(!isNaN(geocodelocation.charAt(1))&&geocodelocation.charAt(1)!=" "||!isNaN(geocodelocation.charAt(2))&&geocodelocation.charAt(2)!=" "))geocodelocation+=",United Kingdom";document.getElementById("jumptobutton").disabled=true;GDownloadUrl("http://www.roomatlas.com/dbaccess/writeDBSearch.php?q="+geocodelocation,doGeocode)}
function getZoomLevel(a){var c=[3,6,7,8,14,14,15,15,15,16],b=geocodelocation.toLowerCase();return b=="singapore"||b=="goa"||b=="chicago"?12:b=="hong kong"||b=="bangkok"?13:c[a]||3}
function geocodeComplete(a){if(a.Status.code!=200){alert(a.name+" not found. Try being more specific (e.g. adding a city or country name).");document.getElementById("jumptobutton").disabled=false}else{var c,b;if(forcegeocode){c=a.Placemark[0];b=getZoomLevel(c.AddressDetails.Accuracy);setMapAfterGeocode(c.address,c.Point.coordinates[1],c.Point.coordinates[0],b)}else{var d="<div style='float:right'><a href='#' onclick='document.getElementById(\"geocoderesults\").style.display=\"none\";document.getElementById(\"jumptobutton\").disabled = false;return false;'><img style='border: 0;' src='http://www.roomatlas.com/images/redcross.png'/></a></div><h1>Did you mean...</h1>";
for(i=0;i<a.Placemark.length;i++){c=a.Placemark[i];b=getZoomLevel(c.AddressDetails.Accuracy);d+="<a onclick='setMapAfterGeocode(\""+c.address+'",'+c.Point.coordinates[1]+","+c.Point.coordinates[0]+","+b+"); return false;' href='#'>"+c.address+"</a><br/>"}d+="<span style='line-height: 2em;'>...or somewhere else? If so, try adding more detail to your search.</span>";document.getElementById("geocoderesults").innerHTML=d;document.getElementById("geocoderesults").style.display="block"}}}
function setMapAfterGeocode(a,c,b,d){typeof geocodemarker!="undefined"&&map.removeOverlay(geocodemarker);d<=MAXTOWNZOOM?map.setCenter(new GLatLng(c,b),d,G_PHYSICAL_MAP):map.setCenter(new GLatLng(c,b),d,G_NORMAL_MAP);if(d>MAXTOWNZOOM){createAddressMarker(a,c,b);firstplot=geocodemade=true;centrelocations.push(Array(c,b,d));lockupdate||setupHotels()}document.getElementById("geocoderesults").style.display="none";document.getElementById("jumptobutton").disabled=false}
function somewhereNew(a,c,b){for(i=0;i<centrelocations.length;i++)if(b==centrelocations[i][2])if(Math.pow(Math.pow(centrelocations[i][0]-a,2)+Math.pow(centrelocations[i][1]-c,2),0.5)<DRAG_SENSITIVITY)return false;return true}function doGeocode(){var a=map.getBounds();geocoder.setViewport(a);geocoder.getLocations(geocodelocation,geocodeComplete)}
function checkDatesValid(){if(document.getElementById("arrivaldate").value!="dd-mm-yyyy"&&document.getElementById("departuredate").value!="dd-mm-yyyy"){var a=document.getElementById("arrivaldate").value.split("-"),c=monthnames.indexOf(a[1])+1,b=new StringBuilder;b.appendFormat("{0}/{1}/{2}",a[2],c,a[0]);a=Date.parse(b.toString());b=document.getElementById("departuredate").value.split("-");c=monthnames.indexOf(b[1])+1;var d=new StringBuilder;d.appendFormat("{0}/{1}/{2}",b[2],c,b[0]);return Date.parse(d.toString())>
a?true:false}else return true}function removeMarker(a){for(var c=0;c<allhotelmarkers.length;c++)allhotelmarkers[c].id==a&&mgr.removeMarker(allhotelmarkers[c])}
function addToShortlist(a,c,b){document.getElementById("shortlist").style.display="block";document.getElementById("shortlist").style.maxHeight=document.getElementById("map_canvas").offsetHeight-document.getElementById("sidebar").offsetHeight+document.getElementById("shortlist").offsetHeight-8+"px";var d=new StringBuilder;shortlist.name.length==0&&d.append("<b>Shortlist</b><br />");if(!shortlist.name.contains(a)){shortlist.name.push(a);shortlist.producturl.push(c);shortlist.rate.push(b);d.appendFormat('<a href="#" onclick="removeFromShortlist(\'{0}\');"><img src="http://www.roomatlas.com/images/cross.gif" style="vertical-align: top; margin-top: 3px;"></a>&nbsp;<a target="_blank" href="{1}">{2}</a>&nbsp;',
a.replace(/'/g,"\\'"),c,a);b!=""&&d.appendFormat("({0}{1})",currencysymbol,b);d.append("<br/>");document.getElementById("shortlist").innerHTML+=d.toString()}}
function removeFromShortlist(a){var c={name:[],producturl:[],rate:[]};for(b=0;b<shortlist.name.length;b++)if(shortlist.name[b]!=a){c.name.push(shortlist.name[b]);c.producturl.push(shortlist.producturl[b]);c.rate.push(shortlist.rate[b])}shortlist={name:[],producturl:[],rate:[]};for(b=0;b<c.name.length;b++){shortlist.name[b]=c.name[b];shortlist.producturl[b]=c.producturl[b];shortlist.rate[b]=c.rate[b]}a=new StringBuilder;if(shortlist.name.length>0){a.append("<b>Shortlist</b><br />");for(var b=0;b<shortlist.name.length;b++){a.appendFormat('<a href="#" onclick="removeFromShortlist(\'{0}\');"><img src="http://www.roomatlas.com/images/cross.gif" style="vertical-align: top; margin-top: 3px;"></a>&nbsp;<a target="_blank" href="{1}">{2}</a>&nbsp;',
shortlist.name[b].replace(/'/g,"\\'"),shortlist.producturl[b],shortlist.name[b]);shortlist.rate[b]!=""&&a.appendFormat("({0}{1})",currencysymbol,shortlist.rate[b]);a.append("<br/>")}}else document.getElementById("shortlist").style.display="none";document.getElementById("shortlist").innerHTML=a.toString()}function resetMgr(){mgr.clearMarkers();allhotelmarkers=[];hotelnames=[];citynames=[];townnames=[];centrelocations=[];document.getElementById("morehotels").style.display="none"}
function getHotelIcon(a,c){var b=new StringBuilder;b.append("http://www.roomatlas.com/images/");if(a<0)b.append("hotelicon-special");else if(a<=lowerprice)b.append("hotelicon-3");else a<upperprice?b.append("hotelicon-2"):b.append("hotelicon-1");c=="mouseover"&&b.append("-sel");b.append(".png");return b.toString()}function zIndexProcess(a){return a.numhotels}
function showTripAdvisor(a){var c=document.getElementById("tripadvisoriframe");c.src="http://www.tripadvisor.com/WidgetEmbed-cdspropertysummary?locationId="+a+"&partnerId=A8FC6259FF384FA3B91A218C6E25F8F2&display=true";a=document.getElementById("closebutton");var b=document.body.offsetWidth;if(b>1280){c.style.right=Math.round(9+(b-1280)*0.5)+"px";a.style.right=Math.round(16+(b-1280)*0.5)+"px"}else{c.style.right="5px";a.style.right="16px"}c.style.display="block";a.style.display="block"}
function showLoadingMessage(a){if(a){lockupdate=true;map.removeControl(mapcontrol);map.disableDragging();map.disableDoubleClickZoom();map.disableContinuousZoom();map.disableScrollWheelZoom();showUpdateButton(false);document.getElementById("jumptobutton").disabled=true;document.getElementById("statusmessage").style.display="block"}else{lockupdate=false;map.enableDragging();map.enableDoubleClickZoom();map.enableContinuousZoom();map.enableScrollWheelZoom();document.getElementById("jumptobutton").disabled=
false;if(map.getZoom()>MAXTOWNZOOM)map.addControl(mapcontrol,new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(170,5)));else{map.addControl(mapcontrol);map.addControl(mapcontrol)}document.getElementById("statusmessage").style.display="none"}}
function setTitleBar(a){if(a=="zoomedout")a="<b>Drag/zoom the map and click markers to view hotels</b>. Or, jump to a place using the search box above.";else if(a=="hotelinfo"){a="<b>Drag/zoom the map to view more hotels</b>.  <img src='http://www.roomatlas.com/images/hotelicon-ss.png'/> Special rate <img src='http://www.roomatlas.com/images/hotelicon-s3.png'/> &lt;"+currencysymbol+lowerprice+"/night&nbsp;&nbsp;<img src='http://www.roomatlas.com/images/hotelicon-s2.png'/> "+currencysymbol+lowerprice+
"-"+currencysymbol+upperprice+"/night&nbsp;&nbsp;<img src='http://www.roomatlas.com/images/hotelicon-s1.png'/> &gt;"+currencysymbol+upperprice+"+/night";if(currency=="gbp")a+=" (including tax)"}else if(a=="hotelavailability"){a="<b>Click markers to view details and book your room.</b>  <img src='http://www.roomatlas.com/images/hotelicon-ss.png'/> Special rate <img src='http://www.roomatlas.com/images/hotelicon-s3.png'/> &lt;"+currencysymbol+lowerprice+"/night&nbsp;&nbsp;<img src='http://www.roomatlas.com/images/hotelicon-s2.png'/> "+
currencysymbol+lowerprice+"-"+currencysymbol+upperprice+"/night&nbsp;&nbsp;<img src='http://www.roomatlas.com/images/hotelicon-s1.png'/> &gt;"+currencysymbol+upperprice+"+/night";if(currency=="gbp")a+=" (including tax)"}else a=a;document.getElementById("statusbar_text").innerHTML=a}function updateStars(a){for(var c=document.getElementsByName("star"),b=0;b<5;b++)c[b].src=b<a?"http://www.roomatlas.com/images/fullstar.gif":"http://www.roomatlas.com/images/nostar.gif"}
function getStars(){for(var a=0,c=document.getElementsByName("star"),b=0;b<5;b++)if(c[b].src=="http://www.roomatlas.com/images/fullstar.gif")a++;else break;return a}function updateCheckboxes(a){for(var c=document.getElementsByName("amenitycheckbox"),b=0,d=0;d<c.length;d++)c[d].checked&&b++;if(b>3){alert("Please choose a maximum of three amenities");a.checked=false}}
function getRatingImg(a){a=Math.round(2*a);var c=new StringBuilder;c.appendFormat("http://www.roomatlas.com/images/{0}star.png",a);return c.toString()}function getValue(a){return a[0].hasChildNodes()?a[0].firstChild.nodeValue:""}
function getNextTuesday(a){var c=new Date,b=c.getDay();c=new Date(c.getFullYear(),c.getMonth(),c.getDate()-0+30-b);if(c.getMonth()==11|(c.getMonth()==10&&c.getDate()==30)){c=new Date(c.getFullYear(),c.getMonth()+1,c.getDate());b=c.getDay();if(b<2)c=new Date(c.getFullYear(),c.getMonth(),c.getDate()-0+3-b);else if(b>2)c=new Date(c.getFullYear(),c.getMonth(),c.getDate()-0+10-b)}if(a=="end")c=new Date(c.getFullYear(),c.getMonth(),c.getDate()-0+1);return c.getMonth()-0+1+"/"+c.getDate()+"/"+c.getFullYear()}
function getRadius(a,c){var b=(c-a)*Math.PI/180;b=Math.sin(b/2)*Math.sin(b/2);b=3959*2*Math.atan2(Math.sqrt(b),Math.sqrt(1-b))*0.5;return Math.floor(b)>1?Math.ceil(b)+1:1}
function mapSize(){document.getElementById("map_canvas").style.height=document.body.offsetHeight-document.getElementById("header").offsetHeight-document.getElementById("statusbar").offsetHeight-document.getElementById("footer").offsetHeight+"px";document.getElementById("shortlist").style.maxHeight=document.getElementById("map_canvas").offsetHeight-document.getElementById("sidebar").offsetHeight+document.getElementById("shortlist").offsetHeight-8+"px";if(document.body.offsetWidth>1280){document.getElementById("tripadvisoriframe").style.right=
0.5*(document.body.offsetWidth-1280)+8+"px";document.getElementById("geocoderesults").style.right=0.5*(document.body.offsetWidth-1280)+8+"px"}else{document.getElementById("tripadvisoriframe").style.right="8px";document.getElementById("geocoderesults").style.right="8px"}}
function showUpdateButton(a){document.getElementById("updatemapbutton").disabled=!a;if(a){document.getElementById("updatemapbutton").style.color="#ff000c";setTimeout('document.getElementById("updatemapbutton").style.color = "black"',600);document.getElementById("sidebarmessage").style.display="block"}else document.getElementById("sidebarmessage").style.display="none"}function updateWikipedia(a){a?map.addOverlay(wikilayer):map.removeOverlay(wikilayer)}
function setHash(a,c,b){if(!document.getElementById("event"))window.location.hash=a.toFixed(5)+","+c.toFixed(5)+","+b}function sortNumber(a,c){return a-c}function eventDate(a){a=a.split("-");return a[2]+"-"+monthnames[a[1]-1]+"-"+a[0]}if(!Array.prototype.contains)Array.prototype.contains=function(a){for(var c=this.length,b=0;b<c;b++)if(this[b]==a)return true;return false};if(!Array.prototype.indexOf)Array.prototype.indexOf=function(a){for(var c=this.length,b=0;b<c;b++)if(this[b]==a)return b;return false};
var StringBuilder=Array;Array.prototype.append=Array.prototype.push;Array.prototype._convertToArray=function(a){if(!a)return[];if(a.toArray)return a.toArray();for(var c=a.length,b=Array(c);c--;)b[c]=a[c];return b};Array.prototype.appendFormat=function(a){var c=this._convertToArray(arguments).slice(1);this[this.length]=a.replace(/\{(\d+)\}/g,function(b,d){return c[d].toString()})};
Array.prototype.toString=function(){var a=this._parameters!=null;if(a=a&&this._parameters.length>0){a=this.join("").split("?");for(var c=[],b=0,d=a.length;b<d;b++){c[c.length]=a[b];c[c.length]=this._parameters[b]}return c.join("")}else return this.join("")};String.prototype.toProperCase=function(){return this.toLowerCase().replace(/^(.)|\s(.)/g,function(a){return a.toUpperCase()})};$_GET=[];_get_set=function(a){a.match(/(.+?[^=])=(.*)/i)&&eval("$_GET['"+RegExp.$1+"'] = '"+RegExp.$2+"';")};
_SearchIn=location.href.replace(location.href.split("?")[0]+"?","");_Variables=_SearchIn.split("&");if(_Variables.length<2)_get_set(_SearchIn);else for(_s=0;_s<_Variables.length;_s++)_get_set(_Variables[_s]);