var b_google_api_loaded=false;booking.map={description:"Object-literal namespace for sitewide Google Maps.",version:"1.6",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,SHOW_INFOWINDOW_ON_SHOWMAP_LINK_MOUSEOVER:true,DEFAULT_DISPLAY_MODE:7,JS_VOID_URL:"#",PLACEMARKS_LIMIT:50,MARKER_MOUSEOVER_Z_INDEX_OFFSET:100000,MARKER_PATH_PREFIX:booking.env.icons,SHOW_LEGEND:booking.env.setvar_affiliate_is_bookings2?true:false,all_map_markers:[],fetchJSONHotels:function(){var a=booking.map.obj.getBounds();var c=a.getSouthWest().lng()+","+a.getSouthWest().lat()+","+a.getNorthEast().lng()+","+a.getNorthEast().lat();booking.placemarksUrl="/hotelsonmap."+booking.env.b_lang+".json"+booking.env.b_query_params_no_ext+";BBOX="+c+";limit=";booking.placemarksUrl+=booking.map.PLACEMARKS_LIMIT;var b=new google.maps.DownloadUrl(booking.placemarksUrl,booking.map.processPlacemarks)},updateViewLink:function(){var c=booking.map.obj.getCenter();var a=Math.ceil(15.0588*Math.pow(2,10-booking.map.obj.getZoom()));if(a>150){a=150}var b="/searchresults"+booking.env.b_query_params_with_lang+";latitude="+c.y+";longitude="+c.x+";radius="+a;b+=";ssne=lat%3A+"+c.y+"+long%3A+"+c.x;$("#reload_currently_displayed_hotels").unbind("click").attr("href",b).click(function(){window.location.href=this.href})},inflateBoundsBox:function(d,c){var a;for(var b in booking.promotions){if(booking.promotions.hasOwnProperty(b)&&(typeof booking.promotions[b]=="object")){a=booking.promotions[b];if(!a.latLng){a.latLng=new google.maps.LatLng(a.b_latitude,a.b_longitude);delete a.b_latitude;delete a.b_longitude}if((c.b_action!=="searchresults"&&a.b_type==="hotel")||c.b_action==="region"||(c.b_action=="country"&&(a.b_type==="city"||a.b_type==="airport"))){d.extend(a.latLng)}}}},computeZoom:function(c,b){if(c.USE_ZOOM_FROM_ACTION&&booking.env.b_map_google_static_thumbnail_zoom_level){c.boundsZoomLevel=booking.env.b_map_google_static_thumbnail_zoom_level+1}else{c.boundsZoomLevel=b.getBoundsZoomLevel(this.box);if(booking.env.b_action=="hotel"){var a=booking.utils.hasClass(booking.map.main,booking.map.CLASS_PREVIEW)?c.ZOOM_TARGET_HOTEL_PREVIEW:c.ZOOM_TARGET_HOTEL_NORMAL;c.boundsZoomLevel=a+Math.round((c.boundsZoomLevel-a)/2)}}},setCenter:function(a,b,c){this.obj.setCenter(this.center)},addControls:function(){if(booking.map.controls.length===0){booking.map.controls.push(new google.maps.LargeMapControl(),new google.maps.ScaleControl(),new google.maps.HierarchicalMapTypeControl());for(var a=0;a<booking.map.controls.length;a++){booking.map.obj.addControl(booking.map.controls[a])}}},removeControls:function(){while(booking.map.controls.length>0){booking.map.obj.removeControl(booking.map.controls.pop())}},close:function(a){booking.event.normalizeExplorerEventObject(a);if(booking.map.display.subject){google.maps.Event.trigger(booking.map.display.subject.marker,"mouseout");booking.map.display.subject=null}if(booking.map.REUSE_PREVIEW_THUMBNAIL_AS_FULL_MAP&&booking.utils.hasClass(booking.map.main,booking.map.CLASS_NORMAL)){booking.map.minimize()}else{booking.utils.addClass(booking.map.featMap,"closed")}if(gClientIsIElte6){for(var b=0;b<booking.selects.length;b++){booking.selects[b].style.visibility="visible"}}a.preventDefault();a.stopPropagation();return false},focus:function(a){setTimeout(function(){booking.map.obj.panTo(a.latLng);google.maps.Event.trigger(a.marker,"mouseover")},1000)},setSubject:function(a,b){if(booking.map.obj&&booking.map.display.initialized){booking.event.normalizeExplorerEventObject(a);if(!b&&a.currentTarget&&a.currentTarget.itemId){b=a.currentTarget.itemId}booking.map.display.clear();if(b){if(booking.promotions[b]||booking.placemarks){booking.map.display.subject=booking.promotions[b]?booking.promotions[b]:booking.placemarks[b];booking.map.focus(booking.map.display.subject)}else{booking.map.display.subjectID=b}}else{booking.map.obj.panTo(booking.map.center)}}},display:function(c){var a=booking,d=a.map,e;if(c&&typeof c==="object"){a.event.normalizeExplorerEventObject(c);if(c.currentTarget.itemId&&!(d.display.subject&&(d.display.subject.b_hotel_id===c.currentTarget.itemId))){a.map.display.itemId=c.currentTarget.itemId}e=c.currentTarget}else{e=this}if(e&&e.getAttribute&&e.getAttribute("rel")){a.env.link_specific_zoom_level=parseInt(e.getAttribute("rel"))}if(!b_google_api_loaded){b_google_api_loaded=true;a.google.AjaxApiLoader.load("booking.map.display")}else{if(typeof google=="undefined"||typeof google.maps=="undefined"||typeof google.maps.Overlay=="undefined"){d.loadGoogleMapsAPI(d.display)}else{if(!d.load.executed){d.load()}if(a.utils.hasClass(d.main,d.CLASS_PREVIEW)){d.maximize()}else{booking.utils.removeClass(d.featMap,"closed");d.main.style.display="block"}d.position();if(!d.display.initialized){d.display.initialize(d);if(typeof(booking.google.mapTracker)!="undefined"){booking.google.trackEvent(booking.google.mapTracker,"Display",document.body.id)}}if(booking.map.display.itemId){d.setSubject(null,d.display.itemId);delete d.display.itemId}if(gClientIsIElte6){d.area.hideSelectsUnderneath()}if(d.display.handle){google.maps.Event.removeListener(d.display.handle);delete d.display.handle}if(!a.env.map_events_registered){if(a.env.b_site_experiment_event_tracking&&typeof(a.google.mapTracker)!="undefined"){google.maps.Event.addDomListener(d.obj,"moveend",function(){booking.google.trackEvent(booking.google.mapTracker,"Drag",document.body.id)});google.maps.Event.addDomListener(d.obj,"zoomend",function(){booking.google.trackEvent(booking.google.mapTracker,"Zoom",document.body.id)})}google.maps.Event.addDomListener(d.obj,"moveend",function(){booking.map.fetchJSONHotels();booking.map.updateViewLink()});google.maps.Event.addDomListener(d.obj,"zoomend",function(){booking.map.updateViewLink();if(booking.env.b_site_experiment_map_show_search_area){if(booking.map.circleFitsMap()){if(booking.map.circletype!="opaque"){booking.map.circle.setFillStyle({color:"#0000ff",weight:1,opacity:0.2});booking.map.circletype="opaque"}}else{if(booking.map.circletype!="transparent"){booking.map.circle.setFillStyle({color:"#0000ff",weight:1,opacity:0});booking.map.circletype="transparent"}}}});a.env.map_events_registered=true}if(booking.env.b_site_experiment_map_show_search_area&&!booking.map.circle&&booking.map.searchRadius){booking.map.drawCircle()}}}if(c&&typeof c==="object"){c.preventDefault();c.stopPropagation()}if(d.obj&&a.env.link_specific_zoom_level&&!a.env.first_load){d.obj.setZoom(a.env.link_specific_zoom_level);a.env.first_load=true}return false},resetForPreviewMode:function(){if(!booking.map.maximize.handle){booking.map.maximize.handle=google.maps.Event.addDomListener(booking.map.thumbnail,"click",booking.map.maximize)}},position:function(){var c=booking.map;function d(){var i=0,h=0;if(typeof window.innerWidth=="number"){i=window.innerWidth;h=window.innerHeight}else{if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){i=document.documentElement.clientWidth;h=document.documentElement.clientHeight}else{if(document.body&&(document.body.clientWidth||document.body.clientHeight)){i=document.body.clientWidth;h=document.body.clientHeight}}}return{width:i,height:h}}function g(){var h=0,i=0;if(typeof window.pageYOffset=="number"){i=window.pageYOffset;h=window.pageXOffset}else{if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){i=document.body.scrollTop;h=document.body.scrollLeft}else{if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){i=document.documentElement.scrollTop;h=document.documentElement.scrollLeft}}}return{x:h,y:i}}var f=d(),b=g(),e=(f.height/2)-(433/2)+b.y,a=(f.width/2)-(640/2)+b.x;c.draggableObject.moveTo(new google.maps.Point(a,e));c.obj.enableDragging()},maximize:function(){var a=booking.map;if(a.maximize.handle){google.maps.Event.removeListener(a.maximize.handle);delete a.maximize.handle}booking.utils.removeClass(a.main,a.CLASS_PREVIEW);booking.utils.addClass(a.main,a.CLASS_NORMAL)},minimize:function(){var c=booking,d=c.utils,e=c.map,a=e.main;d.removeClass(a,e.CLASS_NORMAL);d.addClass(a,e.CLASS_PREVIEW);e.resetForPreviewMode()},iconTypes:{build:function(a){var b=a.iconTypes;b.hotel=new a.Icon({icon_type:"hotel",image:booking.map.MARKER_PATH_PREFIX+"/marker-hotel-blue.png"});b.hotel.zoomRange=new a.ZoomRange(9);b.hotel.zOrder=10000;b.hotel_matching_criteria=new a.Icon({icon_type:"hotel_matching_criteria",image:a.MARKER_PATH_PREFIX+"/marker-hotel-orange.png"});b.hotel_matching_criteria.zoomRange=new a.ZoomRange(9);b.hotel_matching_criteria.zOrder=5000;b.hotel_not_matching_criteria=new a.Icon({icon_type:"hotel_not_matching_criteria",image:a.MARKER_PATH_PREFIX+"/marker-hotel-grey.png"});b.hotel_not_matching_criteria.zoomRange=new a.ZoomRange(9);b.hotel_not_matching_criteria.zOrder=100;b.hotel_current=new a.LargeIcon();b.hotel_current.zoomRange=new a.ZoomRange(4);b.hotel_current.zOrder=100000;b.airport=new a.Icon({icon_type:"airport"});b.airport.zoomRange=new a.ZoomRange(5);b.airport.zOrder=90;b.airport_current=new a.LargeIcon({icon_type:"airport_current",image:booking.map.MARKER_PATH_PREFIX+"/marker-airport-large.png"});b.airport_current.zoomRange=new a.ZoomRange(5);b.airport_current.zOrder=90;b.landmark=new a.Icon({icon_type:"landmark"});b.landmark.zoomRange=new a.ZoomRange(12);b.landmark.zOrder=80;b.landmark_current=new a.LargeIcon({icon_type:"landmark_current",image:booking.map.MARKER_PATH_PREFIX+"/marker-landmark-large.png"});b.landmark_current.zoomRange=new a.ZoomRange(12);b.landmark_current.zOrder=80;b.city=new a.SmallIcon();b.city.zoomRange=new a.ZoomRange(4,16);b.city.zOrder=70;b.city_current=new a.LargeIcon({icon_type:"city_current",image:a.MARKER_PATH_PREFIX+"/marker-city-large.png",iconSize:new google.maps.Size(15,15),iconAnchor:new google.maps.Point(7.5,15),shadow:a.MARKER_PATH_PREFIX+"/marker-shadow-city-large.png",shadowSize:new google.maps.Size(23,15)});b.city_current.zoomRange=new a.ZoomRange(4,16);b.city_current.zOrder=70;b.country=new a.Icon({icon_type:"country"});b.country.zoomRange=new a.ZoomRange(4,10);b.country.zOrder=60;b.region=new a.Icon({icon_type:"region"});b.region.zoomRange=new a.ZoomRange(5);b.region.zOrder=50;b.district=new a.SmallIcon({icon_type:"district"});b.district.zoomRange=new a.ZoomRange(7);b.district.zOrder=40;b.lat_long_current=new a.SmallIcon({icon_type:"district"});b.lat_long_current.zoomRange=new a.ZoomRange(4,16);b.lat_long_current.zOrder=40}},ZoomRange:function(b,a){this.min=b?b:Math.NEGATIVE_INFINITY;this.max=a?a:Math.POSITIVE_INFINITY},buildMarker:function(a){if(!a.icon_type){a.icon_type=a.b_type}a.marker=new booking.map.Marker(a.latLng,{icon:this.iconTypes[a.icon_type]});this.markerManager.addMarker(a.marker,this.iconTypes[a.icon_type].zoomRange.min,this.iconTypes[a.icon_type].zoomRange.max);if(a.icon_type=="lat_long_current"){return}if(a.url){a.marker.go=new booking.Go(a.url);google.maps.Event.addDomListener(a.marker,"click",function(){this.go.to()})}a.marker.build=new booking.map.BuildInfoWindow(a);a.marker.handleBuildInfoWindow=google.maps.Event.addDomListener(a.marker,"mouseover",function(){this.build.it();delete this.build})},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.map.all_map_markers[i]&&!(booking.pageSubject&&booking.pageSubject.b_hotel_id==i)){booking.map.all_map_markers[i]=placemark;placemark.b_type="hotel";placemark.latLng=new google.maps.LatLng(placemark.b_latitude,placemark.b_longitude);delete placemark.b_latitude;delete placemark.b_longitude;if(booking.env.b_action==="searchresults"){if(booking.hotelsMatchingCriteria[i]){if(i==booking.map.display.itemId){placemark.icon_type="hotel_current"}else{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="Request failed with code "+code+"."}},buildCurrentHotel:function(c){var b=c;if(booking.promotions&&!booking.promotions[b.b_id]&&!booking.placemarks[b.b_id]){if(booking.hotelsMatchingCriteria[b.b_id]){if(b.b_id==booking.map.display.subjectID){var a="hotel_current"}else{var a="hotel_matching_criteria"}}else{var a="hotel_not_matching_criteria"}booking.placemarks[b.b_id]={b_type:"hotel",icon_type:a,b_image_url:booking.env.images_url+b.b_main_photo,b_description:b.b_description,id:"hotel"+b.b_id,title:b.b_name,latLng:new google.maps.LatLng(b.b_latitude,b.b_longitude),url:b.b_url};if(b.b_class){booking.placemarks[b.b_id].b_class=b.b_class}booking.map.buildMarker(booking.placemarks[b.b_id])}},buildNode:function(a){a.featMap=document.getElementById("b_featMap");if(a.featMap){a.containerTree=new a.Div(booking.env);booking.utils.buildHtmlNode(a.containerTree,a.featMap);a.containerTree.initialize(a);booking.utils.addClass(a.featMap,"b_map_mode_"+booking.map.display_mode);booking.utils.addClass(a.thumbnail,"b_map_mode_"+booking.map.display_mode);$("#print_map").click(function(){window.open(this.href);return false})}},Div:function(a){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":a.close_map},"#text":a.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())}},Legend:function(){var a=booking.env;this.div={_this:this,"@id":"b_google_map_legend",h3:{"#text":a.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",a.map_landmark).tr,new booking.map.Legend.Entry("b_maps_city","marker-city.png",a.city).tr,new booking.map.Legend.Entry("b_maps_airport","marker-airport.png",a.airport).tr]}},p:{"#text":a.map_click_these_markers_on_the_map_for_more_detailed_information}};this.div.a={"@id":"reload_currently_displayed_hotels","@href":"#","#text":a.map_show_prices_and_availability_for_displayed_hotels};if(typeof booking.env.b_site_experiment_printable_maps!="undefined"&&booking.env.b_site_experiment_printable_maps){this.div.h4={a:{"@id":"print_map","@href":booking.env.print_map_href,"#text":booking.env.print_map,"@target":"_blank"}}}if(a.b_action==="searchresults"){this.div.table.tbody.tr.unshift(new booking.map.Legend.Entry("b_maps_hotel_matching_selection_criteria","marker-hotel-orange.png",a.map_hotel_matching_your_selection_criteria).tr,new booking.map.Legend.Entry("b_maps_hotel_other","marker-hotel-grey.png",a.map_other_hotel).tr)}else{this.div.table.tbody.tr.unshift(new booking.map.Legend.Entry("b_maps_hotel","marker-hotel-blue.png",a.map_hotel).tr);if(a.b_action==="hotel"){this.div.table.tbody.tr.unshift(new booking.map.Legend.Entry("b_maps_current_hotel","marker-hotel-orange-large.png",a.current_hotel).tr)}}},loadGoogleMapsAPI:function(c){if(typeof google!="undefined"&&!booking.map.apiCalled){var a=booking,d=a.env,e=a.map,f={language:d.b_lang};if(c){f.callback=c}f.other_params="client=gme-booking&sensor=false";e.loadArguments=f;booking.map.apiCalled=true;google.load("maps","2",f)}},load:function(){var f,e,c,a=booking,g=a.env,d=a.map;window.onunload=function(){GUnload()};booking.map.buildSubclassesOfGoogleClasses();if(google.maps.BrowserIsCompatible()){d.buildNode(d);d.mapType=(g.b_googlemaps_maptype=="satellite")?google.maps.SATELLITE_MAP:false;if(g.b_bbox_southwest_latitude&&g.b_bbox_southwest_longitude&&g.b_bbox_northeast_latitude&&g.b_bbox_northeast_longitude){d.box=new google.maps.LatLngBounds(new google.maps.LatLng(g.b_bbox_southwest_latitude,g.b_bbox_southwest_longitude),new google.maps.LatLng(g.b_bbox_northeast_latitude,g.b_bbox_northeast_longitude))}else{d.box=new google.maps.LatLngBounds()}if(g.b_map_center_latitude&&g.b_map_center_longitude){d.center=new google.maps.LatLng(g.b_map_center_latitude,g.b_map_center_longitude)}else{if(g.b_latitude&&g.b_longitude){d.center=new google.maps.LatLng(g.b_latitude,g.b_longitude)}else{d.center=d.box.getCenter()}}booking.promotions.load(g);if(d.box.isEmpty()){d.inflateBoundsBox(d.box,g);if(g.b_action!="hotel"&&!d.USE_CENTER_FROM_ACTION){d.center=d.box.getCenter()}}d.iconTypes.build(d);d.obj=new google.maps.Map2(d.parent);d.obj.addMapType(google.maps.PHYSICAL_MAP);if(booking.env.b_countrycode=="il"){d.obj.setMapType(google.maps.SATELLITE_MAP)}google.maps.Event.addDomListener(d.obj,"load",function(){booking.utils.removeClass(d.main,"loading")});d.setCenter();if(d.USE_ZOOM_FROM_ACTION){d.box=d.obj.getBounds()}d.obj.enableContinuousZoom();d.markerManager=new google.maps.MarkerManager(d.obj);if(booking.pageSubject){d.buildMarker(booking.pageSubject);d.markers.push(booking.pageSubject.marker)}d.resetForPreviewMode();d.zoom={preview:d.obj.getZoom()};d.main.anchors=d.main.getElementsByTagName("a");for(f=0;f<d.main.anchors.length;f++){e=d.main.anchors[f];c=e.getAttribute("href");if(c&&c.indexOf("ct=api_logo")!=-1){booking.utils.addClass(e,"api_logo")}if(c&&c.indexOf("terms_maps")!=-1){booking.utils.addClass(e,"terms_maps")}}d.display.initialized=false;d.close_map.removeAttribute("onclick");d.close_map.href=booking.map.JS_VOID_URL;google.maps.Event.addDomListener(d.close_map,"click",d.close);d.area.hideSelectsUnderneath=function(){window.setTimeout(function(){booking.utils.ie.hideIntersectingElements(d.area,booking.selects)},250)};d.draggableObject=new google.maps.DraggableObject(d.area);if(gClientIsIElte6){booking.selects=document.getElementsByTagName("select");for(f=0;f<booking.selects.length;f++){booking.selects[f].style.position="relative"}google.maps.Event.addDomListener(d.draggableObject,"drag",d.area.hideSelectsUnderneath);google.maps.Event.addDomListener(window,"resize",d.area.hideSelectsUnderneath)}if(d.SHOW_INFOWINDOW_ON_SHOWMAP_LINK_MOUSEOVER){for(f=0;f<d.showMapAnchors.length;f++){e=d.showMapAnchors[f];if(e.itemId){e.mouseoverHandle=google.maps.Event.addDomListener(e,"mouseover",d.setSubject)}}}if(d.load.handle){google.maps.Event.removeListener(d.load.handle)}d.load.executed=true;if(d.obj&&g.link_specific_zoom_level){d.obj.setZoom(g.link_specific_zoom_level)}google.maps.Event.addDomListener(window,"unload",google.maps.Unload)}},initialize:function(c,e){var d,b,f,a;c.showMapAnchors=booking.utils.dom.getElementsByClassName("show_map",document);for(d=0;d<c.showMapAnchors.length;d++){b=c.showMapAnchors[d];if(b.id&&(b.id.substring("show_id")!==-1)){b.itemId=b.id.split("show_id")[1]}b.clickHandle=$(b).click(function(g){if(this.getAttribute&&this.getAttribute("rel")){booking.env.link_specific_zoom_level=parseInt(this.getAttribute("rel"))}else{booking.env.link_specific_zoom_level=14}c.display(g)});b.href=c.JS_VOID_URL;if(window.location.href.indexOf("map=1")!=-1&&b.getAttribute("id")=="show_map"){$(b).click()}}if(c.LOAD_MAP_ON_WINDOW_LOAD){c.loadAPI();c.display.initialize(c)}if(c.MAP_PREVIEW_THUMBNAIL_IS_REAL_MAP){if(!c.load.executed){c.loadAPI()}}},drawCircle:function(){var circleCenter=this.center,points=Array(),opacity=0.2,radius=booking.map.searchRadius*1000;with(Math){var d=radius/6378800;var lat1=(PI/180)*circleCenter.lat();var lng1=(PI/180)*circleCenter.lng();for(var a=0;a<361;a+=10){var tc=(PI/180)*a;var y=asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc));var dlng=atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(y));var x=((lng1-dlng+PI)%(2*PI))-PI;var point=new GLatLng(parseFloat(y*(180/PI)),parseFloat(x*(180/PI)));points.push(point)}}booking.map.circle=new GPolygon(points,"#0000ff",1,1,"#0000ff",0.2);booking.map.circletype="opaque";if(this.circleFitsMap()===false){booking.map.circle=new GPolygon(points,"#0000ff",1,1,"#0000ff",0);booking.map.circletype="transparent"}booking.map.obj.addOverlay(booking.map.circle)},circleFitsMap:function(){var a=booking.map.obj.getBoundsZoomLevel(booking.map.circle.getBounds());if(booking.map.obj.getZoom()>a){return false}else{return true}}};booking.map.BuildInfoWindow=function(a){this.item_=a};booking.map.BuildInfoWindow.prototype.it=function(){google.maps.Event.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=google.maps.Event.addDomListener(this.item_.marker,"mouseover",function(){this.infoWindow.show();if(typeof(booking.google.mapTracker)!="undefined"){booking.env.last_map_popup_type=this.infoWindow._record.b_type;booking.google.trackEvent(booking.google.mapTracker,"Popup: "+booking.env.last_map_popup_type,document.body.id)}});this.item_.mouseoutHandle=google.maps.Event.addDomListener(this.item_.marker,"mouseout",function(){this.infoWindow.hide()});google.maps.Event.trigger(this.item_.marker,"mouseover")};booking.Go=function(a){this.url_=a};booking.Go.prototype.to=function(){if(typeof(booking.google.mapTracker)!="undefined"){booking.google.trackEvent(booking.google.mapTracker,"Icon clicked: "+booking.env.last_map_popup_type,document.body.id)}document.location=this.url_};booking.map.display.clear=function(){if(booking.map.display.subject){google.maps.Event.trigger(booking.map.display.subject.marker,"mouseout");booking.map.display.subject=""}};booking.map.display.initialize=function(a){booking.map.featMap.style.display="block";if(booking.env.b_action=="searchresults"){booking.hotelsMatchingCriteria.load()}booking.promotions.process();a.display.initialized=true;a.obj.enableDragging();a.obj.checkResize();a.computeZoom(a,a.obj);a.setCenter();a.zoom.normal=a.obj.getZoom();a.addControls()};booking.map.Legend.Entry=function(c,b,a){this.tr={_this:this,"@class":c,td:{"@class":"b_maps_legend_marker",img:{"@src":this.constructImageSrcAttributeValue(b)}},th:{"#text":a}}};booking.map.Legend.Entry.prototype.constructImageSrcAttributeValue=function(a){return booking.map.MARKER_PATH_PREFIX+"/"+a};booking.map.Div.prototype.initialize=function(a){a.main=this.div._node;a.area=this.div.div._node;a.handle=this.div.div.h2._node;a.close_map=this.div.div.h2.a._node;a.container=this.div.div.div[0]._node;a.legend=booking.map.SHOW_LEGEND?this.div.div.div[0].div[1]._node:null;a.parent=this.div.div.div[0].div[0]._node;a.shadow=this.div.div.div[1]._node;a.showMap=document.getElementById("showMap");a.show_map=document.getElementById("show_map");a.thumbnail=document.getElementById("b_google_map_thumbnail")};booking.map.buildSubclassesOfGoogleClasses=function(){booking.map.InfoWindow2=function(a,b){this._record=a;this.div={"@class":"BInfoWindow below",h3:{},p:{}};if(a){this.div["@id"]=a.id;this.div["@class"]+=(" "+a.icon_type);if(a.b_class){if(a.b_class_is_estimated=="1"){this.div.h3.img={"@src":booking.map.MARKER_PATH_PREFIX+"/icons/circles/"+a.b_class+"sterren-small5.png","@alt":"Self-rated: "+a.b_class}}else{this.div.h3.img={"@src":booking.map.MARKER_PATH_PREFIX+"/icons/stars/"+a.b_class+"sterren-small.png","@alt":a.b_class+" "+(a.b_class==1?b.star:b.stars)}}}if(a.b_image_url){this.div.p.img={"@src":a.b_image_url,"@alt":"thumbnail photograph"}}if(a.b_type=="hotel"){this.div.h3["#text"]=a.title;this.div.p["#text"]=a.b_description}else{this.div.h3["#text"]=a.title;this.div.h3.span={"@class":"subhead",br:{},"#text":a.subhead};if(a.b_hotelcount){this.div.p["#text"]=a.b_hotelcount+" "+(a.b_hotelcount==1?b.map_hotel:b.map_hotels)}else{delete this.div.p}}}};booking.map.InfoWindow2.prototype=new google.maps.Overlay();booking.map.InfoWindow2.prototype.initialize=function(a){this._map=a;booking.utils.buildHtmlNode(this,a.getPane(google.maps.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(a){if(!a){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 f=this._map.fromLatLngToDivPixel(this._record.latLng),d="auto",g=booking.map.iconTypes[this._record.icon_type],c=document.defaultView?document.defaultView:false,i=c?parseFloat(c.getComputedStyle(this.div._node,null).width)/2:Math.round(this.div._node.offsetWidth/2),m=c?parseFloat(c.getComputedStyle(this.div._node,null).height):this.div._node.offsetHeight,k,e,b=new google.maps.Bounds(),h=0,l=this.div.p?this.div.p._node.lastChild:null,j=f.y+g.infoWindowAnchor.y-g.iconAnchor.y;if(booking.map.display.subject){var n=booking.map.obj.getSize();k=new google.maps.Point(f.x+(n.width/2),f.y-(n.height/2));e=new google.maps.Point(f.x-(n.width/2),f.y+(n.height/2))}else{var a=this._map.getBounds();k=this._map.fromLatLngToDivPixel(a.getNorthEast());e=this._map.fromLatLngToDivPixel(a.getSouthWest())}b.minY=k.y+booking.map.MARGIN_TOP;b.maxX=k.x-booking.map.MARGIN_RIGHT;b.maxY=e.y-booking.map.MARGIN_BOTTOM;b.minX=e.x+booking.map.MARGIN_LEFT;if(this.div.p&&this.div.p._node.childNodes.length>3){while(this.div.p._node.childNodes.length>3){this.div.p._node.removeChild(this.div.p._node.lastChild)}m=c?parseFloat(c.getComputedStyle(this.div._node,null).height):this.div._node.offsetHeight;booking.utils.addClass(this.div._node,"truncated");l=this.div.p._node.lastChild}if(j+m>b.maxY){if(f.y>((b.maxY-b.minY)/2)){j=f.y-g.infoWindowAnchor.y-m;booking.utils.removeClass(this.div._node,"below");booking.utils.addClass(this.div._node,"above")}}this.div._node.style.top=j+=booking.CSS.units.px;if(f.x+i>b.maxX){d=b.maxX-(i*2)-5}else{if(f.x-i<b.minX){d=b.minX}else{d=f.x-i}}this.div._node.style.left=d+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.Marker=function(b,a){this.latlng=b;this.icon_type=a.icon.icon_type.replace("-","_");google.maps.Marker.apply(this,arguments)};booking.map.Marker.prototype=new google.maps.Marker(new google.maps.LatLng(0,0));booking.map.Marker.prototype.initialize=function(a){google.maps.Marker.prototype.initialize.call(this,a)};booking.map.Marker.prototype.redraw=function(a){google.maps.Marker.prototype.redraw.call(this,a);this.increaseZIndex()};booking.map.Marker.prototype.determineImgNodePropertyName=function(){booking.map.Marker.prototype.imgNodePropertyName=false;for(var a in this){if(this.hasOwnProperty(a)&&typeof this[a]==="object"&&this[a]&&this[a].nodeName&&this[a].nodeName.toLowerCase()==="img"){booking.map.Marker.prototype.imgNodePropertyName=a;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(a){if(this.getStyleObject()){this.getStyleObject().zIndex=a}};booking.map.Marker.prototype.increaseZIndex=function(a){if(a){this.setZIndex(parseInt(this.getZIndex(),10)+a)}else{this.setZIndex(parseInt(this.getZIndex(),10)+booking.map.iconTypes[this.icon_type].zOrder)}};booking.map.Marker.prototype.decreaseZIndex=function(a){if(a){this.setZIndex(parseInt(this.getZIndex(),10)-a)}else{this.setZIndex(parseInt(this.getZIndex(),10)-booking.map.iconTypes[this.icon_type].zOrder)}};booking.map.Marker.prototype.remove=function(a){google.maps.Marker.prototype.remove.call(this)};booking.map.Icon=function(a){if(!a){a={}}this.icon_type=a.icon_type?a.icon_type:this.icon_type;if(a.image){this.image=a.image}else{this.image=booking.map.MARKER_PATH_PREFIX+"/marker-"+this.icon_type+".png"}this.shadow=a.shadow?a.shadow:this.shadow;this.iconSize=a.iconSize?a.iconSize:this.iconSize;this.shadowSize=a.shadowSize?a.shadowSize:this.shadowSize;this.iconAnchor=a.iconAnchor?a.iconAnchor:this.iconAnchor;this.infoWindowAnchor=a.infoWindowAnchor?a.infoWindowAnchor:(this.infoWindowAnchor?this.infoWindowAnchor:this.iconAnchor);this.printImage=a.printImage?a.printImage:(this.printImage?this.printImage:this.image);this.mozPrintImage=a.mozPrintImage?a.mozPrintImage:(this.mozPrintImage?this.mozPrintImage:this.image);this.printShadow=a.printShadow?a.printShadow:(this.printShadow?this.printShadow:this.shadow);this.transparent=a.transparent?a.transparent:this.transparent;this.imageMap=a.imageMap?a.imageMap:this.imageMap;this.maxHeight=a.maxHeight?a.maxHeight:this.maxHeight;this.dragCrossImage=a.dragCrossImage?a.dragCrossImage:this.dragCrossImage;this.dragCrossSize=a.dragCrossSize?a.dragCrossSize:this.dragCrossSize;this.dragCrossAnchor=a.dragCrossAnchor?a.dragCrossAnchor:this.dragCrossAnchor};booking.map.Icon.prototype=new google.maps.Icon();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 google.maps.Size(17,20);booking.map.Icon.prototype.shadowSize=new google.maps.Size(28,20);booking.map.Icon.prototype.iconAnchor=new google.maps.Point(8.5,20);booking.map.Icon.prototype.infoWindowAnchor=new google.maps.Point(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 google.maps.Size(0,0);booking.map.Icon.prototype.dragCrossAnchor=new google.maps.Point(0,0);booking.map.SmallIcon=function(a){if(a){if(a.icon_type){this.icon_type=a.icon_type}if(a.image){this.image=a.image}if(a.iconSize){this.iconSize=a.iconSize}if(a.shadow){this.shadow=a.shadow}if(a.shadowSize){this.shadowSize=a.shadowSize}}};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 google.maps.Size(9,9),shadowSize:new google.maps.Size(15,12),iconAnchor:new google.maps.Point(4.5,4.5),infoWindowAnchor:new google.maps.Point(4.5,9)});booking.map.LargeIcon=function(a){if(a){if(a.icon_type){this.icon_type=a.icon_type}if(a.image){this.image=a.image}if(a.iconSize){this.iconSize=a.iconSize}if(a.shadow){this.shadow=a.shadow}if(a.shadowSize){this.shadowSize=a.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 google.maps.Size(26,27),shadowSize:new google.maps.Size(40,27),iconAnchor:new google.maps.Point(13,27),infoWindowAnchor:new google.maps.Point(13,27)})};booking.ensureNamespaceExists("promotions");booking.promotions.process=function(){for(var b in booking.promotions){if(booking.promotions.hasOwnProperty(b)&&(typeof booking.promotions[b]=="object")){var a=booking.promotions[b];if(!a.latLng){a.latLng=new google.maps.LatLng(a.b_latitude,a.b_longitude);delete a.b_latitude;delete a.b_longitude}if(!booking.promotions[b].marker){if(a.b_image_url){a.b_image_url=a.b_image_url.replace("square90","square60")}if(a.b_type==="hotel"&&booking.env.b_action==="searchresults"){if(booking.hotelsMatchingCriteria[b]){if(a.b_hotel_id==booking.map.display.itemId){a.icon_type="hotel_current"}else{a.icon_type="hotel_matching_criteria"}}else{a.icon_type="hotel_not_matching_criteria"}}booking.map.buildMarker(a);booking.map.markers.push(a.marker)}}}};$(window).load(function(c){var a=booking,e=a.map,d=a.event,f=a.env;if(f.s_raw_param_map_mode){e.display_mode=f.s_raw_param_map_mode}else{e.display_mode=e.DEFAULT_DISPLAY_MODE}switch(e.display_mode){case 2:e.MAP_PREVIEW_THUMBNAIL_IS_REAL_MAP=true;break;case 3:e.MAP_PREVIEW_THUMBNAIL_IS_REAL_MAP=true;e.LOAD_MAP_ON_WINDOW_LOAD=true;e.LOAD_MAP_HIDDEN=true;break;case 4:break;case 5:e.LOAD_MAP_ON_WINDOW_LOAD=true;e.LOAD_MAP_HIDDEN=true;break;case 6:break;case 7:e.USE_CENTER_FROM_ACTION=true;e.USE_ZOOM_FROM_ACTION=true;break}if(f.setvar_show_google_maps&&!gClientIsIE5){e.initialize(e,a.env);if(e.display_mode===2||e.display_mode===3){d.normalizeExplorerEventObject(c);e.display(c)}else{if(gClientIsIE){$("#b_google_map_thumbnail").click(function(b){d.normalizeExplorerEventObject(b);e.display(b)})}}}});if(gClientIsIE55){booking.google.AjaxApiLoader.load("booking.map.loadGoogleMapsAPI")};
