/**
 *  Design, additional code by Lauri Keel <lauri@ruja.ee>
 *  All rights reserved, 2009
 */


var agent=navigator.userAgent.toLowerCase();var is_ie=agent.indexOf("msie")!=-1&&agent.indexOf("opera")==-1;var is_ie6=is_ie&&parseInt(navigator.appVersion)==4&&agent.indexOf("msie 6.")!=-1;var is_ie7=is_ie&&parseInt(navigator.appVersion)==4&&agent.indexOf("msie 7.")!=-1;var ie=is_ie&&!is_ie7;loadJS={load:function(id,url,callback){var script=document.getElementById(id);var head=document.getElementsByTagName("head").item(0);var loadJSHasCallback=callback?true:false;if(script){head.removeChild(script)}script=document.createElement("script");script.setAttribute("src",url);script.setAttribute("id",id);script.setAttribute("type","text/javascript");head.appendChild(script);if(is_ie){if(script.readyState=="complete"){script=document.createElement("script");script.setAttribute("src","javascript:;");script.setAttribute("id",id+"_");script.setAttribute("type","text/javascript")}if(callback){script.onreadystatechange=function(){if(script.readyState=="loaded"||script.readyState=="complete"){script.onreadystatechange=null;eval(callback)}}}}else{if(callback){var script2=document.getElementById(id+"_callback");if(script2){head.removeChild(script2)}script2=document.createElement("script");script2.setAttribute("id",id);script2.setAttribute("type","text/javascript");script2.text=callback;head.appendChild(script2)}}}};var version=window.mapConfig?window.mapConfig.version||"latest":"latest";var base="http://kaart.puu.ee/kaart/"+version+"/";var version="dev";var base="http://kaart.puu.localhost/kaart/"+version+"/";var map,options,m,mHover,popup,selectControl,bounds,center,wfs,wfsLayer,refreshwfs,wfsrefreshing,wfsLayers,searchLayer,vectors,layerswitcher,zoombar,permalink,gmlLayer,mainLayer,mapLoading;var baseLayers=[];var mapConfigDefaults={userid:0,modalPopup:false,shiftmap:false,enableToolbar:true,enableSearch:true,enableSiteSearch:false,enableEditing:false,enablePermalink:true,enableTooltip:true,helpURL:"",siteSearchInit:function(){},mercator:true,projection:"EPSG:900913",units:"m",buffer:1,gmlLayerEnabled:false,gmlLayer:{name:"nimi",loc:"asukoht",visibility:false},gmlFeatureSelect:false,showRight:true,hideRight:false,clickEventHandler:false,google:true,googleMapAPI:"http://maps.google.com/maps?file=api&key=",googleAPIkey:"ABQIAAAAcsmN9Gqg6CqxcZ_EccxOdBQ-M8mwa2dYDw-2LhHdwSqimN92GxRPq4SazZJKzdgwT9WYYDstBjOmrg",googleLayers:{streets:true,sattellite:true,hybrid:true,physical:true},zoomToOnly:true,lon:24.75868,lat:59.43916,minZoomLevel:7,maxZoomLevel:17,numZoomLevels:10,bounds:{l:21.5,b:57.509,r:28.21,t:59.74},baseLayerGroups:[{name:"Teed ja tänavad",layers:[{name:"Google",type:"google"},{name:"OpenStreetMap",type:"mapnik",location:["http://m.puu.ee/osm/","http://m2.puu.ee/osm/","http://m3.puu.ee/osm/","http://m4.puu.ee/osm/"],layerOptions:{maxResolution:"156543.03390000001",minResolution:"2.38865661621",transitionEffect:"resize"}}]},{name:"Satelliidikaart",layers:[{name:"Google",type:"google-satellite"},{name:"Google hübriid",type:"google-hybrid"},{name:"Maaameti ortofoto",type:"maaamet",location:"http://xgis.maaamet.ee/wms-pub/alus?",options:{layers:"of10000"},projection:"EPSG:3301"}]}],wfsEnabled:false,wfsRatio:2,wfsLayerGroups:[],overviewMapEnabled:true,overviewMap:{type:"mapnik",location:["http://m.puu.ee/osm/","http://m2.puu.ee/osm/","http://m3.puu.ee/osm/","http://m4.puu.ee/osm/"],options:{layers:"osm"},layerOptions:{buffer:0,maxResolution:"156543.0339",minResolution:"2.38865661621",transitionEffect:"resize"},projection:"EPSG:900913"},wfsFeatureSelect:false,featureSelect:false,markers:[{file:"default.png",width:20,height:34,desc:"Asukoht"},{file:"group-r.png",width:20,height:34,desc:"Grupeeritud elemendid"}],theme:null,forwardMercator:function(C,B){var A=C*20037508.34/180;var D=Math.log(Math.tan((90+B)*Math.PI/360))/(Math.PI/180);D=D*20037508.34/180;return new OpenLayers.LonLat(A,D)},inverseMercator:function(A,D){var C=(A/20037508.34)*180;var B=(D/20037508.34)*180;B=180/Math.PI*(2*Math.atan(Math.exp(B*Math.PI/180))-Math.PI/2);return new OpenLayers.LonLat(C,B)}};mapConfigDefaults.proxyHost="/";mapConfigDefaults.imgLoc=base+"img/";mapConfigDefaults.stylesheet=base+"style.css";mapConfigDefaults.wfsLayerLoc=mapConfigDefaults.proxyHost+"wfs.php";mapConfigDefaults.ajaxLoc=mapConfigDefaults.proxyHost+"ajax.php";mapConfigDefaults.autocomplete=mapConfigDefaults.proxyHost+"autocomplete.php";mapConfigDefaults.scriptLoc="http://kaart.puu.localhost/dev/loader.php?loadjs=OpenLayers.js,wfs.js,maaamet.js,zoombar.js,popup.js,proj4js-combined.js,ui.js,lang.js,init_func.js";if(!window.jQuery){document.writeln('<script type="text/javascript" src="'+base+'jquery.js"><\/script>')}var mapConfig=jQuery.extend({},mapConfigDefaults,mapConfig);if(!jQuery("#map").length){jQuery('script[src*="kaart.puu"]').after('<div id="map" class="loading'+(!mapConfig.showRight?" expanded":"")+(is_ie7?" ie7":"")+'">Laen kaarti...</div><div id="map-overlay" class="hidden"></div>')}if(mapConfig.stylesheet){jQuery("head").append('<link href="'+mapConfig.stylesheet+'" rel="stylesheet" type="text/css" media="screen, projection, tv" />')}jQuery("#map").removeClass("loading").html("");var d="";d+='<div id="map-tooltip" class="hidden"></div>';if(mapConfig.enableToolbar){d+='<div id="map-search">';d+='<div class="side-l"></div>';if(mapConfig.enableSearch){d+='<form action="" method="post" onsubmit="return false;">';d+='	<input type="text" name="otsi" id="map-otsi-f" value="Otsi asukohta..." onfocus="if(this.value == \'Otsi asukohta...\') this.value=\'\';" onblur="if(this.value == \'\') this.value=\'Otsi asukohta...\';" onkeyup="mapsearch(this.value)" />';d+='	<input type="image" src="'+mapConfig.imgLoc+'map-search.png" alt="Otsing" class="button nostyle" id="map-otsi"" />';d+='	<ul id="map-results" class="hidden"></ul>';d+="</form>"}if(mapConfig.enableEditing){d+='<a id="map-add"></a>'}if(mapConfig.enablePermalink){d+='<a id="map-permalink"></a>'}if(!is_ie6){d+='<a id="map-fullscreen"></a>'}d+='<a id="map-refresh"></a>';if(mapConfig.helpURL){d+='<a id="map-help"></a>'}d+='<div class="side-r"></div>';d+="</div>";if(mapConfig.enablePermalink){d+='<div id="map-permalink-done" class="hidden"></div>'}jQuery("#map").html(d)}var dd="";dd+='<table cellpadding="0" cellspacing="0">';dd+="<tr>";dd+='<td id="map-left">';dd+='	<div id="map-content-container">';dd+='		<div id="map-loading">Laen andmeid...</div>';dd+='		<div id="map-content"></div>';dd+="	</div>";dd+="</td>";dd+='<td id="map-right">';dd+='	<div class="baselayers">';dd+="		<h2>Aluskaart</h2>";dd+="	</div>";dd+='	<div class="datalayers">';dd+="		<h2>Andmekihid</h2>";dd+="	</div>";if(mapConfig.enableSiteSearch){dd+='	<div class="map-search" id="map-sitesearch">';dd+="		<h2>Otsing</h2>";dd+="	</div>"}dd+="</td>";dd+="</tr>";dd+="</table>";if(mapConfig.showRight){dd+='<div id="map-hide"></div>'}dd+='<div id="map-copyright"><a href="http://puu.ee/" title="Puu"></a></div>';if(mapConfig.overviewMapEnabled){dd+='<div id="map-overviewmap-container"><div id="map-overviewmap"></div></div>'}dd+='<div class="clear"></div>';jQuery("#map").append(dd);jQuery("#map").append("</div>");if(mapConfig.enableSiteSearch){mapConfig.siteSearchInit()}if(mapConfig.google){document.writeln('<script type="text/javascript" src="'+mapConfig.googleMapAPI+mapConfig.googleAPIkey+'"><\/script>')}function loadMap(){if(mapLoading){return }mapLoading=true;loadJS.load("kaart",mapConfig.scriptLoc)}jQuery(document).ready(function(){loadMap()});window.setTimeout("loadMap();",3000);function init(){jQuery("#map-overlay").bind("click",function(S){jQuery("#map").removeClass("fullscreen");jQuery("#map-overlay").addClass("hidden");map.updateSize()});Proj4js.defs["EPSG:3301"]="+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs";jQuery("#map-hide").bind("click",function(S){if(jQuery("#map").is(".expanded")){jQuery("#map").removeClass("expanded");map.updateSize();return }jQuery("#map").addClass("expanded");map.updateSize()});OpenLayers.IMAGE_RELOAD_ATTEMPTS=0;OpenLayers.Util.onImageLoadErrorColor="transparent";OpenLayers.ImgPath=mapConfig.imgLoc;OpenLayers.ProxyHost=mapConfig.proxyHost;OpenLayers.Util.onImageLoadError=function(){this._attempts=(this._attempts)?(this._attempts+1):1;if(this._attempts<=OpenLayers.IMAGE_RELOAD_ATTEMPTS){var V=this.urls;if(V&&V instanceof Array&&V.length>1){var W=this.src.toString();var U,S;for(S=0;U=V[S];S++){if(W.indexOf(U)!=-1){break}}var X=Math.floor(V.length*Math.random());var T=V[X];S=0;while(T==U&&S++<4){X=Math.floor(V.length*Math.random());T=V[X]}this.src=W.replace(U,T)}else{this.src=this.src}}else{this.src=mapConfig.imgLoc+"404.png"}};if(mapConfig.mercator){var P=mapConfig.forwardMercator(mapConfig.bounds.l,mapConfig.bounds.b);var O=mapConfig.forwardMercator(mapConfig.bounds.r,mapConfig.bounds.t);var N=mapConfig.forwardMercator(mapConfig.lon,mapConfig.lat);bounds=new OpenLayers.Bounds(P.lon,P.lat,O.lon,O.lat);mapConfig.center=new OpenLayers.LonLat(N.lon,N.lat)}else{bounds=new OpenLayers.Bounds(mapConfig.bounds.l,mapConfig.bounds.b,mapConfig.bounds.r,mapConfig.bounds.t);mapConfig.center=new OpenLayers.LonLat(mapConfig.lon,mapConfig.lat)}options={units:mapConfig.units,projection:new OpenLayers.Projection(mapConfig.projection),controls:[new OpenLayers.Control.Navigation(),new OpenLayers.Control.ZoomBar()],maxExtent:bounds,minZoomLevel:mapConfig.minZoomLevel,maxZoomLevel:mapConfig.maxZoomLevel,numZoomLevels:mapConfig.numZoomLevels,buffer:mapConfig.buffer,theme:mapConfig.theme,paddingForPopups:new OpenLayers.Bounds(55,5,5,35)};map=new OpenLayers.Map("map-content",options);if(mapConfig.showRight){var B=false;for(var K=0;K<mapConfig.baseLayerGroups.length;K++){jQuery("#map-right .baselayers").append("<div><h3>"+mapConfig.baseLayerGroups[K].name+"</h3><ul></ul></div>");for(var I=0;I<mapConfig.baseLayerGroups[K].layers.length;I++){mapConfig.baseLayerGroups[K].layers[I].layer=false;if(mapConfig.baseLayerGroups[K].layers[I].active){addLayer(mapConfig.baseLayerGroups[K].layers[I]);B=true}jQuery("#map-right .baselayers div:last-child ul").append('<li id="map-layer-'+K+"-"+I+'"'+(mapConfig.baseLayerGroups[K].layers[I].active?' class="active"':"")+">"+mapConfig.baseLayerGroups[K].layers[I].name+"</li>")}}jQuery("#map-right .baselayers li").bind("click",function(T){var S=jQuery(this).attr("id").split("-");if(!mapConfig.baseLayerGroups[S[2]].layers[S[3]].layer){addLayer(mapConfig.baseLayerGroups[S[2]].layers[S[3]])}if(!mapConfig.baseLayerGroups[S[2]].layers[S[3]].layer.getVisibility()){jQuery("#map-right .baselayers li").removeClass("active");jQuery(this).addClass("active");map.setBaseLayer(mapConfig.baseLayerGroups[S[2]].layers[S[3]].layer)}});if(!B){addLayer(mapConfig.baseLayerGroups[0].layers[0]);jQuery("#map-right .baselayers li:first").addClass("active")}jQuery("#map-right .baselayers").accordion({header:"h3",alwaysOpen:false});var M="";if(!mapConfig.wfsLayerGroups.length){jQuery("#map-right .datalayers").addClass("hidden")}else{if(mapConfig.wfsLayerGroups.length==1){M+='<ul class="single">';for(var I=0;I<mapConfig.wfsLayerGroups[0].layers.length;I++){M+='<li id="map-datalayer-0-'+I+'" '+(mapConfig.wfsLayerGroups[0].layers[I].active?' class="active"':"")+">"+mapConfig.wfsLayerGroups[0].layers[I].name+"</li>"}M+="</ul>";jQuery("#map-right .datalayers").append(M)}else{for(var K=0;K<mapConfig.wfsLayerGroups.length;K++){M+="<div>";M+="<h3>"+mapConfig.wfsLayerGroups[K].name+"</h3>";M+="<ul>";for(var I=0;I<mapConfig.wfsLayerGroups[K].layers.length;I++){M+='<li id="map-datalayer-'+K+"-"+I+'" '+(mapConfig.wfsLayerGroups[K].layers[I].active?' class="active"':"")+">"+mapConfig.wfsLayerGroups[K].layers[I].name+"</li>"}M+="</ul>";M+="</div>"}jQuery("#map-right .datalayers").append(M);jQuery("#map-right .datalayers").accordion({header:"h3",alwaysOpen:false})}}jQuery("#map-right .datalayers li").bind("click",function(S){if(jQuery(this).is(".active")){jQuery(this).removeClass("active")}else{jQuery(this).addClass("active")}if(mapConfig.wfsEnabled){wfsLayer.refresh()}});if(mapConfig.hideRight){jQuery("#map").addClass("expanded")}}else{addLayer(mapConfig.baseLayerGroups[0].layers[0])}if(mapConfig.gmlLayerEnabled){gmlLayer=new OpenLayers.Layer.GML(mapConfig.gmlLayer.name,mapConfig.gmlLayer.loc,{displayInLayerSwitcher:mapConfig.gmlLayer.visibility});mainLayer=gmlLayer;if(mapConfig.gmlFeatureSelect||mapConfig.featureSelect){selectControl=new OpenLayers.Control.SelectFeature(gmlLayer,(mapConfig.gmlFeatureSelect?mapConfig.gmlFeatureSelect:mapConfig.featureSelect));map.addControl(selectControl);selectControl.activate()}if(mapConfig.zoomToOnly){gmlLayer.events.register("featuresadded",gmlLayer,function(){if(gmlLayer.features.length==1&&(gmlLayer.features[0].geometry.x||gmlLayer.features[0].geometry.components[0].x)){map.setCenter(new OpenLayers.LonLat((gmlLayer.features[0].geometry.x?gmlLayer.features[0].geometry.x:gmlLayer.features[0].geometry.components[0].x),(gmlLayer.features[0].geometry.y?gmlLayer.features[0].geometry.y:gmlLayer.features[0].geometry.components[0].y)),mapConfig.numZoomLevels-2)}})}gmlLayer.events.register("loadend",gmlLayer,function(){loadEnd("gml");this.events.unregister("loadend")});baseLayers.push(gmlLayer)}map.addLayers(baseLayers);if(mapConfig.wfsEnabled){var A=OpenLayers.Util.applyDefaults({externalGraphic:base+"img/${icon}",graphicWidth:20,graphicHeight:20,graphicYOffset:-10,graphicXOffset:-10,graphicOpacity:1},OpenLayers.Feature.Vector.style["default"]);var J=new OpenLayers.StyleMap({"default":A,select:{}});wfsLayer=new OpenLayers.Layer.WFS("WFS",mapConfig.wfsLayerLoc,{projection:"EPSG:900913"},{styleMap:J,ratio:mapConfig.wfsRatio,calculateInRange:function(){return true},displayInLayerSwitcher:false,extractAttributes:true});if(!mainLayer){mainLayer=wfsLayer}wfsLayer.events.register("loadstart",wfsLayer,function(){loadStart("wfs");this.events.unregister("loadstart")});wfsLayer.events.register("loadend",wfsLayer,function(){loadEnd("wfs");this.events.unregister("loadend")});map.addLayer(wfsLayer);if(mapConfig.wfsFeatureSelect||mapConfig.featureSelect){var F=mapConfig.wfsFeatureSelect?mapConfig.wfsFeatureSelect:mapConfig.featureSelect;if(mapConfig.enableTooltip){F=jQuery.extend({},{callbacks:{over:function(T){if(!T.data.title){return }var U=map.getPixelFromLonLat(new OpenLayers.LonLat(T.geometry.x,T.geometry.y));var S=jQuery(".olMapViewport")[0];jQuery("#map-tooltip").html(T.data.title).css({left:S.offsetLeft+U.x+15,top:S.offsetTop+U.y+15}).removeClass("hidden")},out:function(S){jQuery("#map-tooltip").addClass("hidden")}}},F)}selectControl=new OpenLayers.Control.SelectFeature(wfsLayer,F);map.addControl(selectControl);selectControl.activate()}}if(mapConfig.enableTooltip){map.events.register("zoomend",map,function(){jQuery("#map-tooltip").addClass("hidden")})}var D;var L=0;if(mapConfig.enablePermalink){var C=window.location.search.substring(1).split("&");var E;for(var K=0;K<C.length;K++){var G=C[K].split("=");if(G[0]=="lonlat"){D=G[1].split(",")}else{if(G[0]=="zoom"){L=parseInt(G[1])}}}}if(D){map.setCenter(new OpenLayers.LonLat(parseFloat(D[0]),parseFloat(D[1])).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection(mapConfig.projection)),L)}else{if(!map.getCenter()&&mapConfig.center&&mapConfig.zoom){map.setCenter(mapConfig.center,mapConfig.zoom)}else{if(!map.getCenter()){map.zoomToMaxExtent()}}}if(mapConfig.overviewMapEnabled){if(mapConfig.overviewMap.type=="mapnik"){var Q=new OpenLayers.Layer.TMS("overview",mapConfig.overviewMap.location,jQuery.extend({},{projection:(mapConfig.overviewMap.projection?new OpenLayers.Projection(mapConfig.overviewMap.projection):null),maxExtent:mapConfig.overviewMap.maxExtent||new OpenLayers.Bounds("-20037508.34","-20037508.34","20037508.34","20037508.34"),getURL:osmGetURL},mapConfig.overviewMap.layerOptions,mapConfig.overviewMap.options))}else{if(mapConfig.overviewMap.type=="wms"){var Q=new OpenLayers.Layer.WMS("overview",mapConfig.overviewMap.location,mapConfig.overviewMap.options,jQuery.extend({},{projection:(mapConfig.overviewMap.projection?new OpenLayers.Projection(mapConfig.overviewMap.projection):null),maxExtent:mapConfig.overviewMap.maxExtent||bounds},mapConfig.overviewMap.layerOptions))}}var R=new OpenLayers.Control.OverviewMap({div:document.getElementById("map-overviewmap"),size:new OpenLayers.Size(150,100),layers:[Q]});map.addControl(R)}if(mapConfig.clickEventHandler){OpenLayers.Control.Click=OpenLayers.Class(OpenLayers.Control,{defaultHandlerOptions:{single:true,"double":false,pixelTolerance:0,stopSingle:false,stopDouble:false},initialize:function(S){this.handlerOptions=OpenLayers.Util.extend({},this.defaultHandlerOptions);OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Click(this,{click:this.trigger},this.handlerOptions)},trigger:function(T){var S=map.getLonLatFromViewPortPx(T.xy);mapConfig.clickEventHandler(S.lon,S.lat,mapConfig.mercator)}});var H=new OpenLayers.Control.Click();map.addControl(H);H.activate()}jQuery("#map-permalink").bind("click",function(V){var S=window.location.href;var T=map.getZoom();var U=map.getCenter().transform(new OpenLayers.Projection(mapConfig.projection),new OpenLayers.Projection("EPSG:4326"));U=U.lon+","+U.lat;S+=(S.substring(S.length-1)=="/"?"?":"&")+"lonlat="+U+"&zoom="+T;if(jQuery("#map-permalink-done").text()==S){jQuery("#map-permalink-done").text("").addClass("hidden")}else{jQuery("#map-permalink-done").text(S).removeClass("hidden")}});jQuery("#map-fullscreen").bind("click",function(S){if(jQuery("#map").is(".fullscreen")){jQuery("#map").removeClass("fullscreen");jQuery("#map-overlay").addClass("hidden");map.updateSize();return }jQuery("#map-overlay").removeClass("hidden");jQuery("#map").addClass("fullscreen");map.updateSize()});jQuery("#map-refresh").bind("click",function(S){window.location.reload()});jQuery("#map-help").bind("click",function(S){window.open(mapConfig.helpURL)})}function addLayer(A){if(A.type=="google"){A.layer=new OpenLayers.Layer.Google(A.name,jQuery.extend({},{sphericalMercator:mapConfig.mercator},A.options))}else{if(A.type=="google-satellite"){A.layer=new OpenLayers.Layer.Google(A.name,jQuery.extend({},{sphericalMercator:mapConfig.mercator,type:G_SATELLITE_MAP},A.options))}else{if(A.type=="google-hybrid"){A.layer=new OpenLayers.Layer.Google(A.name,jQuery.extend({},{sphericalMercator:mapConfig.mercator,type:G_HYBRID_MAP},A.options))}else{if(A.type=="wms"){A.layer=new OpenLayers.Layer.WMS(A.name,A.location,A.options,jQuery.extend({},(A.projection?{projection:new OpenLayers.Projection(A.projection)}:{}),A.layerOptions))}else{if(A.type=="mapnik"){A.layer=new OpenLayers.Layer.TMS(A.name,A.location,jQuery.extend({},{type:"png",getURL:osmGetURL,displayOutsideMaxExtent:true,wrapDateLine:true,maxExtent:new OpenLayers.Bounds("-20037508.34","-20037508.34","20037508.34","20037508.34")},A.options,A.layerOptions))}else{if(A.type=="maaamet"){A.layer=new OpenLayers.Layer.Maaamet(A.name,A.location,A.options,{projection:new OpenLayers.Projection(A.projection),maxScale:8.98399304309669,minScale:0,minResolution:0,alwaysInRange:true,resolutions:[1.40625,0.6564112529274082,0.30640052122291905,0.14302204446830025],singleTile:true});A.layer.events.register("loadstart",A.layer,function(){loadStart("maaamet");this.events.unregister("loadstart")});A.layer.events.register("loadend",A.layer,function(){loadEnd("maaamet");this.events.unregister("loadend")})}}}}}}if(!A.layer){return }map.addLayer(A.layer)}function osmGetURL(E){var D=this.map.getResolution();var A=Math.round((E.left-this.maxExtent.left)/(D*this.tileSize.w));var H=Math.round((this.maxExtent.top-E.top)/(D*this.tileSize.h));var G=this.map.getZoom();var B=Math.pow(2,G);if(H<0||H>=B){return mapConfig.imgLoc+"404.png"}else{A=((A%B)+B)%B;var C=this.url;var F=G+"/"+A+"/"+H+".png";if(C instanceof Array){C=this.selectUrl(F,C)}return C+F}}var loading=[];function loadStart(A){loading.push(A);jQuery("#map-loading").removeClass("hidden")}function loadEnd(B){for(var A=0;A<loading.length;A++){if(loading[A]==B){loading.pop(A)}}if(!loading.length){jQuery("#map-loading").addClass("hidden")}}if(!window.mapsearch){var searchtimeout;var hidetimeout;function mapsearch(A){if(searchtimeout){window.clearTimeout(searchtimeout)}searchtimeout=window.setTimeout('gmapsearch("'+A.replace(/\"/,'"')+'")',300)}function gmapsearch(C,A){if(C=="Otsi asukohta..."||C==""){return }C=C.replace(/ tänav/i," Street");C=C.replace(/ pst/i," Puiestee");C=C.replace(/ vald/i," Parish");C=C.replace(/ linn/i,"");jQuery("#map-results").removeClass("hidden").html('<li class="map-loading">Laen...</li>');var B=new GClientGeocoder();B.setBaseCountryCode("ee");B.getLocations(C,function(D){if(!D.Placemark||!D.Placemark.length){if(hidetimeout){window.clearTimeout(hidetimeout)}jQuery("#map-results").html('<li class="map-error">Otsingule vasteid ei leitud.</li>').removeClass("hidden");return }var F="";for(var E=0;E<D.Placemark.length;E++){if(D.Placemark[E].AddressDetails.Country&&D.Placemark[E].AddressDetails.Country.CountryNameCode=="EE"){if(A){A=false;searchResult(D.Placemark[E].address.replace(/, Estonia/,"").replace(/Parish/,"vald"),D.Placemark[E].Point.coordinates[0]+","+D.Placemark[E].Point.coordinates[1])}F+='<li title="'+D.Placemark[E].Point.coordinates[0]+","+D.Placemark[E].Point.coordinates[1]+'">'+D.Placemark[E].address.replace(/, Estonia/,"").replace(/Parish/,"vald")+"</li>"}}if(!F){if(hidetimeout){window.clearTimeout(hidetimeout)}jQuery("#map-results").html('<li class="map-error">Otsingule vasteid ei leitud.</li>').removeClass("hidden")}else{jQuery("#map-results").html(F).removeClass("hidden");jQuery("#map-results li").bind("click",function(G){searchResult(jQuery(this).text(),jQuery(this).attr("title"))})}})}function searchResult(B,D){jQuery("#map-otsi-f").val(B);jQuery("#map-results").addClass("hidden");var A=D.split(",");var D=new OpenLayers.LonLat(A[0],A[1]).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection(mapConfig.projection));if(!searchLayer){searchLayer=new OpenLayers.Layer.Vector("Otsing",{styleMap:new OpenLayers.StyleMap({externalGraphic:mapConfig.imgLoc+"searchresult.png",graphicWidth:20,graphicHeight:34,graphicYOffset:-34,graphicOpacity:1})});map.addLayer(searchLayer)}else{searchLayer.destroyFeatures()}var C=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(D.lon,D.lat));searchLayer.addFeatures([C]);map.setCenter(D,map.baseLayer.resolutions.length-3)}jQuery("#map-otsi-f").bind("blur",function(A){if(hidetimeout){window.clearTimeout(hidetimeout)}hidetimeout=window.setTimeout("jQuery('#map-results').addClass('hidden');",500)});jQuery("#map-search form").bind("mouseout",function(A){if(hidetimeout){window.clearTimeout(hidetimeout)}hidetimeout=window.setTimeout("jQuery('#map-results').addClass('hidden');",500)});jQuery("#map-search form").bind("mouseover",function(A){if(jQuery("#map-results").text().length){if(hidetimeout){window.clearTimeout(hidetimeout)}jQuery("#map-results").removeClass("hidden")}});jQuery("#map-search form").bind("submit",function(A){gmapsearch(jQuery("#map-otsi-f").val(),true)})};
