﻿function ClusterMarker(b,a){this._map=b;this._mapMarkers=[];this._iconBounds=[];this._clusterMarkers=[];this._eventListeners=[];if(typeof(a)==="undefined"){a={}}this.borderPadding=(a.borderPadding)?a.borderPadding:256;this.clusteringEnabled=(a.clusteringEnabled===false)?false:true;if(a.clusterMarkerClick){this.clusterMarkerClick=a.clusterMarkerClick}if(a.clusterMarkerOver){this.clusterMarkerOver=a.clusterMarkerOver}if(a.clusterMarkerOut){this.clusterMarkerOut=a.clusterMarkerOut}if(a.clusterMarkerIcon){this.clusterMarkerIcon=a.clusterMarkerIcon}else{this.clusterMarkerIcon=new GIcon();this.clusterMarkerIcon.image="http://maps.google.com/mapfiles/arrow.png";this.clusterMarkerIcon.iconSize=new GSize(39,34);this.clusterMarkerIcon.iconAnchor=new GPoint(9,31);this.clusterMarkerIcon.infoWindowAnchor=new GPoint(9,31);this.clusterMarkerIcon.shadow="http://www.google.com/intl/en_us/mapfiles/arrowshadow.png";this.clusterMarkerIcon.shadowSize=new GSize(39,34)}this.clusterMarkerTitle=(a.clusterMarkerTitle)?a.clusterMarkerTitle:"Click to zoom in and see %count markers";if(a.fitMapMaxZoom){this.fitMapMaxZoom=a.fitMapMaxZoom}this.intersectPadding=(a.intersectPadding)?a.intersectPadding:0;if(a.markers){this.addMarkers(a.markers)}GEvent.bind(this._map,"moveend",this,this._moveEnd);GEvent.bind(this._map,"zoomend",this,this._zoomEnd);GEvent.bind(this._map,"maptypechanged",this,this._mapTypeChanged)}ClusterMarker.prototype.addMarkers=function(b){var a;if(!b[0]){var c=[];for(a in b){c.push(b[a])}b=c}for(a=b.length-1;a>=0;a--){b[a]._isVisible=false;b[a]._isActive=false;b[a]._makeVisible=false}this._mapMarkers=this._mapMarkers.concat(b)};ClusterMarker.prototype._clusterMarker=function(b){function a(n,i,k){var m=0;if(k>=2&&k<5){m=2}else{if(k>=5&&k<10){m=5}else{if(k>=10&&k<25){m=10}else{if(k>=25&&k<50){m=25}else{m=50}}}}var l=new GIcon(G_DEFAULT_ICON);l.image="/images/map/icons/cluster"+m+".png";l.hover="/images/map/icons/cluster"+m+"_hover.png";l.iconSize=new GSize(26,46);l.iconAnchor=new GPoint(13,44);return new CMarker(n,-1,{Icon:l,Title:window.Translate.ClusterCount(k),FlagOffset:2})}var h=new GLatLngBounds(),d,e,g=[],j,f=this,c=this._mapMarkers;for(d=b.length-1;d>=0;d--){j=c[b[d]];j.index=b[d];h.extend(j.getLatLng());g.push(j)}e=a(h.getCenter(),this.clusterMarkerIcon,b.length);e.clusterGroupBounds=h;this._eventListeners.push(GEvent.addListener(e,"click",function(){f.clusterMarkerClick({clusterMarker:e,clusteredMarkers:g})}));e._childIndexes=b;for(d=b.length-1;d>=0;d--){c[b[d]]._parentCluster=e}return e};ClusterMarker.prototype.clusterMarkerClick=function(a){this._map.setCenter(a.clusterMarker.getLatLng(),this._map.getBoundsZoomLevel(a.clusterMarker.clusterGroupBounds))};ClusterMarker.prototype._filterActiveMapMarkers=function(){var k=this.borderPadding,j=this._map.getZoom(),q=this._map.getCurrentMapType().getProjection(),o,c,m,h,n,d,b=this._map.getBounds(),f,p,e=[],l,a=this._mapMarkers,g=this._iconBounds;if(k){o=q.fromLatLngToPixel(b.getSouthWest(),j);c=new GPoint(o.x-k,o.y+k);m=q.fromPixelToLatLng(c,j);h=q.fromLatLngToPixel(b.getNorthEast(),j);n=new GPoint(h.x+k,h.y-k);d=q.fromPixelToLatLng(n,j);b.extend(m);b.extend(d)}this._activeMarkersChanged=false;if(typeof(g[j])==="undefined"){this._iconBounds[j]=[];this._activeMarkersChanged=true;for(f=a.length-1;f>=0;f--){p=a[f];p._isActive=b.containsLatLng(p.getLatLng())?true:false;p._makeVisible=p._isActive;if(p._isActive){e.push(f)}}}else{for(f=a.length-1;f>=0;f--){p=a[f];l=p._isActive;p._isActive=b.containsLatLng(p.getLatLng())?true:false;p._makeVisible=p._isActive;if(!this._activeMarkersChanged&&l!==p._isActive){this._activeMarkersChanged=true}if(p._isActive&&typeof(g[j][f])==="undefined"){e.push(f)}}}return e};ClusterMarker.prototype._filterIntersectingMapMarkers=function(){var e,d,b,a=this._map.getZoom(),f=this._mapMarkers,c=this._iconBounds;for(d=f.length-1;d>0;d--){if(f[d]._makeVisible){e=[];for(b=d-1;b>=0;b--){if(f[b]._makeVisible&&c[a][d].intersects(c[a][b])){e.push(b)}}if(e.length!==0){e.push(d);for(b=e.length-1;b>=0;b--){f[e[b]]._makeVisible=false}this._clusterMarkers.push(this._clusterMarker(e))}}}};ClusterMarker.prototype.fitMapToMarkers=function(){var d=this._mapMarkers,c=new GLatLngBounds(),b;for(b=d.length-1;b>=0;b--){c.extend(d[b].getLatLng())}var a=this._map.getBoundsZoomLevel(c);a-=2;if(this.fitMapMaxZoom&&a>this.fitMapMaxZoom){a=this.fitMapMaxZoom}this._map.setCenter(c.getCenter(),a);this.refresh()};ClusterMarker.prototype._mapTypeChanged=function(){this.refresh(true)};ClusterMarker.prototype._moveEnd=function(){if(!this._cancelMoveEnd){this.refresh()}else{this._cancelMoveEnd=false}};ClusterMarker.prototype._preCacheIconBounds=function(c,h){var n=this._map.getCurrentMapType().getProjection(),g,o,e,a,j,l,f,k,d,m=this.intersectPadding,b=this._mapMarkers;for(g=c.length-1;g>=0;g--){o=b[c[g]];e=o.getIcon().iconSize;a=n.fromLatLngToPixel(o.getLatLng(),h);j=o.getIcon().iconAnchor;l=new GPoint(a.x-j.x-m,a.y-j.y+e.height+m);f=new GPoint(a.x-j.x+e.width+m,a.y-j.y-m);k=n.fromPixelToLatLng(l,h);d=n.fromPixelToLatLng(f,h);this._iconBounds[h][c[g]]=new GLatLngBounds(k,d)}};ClusterMarker.prototype.refresh=function(d){var c,b,e=this._map.getZoom(),a=this._filterActiveMapMarkers();if(this._activeMarkersChanged||d){this._removeClusterMarkers();if(this.clusteringEnabled&&e<this._map.getCurrentMapType().getMaximumResolution()){if(a.length>0){this._preCacheIconBounds(a,e)}this._filterIntersectingMapMarkers()}for(c=this._clusterMarkers.length-1;c>=0;c--){this._map.addOverlay(this._clusterMarkers[c])}for(c=this._mapMarkers.length-1;c>=0;c--){b=this._mapMarkers[c];if(!b._isVisible&&b._makeVisible){this._map.addOverlay(b);b._isVisible=true}if(b._isVisible&&!b._makeVisible){this._map.removeOverlay(b);b._isVisible=false}}}};ClusterMarker.prototype._removeClusterMarkers=function(){var d,b,g=this._map,a=this._eventListeners,f=this._clusterMarkers,c,e=this._mapMarkers;for(d=f.length-1;d>=0;d--){c=f[d]._childIndexes;for(b=c.length-1;b>=0;b--){delete e[c[b]]._parentCluster}g.removeOverlay(f[d])}for(d=a.length-1;d>=0;d--){GEvent.removeListener(a[d])}this._clusterMarkers=[];this._eventListeners=[]};ClusterMarker.prototype.removeMarkers=function(){var a,b=this._mapMarkers,c=this._map;for(a=b.length-1;a>=0;a--){if(b[a]._isVisible){c.removeOverlay(b[a])}delete b[a]._isVisible;delete b[a]._isActive;delete b[a]._makeVisible}this._removeClusterMarkers();this._mapMarkers=[];this._iconBounds=[]};ClusterMarker.prototype.triggerClick=function(h){var k=this._mapMarkers[h];if(k._isVisible){GEvent.trigger(k,"click")}else{if(k._isActive){var f=k._parentCluster._childIndexes,b=true,c,d,g=this._map.getZoom(),j,e=this._iconBounds,a=this._map.getCurrentMapType().getMaximumResolution();while(b&&g<a){b=false;g++;if(typeof(e[g])==="undefined"){e[g]=[];this._preCacheIconBounds(f,g)}else{c=[];for(d=f.length-1;d>=0;d--){if(typeof(e[g][f[d]])==="undefined"){c.push(f[d])}}if(c.length>=1){this._preCacheIconBounds(c,g)}}for(d=f.length-1;d>=0;d--){j=f[d];if(j!==h&&e[g][j].intersects(e[g][h])){b=true;break}}}this._map.setCenter(k.getLatLng(),g);this.triggerClick(h)}else{this._map.setCenter(k.getLatLng());this.triggerClick(h)}}};ClusterMarker.prototype._zoomEnd=function(){this._cancelMoveEnd=true;this.refresh(true)};
GControl.prototype.Hide=function(){this.Hidden=true;$(this.Container).hide()};GControl.prototype.Show=function(){this.Hidden=false;$(this.Container).show()};GControl.prototype.Toggle=function(){this.Hidden=($(this.Container).toggle().css("display")=="none");return this.Hidden};function NavControl(){}NavControl.prototype=new GControl();NavControl.prototype.initialize=function(c){this.Map=c;this.Container=document.createElement("div");this.Container.className="GMapNavPan png";var a=[];a.push('<div class="Ctrl Up"></div>');a.push('<div class="Ctrl Left"></div>');a.push('<div class="Ctrl Right"></div>');a.push('<div class="Ctrl Down"></div>');a.push('<div class="Zoom png"></div>');a.push('<div class="Ctrl In"></div>');a.push('<div class="Ctrl Out"></div>');$(this.Container).html(a.join(""));c.getContainer().appendChild(this.Container);var b=this;$(this.Container).find(".Up").click(function(){b.Map.panDirection(0,1)}).end().find(".Down").click(function(){b.Map.panDirection(0,-1)}).end().find(".Left").click(function(){b.Map.panDirection(1,0)}).end().find(".Right").click(function(){b.Map.panDirection(-1,0)}).end().find(".In").click(function(){b.Map.zoomIn()}).end().find(".Out").click(function(){b.Map.zoomOut()});return this.Container};NavControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(10,10))};NavControl.prototype.printable=function(){return false};NavControl.prototype.selectable=function(){return false};function WeatherWindow(){this.CurrentIndex=0;this.Json=null}WeatherWindow.prototype=new GControl();WeatherWindow.prototype.initialize=function(c){var b=this;this.Map=c;this.Container=document.createElement("div");c.getContainer().appendChild(this.Container);this.Container.className="GMapWeatherWin";var a=[];a.push('<div class="Head"><div></div><span>00:00-06:00</span><span>06:00-12:00</span><span>12:00-18:00</span><span>18:00-00:00</span></div>');a.push('<div class="Prev"><img src="/images/map/gui/nav_left.png" /></div><div class="Next"><img src="/images/map/gui/nav_right.png" /></div><div class="Close"></div>');a.push('<div class="Container"></div>');a.push('<a href="" target="_blank" class="LinkYR"></a>');$(this.Container).css("display","none").html(a.join(""));$(this.Container).find(".Prev").click(function(){b.CurrentIndex-=1;b.Render()});$(this.Container).find(".Next").click(function(){b.CurrentIndex+=1;b.Render()});$(this.Container).find(".Close").click(function(){b.Hide()});return this.Container};WeatherWindow.prototype.Load=function(){var a=this;var b=this.Map.getCenter();this.CurrentIndex=0;$(this.Container).find(".Container").empty();$(this.Container).loaderShow();window.AjaxMgr.ReqJSON("/ajax/yr/data.ashx",{a:"getlocationweather",lat:b.lat(),lng:b.lng()},false,function(c){a.Load_Callback(c)},null)};WeatherWindow.prototype.Load_Callback=function(a){$(this.Container).loaderHide();this.Json=a;this.Render()};WeatherWindow.prototype.Render=function(){if(this.CurrentIndex<=0){this.CurrentIndex=0}if(this.CurrentIndex>4){this.CurrentIndex=4}var e=this.Json;date=new Date().add("d",this.CurrentIndex);var a=$(this.Container);a.find(".Head").children("div").html(window.Translate.Days[date.getDay()]);a.find("a.LinkYR").attr("href",e.Url).text(e.Txt);var d=[];d.push('<div class="Location ThemeColor"><div><span>'+e.Location+"</span></div></div>");for(var b=0;b<(4-e.Day[this.CurrentIndex].length);b++){d.push('<div class="Empty"></div>')}for(var c=0;c<e.Day[this.CurrentIndex].length;c++){d.push('<div class="Prognosis Content" style="background-image:url(/images/yr/icons/'+e.Day[this.CurrentIndex][c].Symbol+'.png);"><span class="Temp">'+e.Day[this.CurrentIndex][c].Temp+'&deg;C</span><div class="Wind"><span>'+e.Day[this.CurrentIndex][c].WindSpd+" m/s</span></div></div>")}a.find(".Container").html(d.join(""))};WeatherWindow.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(10,10))};WeatherWindow.prototype.printable=function(){return true};WeatherWindow.prototype.selectable=function(){return false};function ErrorControl(a){this.Message=a}ErrorControl.prototype=new GControl();ErrorControl.prototype.initialize=function(a){var b=document.createElement("div");b.className="GMapCtrlError";b.style.position="absolute";b.style.width="175px";b.innerHTML=this.Message;a.getContainer().appendChild(b);return b};ErrorControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(5,5))};ErrorControl.prototype.printable=function(){return false};ErrorControl.prototype.selectable=function(){return false};function WindowControl(){this.Container=document.createElement("div");this.Container.className="GMapWindow";this.LastId=-1}WindowControl.prototype=new GControl();WindowControl.prototype.initialize=function(a){a.getContainer().appendChild(this.Container);$(this.Container).setTemplateURL("/Ajax/Templates/GoogleMapProduct.aspx?l="+window.Settings.Lang+"&usr="+window.AjaxMgr.GetBaseToolUser()+"&p="+window.Settings.ProductPageUrl);return this.Container};WindowControl.prototype.Load=function(b){if(b!=this.LastId){var a=this;$(this.Container).empty();this.Show();$(this.Container).loaderShow();window.AjaxMgr.ReqJSON("/Ajax/BaseTool/Map.ashx",{actn:"getprod",id:b,l:window.Settings.Lang},true,function(c){a.Load_Callback(c)},null);this.LastId=b}else{this.Show()}};WindowControl.prototype.Load_Callback=function(a){var b=this;$(this.Container).processTemplate(a,"GoogleMapProduct");$(this.Container).find(".GMapWindowClose").bind("click",function(){$(b.Container).hide()});$(this.Container).find("#LinkRoute").bind("click",function(){b.Hide();$(b).trigger({type:"OnRouteCreate",LatLng:new GLatLng(a.Lat,a.Lng),MarkerId:a.Id})});$(this.Container).find("#FavLink").click(function(){$(this).text(window.Translate.FavouriteSaved).css("background-image","none")});$(this.Container).loaderHide()};WindowControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(110,40))};WindowControl.prototype.printable=function(){return true};WindowControl.prototype.selectable=function(){return true};function SearchControl(){this.RouteMode=1;this.SearchParams={Categories:[],Sites:[]}}SearchControl.prototype=new GControl();SearchControl.prototype.initialize=function(b){var a=this;this.Container=document.createElement("div");$(this.Container).addClass("GMapSearch");$.getJSON(window.AjaxMgr.GetAjaxBasetoolUrl("/Ajax/BaseTool/Map.ashx"),{actn:"cat",l:window.Settings.Lang},function(c){a.Category_Callback(c)});b.getContainer().appendChild(this.Container);return this.Container};SearchControl.prototype.SetHeight=function(a){$(this.Container).height(a)};SearchControl.prototype.Category_Callback=function(c){var d=this;var b=[];b.push('<div class="Accord">');b.push('<div class="Top"><input type="text" id="txtMapQuery" onfocus="this.select();" /> <img id="btnMapSearch" src="/images/map/icons/search_glas.png" alt="'+window.Translate.Search+'" /></div>');b.push('<ul class="Accordion">');for(var a=0;a<c.length;a++){b.push('<li class="Lvl1" style="background-image:url(/images/map/gui/searchcontrol_head_cat'+c[a].Id+'.png);"><a href="javascript://Nada" class="AccordItem">'+c[a].Name+"</a>");if(c[a].Subs.length>0){this.GenerateBranch(c[a].Subs,c[a],b,2)}b.push("</li>")}b.push('<li class="Lvl1" style="background-image:url(/images/map/gui/searchcontrol_head.png);"><a class="AccordItem" href="javascript://;">'+window.Translate.Advanced+'</a><div class="GMapSearchBody"><label><input type="checkbox" id="cbMapBooking" /><span>'+window.Translate.BookingOnly+'</span></label><label><input type="checkbox" id="cbMapTdb" /><span>'+window.Translate.Tdb+"</span></label></div></li>");b.push('<li class="Back" style="display:none;"><span>'+window.Translate.Back+"</span></li>");b.push("</ul>");b.push('<div class="Bottom"><a href="javascript://Route" id="btnMapRoute">'+window.Translate.RouteCreate+"</a></div>");b.push("</div>");$(this.Container).html(b.join(""));$(this.Container).find("a.Switch").bind("click",function(f){var g=$(f.target).attr("id").split("_");d.Search_Click(f,{Category:parseInt(g[1])})});$(this.Container).find(":checkbox").bind("click",function(f){d.Search_Click()});$(this.Container).find("#btnMapSearch").bind("click",function(f){f.preventDefault();d.Search_Click();return false});$(this.Container).find("#btnMapRoute").bind("click",function(f){f.preventDefault();d.Routing_Click();return false});$(this.Container).find("li.Back").data("AccordItem",[]);$(this.Container).find("ul.Accordion").accordion();$(this.Container).find("ul.Accordion").bind("Click",function(j){var g=$(this).children("li.Back");if($(j.Item).siblings("ul, div").css("display")=="block"){g.data("AccordItem").push(j.Item);$(j.Item).parent().siblings("li:not(.Back)").slideUp("slow").end().siblings("li.Back").show()}else{var i=$(j.Item).parent();i.find("ul").hide().find("li").show().end().end().siblings().slideDown();var h=parseInt(i[0].className.substr(3))-1;if(g.length>0){var f=g.data("AccordItem").length;for(a=f;a>=h;a--){g.data("AccordItem").Remove(a)}if(g.data("AccordItem").length==0){g.hide()}}}});$(this.Container).find("li.Back").bind("click",function(){$($(this).data("AccordItem").pop()).parent().children("ul, div").hide().end().siblings("li").slideDown();if($(this).data("AccordItem").length==0){$(this).hide()}})};SearchControl.prototype.GenerateBranch=function(e,d,c,b){c.push("<ul>");if(b==2){c.push('<li class="Lvl2"><span>'+window.Translate.MapCat(d.Id)+'</span><a href="javascript://" class="Switch" id="GMapCat_'+d.Id+'"></a></li>')}for(var a=0;a<e.length;a++){c.push('<li class="Lvl'+b+'">');if(e[a].Subs){c.push('<a href="javascript://'+e[a].Name+'" class="AccordItem">'+e[a].Name+"</a>")}else{c.push("<span>"+e[a].Name+"</span>")}c.push('<a href="javascript://" class="Switch" id="GMapCat_'+e[a].Id+'"></a>');if(e[a].Subs){this.GenerateBranch(e[a].Subs,e[a],c,b+1)}c.push("</li>")}c.push("</ul>")};SearchControl.prototype.Search_Click=function(f){var c=true;this.SearchParams.Query=$(this.Container).find("#txtMapQuery").val();this.SearchParams.Bookable=$(this.Container).find("#cbMapBooking:checked").length>0;this.SearchParams.Tdb=$(this.Container).find("#cbMapTdb:checked").length>0;if(arguments.length>1&&arguments[1].Category){var a=this.SearchParams.Categories.Find(arguments[1].Category);if(a==-1){var d=$(f.target).parent().parent().closest("li.active");if(!d.data("checked")){this.SearchParams.Categories.push(arguments[1].Category);$(f.target).css("background-position","left bottom").parent().data("checked",true).children("ul").find("a.Switch").css("background-position","left -14px");d.children("a.Switch").css("background-position","left -14px")}else{c=false}}else{this.SearchParams.Categories.Remove(a);var d=$(f.target).parent().parent().closest("li.active");var b=false;$(f.target).css("background-position","left top").parent().data("checked",false).siblings("li").each(function(){if($(this).data("checked")==true){b=true}});if(!b){d.find("a.Switch").css("background-position","left top")}}}if(c){$(this).trigger({type:"OnSearch",Params:this.SearchParams})}};SearchControl.prototype.SetMode=function(a){this.RouteMode=a;if(a==2){$(this.Container).find("#btnMapRoute").removeClass("RouteEnabled").addClass("RouteRunning").text(window.Translate.RouteCommit)}else{$(this.Container).find("#btnMapRoute").removeClass("RouteRunning").addClass("RouteEnabled").text(window.Translate.RouteCreate)}};SearchControl.prototype.Routing_Click=function(){var a=this.RouteMode;if(this.RouteMode==2){this.SetMode(1)}$(this).trigger({type:"OnModeChanged",Mode:a})};SearchControl.prototype.Category_Click=function(a){$(this).trigger({type:"CategoryClick",CategoryId:a.data.CategoryId})};SearchControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(0,20))};SearchControl.prototype.printable=function(){return false};SearchControl.prototype.selectable=function(){return true};function MapTypeControl(){}MapTypeControl.prototype=new GControl();MapTypeControl.prototype.initialize=function(map){this.Container=document.createElement("div");this.Container.className="GMapTypes";$(this.Container).createAppend(["div",{id:"GMapType_NORMAL"},window.Translate.Map,"div",{id:"GMapType_SATELLITE"},window.Translate.MapSatellite,"div",{id:"GMapType_PHYSICAL"},window.Translate.MapTerrain]);map.getContainer().appendChild(this.Container);if($.browser.msie&&$.browser.version<=6){var bg=$(".GMapTypes div").eq(0).css("backgroundImage");bg=bg.substring(5,bg.length-2);$(".GMapTypes div").css({backgroundImage:"url(/images/blank.gif)",filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bg+"', sizingMethod='crop')"})}$(this.Container).find("div").bind("click",function(e){var tmp=$(e.target).attr("id").split("_");var type="G_"+tmp[1]+"_MAP";map.setMapType(eval(type))});return this.Container};MapTypeControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(110,10))};MapTypeControl.prototype.printable=function(){return false};MapTypeControl.prototype.selectable=function(){return false};function SingleButtonControl(a,b){this.CssClass=a;this.CaptionOn=b;this.CaptionOff=arguments.length>2&&typeof(arguments[2])=="string"?arguments[2]:null;this.Position=typeof(arguments[arguments.length-1])=="object"?arguments[arguments.length-1]:new GControlPosition(G_ANCHOR_TOP_RIGHT);this.Status=1;this.On=false}SingleButtonControl.prototype=new GControl();SingleButtonControl.prototype.initialize=function(b){var a=this;this.Container=document.createElement("div");$(this.Container).addClass("GMapSingleButton "+this.CssClass).bind("click",function(){a.Status=a.Status==1?0:1;$(a).trigger({type:"OnClick"});if(a.CaptionOff!=null){$(a.Container).html(a.Status==0?a.CaptionOff:a.CaptionOn)}}).html(this.CaptionOn);b.getContainer().appendChild(this.Container);return this.Container};SingleButtonControl.prototype.ToggleState=function(){this.On=$(this.Container).toggleClass("GMapSingleButtonOn").hasClass("GMapSingleButtonOn")};SingleButtonControl.prototype.getDefaultPosition=function(){return this.Position};SingleButtonControl.prototype.printable=function(){return false};SingleButtonControl.prototype.selectable=function(){return false};function ProgressControl(a){this.Time=a;this.Timer=null}ProgressControl.prototype=new GControl();ProgressControl.prototype.initialize=function(b){var a=this;this.Container=document.createElement("div");$(this.Container).addClass("GMapProgress");b.getContainer().appendChild(this.Container);return this.Container};ProgressControl.prototype.Run=function(){var a=this;window.clearTimeout(this.Timer);this.Show();this.Timer=window.setTimeout(function(){a.Hide()},this.Time)};ProgressControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_BOTTOM_RIGHT,new GSize(20,20))};ProgressControl.prototype.printable=function(){return false};ProgressControl.prototype.selectable=function(){return false};function MenuControl(){var b=this;this.PosTop=0;this.Container=document.createElement("div");var a=[];a.push("<ul>");a.push("<li><a href=\"javascript:window.TopContent.SetFlashContent('images');\">"+window.Translate.MapMenuImages+"</a>");a.push("</ul>");a.push('<div class="Bottom"><a href="#">'+window.Translate.Menu+"</a></div>");$(this.Container).addClass("GMapMenu").html(a.join("")).hide();$(this.Container).find(".Bottom a").click(function(){var c=parseInt($(b.Container).css("top"))==0?b.PosTop:0;$(b.Container).animate({top:c},500)})}MenuControl.prototype=new GControl();MenuControl.prototype.initialize=function(b){var a=this;b.getContainer().appendChild(this.Container);window.AjaxMgr.ReqJSON("/ajax/page.ashx",{actn:"mapmenu",pid:window.Settings.PageId,l:window.Settings.Lang},false,function(c){a.MapMenu_Callback(c)},null);return this.Container};MenuControl.prototype.MapMenu_Callback=function(c){$ul=$(this.Container).find("ul");$ul.find("li:gt(0)").remove();for(var b=0;b<c.length;b++){var a=c[b].Type;if(c[b].Index!=undefined){a+="_"+c[b].Index}$ul.createAppend("li",{className:"png"},["a",{href:"javascript:window.TopContent.SetFlashContent('"+a+"');"},c[b].Title])}this.PosTop=18-$(this.Container).height();$(this.Container).css("top",this.PosTop).show()};MenuControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(400,this.PosTop))};MenuControl.prototype.printable=function(){return false};MenuControl.prototype.selectable=function(){return false};
GMapFull.prototype=new GMapBase();GMapFull.prototype.constructor=GMapFull;GMapFull.prototype.Parent=GMapBase.prototype;GMapFull.prototype.Dispose=function(){this.Parent.Dispose.call(this);_Me=null};function GMapFull(B,n,h,e,w){var Q={Weather:false,Clustered:true,EnableSearch:true};$.extend(Q,w);var M=this;var m=1000;var K=document.getElementById(B);var O=new ErrorControl();var D=new WindowControl();var R=null,v=null;var f=true;var H;var F={Polyline:null,Stops:[],Steps:[]};var J=null;var g=null;var L=false;var d=null;var E={AreaId:1,Query:"",Categories:"",Sites:"",InBounds:true,Count:m,IsSearchable:function(){return(this.Query==""&&this.Categories=="")?false:true}};if(Q.Params){$.extend(E,Q.Params)}if(Q.Weather){R=new WeatherWindow();v=new SingleButtonControl("GMapTypes ThemeColor","<div>"+window.Translate.WeatherButton+"</div>",new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(277,10)))}this.Init(B,n,h,e,{Clustered:true,NavControl:new NavControl()});$(GMapFull.prototype).bind("OnMarkerClick",I);$(GMapFull.prototype).bind("OnPrint",S);$(GMapFull.prototype).bind("OnFullScreen",t);$(D).bind("OnRouteCreate",function(U){M.CreateRoute(U)});this.AddControl(D);D.Hide();if(Q.EnableSearch){var a=new SearchControl();$(a).bind("OnSearch",T);$(a).bind("OnModeChanged",c);this.AddControl(a)}var u=new SingleButtonControl("GMapClose ThemeColor png","<b>"+window.Translate.Close+"</b>");$(u).bind("OnClick",function(){if(M.GetIsFullScreen()){M.SwitchFullScreen()}else{window.TopContent.SwitchOnOff()}});this.AddControl(u);var A=new SingleButtonControl("GMapTypes","<div>"+window.Translate.Print+"</div>",new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(110,10)));$(A).bind("OnClick",function(){M.Print()});this.AddControl(A);var s=new SingleButtonControl("GMapTypes","<div>"+window.Translate.Fullscreen+"</div>","<div>"+window.Translate.Restore+"</div>",new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(193,10)));$(s).bind("OnClick",function(){M.SwitchFullScreen()});this.AddControl(s);var i=new MenuControl();this.AddControl(i);var N=new ProgressControl(3000);this.AddControl(N);GEvent.addListener(this.GetMap(),"dragend",function(){if(E.IsSearchable()){window.clearTimeout(d);N.Run();d=window.setTimeout(function(){l()},3000)}});GEvent.addListener(this.GetMap(),"zoomend",function(U,V){if(E.IsSearchable()&&V<U){window.clearTimeout(d);N.Run();d=window.setTimeout(function(){l()},3000)}});if(Q.Weather){this.AddControl(R);this.AddControl(v);$(v).bind("OnClick",G)}if($("#GMapDirections").length>0){$(".GMapDirectionsTop a").bind("click",z)}this.SetSearchInBounds=function(U){E.InBounds=U};this.Search=function(){var V="0",Z="0",X="0",U="0";var aa=arguments.length>0?arguments[0]:{};var Y=arguments.length>1?arguments[1]:false;E=$.extend(E,aa);if(E.InBounds){bounds=this.GetBounds();V=bounds.getNorthEast().lng();Z=bounds.getSouthWest().lng();X=bounds.getSouthWest().lat();U=bounds.getNorthEast().lat()}if(E.IsSearchable()||Y){var W=E.InBounds?true:false;$(K).loaderShow();window.AjaxMgr.ReqJSON("/Ajax/Basetool/Map.ashx",{actn:"search",q:E.Query,b:E.Booking,t:E.Tdb,a:E.AreaId,c:E.Categories,s:E.Sites,cnt:E.Count,lngn:V,lngs:Z,latw:X,late:U,l:window.Settings.Lang},true,function(ab){q(ab,W)},null)}else{this.ClearMarkers(false)}E.InBounds=true};function y(ab,Z,aa,V){var W="0",Y="0",X="0",U="0";if(V){bounds=this.Map.getBounds();W=bounds.getNorthEast().lng();Y=bounds.getSouthWest().lng();X=bounds.getSouthWest().lat();U=bounds.getNorthEast().lat()}$(K).loaderShow();GDownloadUrl(window.AjaxMgr.GetAjaxBasetoolUrl("/Ajax/Basetool/Map.ashx")+"&actn=items&a="+ab+"&c="+Z+"&s="+aa+"&lngn="+W+"&lngs="+Y+"&latw="+X+"&late="+U+"&l="+window.Settings.Lang,o)}this.CreateRoute=function(U){if(U&&U.LatLng){J={LatLng:U.LatLng,MarkerId:U.MarkerId}}$.prompt(window.Translate.RouteCreatePrompt+'<br/><input type="text" id="RouteStart" name="RouteStart" />',{parent:this.GetContainer(),callback:k,buttons:{Ok:"Ok",Cancel:"Cancel"}})};function k(V,U,W){if(V.toLowerCase()=="ok"){$(K).loaderShow();M.GeoCode(W.RouteStart,r)}}function G(){v.ToggleState();if(!R.Toggle()){R.Load()}}function q(V){var X=[];M.ClearMarkers(false);for(var U=0;U<V.Records.length;U++){var W=V.Records[U];X.push(M.CreateMarker(W.Id,W.Latitude,W.Longitude,{Icon:M.GetIcon("cat"+W.Category,true),Persistent:false,Title:W.Name}))}if(X.length>0){M.AddClusteredMarkers(X)}if(arguments.length>1&&arguments[1]==false){M.CenterOnMarkers()}$(K).loaderHide()}function o(Y,ad){var W,aa;M.Map.ClearOverlays();if(ad==200){aa=GXml.parse(Y);routes=aa.documentElement.getElementsByTagName("route")}else{$(K).loaderHide();x(window.Translate.SearchError);return}if(routes.length<=0){$(K).loaderHide();x(window.Translate.SearchNoHits);return}for(var Z=0;Z<routes.length;Z++){var ac=routes[Z].childNodes[0].childNodes[0].data;var af=routes[Z].childNodes[1].childNodes[0].data;var ae=routes[Z].getElementsByTagName("info")[0];var U=ae.childNodes[0].childNodes[0].data;var ab=ae.childNodes[1].childNodes[0].data;var X=_BasetoolUpload+ae.childNodes[2].childNodes[0].data;var V=new PolyOverlay(ac,af,"#0000FF",'<div class="InfoWindow"><div class="Row"><div class="Image"><img src="'+X+'" align="left" /></div><div class="Text"><b>'+U+"</b><br/>"+ab+"</div></div></div>");M.AddOverlay(V)}$(K).loaderHide()}function l(){if(E.InBounds){M.Search()}}function T(V){if(V.Params.Query!=""){E.InBounds=false}var U=(E.Sites==""||E==0)?V.Params.Sites.join(","):E.Sites;M.Search({Categories:V.Params.Categories.join(","),Sites:U,Query:V.Params.Query,Booking:V.Params.Bookable,Tdb:V.Params.Tdb});if(V.Params.Query&&V.Params.Query!=null&&V.Params.Query!=""){M.GeoCode(V.Params.Query,b,V.Params.Query)}}function b(V,U){if(V==null){return}M.AddMarker(0-StringToHash(U),V.lat(),V.lng(),{Icon:M.GetIcon("route",false),Title:U})}function c(U){if(U.Mode==1){M.CreateRoute()}else{if(U.Mode==2){p()}}}function r(V){$(K).loaderHide();if(V==null){return}z();var U=new GMarker(V,M.GetIcon("route",false));U.IsRoute=true;F.Stops.push({Marker:U,Point:V});M.AddOverlay(U);C();a.SetMode(2);if(J!=null){F.Stops.push({Marker:M.GetMarker(J.MarkerId),Point:J.LatLng});J=null}$.prompt(window.Translate.RouteCommitPrompt,{parent:M.GetContainer()})}function C(){L=true;g=GEvent.addListener(M.GetMap(),"click",j)}function j(V,X,U){var W=(V!=null)?U:X;if(F.Stops.length>25){$.prompt(window.Translate.RouteErrorStops,{parent:M.GetContainer()});return}if(V==null){V=new GMarker(X,M.GetIcon("route",false));V.IsRoute=true;M.AddOverlay(V)}else{if(V.SetImage){V.SetImage("/images/map/icons/route.png",true)}V.IsRoute=false}F.Stops.push({Marker:V,Point:W})}function p(){GEvent.removeListener(g);L=false;var V=[];for(var U=0;U<F.Stops.length;U++){V.push(F.Stops[U].Point)}M.LoadDirections(V,P)}function P(X){F.Polyline=X.Polyline;var ae=F.Stops;var ad=X.Routes;var U=$("#GMapDirections");var aa=U.find("ol");var af=U.find(".GMapDirectionsStatus");af.html("<span><b>"+window.Translate.Distance+":</b>&nbsp;"+X.Distance.html+"</span><span><b>"+window.Translate.TravelTime+":</b>&nbsp;"+X.Duration.html+"</span>");for(var Y=0;Y<X.Routes.length;Y++){var ac=X.Routes[Y].getNumSteps();for(var W=0;W<ac;W++){var V=X.Routes[Y].getStep(W);var Z=V.getDescriptionHtml();var ab=V.getDistance();F.Steps.push(V.getLatLng());aa.createAppend("li",{},["div",{},["span",{},Z,"i",{},ab.html]])}if(F.Stops[Y+1].Marker.Title){aa.createAppend("li",{},["div",{className:"GMapDirectionsStop"},window.Translate.RouteStop+" "+F.Stops[Y+1].Marker.Title])}}$("#GMapDirections li").each(function(ag){$(this).find("span").bind("click",function(){M.CenterOn(F.Steps[ag],13)})});M.AddOverlay(F.Polyline);M.Resize(-200,0);M.CenterOnBounds(F.Polyline.getBounds());U.show();aa=null;U=null;af=null}function z(){if(F.Stops.length>0){for(var U=0;U<F.Stops.length;U++){if(F.Stops[U].Marker.IsRoute){M.RemoveOverlay(F.Stops[U].Marker)}else{if(F.Stops[U].Marker.RevertImage){F.Stops[U].Marker.RevertImage()}}}if(F.Polyline!=null){M.RemoveOverlay(F.Polyline)}F={Polyline:null,Stops:[],Steps:[]};$("#GMapDirections").hide().find("ol").empty().end().find(".GMapDirectionsStatus").empty();M.Resize(200,0)}}function I(U){if(!L&&U.Marker&&U.Marker.Id&&U.Marker.Id>0){D.Load(U.Marker.Id)}}function t(W){if(F.Polyline!=null){this.Resize(-200,0)}var V=$("#GMapDirections");var U=$(K).height();V.css({height:U});a.SetHeight(U-30);if(W.IsFullScreen){V.width(V.width()-6);this.RemoveControl(i)}else{V.width(V.width()+6);this.AddControl(i)}}function S(Z){if(F.Polyline!=null){var Y=[];var U=F.Polyline.getVertexCount();for(var X=0;X<U;X++){Y.push(F.Polyline.getVertex(X))}var W=new GPolyline(Y);Z.WinPrint.MapPrint.addOverlay(W);for(X=0;X<F.Stops.length;X++){if(F.Stops[X].Marker.IsRoute){var V=new GMarker(F.Stops[X].Marker.getLatLng(),{icon:F.Stops[X].Marker.getIcon()});Z.WinPrint.MapPrint.addOverlay(V)}}$("#GMapDirections").clone().appendTo(Z.WinPrint.document.getElementById("GMapDirections"));Z.WinPrint.resizeTo(650,600)}}function x(U){O.Message=U;M.AddControl(O);setTimeout(function(){M.RemoveControl(O)},10000)}}function WGS84ToString(c){var e=c-parseInt(c);var d=e*60;var a=parseInt(d);var b=Math.round(((d-a)*60)*1000)/1000;return parseInt(c)+"&ordm;&nbsp;&nbsp;"+a+"'&nbsp;&nbsp;"+b+"''"};
function GMapBase(){var a=this;var q=[];var g=null;var i=null;var c={Clustered:false};var n=null;var b=null;var j=null;var d=false;var e=0;var m=0;this.Init=function(r,u,t,v,s){$.extend(c,s);j=document.getElementById(r);g=new GMap2(j);e=$(j).width();m=$(j).height();if(e>250&&m>250){g.addControl(s.NavControl||new GLargeMapControl3D());g.addControl(new MapTypeControl())}else{g.addControl(new GSmallZoomControl())}g.setCenter(new GLatLng(u,t),v);if(c.Clustered){i=new ClusterMarker(g,{intersectPadding:-2})}};this.GetContainer=function(){return j};this.GetIsFullScreen=function(){return d};this.GetMap=function(){return g};this.CreateMarker=function(v,u,s,t){t=$.extend(true,{Icon:new GIcon(G_DEFAULT_ICON),Persistent:false,Title:null},t);var r=new CMarker(new GLatLng(u,s),v,t);r.Persistent=t.Persistent;GEvent.addListener(r,"click",l);GEvent.addListener(r,"mouseover",h);GEvent.addListener(r,"mouseout",o);return r};this.AddMarker=function(w,v,t,u){if(arguments.length==1){g.addOverlay(arguments[0])}else{var r=this.CreateMarker(w,v,t,u);var s=q.AddUnique(r,"Id");if(s==-1){g.addOverlay(r)}}};this.AddMarkers=function(s){for(var r=0;r<s.length;r++){this.AddMarker(s[r]);q.AddUnique(s[r],"Id")}};this.AddClusteredMarkers=function(u){var t=[];for(var s=0;s<u.length;s++){var r=q.AddUnique(u[s],"Id");if(r==-1){t.push(u[s])}}i.addMarkers(t);i.refresh()};this.RemoveMarker=function(t){var s=q.FindObj("Id",t);if(s>-1){var r=this.GetMarker(t);this.RemoveOverlay(r);q.Remove(s)}};this.ClearMarkers=function(){var s=[];for(var r=0;r<q.length;r++){if(q[r].Persistent&&q[r].Persistent==true&&arguments.length>0&&arguments[0]==false){s.push(q[r]);continue}g.removeOverlay(q[r])}q=s;if(c.Clustered){i.removeMarkers()}};this.AddOverlay=function(r){g.addOverlay(r)};this.RemoveOverlay=function(r){g.removeOverlay(r)};this.AddControl=function(r){g.addControl(r)};this.ClearOverlays=function(r){g.clearOverlays();if(!r){for(var s=0;s<q.length;s++){if(q[s].Persistent&&q[s].Persistent==true){this.AddMarker(q[s])}}}};this.RemoveControl=function(r){g.removeControl(r)};this.GetZoom=function(){return g.getZoom()};this.PanTo=function(r){return g.panTo(r)};this.GetBounds=function(){return g.getBounds()};this.Resized=function(){g.checkResize()};this.SetClustered=function(r){if(r&&i==null){i=new ClusterMarker(g,{intersectPadding:-2});c.Clustered=true}else{i=null;c.Clustered=false}};this.CenterOn=function(s,r){g.setCenter(s,r)};this.GetMarker=function(){var r=null;if(arguments.length==1){r=q[q.FindObj("Id",arguments[0])]}else{if(arguments.length==2){for(var s=0;s<q.length;s++){if(q[s].getLatLng().lat()==arguments[0]&&q[s].getLatLng().lat()==arguments[1]){r=q[s];break}}}}return r};this.CenterOnMarkers=function(){if($.browser.msie&&$.browser.version<7){}else{var t=$.extend({top:20,left:50,right:10},arguments[0]);var s=new GLatLngBounds();for(var r=0;r<q.length;r++){s.extend(q[r].getLatLng())}f(s,t)}};this.CenterOnBounds=function(s){var r=$.extend({top:20,left:50,right:10},arguments[0]);f(s,r)};this.MarkerHover=function(t){var r=this.GetMarker(t);if(r&&r!=null){if(r.Hover){r.Hover();return}var s=r.getIcon().image;if(r.IsHovered){r.setImage(s.replace("_hover",""));r.IsHovered=false}else{r.setImage(s.replace(".png","_hover.png"));r.IsHovered=true}}};this.MarkerCenter=function(s){var r=this.GetMarker(s);g.setCenter(r.getLatLng())};this.LoadDirections=function(){var s=arguments[1];n=new GDirections();b=GEvent.addListener(n,"load",function(){p(s)});var r={locale:window.Settings.Lang,getPolyline:true,getSteps:true};if(typeof(arguments[0])=="string"){n.load(arguments[0],r)}else{n.loadFromWaypoints(arguments[0],r)}};function p(t){var r=[];for(var s=0;s<n.getNumRoutes();s++){r.push(n.getRoute(s))}GEvent.removeListener(b);t.apply(this,[{Polyline:n.getPolyline(),Distance:n.getDistance(),Duration:n.getDuration(),Bounds:n.getBounds(),Routes:r}])}this.GeoCode=function(r,u){var s=new GClientGeocoder();var t=arguments[2];s.getLatLng(r,function(v){u.call(a,v,t)})};this.Resize=function(s,r){$(j).css({width:$(j).width()+s,height:$(j).height()+r});g.checkResize();if(arguments.length>2&&arguments[2]){e+=s;m+=r}};this.GetIcon=function(t,s){var r=new GIcon(G_DEFAULT_ICON);r.image="/images/map/icons/"+t+".png";if(s){r.hover="/images/map/icons/"+t+"_hover.png"}r.iconSize=new GSize(24,44);r.iconAnchor=new GPoint(12,42);return r};this.Print=function(){var r=window.open("/Pages/MapPrint.aspx","winPrint","width=650,height=460,menubar=yes,scrollbars=yes");r.onload=function(){r.MapPrint.setCenter(g.getCenter(),g.getZoom());for(var t=0;t<q.length;t++){var s=new CMarker(q[t].getLatLng(),-1,{Icon:a.GetIcon("print",false),Title:q[t].Title,FlagAlwaysOn:true});r.MapPrint.addOverlay(s)}$(a).trigger({type:"OnPrint",WinPrint:r});if(r.print){setTimeout(function(){r.print()},1500)}}};this.SwitchFullScreen=function(){var r=g.getCenter();if(!d){window.scroll(0,0);var t=document.createElement("div");var s=[j,document.getElementById("GMapDirections")];$(t).css({position:"absolute",left:"0",top:"0",zIndex:"200",padding:"15px",backgroundImage:"url(/Utility/Opacity.ashx?c=000000&o=60)"});$(s).wrapAll(t).eq(0).css({width:$("body").width()-30,height:$("body").height()-30});g.enableScrollWheelZoom();d=true}else{$(j).parent().replaceWith($(j).parent().children());$(j).width(e).height(m);g.disableScrollWheelZoom();d=false}$(this).trigger({type:"OnFullScreen",IsFullScreen:d});g.checkResize();g.setCenter(r)};this.AddStaticMap=function(u){var r=this.GetMarker(u);if(r!=null){var t=r.getLatLng();var s=new StaticMapOverlay("ABQIAAAAjGNdx9892wj5DhS5yWoCnxRG6XxFoffczTrY9IGskB9SGwJsUhQ-RNCg1aZYrqwE8z08eVnrIB4vxQ",100,100,t.lat(),t.lng(),13,{Lat:t.lat(),Lng:t.lng()});this.AddOverlay(s);this.RemoveOverlay(r)}};function l(s,r){$(a).trigger({type:"OnMarkerClick",Marker:a.GetMarker(r)})}function h(s,r){$(a).trigger({type:"OnMarkerMouseOver",Marker:a.GetMarker(r)})}function o(s,r){$(a).trigger({type:"OnMarkerMouseOut",Marker:a.GetMarker(r)})}function k(r){if(r.toLowerCase()=="sv"){return"sv_SE"}else{if(r.toLowerCase()=="en"){return"en_EN"}}return"en_EN"}function f(s,C){var r=C||{};r.top=C.top*1||0;r.left=C.left*1||0;r.bottom=C.bottom*1||0;r.right=C.right*1||0;r.save=C.save||true;r.disableSetCenter=C.disableSetCenter||false;r.maxZoom=C.maxZoom*1||30;var y=g.getCurrentMapType();var w=g.getSize();if(!r.disableSetCenter){var t=new GSize(w.width-r.left-r.right,w.height-r.top-r.bottom);var x=y.getBoundsZoomLevel(s,t);g.setZoom(Math.min(x,r.maxZoom));var B=(r.left-r.right)/2;var z=(r.top-r.bottom)/2;var v=g.fromLatLngToDivPixel(s.getCenter());var u=g.fromDivPixelToLatLng(new GPoint(v.x-B,v.y-z));g.setCenter(u);if(r.save){g.savePosition()}}var A=new GLatLngBounds();A.extend(g.fromContainerPixelToLatLng(new GPoint(r.left,w.height-r.bottom)));A.extend(g.fromContainerPixelToLatLng(new GPoint(w.width-r.right,r.top)));return A}}GMapBase.prototype.Dispose=function(){GUnload();_Markers=null;_Map=null;_Self=null};
function WeatherOverlay(d,b,c,a,e){this.Lat=d;this.Lng=b;this.Icon=c;this.Temp=a;this.WindSpeed=e}WeatherOverlay.prototype=new GOverlay();WeatherOverlay.prototype.initialize=function(b){var a=this;var c=document.createElement("div");c.className="GWeatherOverlay";c.style.position="absolute";c.style.backgroundImage="url("+this.Icon+")";c.innerHTML=this.Temp+"&ordm;C&nbsp;"+this.WindSpeed+"m/s";c.onclick=function(){a.Click()};b.getPane(G_MAP_MAP_PANE).appendChild(c);this.Map=b;this.Div=c};WeatherOverlay.prototype.remove=function(){this.Div.parentNode.removeChild(this.Div)};WeatherOverlay.prototype.redraw=function(b){var a=this.Map.fromLatLngToDivPixel(new GLatLng(this.Lat,this.Lng));this.Div.style.left=(a.x-16)+"px";this.Div.style.top=(a.y-16)+"px"};WeatherOverlay.prototype.Click=function(){this.Map.setCenter(new GLatLng(this.Lat,this.Lng),12)};function PolyOverlay(e,f,c,d){var a=DecodePolyline(e);var b=new GMarker(a[0]);GEvent.addListener(b,"click",function(){b.openInfoWindowHtml(d)});this.Marker=b;this.PolyLine=new GPolyline.fromEncoded({color:c,weight:8,points:e,levels:f,zoomFactor:32,numLevels:4});this.Map=null}PolyOverlay.prototype=new GOverlay();PolyOverlay.prototype.initialize=function(a){this.Map=a;this.Map.addOverlay(this.Marker);this.Map.addOverlay(this.PolyLine)};PolyOverlay.prototype.remove=function(){this.Map.removeOverlay(this.PolyLine);this.Map.removeOverlay(this.Marker)};PolyOverlay.prototype.redraw=function(a){};function CMarker(c,b,a){this.LatLng=c;this.Id=b;this.Title=a.Title||null;this.Icon=a.Icon||new GIcon(G_DEFAULT_ICON);this.HoverSrc=a.Icon.hover||null;this.ZIndex=GOverlay.getZIndex(c.lat());this.FlagOffset=a.FlagOffset||0;this.FlagAlwaysOn=a.FlagAlwaysOn||false;this.IsHovered=false;this.OriginalImage=this.Icon.image;if(this.Title!=null&&this.Title.length>100){this.Title.substring(0,97)+"..."}}CMarker.prototype=new GOverlay();CMarker.prototype.initialize=function(c){var b=this;this.Image=document.createElement("img");var d=c.fromLatLngToDivPixel(this.LatLng);$(this.Image).css({position:"absolute",cursor:"pointer",zIndex:this.ZIndex,width:this.Icon.iconSize.width+"px",height:this.Icon.iconSize.height+"px"}).attr("src",this.Icon.image);c.getPane(G_MAP_MARKER_PANE).appendChild(this.Image);if($.browser.msie&&$.browser.version<=6){$(this.Image).attr("src","/images/blank.gif").css("filter","progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.Icon.image+"', sizingMethod='scale')")}if(this.Title!=null){this.Flag=document.createElement("span");var a=this.FlagAlwaysOn?"block":"none";$(this.Flag).addClass("GMarkerFlag").css({display:a,position:"absolute",zIndex:10}).html(this.Title);c.getPane(G_MAP_MARKER_PANE).appendChild(this.Flag)}GEvent.addDomListener(this.Image,"mousedown",function(f){f=f||window.event;if(f.preventDefault){f.preventDefault();f.stopPropagation()}else{f.cancelBubble=true;f.returnValue=false}});GEvent.addDomListener(this.Image,"mouseup",function(){if(b.Title!=null&&!b.FlagAlwaysOn){$(b.Flag).hide()}GEvent.trigger(b,"click",b.LatLng,b.Id)});GEvent.addDomListener(this.Image,"mouseover",function(){if(!b.FlagAlwaysOn){b.Hover()}GEvent.trigger(b,"mouseover",b.LatLng,b.Id)});GEvent.addDomListener(this.Image,"mouseout",function(){if(!b.FlagAlwaysOn){b.Hover()}GEvent.trigger(b,"mouseout",b.LatLng,b.Id)});this.Map=c};CMarker.prototype.RevertImage=function(){$(this.Image).attr("src",this.OriginalImage)};CMarker.prototype.SetImage=function(a){$(this.Image).attr("src",a)};CMarker.prototype.Hover=function(){if(!this.IsHovered){if(this.HoverSrc!=null){$(this.Image).attr("src",this.HoverSrc)}$(this.Image).css("zIndex",10);if(this.Title!=null){$(this.Flag).show()}this.IsHovered=true}else{if(this.HoverSrc!=null){$(this.Image).attr("src",this.Icon.image)}$(this.Image).css("zIndex",this.ZIndex);if(this.Title!=null){$(this.Flag).hide()}this.IsHovered=false}};CMarker.prototype.getLatLng=function(){return this.LatLng};CMarker.prototype.getIcon=function(){return this.Icon};CMarker.prototype.remove=function(){this.Image.parentNode.removeChild(this.Image);if(this.Flag){this.Flag.parentNode.removeChild(this.Flag)}};CMarker.prototype.redraw=function(a){if(!a){return}var b=this.Map.fromLatLngToDivPixel(this.LatLng);$(this.Image).css({left:(b.x-this.Icon.iconSize.width/2)+"px",top:(b.y-this.Icon.iconSize.height)+"px"});$(this.Flag).css({left:(b.x+this.Icon.iconSize.width/2)+"px",top:(b.y-this.Icon.iconSize.height+this.FlagOffset)+"px"})};function StaticMapOverlay(d,e,a,g,c,f,b){this.Key=d;this.Lat=g;this.Lng=c;if(b){this.Marker=b}this.Width=e;this.Height=a;this.Zoom=f}StaticMapOverlay.prototype=new GOverlay();StaticMapOverlay.prototype.initialize=function(c){var b=this;var a=document.createElement("img");var d="http://maps.google.com/staticmap?center="+this.Lat+","+this.Lng+"&zoom="+this.Zoom+"&size="+this.Width+"x"+this.Height+"&maptype=roadmap&key="+this.Key;if(this.Marker){d+="&markers="+this.Marker.Lat+","+this.Marker.Lng+",smallblack"}$(a).attr({src:d,width:100,height:100});$(a).css("position","absolute").css("opacity","1");c.getPane(G_MAP_MAP_PANE).appendChild(a);this.Image=a;this.Map=c};StaticMapOverlay.prototype.remove=function(){this.Image.parentNode.removeChild(this.Image)};StaticMapOverlay.prototype.redraw=function(b){var a=this.Map.fromLatLngToDivPixel(new GLatLng(this.Lat,this.Lng));this.Image.style.left=(a.x-parseInt((this.Width/2)))+"px";this.Image.style.top=(a.y-parseInt(this.Height/2))+"px"};

