var $_extEventHandler=null;var $_extPickTip=null;var $_extPickOptions=null;var $_DisableMyObjects=false;var $_LineColor="red";var $_LineWidth=2;var $_LineType="solid";var $_FillColor="blue";var $_FillOpacity="0.5";var window_type=null;var $_UserPositionTimeOut=5000;var $_insertAddressMunicipality;var $_mouseMoveUseTimer=true;var $_mouseMoveTimerInterval=300;var subsite=null;var positionTarget="";var toolMode="pan";var toolModePrevious="pan";var _imageSize=256;var _tileOriginOffsetX=undefined;var mapObj;var mapMeter;var mapDrawing;function get_Center(c){var a=window.teklaMap.getCenter();var b={n:a.lat,e:a.lng};if(Tekla.SideBar&&Tekla.SideBar.isVisible()){b.e=a.lng+(200*currentWupp())}return b}var fillDrawing=false;var $_infoTimer;var distanceStartOffsetX=16;var distanceStartOffsetY=16;var $_SelectedDBIndex;var $_SelectedId;var $_queryTargetUrl=null;var $_queryTargetTimeout=100;var $_queryCookieName="userquery0801";function TXWSetAttributes(){var c=true;var e,b=TXWSetAttributes.arguments;var d,f;for(e=0;e<b.length;e+=2){d=b[e];if((e+1)<b.length){f=b[e+1];if(TXWSetAttribute(d,f)!=true){c=false}}}return c}function TXWSetAttribute(b,c){var a=true;if(b=="tileSize"){_imageSize=c}else{if(b=="tileOriginOffsetX"){_tileOriginOffsetX=c}else{if(b=="userquery-url"){$_queryTargetUrl=c}else{if(b=="userquery-timeout"){$_queryTargetTimeout=c}else{if(b=="mmove-timer"){$_mouseMoveUseTimer=c}else{if(b=="mmove-timer-intv"){$_mouseMoveTimerInterval=c}else{if(b=="disable-myobjects"){$_DisableMyObjects=c}else{a=false}}}}}}}return a}function __getPinImage(b){var a="/Images/pointer.png";return b?a:options.appPath+a}function __getLineImage(){return options.appPath+"/Images/polypoint.gif"}function __getPolygonImage(){return options.appPath+"/Images/areapoint.gif"}function __getMeasImage(){return options.appPath+"/Images/measure-pin.png"}function $_EnsureColors(){if(options&&typeof options._getCurrentPresentation==="function"){var a=options._getCurrentPresentation();if(a){$_LineColor=a.LineColor;$_LineOpacity=a.LineOpacity;$_LineWidth=a.LineWidth;$_LineType=a.LineType;$_FillColor=a.FillColor;$_FillOpacity=a.FillOpacity}}if(!$_LineColor){$_LineColor="red"}if(!$_LineWidth){$_LineWidth=2}if(!$_LineType){$_LineType="solid"}if(!$_FillColor){$_FillColor="blue"}if(!$_FillOpacity){$_FillOpacity="0.5"}}function $_AdjustRange(d,b,a,c){if(d<b||d>a){return c}return d}function $_SetActiveObject(b,a){$_SelectedDBIndex=b;$_SelectedId=a}function CheckBrowser(c,a,b){return true}var $_CrdLatLng=null;var $_Crd_timer;function $_showCoordinates_enable(){var b=document.getElementById("coordinatediv");if(!b){return}var a=window.teklaMap.getCenter();$_showCoordinates_common([a.lat,a.lng]);if($_mouseMoveUseTimer){window.teklaMap.AddMapMoveListener($_showCoordinates_timer)}else{window.teklaMap.AddMapMoveListener($_showCoordinates)}}function $_showCoordinates_disable(){if($_mouseMoveUseTimer){window.teklaMap.RemoveMapMoveListener($_showCoordinates_timer);if($_Crd_timer){clearTimeout($_Crd_timer);$_Crd_timer=null}}else{window.teklaMap.RemoveMapMoveListener($_showCoordinates)}}function $_showCoordinates_timer(a){if(a){if($_Crd_timer){$_CrdLatLng=[a.latlng.lat,a.latlng.lng]}else{$_Crd_timer=setTimeout("shC();",$_mouseMoveTimerInterval)}}}function shC(){$_Crd_timer=null;if($_CrdLatLng){$_showCoordinates_common($_CrdLatLng)}}function $_showCoordinates(a){$_showCoordinates_common([a.latlng.lng,a.latlng.lat])}function $_showCoordinates_common(b){var a=$_getCoordinateString(b[0],b[1]);var c=document.getElementById("coordinatediv");if(c){c.innerHTML=a}}function $_queryOnMouseup(){var a=window.teklaMap;$_updateCategoryMove();a.NeedLayerRedraw();a.EndGuiTrans()}var $_wheelListenerActive=false;var $_wheelListenerTimer=null;function sWLT(){if($_wheelListenerActive===false&&!$_wheelListenerTimer){if(options.wheelTimeOut>0){$_wheelListenerTimer=setTimeout(function(){sWL(true)},options.wheelTimeOut)}else{sWL(true)}}}function handleMouseDown(a,c,b){return}function drawLine(a){}function drawZoom(a){}function doPan(c,b,a){return}function stopPan(a){setHandCursor(mapObj);return}var linkresult=null;function initlink(a){linkresult=a}function $_GetLocation(a){var i=0;Tekla.MapBubble.hideAll();window.teklaMap.BeginGuiTrans();var k=String.get_Safe(a.query.title);var g=new SR_Point(k,k,null,null,a.query.north,a.query.east);g.tpid=a.query.tpid;g.returnurl=a.query.returnurl;g.set_EditType("ext");g.Editable=true;if(a.query.conv){g.Conv=a.query.conv}var d=SearchDB.Insert(g);var h="";h+='<div class="mysites">';h+='   <h3 class="mysites">'+String.format(GetText("cl_getLocationTitle")||"",k)+"</h3>";h+='   <div class="actionhelp">'+GetText("cl_getLocationHelp")+"</div>";h+="</div>";var e=jQuery(h);if(d>0){e.append(jQuery('<div><a class="getlocationrow" href="#">'+k+"</a></div>").find("a").click(function(){searchClick(OBJ_SEARCH,g.__id);return false}).end());var f=Tekla.MapBubble.getObjectActions("ext",OBJ_SEARCH,g);jQuery.each(f,function(){$this=this;e.append(jQuery('<div><a class="bubblelink" href="#">'+$this.name+"</a></div>").find("a").click(function(l){$this.action(l);return false}).end())})}$_showSiteResultWnd(e);var b=window.teklaMap;b.NeedLayerRedraw();b.EndGuiTrans();var j=b._PrepareBubble(OBJ_SEARCH,g);if(j!=null){var c=g.get_CenterPoint();b.ShowBubble([c.y,c.x],j,__PopupAnchor(g))}}function createSite(a){hideInfo();clearToolstate();window.teklaMap._HandleRemove();toolMode="createsite";jQuery("body").addClass(toolMode);setStatus(GetText("cl_selectNewObjectPosition"));window.teklaMap.AddMapMoveListener(updateTooltip);enableTooltip(a);jQuery(".leaflet-container").css("cursor","crosshair")}function updateSites(){window.teklaMap.RedrawLayers()}function deleteDrawing(){_clearLayers(L_TEMPLAYER);mapDrawing.points=null}function showSite(c,b,a){var e=document.getElementById("mapsites");var d=$_DBSelect(c,b);if(d){if(!a){$_ZoomToObject(d)}showInfo(c,b,null,null)}}function $_generateLayerCommand(){var c=Tekla.Layers.getselected(false,true);var a="";if(c&&c.length>0){for(var b=0;b<c.length;b++){if(b>0){a+="|"}a+=$_ENCODE(c[b])}}return"&Layerkey="+a}function changeArea(){$_changeAreaBySelect("areaselect")}function $_ZoomToObject(d){if(d){if(window.teklaMap._getIsThreeDMode()){if(window.teklaMap3&&window.Tekla.ThreeD){var e=d.get_BB();window.Tekla.ThreeD.updateCamera({north:e.northmin+(e.northmax-e.northmin)/2,east:e.eastmin+(e.eastmax-e.eastmin)/2});window.Tekla.ThreeD.setViewAngle("north")}return}if($_CallEventHandler(tekla.Map.EVENT.ZOOMINGTOOBJECT,d)!==false){var e=d.get_BB();if(e&&e.Valid){if(options&&options.zoomMarginal>0.1){e.Extend(options.zoomMarginal)}var c=e.eastmax-e.eastmin;var a=e.northmax-e.northmin;var b=[[e.northmin,e.eastmin],[e.northmax,e.eastmax]];window.teklaMap._FitBounds(b);window.teklaMap._UpdateMapPosition(true)}}}}function __ZoomToBB(b){if(b&&b.Valid){if(options&&options.zoomMarginal>0.1){b.Extend(options.zoomMarginal)}var a=[[b.northmin,b.eastmin],[b.northmax,b.eastmax]];window.teklaMap._FitBounds(a);window.teklaMap._UpdateMapPosition(true)}}function showDrawing(c,a){var f=$_DBSelect(c,a);if(f){if(window.Tekla.MobileSetTab){window.Tekla.MobileSetTab("map")}$_ZoomToObject(f);var e=window.teklaMap;var d=e._PrepareBubble(c,f);if(d!=null){var b=f.get_CenterPoint();e.ShowBubble([b.y,b.x],d,__PopupAnchor(f))}}}function _updateCopyright(a,b){layersobj=document.getElementById("copy2");if(layersobj&&a){layersobj.innerHTML=a}}function clearAllSites(){$_ClearElementInnetHTML("searchresults");window.teklaMap._ClearVisualizations(false)}function $_setCookie(d,e){var b;var c=new Date();var f=356;c.setTime(c.getTime()+(f*24*60*60*1000));var a="; expires="+c.toGMTString();b=d+"="+e;b=b+a;document.cookie=b}function $_getCookie(c){var b=""+document.cookie;var d=c+"=";var e=b.indexOf(d);if(e!=-1){var a=b.indexOf(";",e);if(a!=-1){return b.substring(e+d.length,a)}else{return b.substring(e+d.length,b.length)}}else{return null}}function $_eSiteLink(a){if(a.ResultArray||a.geoJSON){$_beginResultSet(OBJ_SEARCH);if(a.ResultArray){for(var b=0;b<a.ResultArray.length;b++){var c=a.ResultArray[b][0];if(c.geoJSON){$_layerGeoJSONDisplayResults(SearchDB,c.geoJSON)}}}else{$_layerGeoJSONDisplayResults(SearchDB,a.geoJSON)}$_endResultSet(OBJ_SEARCH)}if(a.objectdata){$_publishObjectData(a.objectdata)}}var curPrSet=null;function showPrintPage(a){curPrSet=a;if(a&&a.layout){window.teklaMap.printPage(null,null,a.layout)}else{window.teklaMap.printPage()}}function $_redrawDrawing(){$_EnsureColors();mapDrawing.linecolor=$_LineColor;mapDrawing.lineweight=$_LineWidth;mapDrawing.dashtype=$_LineType;mapDrawing.fillcolor=$_FillColor;mapDrawing.fillopacity=$_FillOpacity;var b=L.polyline(mapDrawing.points,{color:$_LineColor,weight:__GetWeight($_LineWidth),fill:false,identity:"drawing"});b.on({contextmenu:function(a){}});container=new L.FeatureGroup();container.addLayer(b);var e=L_inserthandle(mapDrawing.points[0][0],mapDrawing.points[0][1]);e.on({click:function d(a){showSiteProperties(a.latlng);if(a.preventDefault){a.preventDefault()}}});e.on({doubleclick:function d(a){cancelEventPropagation(event)}});container.addLayer(e);if(mapDrawing.points.length>2){var c=mapDrawing.points.length-1;var e=L_inserthandle(mapDrawing.points[c][0],mapDrawing.points[c][1]);e.on({click:function d(a){showSiteProperties(a.latlng);if(a.preventDefault){a.preventDefault()}}});e.on({doubleclick:function d(a){cancelEventPropagation(event)}});container.addLayer(e)}if(L_TEMPLAYER){window.teklaMap.removeLayer(L_TEMPLAYER)}L_TEMPLAYER=container;if(L_TEMPLAYER){window.teklaMap.addLayer(container)}}function actionUrl(a,c){var b=options.appPath+"/"+options.lang+"/"+a;if(c){b+="/"+c}return b}function currentWupp(){var a=window.teklaMap;return a.options.crs.zoom2Wupp(a.getZoom())}function meters2LatLon(a,e){var c=20037508.342789;var d=(a/c)*180;var b=(e/c)*180;b=180/Math.PI*(2*Math.atan(Math.exp(b*Math.PI/180))-Math.PI/2);return{lon:d,lat:b}}function $_isValidUrl(c,a){var b=false;if(!c){return false}if(a){var e=/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;b=e.test(c);if(b==true){var d=c.indexOf(" ");if(d>=0){b=false}}}else{b=(c&&c!=null&&c!="null"&&c!="undefined"&&c!=undefined)}return b}function $_tryGetValidUrl(c,a){var b=false;if(!c){return null}if(a){var e=/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;b=e.test(c);if(b==true){var d=c.indexOf(" ");if(d>=0){b=false}}else{var e=/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;b=e.test(c);if(b==true){c="http://"+c}}}else{b=(c&&c!=null&&c!="null"&&c!="undefined"&&c!=undefined)}return b?c:null};
var $_GeoUtil=new GeoUtil();var $_CoordDef=null;var $_CoordLabelDistanceKey=null;var $_CoordLabelStatusRowKey=null;function $_coordinatesInit(c,b,a){$_CoordDef=$_ParseIniString(c,b,a)}function $_getCoordinateString(d,a,c){var b=GetText("cl_distanceCoordinates");if(c&&c=="distance"){if(String.IsPrintable($_CoordLabelDistanceKey)){b=GetText("cl_"+$_CoordLabelDistanceKey)}}else{if(String.IsPrintable($_CoordLabelStatusRowKey)){b=GetText("cl_"+$_CoordLabelStatusRowKey)}}return $_coordinateFormat(b,d,a)}function $_coordinateFormat(c,d,b){var a;if($_CoordDef){if($_CoordDef.wgs){a=$_CoordDef.wgs.ConvertFormatXY(c,b,d)}else{if($_CoordDef.zoneshift){a=$_CoordDef.zoneshift.ConvertFormatXY(c,b,d)}else{if($_CoordDef.affine){a=$_CoordDef.affine.ConvertFormatXY(c,b,d)}else{a=String.format(c,Math.round(d),Math.round(b))}}}}else{a=String.format(c,Math.round(d),Math.round(b))}return a}function $_splitAction(d){var c={name:"",params:""};var b=d.indexOf("[");var a=d.indexOf("]");if(b>=0&&a>=0){c.name=d.slice(0,b);c.params=d.slice(b+1,a)}return c}function $_splitAffine(e){var b={name:null,a:null,b:null,c:null,d:null,e:null,f:null};var a=e.split(",");if(a.length>1){for(var c=0;c<a.length;c++){var d=$_splitNameValue(a[c],"=");b[d.name]=parseFloat(d.value)}}else{b.name=a[0]}return b}function $_splitZoneShift(e){var a={source:-1,target:3};var c=e.split(",");for(var b=0;b<c.length;b++){var d=$_splitNameValue(c[b],"=");if(d.value=="auto"){a[d.name]=-1}else{a[d.name]=parseInt(d.value,10)}}return a}function $_ParseIniString(d,c,m){var h={affine:null,zoneshift:null,wgs:null};var e=null;if(String.IsPrintable(c)){$_CoordLabelDistanceKey=c}if(String.IsPrintable(m)){$_CoordLabelStatusRowKey=m}if(String.IsPrintable(d)){e=d.stripSpaces().split(";")}if(e&&e.length>0){for(var f=0;f<e.length;f++){var l=$_splitAction(e[f]);if(l.name=="affine"){var g=$_splitAffine(l.params);if(g.name=="turku"||g.name=="turkuwithzone"){h.affine=new CCHelmert(g.name)}else{h.affine=new CCHelmert("param",g.a,g.b,g.c,g.d,g.e,g.f)}}else{if(l.name=="kkjzoneshift"){var k=$_splitZoneShift(l.params);h.zoneshift=new CCKKJZoneShift(h.affine,k.source,k.target)}else{if(l.name=="kkj2wgs"){var j=-1;var b=$_splitNameValue(l.params,"=");if(b.name=="source"){if(b.value=="auto"){j=-1}else{j=parseInt(b.value,10)}}h.wgs=new CCWGS84(h.affine,j)}else{setStatus("Transform "+l.name+" not supported")}}}}}return h}function CCHelmert(i,h,g,m,l,k,j){this.Type=i;this.aff_a=h;this.aff_b=g;this.aff_c=m;this.aff_d=l;this.aff_e=k;this.aff_f=j}CCHelmert.prototype.ConvertXY=function(f,j){var c,a;if(this.Type=="turku"||this.Type=="turkuwithzone"){var h,d,n,k,b,i,g,e;e=f;g=j;h=g/1000;d=e/1000;n=(h-105)*(2*d*d+140*d-4900)/244900;k=(d*d*d-343000-(h-105)*(h-105)*(d+140))/244900;b=g+6600000+n;i=e+500000+k;if(b>1000000){h=b-Math.floor(b/1000000)*1000000}else{h=b}if(i>100000){d=i-Math.floor(i/100000)*100000}else{d=i}c=1.000005371*h+4.9e-8*d-5.782-h+b;a=1.000005371*d-4.9e-8*h+0.924-d+i;if(this.Type=="turkuwithzone"){if(a<1000000){a+=1000000}}}else{if(this.Type=="param"){var m=j;var l=f;c=this.aff_a+this.aff_c*m+this.aff_d*l;a=this.aff_b+this.aff_e*m+this.aff_f*l}else{c=f;a=j}}return new Array(c,a)};CCHelmert.prototype.ConvertFormatXY=function(h,c,g){var b=this.ConvertXY(c,g);var i=$_Fmt_3(Math.round(b[0]));var f=$_Fmt_3(Math.round(b[1]));var d=String.format(h,i,f);return d};function CCKKJZoneShift(c,b,a){this.Helmert=c;this.SourceZone=b;this.TargetZone=a}CCKKJZoneShift.prototype.ConvertXY=function(d,h){var c,a;c=d;a=h;var i=this.SourceZone;var f;var b;if(this.Helmert!=null){var e=this.Helmert.ConvertXY(d,h);c=e[0];a=e[1]}if(i<0){i=$_GeoUtil.KKJ_DetectZone(a)}var g=$_GeoUtil.KKJ_xy2gk(a,c,i);f=g[0];b=g[1];return $_GeoUtil.KKJ_gk2xy(f,b,this.TargetZone)};CCKKJZoneShift.prototype.ConvertFormatXY=function(f,c,e){var b=this.ConvertXY(c,e);var d=String.format(f,Math.round(b[1]),Math.round(b[0]));return d};function CCWGS84(a,b){this.Helmert=a;this.ResultZone=b}CCWGS84.prototype.ConvertFormatXY=function(f,a,e){var d;d=this.ConvertXY_MML(a,e);var b=d[0];var c=d[1];ll=new LatLon();ll.set_DoubleDec(b);b=ll.ToString();ll.set_DoubleDec(c);c=ll.ToString();return String.format(f,b,c)};CCWGS84.prototype.ConvertXY_MML=function(d,k){var g,b;var c=d;var a=k;var e,i;var l=this.ResultZone;if(this.Helmert!=null){var f=this.Helmert.ConvertXY(d,k);c=f[0];a=f[1]}if(l<0){l=$_GeoUtil.KKJ_DetectZone(a)}if(l!=3){var h=$_GeoUtil.KKJ_xy2gk(a,c,l);g=h[0];b=h[1];var j=$_GeoUtil.KKJ_gk2xy(g,b,3);a=j[0];c=j[1]}if(c<=7200000){e=-125.056+0.9999955294*c+0.0000068348*a;i=-107.85+0.9999955294*a-0.0000068348*c}else{e=-132.881+1.0000006841*c-0.0000015179*a;i=-185.993+1.0000006841*a+0.0000015179*c}return $_GeoUtil.WGS_xy2gk(i,e,3)};function GeoUtil(){}GeoUtil.prototype.atanh=function(a){return Math.log((1+a)/(1-a))/2};GeoUtil.prototype.asinh=function(a){return Math.log(a+Math.sqrt(a*a+1))};GeoUtil.prototype.cosh=function(a){var b=Math.exp(a);b=(b+1/b)/2;return b};GeoUtil.prototype.sinh=function(a){var b=Math.exp(a);b=(b-1/b)/2;return b};GeoUtil.prototype.tanh=function(d){var f=Math.exp(d);var e=(f-1/f);var c=(f+1/f);return e/c};GeoUtil.prototype.KKJ_DetectZone=function(a){var b=0;if(a>=1000000&&a<2000000){b=1}else{if(a>=2000000&&a<3000000){b=2}else{if(a>=3000000&&a<4000000){b=3}else{if(a>=4000000&&a<5000000){b=4}else{if(a>=5000000&&a<6000000){b=5}else{if(a>=6000000&&a<7000000){b=6}else{if(a>=7000000&&a<8000000){b=7}}}}}}}return b};GeoUtil.prototype.KKJ_DetectGeoZone=function(a){var b=0;if(a>16.5&&a<=19.5){b=0}else{if(a>19.5&&a<=22.5){b=1}else{if(a>22.5&&a<=25.5){b=2}else{if(a>25.5&&a<=28.5){b=3}else{if(a>28.5&&a<=31.5){b=4}else{if(a>31.5&&a<=34.5){b=5}else{if(a>34.5&&a<=37.5){b=6}else{if(a>37.5&&a<=40.5){b=7}}}}}}}}return b};GeoUtil.prototype.KKJ_xy2gk=function(r,p,m){var n,c;var a=6367654.500057584;var l=0.08199188997902919;var o,h,f,t,b,k,j,s;var g;var d=[0.0008412763388185882,5.956192977992e-8,1.6948520876e-10,2.204739e-13];r=r-500000-1000000*m;o=p/a;f=r/a;h=o;t=f;for(g=1;g<5;g++){h=h-d[g-1]*Math.sin(2*g*o)*this.cosh(2*g*f);t=t-d[g-1]*Math.cos(2*g*o)*this.sinh(2*g*f)}s=Math.asin(1/this.cosh(t)*Math.sin(h));b=this.asinh(Math.tan(s));j=b;k=b;g=0;do{g++;k=j;j=b+l*this.atanh(l*this.tanh(j))}while(((k-j>1e-12)||(k-j<-1e-12))&&g<20);n=Math.atan(this.sinh(j))*180/Math.PI;c=Math.asin(this.tanh(t)/Math.cos(s))*180/Math.PI;c=c+(18+m*3);return new Array(n,c)};GeoUtil.prototype.KKJ_gk2xy=function(o,b,m){var r,p;var a=6367654.500057584;var l=0.08199188997902919;var c,k,j,s,f,t,n,h;var d=[0.0008412759910095592,7.6730668628408e-7,1.21291229577e-9,2.48508228e-12];o=o/180*Math.PI;b=b/180*Math.PI;b=b-(18+m*3)/180*Math.PI;k=this.asinh(Math.tan(o));j=this.atanh(l*Math.sin(o));c=k-l*j;s=Math.atan(this.sinh(c));t=this.atanh(Math.cos(s)*Math.sin(b));h=Math.asin(Math.sin(s)*this.cosh(t));n=h;f=t;for(var g=1;g<5;g++){n=n+d[g-1]*Math.sin(2*g*h)*this.cosh(2*g*t);f=f+d[g-1]*Math.cos(2*g*h)*this.sinh(2*g*t)}p=a*n;r=a*f;r=r+500000+1000000*m;return new Array(r,p)};GeoUtil.prototype.WGS_xy2gk=function(r,p,m){var n,c;var a=6367449.145823415;var l=0.08181919084262149;var o,h,f,t,b,k,j,s;var g;var d=[0.0008377321640600652,5.9058695679340996e-8,1.6734888803548956e-10,2.1677377630221183e-13];r=r-500000-1000000*m;o=p/a;f=r/a;h=o;t=f;for(g=1;g<5;g++){h=h-d[g-1]*Math.sin(2*g*o)*this.cosh(2*g*f);t=t-d[g-1]*Math.cos(2*g*o)*this.sinh(2*g*f)}s=Math.asin(1/this.cosh(t)*Math.sin(h));b=this.asinh(Math.tan(s));j=b;k=b;g=0;do{g++;k=j;j=b+l*this.atanh(l*this.tanh(j))}while(((k-j>1e-12)||(k-j<-1e-12))&&g<20);n=Math.atan(this.sinh(j))*180/Math.PI;c=Math.asin(this.tanh(t)/Math.cos(s))*180/Math.PI;c=c+(18+m*3);return new Array(n,c)};function LatLon(){this.DoubleValue=0}LatLon.prototype.set_DoubleDec=function(a){this.DoubleValue=a};LatLon.prototype.get_DoubleDec=function(){return this.DoubleValue};LatLon.prototype.ConvertDouble2Deg=function(){this.Degrees=Math.floor(this.DoubleValue);var a=(this.DoubleValue-this.Degrees)*60;this.Minutes=Math.floor(a);this.Seconds=(a-this.Minutes)*60;return true};LatLon.prototype.ToString=function(b){this.ConvertDouble2Deg();var a=Math.round(this.Seconds*100)/100;return this.Degrees+"º "+this.Minutes+"' "+a+"''"};function $_Fmt_3(d){var b="";d=d+"";if(d&&d.length>3){var a=d.length;for(var c=0;c<a;c++){if(c>0&&(a-c)%3==0){b+=" "}b+=d.charAt(c)}}else{b=d}return b}(function(a){if(!a.Tekla){a.Tekla={}}if(!a.Tekla.CoordinateTransformation){a.Tekla.CoordinateTransformation={}}a.Tekla.CoordinateTransformation.transform=function(g,d,f,c){var e={north:g,east:d};if(c&&c.sourceSystem){e.sourceSystem=c.sourceSystem}if(c&&c.targetSystem){e.targetSystem=c.targetSystem}if(c&&c.decimalCount){e.decimalCount=c.decimalCount}var b=actionUrl("Transform");jQuery.ajax({type:"GET",url:b,data:e,dataType:tekla.utility.isSameOrigin(b)?"json":"jsonp",success:function(h){f(h)}})}}(window));
var $_defaultPresentation=null;var $_defaultTexts=null;function $_deleteGuideLines(){}function $_GetSVGSource(a){}function $_GetVMLDiv(a){}function $_GetSVGDiv(a){}function $_guiDrawObjectVisible(a,c){var b=false;return b}function $_DrawModeOn(){var a=false;if(toolMode==="drawpolygon"||toolMode==="drawrectangle"||toolMode==="drawpolyline"||toolMode==="createaddress"||toolMode==="createsearchobject"||toolMode==="createsite"||toolMode==="movesite"||toolMode==="selectposition"||toolMode==="distance"||toolMode==="moveLine"||toolMode==="zoom"){a=true}return a}function $_GetSVGDashArray(a){if(a=="solid"){return"1"}if(a=="dot"){return"3,8"}else{if(a=="dash"){return"8,8"}else{if(a=="longdash"){return"18,8"}else{return"1"}}}}function $_SVGObjectVisible(a,c){var d=$_GetSVGSource(a);if(d){for(var b=0;b<d.childNodes.length;b++){if(!c||d.childNodes[b].linename==c){return true}}}return false}function $_deleteChildNodes(b,a,c){if(!b.childNodes){return}for(i=0;i<b.childNodes.length;i++){if(!a||b.childNodes[i].linename==a){if(!(c&&$_matchDynTarget(c,b.childNodes[i].linename))){b.removeChild(b.childNodes[i]);i=i-1}}}}function refreshDraw(f){if(f.Geometry){var e=1;if(f.Geometry.members){e=f.Geometry.members.length}var b=new Array();for(var a=0;a<e;a++){for(var g in L_MYSITESLAYER._layers){var c=L_MYSITESLAYER._layers[g];if(c&&c.options.obj.__id==f.__id){b.push(c)}}}for(var d=0;d<b.length;d++){L_MYSITESLAYER.removeLayer(b[d])}}window.teklaMap._HandleRemoveAll();$_CreatePolylinePolygonHTML(true,OBJ_MYSITES,f,L_MYSITESLAYER)}function removeNode(a){var b=$_DBSelect(OBJ_MYSITES,a.Id);if(b){$_DBSetDirty(OBJ_MYSITES,true);b.RemoveNode(a.NodeId,a.MemberId,a.RingId);refreshDraw(b,OBJ_MYSITES+$_nameSeparator+a.Id)}}function $_endPolygon(a){handleDoubleClick(a);cancelEventPropagation(a)}var $_MouseMoved=false;var $_nameSeparator="_";
var OBJ_CATLAYER=0;var OBJ_SEARCH=1;var OBJ_MYSITES=2;var OBJ_NAMEDAREAS=3;var L_CATLAYER;var L_SEARCHLAYER;var L_MYSITESLAYER;var L_TEMPLAYER;var L_HANDLESLAYER;var L_MEASURELAYER;var L_USERPOSITIONLAYER;var L_MAPOBJECTPOSITIONLAYER;function _clearLayers(a){if(a){a.clearLayers()}}var LIST_NO=0;var LIST_COLLECTION=2;var LIST_NO_CC=3;var LIST_CB=4;var TXWConst={EDITSTATE_PROPERTIES:1,EDITSTATE_GEOMETRY:2,EDITSTATE_PRESENTATION:4,EDITSTATE_ALL:3,CATEGORY:0,SEARCH:1,MYSITES:2};var LayerDB=new DataBase(true);var SearchDB=new DataBase(false);var MySitesDB=new DataBase(false);var StreetNameDB=new StreetNameDataBase(false);var NamedAreasDB=new DataBase(false);var HLDB=new HLSelection(false);var LoadBB=null;var $_defaultLineColor="Red";var $_defaultFillColor="Green";var $_defaultLineType="solid";var $_defaultLineWidth=4;var $_defaultFillOpacity=0.7;var $_defaultLineOpacity=0.8;var $_GlobalLayerLevelsHash=new Object();function $_GlobalLayerLevels_Find(a){return $_GlobalLayerLevelsHash[a]}function $_GlobalLayerLevels_Add(b,a){$_GlobalLayerLevelsHash[b]=a}function $_GlobalLayerLevels_Remove(a){$_GlobalLayerLevelsHash[a]=null}function $_CategoryLoadable(b){var a=true;if(options.mapData.settings.CatLayerMax&&b>options.mapData.settings.CatLayerMax){a=false}return a}function $_DBIsPolylineOrArea(a){return a&&a.PointArray}function $_DBIsValidObject(a){return(a&&(a.Name||a.FmtText||a.AttrList))}function $_DBObjectOverlap(c,d){if(!d){return true}var a=c.get_BB();return d.BBOverlap(a)}function $_DBSelect(c,a){var b=$_GetDBByIndex(c);var d=b.Select(a);return d}function $_DBSetDirty(c,b){var a=$_GetDBByIndex(c);if(a){a.set_Dirty(b)}}function $_DBDelete(d,a){var c=false;var b=$_GetDBByIndex(d);var e=b.Select(a);if(e){b.DeleteObj(e);if(d==OBJ_MYSITES){window.teklaMap._HandleRemoveIf(a)}c=true}return c}function $_GetDBByIndex(b){var a=MySitesDB;if(b==OBJ_CATLAYER){a=LayerDB}else{if(b==OBJ_SEARCH){a=SearchDB}else{if(b===OBJ_NAMEDAREAS){a=NamedAreasDB}}}return a}function $_GetIndexByDB(b){var a=OBJ_MYSITES;if(b==LayerDB){a=OBJ_CATLAYER}else{if(b==SearchDB){a=OBJ_SEARCH}}return a}function TXWPoint(b,a){this.south=b;this.east=a}TXWPoint.prototype.North=function(){return this.south};TXWPoint.prototype.East=function(){return this.east};function $_ConvertPointsToPoint(c,a){var b=new Array();b.push(a);b.push(c);return b}function $_ConvertPointsToPolygon(e){var f=new Array();var d=new Array();for(var c=0;c<e.length;c++){var b=new Array();b.push(e[c][1]);b.push(e[c][0]);d.push(b)}f.push(d);return f}function _TXWConvertPointsToPolygon(d){var e=new Array();var c=new Array();for(var b=0;b<d.length;b++){c.push([d[b].east,d[b].south])}e.push(c);return e}function _TXWConvertPointsToLineString(c){var d=[];if(c){for(var b=0;b<c.length;b++){d.push([c[b].east,c[b].south])}}return d}function $_ConvertPointsToLineString(c){var d=[];if(c){for(var b=0;b<c.length;b++){d.push([c[b][1],c[b][0]])}}return d}function $_ConvertToPointArray(d,b){var e=new Array();for(var c=0;c<d.length&&c<b.length;c++){e.push(new TXWPoint(d[c],b[c]))}return e}function _isThreeD(a){return a&&a.length>2}function _geoIsThreeD(a){return a.type==="LineString"&&_isThreeD(a.coordinates[0])}function $_objectVisible(c,a,d){var b=false;return b}function $_DBFindObjectByName(b,a){return $_DBFindObjectByAttribute(b,"Name",a)!=null}function $_DBFindObjectByAttribute(b,c,d){for(var a=0;a<b.items.length;a++){var e=b.items[a];if(e&&e[c]==d){return e}}return null}function DataBase(a){this.__id=1;this.items=new Array();this.idindex=new Array();if(a){this.__visibleLayers=new Array();this.__visibleCategories=new Array();this.__loadedCategories=new Array();this.__wupp=null;this.LoadedBB=new BBox()}}DataBase.prototype.GetAt=function(a){return this.items[a]};DataBase.prototype.$_NeedLoad_Area=function(){var a=true;if(this.LoadedBB.Valid){var b=$_getAreaBB(0.01);if(this.LoadedBB.BBInside(b)){a=false}}return a};DataBase.prototype.$_LayerLoaded=function(b){var a=false;if(this.__loadedCategories.Find(b)){a=true}return a};DataBase.prototype.Clear=function(c){var e=[];var b=[];if(!c){for(var a=0;a<this.items.length;a++){var d=this.items[a];if(d&&d.Permanent){e.push(d);b[d.__id]=e.length-1}}}this.items=e;this.idindex=b;this.Dirty=false};DataBase.prototype.GetPermanentItems=function(){var c=[];for(var a=0;a<this.items.length;a++){var b=this.items[a];if(b&&b.Permanent){c.push(b)}}return c};DataBase.prototype.ClearFiltered=function(d){var f=[];var c=[];for(var a=0;a<this.items.length;a++){var e=this.items[a];var b=e&&e.Permanent;if(!b){b=d(e)}if(b){f.push(e);c[e.__id]=f.length-1}}this.items=f;this.idindex=c;this.Dirty=false;window.teklaMap._UpdateMapPosition()};DataBase.prototype.Count=function(b){var c=0;var d;for(var a=0;a<this.items.length;a++){d=this.items[a];if($_DBIsValidObject(d)){if(b&&d.Permanent){}else{c++}}}return c};DataBase.prototype.CopyObjectsToDB=function(c,e){var d=e||1;var c=c||MySitesDB;if(c&&d>0){for(var a=0;a<this.items.length;a++){var f=this.items[a];if($_DBIsValidObject(f)&&!f.Permanent){var b=c.InsertClone(f,true);b.Editable=true;b.set_Dirty(TXWConst.EDITSTATE_ALL);$_CallEventHandler(tekla.Map.EVENT.DRAWINGREADY,b);d-=1;if(d==0){return}}}}return};DataBase.prototype.set_LoadedArea=function(a){this.LoadedBB=a};DataBase.prototype.CatChecked=function(a){if(a!==this.lastc){this.laststate=this.__visibleCategories.Find(a);this.lastc=a}return this.laststate};DataBase.prototype.CatChecked_Bg=function(){this.lastc=null;this.laststate=false};DataBase.prototype.AddLayer=function(a){if(!this.__visibleLayers.Find(a)){this.__visibleLayers.push(a)}};DataBase.prototype.__addCategory=function(c,a){var b=false;if(this.__visibleCategories.Find(c)==false){this.__visibleCategories.push(c);b=true}if(a&&this.__loadedCategories.Find(c)==false){this.__loadedCategories.push(c);b=true}return b};DataBase.prototype.AddCategory=function(d,b){var c=false;var a=this;Tekla.Layers.__enumInfo(d,function(e){if(a.__addCategory(e,b)){c=true}});return c};DataBase.prototype.UnloadCategory=function(c){var b=false;if(this.__loadedCategories.Find(c)){this.__loadedCategories.remove(c);b=true}this.LoadedBB.Valid=false;for(var a=0;a<this.items.length;a++){var d=this.items[a];if(d!=null&&d.Category==c){this.items[a]=null}}return b};DataBase.prototype.RemoveLayer=function(a){var b=this.__visibleLayers.Find(a);if(b){this.__visibleLayers.remove(a)}};DataBase.prototype.RemoveCategory=function(b){var d=false;if(this.__visibleCategories.Find(b)==true){this.__visibleCategories.remove(b);d=true}if(this.__loadedCategories.Find(b)==true){this.__loadedCategories.remove(b);d=true}for(var a=0;a<this.items.length;a++){var c=this.items[a];if(c!=null&&c.Category==b){this.items[a]=null}}return d};DataBase.prototype.DeleteObj=function(b){if(b){if(b.Editable){var a=null;if(b.get_EditType()=="ea"){a="Op=update&Type=delete&streetname="+$_ENCODE(b.StreetName)+"&addressnumber="+$_ENCODE(b.AddressNumber)+"&municipality="+$_ENCODE(b.Municipality)}else{if(b.get_EditType()=="eso"){a="Op=updatesearchobject&Type=delete&categoryid="+b.CategoryId+"&referenceid="+b.ReferenceId+"&municipality="+$_ENCODE(b.Municipality)}}if(a){$_updateAddress(a);b.Editable=false}}b.Name=null;b.FmtText=null;b.IsDeleted=true;this.Dirty=true}};DataBase.prototype.Insert=function(a){this.__id++;if(a==null){throw"NullPointerException {"+this.__id+"},{"+a+"}"}else{if(a.ReferenceId&&this._newItems&&this._newItems.Find(a.ReferenceId)){this._newItems.remove(a.ReferenceId);var b=this.FindByReferenceId(a.ReferenceId);if(b){this.DeleteObj(b)}}a.__id=this.__id;this.items.push(a);this.idindex[a.__id]=this.items.length-1}this.Dirty=true;return a.__id};DataBase.prototype.InsertNew=function(b){var a=this.Insert(b);if(b.ReferenceId){if(!this._newItems){this._newItems=new Array()}this._newItems.push(b.ReferenceId)}return a};DataBase.prototype.InsertRange=function(a){for(var b=0;b<a.length;b++){this.Insert(a[b])}};DataBase.prototype.InsertClone=function(d,c){this.__id++;var b;function a(i,f){var h;if(!i.Geometry){var e;if(f.PointArray&&f.get_Filled()){e={type:"Polygon",coordinates:_TXWConvertPointsToPolygon(f.PointArray)};h={LineColor:f.LineColor,LineType:f.LineType,LineWidth:f.LineWidth,FillColor:f.FillColor,FillOpacity:f.FillOpacity,Image:f.Image}}else{if(d.PointArray){e={type:"LineString",coordinates:_TXWConvertPointsToLineString(f.PointArray)};h={LineColor:f.LineColor,LineType:f.LineType,LineWidth:f.LineWidth,Image:f.Image}}else{e={type:"Point",coordinates:$_ConvertPointsToPoint(f.North,f.East)};h={Image:f.Image}}}i.set_Geometry(e)}if(!i.Presentation){i.set_Presentation(h)}}if(c&&!d.Geometry){b=new SR_Geo(d.Name,d.Explanation);a(b,d);b.Url=d.Url;b.ReferenceId=d.ReferenceId}else{b=$_CloneObject(d,true)}b.__id=this.__id;this.items.push(b);this.idindex[this.__id]=this.items.length-1;this.Dirty=true;return b};DataBase.prototype.ReIndex=function(){for(var a=0;a<this.items.length;a++){var b=this.items[a];this.idindex[b.__id]=a}};DataBase.prototype.Select=function(a){return this.items[this.idindex[a]]};DataBase.prototype.FindByReferenceId=function(c){for(var a in this.items){var b=this.items[a];if($_DBIsValidObject(b)&&b.ReferenceId&&b.ReferenceId==c){return b}}return null};DataBase.prototype.FindByAttribute=function(b,c){for(var a=0;a<this.items.length;a++){var d=this.items[a];if($_DBIsValidObject(d)&&d[b]==c){return d}}return null};DataBase.prototype.GetObjectsWithGeometry=function(){var b=[];var a;for(var c=0;c<this.items.length;c++){a=this.items[c];if($_DBIsValidObject(a)&&!a.Permanent){if(a.Geometry){b.push(a)}else{if(a.PointArray&&a.PointArray.length>1){if(a.Filled){b.push(Object.assign({__proto__:a.__proto__,Geometry:{type:"Polygon",coordinates:[a.PointArray.map(function(d){return[d.East(),d.North()]})]}},a))}else{b.push(Object.assign({__proto__:a.__proto__,Geometry:{type:"LineString",coordinates:a.PointArray.map(function(d){return[d.East(),d.North()]})}},a))}}else{if(a.North&&a.East){b.push(Object.assign({__proto__:a.__proto__,Geometry:{type:"Point",coordinates:[a.East,a.North]}},a))}}}}}return b};DataBase.prototype.GetThreeDItems=function(){var d=[];var c;for(var f=0;f<this.items.length;f++){c=this.items[f];if($_DBIsValidObject(c)&&!c.Permanent&&c.Geometry){var b=c.Geometry;if(_geoIsThreeD(b)){var e=b.coordinates[0];var a=b.coordinates[1];d.push({text:c.Explanation,start:{x:e[0],y:e[1],z:e[2]},end:{x:a[0],y:a[1],z:a[2]},id:c.__id})}}}return d};DataBase.prototype.SetThreeDItemEditability=function(a){for(var d=0;d<this.items.length;d++){var c=this.items[d];if($_DBIsValidObject(c)&&!c.Permanent&&c.Geometry){var b=c.Geometry;if(_geoIsThreeD(b)){if(c.Editable){c.setCanDelete(true)}c.Editable=a}}}};DataBase.prototype.set_Dirty=function(a){this.Dirty=a};DataBase.prototype.get_Dirty=function(){return this.Dirty};function SR_Geo(b,a){this.Name=b;this.Explanation=a}SR_Geo.prototype.getCanDelete=function(){return this.CanDelete};SR_Geo.prototype.setCanDelete=function(a){this.CanDelete=a};SR_Geo.prototype.GetType=function(){return"Geo"};SR_Geo.prototype.set_Selected=function(c,a,b){this.CustomClass=true;if(a){window.teklaMap._SetSelectMode(false);window.teklaMap._SetSelectMode(true)}this.set_SelectedState(c,true)};SR_Geo.prototype.set_SelectedState=function(c,d){var a=null;if(c==OBJ_MYSITES){a=L_MYSITESLAYER}if(a){for(var f in a._layers){var b=a._layers[f];if(b&&b.options&&b.options.obj){var e=b.options.obj;if(e.__id==this.__id){if(d){__setStyleSelected(b)}else{__setStyleUnselected(b)}b.options.isselected=d;break}}}}window.teklaMap.__selectedRefIds=window.teklaMap._GetSelectedRefIds()};SR_Geo.prototype.set_Geometry=function(a){if(a&&a.type!=="empty"){this.Geometry=a}};SR_Geo.prototype.set_Presentation=function(a){this.Presentation=a};SR_Geo.prototype.get_Presentation=function(a){var d=null;var c=this.Presentation&&this.Presentation.className;if(a===true){if(c){d=this.HLPresentation||this.Presentation}else{d=this.HLPresentation||TGMap.Style.highlight}}else{if(a===false){d=this.Presentation}}var e=this.Presentation||{};if($_CallEventHandler(tekla.Map.EVENT.DRAWINGPRESENTATION,this,e)){this.Presentation=e}if(c){if(this.HLOn){d=this.HLPresentation||this.Presentation}else{d=this.Presentation}}else{d=this.HLOn?this.HLPresentation:this.Presentation}if(this.Width>0){if(!d){d={}}if(!d.OrigLineWidth){d.OrigLineWidth=d.LineWidth}var b=Math.round(this.Width/currentWupp());if(b>1){d.LineWidth=b}else{d.LineWidth=1}}else{if(d&&d.OrigLineWidth){d.LineWidth=d.OrigLineWidth;delete d.OrigLineWidth}}return d};SR_Geo.prototype.set_Image=function(a){if(this.Presentation&&a!==undefined){if(!this.Presentation.Image){this.Presentation.Image=a}}};SR_Geo.prototype.set_Category=function(a){this.Category=a};SR_Geo.prototype.get_Category=function(){return this.Category};SR_Geo.prototype.set_FmtText=function(a){this.FmtText=a};SR_Geo.prototype.get_FmtText=function(){return this.FmtText};SR_Geo.prototype.set_Explanation=function(a){return this.Explanation=a};SR_Geo.prototype.set_ThreedDLine=function(a){this.Geometry={type:"LineString",coordinates:a}};SR_Geo.prototype.$_get_FirstGeomemtryMember=function(b){var a=null;var c=this.Geometry;if(c){if(c.type==="GeometryCollection"||c.type==="MultiPolygon"){if(!b){b=0}c=this.Geometry.members[b].geometry}}return c};SR_Geo.prototype.get_Type=function(){var b="Point";var a=this.$_get_FirstGeomemtryMember();if(a){b=_geoIsThreeD(a)?"Point":a.type}return b};SR_Geo.prototype.get_DrawPointForPolygon=function(){var a=false;if(options.showImageForPolygon){a=true;if(this.get_HasPoint()){a=false}}return a};SR_Geo.prototype.get_HasPoint=function(){var c=this.Geometry;var b=1,d;if(c){if(c.members){b=c.members.length}for(var a=0;a<b;a++){d=(c.members)?c.members[a].geometry:c;if(d.type==="Point"){return d}}}return null};SR_Geo.prototype.get_IsPoly=function(){var c=this.Geometry;var b=1,d;if(c){if(c.members){b=c.members.length}for(var a=0;a<b;a++){d=(c.members)?c.members[a].geometry:c;if(d.type==="Polyline"||d.type==="Polygon"){return true}}}return false};SR_Geo.prototype.get_PresTypes=function(){var b=[];var d=this.Geometry;var c=1,e;if(d!=null){if(d.members){c=d.members.length}for(var a=0;a<c;a++){e=(d.members)?d.members[a].geometry:d;b.push(e.type)}}else{b.push("Point")}return b};SR_Geo.prototype.get_Measures=function(){var j=this.Geometry;var c=1,f;var k=0,b=0;if(j){if(j.members){c=j.members.length}for(var d=0;d<c;d++){f=(j.members)?j.members[d].geometry:j;if(f.type==="LineString"&&!_geoIsThreeD(f)){for(var h=1;h<f.coordinates.length;h++){var e=f.coordinates[h];var l=f.coordinates[h-1];var a=TGMap.Measure.distanceBetweenPoints(e[1],e[0],l[1],l[0]);k+=a}}else{if(f.type==="Polygon"){}}}}return{length:k,area:b}};SR_Geo.prototype.get_CenterPoint=function(){var d=null;var c=null;var g=null;if(this.Geometry){if(this.isMarkupThreeDLine()){g=this.Geometry.coordinates[0][1];c=this.Geometry.coordinates[0][0]}else{var e=this.get_HasPoint();if(e){c=e.coordinates[0];g=e.coordinates[1]}else{var b=this.$_get_FirstGeomemtryMember();if(b.type==="Point"){c=b.coordinates[0];g=b.coordinates[1]}else{if(b.type==="LineString"){var a=b.coordinates.length>0?Math.floor(b.coordinates.length/2):0;var f=b.coordinates[a];c=f[0];g=f[1]}else{if(b.type==="Polygon"){if(b.coordinates.length>0){var e=b.coordinates[0];var a=e.length>0?Math.floor(e.length/2):0;var f=e[a];c=f[0];g=f[1]}}}}}}}if(!isNaN(c)&&!isNaN(g)){d={x:c,y:g}}return d};SR_Geo.prototype.$_IsComplex=function(){if(this.Geometry){var a=this.Geometry;if(a.members&&a.members.length>1){return true}var b=(a.members)?a.members[0].geometry:a;if(b.type==="Polygon"){if(b.coordinates.length>1){return true}}}return false};SR_Geo.prototype.$_IsPointAndPolyObj=function(){if(this.Geometry){var d=this.Geometry;var c=(d.members)?d.members.length:1;if(c>1){var e=false,b=false;for(var a=0;a<c;a++){geo=(d.members)?d.members[a].geometry:d;if(geo.type==="Point"){e=true}else{b=true}if(e&&b){return true}}}}return false};SR_Geo.prototype.RegisterBB=function(b){if(this.Geometry){var k=this.Geometry;var c=1,h;if(k.members){c=k.members.length}for(var d=0;d<c;d++){h=(k.members)?k.members[d].geometry:k;if(h.type==="Point"){b.RegisterPoint(h.coordinates[1],h.coordinates[0])}else{if(h.type==="LineString"){for(var j=0;j<h.coordinates.length;j++){var f=h.coordinates[j];b.RegisterPoint(f[1],f[0])}}else{if(h.type==="Polygon"){for(var e=0;e<h.coordinates.length;e++){var l=h.coordinates[e];for(var j=0;j<l.length;j++){var f=l[j];b.RegisterPoint(f[1],f[0])}}}else{if(h.type==="Circle"){var a=h.radius;b.RegisterPoint(h.coordinates[1]-a,h.coordinates[0]-a);b.RegisterPoint(h.coordinates[1]+a,h.coordinates[0]+a)}}}}}}};SR_Geo.prototype.set_EditType=function(a){this.EditType=a};SR_Geo.prototype.get_EditType=function(){return this.EditType};SR_Geo.prototype.AddDocument=function(a,b){if(!this.DocList){this.DocList=new Array()}this.DocList.push({Url:a,Exp:b})};SR_Geo.prototype.get_EditType=function(){return this.EditType};SR_Geo.prototype.get_UrlType=function(){return this.UrlType};SR_Geo.prototype.get_Image=function(){if(this.Presentation){return this.Presentation.Image}return null};SR_Geo.prototype.get_AV=function(){return this.AV};SR_Geo.prototype.set_AV=function(a){this.AV=a};SR_Geo.prototype.Move=function(c,b,d){var a=this.$_get_FirstGeomemtryMember();if(a&&a.type==="Point"){a.coordinates[1]=c;a.coordinates[0]=b;this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"move",this);if(this.__bbox){this.__bbox=null}}};SR_Geo.prototype.MoveLine=function(e,c,d,a){var b=this.$_get_FirstGeomemtryMember();if(b&&b.type==="LineString"){b.coordinates[0][1]=e;b.coordinates[0][0]=c;b.coordinates[1][1]=d;b.coordinates[1][0]=a;this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"move",this);if(this.__bbox){this.__bbox=null}}};SR_Geo.prototype.MoveNode=function(d,h,b,g,c){try{var a=this.$_get_FirstGeomemtryMember(g);if(a.type==="LineString"){a.coordinates[d][1]=h;a.coordinates[d][0]=b;this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"move",this)}else{if(a.type==="Polygon"){if(!c){c=0}a.coordinates[c][d][1]=h;a.coordinates[c][d][0]=b;this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"move",this)}}}catch(f){}if(this.__bbox){this.__bbox=null}};SR_Geo.prototype.MoveRectangleNode=function(a,b,h,f,g){try{var j=this.$_get_FirstGeomemtryMember(f);if(!g){g=0}var d=j.coordinates[g][a][1];var i=j.coordinates[g][a][0];j.coordinates[g].forEach(function(e){if(e[0]===i){e[0]=h}if(e[1]===d){e[1]=b}});this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"move",this)}catch(c){}if(this.__bbox){this.__bbox=null}};SR_Geo.prototype.RemoveNode=function(c,d,b){var a=this.$_get_FirstGeomemtryMember(d);if(a.type==="LineString"){if(a.coordinates.length>2){a.coordinates.splice(c,1)}this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"removenode",this)}else{if(a.type==="Polygon"){if(!b){b=0}if(b==0){if(a.coordinates[b].length>3){a.coordinates[b].splice(c,1)}}else{if(a.coordinates[b].length>0){a.coordinates[b].splice(c,1)}if(a.coordinates[b].length<2){a.coordinates.splice(b,1)}}this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"removenode",this)}}if(this.__bbox){this.__bbox=null}};SR_Geo.prototype.InsertNode=function(e,g,b,f,d){var a=this.$_get_FirstGeomemtryMember(f);var c=[b,g];if(a.type==="LineString"){a.coordinates.splice(e,0,c);this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"insertnode",this)}else{if(a.type==="Polygon"){if(!d){d=0}a.coordinates[d].splice(e,0,c);this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"insertnode",this)}}if(this.__bbox){this.__bbox=null}};SR_Geo.prototype.InsertRing=function(f,c,e){var b=this.$_get_FirstGeomemtryMember(e);if(b.type==="Polygon"){var d=new Array();d.push([c,f]);d.push([c,f]);var a=b.coordinates.push(d);this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY)}if(this.__bbox){this.__bbox=null}};SR_Geo.prototype.IsLineArea=function(){var a=true;if(this.get_Type()==="Point"){a=false}return a};SR_Geo.prototype.get_BB=function(){var a=null;if(this.__bbox){return this.__bbox}var c=this.$_get_FirstGeomemtryMember();if(c.type==="Point"){a=new BBox(c.coordinates[1],c.coordinates[0],c.coordinates[1],c.coordinates[0])}else{if(c.type==="LineString"){a=new BBox();for(var b=0;b<c.coordinates.length;b++){a.RegisterPoint(c.coordinates[b][1],c.coordinates[b][0])}}else{if(c.type==="Polygon"){a=new BBox();for(var b=0;b<c.coordinates[0].length;b++){a.RegisterPoint(c.coordinates[0][b][1],c.coordinates[0][b][0])}}else{if(c.type==="Circle"){var d=c.radius;a=new BBox(c.coordinates[1]-d,c.coordinates[0]-d,c.coordinates[1]+d,c.coordinates[0]+d)}}}}this.__bbox=a;return a};SR_Geo.prototype.get_Editable=function(){return this.Editable};SR_Geo.prototype.set_UrlType=function(a){this.UrlType=a};SR_Geo.prototype.get_UrlType=function(){return this.UrlType};SR_Geo.prototype.set_Dirty=function(a){if(!this.EditState){this.EditState=a}else{this.EditState|=a}};SR_Geo.prototype.get_Dirty=function(){return this.EditState};SR_Geo.prototype.HighLight=function(c,b){if(b){if(this.Presentation){this.HLPresentation=jQuery.extend({},this.Presentation,b)}else{this.HLPresentation=b}}else{if(this.Presentation&&this.Presentation.className){}else{var a=b||TGMap.Style.highlight;if(this.Presentation){this.HLPresentation=jQuery.extend({},this.Presentation,a)}else{this.HLPresentation=b}}}this.HLOn=true;HLDB.Add(c,this.__id,this.ReferenceId);$_refreshObject(c,this.__id,this)};SR_Geo.prototype.UnhighLight=function(a){this.HLOn=false;$_refreshObject(a,this.__id,this);HLDB.Remove(a,this.__id)};SR_Geo.prototype.PinToPoly=function(d,g,f,b){var e=g.get_CenterPoint();var c=L.icon({iconUrl:f,iconAnchor:__PinOffset(this)});var a=L.marker([e.y,e.x],{icon:c,obj:g});_attachEvents(a,d,true);if(b&&a){b.addLayer(a)}};SR_Geo.prototype.isMarkupThreeDLine=function(){return this.Geometry.type==="LineString"&&this.Geometry.coordinates.length===2&&_isThreeD(this.Geometry.coordinates[0])};SR_Geo.prototype.ToL=function(b,p){var D=null;var l=false;if((this.CustomClass||this.CustomSelectable)&&_isSelectedRid(this.ReferenceId)){l=true}var g,y,o,d,c,A;var f;var x=this.get_Presentation();if(x){g=x.FillColor||"red";y=x.LineColor||"blue";o=__GetWeight(x.LineWidth)||2;dash=x.LineType||"solid";c=x.LineOpacity||0.8;A=x.FillOpacity||0.5;f=x.Image}else{g=this.FillColor||"red";y=this.LineColor||"blue";o=__GetWeight(this.LineWidth)||2;dash=this.LineType||"solid";c=this.LineOpacity||0.8;A=this.FillOpacity||0.5;f=this.Image}if(this.Geometry.type==="GeometryCollection"){for(var t=0;t<this.Geometry.members.length;t++){var k=this.Geometry.members[t];if(k.geometry.type==="Polygon"||k.geometry.type==="LineString"){var a=null;if(k.geometry.type==="LineString"){a=[];for(var u=0;u<k.geometry.coordinates.length;u++){a.push([k.geometry.coordinates[u][1],k.geometry.coordinates[u][0]])}}else{var v=false;if(k.geometry.coordinates.length>1){v=true}for(var u=0;u<k.geometry.coordinates.length;u++){var h=k.geometry.coordinates[u];var j=new Array();for(var m=0;m<h.length;m++){j.push([h[m][1],h[m][0]])}if(!v){a=j}else{if(!a){a=new Array()}a.push(j)}}}var n;if(k.geometry.type==="Polygon"){var s={color:y,opacity:c,weight:o,fill:true,fillColor:g,fillOpacity:A,dashArray:__LineType2Dash(dash),obj:this};if(l){__applySelectedAttributes(s,true)}n=L.polygon(a,s);if(l){n.ofillColor=g;n.ofillOpacity=A;n.ocolor=y;n.oweight=o}}else{var s={color:y,opacity:c,weight:o,fill:false,dashArray:__LineType2Dash(dash),obj:this,offset:x&&x.LineOffset,symbolOptions:x&&x.LineSymbol};if(l){__applySelectedAttributes(s,true)}n=L.polyline(a,s);if(l){n.ocolor=y;n.oweight=o}}_attachEvents(n,b);if(p&&n){p.addLayer(n)}if(f&&this.get_DrawPointForPolygon()){this.PinToPoly(b,this,f,p)}}else{if(k.geometry.type==="Point"){var B;if(x&&x.className){var C=x.className+" normal";if(this.HLOn){C+=" highlight"}var e=x.Image?x.Image:options.appPath+"/images/pointer.png",B=new L.DivIcon({className:C,html:'<div class="'+C+'" style="background-image: url('+e+')"</div>',iconSize:[32,32]})}else{B=L.icon({iconUrl:x&&x.Image?x.Image:options.appPath+"/images/pointer.png",iconAnchor:__PinOffset(this),className:__GetExtraClasses(x,l,this.HLOn)})}var z=[k.geometry.coordinates[1],k.geometry.coordinates[0]];var s={icon:B,obj:this,zIndexOffset:this.HLOn?300:0};if(l){s.isselected=true}var i=L.marker(z,s);if(l){}_attachEvents(i,b,true);if(p&&i){p.addLayer(i)}}}}}else{if(this.Geometry.type==="Polygon"||this.Geometry.type==="LineString"){if(this.isMarkupThreeDLine()){var B=L.icon({iconUrl:x&&x.Image?x.Image:options.appPath+"/images/pointer.png",iconAnchor:__PinOffset(this),className:__GetExtraClasses(x,l,this.HLOn)});var z=[this.Geometry.coordinates[0][1],this.Geometry.coordinates[0][0]];var s={icon:B,obj:this,zIndexOffset:this.HLOn?300:0};if(l){s.isselected=true}var i=L.marker(z,s);_attachEvents(i,b,true);if(p&&i){p.addLayer(i)}}else{var a=null;if(this.Geometry.type==="LineString"){a=[];for(var u=0;u<this.Geometry.coordinates.length;u++){a.push([this.Geometry.coordinates[u][1],this.Geometry.coordinates[u][0]])}}else{var v=false;if(this.Geometry.coordinates.length>1){v=true}for(var u=0;u<this.Geometry.coordinates.length;u++){var h=this.Geometry.coordinates[u];var j=new Array();for(var m=0;m<h.length;m++){j.push([h[m][1],h[m][0]])}if(!v){a=j}else{if(!a){a=new Array()}a.push(j)}}}var s={color:y,opacity:c,weight:o,fill:false,dashArray:__LineType2Dash(dash),obj:this,offset:x&&x.LineOffset,symbolOptions:x&&x.LineSymbol};if(this.Geometry.type==="Polygon"){s.fill=true;s.fillColor=g;s.fillOpacity=A;if(l){__applySelectedAttributes(s,true)}D=L.polygon(a,s);if(l){D.ofillColor=g;D.ofillOpacity=A;D.ocolor=y;D.oweight=o}}else{if(l){__applySelectedAttributes(s,true)}D=L.polyline(a,s);if(l){D.ocolor=y;D.oweight=o}}_attachEvents(D,b);if(p&&D){p.addLayer(D)}if(f&&this.get_DrawPointForPolygon()){this.PinToPoly(b,this,f,p)}}}else{if(this.Geometry.type==="Point"){var B=L.icon({iconUrl:x&&x.Image?x.Image:options.appPath+"/images/pointer.png",iconAnchor:__PinOffset(this),className:__GetExtraClasses(x,l,this.HLOn)});var z=[this.Geometry.coordinates[1],this.Geometry.coordinates[0]];var s={icon:B,obj:this,zIndexOffset:this.HLOn?300:0};if(l){s.isselected=true}D=L.marker(z,s);_attachEvents(D,b,true);if(p&&D){p.addLayer(D)}}}}};function SR_Point(c,a,b,e,f,d){this.Name=c;this.Explanation=a;this.Url=b;this.Image=e;this.North=f;this.East=d}SR_Point.prototype.get_IsPoly=function(){return false};SR_Point.prototype.$_IsComplex=function(){return false};SR_Point.prototype.IsLineArea=function(){return false};SR_Point.prototype.Point=function(){return new TXWPoint(this.North,this.East)};SR_Point.prototype.GetType=function(){return"Point"};SR_Point.prototype.get_CenterPoint=function(){var a=new Object();a.x=this.East;a.y=this.North;return a};SR_Point.prototype.set_EncType=function(a){this.EncType=a};SR_Point.prototype.get_EncType=function(){return this.EncType};SR_Point.prototype.set_UrlType=function(a){this.UrlType=a};SR_Point.prototype.get_UrlType=function(){return this.UrlType};SR_Point.prototype.get_BB=function(){return new BBox(this.North,this.East,this.North,this.East)};SR_Point.prototype.RegisterBB=function(a){a.RegisterPoint(this.North,this.East)};SR_Point.prototype.set_Category=function(a){this.Category=a};SR_Point.prototype.get_Category=function(){return this.Category};SR_Point.prototype.set_FmtText=function(a){this.FmtText=a};SR_Point.prototype.get_FmtText=function(){return this.FmtText};SR_Point.prototype.set_AV=function(a){this.AV=a};SR_Point.prototype.get_AV=function(){return this.AV};SR_Point.prototype.SetAddress=function(d,e,g,c,f,b){this.set_Editable(true);this.set_EditType("ea");if(this.Editable&&this.get_EditType()=="ea"){var a="Op=update&Type=insert&streetname="+$_ENCODE(g)+"&addressnumber="+$_ENCODE(c)+"&municipality="+$_ENCODE(e)+"&n="+f+"&e="+b+"&aid="+d;$_updateAddress(a)}this.Municipality=e;this.StreetName=g;this.AddressNumber=c;this.Name=this.StreetName+" "+this.AddressNumber;this.North=f;this.East=b};SR_Point.prototype.UpdateAddress=function(c,d,b){if(this.Editable&&this.get_EditType()=="ea"){if(this.StreetName!==d||this.AddressNumber!==b){var a="Op=update&Type=update&o_streetname="+$_ENCODE(this.StreetName)+"&o_addressnumber="+$_ENCODE(this.AddressNumber)+"&streetname="+$_ENCODE(d)+"&addressnumber="+$_ENCODE(b)+"&municipality="+$_ENCODE(this.Municipality)+"&o_n="+this.North+"&o_e="+this.East+"&aid="+c;$_updateAddress(a)}}this.StreetName=d;this.AddressNumber=b;this.Name=this.StreetName+" "+this.AddressNumber};SR_Point.prototype.SetSearchObject=function(d,i,e,b,a,c,f,g,j){this.set_Editable(true);this.set_EditType("eso");if(this.Editable&&this.get_EditType()=="eso"){var h="Op=updatesearchobject&Type=insert&categoryid="+e+"&name="+$_ENCODE(b)+"&explanation="+$_ENCODE(a)+"&url="+$_ENCODE(c)+"&image="+$_ENCODE(f)+"&municipality="+$_ENCODE(i)+"&n="+g+"&e="+j+"&aid="+d;$_updateAddress(h)}this.Municipality=i;this.Name=b;this.Explanation=a;this.Url=c;this.Image=f;this.CategoryId=e;this.North=g;this.East=j};SR_Point.prototype.UpdateSearchObject=function(f,e,d,b,c,g){if(this.Editable&&this.get_EditType()=="eso"){var a="Op=updatesearchobject&Type=update&referenceid="+this.ReferenceId+"&categoryid="+e+"&name="+$_ENCODE(d)+"&explanation="+$_ENCODE(b)+"&url="+$_ENCODE(c)+"&municipality="+$_ENCODE(this.Municipality)+"&n="+this.North+"&e="+this.East+"&aid="+f;$_updateAddress(a)}this.Name=d;this.Explanation=b;this.Image=g;this.Url=c;this.CategoryId=e};SR_Point.prototype.Move=function(c,b,d){if(this.Editable){var a=null;if(this.get_EditType()=="ea"){a="Op=update&Type=move&streetname="+$_ENCODE(this.StreetName)+"&addressnumber="+$_ENCODE(this.AddressNumber)+"&municipality="+$_ENCODE(this.Municipality)+"&n="+c+"&e="+b}else{if(this.get_EditType()=="eso"){a="Op=updatesearchobject&Type=move&referenceid="+this.ReferenceId+"&categoryid="+this.CategoryId+"&municipality="+$_ENCODE(this.Municipality)+"&n="+c+"&e="+b}}if(a){$_updateAddress(a)}this.North=c;this.East=b;this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"move",this)}else{this.North=c;this.East=b}};SR_Point.prototype.set_EditableAddress=function(c,a,b){this.Editable=true;this.StreetName=c;this.AddressNumber=a;this.Municipality=b;this.EditType="ea"};SR_Point.prototype.set_Editable=function(a){this.Editable=a};SR_Point.prototype.get_Editable=function(){return this.Editable};SR_Point.prototype.set_EditType=function(a){this.EditType=a};SR_Point.prototype.get_EditType=function(){return this.EditType};SR_Point.prototype.AddDocument=function(a,c){if(!this.DocList){this.DocList=new Array()}var b=new Object();b.Url=a;b.Exp=c;this.DocList.push(b)};SR_Point.prototype.set_Dirty=function(a){if(!this.EditState){this.EditState=a}else{this.EditState|=a}};SR_Point.prototype.get_Dirty=function(){return this.EditState};SR_Point.prototype.ToL=function(d,b){var c=L.icon({iconUrl:this.Image||options.appPath+"/images/pointer.png",iconAnchor:__PinOffset(this)});var a=L.marker([this.North,this.East],{icon:c,obj:this});_attachEvents(a,d,true);if(b&&a){b.addLayer(a)}};SR_Path.prototype.IsLineArea=function(){var a=false;if(this.PointArray){a=true}return a};SR_Path.prototype.get_IsPoly=function(){return this.PointArray?true:false};SR_Path.prototype.AddDocument=function(a,c){if(!this.DocList){this.DocList=new Array()}var b=new Object();b.Url=a;b.Exp=c;this.DocList.push(b)};function SR_Path(c,a,b,e,d){this.Name=c;this.Explanation=a;this.Url=b;if(e){this.Image=e}else{this.Image=__getLineImage()}this.PointArray=d}SR_Path.prototype.$_IsComplex=function(){return false};SR_Path.prototype.GetType=function(){return this.Filled?"Polygon":"Polyline"};SR_Path.prototype.get_CenterPoint=function(){var c=null;var b=null;var d=null;if(this.North&&this.East){b=this.East;d=this.North}else{var a=this.PointArray.length>0?Math.floor(this.PointArray.length/2):0;if(a==0&&this.PointArray.length>0){b=this.PointArray[0].east;d=this.PointArray[0].south}else{if(a>0){b=Math.round((this.PointArray[a].east+this.PointArray[a-1].east)/2);d=Math.round((this.PointArray[a].south+this.PointArray[a-1].south)/2)}}}if(b&&d){c=new Object();c.x=b;c.y=d}return c};SR_Path.prototype.Point=function(){return new TXWPoint(this.North,this.East)};SR_Path.prototype.set_Point=function(b,a){this.North=b;this.East=a};SR_Path.prototype.get_FirstPoint=function(){if(this.PointArray){var a=new Object();a.x=this.PointArray[0].east;a.y=this.PointArray[0].south;return a}return null};SR_Path.prototype.get_LastPoint=function(){if(this.PointArray){var a=this.PointArray.length>0?this.PointArray.length-1:0;var b=new Object();b.x=this.PointArray[a].east;b.y=this.PointArray[a].south;return b}return null};SR_Path.prototype.set_EncType=function(a){this.EncType=a};SR_Path.prototype.get_EncType=function(){return this.EncType};SR_Path.prototype.set_UrlType=function(a){this.UrlType=a};SR_Path.prototype.get_UrlType=function(){return this.UrlType};SR_Path.prototype.get_BB=function(){if(this.__bbox){return this.__bbox}var a=new BBox();this.RegisterBB(a);this.__bbox=a;return a};SR_Path.prototype.RegisterBB=function(b){if(this.PointArray){for(var a=0;a<this.PointArray.length;a++){b.RegisterPoint(this.PointArray[a].south,this.PointArray[a].east)}}};SR_Path.prototype.PathToString=function(){var d=new StringBuilder("");for(var b=0;b<this.PointArray.length;b++){var c=b>0?"~":"";c+=Math.round(this.PointArray[b].south)+"~"+Math.round(this.PointArray[b].east);d.Append(c)}return d.ToString()};SR_Path.prototype.set_Filled=function(a){if(!a){this.FillColor=null}if(a){if(!this.Image){this.Image=__getPolygonImage()}if(!this.FillColor){this.FillColor=$_defaultFillColor}}else{if(!this.Image){this.Image=__getLineImage()}}this.Filled=a};SR_Path.prototype.get_Filled=function(){return this.Filled};SR_Path.prototype.set_Category=function(a){this.Category=a};SR_Path.prototype.get_Category=function(){return this.Category};SR_Path.prototype.get_FmtText=function(){return null};SR_Path.prototype.set_AV=function(a){this.AV=a};SR_Path.prototype.get_AV=function(){return this.AV};SR_Path.prototype.set_Editable=function(a,b){this.Editable=a;if(a){this.EditId=b}else{this.EditId=null}};SR_Path.prototype.get_Editable=function(){return this.EditId};SR_Path.prototype.set_EditType=function(a){this.EditType=a};SR_Path.prototype.get_EditType=function(){return this.EditType};SR_Path.prototype.MoveNode=function(b,c,a){this.PointArray[b].south=c;this.PointArray[b].east=a;this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"move",this)};SR_Path.prototype.RemoveNode=function(a){if(this.PointArray.length>1){this.PointArray.splice(a,1)}this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"removenode",this)};SR_Path.prototype.InsertNode=function(c,d,a){var b={south:d,east:a};this.PointArray.splice(c,0,b);this.set_Dirty(TXWConst.EDITSTATE_GEOMETRY);$_CallEventHandler(tekla.Map.EVENT.DRAWINGGEOMETRYCHANGED,"insertnode",this)};SR_Path.prototype.set_Presentation=function(b,a,d,c,e){var f=TGMap.Style["default"];this.LineColor=b||f.LineColor;this.LineType=a||f.LineType;this.LineWidth=d||f.LineWidth;if(c){this.FillColor=c}if(e){this.FillOpacity=e}};SR_Path.prototype.set_Dirty=function(a){if(!this.EditState){this.EditState=a}else{this.EditState|=a}};SR_Path.prototype.get_Dirty=function(){return this.EditState};SR_Path.prototype.get_Presentation=function(){return{LineColor:this.LineColor,FillColor:this.FillColor}};SR_Path.prototype.get_DrawPointForPolygon=function(){return options.showImageForPolygon&&this.East&&this.North};SR_Path.prototype.ToL=function(g,d){var i=new Array();for(var c=0;c<this.PointArray.length;c++){i.push([this.PointArray[c].south,this.PointArray[c].east])}var h={color:this.LineColor||"blue",weight:__GetWeight(this.LineWidth)||2,opacity:this.LineOpacity||0.8,obj:this,dashArray:__LineType2Dash(this.LineType||"solid")};if(this.Filled){h.fillColor=this.FillColor||"red";h.fillOpacity=this.FillOpacity||0.5}var e;if(this.Filled){e=L.polygon(i,h)}else{e=L.polyline(i,h)}_attachEvents(e,g);if(d&&e){d.addLayer(e)}if(this.Image&&this.get_DrawPointForPolygon()){var f=L.icon({iconUrl:this.Image||options.appPath+"/images/pointer.png",iconAnchor:__PinOffset(this)});var b=L.marker([this.North,this.East],{icon:f,obj:this});_attachEvents(b,g,true);if(d&&b){d.addLayer(b)}}};function __ensureVisibleCategories(b){var h=false;if(b===LayerDB.__wupp){return h}var j=[];var l=false;LayerDB.__wupp=b;for(var f=0;f<LayerDB.__visibleLayers.length;f++){var g=LayerDB.__visibleLayers[f];var d=Tekla.Layers.visiblebyinfo(g,g,b);if(d===true){j.push(g)}else{if(d&&d.isvec&&d.info){for(var k=0;k<d.info.length;k++){j.push(d.info[k])}}}}if(j.length>0){for(var f=0;f<j.length;f++){var c=j[f];if(!LayerDB.__visibleCategories.Find(c)){LayerDB.AddCategory(c,false);h=true}}}if(LayerDB.__visibleCategories.length>0){var e=[];for(var f=0;f<LayerDB.__visibleCategories.length;f++){var c=LayerDB.__visibleCategories[f];if(!j.Find(c)){e.push(c)}}for(var f=0;f<e.length;f++){LayerDB.RemoveCategory(e[f]);l=true}}if(!h&&l){window.teklaMap.RedrawLayersImmediate()}return h}function $_updateCategoryMove(c){var f=false,k=false;var b=currentWupp();if(!$_CategoryLoadable(b)){if(c){window.teklaMap.RedrawLayersImmediate()}return}if(__ensureVisibleCategories(b)){f=true}var j=LayerDB.__visibleCategories.length;if(j>0){if(c){k=true}else{if(LayerDB.$_NeedLoad_Area()){k=true}}}if(!f){for(var e=0;e<j;e++){if(!LayerDB.$_LayerLoaded(LayerDB.__visibleCategories[e])){f=true;break}}}if(f||k){j=LayerDB.__visibleCategories.length;var g=false;var d="";var h=false;for(var e=0;e<j;e++){if(k||!LayerDB.$_LayerLoaded(LayerDB.__visibleCategories[e])){d+="&cidname="+$_ENCODE(LayerDB.__visibleCategories[e])}}if(g){window.teklaMap.RedrawLayersImmediate();c=false}if(d.length>0){var a=actionUrl("Search")+"?Op=catinarea&noadmchk=true"+d;LoadBB=$_getAreaBB(null);a+=LoadBB.ToAreaString();$_CallEventHandler(tekla.Map.EVENT.LOADSTARTED);jQuery.ajax({async:true,type:"GET",url:a,dataType:tekla.utility.isSameOrigin(a)?"text":"jsonp",success:function(i){$_onReadyStateLayer_Data(i)},complete:function(l,i){$_CallEventHandler(tekla.Map.EVENT.LOADREADY)}})}else{if(c){window.teklaMap.RedrawLayersImmediate()}}$_VectorVisibilityHandler(h)}else{if(c){window.teklaMap.RedrawLayersImmediate()}}}function $_updateCategory_Cached(a,b){var c=false;if(b==true){c=LayerDB.AddCategory(a)}else{c=LayerDB.RemoveCategory(a)}return c}function $_updateCategory(b,d){var a=b.length;for(var c=0;c<a;c++){if(d===true){LayerDB.AddLayer(b[c].layer)}else{LayerDB.RemoveLayer(b[c].layer)}}LayerDB.__wupp=null;$_updateCategoryMove()}function $_prepareCategoryLayer(a){if(a){for(var b=0;b<a.length;b++){LayerDB.RemoveCategory(a[b]);if(Tekla.Layers.iscategoryselected(a[b])){LayerDB.AddCategory(a[b],true)}}}}function $_onReadyStateLayer_Data(c){var a;if(typeof c==="string"){a=$_EVALJSON(c)}else{a=c}if(a){if(a.categories){$_prepareCategoryLayer(a.categories)}if(a.ResultArray&&a.ResultArray.length>0){var d=a.ResultArray[0][0];if(d.categories){$_prepareCategoryLayer(d.categories)}}}if(a.ResultArray||a.geoJSON){$_beginResultSet(OBJ_CATLAYER);LayerDB.CatChecked_Bg();if(a.ResultArray){for(var b=0;b<a.ResultArray.length;b++){var d=a.ResultArray[b][0];if(d.geoJSON){$_layerGeoJSONDisplayResults(LayerDB,d.geoJSON)}else{if(d){$_layerGeoJSONDisplayResults(LayerDB,d.results)}}}}else{$_layerGeoJSONDisplayResults(LayerDB,a.geoJSON)}$_restoreHighlights(LayerDB);$_endResultSet(OBJ_CATLAYER);LayerDB.set_LoadedArea(LoadBB);return}LayerDB.CatChecked_Bg();$_layerDisplayResults(LayerDB,a,LIST_NO_CC);LayerDB.set_LoadedArea(LoadBB)}function get_EncTypeText(b,a){if(a){if(a=="decode"){return String.unescapeHTML(b)}}return b}function $_layerDisplayResults(u,k,q,m){var l="";var b=null;var e=null;var c=$_GetIndexByDB(u);window.teklaMap.BeginGuiTrans();if(q==LIST_CB){e={msg:null,items:new Array()}}if(q==LIST_COLLECTION){l="<span class='mysites'><h3 class='mysites'>"+String.get_Safe(k.CollName)+"</h3>";if(k.CollExp){l+="<p class='mysites'>"+k.CollExp+"</p>"}if(k.Creator){l+="<p class='mysites'>"+GetText("cl_performer")+":&nbsp;"+k.Creator+"</p>"}b=new StringBuilder(l)}if(k.count<1){if(q==LIST_CB){e.msg=GetText("cl_noObjectsFound")}else{if(q==LIST_COLLECTION){if(String.IsPrintable(k.CollName)||String.IsPrintable(k.CollExp)||String.IsPrintable(k.Creator)){$_showSiteResultWnd(l)}}}}else{var p;var v="";var t;if(q==LIST_CB){if(k.truncated){e.msg=String.format(GetText("cl_searchTooManyObjectsFoundDisplayingN"),k.count)}else{e.msg=String.format(GetText("cl_searchNObjectsFound"),k.count)}}else{if(q==LIST_COLLECTION){b.Append("<table class='mysites' style='width: 100%; display: block; cursor: auto;'>")}}if(!k.results){return}for(var w=0;w<k.results.length;w++){var x=k.results[w];if(x&&x.name){var n;if(q==LIST_NO_CC){if(u.CatChecked(x.category)==false){continue}}if(x.geometry){n=new SR_Geo(x.name,x.tip);n.set_Geometry(x.geometry);n.set_Presentation(x.presentation);if(x.url){n.Url=x.url}n.set_Image(x.image);if(q==LIST_COLLECTION){n.set_AV(true)}}else{if(x.northarray){var o=$_ConvertToPointArray(x.northarray,x.eastarray);n=new SR_Path(get_EncTypeText(x.name,m),x.tip,x.url,x.image,o);if(x.north){n.set_Point(x.north,x.east)}n.set_Presentation(x.linecolor,x.linetype,x.linewidth,x.fillcolor?x.fillcolor:null,x.fillopacity?x.fillopacity:null);if(x.fill){n.set_Filled(x.fill)}if(q==LIST_COLLECTION){n.set_AV(true)}}else{n=new SR_Point(get_EncTypeText(x.name,m),x.tip,x.url,x.image,x.north,x.east)}}if(x.category){n.set_Category(x.category)}if(x.editable){if(x.edittype){n.EditType=x.edittype;n.Municipality=x.municipality;n.Editable=true;n.CategoryId=x.categoryid;n.ReferenceId=x.referenceid}else{n.set_EditableAddress(x.streetname,x.addressnumber,x.municipality)}}if(x.pe){n.PX=x.pe}if(x.pn){n.PY=x.pn}if(x.refid){n.RefId=x.refid}if(x.nocluster){n.NoCluster=x.nocluster}if(x.extdocs){var s=x.extdocs.length;for(var z=0;z<s;z++){n.AddDocument(x.extdocs[z].url,x.extdocs[z].exp)}}if(x.addattrs){var j=x.addattrs.length;n.AttrList=new Array();for(var r=0;r<j;r++){var y=new Object();y.n=x.addattrs[r].n;y.v=x.addattrs[r].v;n.AttrList.push(y)}}t=u.Insert(n);if(x.urltype){n.set_UrlType(x.urltype);if(x.urltype=="SF"){n.Url="JavaScript:showFeedbackById("+c+","+t+");"}}var h;if(q==LIST_CB){e.items.push({name:x.name,subtitle:x.subtitle,category:x.displaycategory,id:t})}else{if(q==LIST_COLLECTION){h="searchClick("+c+","+t+");";l="<tr class='mysites'><td width='30px' class='mysites'><img src='";if(x.image){l+=x.image+"' border='0'></td>"}else{if(n&&n.Image){l+=n.Image+"' border='0'></td>"}else{l+=__getPinImage()+"' border='0'></td>"}}l+='<td class=\'mysites\'><h4 class=\'mysites\'><a style="cursor:pointer" onmouseover="doHover(this)" onmouseout="removeHover(this)" onmousedown="searchClick('+c+","+t+');">'+String.escapeHTML(n.Name)+"</a></h4>";if(x.tip){l+="<p class='mysites'>"+String.escapeHTML(x.tip)+"</p>"}else{l+="<p class='mysites'>&nbsp;</p>"}l+="</td></tr>";b.Append(l)}}}}if(q==LIST_COLLECTION){b.Append("</table></span>");l=b.ToString()}if(k.results.length==1){if(k.setarea){}else{if(q!=LIST_NO&&q!=LIST_NO_CC){searchClick(c,t,true)}else{if(options.showBubbleInExactSearch&&u==SearchDB){searchClick(c,t,true)}}}}if(k.setarea){var d=k.width;var f=k.height;var g=[[k.mnorth-k.height/2,k.meast-k.width/2],[k.mnorth+k.height/2,k.meast+k.width/2]];window.teklaMap._FitBounds(g);window.teklaMap._UpdateMapPosition();if(k.results.length==1){if(options.showBubbleInExactSearch){searchClick(c,t)}}}if(q!=LIST_NO&&q!=LIST_NO_CC){$_showSiteResultWnd(l)}window.teklaMap.NeedLayerRedraw()}window.teklaMap.EndGuiTrans();return e}function $_CreatePointHTML(b,a,c){}function $_CreatePolylinePolygonHTML(b,c,d,a){d.ToL(c,a);if(c==OBJ_MYSITES&&d.__id==window.teklaMap._HandleGetActive()){if(L_HANDLESLAYER){L_HANDLESLAYER.clearLayers();L_drawHandles(L_HANDLESLAYER,d,true)}else{L_HANDLESLAYER=new L.FeatureGroup();L_drawHandles(L_HANDLESLAYER,d,true);window.teklaMap.addLayer(L_HANDLESLAYER)}}}function __isInsideSVGRange(c){var a=true;var b=options.mapData.settings.SVGRMin?options.mapData.settings.SVGRMin:0.01;if(options.mapData.settings.SVGRMax){if(c<b||c>options.mapData.settings.SVGRMax){a=false}}return a}function $_internalUpdateDatabaseTypes(c){var d=undefined,a=undefined,f=undefined;if(L_SEARCHLAYER){L_SEARCHLAYER.clearLayers();window.teklaMap.removeLayer(L_SEARCHLAYER)}if(L_MYSITESLAYER){try{L_MYSITESLAYER.clearLayers();window.teklaMap.removeLayer(L_MYSITESLAYER)}catch(g){}}if(L_CATLAYER){L_CATLAYER.clearLayers();window.teklaMap.removeLayer(L_CATLAYER)}var b=currentWupp();try{if(currentWupp()<=(options.mapData.settings.ClusteringLevelMin)-0.01){f=L_updateLayersDatabase();d=L_updateSingleDatabase(SearchDB,OBJ_SEARCH);a=L_updateSingleDatabase(MySitesDB,OBJ_MYSITES)}else{if(options.mySitesClustered){d=L_updateSingleClustered([{db:MySitesDB,dbi:OBJ_MYSITES},{db:LayerDB,dbi:OBJ_CATLAYER},{db:SearchDB,dbi:OBJ_SEARCH}])}else{d=L_updateSingleClustered([{db:LayerDB,dbi:OBJ_CATLAYER},{db:SearchDB,dbi:OBJ_SEARCH}]);a=L_updateSingleDatabase(MySitesDB,OBJ_MYSITES)}}L_MYSITESLAYER=a;if(L_MYSITESLAYER){window.teklaMap.addLayer(L_MYSITESLAYER)}L_CATLAYER=f;if(L_CATLAYER){window.teklaMap.addLayer(L_CATLAYER)}L_SEARCHLAYER=d;if(L_SEARCHLAYER){window.teklaMap.addLayer(L_SEARCHLAYER)}}catch(g){console.log(g)}return}function $_dynPointImgOrSpan(d,f,e,a){var b;if(f&&f.className){var c=f.className+" normal";if(d){c+=" highlight"}b="<span class='"+c+"' style='background-image: url("+e+")' id='"+a+"' "}else{b="<img border='0'";if(f&&f.imgClass){b+=" class='"+f.imgClass+"'"}b+=" src='"+e+"' id='"+a+"' "}return b}function $_dynPointImgOrSpan2(e,d,c,a){var b;if(e&&e.className){b="<span class='"+e.className+" normal' style='background-image: url("+d+")' ";if(c){b+="></span>"}}else{b="<img border='0' src='"+d+"' ";if(a){b+=" alt='"+a+"'"}if(c){b+="></img>"}}return b}function BBox(d,c,b,a){if(d){this.eastmax=a;this.eastmin=c;this.northmax=b;this.northmin=b;this.Valid=true}else{this.Valid=false}}BBox.prototype.Clear=function(){this.Valid=false};BBox.prototype.Extend=function(a){if(this.Valid){this.eastmax+=a;this.northmax+=a;this.eastmin-=a;this.northmin-=a}};BBox.prototype.RegisterPoint=function(b,a){if(this.Valid){this.eastmax=Math.max(this.eastmax,a);this.eastmin=Math.min(this.eastmin,a);this.northmax=Math.max(this.northmax,b);this.northmin=Math.min(this.northmin,b)}else{this.eastmax=a;this.eastmin=a;this.northmax=b;this.northmin=b;this.Valid=true}};BBox.prototype.PointInside=function(c,b){var a=false;if(this.Valid){if(c>=this.northmin&&c<=this.northmax&&b>=this.eastmin&&b<=this.eastmax){a=true}}return a};BBox.prototype.BBOverlap=function(a){return !(this.eastmax<a.eastmin||this.eastmin>a.eastmax||this.northmax<a.northmin||this.northmin>a.northmax)};BBox.prototype.BBInside=function(b){var a=false;if(this.PointInside(b.northmin,b.eastmin)&&this.PointInside(b.northmax,b.eastmax)){a=true}return a};BBox.prototype.ToAreaString=function(){var a=null;if(this.Valid){a="&south="+this.northmin+"&west="+this.eastmin+"&north="+this.northmax+"&east="+this.eastmax}return a};function $_updateRefId(b,a){var c=$_DBSelect(OBJ_SEARCH,b);if(c){c.ReferenceId=a}}function $_deleteExternalObject(b){var c=$_DBSelect(OBJ_SEARCH,b);if(c){c.set_Editable(false);var a=$_GetDBByIndex(OBJ_SEARCH);a.DeleteObj(c);window.teklaMap.RedrawLayersImmediate()}}function $_onReadyUpdateAddress_Data(c){var a=$_EVALJSON(c);if(a.status){setStatus("OK")}if(a.op&&a.type){var b=null;if(a.type==="ea"){if(!a.status&&a.aid&&a.op!=="update"){$_deleteExternalObject(a.aid)}}else{if(a.type==="eso"){if(a.status&&a.aid&&a.newrefid){$_updateRefId(a.aid,a.newrefid)}else{if(!a.status&&a.aid){$_deleteExternalObject(a.aid)}}}}}else{}if(String.IsPrintable(a.msg)){alert(a.msg)}}function $_updateNearestAddress(b,a){}function $_updateAddress(b){var a=actionUrl("Search")+"?"+b;jQuery.ajax({async:true,type:"GET",url:a,success:function(c){$_onReadyUpdateAddress_Data(c)}})}function $_loadStreetNames(b){var a=actionUrl("Search")+"?Op=getstreetnames&municipality="+b;jQuery.ajax({async:true,type:"GET",url:a,success:function(d){var c=$_EVALJSON(d);if(c&&c.municipality&&c.streetnames){StreetNameDB.Insert(c.municipality,c.streetnames);$_openAddressPropertiesWindow_cb(c.municipality)}}})}function StreetNameDataBase(){this.hashtable=new Array()}StreetNameDataBase.prototype.Load=function(b,a){jQuery.ajax({async:true,type:"GET",url:actionUrl("Search")+"?Op=getstreetnames&municipality="+b,success:function(d){var c=$_EVALJSON(d);if(c&&c.municipality&&c.streetnames){StreetNameDB.Insert(c.municipality,c.streetnames);a()}}})};StreetNameDataBase.prototype.Insert=function(b,a){this.hashtable[b]=a};StreetNameDataBase.prototype.ExistMunicipality=function(a){if(this.hashtable[a]){return true}return false};StreetNameDataBase.prototype.get_StreetNames=function(a){return this.hashtable[a]};function CollectionIdentity(a,b){this.MapId=a;this.Name=b}function CollectionDataBase(){this.hashtable=new Array()}CollectionDataBase.prototype.Insert=function(b,c){var a=new CollectionIdentity(b,c);this.hashtable[b]=a;return a};CollectionDataBase.prototype.Update=function(b,c){var a=new CollectionIdentity(b,c);this.hashtable[b]=a;return a};CollectionDataBase.prototype.Delete=function(a){this.hashtable[a]=null};CollectionDataBase.prototype.Clear=function(){this.hashtable=new Array()};function _isSelectedRid(a){return window.teklaMap.__selectedRefIds&&window.teklaMap.__selectedRefIds[a]==a}var $_EventHandler=null;var $_VisibilityTipDisplayed=false;function hideVisibilityInfo(){$_VectorVisibilityHandler(false)}function $_VectorVisibilityHandler(c){var b=document.getElementById("TXWObjVisControl");if(b){var d="hidden";if(c&&$_VisibilityTipDisplayed==false&&$_isVisible_Handle(b)==false){d="visible";$_VisibilityTipDisplayed=true;setTimeout("hideVisibilityInfo()",2000)}b.style.visibility=d}}function $_CallEventHandler(){if($_EventHandler){return $_EventHandler.apply(this,arguments)}return null}function $_GetSelection(){return $_ActiveHandleId}function $_layerGeoJSONDisplayResults(f,l,c,a){if(l.length>0){var h=$_GetIndexByDB(f);for(var e=0;e<l.length;e++){var m=l[e];if(m instanceof SR_Geo){f.Insert(m)}else{if(m&&m.name){if(m.category&&f.CatChecked(m.category)==false){continue}var d;if(m.geometry){d=new SR_Geo(m.name,m.explanation);d.set_Geometry(m.geometry);d.set_Presentation(m.presentation);d.set_Image(m.image);if(m.__bbox&&m.__bbox.Valid){d.__bbox=m.__bbox}}else{if(m.northarray){var g=$_ConvertToPointArray(m.northarray,m.eastarray);d=new SR_Path(get_EncTypeText(m.name,a),m.tip,m.url,m.image,g);if(m.north){d.set_Point(m.north,m.east)}d.set_Presentation(m.linecolor,m.linetype,m.linewidth,m.fillcolor?m.fillcolor:null,m.fillopacity?m.fillopacity:null);if(m.fill){d.set_Filled(m.fill)}}else{d=new SR_Point(get_EncTypeText(m.name,a),m.tip,m.url,m.image,m.north,m.east)}}if(m.category){d.set_Category(m.category)}d.Editable=m.Editable?m.Editable:false;if(m.Id){d.Id=m.Id}if(m.PartyInCharge){d.PartyInCharge=m.PartyInCharge}if(m.url){d.Url=m.url}if(m.referenceid){d.ReferenceId=m.referenceid}if(m.width!==undefined){d.Width=m.width}if(m.myotype){d.MyOType=m.myotype}if(m.IsRectangle){d.IsRectangle=m.IsRectangle}if(m.CanDelete){d.setCanDelete(m.CanDelete)}if(m.skipBubble){d.skipBubble=m.skipBubble}if(m.streetaddress){d.StreetAddress=m.streetaddress}if(m.oninfo){d.oninfo=m.oninfo}if(m.urltype){d.set_UrlType(m.urltype);if(m.urltype=="SF"){d.Url="JavaScript:showFeedbackById("+h+","+Id+");"}}if(m.urltarget){d.UrlTarget=m.urltarget}if(m.permanent){d.Permanent=m.permanent}if(m.htmldescription){d.htmldescription=m.htmldescription}if(m.imageurl){d.imageurl=m.imageurl}if(m.pe){d.PX=m.pe}if(m.pn){d.PY=m.pn}if(m.refid){d.RefId=m.refid}if(m.nocluster){d.NoCluster=m.nocluster}if(m.extdocs&&m.extdocs.length){for(var k=0;k<m.extdocs.length;k++){d.AddDocument(m.extdocs[k].url,m.extdocs[k].exp)}}if(m.addattrs&&m.addattrs.length){d.AttrList=[];for(var j=0;j<m.addattrs.length;j++){d.AttrList.push({n:m.addattrs[j].n,v:m.addattrs[j].v})}}for(var b in m){if(m.hasOwnProperty(b)&&b.indexOf("Custom")===0){d[b]=m[b]}}f.Insert(d)}}}if(h==OBJ_MYSITES){$_CallEventHandler(tekla.Map.EVENT.DRAWINGREADY,null)}}}function $_restoreHighlights(a){if(a&&HLDB){var c=HLDB.GetReferenceIds();var b=$_GetIndexByDB(a);c.forEach(function(d){var e=a.FindByReferenceId(d);if(e){HLDB.RemoveByReferenceId(d);e.HighLight(b)}})}}function $_beginResultSet(a){Tekla.MapBubble.hideAll(false,a);window.teklaMap.BeginGuiTrans()}function $_endResultSet(a){window.teklaMap.NeedLayerRedraw();window.teklaMap.EndGuiTrans()}function HLSelection(){}HLSelection.prototype.Add=function(b,c,a){if(!this.$HL){this.$HL=new Array()}this.$HL.push({DB:b,Id:c,ReferenceId:a})};HLSelection.prototype.Remove=function(a,b){if(this.$HL){this.$HL=this.$HL.filter(function(c){return c.DB!==a&&c.Id!==b})}};HLSelection.prototype.RemoveByReferenceId=function(a){if(this.$HL&&a){this.$HL=this.$HL.filter(function(b){return b.ReferenceId!==a.toString()})}};HLSelection.prototype.GetReferenceIds=function(){var d=new Array();if(this.$HL){var a=this.$HL.length;for(var b=0;b<a;b++){var c=this.$HL[b];if(c&&c.ReferenceId){d.push(c.ReferenceId)}}}return d};HLSelection.prototype.RemoveAll=function(){if(this.$HL){var a=this.$HL.length;for(var b=0;b<a;b++){var c=this.$HL[b];if(c){var d=$_DBSelect(c.DB,c.Id);if(d){d.UnhighLight(c.DB)}}}this.$HL=null}};function RemoveHighlights(){HLDB.RemoveAll()}var Cluster=function(d,c,a,b){this.center={x:a,y:b};this.length=1;this.__dbi=d;this.__obj=c};Cluster.prototype={add:function(){this.length+=1},inside:function(a,d,c){var b=false;if(this.center!=null){if(a>=this.center.x-c&&a<=this.center.x+c&&d>=this.center.y-c&&d<=this.center.y+c){b=true}}return b},distance:function(a,e){var c=a-this.center.x;var b=e-this.center.y;var d=c*c+b*b;return d}};function __GetExtraClasses(d,b,a){var c="";if(d&&d.imgClass){c+=d.imgClass}if(b){c+=" map-selected"}if(a){c+=" highlight"}return c!==""?c:null};
var _hilighted=new Array();function _addHilighted(a){_hilighted.push(a)}function _resetHilighted(){if(_hilighted&&_hilighted.length>0){for(var b=0;b<_hilighted.length;b++){var a=_hilighted[b];a.setStyle({fillColor:a.ofillColor,fillOpacity:a.ofillOpacity,color:a.ocolor,weight:__GetWeight(a.oweight)})}_hilighted.length=0}}function _attachEvents(c,b,d){c.on({click:function(k){var f=k.target;var i=k.originalEvent&&k.originalEvent.ctrlKey;if(window.teklaMap.__isSelectMode||(i&&b==OBJ_MYSITES&&window.teklaMap.__allowSelection)){if(f.options.obj&&f.options.obj.CustomSelectable){if(d){var h=jQuery(f._icon).hasClass("map-selected");$_CallEventHandler(tekla.Map.EVENT.SELECTIONCHANGED,f.options.obj,!h);f.options.isselected=!h;jQuery(f._icon).toggleClass("map-selected");if(h){if(window.teklaMap.__allowSelection&&i){window.teklaMap._HandleRemove()}}}else{var h=f.options.isselected;$_CallEventHandler(tekla.Map.EVENT.SELECTIONCHANGED,f.options.obj,!h);f.options.isselected=!h;if(h){if(window.teklaMap.__allowSelection&&k.ctrlKey){window.teklaMap._HandleRemove()}__setStyleUnselected(f)}else{_hilighted.length=0;__setStyleSelected(f)}}return}}if(toolMode!=="pan"){return}var j=window.teklaMap;var g=j._PrepareBubble(b,f.options.obj,k.latlng);if(g!=null){j.ShowBubble(k.latlng,g,d?__PopupAnchor(f.options.obj):new L.Point(0,0))}}});if(!d){c.on({mouseover:function a(j){if(toolMode!=="pan"){return}var g=highlight=j.target;var h=g.options;if(h.isselected){return}if(h.obj.Editable&&h.obj.__id==window.teklaMap._HandleGetActive()){return}_resetHilighted();g.ofillColor=h.fillColor;g.ofillOpacity=h.fillOpacity;g.ocolor=h.color;g.oweight=__GetWeight(h.weight);var i="#fff00d";var f=h.fillOpacity>0.5?h.fillOpacity+0.05:h.fillOpacity;if(f>1){f=1}g.setStyle({fillColor:i,fillOpacity:f,color:i,weight:__GetWeight(h.weight<4?4:h.weight)});_addHilighted(g)},mouseout:function(g){var f=g.target;if(f.options.isselected||(f.options.obj.Editable&&f.options.obj.__id==window.teklaMap._HandleGetActive())){_hilighted.length=0;return}_resetHilighted();return},contextmenu:function(f){}})}}function L_updateSingleDatabase(f,g){var h=new StringBuilder("");var k=true;var j=true;var c=null;var b=new L.FeatureGroup();if(g==OBJ_CATLAYER||g==OBJ_SEARCH){var a=currentWupp();if(!__isInsideSVGRange(a)){k=false}if(g==OBJ_CATLAYER){j=$_CategoryLoadable(a)}c=$_getAreaBB()}if(!j){return null}for(var e=0;e<f.items.length;e++){var d=f.items[e];if(d&&(typeof(d.isVisible)!=="function"||d.isVisible())){if($_DBIsValidObject(d)&&$_DBObjectOverlap(d,c)){d.ToL(g,b)}}}return b}function L_updateLayersDatabase(){var m=true;var j=true;var c=null;var h=OBJ_CATLAYER;var g=LayerDB;var b=new L.FeatureGroup();var a=currentWupp();if(!__isInsideSVGRange(a)){m=false}j=$_CategoryLoadable(a);if(!j){return null}var l=Tekla.Layers._getselectedCategoriesOrdered(2);c=$_getAreaBB();var k=[];for(var f=0;f<g.items.length;f++){var e=g.items[f];if(e&&(typeof(e.isVisible)!=="function"||e.isVisible())){if($_DBIsValidObject(e)&&$_DBObjectOverlap(e,c)){if(l){var d=l[e.Category];e._o=d||0;k.push(e)}else{e.ToL(h,b)}}}}if(k){__renderOrderedList(b,k)}return b}function __renderOrderedList(a,d){var c=OBJ_CATLAYER;if(d){d.sort(function(g,f){return f._o-g._o});for(var b=0;b<d.length;b++){var e=d[b];e.ToL(c,a)}}}function L_updateSingleClustered(j){var C=60*currentWupp();var g=$_getAreaBB(0.01,false);var p=[];var A=undefined;var B=true;var b=true;var k=!options.clusterPolyobjects;var r=new L.FeatureGroup();for(var D=0;D<j.length;D++){var y=j[D].db;var e=j[D].dbi;var a=undefined;if(e==OBJ_CATLAYER){a=Tekla.Layers._getselectedCategoriesOrdered(2);A=[]}else{A=undefined}for(var w=0;w<y.items.length;w++){var q=y.items[w];if(!$_DBIsValidObject(q)){continue}if(q.NoCluster||(k&&q.get_IsPoly())){if($_DBObjectOverlap(q,g)){if(a){var u=a[q.Category];q._o=u||0;A.push(q)}else{q.ToL(e,r)}}continue}var n=q.get_CenterPoint(false);if(!g.PointInside(n.y,n.x)){continue}var i=0;var t=null;for(var E=0;E<p.length;E++){var v=p[E].distance(n.x,n.y);if(E===0||v<i){i=v;t=p[E]}}if(t!=null&&t.inside(n.x,n.y,C)){t.add()}else{p.push(new Cluster(e,q,n.x,n.y))}}if(A&&A.length>0){__renderOrderedList(r,A)}}if(!__isInsideSVGRange(currentWupp())){B=false}var z=L.icon({iconUrl:options.appPath+"/images/cluster-32.png",iconAnchor:[14,32]});for(var F=0;F<p.length;F++){var f=p[F].length;if(f==1){var q=p[F].__obj;var m=p[F].__dbi;q.ToL(m,r)}else{if(f>1){var s=String.format(GetText("clusterTip"),f);var x=[p[F].center.y,p[F].center.x];var h=new L.DivIcon({className:"cluster-image",html:'<div class="cluster-count">'+f+"</div>",iconSize:[32,32]});var l=L.marker(x,{icon:h});r.addLayer(l)}}}p=undefined;return r}function _handlePoint2Rectangle(c,a,b){b=b||5;return[[c-b,a-b],[c+b,a+b]]}function L_singlehandle(q,t,g,o,j,c,f,a){var k;var i;function d(n){k=n}function l(n){k=n;if(toolModePrevious!="moveLine"){toolModePrevious=toolMode}toolMode="moveLine";$_setCursor("crosshair");i=this;_resetHilighted()}function p(n){if(i){var v=k;toolMode=toolModePrevious;var u=$_DBSelect(OBJ_MYSITES,i.options.id);$_restoreCursor();if(u){$_DBSetDirty(OBJ_MYSITES,true);if(u.IsRectangle){u.MoveRectangleNode(i.options.nodeId,v.latlng.lat,v.latlng.lng,i.options.memberId,i.options.ringId)}else{if(i.options.type==="addnode"){u.InsertNode(i.options.nodeId,v.latlng.lat,v.latlng.lng,i.options.memberId,i.options.ringId)}else{u.MoveNode(i.options.nodeId,v.latlng.lat,v.latlng.lng,i.options.memberId,i.options.ringId)}}refreshDraw(u)}i=null}}var b=_handlePoint2Rectangle(q,t,g?3:5);var m=g?18:22;var h=m/2+2;var r=new L.DivIcon({className:g?"handle-middle":"handle-vertex",html:"<div></div>",iconSize:[m,m],iconAnchor:[h,h],});var s=L.marker([q,t],{icon:r,id:o,nodeId:j,memberId:c,ringId:f,type:g?"addnode":"node",draggable:true,contextmenu:g?false:true,contextmenuItems:a===true?[{text:GetText("removePoint"),index:0,callback:function(v){var n=v.relatedTarget;var w=n.options;var u=$_DBSelect(OBJ_MYSITES,w.id);if(u){$_DBSetDirty(OBJ_MYSITES,true);u.RemoveNode(w.nodeId,w.memberId,w.ringId);refreshDraw(u)}}},{separator:true,index:1}]:[]});s.on("dragstart",l);s.on("drag",d);s.on("dragend",p);return s}function L_inserthandle(f,d){var c=22;var b=c/2+2;var a=new L.DivIcon({className:"handle-vertex",html:"<div></div>",iconSize:[c,c],iconAnchor:[b,b],});return L.marker([f,d],{icon:a})}function _centerPoint(c,e,b,d){var a=c+(b-c)/2;var f=e+(d-e)/2;return[a,f,Math.sqrt(Math.pow(c-b,2)+Math.pow(e-d,2))]}function L_drawHandles(b,k,c){var q;if(k.Geometry){var n=k.Geometry;var d=1,l,o;if(n.members){d=n.members.length}for(var e=0;e<d;e++){l=(n.members)?n.members[e].geometry:n;if(l.type==="LineString"){for(var j=0;j<l.coordinates.length;j++){var h=l.coordinates[j];o=L_singlehandle(h[1],h[0],false,k.__id,j,e);b.addLayer(o);if(j<l.coordinates.length-1){var p=_centerPoint(l.coordinates[j][0],l.coordinates[j][1],l.coordinates[j+1][0],l.coordinates[j+1][1]);if(p[2]>0.4){o=L_singlehandle(p[1],p[0],true,k.__id,j+1,e);b.addLayer(o)}}}}else{if(l.type==="Polygon"){if(k.IsRectangle){for(var f=0;f<l.coordinates.length;f++){var r=l.coordinates[f];for(var j=0;j<r.length;j++){var h=r[j];o=L_singlehandle(h[1],h[0],false,k.__id,j,e,f,false);b.addLayer(o)}}}else{for(var f=0;f<l.coordinates.length;f++){var r=l.coordinates[f];for(var j=0;j<r.length;j++){var h=r[j];if(j!==r.length-1||(h[0]!==r[0][0]&&h[1]!==r[0][1])){o=L_singlehandle(h[1],h[0],false,k.__id,j,e,f);b.addLayer(o)}var p=_centerPoint(r[j][0],r[j][1],r[j>=r.length-1?0:j+1][0],r[j>=r.length-1?0:j+1][1]);if(p[2]>0.4){o=L_singlehandle(p[1],p[0],true,k.__id,j+1,e,f);b.addLayer(o)}}}}}}}}else{if(k.PointArray){for(var j=0;j<k.PointArray.length;j++){o=L_singlehandle(k.PointArray[j].south,k.PointArray[j].east,false,k.__id,j);b.addLayer(o);if(j>0){var p=_centerPoint(k.PointArray[j-1].east,k.PointArray[j-1].south,k.PointArray[j].east,k.PointArray[j].south);o=L_singlehandle(p[0],p[1],true,k.__id,j);b.addLayer(o)}}}}}function __applySelectedAttributes(a,b){if(b){a.fillColor="#FFBE00";a.fillOpacity=0.9}a.color="##FFBE00";a.weight=4;a.isselected=true}function __setStyleSelected(a){if(!a.ocolor){a.ofillColor=a.options.fillColor;a.ofillOpacity=a.options.fillOpacity;a.ocolor=a.options.color;a.oweight=__GetWeight(a.options.weight)}a.setStyle({fillColor:"#FFBE00",fillOpacity:0.9,color:"##FFBE00",weight:4})}function __setStyleUnselected(a){a.setStyle({fillColor:a.ofillColor,fillOpacity:a.ofillOpacity,color:a.ocolor,weight:__GetWeight(a.oweight)})}function __LineType2Dash(a){if(a==="solid"){return null}if(a==="dot"){return"3,8"}else{if(a==="dash"){return"8,8"}else{if(a==="longdash"){return"18,8"}else{return null}}}}function __GetWeight(a){if(!a||typeof a==="number"){return a}return parseInt(a)}function __PopupAnchor(b){var a=0;var d=-26;var c=__PinOffset(b);d=-(c[1]-4);return new L.Point(a,d)}function __PinOffset(b){var c=32,a=14;if(b.PX){a=b.PX}else{if(options.pinOffsetE){a=options.pinOffsetE}}if(b.PY){c=b.PY}else{if(options.pinOffsetN){c=options.pinOffsetN}}if(b.HLOn){a+=2;c+=2}return[a,c]};
var $_OverrideTipText=null;function startPan(){toolMode="pan";setHandCursor()}function startZoom(){toolMode="zoom";jQuery(".leaflet-container").css("cursor","")}function startMeter(b){if(window.teklaMap._getIsThreeDMode()){if(window.Tekla.ThreeD){if(toolMode==="distance"){window.Tekla.ThreeD.setActiveTool("selection");endMeter()}else{window.Tekla.ThreeD.setActiveTool("measurement");toolMode="distance";jQuery("body").addClass(toolMode)}}return}var a=true;if(b&&toolMode=="distance"){a=false}if(toolMode=="distance"){endMeter()}else{if(a){toolMode="distance";jQuery("body").addClass(toolMode);if(!options.istouch){setStatus(GetText("cl_measureDistance"));enableTooltip()}jQuery(".leaflet-container").css("cursor","crosshair")}}}function endMeter(){clearToolstate();startPan()}function createDraw(b,a){fillDrawing=b;clearToolstate();if(b){toolMode="drawpolygon"}else{toolMode="drawpolyline"}initDraw(a)}function initDraw(a){window.teklaMap._HandleRemove();jQuery("body").addClass(toolMode);setStatus(GetText("cl_drawPolylineTip"));if(a){enableTooltip(a)}jQuery(".leaflet-container").css("cursor","crosshair")}function createDrawRectangle(a){fillDrawing=true;clearToolstate();toolMode="drawrectangle";initDraw(a)}function $_removeDrawingVisuals(){mapDrawing.points=null;if(L_TEMPLAYER){window.teklaMap.removeLayer(L_TEMPLAYER);L_TEMPLAYER=null}}function cancelDrawing(){$_removeDrawingVisuals();clearToolstate();startPan()}function removeLastPoint(){if(toolMode==="drawpolygon"||toolMode==="drawpolyline"){var a=2;if(toolMode==="drawpolygon"){a=3}if(mapDrawing.points==null||mapDrawing.points.length<a){return}mapDrawing.points.length=mapDrawing.points.length-1;$_redrawDrawing()}}function showSiteProperties(b){if(toolMode==="drawpolygon"||toolMode==="drawpolyline"||toolMode==="drawrectangle"){var a=2;if(toolMode==="drawpolygon"){a=3}if(mapDrawing.points==null||mapDrawing.points.length<a){clearToolstate();deleteDrawing();startPan();return}}Tekla.MapBubble.insert(toolMode,b,null)}function startPositionSelect(b){var a=document.getElementById("positionselect");if(toolMode!="positionselect"){toolModePrevious=toolMode}toolMode="selectposition";enableTooltip();jQuery(".leaflet-container").css("cursor","crosshair");if(b){positionTarget=b}}function cancelEventPropagation(a){if(a){if(a.preventDefault){a.preventDefault()}if(a.stopPropagation){a.stopPropagation()}}}function openUrl(url,event,target){if(toolMode!="distance"){if(url==null||url=="undefined"){return}if(url.indexOf("cript:")!=-1){eval(url)}else{window.open(url,target?target:"txwwin")}if(event){cancelEventPropagation(event)}}}function openUrlId(b,a,c){try{var f=$_DBSelect(b,a);if(f){if($_isValidUrl(f.Url,true)){openUrl(f.Url,c)}else{if(b!=OBJ_MYSITES){openUrl(f.Url,c)}else{if(f.Url.charAt(0)=="/"){openUrl(f.Url,c,f.UrlTarget)}}}}}catch(d){}}function openObjectSelectionMenu(b,a){openObjectSelectionWithLatLng(new L.LatLng(b,a))}function openObjectSelectionWithLatLng(a){window.Tekla.mapObjectSelection.selectMapObjects(a,function(f){if(!map.__isSelectMode&&f&&f.ReferenceId&&f.DocList&&f.DocList.length===1){openUrl(f.DocList[0].Url)}else{if(f){var d=$_findLayer(L_CATLAYER,f);var c=f.get_CenterPoint();var b=f.GetType()==="Point"&&c?[c.y,c.x]:a;if(d){d.fire("click",{latlng:b})}else{var e=map._PrepareBubble(OBJ_CATLAYER,f,a);if(e!=null){map.ShowBubble(b,e,__PopupAnchor(f))}}}}},false)}function $_isVisible_Handle(b){var a=false;if(b&&b.style.visibility=="visible"){a=true}return a}function $_isVisible(b){var a=document.getElementById(b);return $_isVisible_Handle(a)}function enableTooltip(a){$_OverrideTipText=a;window.teklaMap.AddMapMoveListener(updateTooltip)}function $_cancelTooltip(){$_OverrideTipText=null;window.teklaMap.RemoveMapMoveListener(updateTooltip)}function showTooltip(a){showObj("tooltipdiv")}function cancelDrawLine(){}function updateDistance(){var c=document.getElementById("distancediv");var d=document.getElementById("lastmeterpoint");var a=0;var b;if(mapMeter.points&&mapMeter.points.length>0){for(b=1;b<mapMeter.points.length;b++){a+=TGMap.Measure.distanceBetweenPoints(mapMeter.points[b].south,mapMeter.points[b].east,mapMeter.points[b-1].south,mapMeter.points[b-1].east)}if(d){d.innerHTML=String.format(GetText("cl_lastPointLocation"),$_getCoordinateString(mapMeter.points[mapMeter.points.length-1].south,mapMeter.points[mapMeter.points.length-1].east,"distance"))}}else{if(d){d.innerHTML=""}}if(c){c.innerHTML=String.format(GetText("cl_totalDistance"),TGMap.Measure.formatDistance(Math.round(a)))}}function updateTooltip(b){if(!b||!b.containerPoint){return}var j=b.containerPoint;var k=j.x;var i=j.y;var e=b.latlng;var l=document.getElementById("tooltipdiv");if(l){l.style.left=(k+10)+"px";l.style.top=(i+20)+"px";if(toolMode==="distance"){var c=e.lng;var g=e.lat;var f=TGMap.Measure.count();if(f<1){l.innerHTML=GetText("cl_selectFirstPoint")+"&nbsp;"}else{if(
/*options.istouch &&*/
f>0){var h=TGMap.Measure.getTotalDistance();var m=TGMap.Measure.lastpoint();var a=h+TGMap.Measure.distanceBetweenPoints(g,c,m[0],m[1]);l.innerHTML=TGMap.Measure.formatDistance(a)}}}else{if(toolMode==="selectposition"){var d="";if(positionTarget=="searchengine"){d=GetText("cl_selectNewObjectPosition")}else{if(positionTarget=="feedback"){d=GetText("cl_selectFeedbackTarget")}else{if(positionTarget=="property"){d=GetText("cl_selectQueryPorpertiesTarget")}else{if(positionTarget=="link"){d=GetText("cl_selectLinkPosition")}else{if(positionTarget=="emodel"){d=GetText("cl_selectFeedbackTarget")}else{if(positionTarget=="external"&&$_extPickTip){d=$_extPickTip}else{d=GetText("cl_selectPositionFromMap")}}}}}}l.innerHTML=d+"&nbsp;"}else{if(toolMode==="createsite"||toolMode==="createaddress"||toolMode==="createsearchobject"){if($_OverrideTipText){l.innerHTML=$_OverrideTipText}else{l.innerHTML=GetText("cl_selectNewObjectPosition")}}else{if(toolMode==="movesite"){l.innerHTML=GetText("cl_selectMoveObjectPosition")}else{if(toolMode==="drawpolyline"||toolMode==="drawpolygon"||toolMode==="drawrectangle"){if($_OverrideTipText){l.innerHTML=$_OverrideTipText}}}}}}if(l.innerHTML.trim().length===0){jQuery(l).hide()}else{jQuery(l).show()}}}function $_hideTooltip(a){hideObj("tooltipdiv")}function $_setZoomScalePosition(){return}function setStatus(b){var a=document.getElementById("statusdiv");if(a){a.innerHTML=b}}function UpdateLayerState(a,b){window.teklaMap._UpdateMapPosition();if(Tekla.MapLink){Tekla.MapLink.update()}}function removeInfoTimer(){if($_infoTimer){clearTimeout($_infoTimer);infoTimeout=null}}function hideInfo(a){removeInfoTimer();Tekla.MapBubble.hideAll(a)}function showMessagePanel(b,e,d){var c=document.getElementById("messagepaneldiv");var a=document.getElementById("messagepaneltext");hideObj("messagepanelclosebutton");a.innerHTML=d;c.style.left=(b+42)+"px";c.style.top=(e-37)+"px";showObj("messagepaneldiv")}function hideMessagePanel(){hideObj("messagepanelclosebutton");hideObj("messagepaneldiv")}function doHover(a){a.style.textDecoration="underline"}function doMenuHover(a){a.className="menu_context_on"}function removeMenuHover(a){a.className="menu_context_off"}function doBackgroundHover(a){a.className="box_context_on"}function removeBackgroundHover(a){a.className="box_context_off"}function removeHover(a){a.style.textDecoration="none"}function $_revertToolMode(){toolMode=toolModePrevious;if(toolMode==="pan"){startPan()}else{if(toolMode==="distance"){startMeter()}else{if(toolMode==="zoom"){startZoom()}}}}function clearToolstate(){jQuery("body").removeClass(toolMode);cancelDrawLine();$_hideTooltip();$_cancelTooltip()}function $_zoomToDBExtents(b){var e=new BBox();for(var a=0;a<b.items.length;a++){var d=b.items[a];if(d&&d.Name){d.RegisterBB(e)}}if(e.Valid){var c=[[e.northmin,e.eastmin],[e.northmax,e.eastmax]];window.teklaMap._FitBounds(c);window.teklaMap._UpdateMapPosition()}}function $_existMySite(a){return $_DBFindObjectByName(MySitesDB,a)}function MyObjectsHandler(c){var d=null;try{d=TGMap.myObjects.knownTypes[c].onaction}catch(h){}if(d){var b=[];for(var a=0;a<MySitesDB.items.length;a++){var g=MySitesDB.items[a];if(g&&g.Name&&g.ReferenceId&&g.MyOType==c){b.push(g.ReferenceId)}}d(b.length==0?[-1]:b)}}function $_updateMySites(){return}function $_getAreaBB(c){var b=new BBox();var d=window.teklaMap;var a=window.teklaMap.getBounds();var h=a.getEast();var g=a.getSouth();var i=a.getWest();var e=a.getNorth();b.RegisterPoint(g,i);b.RegisterPoint(e,h);if(c){if(c>0.1){b.Extend(c)}}else{var f=256*currentWupp();b.Extend(f)}return b}function startHideTimer(){removeInfoTimer();$_infoTimer=setTimeout(function(){hideInfo()},400)}function $_drawModeOn(){if(document.onmousemove===drawZoom||toolMode==="createsite"||toolMode==="createaddress"||toolMode==="createsearchobject"||toolMode==="drawrectangle"||toolMode==="drawpolygon"||toolMode==="drawpolyline"||toolMode==="distance"||toolMode==="selectposition"||toolMode==="movesite"||$_isVisible("maincontextdiv")){return true}return false}function showShortInfo(d,b,f,a,h,e){var g=null;if(d>=0&&b){var g=$_DBSelect(d,b);if(!g){return}}var c="mouseout.teklaShortInfo";jQuery(f).bind(c,function(){Tekla.MapBubble.hideShort()});Tekla.MapBubble.showShort(d,g,a,h,e,null,function(){jQuery(f).unbind(c)})}function showShortInfoWithContent(c,a,d,b){showShortInfo(null,null,c,a,d,{name:b})}function showInfo(f,a,d,c,b){if(document.onmouseup||(!b&&($_drawModeOn()))){return}removeInfoTimer();var h=$_DBSelect(f,a);if(!h){return}else{if(h.oninfo){if(h.oninfo()!==true){return}}}var e=h.get_CenterPoint();var g=Tekla.MapBubble.show(f,h);window.teklaMap.ShowBubble([e.y,e.x],g,__PopupAnchor(h))}function setHandCursor(a){jQuery(".leaflet-container").css("cursor","")}function setGrabCursor(a){jQuery(".leaflet-container").css("cursor","crosshair")}var $_Cursor;function $_setCursor(b){var a=jQuery(".leaflet-container").css("cursor");if($_Cursor!=a&&a!=b){$_Cursor=a}jQuery(".leaflet-container").css("cursor",b)}function $_restoreCursor(){if(String.IsPrintable($_Cursor)){jQuery(".leaflet-container").css("cursor",$_Cursor);$_Cursor=null}}function $_layerEquals(a,b){if(a.Name==b||a.Label==b){return true}else{return false}}function $_publishObjectData(a){if(a&&a.html&&a.target){$_CallEventHandler(tekla.Map.EVENT.SHOWPROPERTIES,a.html,a.target)}}function showProperties(d,e,a,c){var b=actionUrl("Search")+"?Op=action&Provider="+$_ENCODE(d)+"&id="+e;if(a){b+="&tag="+$_ENCODE(a)}if(c){b+="&class="+$_ENCODE(c)}jQuery.ajax({async:true,type:"GET",url:b,success:function(g){var f=$_EVALJSON(g);$_publishObjectData(f)}})}function $_showByRef(f,a,e){var b=$_GetDBByIndex(a);if(b){var g=$_DBFindObjectByAttribute(b,"ReferenceId",f);if(g){if(e&&window.Tekla.MobileSetTab){window.Tekla.MobileSetTab("map")}$_ZoomToObject(g);var d=Tekla.MapBubble.show(a,g);var c=g.get_CenterPoint();window.teklaMap.ShowBubble([c.y,c.x],d,__PopupAnchor(g));return true}}return false}function showByRef(c,a){var b=window.teklaMap.options.IsMobile;var d=$_showByRef(c,OBJ_CATLAYER,b);if(!d){d=$_showByRef(c,OBJ_SEARCH,b)}if(a){return d}return}function $_refreshObject(g,b,f,a){function d(i,l,h){if(h){h(i,l)}else{var m=l.get_Presentation();if(m){if(i._icon){var j=L.icon({iconUrl:m.Image?m.Image:__getPinImage(),iconAnchor:__PinOffset(l),className:__GetExtraClasses(m,i.options.isselected,l.HLOn)});i.setZIndexOffset(l.HLOn?300:0);i.setIcon(j)}else{var k={};k.weight=(m&&m.LineWidth)?m.LineWidth:$_defaultLineWidth;k.color=(m&&m.LineColor)?m.LineColor:$_defaultLineColor;k.opacity=(m&&m.LineOpacity)?m.LineOpacity:$_defaultLineOpacity;if(i.options.fillColor){k.fillColor=(m&&m.FillColor)?m.FillColor:$_defaultFillColor;k.fillOpacity=(m&&m.FillOpacity)?m.FillOpacity:$_defaultFillOpacity}i.setStyle(k)}}}}var c=null;if(g==OBJ_MYSITES){c=L_MYSITESLAYER}else{if(g==OBJ_SEARCH){c=L_SEARCHLAYER}else{if(g==OBJ_CATLAYER){c=L_CATLAYER}}}if(c){var e=$_findLayer(c,f);if(e){d(e,f,a)}}}function $_findLayer(b,e){if(b&&b._layers&&e){for(var f in b._layers){var c=b._layers[f];if(c){if(c._layers){for(var d in c._layers){var a=c._layers[d];if(a.options&&a.options.obj&&a.options.obj.__id===e.__id){return a}}}else{if(c.options&&c.options.obj&&c.options.obj.__id===e.__id){return c}}}}}return null};
function ShowMessage(a){alert(a)}function $_generateLayerOnOff(){var c="";var b=window.teklaMap._getIsThreeDMode()?Tekla.ThreeDMapLayers.getselected(true):Tekla.Layers.getselected(true);if(!b||b.length<1){return""}for(var a=0;a<b.length;a++){c+="&lon="+$_ENCODE(b[a])}return c}function $_showSiteResultWnd(a){if(window.Tekla.MobileShowHtml){if(a&&a.length>0){window.Tekla.MobileShowHtml(a,false)}}else{if(a){jQuery("#searchresults").empty().append(a)}if(Tekla&&Tekla.SideBar){Tekla.SideBar.opentab("#searchresults")}}}function $_onReadyStateSearch_Data(c,d){var a=$_EVALJSON(c);SearchDB.Clear();var b=$_layerDisplayResults(SearchDB,a,LIST_CB);if(d){d(b)}}function doSearch(b,c){if(b.q.value.length<1){return false}var a=actionUrl("Search")+"?Op=all&Name="+$_ENCODE(b.q.value);if(b.Municipality){a+="&Municipality="+$_ENCODE(b.Municipality.value)}if(b.addressOnly){if(b.addressOnly.checked){a+="&SearchMask=a"}}if(b.uid){a+="&uid="+$_ENCODE(b.uid.value)}if(b.q.value.indexOf("currentarea:")!=-1){a+=window.teklaMap._GetAreaString()}jQuery.ajax({async:true,type:"GET",url:a,cache:false,success:function(d){jQuery(".ui-autocomplete-input").autocomplete("close");if(Tekla&&Tekla.SideBar){Tekla.SideBar.opentab("resulttab")}$_onReadyStateSearch_Data(d,c)}});return false}function searchClick(c,b,a){var d=$_DBSelect(c,b);if(d){showSite(c,b,a)}}function $_searchAreaDivisionByPosition(d,b){var a;var c=document.areaDivisionForm;var e=encodeURIComponent(c.areaDivision.value);if(d&&b){a=actionUrl("Search")+"?Op=areadivpt&areadivision="+e+"&North="+d+"&East="+b;c.searchtext.value=""}else{return}jQuery.ajax({async:true,type:"GET",url:a,success:function(f){$_onReadyStateAreaDivSearch_Data(f)}})}function searchAreaDivision(b){var a;var c=encodeURIComponent(b.areaDivision.value);if(b.searchtext.value.length>0){a=actionUrl("Search")+"?Op=areadivpt&areadivision="+c+"&Name="+$_ENCODE(b.searchtext.value);if(b.Municipality){a+="&Municipality="+$_ENCODE(b.Municipality.value)}}else{return}jQuery.ajax({async:true,type:"GET",url:a,success:function(d){$_onReadyStateAreaDivSearch_Data(d)}})}function $_areaDivSetArea(d,g,c,f){var j=Math.min(d,c);var b=Math.max(d,c);var i=Math.min(g,f);var h=Math.max(g,f);var a=[[j,i],[b,h]];window.teklaMap._FitBounds(a);window.teklaMap._UpdateMapPosition()}function $_onReadyStateAreaDivSearch_Data(g){var a=$_EVALJSON(g);if(a.outside){ShowMessage(GetText("cl_positionOutsideOfAnyArea"))}else{if(a.naddressfound==1){var e='<table class="areasearch"><tr><td colspan="2"><b>'+a.areaname+"</b></td></tr>";for(var d=0;d<a.attributes.length;d++){if(a.attributes[d].values){for(var c=0;c<a.attributes[d].values.length;c++){if(a.attributes[d].values[c].e){e+='<tr><td colspan="2"><a target="areaLink" class="bubblelink" href="'+a.attributes[d].values[c].v+'">'+a.attributes[d].values[c].e+"</a></td></tr>"}else{e+="<tr><td>"+a.attributes[d].key+"</td><td>"+a.attributes[d].values[c].v+"</td></tr>"}}}else{if(a.attributes[d].valueexp){e+='<tr><td colspan="2"><a target="areaLink" class="bubblelink" href="'+a.attributes[d].value+'">'+a.attributes[d].valueexp+"</a></td></tr>"}else{e+="<tr><td>"+a.attributes[d].key+"</td><td>"+a.attributes[d].value+"</td></tr>"}}}e+="</table>";var f=false;if(a.displayat){if(a.displayat=="source"){f=true}}var h=new SR_Point(null,null,a.url,a.image,f?a.north:a.areanorth,f?a.east:a.areaeast);h.set_FmtText(e);var b=SearchDB.Insert(h);if(f){window.teklaMap._UserPositionDelete();$_areaDivSetArea(a.north,a.east,a.north,a.east)}else{window.teklaMap._UserPositionShow(a.north,a.east);$_areaDivSetArea(a.areanorth,a.areaeast,a.north,a.east)}showSite(OBJ_SEARCH,b,true)}else{if(a.naddressfound==-1){ShowMessage(GetText("cl_addressNrMissing"));updateSites()}else{if(a.naddressfound>0){ShowMessage(GetText("cl_severalAddressFound"));updateSites()}else{ShowMessage(GetText("cl_addressNotFound"));updateSites()}}}}}function doAdvancedSearch(d,f){var c="";if(d.Text.value==GetText("cl_searchDetailTip")){c=""}else{c=$_ENCODE(d.Text.value)}var a=actionUrl("Search")+"?Op=ext&Name="+c;var b="";var e=jQuery("#selectedClassesList>span");if(e.length==0){b+="&cid=allc"}else{e.each(function(g){var h=jQuery(this).attr("id").split("_");b+="&cid="+h[1]})}a+=b;if(d.MapArea.checked){a+=window.teklaMap._GetAreaString()}if(d.Municipality&&d.Municipality.value.length>0){a+="&Municipality="+$_ENCODE(d.Municipality.value)}if(d.Area&&d.Area.value.length>0){a+="&Area="+$_ENCODE(d.Area.value)}if(d.Occ&&d.Occ.value.length>0){a+="&Occ="+$_ENCODE(d.Occ.value)}jQuery.ajax({async:true,type:"GET",url:a,success:function(g){if(f){jQuery("#advancedSearch").hide()}$_onReadyStateSearch_Data(g,function(h){Tekla.SideBar.opentab("resulttab");var i=angular.element($("#pane-search")).scope();if(i){i.$evalAsync(function(){i.refresh(h)})}})}});return false}var currentPlanRegHtml=null;function planRegulationLink(c,b){var a=actionUrl("Search")+"?Op=getplanregulations&LUPlanId="+c;if(b){a+="&PlanId="+b}jQuery.ajax({async:true,type:"GET",url:a,success:function(h){var d=$_EVALJSON(h);if(d){var g;var j=new StringBuilder("");if(d.name){j.Append('<h3 class="planreg">'+d.name+"</h3>")}else{if(d.tip){j.Append('<h4 class="planreg">'+d.tip+"</h4>")}}if(d.reg&&d.reg.length>0){j.Append('<table class="planreg">');for(var f=0;f<d.reg.length;f++){var e="<tr>";if(d.reg[f].picsrc){e+='<td align="center"><img src="'+options.appPath+"/"+d.reg[f].picsrc+'"></td>'}else{e+="<td></td>"}if(d.reg[f].PlRegNum){e+="<td>"+d.reg[f].PlRegNum+"</td>"}else{e+="<td></td>"}e+="<td>"+d.reg[f].Desc+"</td></tr>";j.Append(e)}j.Append("</table>")}g=j.ToString()}Tekla.MapBubble.hideAll();if(Tekla.HTMLWindow){Tekla.HTMLWindow.show(g,{onClose:function(){currentPlanRegHtml=null}})}currentPlanRegHtml=g}})}function applyMaxLength(a,b){var c=document.getElementById(a);if(c){if(c.value.length>b){c.value=c.value.substring(0,b)}}}function $_linkShowAreaSearch(a){Tekla.SideBar.opentab("areasearchtab");var b=document.getElementById("areaDivision");if(b&&a.areatype){b.value=a.areatype}}function $_querySetCookie(){$_setCookie($_queryCookieName,"true")}function $_queryIsCookieSet(){var a=false;var b=$_getCookie($_queryCookieName);if(b&&b=="true"){a=true}return a}function qryVis(){showObj("querydiv")}function $_initQuery(){if(options.lang=="fin"&&String.IsPrintable($_queryTargetUrl)&&!$_queryIsCookieSet()){setTimeout("qryVis();",$_queryTargetTimeout*1000)}}function showQuery(){hideObj("querydiv");openUserQuery($_queryTargetUrl);$_querySetCookie()}function $_ClearElementInnetHTML(a){var b=document.getElementById(a);if(b){b.innerHTML=""}}function propLink(a,b){window.teklaMap.printPage(a,b)}function $_onReadyCommonProviderAction_Data(c){var a;if(typeof c==="string"){a=$_EVALJSON(c)}else{a=c}if(a){var d=false;if(!a.keep){SearchDB.Clear()}if(a.setarea&&a.mnorth){var b=[[a.mnorth-a.height/2,a.meast-a.width/2],[a.mnorth+-a.height/2,a.meast+a.width/2]];window.teklaMap._FitBounds(b)}$_beginResultSet(OBJ_SEARCH);if(a.geoJSON){$_layerGeoJSONDisplayResults(SearchDB,a.geoJSON);if(a.geoJSON.length==1&&a.geoJSON[0].referenceid){$_showByRef(a.geoJSON[0].referenceid,OBJ_SEARCH);d=true}}$_endResultSet(OBJ_SEARCH);if(!d){window.teklaMap._UpdateMapPosition(true)}if(a.objectdata){$_publishObjectData(a.objectdata)}}}function providerAction(b,c){var a=actionUrl("Search")+"?Provider="+$_ENCODE(b)+"&Op=Action&"+c;jQuery.ajax({async:true,type:"GET",url:a,dataType:tekla.utility.isSameOrigin(a)?"text":"jsonp",success:function(d){if(typeof d==="string"){d=$_EVALJSON(d)}$_onReadyCommonProviderAction_Data(d)}})};
L.CRS.Locus=L.extend({},L.CRS,{projection:L.Projection.LonLat,transformation:new L.Transformation(1,0,-1,0),scales:null,res:null,scale:function(f){if(window.teklaMap.options.isLatLon){this._ensureScales();var e=Math.floor(f),d,c,b,a;if(f===e){return this._scales[f]}else{d=this._scales[e];c=this._scales[e+1];b=c-d;a=(f-e);return d+b*a}}else{if(f>=17){return Math.pow(2,f-17)}else{return 1/Math.pow(2,17-f)}}},_ensureScales:function(){if(!this.scales){this.res=[];for(var a=0;a<22;a++){this.res[a]=(2*Math.PI*6378137)/(256*Math.pow(2,a))}this._scales=[];for(var a=this.res.length-1;a>=0;a--){if(this.res[a]){this._scales[a]=1/this.res[a]}}}},_closestElement:function(d,c){var a;for(var b=d.length;b--;){if(d[b]<=c&&(a===undefined||a<d[b])){a=d[b]}}return a},zoom:function(h){if(window.teklaMap.options.isLatLon){this._ensureScales();var d=this._closestElement(this._scales,h),g=this._scales.indexOf(d),f,b,e;if(h===d){return g}b=g+1;f=this._scales[b];if(f===undefined){return Infinity}e=f-d;return(h-d)/e+g}else{if(h<=1){var c=Math.log(1/h)/Math.LN2;return 17-c}else{var c=Math.log(h)/Math.LN2;return 17+c}}},distance:function(a,d){var c=d.lng-a.lng,b=d.lat-a.lat;return Math.sqrt(c*c+b*b)},infinite:true,zoom2Wupp:function(b){if(window.teklaMap.options.isLatLon){this._ensureScales();return this.res[b]}else{var a;if(b<=17){a=Math.pow(2,17-b)}else{a=1/Math.pow(2,b-17)}return a}},wupp2Zoom:function(c,h){var g=1;if(window.teklaMap.options.isLatLon){this._ensureScales();var f=this.res[0];for(var e=0;e<this.res.length;e++){var j=Math.abs(this.res[e]-c);if(j<f){g=e;f=j}}}else{if(c<=1){var b=Math.log(1/c)/Math.LN2;g=17+b}else{var b=Math.log(c)/Math.LN2;g=17-b}}if(h){g=Math.floor(g)}return g}});L.LocusTileLayer=L.TileLayer.extend({_delays:{},_delaysForZoom:null,getTileUrl:function(b){var a={r:L.Browser.retina?"@2x":"",s:this._getSubdomain(b),x:b.x,y:b.y,z:this._getZoomForUrl(),};if(this._map&&!this._map.options.crs.infinite){var c=this._globalTileRange.max.y-b.y;if(this.options.tms){a.y=c}a["-y"]=c}a["-y"]=-b.y-1;return L.Util.template(this._url,L.extend(a,this.options))},createCanvas:function(f,h,d){var c;var j=f.getContext("2d");var g=this.getTileSize(),b=g.x,i=g.y;f.width=b;f.height=i;var e=new Image();e.onload=function(){try{j.drawImage(e,0,0);f.complete=true}catch(k){c=k}finally{d(c,f)}};e.src=this.getTileUrl(h);var a=this.options.crossOrigin;if(a||a===""){f.crossOrigin=a===true?"":a}},createTile:function(e,a){var d=this.options.timeout;var c=e.z;var b=document.createElement("canvas");if(d){if(c!==this._delaysForZoom){this._clearDelaysForZoom();this._delaysForZoom=c}if(!this._delays[c]){this._delays[c]=[]}this._delays[c].push(setTimeout(function(){_this.createCanvas(b,e,a)},d))}else{this.createCanvas(b,e,a)}return b},_clearDelaysForZoom:function(){var a=this._delaysForZoom;var c=a!=null?this._delays[a]:null;if(!c){return}for(var b=0;b<c.length;b++){clearTimeout(c[b]);delete c[b]}delete this._delays[a]}});L.locusTileLayer=function(b,a){return new L.LocusTileLayer(b,a)};(function(a,b){if(typeof define==="function"&&define.amd){define(["leaflet"],a)}else{if(typeof exports==="object"){module.exports=a(require("leaflet"))}}if(typeof b!=="undefined"&&b.L){b.L.PolylineOffset=a(L)}}(function(a){function f(j,k){if(!j||j.length<1){return}for(var h=1,g=j.length;h<g;h++){k(j[h-1],j[h])}}function c(i,h){if(i.x===h.x){return i.y===h.y?null:{x:i.x}}var g=(h.y-i.y)/(h.x-i.x);return{a:g,b:i.y-g*i.x,}}function e(k,j,m,l){var i=c(k,j);var h=c(m,l);if(i===null||h===null){return null}if(i.hasOwnProperty("x")){return h.hasOwnProperty("x")?null:{x:i.x,y:h.a*i.x+h.b,}}if(h.hasOwnProperty("x")){return{x:h.x,y:i.a*h.x+i.b}}if(i.a===h.a){return null}var g=(h.b-i.b)/(i.a-h.a);return{x:g,y:i.a*g+i.b}}function b(h,i,g){return{x:h.x+i*Math.cos(g),y:h.y+i*Math.sin(g),}}var d={offsetPointLine:function(h,i){var g=[];f(h,a.bind(function(k,j){if(k.x===j.x&&k.y===j.y){return}var l=Math.atan2(k.y-j.y,k.x-j.x);var m=l-Math.PI/2;g.push({offsetAngle:m,original:[k,j],offset:[b(k,i,m),b(j,i,m)]})},this));return g},offsetPoints:function(j,i,h){var g=this.offsetPointLine(j,i);return this.joinLineSegments(g,i,h)},joinSegments:function(h,g,j,i){return this.circularArc(h,g,j,i).filter(function(k){return k})},joinLineSegments:function(g,l,i){var j=[];var k=g[0];var h=g[g.length-1];if(k&&h){j.push(k.offset[0]);f(g,a.bind(function(n,m){j=j.concat(this.joinSegments(n,m,l,i))},this));j.push(h.offset[1])}return j},segmentAsVector:function(g){return{x:g[1].x-g[0].x,y:g[1].y-g[0].y}},getSignedAngle:function(j,i){var h=this.segmentAsVector(j);var g=this.segmentAsVector(i);return Math.atan2(h.x*g.y-h.y*g.x,h.x*g.x+h.y*g.y)},circularArc:function(s,p,h,i){if(s.offsetAngle===p.offsetAngle){return[s.offset[1]]}if(!i){return[e(s.offset[0],s.offset[1],p.offset[0],p.offset[1])]}var l=this.getSignedAngle(s.offset,p.offset);if((l*h>0)&&(l*this.getSignedAngle(s.offset,[s.offset[0],p.offset[1]])>0)){return[e(s.offset[0],s.offset[1],p.offset[0],p.offset[1])]}var r=[];var g=s.original[1];var o=h>0;var n=o?p.offsetAngle:s.offsetAngle;var k=o?s.offsetAngle:p.offsetAngle;if(k<n){k+=Math.PI*2}var j=Math.PI/8;for(var m=n;m<k;m+=j){r.push(b(g,h,m))}r.push(b(g,h,k));return o?r.reverse():r}};a.Polyline.include({_projectLatlngs:function(i,h,l){var g=i.length>0&&i[0] instanceof a.LatLng;if(g){var k=i.map(a.bind(function(n){var m=this._map.latLngToLayerPoint(n);if(l){l.extend(m)}return m},this));var j=this._map.GetZoom();if(this.options.offset){k=a.PolylineOffset.offsetPoints(k,this.options.offset,j<=0.5)}h.push(k.map(function(m){return a.point(m.x,m.y)}))}else{i.forEach(a.bind(function(m){this._projectLatlngs(m,h,l)},this))}}});a.Polyline.include({setOffset:function(g){this.options.offset=g;this.redraw();return this}});return d},window));(function(a,b){if(typeof define==="function"&&define.amd){define(["leaflet"],a)}else{if(typeof exports==="object"){module.exports=a(require("leaflet"))}}if(typeof b!=="undefined"&&b.L){b.L.PolylineSymboled=a(L)}}(function(b){function e(h,j){if(!h||h.length<1){return}for(var g=1,f=h.length;g<f;g++){j(h[g-1],h[g])}}function a(f,i,g,h){return Math.sqrt((f-=g)*f+(i-=h)*i)}function d(n){var j,g;var h=0;for(j=1,g=n.length;j<g;j++){var m=n[j-1];var k=n[j];h+=a(m.x,m.y,k.x,k.y)}return h}var c={_angle:function(f,k,j,i){var g=i-k;var h=j-f;return Math.atan2(g,h)},arrow:function(g,f,l,k,j,h,i){if(j==="arrow"||j==="one-sided-arrow"){g.moveTo(f,l);g.lineTo(f-h*Math.cos(k-i),l-h*Math.sin(k-i))}if(j==="arrow"){g.moveTo(f,l);g.lineTo(f-h*Math.cos(k+i),l-h*Math.sin(k+i))}},circle:function(h,g,i,f){h.arc(g,i,f,0,2*Math.PI,false)},triangle:function(g,f,k,j,h,i){g.moveTo(f,k);g.lineTo(f-h*Math.cos(j-i),k-h*Math.sin(j-i));g.lineTo(f-h*Math.cos(j+i),k-h*Math.sin(j+i));g.lineTo(f,k)},square:function(g,f,l,j,h){var k=h*Math.sqrt(2);var i=Math.PI/4;g.moveTo(f,l);g.lineTo(f-h*Math.cos(j-i),l-h*Math.sin(j-i));g.lineTo(f-k*Math.cos(j),l-k*Math.sin(j));g.lineTo(f-h*Math.cos(j+i),l-h*Math.sin(j+i));g.lineTo(f,l)}};b.Canvas.include({_updatePoly:function(Q,g){if(!this._drawing){return}var K,J,r,C,E=Q._parts,M=E.length,G=this._ctx;if(!M){return}G.beginPath();for(K=0;K<M;K++){for(J=0,r=E[K].length;J<r;J++){C=E[K][J];G[J?"lineTo":"moveTo"](C.x,C.y)}if(g){G.closePath()}}this._fillStroke(G,Q);if(Q.options.symbolOptions){var w=Q.options.symbolOptions;var m=w.MinDistance||125;var D=w.Length||20;var A=w.Angle||Math.PI/6;var H=w.Symbol||"arrow";var t=w.Distance||50;var l=w.Radius||15;var q=false;var o={};var k=Q.options;o.weight=w.LineWidth||k.weight/2;o.color=w.LineColor||k.color;o.opacity=w.LineOpacity||k.opacity;o.fillColor=w.FillColor||k.fillColor;o.fillOpacity=w.FillOpacity||k.fillOpacity;for(K=0;K<M;K++){var h=d(E[K]);if(h>=m){var I=0;for(J=0,r=E[K].length;J<r;J++){C=E[K][J];if(J>0){var O=E[K][J-1];var z=E[K][J];var N=b.PolylineSymboled._angle(O.x,O.y,z.x,z.y);var P=a(O.x,O.y,z.x,z.y);if((I+P)>t){var n=0;var F=true;var B=t-I;while(F){n+=B;var v=O.x+Math.cos(N)*n;var u=O.y+Math.sin(N)*n;G.beginPath();if(H==="circle"){b.PolylineSymboled.circle(G,v,u,l);q=true}else{if(H==="triangle"){b.PolylineSymboled.triangle(G,v,u,N,D,A);q=true}else{if(H==="square"){b.PolylineSymboled.square(G,v,u,N,D);q=true}else{b.PolylineSymboled.arrow(G,v,u,N,H,D,A)}}}if((n+t)<P){B=t;I=0}else{F=false;I=P-n}G.closePath();o.fill=q;this._fillStrokeSymbol(G,Q,o)}}else{I+=P}}}}}}},_fillStrokeSymbol:function(g,i,f){var h=i.options;if(f.fill||h.fill){g.globalAlpha=f.fillOpacity||h.fillOpacity;g.fillStyle=f.fillColor||h.fillColor||h.color;g.fill(h.fillRule||"evenodd")}if(h.stroke&&h.weight!==0){if(g.setLineDash){g.setLineDash(i.options&&i.options._dashArray||[])}g.globalAlpha=f.opacity||h.opacity;g.lineWidth=f.weight||h.weight;g.strokeStyle=f.color||h.color;g.lineCap=h.lineCap;g.lineJoin=h.lineJoin;g.stroke()}}});b.Polyline.include({setArrow:function(f){this.options.symbolOptions=f;this.redraw();return this}});return c},window));
(function(g,j){var b="tekla.ims.mapbubble",e={autoFocus:false};var a=1;var h=null;function d(n,l){var m=jQuery('<style type="text/css">.bubble.tip-dynamic:after{left: '+n+"; right: "+l+";}</style>").appendTo("head");if(h){h.remove()}h=m}function k(l){return parseFloat((""+l).replace(",","."))}var c=j.deleteItem=function(n,m,o,l){Tekla.MapBubble.hideAll();cancelEventPropagation(o);var p=$_DBSelect(n,m);if(l||(p&&p.CustomDelete)||confirm(GetText("cl_deleteConfirm"))){if(p&&p.CustomDelete){$_CallEventHandler(tekla.Map.EVENT.EXTERNALDELETEREQUESTED,"extdelete",p);return}j.teklaMap.BeginGuiTrans();$_DBDelete(n,m);if(n==OBJ_MYSITES){$_CallEventHandler(tekla.Map.EVENT.DRAWINGDELETED);if(j.teklaMap3&&j.Tekla.ThreeD){j.Tekla.ThreeD.addMarkUps(MySitesDB,true)}}j.teklaMap.NeedLayerRedraw();j.teklaMap.EndGuiTrans()}};function f(l,n,m){Tekla.MapBubble.hideAll();toolMode="movesite";setStatus(GetText("cl_selectMoveObjectPosition"));j.teklaMap.AddMapMoveListener(updateTooltip);enableTooltip();$_SelectedDBIndex=l;$_SelectedId=n;jQuery(".leaflet-container").css("cursor","crosshair");cancelEventPropagation(m)}function i(m,l){this.element=m;this.options=jQuery.extend({},e,l);this._defaults=e;this.prevPresentation=null;this.hasPresentation=false;this.presentationHasChanges=false;this._init()}i.prototype._init=function(){var q=this.options;var m=jQuery(this.element);var z=this;if(q.prestypes&&q.prestypes.length>0){var p=m.find(".presentation-tab");p.presentationselector({embedded:true});p.presentationselector("toggleTypes",q.prestypes);var w=q.presentation;if(q.obj){z.prevPresentation=q.obj.Presentation;if(!w){w=z.prevPresentation}}p.presentationselector("setPresentation",w,function(){z._presentationChanged()});z.hasPresentation=true}if(jQuery.fn.minitabs){m.minitabs()}else{m.find(".tabItems").hide();z.hasPresentation=false}if(typeof tinyMCE!="undefined"){var u=m.find(".edit-bubble-htmldescription textarea");if(u.length>0){var n="mce_"+a++;u.attr("id",n);u.addClass(n)}}if(!q.customContent){var r="input, textarea, select";if(q.visible&&q.visible.length>0){m.addClass("element-filter");for(var t=0;t<q.visible.length;t++){m.addClass("filter-"+q.visible[t])}}if(q.editable){var v;if(q.values){for(v in q.values){if(q.editable===true||q.editable.indexOf(v)!==-1){if(q.values[v]){m.find('[name="'+v+'"]').val(q.values[v])}}else{m.find('[name="'+v+'"]').siblings().remove().end().replaceWith('<span class="'+v+'">'+(!q.values[v]?"":q.values[v])+"</span>")}}}if(q.editable.length>=0){m.find(r).each(function(){if(q.editable.indexOf(jQuery(this).attr("name"))===-1){jQuery(this).siblings().remove().end().remove()}})}}else{if(q.obj){m.find(".name").text(q.obj.Name||"");var l=this._renderExplanation(q.obj)||"";if(l!==""){m.find(".explanation").html(l)}else{m.find(".explanation").hide()}m.find(".htmldescription").text(q.obj.htmldescription||"");m.find(".links").html(this._renderlinks(q.dbindex,q.obj));m.find(".externallinks").html(this._renderexternaldocuments(q.obj));m.find(".map-selection").html(this._renderMapSelectionLink());if(q.obj&&q.obj.CustomPicture){var s=jQuery("<img/>").attr("src",q.obj.CustomPicture);s.appendTo(m.find(".picture"))}}else{if(q.values){m.find(".name").text(q.values.name||"")}}}if(m.find(r).length===0){m.find("button.action-cancel").remove()}}function y(A){var o=jQuery('<li><a href="javascript:void(0);">'+A.name+"</a></li>");if(A.cssClass){o.find("a").addClass(A.cssClass)}if(A.title){o.find("a").attr("title",A.title)}if(typeof A.action==="function"){jQuery(o).click(function(B){A.action(B,z._getValues())})}return o}function x(B,o){var A;if(jQuery.isArray(B)&&B.length>0){if(jQuery.isArray(B[0])){A=jQuery('<div class="actionbar-multi-container"></div>');jQuery(B).each(function(C,D){if(C>0){A.append('<div class="clear"></div>')}A.append(x(this,C))})}else{A=jQuery('<ul class="actionbar-list"></ul>');jQuery(B).each(function(){A.append(y(this))})}}return A}if(q.actions&&q.actions.length>0){m.find(".bubble-footer").prepend(x(q.actions,0))}m.find(".action-ok").click(function(){z.close(true);return false});m.find(".close-bubble, .action-cancel").click(function(){z._cancel()});m.find("input").keydown(function(o){if(o.which==13){o.preventDefault()}})};i.prototype._cancel=function(){var n=this.options;var l=this;var m=true;if(typeof n.onCancel==="function"){if(n.onCancel()===false){m=false}}if(m){l.close(false)}};i.prototype._presentationChanged=function(){var l=this.options;if(l.obj&&l.dbindex){l.obj.Presentation=jQuery.extend({},l.obj.Presentation,this._getPresentation());this.presentationHasChanges=true;$_refreshObject(l.dbindex,l.obj.__id,l.obj)}};i.prototype._getPresentation=function(){var l=this.options;if(this.hasPresentation===true){return jQuery(this.element).find(".presentation-tab").presentationselector("getPresentation",l.obj&&l.obj.get_PresTypes?l.obj.get_PresTypes():l.prestypes)}else{return null}};i.prototype._getPinImage=function(m){var l=null;if(m){var n=m.get_Presentation?m.get_Presentation():null;if(n){l=n.Image?n.Image:__getPinImage()}else{if(!m.Image||m.Image=="undefined"){l=__getPinImage()}else{l=m.Image}}}return l};i.prototype.show=function(o,n){jQuery(this.element).show();if(this.options.autoFocus){var l=jQuery(this.element).find(":input:first");if(l.length===1){l.focus();if(l.is("input:text, textarea")){if(l[0].createTextRange){var m=l[0].createTextRange();m.moveStart("character",l[0].value.length);m.select()}else{if(l[0].setSelectionRange){l[0].setSelectionRange(0,l[0].value.length)}}}}}if(typeof this.options.onShow==="function"){this.options.onShow()}};i.prototype.close=function(n,l){var m=this.options;if(this.presentationHasChanges&&m.obj&&this.prevPresentation){m.obj.Presentation=this.prevPresentation;$_refreshObject(m.dbindex,m.obj.__id,m.obj)}if(typeof this.options.onClose==="function"){this.options.onClose()}if(n===true||l!==true&&this.options.autoCommit){this._save()}else{cancelDrawing()}j.teklaMap.closePopup();this._destroy()};i.prototype.isVisible=function(){return jQuery(this.element).is(":visible")};i.prototype.preventsOthers=function(){return this.options.preventsOthers===true};i.prototype._renderExplanation=function(m){var l=m.get_FmtText();if(!l){if(m.AttrList){l=this._renderattrlist(m)}else{if(m.Explanation&&m.Name!==m.Explanation){l=String.escapeHTML(m.Explanation,true)}if(m.CategoryPath){l+="<br/>"+m.CategoryPath}}}return l};i.prototype._renderattrlist=function(n){var m="";for(var l=0;l<n.AttrList.length;l++){m+="<br/>"+String.escapeHTML(n.AttrList[l].n);m+=": ";m+=String.escapeHTML(n.AttrList[l].v,true)}return m};i.prototype._renderlinks=function(n,q){function p(s,t){return'<a class="bubblelink" onclick="'+s+'">'+t+"</a>"}var o="";var l=q.get_UrlType();var m=this.options.allowSpecialLinks;if(!l||!m||m.indexOf(l)>=0){if(l==="SF"){o+=p("JavaScript:showFeedbackById("+n+","+q.__id+", event)",GetText("feedbackLink"))}else{if($_isValidUrl(q.Url)){var r;if(l==="PR"){r=GetText("cl_planRegulations")}else{r=GetText("cl_additionalInfo")}o+=p("JavaScript:openUrlId("+n+","+q.__id+")",r)}}}return o};i.prototype._renderexternaldocuments=function(o){var n="";if(o.DocList&&o.DocList.length>0){for(var m=0;m<o.DocList.length;m++){var l=o.DocList[m].Url;var p=o.DocList[m].Exp;if(String.IsPrintable(l)){n+='<br/><a class="bubblelink" href="JavaScript:openUrl(\''+l+"')\">"+(String.IsPrintable(p)?p:l+"...</a>&nbsp;&nbsp;&nbsp;")}}}return n};i.prototype._renderMapSelectionLink=function(){var l="";if(this.options.mouseClickLatlng&&j.Tekla.mapObjectSelection){l+='<a class="bubblelink" href="JavaScript:openObjectSelectionMenu('+this.options.mouseClickLatlng.lat+","+this.options.mouseClickLatlng.lng+')">'+GetText("cl_chooseAnother")+"...</a>&nbsp;&nbsp;&nbsp;"}return l};i.prototype._save=function(){if(typeof this.options.onSave==="function"){this.options.onSave(this._getValues())}};i.prototype._getValues=function(){var l=jQuery(this.element);var m={};if(typeof tinymce!="undefined"){tinymce.triggerSave()}jQuery(this.element).find("input, textarea, select").each(function(){var o=jQuery(this).attr("name");if(o&&o+""!==""){if(!m[o]){m[o]=jQuery(this).val()}else{var n=m[o];m[o]=[n];m[o].push(jQuery(this).val())}}});m.presentationHasChanges=this.presentationHasChanges;m.presentation=this._getPresentation();if(!m.presentation){m.presentation=this.options.presentation}return m};i.prototype._destroy=function(){if(typeof tinyMCE!="undefined"){var l=jQuery(this.element).find(".edit-bubble-htmldescription textarea");if(l.length>0){var n=l.attr("id");tinymce.EditorManager.execCommand("mceRemoveEditor",false,n);try{jQuery("textarea").blur();jQuery("input").blur()}catch(m){}}}jQuery(this.element).hide();jQuery(this.element).remove()};i.prototype.getDBindex=function(){return this.options.dbindex};if(!j.Tekla){j.Tekla={}}j.Tekla.MapBubble={INFO_TEMPLATE:"#info-bubble-template",SHORT_INFO_TEMPLATE:"#short-info-bubble-template",EDIT_TEMPLATE:"#edit-bubble-template",EDIT_EXT_TEMPLATE:"#edit-ext-bubble-template",EDIT_EXTADDR_TEMPLATE:"#edit-ea-bubble-template",EDIT_EXTSO_TEMPLATE:"#edit-eso-bubble-template",_parentContainer:null,bubbles:[],shortBubbles:[],currentShowTimeout:null,cancelCurrentShowTimeout:function(){if(this.currentShowTimeout){clearTimeout(this.currentShowTimeout);this.currentShowTimeout=null}},defaultOptions:{editable:false},currentMunicipality:null,startInsertExternalAddress:function(m,l){Tekla.MapBubble.hideAll();j.teklaMap._HandleRemove();$_setCursor("crosshair");toolMode="createaddress";setStatus(GetText("cl_selectNewObjectPosition"));j.teklaMap.AddMapMoveListener(updateTooltip);enableTooltip();this.currentMunicipality=m;updateTooltip(l);cancelEventPropagation(l)},startInsertExternalSearchObject:function(m,l){Tekla.MapBubble.hideAll();j.teklaMap._HandleRemove();$_setCursor("crosshair");toolMode="createsearchobject";setStatus(GetText("cl_selectNewObjectPosition"));j.teklaMap.AddMapMoveListener(updateTooltip);enableTooltip();this.currentMunicipality=m;updateTooltip(l);cancelEventPropagation(l)},insert:function(l,n,m){switch(l){case"createaddress":this.insertExternalAddress(l,this.currentMunicipality,n,m);break;case"createsearchobject":this.insertSearchObject(l,this.currentMunicipality,n,m);break;default:this.insertMyObject(l,n,m);break}clearToolstate();startPan()},insertExternalAddress:function(l,p,q){var m=this;var o=jQuery.extend({},this.defaultOptions,{editable:true,obj:null,autoCommit:false,municipality:p,onCancel:function(){cancelDrawing()},onSave:function(r){var t=j.teklaMap._selectedPositionSouth;var w=j.teklaMap._selectedPositionEast;var v=new SR_Point("","","",null,t,w);var u=SearchDB.Insert(v);v.SetAddress(u,p,r.streetname,r.addressnumber,t,w);m._clearMapState()}});var n=this._createAndShowElement(this.EDIT_EXTADDR_TEMPLATE,o,m._getTemplatePrepareFunc(this.EDIT_EXTADDR_TEMPLATE,o));j.teklaMap.ShowBubble(q,n,new L.Point(0,0))},insertSearchObject:function(l,p,q){var m=this;var o=jQuery.extend({},this.defaultOptions,{editable:true,obj:null,autoCommit:false,municipality:p,prestypes:["Point"],onCancel:function(){cancelDrawing()},onSave:function(r){var t=j.teklaMap._selectedPositionSouth;var v=j.teklaMap._selectedPositionEast;var u=new SR_Point("","","",null,t,v);var w=SearchDB.Insert(u);u.SetSearchObject(w,p,r.category,r.name,r.explanation,r.url,r.image,t,v);m._clearMapState()}});o.preventsOthers=true;var n=this._createAndShowElement(this.EDIT_EXTSO_TEMPLATE,o,m._getTemplatePrepareFunc(this.EDIT_EXTSO_TEMPLATE,o));j.teklaMap.ShowBubble(q,n,new L.Point(0,0))},insertMyObject:function(l,r,n){var m=this;var o=typeof options.getDrawingData==="function"?options.getDrawingData():null;var q=null;q=jQuery.extend({},this.defaultOptions,{editable:true,prestypes:this._getPresTypes(l),overrideEmptyName:GetText("cl_ownDrawing"),autoFocus:true,autoCommit:j.options.editBubbleAutoCommit,onCancel:function(){cancelDrawing()},onSave:function(s){var t=jQuery.extend({},q.values,s||{});var u=Tekla.MapBubble.createObject(l,(!t||!t.name||t.name==="")?(q.overrideEmptyName||""):t.name,(!t||!t.explanation)?"":t.explanation,!t?"":t.url,!t?"":t.htmldescription,!t?"":t.imageurl,(!t||!t.presentation)?q.presentation:t.presentation,q.myotype,t?t.width:null,q.canDelete);$_removeDrawingVisuals();if(u){u.Editable=true;u.mapbubble={editable:q.editable,visible:q.visible};if(q.skipBubble){u.skipBubble=q.skipBubble}var v=MySitesDB.Insert(u);if(q.singleton){j.$_filterSingleton=v}$_CallEventHandler(tekla.Map.EVENT.BUBBLECOMMIT,"create",u,s);j.teklaMap.RedrawLayers();$_CallEventHandler(tekla.Map.EVENT.DRAWINGREADY,u)}}},o||{},n||{});if(q.skipBubble!==true){q.preventsOthers=true;var p=this._createAndShowElement(this.EDIT_TEMPLATE,q);j.teklaMap.ShowBubble(r,p,L.Point(0,0))}else{q.onSave()}},showShort:function(p,o,m,t,s,q,r){if(!this.preventsOthers()&&(!o||(o.skipBubble!==true&&o.Name))&&!$_drawModeOn()){var l=jQuery.extend({},this.defaultOptions,{obj:o,dbindex:p,onShow:q,onClose:r,editable:false,visible:null});if(s){l.values=s}var n=this._createAndShowElement(this.SHORT_INFO_TEMPLATE,l,null,500);this.shortBubbles.push(n)}},hideShort:function(){this.cancelCurrentShowTimeout();jQuery(this.shortBubbles).each(function(){jQuery(this).mapbubble("close")});this.shortBubbles=[]},show:function(p,n,m){var t=this;var o=null;if(n){if(n.skipBubble!==true){var s=this.INFO_TEMPLATE;var l=jQuery.extend(true,{},this.defaultOptions,{values:{name:n.Name,explanation:n.Explanation,width:n.Width,url:n.Url,htmldescription:n.htmldescription,imageurl:n.imageurl},presentation:n.Presentation,autoCommit:false,autoFocus:true,mouseClickLatlng:m,obj:n,prestypes:[],dbindex:p,actions:[]});if(n.mapbubble&&n.mapbubble.visible){l.visible=n.mapbubble.visible}var r=(n.Width>0||n.Width===null)&&n.get_Type()==="LineString";if(r&&jQuery.isArray(l.visible)){l.visible.push("width")}if(n.Editable===true){if(n.mapbubble&&n.mapbubble.editable){l.editable=n.mapbubble.editable}else{if(!l.editable){l.editable=true}}if(r&&jQuery.isArray(l.editable)){l.editable.push("width")}}else{l.editable=false}if(p===OBJ_SEARCH||p===OBJ_CATLAYER){if(l.editable){var q=n.get_EditType();switch(q){case"ext":s=this.EDIT_EXT_TEMPLATE;l.editable=false;l.onSave=function(u){};break;case"ea":s=this.EDIT_EXTADDR_TEMPLATE;l.values={streetname:n.StreetName,addressnumber:n.AddressNumber};l.onSave=function(u){if(n){n.UpdateAddress(n.__id,u.streetname,u.addressnumber||"")}t._clearMapState()};l.actions.push({name:GetText("cl_move"),action:function(u){f(p,n.__id,u)}});l.actions.push({name:GetText("cl_delete"),action:function(u){c(p,n.__id,u,true)}});break;case"eso":s=this.EDIT_EXTSO_TEMPLATE;l.values={category:n.CategoryId,name:n.Name,explanation:n.Explanation,url:n.Url,image:n.Image};l.onSave=function(u){if(n){n.UpdateSearchObject(n.__id,u.category,u.name,u.explanation,u.url,u.image)}t._clearMapState()};l.actions.push({name:GetText("cl_move"),action:function(u){f(p,n.__id,u)}});l.actions.push({name:GetText("cl_delete"),action:function(u){c(p,n.__id,u,true)}});break;default:s=this.INFO_TEMPLATE;break}}jQuery.each(this.getObjectActions(q,p,n,l),function(){l.actions.push(this)})}else{if(p===OBJ_MYSITES&&l.editable){s=this.EDIT_TEMPLATE;l.autoCommit=j.options.editBubbleAutoCommit;l.onSave=function(u){t._updateObjectBasicData(p,n,u)};l.prestypes=[n.get_Type()];if(n.get_Type()==="Point"&&n.GeometryEditable!==false){l.actions.push({name:GetText("cl_move"),action:function(u){f(p,n.__id,u)}})}l.actions.push({name:GetText("cl_delete"),action:function(u){c(p,n.__id,u,false)}})}}l.preventsOthers=true;o=this._createAndShowElement(s,l,t._getTemplatePrepareFunc(s,l))}if(n.Editable===true&&n.GeometryEditable!==false){j.teklaMap._HandleActivate(n)}return o}},getObjectActions:function(o,n,r,m){var q=[];var p=true;var l=this;if(n===OBJ_CATLAYER){p=r&&r.get_UrlType()==="ACP"}else{if(r.Editable){switch(o){case"ext":q.push({name:GetText("apply"),action:function(t,s){j.Tekla.CoordinateTransformation.transform(r.North,r.East,function(v){var u=r.returnurl;if(String.IsPrintable(r.tpid)){u=u.replace("{tpid}",r.tpid)}u=u.replace("{north}",v.north);u=u.replace("{east}",v.east);if(String.IsPrintable(u)){document.location.href=u}},{targetSystem:r.Conv})}});q.push({name:GetText("cl_move"),action:function(s){f(n,r.__id,s)}});p=false;break;case"ea":q.push({name:GetText("cl_addAddressLocation"),action:function(t,s){l.startInsertExternalAddress(r.Municipality,t)}});p=false;break;case"eso":q.push({name:GetText("cl_addSearchObject"),action:function(t,s){l.startInsertExternalSearchObject(r.Municipality,t)}});p=false;break;default:break}}}if(p){if(this.enableCopyingOfDrawings===true&&!r.Permanent&&!r.MyOType){q.push({name:GetText("cl_addToOwnObjects"),action:function(u,t){if(r&&($_DBFindObjectByName(MySitesDB,r.Name)!==true||confirm(GetText("cl_targetWithSameNameExitsI")))){var s=MySitesDB.InsertClone(r,true);if(s){s.Editable=true;s.set_Dirty(TXWConst.EDITSTATE_ALL);if(!$_isValidUrl(s.Url,true)){s.Url=null}$_CallEventHandler(tekla.Map.EVENT.DRAWINGREADY,s);j.teklaMap._UpdateMapPosition()}}}})}if(Tekla.MapLink&&j.options&&j.options.showBubbleMapLink!==false){q.push({title:GetText("cl_createMapLinkToTarget"),name:"",cssClass:"icon icon-ims icon-locationlink-small",action:function(u){var v,t;if(r.North&&r.East){v=r.North;t=r.East}else{if(r.PointArray&&r.PointArray.length>0){v=r.PointArray[0].south;t=r.PointArray[0].east}else{var s=r.get_CenterPoint(false);if(s){v=s.y;t=s.x}}}Tekla.MapLink.show(v,t,r.Name)}})}}return q},preventsOthers:function(){var l=false;jQuery(this.bubbles).each(function(){if(jQuery(this).mapbubble("preventsOthers")===true){l=true}});return l},hideAll:function(m,l){var n=[];jQuery(this.bubbles).each(function(){if((!l&&l!==0)||jQuery(this).mapbubble("getDBindex")===l){jQuery(this).mapbubble("close",false,m)}else{n.push(this)}});this.bubbles=n;this.shortBubbles=[]},isVisible:function(){var l=false;jQuery(this.bubbles).each(function(){if(jQuery(this).mapbubble("isVisible")===true){l=true}});return l},_getTemplatePrepareFunc:function(l,n){if(l===this.EDIT_EXTADDR_TEMPLATE){var m=n.obj?n.obj.Municipality||n.municipality:n.municipality;return function(o,q){function p(){var r=StreetNameDB.get_StreetNames(m);var t=o.find(".edit-ea-bubble-streetname").empty();if(r&&r.length>0){var s="";for(var u=0;u<r.length;u++){s+='<option value="'+r[u]+'">'+r[u]+"</option>"}t.append(s)}q()}if(m){if(!StreetNameDB.ExistMunicipality(m)){StreetNameDB.Load(m,p)}else{p()}}}}else{if(l===this.EDIT_EXTSO_TEMPLATE){return function(q,s){var p=q.find(".eso-bubble-category").empty();if(Tekla.ServiceSearch){var o="";Tekla.ServiceSearch.enumerate(function r(t){var u=t.data.key;if(u>3){o+='<option value="'+t.data.key+'">'+t.data.title+"</option>"}});p.append(o)}s()}}}return null},_clearMapState:function(){clearToolstate();startPan();j.teklaMap.RedrawLayersImmediate()},createObject:function(z,o,l,p,u,y,n,r,q,m){var s=null;if(z==="drawpolygon"||z==="drawpolyline"||z==="createsite"||z==="drawrectangle"){s=new SR_Geo(o,l);if(u){s.htmldescription=u}if(y){s.imageurl=$_tryGetValidUrl(y,true)}if(r||r===""){s.MyOType=r}if(m){s.setCanDelete(m)}if(p){s.Url=$_tryGetValidUrl(p,true)}if(q){var w=k(q);if(w>0&&!isNaN(w)){s.Width=w}else{s.Width=null}}else{if(q===""){s.Width=null}}s.set_Dirty(TXWConst.EDITSTATE_ALL);if(mapDrawing.points&&(z==="drawrectangle"&&mapDrawing.points&&mapDrawing.points.length===2)||(z==="drawpolygon"&&mapDrawing.points&&mapDrawing.points.length>2)||(z==="drawpolyline"&&mapDrawing.points&&mapDrawing.points.length>=2)){var v=z==="drawpolygon"||z==="drawrectangle";var t={};if(n){t.LineColor=n.LineColor;t.LineWidth=n.LineWidth;t.LineType=n.LineType;t.LineOpacity=n.LineOpacity;if(n.Image){t.Image=n.Image}}var x={type:v?"Polygon":"LineString"};if(v){if(z==="drawrectangle"){var A=new Array();A.push(mapDrawing.points[0]);A.push([mapDrawing.points[0][0],mapDrawing.points[1][1]]);A.push(mapDrawing.points[1]);A.push([mapDrawing.points[1][0],mapDrawing.points[0][1]]);x.coordinates=$_ConvertPointsToPolygon(A);s.IsRectangle=true}else{x.coordinates=$_ConvertPointsToPolygon(mapDrawing.points)}if(n){t.FillColor=n.FillColor;t.FillOpacity=n.FillOpacity}}else{x.coordinates=$_ConvertPointsToLineString(mapDrawing.points)}s.set_Geometry(x);s.set_Presentation(t)}else{if(z==="createsite"&&j.teklaMap._selectedPositionSouth&&j.teklaMap._selectedPositionEast){s.set_Geometry({type:"Point",coordinates:$_ConvertPointsToPoint(j.teklaMap._selectedPositionSouth,j.teklaMap._selectedPositionEast)});if(n){s.set_Presentation({Image:n.Image})}}else{s=null}}}return s},_updateObjectBasicData:function(n,s,m){if(s&&m){var l=false;var q=false;if((m.name||m.name==="")&&s.Name!==m.name){s.Name=m.name;l=true}var o=$_tryGetValidUrl(m.url,true);if(o!==s.Url){s.Url=o;l=true}if((m.explanation||m.explanation==="")&&s.Explanation!==m.explanation){s.Explanation=m.explanation;l=true}if((m.htmldescription||m.htmldescription==="")&&s.htmldescription!==m.htmldescription){s.htmldescription=m.htmldescription;l=true}var r=$_tryGetValidUrl(m.imageurl,true);if(r!==s.imageurl){s.imageurl=r;l=true}if(m.width!==undefined){var p=k(m.width);if(p<=0||(isNaN(p)&&s.Width!==null)){s.Width=null;q=true;l=true}else{if(!isNaN(p)&&s.Width!==p){s.Width=p;l=true;q=true}}}if($_CallEventHandler(tekla.Map.EVENT.BUBBLECOMMIT,"change",s,m)){l=true}if(m.presentationHasChanges){if(m.presentation){s.Presentation=jQuery.extend({},s.Presentation,m.presentation);s.set_Dirty(TXWConst.EDITSTATE_PRESENTATION);$_DBSetDirty(n,true);$_CallEventHandler(tekla.Map.EVENT.DRAWINGPRESENTATIONCHANGED,s)}q=true}if(l===true){s.set_Dirty(TXWConst.EDITSTATE_PROPERTIES);$_DBSetDirty(n,true);$_CallEventHandler(tekla.Map.EVENT.DRAWINGPROPERTIESCHANGED,s)}if(q===true){$_refreshObject(n,s.__id,s)}}},_getPresTypes:function(l){if(l==="drawpolygon"||l==="drawrectangle"){return["Polygon"]}else{if(l==="drawpolyline"){return["LineString"]}else{return["Point"]}}},_createAndShowElement:function(p,o,r,n){var q=null;var m=this;o.template=p;if(this.TEMPLATES){q=jQuery(this.TEMPLATES).find(p)}else{q=jQuery(p)}q=q.clone().removeAttr("id");q.find("textarea").val("");$_CallEventHandler(tekla.Map.EVENT.BUBBLECREATE,o);if(o.customContent){q.addClass("custom-content").find(".bubble-content").empty().append(o.customContent)}function l(){m.hideAll();q.appendTo(m._parentContainer);q.mapbubble(o);m.bubbles.push(q);if(!n||n<100){n=100}var s=o.onClose;o.onClose=function(){var t=m.bubbles;m.bubbles=[];for(var u=0;u<t.length;u++){if(t[u]!==q){m.bubbles.push(t[u])}}if(typeof s==="function"){s()}}}if(typeof r==="function"){r(q,l)}else{l()}return q[0]}};jQuery.fn.mapbubble=function(n){if(typeof n==="string"&&this.length>0){var m=arguments;var l=jQuery(this).data(b);if(l&&l[n]){return l[n].apply(l,jQuery.makeArray(m).slice(1))}}else{return this.each(function(){if(!jQuery(this).data(b)){jQuery(this).data(b,new i(this,n))}})}}}(jQuery,window));
function ObjSelectionViewModel(){var a=$("#map-object-selection")[0];var e=null;var d=null;var g=false;var c=null;var f=null;var b=this;this.objects=ko.observableArray([]);this.additionalObjects=ko.observableArray([]);this.hasAdditionalObjects=ko.computed(function(){return b.additionalObjects().length>0});this.additionalObjectsLoading=ko.observable(false);this.setSelection=function(h){b.clearSelection();e=h};this.clearSelection=function(){this.clearHighlight();if(e){e.forEach(function(h){h.remove()})}};this.select=function(h){if(d){d(h)}if(g){b.closeDialog(true)}};this.highlight=function(h){b.clearHighlight();if(h.Geometry.type==="Point"&&h.ReferenceId){f=LayerDB.FindByReferenceId(h.ReferenceId);if(f){f.HighLight(TXWConst.CATEGORY)}}else{c=window.Tekla.mapObjectSelection.visualizeSelected(h.Geometry,false)}};this.clearHighlight=function(){if(c){c.remove();c=null}if(f){f.UnhighLight(TXWConst.CATEGORY);f=null}};this.closeDialog=function(h){a.style.display="none";if(d&&!h){d()}d=null;b.clearSelection()};this.openDialog=function(i,h){a.style.display="block";d=i;g=h};this.addAdditionalObject=function(h){if(!b.additionalObjects().some(function(i){return h.ReferenceId===i.ReferenceId})){b.additionalObjects.push(h)}};ko.applyBindings(this,a)}function MapObjectSelection(b){var j=window.LayerDB;var i=window.turf;var k=this;var m=new ObjSelectionViewModel();var d=function(p){var n=b.project(p);var o=[[n.x+35,n.y],[n.x+33,n.y-11],[n.x+28,n.y-21],[n.x+21,n.y-28],[n.x+11,n.y-33],[n.x-0,n.y-35],[n.x-11,n.y-33],[n.x-21,n.y-28],[n.x-28,n.y-21],[n.x-33,n.y-11],[n.x-35,n.y],[n.x-33,n.y+11],[n.x-28,n.y+21],[n.x-21,n.y+28],[n.x-11,n.y+33],[n.x,n.y+35],[n.x+11,n.y+33],[n.x+21,n.y+28],[n.x+28,n.y+21],[n.x+33,n.y+11],[n.x+35,n.y]];return o.map(function(r){var q=b.unproject(r);return[q.lng,q.lat]})};var l=function(o){var n=d(o);return i.polygon([n.map(function(p){return[p[0],p[1]]})])};var h=function(n,p,o){if(o&&!o(p)){return}k.visualizeSelected(n,true);if(m.objects.indexOf(p)===-1){m.objects.push(p)}};var g=function(u,p,t,s,r){switch(p.type){case"Polygon":var o=i.polygon(p.coordinates);if(i.booleanPointInPolygon(t,o)){if(!r||r(u)){k.visualizeSelected(p,true);if(m.objects.indexOf(u)===-1){m.objects.unshift(u)}}}else{if(!i.booleanDisjoint(s,o)){h(p,u,r)}}break;case"Point":var n=i.point(p.coordinates);if(i.booleanPointInPolygon(n,s)){h(p,u,r)}break;case"LineString":var q=i.lineString(p.coordinates);if(!i.booleanDisjoint(s,q)||i.booleanContains(s,q)){h(p,u,r)}break}};var f=function(q,n){var p=i.point([q.lng,q.lat]);var o=l(q);j.GetObjectsWithGeometry().forEach(function(s){var r=s.Geometry;if(r.members){r.members.forEach(function(t){g(s,t,p,o,n)})}else{g(s,r,p,o,n)}});return[o.geometry]};var a=function(t,u,s,q,p,n){switch(u.type){case"Polygon":var r=i.polygon(u.coordinates);if(!i.booleanDisjoint(s,r)||!i.booleanDisjoint(q,r)||!i.booleanDisjoint(p,r)){h(u,t,n)}break;case"Point":var v=i.point(u.coordinates);if(i.booleanPointOnLine(v,s)||i.booleanPointInPolygon(v,q)||i.booleanPointInPolygon(v,p)){h(u,t,n)}break;case"LineString":var o=i.lineString(u.coordinates);if(!i.booleanDisjoint(s,o)||!i.booleanDisjoint(q,o)||!i.booleanDisjoint(p,o)){h(u,t,n)}break}};var e=function(r,o){var n=i.lineString(r);var q=l({lat:r[0][1],lng:r[0][0]});var p=l({lat:r[1][1],lng:r[1][0]});j.GetObjectsWithGeometry().forEach(function(t){var s=t.Geometry;if(s.members){s.members.forEach(function(u){a(t,u,n,q,p,o)})}else{a(t,s,n,q,p,o)}});return[n.geometry,q.geometry,p.geometry]};var c=function(p,o){var n=new Array();p.forEach(function(q){n.push(k.visualizeSelected(q,o))});return n};this.visualizeSelected=function(p,o){var t=[];var u=p.coordinates;var n=null;switch(p.type){case"GeometryCollection":for(var s=0;s<p.members.length;s++){var q=p.members[s];if(q.geometry.type==="LineString"){q.geometry.coordinates.forEach(function(r){t.push([r[1],r[0]])});n=L.polyline(t,{color:"#005f9e"}).addTo(b)}}break;case"Polygon":u.forEach(function(r){r.forEach(function(v){t.push([v[1],v[0]])})});n=L.polygon(t,{color:"#005f9e"}).addTo(b);break;case"Point":n=L.circleMarker([u[1],u[0]],{radius:5,color:"#005f9e"}).addTo(b);break;case"LineString":u.forEach(function(r){t.push([r[1],r[0]])});n=L.polyline(t,{color:"#005f9e"}).addTo(b);break}if(n&&o){setTimeout(function(){n.remove()},1000)}return n};this.selectMapObjects=function(r,s,n,q,p){var o=[];m.objects.removeAll();m.additionalObjects.removeAll();if(r.lat&&r.lng){o=f(r,q)}else{if(Array.isArray(r)){o=e(r,q)}}if(m.objects().length>0){if(p){p(m)}m.setSelection(c(o,false));m.openDialog(s,n)}else{if(typeof DisplayInfo==="function"){DisplayInfo(GetText("noObjectsFound"))}c(o,true);m.closeDialog(false)}}};
(function(b,a){if(!a.TGMap){a.TGMap={}}var c=a.TGMap;a.TGMap.METERS2MILES=1609.344;a.TGMap.METERS2FEETS=3.28083989501312;a.TGMap.ScaleBar={_maxlen:120,update:function(m,e){var k=e||options;var d,n;var o="m";if(!k.isLatLon){d=m*this._maxlen;n=m}else{var h=a.teklaMap.getCenter();var p=meters2LatLon(h.lng,h.lat);var q=Math.PI/180;var l=Math.cos(p.lat*q);d=m*this._maxlen*l;n=m*l}if(k.isImperialUnits){if(d>=1609.344){o="mi";d/=c.METERS2MILES;n/=c.METERS2MILES}else{d*=c.METERS2FEETS;o="ft";n*=c.METERS2FEETS}}else{if(d>1000){o="km";d/=1000;n/=1000}}var i=this.getLength(d);var g=i/n;var j="&nbsp;"+i+" "+o+"&nbsp;";jQuery("#scalebar").width(Math.round(g));jQuery("#scaletext").html(j)},getLength:function(f){var g=parseInt(Math.log(f)/Math.log(10));var e=Math.pow(10,g);var h=parseInt(f/e);var d=1;if(h>5){d=5}else{if(h>2){d=2}else{d=1}}return d*e}};a.TGMap.Measure={_endPosition:null,_activeInd:null,_pointArray:null,_map:null,init:function(d){this._map=d},count:function(){return this._pointArray?this._pointArray.length:0},lastpoint:function(){return this.count()>0?this._pointArray[this._pointArray.length-1]:null},_markerMove:function(d){c.Measure._endPosition=d},_dragstart:function(d){c.Measure._activeInd=d.target.options.ind},_markerDragEnd:function(){var f=c.Measure._endPosition;var d=c.Measure._activeInd;c.Measure._pointArray[d]=[f.latlng.lat,f.latlng.lng];c.Measure.updateLines();if(f.preventDefault){f.preventDefault()}},formatDistance:function(d,f){var e=d;var g=f||options;if(g.isImperialUnits){if(d>16093){d/c.METERS2MILES;e=(d/c.METERS2MILES).toFixed(1)+" mi"}else{e=(d*c.METERS2FEETS).toFixed()+" ft"}}else{if(d>10000){d/1000;e=(d/1000).toFixed(1)+" km"}else{e=d+" m"}}return e},distanceBetweenPoints:function(k,o,j,n,g,f){var e;var i=f||options;if(!i.isLatLon){e=Math.sqrt(Math.pow(n-o,2)+Math.pow(j-k,2))}else{var h=6378137;var r=meters2LatLon(o,k);var q=meters2LatLon(n,j);var s=Math.PI/180;var l=(q.lat-r.lat)*s,d=(q.lon-r.lon)*s,p=Math.sin(l/2)*Math.sin(l/2)+Math.cos(r.lat*s)*Math.cos(q.lat*s)*Math.sin(d/2)*Math.sin(d/2),m=2*Math.atan2(Math.sqrt(p),Math.sqrt(1-p));e=h*m}if(g){return this.formatDistance(Math.round(e),f)}else{return Math.round(e)}},_imageUrl:function(){return options.appPath+"/Images/measure-pin.png"},addPoint:function(f,d){if(this._pointArray==null){this._pointArray=new Array()}this.drawImage(f,d,this._pointArray.length);this._pointArray.push([f,d]);this.updateLines()},drawLineString:function(e){var d=L.polyline(this._pointArray,{color:"#005596",weight:4,fill:false});L_MEASURELAYER.addLayer(d)},drawImage:function(j,h,g){var f=L.icon({iconUrl:this._imageUrl(),iconAnchor:[distanceStartOffsetX,distanceStartOffsetY]});var i=L.marker([j,h],{icon:f,draggable:true,ind:g});var d=c.Measure;i.on("dragstart",c.Measure._dragstart);i.on("drag",c.Measure._markerMove);i.on("dragend",c.Measure._markerDragEnd);if(L_MEASURELAYER){L_MEASURELAYER.addLayer(i)}else{L_MEASURELAYER=new L.FeatureGroup();L_MEASURELAYER.addLayer(i);a.teklaMap.addLayer(L_MEASURELAYER)}},drawImages:function(){if(this._pointArray){for(var d=0;d<this._pointArray.length;d++){this.drawImage(this._pointArray[d][0],this._pointArray[d][1],d)}}},clear:function(){if(L_MEASURELAYER){L_MEASURELAYER.clearLayers()}if(this._pointArray){this._pointArray=null}},deleteLines:function(){if(this._pointArray){this._pointArray=null}if(L_MEASURELAYER){L_MEASURELAYER.clearLayers()}this.updateMeterDistances()},deleteLastPoint:function(){if(this._pointArray&&this._pointArray.length>0){this._pointArray.splice(-1,1)}this.updateLines();setStatus(GetText("cl_lastMeasurePointRemoved"))},updateLines:function(d){if(this._pointArray){if(L_MEASURELAYER){L_MEASURELAYER.clearLayers()}this.updateMeterDistances();if(!d){this.drawImages()}this.drawLineString()}},getTotalDistance:function(){var d=0;if(this._pointArray){for(var e=1;e<this._pointArray.length;e++){d+=c.Measure.distanceBetweenPoints(this._pointArray[e][0],this._pointArray[e][1],this._pointArray[e-1][0],this._pointArray[e-1][1])}}return d},updateMeterDistances:function(){var e=jQuery("#mob-total-distance").length>0;if(this._pointArray&&this._pointArray.length>1){var k=new StringBuilder("");var d;var o,n;var l=this._pointArray.length>=2;var m=0;for(var g=1;g<this._pointArray.length;g++){var j=[(this._pointArray[g-1][0]+this._pointArray[g][0])/2,(this._pointArray[g-1][1]+this._pointArray[g][1])/2];d=c.Measure.distanceBetweenPoints(this._pointArray[g][0],this._pointArray[g][1],this._pointArray[g-1][0],this._pointArray[g-1][1]);var h=new L.DivIcon({className:"measure-stage-container",html:'<div class="measure-stage-text">'+c.Measure.formatDistance(d)+"</div>",iconSize:[60,18]});var f=L.marker(j,{icon:h});L_MEASURELAYER.addLayer(f);m+=d;if(l&&g==this._pointArray.length-1){if(e){jQuery("#mob-total-distance").text(c.Measure.formatDistance(m))}else{var j=[this._pointArray[g][0],this._pointArray[g][1]];var h=new L.DivIcon({className:"measure-stage-container",html:'<div class="measure-total-text">'+c.Measure.formatDistance(m)+"</div>",iconSize:[60,18],iconAnchor:[30,34],});var f=L.marker(j,{icon:h});L_MEASURELAYER.addLayer(f)}}}}else{if(e){jQuery("#mob-total-distance").text("")}}}}}(jQuery,window));
(function(c,a){function b(f){var e=__getPinImage();if(f.Presentation&&f.Presentation.Image){e=f.Presentation.Image}else{if(f.Image){e=f.Image}else{var d=f.get_Type();if(d==="Polygon"){e=__getPolygonImage()}else{if(d==="LineString"){e=__getLineImage()}}}}return e}a.Tekla=a.Tekla||{};a.Tekla.MyObjects=a.Tekla.MyObjects||{};a.Tekla.MyObjects.renderMapObjectLI=function(l,g,f,i,o){if(l&&l.Name){var k="<li>";var e=(o&&(o.Name||o.Name===""))?o.Name:(l.Name||"");var h=(o&&o.Image)?o.Image:b(l);var d=(o&&(o.Explanation||o.Explanation===""))?o.Explanation:(l.Explanation||"");k+=' <div class="myobject-img">'+$_dynPointImgOrSpan2(l.Presentation,h,true,"Map object icon")+"</div>";k+=' <div class="myobject-data">';k+='  <h4><button type="button">'+String.escapeHTML(e)+"</button></h4>";if(d.length>0){k+="  <p>"+String.escapeHTML(d,true)+"</p>"}else{k+=" <p></p>"}if(f!==true){if(l.htmldescription){k+='<div style="float: clear;">';k+=l.htmldescription;k+="</div>"}if(l.imageurl){var p=l.imageurl;k+='<img src="'+p+'" />'}}if(l.get_Measures){var m=l.get_Measures();if(m){if(m.length){k+="  <p> "+i.length+": "+TGMap.Measure.formatDistance(m.length)+"</p>"}if(m.area){k+="  <p> "+i.area+": "+m.area+"m<sup>2</sup></p>"}}}k+=" </div>";k+="</li>";var n=jQuery(k).click(function(){showDrawing(g,l.__id)}).hover(function(){jQuery(this).addClass("hover")},function(){jQuery(this).removeClass("hover")});if(f!==false||(l.getCanDelete&&l.getCanDelete())){var j=jQuery('<div class="myobject-tools"><a class="icon icon-ims icon-close-small" href="#" title="'+i.deleteObjectTip+'"></a></div>');j.find("a.icon-close-small").click(function(){if(confirm(i.confirmDeleteObject)){deleteItem(g,l.__id,a.event,true,true)}return false});n.append(j)}return n}return null}}(jQuery,window));
(function(d,c){if(!c.Tekla){c.Tekla={}}function f(g,h){g.panTo(h.latlng)}function a(g,h){g._selectedPositionSouth=Math.round(h.latlng.lat);g._selectedPositionEast=Math.round(h.latlng.lng);Tekla.MapBubble.insert("createsite",h.latlng,null)}function e(h,i){var g=actionUrl("Search")+"?Op=areadatacoords&n="+i.latlng.lat;g+="&e="+i.latlng.lng;g+="&id=1";jQuery.ajax({async:true,type:"GET",url:g,success:function(m){var o='<div style="padding: 10px">';var k;var s=$_EVALJSON(m);if(s){if(s.coords){h.SetPosition(s.coords.north,s.coords.east)}o+'<h4 style="font-size: 1.5em; margin-top: 0px; margin-bottom: 0px">';o+=GetText("pointedLocInfo");o+="</h4><h5>"+GetText("nearestAddress")+"</h5>";if(s.nearestaddress){if(s.nearestaddress.status==="found"){var p=s.nearestaddress;var l=new SR_Geo(p.address,GetText("nearestAddress"));l.set_Geometry({type:"Point",coordinates:$_ConvertPointsToPoint(p.coords.north,p.coords.east)});l.set_Presentation({Image:options.appPath+"/Images/pointer-blue.png"});k=SearchDB.Insert(l);var q="searchClick("+OBJ_SEARCH+","+k+");";o+='<ul class="search-list"><li class="search-row"><a  onmousedown="'+q+'">'+p.address+'<span class="search-category">'+GetText("nearestAddress")+"</span></li></ul>"}else{if(s.nearestaddress.status==="notfound"){o+=GetText("cl_addressNotFound")}else{if(s.nearestaddress.status==="toofar"){o+=GetText("cl_addressNotFound")}}}}if(s.areadivisions){o+="<h5>"+GetText("belongingToAreas")+'</h5><ul class="search-list">';for(var n=0;n<s.areadivisions.length;n++){var r=s.areadivisions[n];if(r.outside!==true){var j=b(r.name,r.attributes);var l=new SR_Geo(r.name,null);l.set_Geometry({type:"Point",coordinates:$_ConvertPointsToPoint(r.coords.north,r.coords.east)});l.set_Presentation({Image:options.appPath+"/Images/pointer-blue.png"});l.set_FmtText(j);k=SearchDB.Insert(l);var q="searchClick("+OBJ_SEARCH+","+k+");";o+='<li class="search-row"><a  onmousedown="'+q+'"><span class="search-category">'+r.name+"</span>"+j+"</li>"}else{o+='<li class="search-row"><span class="search-category">'+((r.name||r.areaname)||"")+'</span><span class="areasearch">'+GetText("cl_positionOutsideOfAnyArea")+"</span></li>"}}o+="</ul>"}o+="</div>";if(Tekla.SideBar){Tekla.SideBar.opentab("#searchresults")}jQuery("#searchresults").html(o)}}});return}function b(h,l){var k='<table class="areasearch">';if(l){for(var j=0;j<l.length;j++){if(l[j].values){for(var g=0;g<l[j].values.length;g++){if(l[j].values[g].e){k+='<tr><td colspan="2"><a target="areaLink" class="bubblelink" href="'+l[j].values[g].v+'">'+l[j].values[g].e+"</a></td></tr>"}else{k+="<tr><td>"+l[j].key+"</td><td>"+l[j].values[g].v+"</td></tr>"}}}else{if(l[j].valueexp){k+='<tr><td colspan="2"><a target="areaLink" class="bubblelink" href="'+l[j].value+'">'+l[j].valueexp+"</a></td></tr>"}else{k+="<tr><td>"+l[j].key+"</td><td>"+l[j].value+"</td></tr>"}}}}k+="</table>";return k}c.Tekla.PopUp={_map:null,_ditems:[],init:function(k,i){this._map=k;var j={what:false,adddrawings:false,clearSearch:false};var g=i?jQuery.extend(j,i.items||{}):j;k.contextmenu.insertItem({text:GetText("centerMap"),callback:function(l){k.panTo(l.latlng)}},20);if(c.Tekla.mapObjectSelection){k.contextmenu.insertItem({text:GetText("selectFromHere"),callback:function(l){openObjectSelectionWithLatLng(l.latlng)}})}if(g.print){k.contextmenu.insertItem("-",21);k.contextmenu.insertItem({text:GetText("print"),callback:function(l){c.teklaMap.printPage()}},22)}if(Tekla.MapLink&&g.maplink){k.contextmenu.insertItem("-",23);k.contextmenu.insertItem({text:GetText("cl_createMapLinkToTarget"),callback:function(l){Tekla.MapLink.show(l.latlng.lat,l.latlng.lng)}},24)}if(g.what){k.contextmenu.insertItem("-",25);k.contextmenu.insertItem({text:GetText("whatIsHere"),callback:function(l){e(k,l)}},26)}if(g.adddrawings){k.contextmenu.insertItem("-");k.contextmenu.insertItem({text:GetText("insertPoint"),callback:function(l){a(k,l)}},27);k.contextmenu.insertItem({text:GetText("drawPolyline"),callback:function(l){createDraw(false)}},28);k.contextmenu.insertItem({text:GetText("drawPolygon"),callback:function(l){createDraw(true)}},29);k.contextmenu.insertItem({text:GetText("drawRectangle"),callback:function(l){createDrawRectangle()}},29)}if(g.clearSearch){k.contextmenu.insertItem("-",30);k.contextmenu.insertItem({text:GetText("clearVisualizations"),callback:function(l){k._ClearDynContext()}},31)}var h=this;this._map.on("contextmenu.beforeshow",function(l){if(toolMode==="drawpolyline"||toolMode==="drawpolygon"){h._ditems=[];h._ditems.push(h._map.contextmenu.insertItem({text:GetText("cl_endDrawing"),callback:function(m){showSiteProperties(m.latlng)}},0));h._ditems.push(h._map.contextmenu.insertItem({text:GetText("cl_removeLastPoint"),callback:function(m){removeLastPoint()}},1));h._ditems.push(h._map.contextmenu.insertItem({text:GetText("removeDrawing"),callback:function(m){deleteDrawing()}},2));h._ditems.push(h._map.contextmenu.insertItem("-",3))}else{if(toolMode==="distance"){h._ditems.push(h._map.contextmenu.insertItem({text:GetText("endMeasure"),callback:function(m){endMeter()}},0));h._ditems.push(h._map.contextmenu.insertItem({text:GetText("cl_removeLastPoint"),callback:function(m){TGMap.Measure.deleteLastPoint()}},1));h._ditems.push(h._map.contextmenu.insertItem({text:GetText("removeDrawing"),callback:function(m){TGMap.Measure.deleteLines()}},2));h._ditems.push(h._map.contextmenu.insertItem("-",3))}}if(toolMode==="drawrectangle"){h._ditems=[];h._ditems.push(h._map.contextmenu.insertItem({text:GetText("cl_endDrawing"),callback:function(m){showSiteProperties(m.latlng)}},0));h._ditems.push(h._map.contextmenu.insertItem({text:GetText("removeDrawing"),callback:function(m){deleteDrawing()}},1));h._ditems.push(h._map.contextmenu.insertItem("-",2))}});this._map.on("contextmenu.hide",function(m){if(h._ditems){for(var l=0;l<h._ditems.length;l++){h._map.contextmenu.removeItem(h._ditems[l])}h._ditems.length=0}});return}}}(jQuery,window));
(function(e,c){var a={LineColor:"#333399",LineType:"solid",LineWidth:4,LineOpacity:0.7,FillColor:"#333399",FillOpacity:0.75};var b="tekla.ims.presentationselector",h={leaveTimeout:300,embedded:false,onPresentationChange:null,presentation:a};function g(j){var i=1-(j/100);if(i<0.001){i=0.001}else{if(i>1){i=1}}return i}function f(j){var i=Math.floor(((1-j)*100)+0.5);if(i<=0.001){i=0}if(i>100){i=100}return i}function d(j,i){this.element=j;this.options=jQuery.extend({},h,i);this._defaults=h;this._init()}d.prototype._init=function(){var j=jQuery(this.element);var i=this;if(jQuery.fn.msDropDown){j.find(".point-image").each(function(){jQuery(this).msDropDown({rowHeight:30})});j.find(".line-type").each(function(){jQuery(this).msDropDown({rowHeight:50})})}j.find(".update-presentation").bind("change.tekla.updatevisual",function(k){if(i.options.onPresentationChange){i.options.onPresentationChange(k)}});if(jQuery.fn.colorPicker){j.find(".colorpicker").colorPicker()}this.setPresentation(i.options.presentation);if(i.options.embedded===false){j.find(".close-element").click(function(){i.hide();return false})}};d.prototype.show=function(l){var j=jQuery(this.element);var i=j.width();var k=j.height();j.css("left",l.pageX-i/2).css("top",l.pageY-k-25).show()};d.prototype.hide=function(){jQuery(this.element).hide()};d.prototype.toggle=function(i){if(jQuery(this.element).is(":visible")){this.hide()}else{this.show(i)}};d.prototype.toggleTypes=function(l){var j=jQuery(this.element).find(".presentation-mode-toggle");j.removeClass().attr("class","presentation-mode-toggle");if(l){for(var k=0;k<l.length;k++){j.addClass(l[k])}}};d.prototype.getPresentation=function(i){var j={};if(!i||i.indexOf("Point")!==-1){j.Image=jQuery(this.element).find(".point-image").val()}if(!i||i.indexOf("Polygon")!==-1){j.FillColor=jQuery(this.element).find(".fill-color").val();j.FillOpacity=g(jQuery(this.element).find(".fill-transparency").val())}if(!i||i.indexOf("Polygon")!==-1||i.indexOf("LineString")!==-1){j.LineColor=jQuery(this.element).find(".line-color").val();j.LineWidth=jQuery(this.element).find(".line-width").val();j.LineType=jQuery(this.element).find(".line-type").val();j.LineOpacity=g(jQuery(this.element).find(".line-transparency").val())}return j};d.prototype.setPresentation=function(m,k){var l=m;var j=jQuery(this.element);this.options.onPresentationChange=null;var i=l&&l.Image?l.Image:a.Image;if(i){j.find(".point-image").val(i);if(jQuery.fn.msDropDown){j.find(".point-image").data("dd").setIndexByValue(i)}}var n=l&&l.LineType?l.LineType:a.LineType;if(n){j.find(".line-type").val(n);if(jQuery.fn.msDropDown){j.find(".line-type").data("dd").setIndexByValue(n)}}j.find(".line-color").val(l&&l.LineColor?l.LineColor:a.LineColor);j.find(".line-color").change();j.find(".line-width").val(l&&l.LineWidth?l.LineWidth:a.LineWidth);j.find(".fill-color").val(l&&l.FillColor?l.FillColor:a.FillColor);j.find(".fill-color").change();j.find(".fill-transparency").val(f(l&&l.FillOpacity?l.FillOpacity:a.FillOpacity));j.find(".line-transparency").val(f(l&&l.LineOpacity?l.LineOpacity:a.LineOpacity));if(k){this.options.onPresentationChange=k}};jQuery.fn.presentationselector=function(k){var l=this.each(function(){if(!jQuery.data(this,b)){jQuery.data(this,b,new d(this,k))}else{if(typeof k==="object"){var m=jQuery.data(this,b);m.options=jQuery.extend({},m.options,k)}}});if(typeof k==="string"&&this.length>0){var j=arguments;var i=jQuery.data(this[0],b);if(i&&i[k]){return i[k].apply(i,jQuery.makeArray(j).slice(1))}else{}}return l}}(jQuery,window));
(function(b,a){if(!a.Tekla){a.Tekla={}}if(!a.Tekla.BaseMaps){a.Tekla.BaseMaps={_themes:null,_threedbm:null,_active:null,_map:null,_atd:null,activavalidatezoom:function(d){var e=this._active.minZoom;var c=this._active.maxZoom;if(this._active.scaledMinZoom&&this._active.scaledMinZoom<e){e=this._active.scaledMinZoom}if(this._active.scaledMaxZoom&&this._active.scaledMaxZoom>c){c=this._active.scaledMaxZoom}if(d<e){d=e}else{if(d>c){d=c}}return d},activewuppcount:function(){return this._active.maplevels.length},activelastupdate:function(){return this._active.lastupdate?this._active.lastupdate:""},activemaplegendpath:function(){return this._active.maplegendpath},activecopyright:function(){if(this._active.copyright){return this._active.copyright}return""},activeIsThreeD:function(){return this._active==this._atd},active:function(){return this._active},fitToActive:function(){if(a.teklaMap3&&Tekla.ThreeDMaterial&&this.activeIsThreeD()){if(this._atd&&this._atd.materials){Tekla.ThreeDMaterial.fitToMaterials(this._atd.materials)}}},activeZoomRange:function(){var d=this._active.minZoom;var c=this._active.maxZoom;if(this._active.scaledMinZoom&&this._active.scaledMinZoom<d){d=this._active.scaledMinZoom}if(this._active.scaledMaxZoom&&this._active.scaledMaxZoom>c){c=this._active.scaledMaxZoom}return[d,c]},setOpacityA:function(c){if(this._active.L_layer){this._active.L_layer.setOpacity(c);this._active.opacity=c}},setZIndexA:function(c){var d=0;if(this._active.L_layer){this._active.L_layer.setZIndex(c);d=this._active.zIndex||0;this._active.zIndex=c}return d},setZIndex:function(d,c){var e=this.findindex(d);if(e>0){if(this._themes[e].L_layer){this._themes[e].L_layer.setZIndex(c)}this._themes[e].zIndex=c}},getZIndexA:function(){if(this._active.L_layer){return this._active.zIndex||0}return 0},init:function(f,h,e,g){this._themes=f;this._map=g;this._threedbm=e;if(this._themes.length>0){for(var c=0;c<this._themes.length;c++){var j=this._themes[c];var d=(options.tileServer||options.appPath)+"/Tile?basemap={basemap}&x={x}&y={-y}&z={z}";if(j.scaledMinZoom||j.scaledMaxZoom){this._themes[c].L_layer=L.locusTileLayer(d,{maxZoom:j.scaledMaxZoom?j.scaledMaxZoom:j.maxZoom,minZoom:j.scaledMinZoom?j.scaledMinZoom:j.minZoom,maxNativeZoom:j.scaledMaxZoom?j.maxZoom:null,minNativeZoom:j.scaledMinZoom?j.minZoom:null,basemap:j.name})}else{this._themes[c].L_layer=L.locusTileLayer(d,{maxZoom:j.maxZoom,minZoom:j.minZoom,basemap:j.name})}this._themes[c].zIndex=c;this._themes[c].L_layer.setZIndex(c)}if(!h||!this.setbasemap(h)){this.setactive(0)}}},setbasemap:function(d){var c=this.findindex(d);if(c>=0){this.setactive(c);return true}return false},setactive:function(d){this._active=this._themes[d];for(var e=0;e<this._themes.length;e++){if(this._themes[e].name!==this._active.name){this._map.removeLayer(this._themes[e].L_layer)}}this._active.L_layer.setOpacity(this._active.opacity||1);this._map.addLayer(this._active.L_layer);var f=this._map.getZoom();var c=this.activeZoomRange();if(f<c[0]){this._map.setZoom(c[0])}else{if(f>c[1]){this._map.setZoom(c[1])}}this._map.options.minZoom=c[0];this._map.options.maxZoom=c[1]},setActiveThreeD:function(c){if(a.teklaMap3&&Tekla.ThreeDMaterial){this._atd=this._threedbm[c];this._active=this._atd;if(this._atd.materials){Tekla.ThreeDMaterial.setState(this._atd.materials,true,true)}}},findindex:function(d){var c=-1;for(var e=0;e<this._themes.length&&c==-1;e++){if(this._themes[e].name===d){c=e}}return c},findIndexType:function(d,f){var c=-1;var g=f?this._threedbm:this._themes;if(g){for(var e=0;e<g.length&&c===-1;e++){if(g[e].name===d){c=e}}}return c},get:function(c){var d=this.findindex(c);if(d>=0){return this._themes[d]}return null},getType:function(c,e){var d=this.findIndexType(c,e);if(d>=0){return e?this._threedbm[d]:this._themes[d]}return null},getall:function(c){var f=[];for(var e=0;e<this._themes.length;e++){var d={name:this._themes[e].name,label:this._themes[e].label,cssClass:this._themes[e].cssClass};if(c===true&&this._themes[e].usage){d.usage=this._themes[e].usage}f.push(d)}return f},getThreeDAll:function(c){var g=[];if(this._threedbm){for(var e=0;e<this._threedbm.length;e++){var f=this._threedbm[e];var d={name:f.name,label:f.label,cssClass:f.cssClass};g.push(d)}}return g}}}if(!a.Tekla.Layers){a.Tekla.Layers={_layers:null,_globallayers:null,_map:null,init:function(c,d){this._layers=c;this._map=d},existgloballayer:function(c){if(this._globallayers){return this._globallayers.Find(c)}return false},_pushgl:function(c){if(this._globallayers){this._globallayers.push(c)}},_walkTree2:function(e,c){if(e){for(var d=0;d<e.length;d++){if(c(e[d])){e.splice(d,1);d--}else{this._walkTree2(e[d].children,c)}}}},filterout:function(d,f){for(var c=0;c<4;c++){var e=this._walkTree2(d,function(g){if(!g.isFolder){if(f.indexOf(g.key)<0){return true}return false}else{if(!g.children||g.children.length<1){return true}}})}return d},addgloballayer:function(f,g,e){var d=false;if(!this._globallayers){this._globallayers=[]}if(this.existgloballayer(f)===false){this._pushgl(f);if(e){$_GlobalLayerLevels_Add(f,e)}if(g){var c=[];c.push({layer:f,info:f});$_updateCategory(c,true)}d=true}return d},addgloballayers:function(f){var c=[];for(var d=0;d<f.length;d++){var e=f[d];if(this.addgloballayer(e,false)){c.push(e)}}if(c.length>0){$_updateCategory(c,true)}},removegloballayer:function(e){if(!this._globallayers){return}var d=0;while(d<this._globallayers.length){var c=false;if(!e){c=true}else{if(this._globallayers[d].startsWith(e)){c=true}}if(c){$_updateCategory_Cached(this._globallayers[d],false);$_GlobalLayerLevels_Remove(this._globallayers[d]);this._globallayers.remove(this._globallayers[d])}else{d++}}$_updateCategoryMove(true,false)},__getinfo:function(d){if(d){for(var c=0;c<d.length;c++){if(d[c].isvec){return d[c].info}}}return null},find2:function(c){return this.find(this._layers,c)},setOpacity:function(e,c){var d=this.find(this._layers,e);if(d&&!d.children&&d.select&&d.L_layer){d.L_layer.setOpacity(c);d.opacity=c}},setZIndex:function(e,c){var f=0;var d=this.find(this._layers,e);if(d&&!d.children){if(d.select&&d.L_layer){d.L_layer.setZIndex(c)}f=d.zIndex||0;d.zIndex=c}return f},getZIndex:function(d){var c=this.find(this._layers,d);if(c&&!c.children&&c.select&&c.L_layer){return c.zIndex||0}return 0},_refreshRasterWupp:function(e,c){var d=this.find(this._layers,e);if(d&&d.maplevels&&d.maplevels.length>0){var g=Tekla.Layers.findlevel(d.maplevels,c);if(d&&g&&d.L_layer){var f=this._map.hasLayer(d.L_layer);if(g.isrst){if(!f){this._map.addLayer(d.L_layer)}}else{if(f){this._map.removeLayer(d.L_layer)}}}}},_refreshlayer:function(e){var c=currentWupp();var h=Tekla.Layers.findlevel(e.maplevels,c);if(h){if(e.isrst||h.isrst){if(!e.L_layer){var f=(options.tileServer||options.appPath)+"/Tile/Layer?layer={layer}&x={x}&y={-y}&z={z}";if(e.scaledMinZoom||e.scaledMaxZoom){e.L_layer=L.locusTileLayer(f,{maxZoom:e.scaledMaxZoom?e.scaledMaxZoom:e.maxZoom,minZoom:e.scaledMinZoom?e.scaledMinZoom:e.minZoom,maxNativeZoom:e.scaledMaxZoom?e.maxZoom:null,minNativeZoom:e.scaledMinZoom?e.minZoom:null,layer:e.key})}else{e.L_layer=L.locusTileLayer(f,{maxZoom:e.maxZoom,minZoom:e.minZoom,layer:e.key})}e.L_layer.setZIndex(e.order);e.zIndex=e.order}}if(h.isrst){if(e.select){this._map.addLayer(e.L_layer)}else{if(e.L_layer){this._map.removeLayer(e.L_layer)}}}if(h.isvec){var d=[];d.push({layer:e.key});$_updateCategory(d,e.select)}}else{if(e.isvec){var g=this.__getinfo(e.maplevels);if(g){var d=[];d.push({layer:e.key});$_updateCategory(d,e.select)}LayerDB.AddCategory(e.key,false)}if(e.isrst){if(e.L_layer){this._map.removeLayer(e.L_layer)}}}if(Tekla.MapLink){Tekla.MapLink.update()}},__enumInfo:function(e,d){if(e){if(typeof e==="string"){d(e)}else{for(var c=0;c<e.length;c++){d(e[c])}}}},__contains:function(d,c){if(typeof d==="string"){return d===c}else{return d.indexOf(c)>-1}},iscategoryselected:function(c){var d=this._walkTree(this._layers,function(f){if(!f.isFolder&&f.select){var e=currentWupp();var g=Tekla.Layers.findlevel(f.maplevels,e);if(g&&g.isvec&&Tekla.Layers.__contains(g.info,c)){return true}}});if(!d){d=this.existgloballayer(c)}return d},travel:function(c){jQuery("#layerTree").dynatree("getRoot").visit(function(d){d.expand(c)})},setselected:function(d,c,g){var e=this.find(this._layers,d);if(e&&!e.children&&(g||e.select!==c)){e.select=c;this._refreshlayer(e);if(jQuery("#layerTree").length>0){Tekla.MapLayers.enableListener(false);var f=jQuery("#layerTree").dynatree("getTree").getNodeByKey(d);if(f.data.unselectable&&c==false){f.data.unselectable=false;f.select(c);f.data.unselectable=true}else{f.select(c)}Tekla.MapLayers.enableListener(true)}}},_walkTree:function(e,d){if(e){for(var c=0;c<e.length;c++){if(d(e[c])){return true}if(this._walkTree(e[c].children,d)){return true}}return false}},getselected:function(c,d){var e=[];this._walkTree(this._layers,function(f){if(!f.isFolder&&f.select&&(!d||d&&f.isrst)){e.push(c?f.title:f.key)}});return e.length>0?e:null},getselected2:function(c,d){var e=[];this._walkTree(this._layers,function(f){if(!f.isFolder&&f.select&&(!d||d&&f.isrst)){e.push(f)}});return e.length>0?e:null},_getselectedlayers:function(){var c=[];this._walkTree(this._layers,function(d){if(!d.isFolder&&d.select){c.push(d)}});return c.length>0?c:null},_getselectedCategoriesOrdered:function(e){var d={},c=1;this._walkTree(this._layers,function(g){if(!g.isFolder&&g.select){var h=Tekla.Layers.findlevel(g.maplevels,currentWupp());if(h&&h.isvec&&h.info){if(typeof h.info==="string"){d[h.info]=c++}else{for(var f=0;f<h.info.length;f++){d[h.info]=c}c++}}}});return c>e?d:null},applyvector:function(){var e=this._getselectedlayers();var c=currentWupp();var d=null;if(e&&e.length>0){var j=[];for(var g=0;g<e.length;g++){var f=e[g];if(f.isvec){var h=Tekla.Layers.findlevel(f.maplevels,c);if(!d){d=[]}d.push({layer:f.key})}if(f.isrst){if(!f.L_layer){f.L_layer=L.locusTileLayer((options.tileServer||options.appPath)+"/Tile/Layer?layer={layer}&x={x}&y={-y}&z={z}",{maxZoom:f.maxZoom,minZoom:f.minZoom,layer:f.key});f.L_layer.setZIndex(f.order)}this._map.addLayer(f.L_layer)}if(Tekla.MapLayers._changeCb){Tekla.MapLayers._changeCb(f,true)}}if(d){$_updateCategory(d,true)}a.Tekla.MapLayers.refreshrange()}},getlayertype:function(f){var e=null;var h=this.find(this._layers,f);if(h&&h.maplevels){var j=false,c=false;for(var g=0;g<h.maplevels;g++){var d=h.maplevels[g];if(d.isrst){j=true}if(d.isvec){c=true}}e={v:c,r:j}}return e},find:function(f,d){if(!f){return null}for(var e=0;e<f.length;e++){if(f[e].key===d){return f[e]}else{if(f[e].children){var c=this.find(f[e].children,d);if(c){return c}}}}return null},visiblebyinfo:function(d,h,c){var e=this.find(this._layers,d);if(e){var g=e.maplevels;if(g){return this.findlevel(g,c)}}if(h&&this.existgloballayer(h)){var f=$_GlobalLayerLevels_Find(h);if(f&&c>f){return null}return true}return null},findlevel:function(e,c){for(var d=0;d<e.length;d++){if(Math.abs(e[d].wupp-c)<0.01){return e[d]}}return null},getLayersForBaseMap:function(d){var e=[];function c(g){if(g){for(var f=0;f<g.length;f++){if(!g[f].isFolder){e.push({name:g[f].key,label:g[f].title,def:g[f].select===true})}c(g[f].children)}}}c(this._layers);return e}}}if(!a.Tekla.ThreeDMapLayers){a.Tekla.ThreeDMapLayers={_container:null,_changeCb:null,_map:null,_showMetaCb:null,_layers:null,init:function(d,f,h,g,c,e){this._container=d;this._changeCb=g;this._map=e;this._showMetaCb=c;this._layers=f;jQuery("#"+d).dynatree({checkbox:true,selectMode:3,children:f,onSelect:function(j,k){var i=[];if(k.data.children&&k.data.children.length>0){Tekla.ThreeDMapLayers._walkChildren(k.data.children,function(l){if(l.materials){i.push.apply(i,l.materials)}if(Tekla.ThreeDMapLayers._changeCb){Tekla.ThreeDMapLayers._changeCb(l,j)}l.select=j})}else{if(k.data.materials){i.push.apply(i,k.data.materials);k.data.select=j;if(Tekla.ThreeDMapLayers._changeCb){Tekla.ThreeDMapLayers._changeCb(k.data,j)}}}Tekla.ThreeDMaterial.setState(i,j,false);if(Tekla.MapLink){Tekla.MapLink.update()}return},onDblClick:function(j,i){return false},onClick:function(j,i){var k=i&&i.target?i.target.className:"";if(k&&k.indexOf("metadata")!=-1&&Tekla.MapLayers._showMetaCb){Tekla.MapLayers._showMetaCb(j.data)}else{if(k&&k.indexOf("-title")!=-1&&j.data.isFolder==false){j.toggleSelect()}}},onRender:function(j,i){if(j.data.unselectable&&j.data.isFolder==false){jQuery(i).addClass("dynatree-node-disabled")}},onKeydown:function(j,i){if(i.which==32){return false}},cookieId:"dt3-layers",idPrefix:"dt3-layers-",minExpandLevel:options.layerTreeMinExpandLevel>=1?options.layerTreeMinExpandLevel:8,classNames:{nodeIcon:"",connector:""}})},updatestate:function(c){return true},UpdateLayers:function(){},fitToLayer:function(c){var d=[];jQuery("#threeDLayerTree").dynatree("getRoot").visit(function(g){var f=g.data;if(f.title===c){var e=[];if(f.children&&f.children.length>0){Tekla.ThreeDMapLayers._walkChildren(f.children,function(h){if(h.materials){e.push.apply(e,h.materials)}})}else{if(f.materials){e.push.apply(e,f.materials)}}if(e.length>0){Tekla.ThreeDMaterial.fitToMaterials(e)}}});return d.length>0?d:null},_walkChildren:function(e,d){if(e){for(var c=0;c<e.length;c++){if(d(e[c])){return true}if(this._walkChildren(e[c].children,d)){return true}}return false}},_walkTree:function(e,d){if(e){for(var c=0;c<e.length;c++){if(d(e[c])){return true}if(this._walkTree(e[c].children,d)){return true}}return false}},_getselectedlayers:function(){var c=[];this._walkTree(this._layers,function(d){if(d.select){c.push(d)}});return c.length>0?c:null},getselected:function(c){var d=[];jQuery("#threeDLayerTree").dynatree("getRoot").visit(function(f){var e=f.data;if(e.select){d.push(c?e.title:e.key)}});return d.length>0?d:null},applyInitialState:function(){var d=this._getselectedlayers();var c=[];if(d&&d.length>0){for(var f=0;f<d.length;f++){var e=d[f];if(e.children&&e.children.length>0){Tekla.ThreeDMapLayers._walkChildren(e.children,function(g){if(g.materials){c.push.apply(c,g.materials)}if(Tekla.ThreeDMapLayers._changeCb){Tekla.ThreeDMapLayers._changeCb(g,true)}})}else{if(e.materials){c.push.apply(c,e.materials);if(Tekla.ThreeDMapLayers._changeCb){Tekla.ThreeDMapLayers._changeCb(e,true)}}}}Tekla.ThreeDMaterial.setState(c,true,false)}},travel:function(c){jQuery("#threeDLayerTree").dynatree("getRoot").visit(function(d){d.expand(c)})},setselected:function(d,c,g){var e=this.find(this._layers,d);if(e){e.select=c;if(jQuery("#threeDLayerTree").length>0){var f=jQuery("#threeDLayerTree").dynatree("getTree").getNodeByKey(d);if(f.data.unselectable&&c==false){f.data.unselectable=false;f.select(c);f.data.unselectable=true}else{f.select(c)}}if(Tekla.MapLink){Tekla.MapLink.update()}}},find:function(f,d){if(!f){return null}for(var e=0;e<f.length;e++){if(f[e].key===d){return f[e]}else{if(f[e].children){var c=this.find(f[e].children,d);if(c){return c}}}}return null}}}}(jQuery,window));
(function(b,a){if(!a.TGMap){a.TGMap={}}if(!a.TGMap.geolocation){a.TGMap.geolocation={_map:null,_statusCB:null,_isWatch:false,_isSet:false,_isMapFollow:false,_ntry:0,_watchId:0,_visual:null,_position:null,reset:function(c){this._isWatch=c;this._isSet=false;this._ntry=0;this._watchId=undefined},GetPosition:function(){return this._position},status:function(c,d){if(typeof this._statusCB==="function"){this._statusCB(c,d)}this._position=d},_removeVisual:function(){if(this._visual){TGMap.geolocation._map.removeLayer(this._visual);delete this._visual;this._visual=null}},_needMapRefresh:function(g){var e=TGMap.geolocation._map.getBounds();var f=(e.getEast()-e.getWest());var h=(e.getNorth()-e.getSouth());var d=new L.LatLng(g.north,g.east);var c=TGMap.geolocation._map.getCenter();return Math.abs(c.lat-d.lat)>h*0.3||Math.abs(c.lng-d.lng)>f*0.3},_onUserChange:function(d){if(TGMap.geolocation._isMapFollow&&TGMap.geolocation._isSet&&TGMap.geolocation._position){var c=TGMap.geolocation._position;TGMap.geolocation._isMapFollow=false;TGMap.geolocation.status(null);TGMap.geolocation.status({status:"ok",accuracy:c.accuracy},c)}},onsuccess:function(c){var f=c.coords.accuracy;var e=this;var d=TGMap.geolocation._map;Tekla.CoordinateTransformation.transform(c.coords.latitude,c.coords.longitude,function(j){var i=null;var k={};if(j&&j.north&&j.east){i={status:"outofbounds",accuracy:f};TGMap.geolocation._removeVisual();if(!j.outofbounds){if(!TGMap.geolocation._isSet||(TGMap.geolocation._isMapFollow&&TGMap.geolocation._needMapRefresh(j))){var l=19;if(f>5000){l=11}else{if(f>500){l=15}else{if(f>250){l=16}else{if(f>50){l=17}}}}TGMap.geolocation._map.setView(new L.LatLng(j.north,j.east),l);if(TGMap.geolocation._map._getIsThreeDMode()){a.Tekla.ThreeD.setView(j.north,j.east)}}if(f<500){if(TGMap.geolocation._visual){TGMap.geolocation._map.removeLayer(TGMap.geolocation._visual)}if(f<1){var h=L.circle([j.north,j.east],{fillColor:"#005596",fillOpacity:0.2,radius:1});var g=L.circle([j.north,j.east],{fillColor:"#005596",fillOpacity:0.5,radius:f});TGMap.geolocation._visual=L.featureGroup([h,g])}else{TGMap.geolocation._visual=L.circle([j.north,j.east],{fillColor:"#005596",fillOpacity:0.5,radius:f})}if(TGMap.geolocation._visual){TGMap.geolocation._map.addLayer(TGMap.geolocation._visual)}i.status=TGMap.geolocation._isMapFollow?"ok-map-follow":"ok"}else{i.status="ok-inaccurate"}k.north=j.north;k.east=j.east;k.accuracy=f;TGMap.geolocation._isSet=true}}TGMap.geolocation.status(i,k)},{sourceSystem:"EPSG:4326",decimalCount:4})},onerror:function(c){switch(c.code){case c.TIMEOUT:if(TGMap.geolocation._ntry===0){var d={maximumAge:0,timeout:60000,enableHighAccuracy:false};if(TGMap.geolocation._isWatch){TGMap.geolocation._watchId=navigator.geolocation.watchPosition(TGMap.geolocation.onsuccess,TGMap.geolocation.onerror,d);TGMap.geolocation._isWatch=false;TGMap.geolocation._isMapFollow=false}else{TGMap.geolocation._ntry+=1;navigator.geolocation.getCurrentPosition(TGMap.geolocation.onsuccess,TGMap.geolocation.onerror,d)}}else{TGMap.geolocation.status(null)}break;case c.PERMISSION_DENIED:case c.POSITION_UNAVAILABLE:case c.UNKNOWN_ERROR:TGMap.geolocation.status(null);TGMap.geolocation._map.Toaster(GetText("geoLocationErrorTip"));break}},setstate:function(c,d,f,g){this._statusCB=f;this._map=d;if(g){this._map.on("zoomend dragend",TGMap.geolocation._onUserChange)}else{this._map.off("zoomend dragend",TGMap.geolocation._onUserChange)}if(c){if(c.status==="ok"&&TGMap.geolocation._isWatch){TGMap.geolocation._isMapFollow=true;TGMap.geolocation.status({status:"ok-map-follow",accuracy:TGMap.geolocation._position.accuracy},TGMap.geolocation._position)}else{if(TGMap.geolocation._isWatch&&TGMap.geolocation._watchId!==undefined){navigator.geolocation.clearWatch(TGMap.geolocation._watchId);TGMap.geolocation._watchId=undefined}TGMap.geolocation._removeVisual();TGMap.geolocation.status(null)}}else{if(navigator.geolocation){this.reset(g);var e={maximumAge:0,timeout:60000,enableHighAccuracy:true};if(g){TGMap.geolocation._watchId=navigator.geolocation.watchPosition(TGMap.geolocation.onsuccess,TGMap.geolocation.onerror,e);TGMap.geolocation._isMapFollow=true}else{navigator.geolocation.getCurrentPosition(TGMap.geolocation.onsuccess,TGMap.geolocation.onerror,e)}}else{TGMap.geolocation.status(null)}}}}}}(jQuery,window));
(function(b,a){if(!a.TGMap){a.TGMap={}}a.TGMap.Style={"default":{LineWidth:2,FillOpacity:0.7,LineColor:"Red",LineType:"solid",FillColor:"Green",HoverFillColor:"black"},highlight:{LineWidth:2,FillOpacity:0.5,LineColor:"Red",LineType:"solid",FillColor:"Red"},hover:{LineWidth:2,FillOpacity:0.5,LineColor:"#FFF000",LineType:"solid",FillColor:"#FFF00D"}};a.TGMap.myObjects={knownTypes:{},insert:function(g,f){if(g){var e=true;if(f&&f.Filter){if(f.Filter==="Name"){if($_DBFindObjectByName(MySitesDB,g.Name)==true){e=confirm(GetText("cl_targetWithSameNameExitsI"))}}else{if(g.ReferenceId&&f.Filter==="ReferenceId"){e=!MySitesDB.FindByReferenceId(g.ReferenceId);if(!e&&f.Error){alert(f.Error)}}}}Tekla.MyObjects.show();if(e){var c=MySitesDB.InsertClone(g);c.DocList=null;var d=c.Url;if(c.HLOn){c.HLOn=false}if(!$_isValidUrl(d,true)){c.Url=null}if(c.MyOType&&TGMap.myObjects.knownTypes[c.MyOType]&&TGMap.myObjects.knownTypes[c.MyOType].onbeforecopy){TGMap.myObjects.knownTypes[c.MyOType].onbeforecopy(c)}a.teklaMap._UpdateMapPosition();$_CallEventHandler(tekla.Map.EVENT.DRAWINGREADY,c)}}}};if(!a.Tekla){a.Tekla={}}a.Tekla.MapLayers={_container:null,_timer:null,_changeCb:null,_refreshCb:null,_enableListener:true,_map:null,_showMetaCb:null,enableListener:function(c){this._enableListener=c},refreshrange:function(){if(this._refreshCb){this._refreshCb()}},init:function(e,g,i,h,d,c,f){this._container=e;this._changeCb=h;this._map=f;this._refreshCb=d;this._showMetaCb=c;jQuery("#"+e).dynatree({checkbox:true,selectMode:3,children:g,onSelect:function(j,k){Tekla.Layers.setselected(k.data.key,j);if(Tekla.MapLayers._enableListener&&Tekla.MapLayers._changeCb){Tekla.MapLayers._changeCb(Tekla.Layers.find2(k.data.key)||k.data,j)}return},onDblClick:function(k,j){return false},onClick:function(k,j){var l=j&&j.target?j.target.className:"";if(l&&l.indexOf("metadata")!=-1&&Tekla.MapLayers._showMetaCb){Tekla.MapLayers._showMetaCb(k.data)}else{if(l&&l.indexOf("-title")!=-1&&k.data.isFolder==false){k.toggleSelect()}}},onRender:function(k,j){if(k.data.unselectable&&k.data.isFolder==false){jQuery(j).addClass("dynatree-node-disabled")}},onKeydown:function(k,j){if(j.which==32){return false}},cookieId:"dt-layers",idPrefix:"dt-layers-",minExpandLevel:options.layerTreeMinExpandLevel>=1?options.layerTreeMinExpandLevel:8,classNames:{nodeIcon:"",connector:""}})},updatestate:function(c){return true},UpdateLayers:function(){},queue:function(){this.clearqueue();this._timer=setTimeout("Tekla.MapLayers.UpdateLayers();",500)},clearqueue:function(){if(this._timer){clearTimeout(this._timer)}this._timer=null},update:function(){if(Tekla.MapLayers._container){var f=jQuery("#"+Tekla.MapLayers._container).dynatree("getRoot");var c=jQuery("#"+Tekla.MapLayers._container).dynatree("getTree");try{var g=false;var i=Tekla.MapLayers._map.getZoom();var d=currentWupp();f.visit(function(k){if(!k.data.isFolder){var l=k.data.minZoom;var e=k.data.maxZoom;var j=true;if(i>=l&&i<=e){j=false}if(j!=k.data.unselectable){k.data.unselectable=j;g=true}if(k.isSelected()&&!isNaN(d)){Tekla.Layers._refreshRasterWupp(k.data.key,d)}}return true},false);if(g){f.render()}}catch(h){console.log(h)}}if(this._refreshCb){this._refreshCb()}}}}(jQuery,window));

var options;(function(g,n){var v=n.document;n.GetText=function(C){return options.texts[C]||""};function m(){function C(){var G=v;if(G.images){if(!G.MM_p){G.MM_p=[]}var F,E=G.MM_p.length,D=arguments;for(F=0;F<D.length;F++){if(D[F].indexOf("#")!==0){G.MM_p[E]=new Image();G.MM_p[E++].src=D[F]}}}}C(options.appPath+"/Images/b.gif",options.appPath+"/Images/b2.gif",__getPinImage(),options.appPath+"/Images/empty.gif",__getPolygonImage(),__getLineImage(),options.appPath+"/Content/images/geoloc-loader.gif")}n.tekla=n.tekla||{};var t=null;t=n.tekla=n.tekla||{};t.MapQuery=function(){this.options=n.tekla.Map.defaultOptions};t.MapQuery.prototype.getLayersForBaseMap=function(D){var E=[];function C(G){if(G){for(var F=0;F<G.length;F++){if(!G[F].isFolder){E.push({name:G[F].key,label:G[F].title,def:G[F].select===true})}C(G[F].children)}}}C(this.options.mapData.layers);return E};t.MapQuery.prototype.getThreeDLayersForBaseMap=function(){var D=[];function C(F){if(F){for(var E=0;E<F.length;E++){if(!F[E].isFolder){D.push({name:F[E].key,label:F[E].title,def:F[E].select===true})}C(F[E].children)}}}C(this.options.mapData.threedlayers);return D};t.MapQuery.prototype.GetBaseMaps=function(F){if(this.options){var E=F?this.options.mapData.threedbasemaps:this.options.mapData.basemaps;if(E){var G=F?this.getThreeDLayersForBaseMap():this.getLayersForBaseMap();var I=[];for(var D=0;D<E.length;D++){var H=E[D];var C={name:H.name,label:H.label,cssClass:H.cssClass,Layers:G};I.push(C)}return I}}return null};t.Map=L.Map.extend({initialize:function(D,F){this.options=this.options||{};this.isInited=false;this.eventHandlers=[];var G;if((L.Browser.ie||L.Browser.edge)&&F&&F.NoExt){this.options=F;options=F;G=F}else{G=jQuery.extend(true,this.options,t.Map.defaultOptions,F);this.options=G;options=G}if(n.Tekla.MapBubble){n.Tekla.MapBubble.defaultOptions=jQuery.extend(n.Tekla.MapBubble.defaultOptions||{},G.drawings||{});n.Tekla.MapBubble._parentContainer=v.getElementById(D)}this.bmHandler=new h(this);if(G.templates&&n.Tekla&&n.Tekla.MapBubble){n.Tekla.MapBubble.TEMPLATES=jQuery(G.templates)}this.md=v.getElementById(D);if(this.md){if(this.md.className&&this.md.className.length>0){this.md.className+=" "}this.md.className+="tekla-map";if(G.cssScope){this.m.className+=" "+G.cssScope}}var C=v.createElement("div");C.id="tooltipdiv";C.className="map-tooltip";C.style.position="absolute";C.style.left="300px";C.style.top="500px";C.style.width="100px";C.style.display="none";C.style.backgroundColor="#FFFFFF";C.style.zIndex="7000";this.md.appendChild(C);var E=this;$_EventHandler=function(){return E.Trigger.apply(E,arguments)};jQuery(this.md).append('<span class="icon-ims-hover" style="width:0px;height:0px;position:absolute;right:0px;bottom:0px"></span>');this.options.zoomControl=false;this.options.attributionControl=false;this.options.contextmenu=true;this.options.contextmenuWidth=160;this.options.preferCanvas=true;this.options.crs=L.CRS.Locus;this.options.trackResize=true;this.options.zoomAnimation=true;this.options.zoomAnimationThreshold=4;this.options.snapZoom=1;this.options.zoomSnap=1;this.options.closePopupOnClick=true;L.Map.prototype.initialize.call(this,D,this.options);n.map=this;n.teklaMap=this;if(this.options.initMapObjectSelection){n.Tekla.mapObjectSelection=new MapObjectSelection(this)}if(!F||!F.NoExt){if(Tekla.ThreeD){Tekla.ThreeD.init(options.appPath,options.appTexts)}Tekla.BaseMaps.init(options.mapData.basemaps,options.baseMap,n.teklaMap3?options.mapData.threedbasemaps:[],this);Tekla.Layers.init(options.mapData.layers,this);if(Tekla.ThreeDMaterial){Tekla.ThreeDMaterial.init(options.mapData.threedmaterials)}}if(TGMap&&TGMap.Measure){TGMap.Measure.init(this)}this.MoveListenerArray=new Array();this._ActiveHandleId=null;if(!options.nodefaultcopyright){this.AddControl({copyright:true})}this.Trigger(t.Map.EVENT.BASEMAPCHANGED)}});t.Map.prototype._PrepareBubble=function(D,C,E){if(C.oninfo){if(C.oninfo()!==true){return null}}return Tekla.MapBubble.show(D,C,E)};t.Map.prototype.ShowBubble=function(H,E,G){var C=this;var D=100;jQuery(E).css("display","none");var F=setTimeout(function(){C._ShowBubble(H,E,G)},D)};t.Map.prototype._ShowBubble=function(J,G,H){jQuery(G).css("display","block");var F;var E=0;jQuery(G).find(".tabContents").each(function(){var K=jQuery(this).height();if(!F||K>F){F=K}E++});if(E>1&&F>80&&F<300){F+=10;jQuery(G).find(".tabDetails").css("minHeight",F+"px")}if(n.Tekla.MapBubble){n.Tekla.MapBubble._mouseClickLatlng=J}var C=L.popup({closeButton:"",offset:H||new L.Point(-3,-26)}).setLatLng(J).setContent(G).openOn(this);if(typeof tinymce!="undefined"){var D=jQuery(G).find("[name='htmldescription']");if(D&&D.length>0){var I=D.attr("id");tinymce.EditorManager.execCommand("mceFocus",true,I);tinymce.EditorManager.execCommand("mceRemoveEditor",false,I);tinymce.EditorManager.execCommand("mceAddEditor",true,I)}}};t.Map.prototype._AttachControl=function(D){var C=v.getElementById("mapWrapper");if(C){C.appendChild(D);return}this.md.appendChild(D)};t.Map.prototype.AddMapMoveListener=function(C){if(this.MoveListenerArray.Find(C)==false){this.MoveListenerArray.push(C)}};t.Map.prototype.RemoveMapMoveListener=function(C){this.MoveListenerArray.remove(C)};t.Map.prototype.HandleMapMove=function(E){var C=this.MoveListenerArray.length;for(var D=0;D<C;D++){if(this.MoveListenerArray[D]){(this.MoveListenerArray[D])(E)}}};t.Map.prototype._HandleRemove=function(){if(this._ActiveHandleId){this._ActiveHandleId=null;this._HandleRemoveAll()}};t.Map.prototype._HandleRemoveIf=function(C){if(this._ActiveHandleId==C){this._HandleRemoveAll()}};t.Map.prototype._HandleGetActive=function(){return this._ActiveHandleId};t.Map.prototype._HandleActivate=function(C){if(this._ActiveHandleId!=C.__id){_resetHilighted();this._HandleRemoveAll()}else{_resetHilighted()}if(L_HANDLESLAYER){L_HANDLESLAYER.clearLayers();if(this.hasLayer(L_HANDLESLAYER)){this.removeLayer(L_HANDLESLAYER)}}L_HANDLESLAYER=new L.FeatureGroup();L_drawHandles(L_HANDLESLAYER,C,true);this.addLayer(L_HANDLESLAYER);this._ActiveHandleId=C.__id};t.Map.prototype._HandleRemoveAll=function(){if(L_HANDLESLAYER){L_HANDLESLAYER.clearLayers()}this._ActiveHandleId=undefined};t.Map.prototype._UserPositionHideDelayed=function(D){if(!options.userPositionKeep){var C=this;setTimeout(C._UserPositionDelete,D||$_UserPositionTimeOut)}};function u(D){var C=this;setTimeout(C._UserPositionDelete,D)}t.Map.prototype._UserPositionDelete=function(){if(L_USERPOSITIONLAYER){this.removeLayer(L_USERPOSITIONLAYER);L_USERPOSITIONLAYER=null}this._selectedPositionSouth=null;this._selectedPositionEast=null;startPan()};t.Map.prototype._UserPositionShow=function(E,D){if(L_USERPOSITIONLAYER){this.removeLayer(L_USERPOSITIONLAYER)}var C=L.icon({iconUrl:options.appPath+"/images/selectpoint.gif",iconAnchor:[14,32]});L_USERPOSITIONLAYER=L.marker([E,D],{icon:C});this.addLayer(L_USERPOSITIONLAYER);this._selectedPositionSouth=E;this._selectedPositionEast=D};t.Map.prototype._UserPositionGet=function(){return[this._selectedPositionSouth,this._selectedPositionEast]};t.Map.prototype._MapObjectPositionDelete=function(){if(L_MAPOBJECTPOSITIONLAYER){this.removeLayer(L_MAPOBJECTPOSITIONLAYER);L_MAPOBJECTPOSITIONLAYER=null}startPan()};t.Map.prototype._MapObjectPositionShow=function(E,D){if(L_MAPOBJECTPOSITIONLAYER){this.removeLayer(L_MAPOBJECTPOSITIONLAYER)}var C=new L.DivIcon({zIndexOffset:100,className:"fu-mapobject-position-container",html:'<div class="fu-mapobject-position-cursor">&#x271B;</div>',iconSize:[100,100],iconAnchor:[52,52]});L_MAPOBJECTPOSITIONLAYER=L.marker([E,D],{icon:C,zIndexOffset:50});this.addLayer(L_MAPOBJECTPOSITIONLAYER)};t.Map.prototype._ClearDynContext=function(){clearToolstate();this._ClearVisualizations(true);jQuery(".pane").hide();jQuery(".searchboxinput").val("");if(n.Tekla.MobileClear){n.Tekla.MobileClear()}startPan()};t.Map.prototype._ClearVisualizations=function(C){hideInfo();this.BeginGuiTrans();if(C){TGMap.Measure.deleteLines();deleteDrawing()}SearchDB.Clear();this._UserPositionDelete();this.NeedLayerRedraw();this.EndGuiTrans()};t.Map.prototype._UpdateScale=function(){TGMap.ScaleBar.update(currentWupp())};t.Map.prototype._GetAreaString=function(){var C=this.getBounds();return"&south="+C.getSouth()+"&west="+C.getWest()+"&north="+C.getNorth()+"&east="+C.getEast()};t.Map.prototype._FitBounds=function(F){if(this._getIsThreeDMode()){var I=F[0][0];var H=F[0][1];var E=F[1][0];var D=F[1][1];var C=Math.round(D+H)/2;var G=Math.round(E+I)/2;n.Tekla.ThreeD.setView(G,C)}if(Tekla.SideBar&&Tekla.SideBar.isVisible()){this.fitBounds(F,{paddingTopLeft:[400,0]});return}this.fitBounds(F)};t.Map.prototype._UpdateMapPosition=function(C){this.BeginGuiTrans(this._GetSelectedRefIds());this._UpdateScale();if(C){$_queryOnMouseup()}this.NeedLayerRedraw();this.EndGuiTrans()};t.Map.prototype._setThreeDMode=function(D){if(D){g("#webglViewerWrapper").show();g("#lmapcontainer").hide();g("#mapcontainer").hide();jQuery("body").addClass("threed").removeClass("twod");jQuery(n).trigger("resize")}else{g("#lmapcontainer").show();g("#mapcontainer").show();jQuery("body").addClass("twod").removeClass("threed");var C=n.teklaMap;L.Util.requestAnimFrame(C.invalidateSize,C,!1,C._container)}};t.Map.prototype._getIsThreeDMode=function(){return jQuery("body").hasClass("threed")};t.Map.prototype._RefreshObject=function(F,D,E,C){return $_refreshObject(F,D,E,C)};t.Map.prototype._UnselectAll=function(F){var C=F===OBJ_MYSITES?L_MYSITESLAYER:L_CATLAYER;if(C){for(var E in C._layers){var D=C._layers[E];if(D&&D.options.isselected){if(D._icon){jQuery(D._icon).removeClass("map-selected")}else{__setStyleUnselected(D)}D.options.isselected=false}}}this.__selectedRefIds=null};t.Map.prototype._SetSelectMode=function(D,C,E){this.__isSelectMode=D;this.__allowSelection=C;if(!D){this._UnselectAll(E)}};t.Map.prototype._GetSelectedObjects=function(){if(!this.__isSelectMode&&!this.__allowSelection){return null}var D=[];var C=this.__allowSelection?L_MYSITESLAYER:L_CATLAYER;if(C){for(var G in C._layers){var E=C._layers[G];if(E&&E.options.isselected){var F=E.options.obj;if(F&&(F.CustomSelectable||F.CustomClass)){D.push(E.options.obj)}}}}return D};t.Map.prototype._GetSelectedRefIds=function(){var F=this._GetSelectedObjects();var C={};if(F&&F.length>0){for(var D=0;D<F.length;D++){var G=F[D];var E=G.ReferenceId;C[E]=E}}return C};t.Map.prototype.GetActiveThemeName=function(){var C=Tekla.BaseMaps.active();return C?C.name:""};t.Map.prototype._HideToaster=function(){jQuery(".toaster-container").hide();if(this._toasttimeout){clearTimeout(this._toasttimeout);this._toasttimeout=null}};t.Map.prototype.Toaster=function(E){var D=jQuery(".toaster-container .toaster-text");if(D&&D.length>0){D.html(E);jQuery(".toaster-container").show();var C=this;if(C._toasttimeout){clearTimeout(C._toasttimeout);C._toasttimeout=null}C._toasttimeout=setTimeout(C._HideToaster,5000)}else{alert(E)}};t.Map.prototype.BeginGuiTrans=function(C){this._needRedraw=false;if(C!=undefined){this.__selectedRefIds=C}};t.Map.prototype.NeedLayerRedraw=function(){this._needRedraw=true};t.Map.prototype.RedrawLayersImmediate=function(){L.Util.cancelAnimFrame(this._layerRedrawRequest);this._layerRedrawRequest=L.Util.requestAnimFrame(function(){$_internalUpdateDatabaseTypes()},this);this._needRedraw=false};t.Map.prototype.EndGuiTrans=function(C){if(this._needRedraw){this.RedrawLayersImmediate()}};t.Map.prototype.RedrawLayers=function(C){this.BeginGuiTrans(C);this._needRedraw=true;this.EndGuiTrans()};t.Map.APIVERSION="2.0.0";t.Map.EVENT={NEARESTADDRESS:"nearestAddress",SEARCHREADY:"searchReady",ZOOMINGTOOBJECT:"zoomingToObject",BUBBLECREATE:"bubbleCreate",BUBBLECOMMIT:"bubbleCommit",SHOWPROPERTIES:"showProperties",LOADSTARTED:"loadStarted",LOADREADY:"loadReady",DRAWINGALL:"drawingAll",DRAWINGGEOMETRYCHANGED:"drawingGeometryChanged",DRAWINGPROPERTIESCHANGED:"drawingPropertiesChanged",DRAWINGPRESENTATIONCHANGED:"drawingPresentationChanged",DRAWINGDELETED:"drawingDeleted",DRAWINGREADY:"drawingReady",DRAWINGPRESENTATION:"drawingPresentation",BASEMAPCHANGED:"basemapChanged",MAPSIZEMAXIMIZED:"mapsizemaximized",MAPSIZERESTORED:"mapsizerestored",VIEWPORTCHANGED:"viewchanged",EXTERNALDELETEREQUESTED:"externaldeleterequested",SELECTIONCHANGED:"SelectionChanged",INITED:"inited",POINTCLOUDADDED:"pointcloudadded",ALL:"all"};t.Map.prototype.GetBaseMaps=function(){var D=Tekla.BaseMaps.getall();if(D&&D.length>0){for(var C=0;C<D.length;C++){D[C].Layers=Tekla.Layers.getLayersForBaseMap(D[C].name)}}return D};t.Map.prototype.GetBaseMap=function(){var C=Tekla.BaseMaps.active();return C?C.name:""};t.Map.prototype.CurrentLayer=function(){var C=Tekla.BaseMaps.active();return C?C.name:""};t.Map.prototype.CurrentLayerScript=function(){return $_generateLayerOnOff()};t.Map.prototype.GetNamedAreas=function(){return this.options.mapData.namedAreas};t.Map.prototype.AddNamedAreaMenu=function(D){var G=jQuery("#"+D).empty();var E=this;var C=E.GetNamedAreas();var F=[];if(C&&C.length>0){jQuery(C).each(function(I){var H=jQuery('<option value="'+this.name+'">'+this.label+"</option>");if(!this.north||!this.east||!this.south||!this.west){H.prop("disabled",true);if(I===0){H.prop("selected",true)}}G.append(H);F[this.name]=this});G.change(function(){var H=F[jQuery(this).val()];jQuery(this).find("option").eq(0).prop("selected",true);if(H&&H.north&&H.east&&H.south&&H.west){E.SetArea(H.north,H.east,H.south,H.west)}})}else{G.hide()}};t.Map.defaultOptions={lang:"fi",appPath:"",baseURL:"",naviMap:"",pinOffsetN:32,pinOffsetE:14,zoomMarginal:0,userPositionKeep:true,movehandlerUseTimer:true,movehandlerTimerInterval:300,maxPointEditablePointCount:100,tileServerUrls:null,disableMyObjects:false,editBubbleAutoCommit:false,mailtoUseWindowOpen:false,panTreshold:0.15,showImageForPolygon:true,showBubbleInExactSearch:true,showOpenInNewWindow:false,emailUsingWindowOpen:false,shareOnFacebookURI:"https://www.facebook.com/sharer/sharer.php?u={url}",shareOnTwitterURI:"https://twitter.com/intent/tweet?url={url}&text={name}",handleColor:"blue",handleInsertColor:"gray",wheelTimeOut:400,serviceSearchOpenExpanded:true,distanceUnit:"m",enableCopyingOfDrawings:false,layerTreeMinExpandLevel:5,isLatLon:false,isImperialUnits:false,clusterPolyobjects:true,istouch:false,mySitesClustered:false,getCurrentPresentation:null,_getCurrentPresentation:function(){if(typeof this.getCurrentPresentation==="function"){return this.getCurrentPresentation()}return null},mapControls:null,drawings:null,tileSize:256,tileOrigin:null,texts:{},mapData:{settings:{SVGRMin:2,SVGRMax:512,CatLayerMax:512,ClusteringLevelMin:8}}};t.Map.prototype.ensureInit=function(C,D){if(!this.isInited){this.init();this.isInited=true}if(C){n.teklaMap._UpdateMapPosition(D)}};t.Map.prototype.setViewCoordinates=function(C,E,D){this.setView(C,E,D);if(n.teklaMap3&&Tekla.ThreeD){Tekla.ThreeD.setView(C[0],C[1])}};t.Map.prototype.setBoundsCoordinates=function(F,D){this.fitBounds(F,D);if(n.teklaMap3&&Tekla.ThreeD){var H=F[1][0];var G=F[1][1];var E=F[0][0];var C=F[0][1];Tekla.ThreeD.setView(E+(H-E)/2,C+(G-C)/2)}};t.Map.prototype.initCommon=function(){var E=this.options;if(options.center){if(options.center.length===3){var J=this.options.crs.wupp2Zoom(options.center[2]);this.setView([options.center[0]||0,options.center[1]||0],J,{animate:false,animation:false})}else{if(options.center.length===4){var G=Math.max(options.center[2],options.center[0]);var H=Math.max(options.center[3],options.center[1]);var N=Math.min(options.center[2],options.center[0]);var K=Math.min(options.center[3],options.center[1]);var C=[[N,K],[G,H]];this.setBoundsCoordinates(C,{animate:false})}}}else{if(options.wupp>=0){var J=this.options.crs.wupp2Zoom(options.wupp);this.setViewCoordinates([options.centerN||0,options.centerE||0],J,{animate:false,animation:false})}else{var D=options.width>=0?options.width:100;var M=options.height>=0?options.height:100;if(options.centerN&&options.centerE){var F=[options.centerN||0,options.centerE||0];var C=[[F[0]-M/2,F[1]-D/2],[F[0]+M/2,F[1]+D/2]];this.setBoundsCoordinates(C,{animate:false})}}}this.bmHandler.SetBaseMap(options.baseMap);$_setZoomScalePosition();this._UpdateScale();if(Tekla.MapLayers){Tekla.MapLayers.update()}this.on("zoomend",function(){n.teklaMap._UpdateMapPosition(true);if(Tekla.MapLink){var O=n.teklaMap.GetCenter();Tekla.MapLink.update(O[0],O[1])}Tekla.MapLayers.update()});this.on("move",function(){this.HandleMapMove(H)});this.on("moveend",function(){n.teklaMap._UpdateMapPosition(true);this.HandleMapMove(H);if(Tekla.MapLink){var O=n.teklaMap.GetCenter();Tekla.MapLink.update(O[0],O[1])}});this.on("mousemove",function(P){var O=this;O.HandleMapMove(P)});mapDrawing={};if(E.enableCopyingOfDrawings){this.EnableCopyingOfDrawing()}startPan();$_showCoordinates_enable();m();this.SetNearestAddressForDrawings(E.nearestaddress===true);if(E.mapControls){this.AddControl(E.mapControls)}var I=this;jQuery(".toaster-text").click(function(){I._HideToaster()})};t.Map.prototype.init=function(){var H=this.options;if(H.linkresult){if(H.linkresult.setarea&&H.linkresult.mnorth){H.centerN=H.linkresult.mnorth;H.centerE=H.linkresult.meast;if(H.linkresult.width){H.width=H.linkresult.width;H.height=H.linkresult.height}}}$_coordinatesInit(this.options.mapData.settings.CoordDef,this.options.mapData.settings.CoordDistKey,this.options.mapData.settings.CoordStatusKey);this.initCommon();var G,E;if(this.options.linkresult){linkresult=this.options.linkresult;if(linkresult.onlayers){for(E=0;E<linkresult.onlayers.length;E++){Tekla.Layers.setselected(linkresult.onlayers[E],true)}}if(linkresult.offlayers){for(E=0;E<linkresult.offlayers.length;E++){Tekla.Layers.setselected(linkresult.onlayers[E],false)}}}if(linkresult){if(linkresult.query){var I=linkresult.query.type;if(I=="address"||I=="all"||I=="linksearch"||I=="cat"){if(typeof angular!="undefined"){Tekla.SideBar.opentab("resulttab");var D=$_layerDisplayResults(SearchDB,linkresult,LIST_CB);var F=angular.element(jQuery("#pane-search")).scope();if(F){F.$evalAsync(function(){F.refresh(D);jQuery("#pane-search").show()})}}else{$_layerDisplayResults(SearchDB,linkresult,LIST_NO)}}else{if(linkresult.query.type=="link"){if(linkresult.results){$_layerDisplayResults(SearchDB,linkresult,LIST_NO,"decode")}}else{if(linkresult.query.type=="searchengine"){$_displaySeResults(linkresult);freeSiteSearchLink(linkresult)}else{if(linkresult.query.type=="feedbackcollection"){if(linkresult.results){$_layerDisplayResults(SearchDB,linkresult,LIST_COLLECTION)}}else{if(linkresult.query.type=="getlocation"){$_GetLocation(linkresult)}else{if(linkresult.query.type=="esite"){$_eSiteLink(linkresult)}}}}}}}if(linkresult.formactions){for(var C=0;C<linkresult.formactions.length;C++){if(linkresult.formactions[C].type=="feedback"){$_linkShowFeedback(linkresult.formactions[C])}else{if(linkresult.formactions[C].type=="areasearch"){$_linkShowAreaSearch(linkresult.formactions[C])}}}}}if(L.DomEvent){jQuery(".disable-map-events").each(function(){var J=jQuery(this)[0];if(J){L.DomEvent.disableClickPropagation(J)}})}this.Trigger(t.Map.EVENT.INITED)};var r={height:"100%","max-height":"1800px",position:"absolute",width:"100%","float":"none","margin-left":"0px","margin-right":"0px","margin-top":"0px","margin-bottom":"0px"};t.Map.prototype.Maximize=function(){if(g("#webglViewerWrapper").length){this.MaximizeThreeD()}else{this.MaximizeTwoD()}};t.Map.prototype.MaximizeThreeD=function(){if(!this.maximized){var C=this;Tekla.MapBubble.hideAll();C.prevScroll=jQuery(n).scrollTop();jQuery(n).scrollTop(0);jQuery("body").addClass("tekla-map-maximized-state");C.maximized=true;C.Resize({KeepCenter:true});C.Trigger(t.Map.EVENT.MAPSIZEMAXIMIZED);jQuery(v).bind("keydown.teklamap",function(D){if(D.keyCode===27){C.RestoreSize()}})}};t.Map.prototype.MaximizeTwoD=function(){if(!this.maximized){var E=this;Tekla.MapBubble.hideAll();E.prevScroll=jQuery(n).scrollTop();E.origLocation=jQuery("<span></span>").hide();E.origStyles=[];var D=jQuery(this._container);for(var C in r){if(C==="width"){E.origStyles[C]=D[0].style.width}else{E.origStyles[C]=D.css(C)}}for(var F in r){if(F==="width"){D[0].style.width=r[F]}else{D.css(F,r[F])}}var G=D.after(E.origLocation).detach();E.fullPageWrapper=jQuery('<div class="tekla-map-maximized-wrapper" style="height:100%; width:100%; max-height:1800px; position:absolute; margin: 0;padding:0; background-color:white;"></div>').append(G);jQuery("body").prepend(E.fullPageWrapper).addClass("tekla-map-maximized");E.maximized=true;E.Resize({KeepCenter:true});E.Trigger(t.Map.EVENT.MAPSIZEMAXIMIZED);jQuery(v).bind("keydown.teklamap",function(H){if(H.keyCode===27){E.RestoreSize()}})}};t.Map.prototype.RestoreSize=function(){if(g("#webglViewerWrapper").length){this.RestoreSizeThreeD()}else{this.RestoreSizeTwoD()}};t.Map.prototype.RestoreSizeThreeD=function(){if(this.maximized===true){Tekla.MapBubble.hideAll();jQuery("body").removeClass("tekla-map-maximized-state");var C=this;C.Resize({KeepCenter:true});C.maximized=false;if(C.prevScroll){jQuery(n).scrollTop(C.prevScroll)}jQuery(v).unbind("keydown.teklamap");n.teklaMap._UpdateMapPosition();C.Trigger(t.Map.EVENT.MAPSIZERESTORED)}};t.Map.prototype.RestoreSizeTwoD=function(){if(this.maximized===true){Tekla.MapBubble.hideAll();var C=this;var E=jQuery(this._container).detach();jQuery("body").removeClass("tekla-map-maximized");for(var D in C.origStyles){E.css(D,C.origStyles[D])}C.origLocation.replaceWith(E);C.fullPageWrapper.remove();C.Resize({KeepCenter:true});C.maximized=false;if(C.prevScroll){jQuery(n).scrollTop(C.prevScroll)}delete C.fullPageWrapper;jQuery(v).unbind("keydown.teklamap");n.teklaMap._UpdateMapPosition();C.Trigger(t.Map.EVENT.MAPSIZERESTORED)}};t.Map.prototype.ToggleMapSize=function(){if(this.maximized===true){this.RestoreSize()}else{this.Maximize()}};t.Map.prototype.Move=function(C){jQuery(this._container).appendTo(jQuery(C));this.Resize({KeepCenter:true})};t.Map.prototype.AddControl=function(F){var D=this;if(F){if(typeof F.GetElement==="function"){var C=D.getControlContainer(F.location);if(C){C.AddControl(F)}}else{if(F.basemapswitcher){if(D.bmswitcher){D.bmswitcher.SetOptions(F.basemapswitcher)}else{D.bmswitcher=new k(F.basemapswitcher,D);D.AddControl(D.bmswitcher)}}if(F.layers&&(F.layers.layers||F.layers.allLayers)){try{if(t.Map.defaultOptions.mapData.layers){var E=F.layers.allLayers?t.Map.defaultOptions.mapData.layers:Tekla.Layers.filterout(t.Map.defaultOptions.mapData.layers,F.layers.layers);D.AddControl(new p(F.layers,D));Tekla.MapLayers.init("layerTree",E,null,null,null,null,this)}}catch(G){}}if(F.geolocation){D.AddControl(new a(F.geolocation,D))}if(F.zoomin){D.AddControl(new e("zoomin",F.zoomin,D))}if(F.zoomout){D.AddControl(new e("zoomout",F.zoomout,D))}if(F.measure){D.AddControl(new q(F.measure,D))}if(F.scale){D.AddControl(new b(F.scale,D))}if(F.drawpoint){D.AddControl(new w("Point",F.drawpoint,D))}if(F.drawpolygon){D.AddControl(new w("Polygon",F.drawpolygon,D))}if(F.drawpolyline){D.AddControl(new w("Polyline",F.drawpolyline,D))}if(F.drawrectangle){D.AddControl(new w("Rectangle",F.drawrectangle,D))}if(F.loadingindicator){D.AddControl(new d(F.loadingindicator,D))}if(F.objectsinfo){D.AddControl(new ObjectsInfoControl(F.objectsinfo,D))}if(F.mapsize){D.AddControl(new i(F.mapsize,D))}if(F.search){D.AddControl(new s(F.search,D))}if(F.importkml){D.AddControl(new f(F.importkml,D))}if(F.copyright){D.AddControl(new z(F.copyright,D))}if(F.openinnewwindow){D.AddControl(new B(F.openinnewwindow,D))}if(F.namedareasvisualizer){D.AddControl(new y(F.namedareasvisualizer,D))}if(F.maplegend){D.AddControl(new c(F.maplegend,D))}if(F.popup&&Tekla.PopUp){Tekla.PopUp.init(D,F.popup)}}}};t.Map.prototype.RemoveControl=function(C){if(C){var D=this.containers;if(D){for(prop in C){if(C.hasOwnProperty(prop)&&C[prop]){for(var E in D){if(D.hasOwnProperty(E)&&D[E]&&D[E].RemoveControl){D[E].RemoveControl(C[prop],prop)}}}}}}};t.Map.prototype.getControlContainer=function(E){var C=this.containers=this.containers||{};var D=null;if(C[E]){D=C[E]}else{if(E===t.Map.CONTROLCONTAINER.TOPRIGHT||E===t.Map.CONTROLCONTAINER.TOPLEFT||E===t.Map.CONTROLCONTAINER.BOTTOMLEFT||E===t.Map.CONTROLCONTAINER.BOTTOMRIGHT){C[E]=new x(E,this)}else{D=this.getControlContainer(t.Map.CONTROLCONTAINER.TOPLEFT)}}return C[E]};t.Map.prototype.SetControlOffsets=function(E){var D=this;if(E){for(var F in E){if(E.hasOwnProperty(F)){var C=D.getControlContainer(F);if(C){C.SetOffsets(E[F])}}}}};t.Map.prototype.PickPosition=function(E,C,D){$_extPickTip=C;$_extEventHandler=E;$_extPickOptions=D;startPositionSelect("external")};t.Map.prototype.DeletePosition=function(){this._UserPositionDelete()};t.Map.prototype.SetPosition=function(D,C){this._UserPositionShow(D,C)};t.Map.prototype.SetPresentation=function(D,C){var E=this.FetchObject(D);if(E){E.set_Presentation(C)}};t.Map.prototype.SetEditable=function(D,C){var E=this.FetchObject(D);if(E){E.set_Editable(C===true)}};t.Map.prototype.Flush=function(){n.teklaMap._UpdateMapPosition()};t.Map.prototype.Init=function(){this.ensureInit(true)};t.Map.prototype.Clear=function(C){Tekla.MapBubble.hideAll();var D=MySitesDB.Count(true);this._HandleRemoveAll();MySitesDB.Clear();if(D>0){this.Trigger(t.Map.EVENT.DRAWINGDELETED)}if(C){SearchDB.Clear()}this.Flush()};t.Map.TOOLS={PAN:"pan",ZOOM:"zoom"};t.Map.prototype.SetTool=function(C){if(C===t.Map.TOOLS.PAN){clearToolstate();startPan()}else{if(C===t.Map.TOOLS.ZOOM){clearToolstate();startZoom()}else{if(C==="zoomin"){this.ZoomIn()}else{if(C==="zoomout"){this.ZoomOut()}}}}};t.Map.prototype.ZoomIn=function(){this.zoomIn(1);$_CallEventHandler(t.Map.EVENT.VIEWPORTCHANGED)};t.Map.prototype.ZoomOut=function(){this.zoomOut(1);$_CallEventHandler(t.Map.EVENT.VIEWPORTCHANGED)};t.Map.prototype.SetCenter=function(F,C,D){this.ensureInit(false);if(this.isInited){if(F&&C){if(D){var D=this.options.crs.wupp2Zoom(D);var E=Tekla.BaseMaps.activavalidatezoom(D);this.setZoom(E)}Tekla.MapBubble.hideAll();this.panTo(new L.LatLng(F,C));this.ensureInit(true,true);$_CallEventHandler(t.Map.EVENT.VIEWPORTCHANGED)}}};t.Map.prototype.UpdateLayers=function(){this.ensureInit(false);if(this.isInited){if(n.Tekla.Layers){n.Tekla.Layers.applyvector()}}};t.Map.prototype.SetZoom=function(C){this.ensureInit(false);if(this.isInited){if(C){var D=Tekla.BaseMaps.activavalidatezoom(this.options.crs.wupp2Zoom(C));this.setZoom(D);this.ensureInit(true);$_CallEventHandler(t.Map.EVENT.VIEWPORTCHANGED)}}};t.Map.prototype.GetCenter=function(){var C=get_Center(true);return[C.n,C.e]};t.Map.prototype.GetZoom=function(){return currentWupp()};t.Map.prototype.GetZoomNumber=function(){return currentWupp()};t.Map.prototype.SetArea=function(E,H,G,J){var D=Math.max(G,E);var F=Math.max(J,H);var K=Math.min(G,E);var I=Math.min(J,H);var C=[[K,I],[D,F]];this._FitBounds(C)};t.Map.prototype.GetArea=function(H){var F=this.getBounds();var E=F.getEast();var D=F.getSouth();var C=F.getWest();var G=F.getNorth();if(H&&Tekla.SideBar&&Tekla.SideBar.isVisible()){C+=(400*currentWupp())}return[D,C,G,E]};t.Map.prototype.SetBaseMap=function(C){this.ensureInit(false);return this.bmHandler.SetBaseMap(C)};t.Map.prototype.AddCustomBaseMap=function(C){return this.bmHandler.AddCustomBaseMap(C)};t.Map.prototype.GetCurrentBaseMap=function(){return Tekla.BaseMaps.active()};t.Map.prototype.DrawingsCount=function(){return this.GetDrawings().length};t.Map.prototype.GetDrawings=function(){var D=[];for(var C=0;C<MySitesDB.items.length;C++){var E=MySitesDB.GetAt(C);if($_DBIsValidObject(E)){D.push(E)}}return D};t.Map.prototype.GetDrawingsJSON=function(H){var F=[];var C=MySitesDB.items;for(var G=0;G<C.length;G++){var I=C[G];if($_DBIsValidObject(I)||(H&&I&&I.IsDeleted)){var D=true;var E=null;if(H){E=H(I);if(!E){D=false}}if(D){if(!E||typeof(E)!="object"){E={Attributes:["Name","Explanation","Url","ReferenceId","StreetAddress","Geometry"]}}var J=this.$_ToGeomObjAttrs(I,E);F.push(J)}}}return F};t.Map.prototype.AddBaseMapButton=function(C){this.AddControl({basemapswitcher:{basemaps:[C]}})};t.Map.prototype.SetBaseMapButtons=function(D){if(D&&D.length>0){for(var C=0;D.length<C;C++){this.AddBaseMapButton(D[C])}}};t.Map.prototype.DrawPin=function(C){this.DrawPoint(C)};t.Map.prototype.DrawPoint=function(D){deleteDrawing();var C=null;Tekla.MapBubble.hideAll();if(D&&D.DrawTip){C=String.escapeHTML(D.DrawTip,true)}this.setDrawingData(D,"Point");createSite(C)};t.Map.prototype.DrawPolygon=function(C){this.drawPath(true,C)};t.Map.prototype.DrawRectangle=function(C){this.drawRectangle(C)};t.Map.prototype.DrawPolyline=function(C){this.drawPath(false,C)};t.Map.prototype.CancelDraw=function(){deleteDrawing()};t.Map.prototype.EndDraw=function(){Tekla.MapBubble.insert(toolMode,null,{skipBubble:true})};t.Map.prototype.setDrawingData=function(F,C,E){var D=this;var G=jQuery.extend({},D.options.drawings||{},F||{});options.getDrawingData=function(){return G};if(G.presentation){options._getCurrentPresentation=function(){return G.presentation}}else{options._getCurrentPresentation=options.getCurrentPresentation}};t.Map.prototype.drawPath=function(E,D){deleteDrawing();Tekla.MapBubble.hideAll();this.setDrawingData(D,E===true?"Polygon":"Polyline");var C=null;if(D&&D.DrawTip){C=String.escapeHTML(D.DrawTip,true)}createDraw(E,C)};t.Map.prototype.drawRectangle=function(D){deleteDrawing();Tekla.MapBubble.hideAll();this.setDrawingData(D,true,"Polygon");var C=null;if(D&&D.DrawTip){C=String.escapeHTML(D.DrawTip,true)}createDrawRectangle(C)};t.Map.prototype.convertToDrawData=function(H,E,D){var C=null;var G=this.options;if(typeof G.getCurrentPresentation==="function"){C=G.getCurrentPresentation()}if(!C){C={LineColor:"red",LineWidth:2,LineType:"solid",FillColor:"blue",FillOpacity:0.5}}var F=null;switch(D){case"Point":F={DrawTip:E&&E.pointtip?E.pointtip:null,values:{name:E&&E.pointname?E.pointname:null},presentation:{Image:H&&H.pointimage?H.pointimage:C.Image}};break;case"Polygon":F={DrawTip:E&&E.areatip?E.areatip:null,values:{name:E&&E.areaname?E.areaname:null},presentation:{Image:H&&H.areaimage?H.areaimage:null,LineColor:H&&H.arealinecolor?H.arealinecolor:C.LineColor,LineWidth:H&&H.arealinewidth?H.arealinewidth:C.LineWidth,LineType:H&&H.arealinetype?H.arealinetype:C.LineType,LineOpacity:H&&H.arealineopacity?H.arealineopacity:C.LineOpacity,FillColor:H&&H.areafillcolor?H.areafillcolor:C.FillColor,FillOpacity:H&&H.areaopacity?H.areaopacity:C.FillOpacity}};break;case"Polyline":F={DrawTip:E&&E.linetip?E.linetip:null,values:{name:E&&E.linename?E.linename:null},presentation:{Image:H&&H.lineimage?H.lineimage:null,LineColor:H&&H.linecolor?H.linecolor:C.LineColor,LineWidth:H&&H.linewidth?H.linewidth:C.LineWidth,LineType:H&&H.linetype?H.linetype:C.LineType,LineOpacity:H&&H.lineopacity?H.lineopacity:C.LineOpacity}};break}if(F&&H&&H.skipBubble){F.skipBubble=true}return F};t.Map.prototype.AddPoint=function(C){var E=null;if(C&&C.east&&C.north&&C.name){var D=new SR_Geo(C.name||"",C.explanation);D.set_Geometry({type:"Point",coordinates:[C.east,C.north]});if($_isValidUrl(C.url,true)){D.Url=C.url}if(C.image){D.Presentation={Image:C.image}}D.Editable=C.editable===true;E=MySitesDB.Insert(D);this.Trigger(t.Map.EVENT.DRAWINGREADY,D)}return E};t.Map.prototype.AddPolygon=function(C){if(C&&C.coordinates&&C.coordinates.length>=1&&C.coordinates[0].length>=1){return this.addPath(C,"Polygon")}return null};t.Map.prototype.AddPolyline=function(C){if(C&&C.coordinates&&C.coordinates.length>=2){return this.addPath(C,"LineString")}return null};t.Map.prototype.addPath=function(D,C){var E=new SR_Geo(D.name||"",D.explanation);E.set_Geometry({type:C,coordinates:D.coordinates});if(D.url){E.Url=$_tryGetValidUrl(D.url,true)}if(D.presentation){E.Presentation=D.presentation}E.Editable=D.editable===true;if(D.CanDelete===true){E.setCanDelete(true)}E.set_Dirty(TXWConst.EDITSTATE_ALL);var F=MySitesDB.Insert(E);this.Trigger(t.Map.EVENT.DRAWINGREADY,E);return F};t.Map.prototype.Delete=function(E,C){var D=$_DBDelete(OBJ_MYSITES,E);if(D&&C){this.Flush()}return D};t.Map.prototype.SetWheelTimeOut=function(C){options.wheelTimeOut=C;this.refreshWheelTimeout()};t.Map.prototype.refreshWheelTimeout=function(){return};t.Map.prototype.DoSearch=function(F,C,E,D){this.Search({searchtext:F,category:C,municipality:E,currentarea:D})};t.Map.prototype.Search=function(F){function C(){if(typeof F.onComplete==="function"){F.onComplete()}}var E=actionUrl("Search");if(F){var H=F.category;var I=F.searchtext;if(I){if(H&&(typeof H==="string"||H.length>0)){E+="?Op=ext&Name="+encodeURIComponent(I);if(typeof H==="string"){E+="&cidname="+encodeURIComponent(H)}else{if(H.length>0){for(var G=0;G<H.length;G++){E+="&cidname="+encodeURIComponent(H[G])}}}}else{E+="?Op=all&Name="+encodeURIComponent(I)}if(F.municipality){E+="&Municipality="+encodeURIComponent(F.municipality)}E+="&IsExact=true";if(F.currentarea){E+=n.teklaMap._GetAreaString()}var D=this;D.Trigger(t.Map.EVENT.LOADSTARTED);jQuery.ajax({async:true,type:"GET",url:E,dataType:t.utility.isSameOrigin(E)?"text":"jsonp",success:function(J){if(J&&J!==" "){if(typeof J==="string"){J=$_EVALJSON(J)}SearchDB.Clear();$_layerDisplayResults(SearchDB,J,LIST_NO);var K=SearchDB.Count(true);D.Trigger(t.Map.EVENT.SEARCHREADY,{result:J,count:K});if(K===0){$_internalUpdateDatabaseTypes(true)}}if(typeof F.onSuccess==="function"){F.onSuccess(J)}},complete:function(){D.Trigger(t.Map.EVENT.LOADREADY);C()}})}else{C()}}};t.Map.prototype.SetNearestAddressForDrawings=function(C){var E=this;function D(G,H){if(G&&G.status){if(H){H.StreetAddress=G.address}E.Trigger(t.Map.EVENT.NEARESTADDRESS,G.address+" ("+TGMap.Measure.formatDistance(G.distance)+")")}}function F(H){if(E.nearestAddressForDrawings===true){if(H&&H.get_CenterPoint){var G=H.get_CenterPoint();if(G){E.FindNearestAddress(G.y,G.x,function(I){D(I,H)})}}}}if(E.nearestAddressForDrawings===undefined){if(C===true){E.Bind(t.Map.EVENT.DRAWINGGEOMETRYCHANGED,function(G,H,I){F(I)});E.Bind(t.Map.EVENT.DRAWINGREADY,function(G,H){F(H)});E.nearestAddressForDrawings=C}}else{E.nearestAddressForDrawings=C}};t.Map.prototype.FindNearestAddress=function(F,E,C){if(F&&E&&C){var D=actionUrl("Search")+"?Op=findnearestaddress&n="+F+"&e="+E;jQuery.ajax({async:true,type:"GET",dataType:t.utility.isSameOrigin(D)?"json":"jsonp",url:D,success:function(G){if(C){C(G)}}})}};t.Map.prototype.SetLayerVisible=function(C,E,D){if(!this.isInited){return}if(D){Tekla.ThreeDMapLayers.setselected(C,E!==false)}else{Tekla.Layers.setselected(C,E!==false)}};t.Map.prototype.HideAllLayers=function(){if(!this.isInited){return}var D=Tekla.Layers.getselected();if(D&&D.length>0){for(var C=0;C<D.length;C++){Tekla.Layers.setselected(D[C],false)}}};t.Map.prototype.ZoomToDrawing=function(E){if(Array.isArray(E)){var C={};C.items=E;$_zoomToDBExtents(C)}else{if(E&&E.Geometry){$_ZoomToObject(E)}else{var D=$_DBSelect(OBJ_MYSITES,E);if(D){$_ZoomToObject(D)}}}};t.Map.prototype.ShowDrawing=function(C){var D=null;if(C&&C.Geometry){D=C}else{D=$_DBSelect(OBJ_MYSITES,C)}if(D){$_ZoomToObject(D);Tekla.MapBubble.show(OBJ_MYSITES,D)}};t.Map.prototype.HighlightDrawing=function(C){if(C.referenceid){var D=MySitesDB.FindByReferenceId(C.referenceid);if(D){D.HighLight(TXWConst.MYSITES,C.presentation)}}};t.Map.prototype.RemoveHighlights=function(){HLDB.RemoveAll()};t.Map.prototype.ZoomToObject=function(C){this.ZoomToDrawing(C)};t.Map.prototype.FetchDrawing=function(C){return this.FetchObject(C)};t.Map.prototype.FetchObject=function(C){if(jQuery.isObject(C)){return C}else{return $_DBSelect(OBJ_MYSITES,C)}};t.Map.prototype.FetchDrawingByReferenceId=function(C){var D=null;if(C){D=MySitesDB.FindByReferenceId(C)}return D};t.Map.prototype.RegisterEventHandler=function(C){this.Bind(t.Map.EVENT.ALL,C)};t.Map.prototype.AddEditButtons=function(D,F){var E=D?D.buttontypes:null;var C=this;if(!E||(E&1)){C.AddControl({drawpoint:{tip:F?F.pointbuttontip:null,data:C.convertToDrawData(D,F,"Point")}})}if(!E||(E&2)){C.AddControl({drawpolyline:{tip:F?F.linebuttontip:null,data:C.convertToDrawData(D,F,"Polyline")}})}if(!E||(E&4)){C.AddControl({drawpolygon:{tip:F?F.areabuttontip:null,data:C.convertToDrawData(D,F,"Polygon")}})}};t.Map.prototype.GetDrawingsListAsHTML=function(G,E){var F=0;var I=jQuery('<div class="myobjects"></div>');var D=jQuery('<ul class="myobject-list"></ul>').appendTo(I);if(typeof E!=="function"){var J=E;E=function(K){return K.Editable||J===true}}for(var C=0;C<MySitesDB.items.length;C++){var H=MySitesDB.items[C];if(H&&H.Name&&E(H)&&H.__id!==n.$_filterSingleton){D.append(Tekla.MyObjects.renderMapObjectLI(H,OBJ_MYSITES,false,n.options.texts,G?G(H):null));F++}}return{count:F,html:I}};t.Map.prototype.MySitesHtml=function(D,C){return this.GetDrawingsListAsHTML(D,C)};t.Map.prototype.GetSelectedObjectId=function(){return $_GetSelection()};function l(C){var D=null;if(C&&(C.provider||C.provider==="")){D="provider="+encodeURIComponent(C.provider);if(C.params){for(var E in C.params){if(C.params.hasOwnProperty(E)){D+="&"+encodeURIComponent(E)+"="+encodeURIComponent(C.params[E])}}}}return D}t.Map.prototype.AddProviderLayer=function(D){var C=this;function F(H){var G=l(H);if(G){C.AddGlobalLayer(G,H.maxLevel)}}if(jQuery.isArray(D)){for(var E=0;E<D.length;E++){F(D[E])}}else{F(D)}};t.Map.prototype.RemoveProviderLayer=function(C){var D=l(C);if(D){this.RemoveGlobalLayer(D)}};t.Map.prototype.AddGeometry=function(I,H,F){var E=MySitesDB;var D=null;if(H){E=$_GetDBByIndex(H)}if(F){D=E.GetPermanentItems();E.Clear(true)}Tekla.MapBubble.hideAll(false,$_GetIndexByDB(E));this.BeginGuiTrans();$_layerGeoJSONDisplayResults(E,I,null);if(F&&D){var C=n.$_filterSingleton;for(var G=0;G<D.length;G++){if(C&&D[G].__id==n.$_filterSingleton){n.$_filterSingleton=E.Insert(D[G]);C=undefined}else{E.Insert(D[G])}}}this.NeedLayerRedraw();this.EndGuiTrans();if(n.teklaMap3&&n.Tekla.ThreeD){E.SetThreeDItemEditability(false);n.Tekla.ThreeD.addMarkUps(MySitesDB)}};t.Map.prototype.$_ToGeomObj=function(C){return this.$_ToGeomObjAttrs(C,{Attributes:["Name","Explanation","Url","ReferenceId","StreetAddress","Geometry"]})};t.Map.prototype.$_ToGeomObjAttrs=function(H,E){function G(M,N){if(M.Geometry){N.geometry=M.Geometry}else{if(M.PointArray){N.geometry={};N.geometry.type=(M.get_Filled())?"Polygon":"LineString";N.geometry.coordinates=[];var K=N.geometry.coordinates;if(M.get_Filled()){N.geometry.coordinates[0]=[];K=N.geometry.coordinates[0]}for(var J=0;J<M.PointArray.length;J++){K[J]=[];K[J][0]=M.PointArray[J].east;K[J][1]=M.PointArray[J].south}}else{N.geometry={};N.geometry.type="Point";N.geometry.coordinates=[];N.geometry.coordinates[0]=M.East;N.geometry.coordinates[1]=M.North}}}if(H){var I={};var D;if(E&&E.Attributes&&E.Attributes.length>0){for(D=0;D<E.Attributes.length;D++){var F=E.Attributes[D];if(F=="Geometry"){G(H,I)}else{if(F=="Presentation"){if(H.Presentation){I.Presentation=H.Presentation}}else{if(H.hasOwnProperty(F)){I[F]=H[F]}}}}}if(E&&E.Extra&&E.Extra.length>0){for(D=0;D<E.Extra.length;D++){var C=E.Extra[D];I[C.key]=C.value}}return I}return null};t.Map.prototype.StartPolygonSelect=function(C){this.ClearSelectorPolygon();C=C||{};C.singleton=true;C.skipBubble=C.SkipForm===true||C.skipBubble===true;this.drawPath(true,C)};t.Map.prototype.GetSelectorPolygon=function(){this.EndDraw();if(n.$_filterSingleton){var C=$_DBSelect(OBJ_MYSITES,n.$_filterSingleton);return this.$_ToGeomObj(C)}return null};t.Map.prototype.SetSelectorPolygon=function(C){this.ClearSelectorPolygon();if(!C){return}var D=new SR_Geo(C.Name,C.Explanation);D.set_Geometry(C.geometry);D.set_Presentation(C.presentation);D.Editable=D.editable=C.Editable===true;D.skipBubble=C.SkipForm===true||C.skipBubble===true;D.singleton=true;D.Permanent=C.Permanent===true;D.NoCluster=C.NoCluster===true;n.$_filterSingleton=MySitesDB.Insert(D);this.Flush();return n.$_filterSingleton};t.Map.prototype.ClearSelectorPolygon=function(){if(n.$_filterSingleton){this.Delete(n.$_filterSingleton,true);n.$_filterSingleton=null}};t.Map.prototype.AddGlobalLayer=function(D,C){Tekla.Layers.addgloballayer(D,true,C)};t.Map.prototype.AddGlobalLayers=function(C){Tekla.Layers.addgloballayers(C)};t.Map.prototype.RemoveGlobalLayer=function(C){Tekla.Layers.removegloballayer(C);n.teklaMap._UpdateMapPosition()};t.Map.prototype.CopySearchResult=function(C,D){SearchDB.CopyObjectsToDB(MySitesDB,D);if(C){SearchDB.Clear()}n.teklaMap._UpdateMapPosition()};t.Map.prototype.ClearSearchResults=function(){SearchDB.Clear();n.teklaMap._UpdateMapPosition()};t.Map.prototype.EnableCopyingOfDrawing=function(C){if(n.Tekla.MapBubble){n.Tekla.MapBubble.enableCopyingOfDrawings=true}if(C){options.texts.cl_addToOwnObjects=C}};t.Map.prototype.Resize=function(D){var C=this;L.Util.requestAnimFrame(C.invalidateSize,C,!1,C._container)};t.Map.prototype.SetCategotyLayerMax=function(C){try{options.mapData.settings.CatLayerMax=C}catch(D){}};t.Map.prototype.ShowAll=function(){$_zoomToDBExtents(MySitesDB)};t.Map.prototype.Trigger=function(E){var G=null;if(this.eventHandlers){var C=this.eventHandlers[E];var F=0;if(C&&C.length>0){for(F=0;F<C.length;F++){var D=C[F].apply(this,arguments);if(D){if(!G){G=D}else{G=jQuery.merge(G,D)}}}}C=this.eventHandlers[t.Map.EVENT.ALL];if(C&&C.length>0){for(F=0;F<C.length;F++){var D=C[F].apply(this,arguments);if(D){if(!G){G=D}else{G=jQuery.merge(G,D)}}}}}return G};t.Map.prototype.Bind=function(D,F){var C=this;function E(H,I){var G=C.eventHandlers[H];if(!G){G=[]}G.push(I);C.eventHandlers[H]=G}if(D&&typeof F==="function"){if(D===t.Map.EVENT.DRAWINGALL){C.Bind([t.Map.EVENT.DRAWINGGEOMETRYCHANGED,t.Map.EVENT.DRAWINGPROPERTIESCHANGED,t.Map.EVENT.DRAWINGPRESENTATIONCHANGED,t.Map.EVENT.DRAWINGDELETED,t.Map.EVENT.DRAWINGREADY,t.Map.EVENT.EXTERNALDELETEREQUESTED,t.Map.EVENT.SELECTIONCHANGED],F)}else{if(jQuery.isArray(D)){jQuery(D).each(function(){E(this,F)})}else{E(D,F)}}}};t.Map.prototype.ProviderAction=function(D,C){providerAction(D,C)};t.Map.CONTROLCONTAINER={TOPLEFT:"topleft",TOPRIGHT:"topright",BOTTOMLEFT:"bottomleft",BOTTOMRIGHT:"bottomright"};function x(C,D){this.name=C;this.map=D;this.columns=[]}x.prototype.AddControl=function(E){var C=this.getColumn(E.column);var D=E.GetElement();if(D&&C){var F=this.getControlDimensions(C.controls);if(this.name===t.Map.CONTROLCONTAINER.BOTTOMLEFT||this.name===t.Map.CONTROLCONTAINER.BOTTOMRIGHT){D.style.bottom=(F.height+(E.margin?E.margin.bottom||0:0))+"px"}else{D.style.top=(F.height+(E.margin?E.margin.top||0:0))+"px"}if(this.name===t.Map.CONTROLCONTAINER.TOPRIGHT||this.name===t.Map.CONTROLCONTAINER.BOTTOMRIGHT){D.style.right="0";D.style.right=(E.margin?E.margin.right||0:0)+"px"}C.container.appendChild(D);C.controls.push(E)}};x.prototype.SetOffsets=function(C){if(C){this.getColumn(1);if(!isNaN(C.top)){this.control.style.top=C.top+"px"}if(!isNaN(C.left)){this.control.style.left=C.left+"px"}}};x.prototype.RemoveControl=function(H,E){var G=this.columns;if(G){for(var I in G){if(G.hasOwnProperty(I)&&G[I]){for(var D=0;D<G[I].controls.length;D++){var C=G[I].controls[D];if(C&&(!E||E===C.type)&&(!H.id||H.id===C.id)){var F=C.GetElement();jQuery(F).remove();delete G[I].controls[D]}}}}this.update()}};x.prototype.update=function(){var E=this.columns;for(var D=0;D<E.length;D++){if(E[D]){var C=E[D].controls;E[D].controls=[];for(var F=0;F<C.length;F++){if(C[F]){E[D].container.removeChild(C[F].GetElement(true));this.AddControl(C[F])}}}}};x.prototype.getColumn=function(C){if(!this.control){var D=v.createElement("div");D.style.position="absolute";if(this.name===t.Map.CONTROLCONTAINER.TOPRIGHT||this.name===t.Map.CONTROLCONTAINER.BOTTOMRIGHT){D.style.right="5px"}else{D.style.left="5px"}if(this.name===t.Map.CONTROLCONTAINER.BOTTOMLEFT||this.name===t.Map.CONTROLCONTAINER.BOTTOMRIGHT){D.style.bottom="2px"}else{D.style.top="5px"}D.style.zIndex="7222";D.style.background="transparent";D.style.width="100%";this.control=D;this.map._AttachControl(this.control)}C=C||1;if(!this.columns[C]){var D=v.createElement("div");D.style.position="absolute";if(this.name===t.Map.CONTROLCONTAINER.TOPRIGHT||this.name===t.Map.CONTROLCONTAINER.BOTTOMRIGHT){if(C==1){D.style.right="0"}else{D.style.right=(32*(C-1))+"px"}}else{if(C==1){D.style.left="0"}else{D.style.left=(32*(C-1))+"px"}}if(this.name===t.Map.CONTROLCONTAINER.BOTTOMLEFT||this.name===t.Map.CONTROLCONTAINER.BOTTOMRIGHT){D.style.bottom="0"}else{D.style.top="0"}D.style.zIndex="1";D.style.background="transparent";D.style.width="100%";this.columns[C]={container:D,controls:[]};this.control.appendChild(D)}return this.columns[C]};x.prototype.getControlDimensions=function(D){var E={height:0};for(var C=0;C<D.length;C++){if(D[C].height){E.height+=D[C].height}else{if(D[C].control){E.height+=jQuery(D[C].control).outerHeight()||26}}if(D[C].margin){E.height+=(D[C].margin.bottom||0)+(D[C].margin.top||0)}}return E};function i(C,E){var D={location:t.Map.CONTROLCONTAINER.TOPRIGHT,MaximizeTip:GetText("maximizeMapSizeTip")||"",RestoreTip:GetText("restoreMapSizeTip")||"",margin:{right:0,top:0}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.TOPRIGHT;this.map=E;this.type="mapsize";this.margin=F.margin}i.prototype.ensureElement=function(){var D=this;var E=D.options;if(!D.control){var C=v.createElement("a");if(E&&E.MaximizeTip){C.title=E.MaximizeTip}C.className="disable-map-events icon-ims icon-minmaxmap";C.style.position="absolute";C.style.cursor="pointer";C.onclick=function(F){cancelEventPropagation(F);D.map.ToggleMapSize();return false};D.control=C}};i.prototype.GetElement=function(){var C=this;var D=C.options;C.ensureElement();C.map.Bind(t.Map.EVENT.MAPSIZERESTORED,function(){if(D&&D.MaximizeTip){C.control.title=D.MaximizeTip}jQuery(C.control).removeClass("maxed")});C.map.Bind(t.Map.EVENT.MAPSIZEMAXIMIZED,function(){if(D&&D.RestoreTip){C.control.title=D.RestoreTip}jQuery(C.control).addClass("maxed")});return C.control};function b(C,E){var D={location:t.Map.CONTROLCONTAINER.BOTTOMLEFT,margin:{bottom:4}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.BOTTOMLEFT;this.type="scale";this.map=E;this.margin=F.margin;if(F.control){this.ensureElement(F.control);this.location=undefined}}b.prototype.ensureElement=function(E){if(!this.control){if(E){self.control=E}else{this.control=v.createElement("div");this.control.style.position="absolute";this.control.className="map-scale";var C=v.createElement("div");C.id="scalebar";C.className="map-ruler";var D=this.textSpan=v.createElement("span");D.id="scaletext";this.control.appendChild(D);this.control.appendChild(C)}}};b.prototype.GetElement=function(){this.ensureElement();return this.control};function A(D,C){if(D&&C){D.onclick=function(E){if(E){E.preventDefault()}C(E)}}}function j(H,G,I,F,D,C){var E=v.createElement("a");E.className="disable-map-events icon-ims icon-navi "+G;E.style.position="absolute";E.style.left=H+"px";E.href="#";if(D){E.style.width=D+"px"}if(C){E.style.height=C+"px"}if(I){E.title=I;E.setAttribute("aria-label",I)}A(E,F);return E}function q(C,E){var D={location:t.Map.CONTROLCONTAINER.TOPLEFT,margin:{bottom:5}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.TOPLEFT;this.type="measure";this.map=E;this.margin=F.margin;if(F.control){this.ensureElement(F.control);this.location=undefined}}q.prototype.GetElement=function(){this.ensureElement();return this.control};q.prototype.ensureElement=function(E){var C=this;if(!C.control){var F=this.options;var D=function(G){cancelEventPropagation(G);startMeter()};if(E){C.control=E;A(C.control,D)}else{C.control=j(0,"icon-measure",GetText("cl_measureDistance"),D)}}};function e(D,C,F){var E={location:t.Map.CONTROLCONTAINER.TOPLEFT,margin:{bottom:5}};var G=this.options=jQuery.extend(true,{},E,C||{});this.location=G.location||t.Map.CONTROLCONTAINER.TOPLEFT;this.margin=G.margin;this.type=D;this.map=F;if(G.control){this.ensureElement(null,G.control);this.location=undefined}}e.prototype.GetElement=function(){this.ensureElement();return this.control};e.prototype.ensureElement=function(D,F){var C=this;if(!C.control){if(C.type==="zoomin"){var E=function(G){cancelEventPropagation(G);if(C.map._getIsThreeDMode()){}else{C.map.ZoomIn()}};if(F){C.control=F;A(C.control,E)}else{C.control=j(0,"icon-zoomin",GetText("cl_zoomIn"),E)}}else{if(C.type==="zoomout"){var E=function(G){cancelEventPropagation(G);if(C.map._getIsThreeDMode()){}else{C.map.ZoomOut()}};if(F){C.control=F;A(C.control,E)}else{C.control=j(0,"icon-zoomout",GetText("cl_zoomOut"),E)}}}}};function p(C,E){var D={location:t.Map.CONTROLCONTAINER.TOPLEFT,margin:{bottom:5}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.TOPLEFT;this.margin=F.margin;this.type="layers";this.map=E;if(F.control){this.ensureElement(F.control);this.location=undefined;this.wrapper=jQuery("body")}}p.prototype.GetElement=function(){this.ensureElement();return this.control};p.prototype.ensureElement=function(E){var C=this;if(!C.control){var D=function(F){cancelEventPropagation(F);jQuery("#layerTreeContainer").toggle("slide",{direction:"left"},400);if(n.Tekla.MapLayers){Tekla.MapLayers.update()}return false};jQuery("#layerTreeClose").bind("click",function(F){jQuery("#layerTreeContainer").hide("slide",{direction:"left"},400)});if(E){C.control=E;A(C.control,D)}else{C.control=j(0,"icon-layers",GetText("menu"),D)}}};function a(C,E){var D={location:t.Map.CONTROLCONTAINER.TOPLEFT,margin:{bottom:5}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.TOPLEFT;this.margin=F.margin;this.type="geolocation";this.map=E;if(F.control){this.ensureElement(F.control);this.location=undefined;this.wrapper=jQuery("body")}}a.prototype.GetElement=function(){this.ensureElement();return this.control};a.prototype.ensureElement=function(E){var C=this;if(!C.control){if(navigator.geolocation){var D=function(F){cancelEventPropagation(F);C.toggleGeoLocation();return false};if(E){C.control=E;A(C.control,D)}else{C.control=j(0,"icon-geolocation",GetText("geoLocationTip"),D)}}}};a.prototype.toggleGeoLocation=function(){var C=this;$wrapper=C.wrapper||jQuery(C.map.md);if(!$wrapper.hasClass("geolocation-loading")){$wrapper.addClass("geolocation-loading");$ctrl=jQuery(C.control);var D=$ctrl.data("geolocation-state");TGMap.geolocation.setstate(D,C.map,function(F,G){$ctrl.data("geolocation-state",F);$wrapper.removeClass("geolocation-active geolocation-loading geolocation-inaccurate geolocation-outofbounds geolocation-map-follow");$ctrl.attr("title",GetText("geoLocationTip"));if(F){var E=F.accuracy>0?" ("+GetText("geoLocationAccuracy")+": "+F.accuracy+"m)":"";if(F.status==="ok-map-follow"){$wrapper.addClass("geolocation-active geolocation-map-follow");$ctrl.attr("title",GetText("geoLocationTip")+E)}else{if(F.status==="ok"){$wrapper.addClass("geolocation-active");$ctrl.attr("title",GetText("geoLocationTip")+E)}else{if(F.status==="ok-inaccurate"){$wrapper.addClass("geolocation-inaccurate");$ctrl.attr("title",GetText("geoLocationInaccurateTip")+E)}else{if(F.status==="outofbounds"){$wrapper.addClass("geolocation-outofbounds");$ctrl.attr("title",GetText("geoLocationOutOfBoundsTip"))}}}}if(C.options.appCb){C.options.appCb(F,G)}}},options.istouch)}};function k(C,E){var D={margin:{top:0,bottom:5},location:t.Map.CONTROLCONTAINER.TOPLEFT,column:2};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.TOPLEFT;this.column=F.column||2;this.buttons=[];this.map=E;this.type="basemapswitcher";this.margin=F.margin;if(F.control){this.location=undefined;this.ensureElement(null,F.control,F.threedcontrol)}}k.prototype.ensureElement=function(H,G,D){var C=this.options;var K=this;var I=Tekla.BaseMaps.getall(true);var E=Tekla.BaseMaps.getThreeDAll();function J(V,O){if(V!=null){var N={};var R=false;if(typeof V==="string"&&V){N.baseMapName=V}else{if(V.basemap){N.baseMapName=V.basemap;N.name=V.name;N.label=V.label;N.layers=V.layers;R=true}}if(N.baseMapName){var M=O?E:I;for(var P=0;!N.baseMap&&P<M.length;P++){if(M[P].name===N.baseMapName){N.basemap=M[P]}}if(N.basemap){if(!N.label){N.label=N.basemap.label||N.basemap.name}if(!N.name){N.name=N.basemap.name}var U=v.createElement("li");U.threed=O;if(N.basemap.cssClass){U.className=N.basemap.cssClass}if(!K.selectedSet){U.className+=" selected";K.selectedSet=true}if(R===true){K.map.AddCustomBaseMap(N)}var S=v.createElement("a");S.innerHTML='<span class="preview"></span><span class="label">'+N.label+"</span>";S.href="#";S.onclick=function(W,X){return function(Y){cancelEventPropagation(Y);K.map.SetBaseMap(X.name);if(typeof C.onchange==="function"){C.onchange()}return false}}(U,N);U.appendChild(S);if(options.basemapmetacb){var Q=n.Tekla.BaseMaps.getType(N.basemap.name,O);if(Q&&(Q.hasmetadata||Q.maplegendpath)){var T=v.createElement("a");T.innerHTML+='<a class="meta"><span title="'+GetText("showAddInfoTip")+'" class="toolbar-icon24 toolbar-info24"></span></a>';T.onclick=function(W,X){return function(Y){cancelEventPropagation(Y);options.basemapmetacb(X.name);return false}}(U,N);U.appendChild(T)}}K.buttons[N.name]=U;if(U){if(O&&K.threedcontrol){K.threedcontrol.appendChild(U)}else{K.control.appendChild(U)}}}}}}if(!K.control){K.threedcontrol=D;if(I&&I.length>0){if(G){K.control=G}else{K.control=v.createElement("ul");K.control.id="basemap-switcher";K.control.className="disable-map-events basemap-switcher";K.control.style.zIndex=7222}}K.map.Bind(t.Map.EVENT.BASEMAPCHANGED,function(N,O){for(var P in K.buttons){jQuery(K.buttons[P]).removeClass("selected")}var M=K.buttons[O];if(M){K.map._setThreeDMode(M.threed)}if(!K.buttons[O]){J(O)}if(K.buttons[O]){jQuery(K.buttons[O]).addClass("selected")}if(Tekla.MapLink){Tekla.MapLink.update()}})}if(K.newOptions!==true&&K.control){if(C.preserveDefaultOrder===true||!C.basemaps){for(var F=0;F<I.length;F++){if((!C.basemaps&&I[F].usage!=="navimap")||(C.basemaps&&C.basemaps.indexOf(I[F].name)>=0)){J(I[F].name)}}}if(C.preserveDefaultOrder===true||!C.basemaps){for(var F=0;F<E.length;F++){if(!C.basemaps||(C.basemaps&&C.basemaps.indexOf(E[F].name)>=0)){J(E[F].name,true)}}}if(C.basemaps){for(var F=0;F<C.basemaps.length;F++){if(C.preserveDefaultOrder!==true||typeof C.basemaps[F]!=="string"){J(C.basemaps[F])}}}if(g.contextMenu){g.contextMenu({selector:".threed-switcher li.selected",callback:function(){n.Tekla.BaseMaps.fitToActive()},items:{fit:{name:GetText("zoomTo")}}});g.contextMenu({selector:"#menu-threedlayer-selector li span.dynatree-selected a",callback:function(){var M=g(this).text();n.Tekla.ThreeDMapLayers.fitToLayer(M)},items:{fit:{name:GetText("zoomTo")}}})}K.newOptions=true}};k.prototype.GetElement=function(){this.ensureElement();return this.control};k.prototype.SetOptions=function(C){this.newOptions=true;this.options=jQuery.extend(this.options,C||{});this.ensureElement()};function w(C,D,F){var E={location:t.Map.CONTROLCONTAINER.TOPLEFT,savePreviousDrawing:true,margin:{top:0,bottom:5},cssClass:null};this.gType=C;switch(C){case"Polygon":this.type="drawpolygon";break;case"Polyline":this.type="drawpolyline";break;case"Point":this.type="drawpoint";break}var G=this.options=jQuery.extend(true,E,D||{});this.location=G.location||t.Map.CONTROLCONTAINER.TOPLEFT;this.id=G.id;this.map=F;this.margin=G.margin}w.prototype.GetElement=function(){this.ensureElement();return this.control};w.prototype.ensureElement=function(){var C=this;function F(K,J,M,I){var H=v.createElement("a");H.className="disable-map-events icon-ims icon-tool "+J;var G=C.options.cssClass;if(G){H.className+=" "+G}H.style.position="absolute";H.style.left=K+"px";H.href="#";if(M){H.title=M}if(I){H.onclick=function(N){if(N){N.preventDefault()}I(N)}}return H}if(!C.control){var E=C.options;var D=C.map;switch(C.gType){case"Point":C.control=F(0,"icon-drawpoint",E.tip,function(G){cancelEventPropagation(G);if(E.savePreviousDrawing===true){D.EndDraw()}if(D._getIsThreeDMode()){if(n.Tekla.ThreeD){n.Tekla.ThreeD.setActiveTool("textMarkup")}return false}D.DrawPoint(E.data);return false});break;case"Polyline":C.control=F(0,"icon-drawpolyline",E.tip,function(G){cancelEventPropagation(G);if(E.savePreviousDrawing===true){D.EndDraw()}D.DrawPolyline(E.data);return false});break;case"Polygon":C.control=F(0,"icon-drawpolygon",E.tip,function(G){cancelEventPropagation(G);if(E.savePreviousDrawing===true){D.EndDraw()}D.DrawPolygon(E.data);return false});break;case"Rectangle":C.control=F(0,"icon-drawrectangle",E.tip,function(G){cancelEventPropagation(G);if(E.savePreviousDrawing===true){D.EndDraw()}if(E.data&&E.data.singleDrawing&&L_MYSITESLAYER){L_MYSITESLAYER.clearLayers();MySitesDB.Clear(true)}D.DrawRectangle(E.data);return false});break}}};function s(C,E){var D={location:t.Map.CONTROLCONTAINER.TOPLEFT,column:2,tooltipText:"",placeholderText:"",toggleSpeed:200,toggleTimeout:500,categories:[],margin:{left:5,top:0}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.TOPLEFT;this.column=F.column||1;this.map=E;this.margin=F.margin;this.type="search"}s.prototype.GetElement=function(){this.ensureElement();return this.control};s.prototype.ensureElement=function(){function F(){if(C){clearTimeout(C)}C=setTimeout(function(){D.hide(I.toggleSpeed||200)},I.toggleTimeout);G=false}var E=this;var I=E.options;var G=false;if(!E.control){if(E.map){var H=jQuery('<form action="#"><div class="tekla-ims-search" title="'+(I.tooltipText||"")+'"><input type="text" placeholder="'+(I.placeholderText||"")+'" class="search-box" aria-label="'+(I.tooltipText||"")+'" style="display:none"></input><input type="submit" class="icon-ims icon-search" value="" aria-label="'+(I.tooltipText||"")+'"></input></div></form>');var C=null;var D=H.find(".search-box");if(I.toggleTimeout>0){H.mouseenter(function(){G=false;if(C){clearTimeout(C)}D.show(I.toggleSpeed||200).focus()}).mouseleave(function(){if(!D.is(":focus")){F()}else{G=true}});D.blur(function(){if(G==true){F()}})}H.submit(function(){var J=jQuery(E.control);J.addClass("loading");J.find(":input").prop("disabled",true);E.map.Search({searchtext:D.val(),category:I.categories,onComplete:function(){J.removeClass("loading");J.find(":input").prop("disabled",false)}});return false});if(jQuery.fn.placeholder){D.placeholder()}E.control=H[0];E.control.style.position="absolute"}}};function f(C,E){var D={location:t.Map.CONTROLCONTAINER.TOPLEFT,tooltipText:"",margin:{top:0,bottom:5}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.TOPLEFT;this.column=F.column||1;this.map=E;this.margin=F.margin;this.type="importkml"}f.prototype.GetElement=function(){this.ensureElement();return this.control};function o(F,E){for(var D=0;D<F.length;D++){var G=F[D].type;var C=false;if(E==="LineString"&&(G==="Line"||G==="LineWithWidth")){C=true}else{if(E==="Point"&&G==="Point"){C=true}else{if(E==="Polygon"&&G==="Area"){C=true}}}if(C){return F[D].data}}return null}f.prototype.ensureElement=function(){var E=this;var I=E.options;var F=false;if(!E.control){if(E.map){var H=jQuery('<form action="#" enctype="multipart/form-data"><a title="'+(I.tooltipText||"")+'" id="ims-import-kml" style="position: relative; overflow: hidden;" class="icon-ims icon-tool icon-importkml" href="#"></a></form>');var C=null;var D=H.find("#ims-import-kml");var G=new qq.FileUploaderBasic({button:D[0],action:actionUrl("Import","ImportKml"),multiple:false,allowedExtensions:["kml"],messages:{typeError:I.messages.typeError,sizeError:I.messages.sizeError,fileExistsError:I.messages.fileExistsError,minSizeError:"{file} is too small, minimum file size is {minSizeLimit}.",emptyError:"{file} is empty, please select files again without it.",noFilesError:"No files to upload.",onLeave:"The files are being uploaded, if you leave now the upload will be cancelled."},onComplete:function(J,M,K){if(K&&K.errorMessage){alert(K.errorMessage);return}var S=$_EVALJSON(K);var Q=null;if(S!=null&&S.geoJSON&&S.geoJSON.length>0){for(var P=0;P<S.geoJSON.length;P++){var R=S.geoJSON[P];var O=o(I.kmlpres,R.geometry.type);if(O!=null){var N=new SR_Geo(O.values.name,R.explanation);N.MyOType=O.myotype;N.set_Dirty(TXWConst.EDITSTATE_ALL);N.Editable=true;N.mapbubble={editable:O.editable,visible:O.visible};N.Geometry=R.geometry;N.Presentation=O.presentation;var J=MySitesDB.Insert(N);$_CallEventHandler(t.Map.EVENT.BUBBLECOMMIT,"create",N,O.values);Q=N}}n.teklaMap.RedrawLayers();$_CallEventHandler(t.Map.EVENT.DRAWINGREADY,N);if(Q){$_ZoomToObject(Q)}}},params:{types:I.types||"",maxCount:I.maxcount||0}});E.control=H[0];E.control.style.position="absolute"}}};function d(C,E){var D={location:t.Map.CONTROLCONTAINER.BOTTOMRIGHT,column:1,margin:{top:0,bottom:5}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.BOTTOMRIGHT;this.column=F.column||1;this.map=E;this.type="loadingindicator";this.margin=F.margin}d.prototype.GetElement=function(){this.ensureElement();return this.control};d.prototype.ensureElement=function(){var C=this;if(!C.control){if(C.map){var D=jQuery('<div style="position:absolute" class="loader-indicator-container"><span style="border:0" class="icon-ims icon-tool loader-indicator"></span></div>');C.control=D[0];C.control.style.position="absolute";C.loading=0;C.map.Bind(t.Map.EVENT.LOADSTARTED,function(){C.loading+=1;C.update()});C.map.Bind(t.Map.EVENT.LOADREADY,function(){C.loading-=1;C.update()});C.update()}}};d.prototype.update=function(){var C=this;if(C.loading>0){jQuery(C.control).show()}else{jQuery(C.control).hide()}};function z(C,E){var D={location:t.Map.CONTROLCONTAINER.BOTTOMLEFT,column:1,margin:{top:0,bottom:-1}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.BOTTOMRIGHT;this.column=F.column||2;this.map=E;this.type="copyright";this.margin=F.margin;if(F.control){this.ensureElement(F.control);this.location=undefined}}z.prototype.GetElement=function(){this.ensureElement();return this.control};z.prototype.ensureElement=function(D){var C=this;var E;if(!C.control){if(D){E=C.control=D}else{var E=v.createElement("div");E.id="copy1";E.className="map-copyright";E.innerHTML="&nbsp;";E.style.position="absolute";C.control=E}C.map.Bind(t.Map.EVENT.BASEMAPCHANGED,function(){var F=C.getCopyrightText();E.innerHTML=F;if(F==="&nbsp;"){jQuery(E).hide()}else{jQuery(E).show()}})}};z.prototype.getCopyrightText=function(){var C=Tekla.BaseMaps.activelastupdate();var D=Tekla.BaseMaps.activecopyright();if(C){if(D){D+=". "}D+=C}if(!D){D="&nbsp;"}return D};function B(C,E){var D={location:t.Map.CONTROLCONTAINER.TOPRIGHT,text:GetText("cl_openInNewWindow")||"",openMainIMS:true,margin:{right:45,top:0}};var F=this.options=jQuery.extend(true,{},D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.TOPRIGHT;this.map=E;this.type="openinnewwindow";this.margin=F.margin}B.prototype.ensureElement=function(){var D=this;var E=D.options;if(!D.control){var F=v.createElement("div");F.style.position="absolute";F.style.right="45px";F.className="openinnewwindow";var C=v.createElement("a");C.innerHTML=GetText("cl_openInNewWindow");C.onclick=function(){var G=options.baseURL;G=D.changeQueryString(v.URL);if(E.openMainIMS===true){var I=G.indexOf("?");var H=null;if(I>0){H=G.substr(I)}G=options.appPath+"/"+options.lang+"/map"+(H||"")}n.open(G)};F.appendChild(C);D.control=F}};B.prototype.changeQueryString=function(D){if(D){var I=true;var F=D;var N=D.indexOf("?");if(N>=0){var E=["cp","z","basemap","theme","layers"];var K=D.substr(N+1).split("&");F=D.substr(0,N);for(var H=0;H<K.length;H++){var G=K[H].split("=");if(E.indexOf(G[0].toLowerCase())===-1){F+=I?"?":"&";F+=G[0]+"="+G[1];I=false}}}var C=this.map.GetCenter();var M=this.map.GetZoom();var J=this.map.GetBaseMap();F+=I?"?":"&";F+="basemap="+encodeURIComponent(J);F+="&cp="+C[0]+","+C[1];F+="&z="+M}return F};B.prototype.GetElement=function(){var C=this;var D=C.options;C.ensureElement();return C.control};function y(D,F){var E={percent:100};var C=this;var G=this.options=jQuery.extend(true,{},E,D||{});this.map=F;this.type="namedareasvisualizer";C.updateAreas()}y.prototype.updateAreas=function(){var E=this;var D=E.map.GetNamedAreas();if(D&&D.length>0){NamedAreasDB.Clear();var C=null;jQuery(D).each(function(H){var G=this;if(G.north&&G.east&&G.south&&G.west){var F=(Math.abs(G.east-G.west)*Math.abs(G.north-G.south));if(C){C.min=Math.min(C.min,F);C.max=Math.max(C.max,F)}else{C={min:F,max:F}}}});jQuery(D).each(function(H){var G=this;if(G.north&&G.east&&G.south&&G.west){var I=new SR_Geo(G.name||"","");I.set_Geometry({type:"Polygon",coordinates:[[[G.west,G.north],[G.east,G.north],[G.east,G.south],[G.west,G.south],[G.west,G.north]]]});var F={LineColor:"#000000",LineType:"solid",LineWidth:2,LineOpacity:0.6,FillColor:"#ffffff",FillOpacity:0.2};I.set_Presentation(jQuery.extend(F,n.options.presentations.namedarea||{}));I.Editable=false;I.isVisible=function(){var J=get_Center(true);var P=n.teklaMap.GetArea(true);var Q=(P.east-P.west)*0.5;var O=(P.north-P.south)*0.5;var N=(J.e+Q/2);var M=(J.n-O/2);var K=(J.e-Q/2);var R=(J.n+O/2);return Math.abs(P.east-P.west)<Q&&Math.abs(P.north-P.south)<O};I.oninfo=function(){E.map.SetArea(G.north,G.east,G.south,G.west)};NamedAreasDB.Insert(I)}})}};y.prototype.GetElement=function(){return null};y.prototype.SetOptions=function(C){return null};function h(C){this.map=C;this.customBaseMaps={}}h.prototype.SetBaseMap=function(F){var D=this.customBaseMaps[F];var H=F;if(D){H=D.basemap.name}var E=Tekla.BaseMaps.findindex(H);if(E>=0){var C=currentWupp();Tekla.BaseMaps.setactive(E);if(D){map.HideAllLayers();if(D.layers){for(var G=0;G<D.layers.length;G++){map.SetLayerVisible(D.layers[G])}}}n.teklaMap._UpdateMapPosition();var I=Tekla.BaseMaps.get(H);jQuery(this.map.md).css("background-color",I.backgroundColor||"#FFF");this.map.Trigger(t.Map.EVENT.BASEMAPCHANGED,F)}else{if(n.teklaMap3&&n.Tekla.ThreeD){E=Tekla.BaseMaps.findIndexType(H,true);if(E>=0){Tekla.BaseMaps.setActiveThreeD(E);this.map.Trigger(t.Map.EVENT.BASEMAPCHANGED,F)}}}};h.prototype.AddCustomBaseMap=function(C){if(C&&C.name){this.customBaseMaps[C.name]=C}};function c(C,E){var D={location:t.Map.CONTROLCONTAINER.TOPLEFT,margin:{top:0,bottom:5},cssClass:null};var F=this.options=jQuery.extend(true,D,C||{});this.location=F.location||t.Map.CONTROLCONTAINER.TOPLEFT;this.id=F.id;this.map=E;this.margin=F.margin;this.layer=F.layer;if(F.control){this.ensureElement(F.control)}this._loaded=false}c.prototype.GetElement=function(){this.ensureElement();return this.control};c.prototype.ensureElement=function(F){var C=this;if(!C.control){var E=C.map;var D=function(H){cancelEventPropagation(H);if(!C._loaded){var G=options.metadataURL;G=G.replace("_LR_",C.layer);g.getJSON(G,function(K){if(K.LegendType){var J=K.LegendType==="image"?'<img src="'+K.LegendValue+'" />':K.LegendValue;var I=jQuery('<div class="map-legend-container">'+J+"</div>");g(E.md).parent().append(I);C._loaded=true}if(K.Type){}})}else{g(".map-legend-container").toggle()}};if(F){C.control=F;A(C.control,D)}else{C.control=j(0,"icon-map-legend",GetText("mapLegend"),D)}}}}(jQuery,window));(function(e,d){var a=d.document;if(d.tekla&&d.tekla.mapApiOptions){var f=jQuery.extend({drawings:{overrideEmptyName:" ",allowSpecialLinks:["ACP"],editable:["explanation"],visible:["name","explanation"]}},d.tekla.mapApiOptions);var c=a.getElementsByTagName("head");if(c&&c.length>0){var b=a.createElement("link");b.type="text/css";b.rel="stylesheet";b.href=f.styleUri;c[0].appendChild(b)}d.tekla.Map.defaultOptions=jQuery.extend(true,{},d.tekla.Map.defaultOptions,f||{});delete d.tekla.mapApiOptions}}(jQuery,window));
function Browser$ClipBoard(d){var c=d.tagName==="INPUT"||d.tagName==="TEXTAREA";var f=false;if(c){var a,b;var h=d;a=d.selectionStart;b=d.selectionEnd;var i=document.activeElement;h.focus();h.setSelectionRange(0,h.value.length);try{f=document.execCommand("copy")}catch(g){f=false}if(i&&typeof i.focus==="function"){i.focus()}if(c){d.setSelectionRange(a,b)}}return f}function Browser$Email(b,a){var c="mailto:?subject="+$_ENCODE(b)+"&body="+$_ENCODE(b)+"%20"+$_ENCODE(a);if(options.emailUsingWindowOpen){window.open(c,"email")}else{window.location=c}}function $_scanForm(a){var k=new StringBuilder("");for(var d=0;d<a.length;d++){var f=a[d];var c="";if(!String.IsPrintable(f.name)){continue}switch(f.type.toLowerCase()){case"submit":case"hidden":case"password":case"text":case"textarea":c="&"+f.name+"="+$_ENCODE(f.value);break;case"checkbox":case"radio":if(f.checked){c="&"+f.name+"="+f.value}break;case"select-one":var j=f.selectedIndex;if(j>=0){var g=f.options[j];c="&"+f.name+"="+g.value}break;case"select-multiple":for(var h=0;h<f.length;h++){var b=f.options[h];if(b.selected){c+="&"+f.name+"="+b.value}}break;case"button":c="&"+f.name+"="+f.value;break;default:alert("Unknown type: "+type)}k.Append(c)}return k.ToString()}function $_clearForm(d){for(var b=0;b<d.length;b++){var a=d[b];if(!String.IsPrintable(a.name)){continue}switch(a.type.toLowerCase()){case"submit":case"hidden":case"password":case"text":case"textarea":a.value="";break;case"checkbox":case"radio":break;case"select-one":if(a.length>0){a.selectedIndex=0}break;case"select-multiple":for(var f=0;f<a.length;f++){var c=a.options[f];if(c.selected){c.selected=false}}break;case"button":break;default:}}}function hideObj(a){jQuery("#"+a).hide()}function showObj(a){jQuery("#"+a).show()};
function StringBuilder(a){this.sts=new Array("");this.Append(a)}StringBuilder.prototype.Append=function(a){if(a){this.sts.push(a)}};StringBuilder.prototype.ToString=function(){return this.sts.join("")};String.prototype.stripSpaces=function(){return this.replace(/\s/g,"")}
/* https://mths.be/startswith v0.2.0 by @mathias */
;if(!String.prototype.startsWith){(function(){var a=(function(){try{var g={};var f=Object.defineProperty;var d=f(g,g,g)&&f}catch(e){}return d}());var c={}.toString;var b=function(k){if(this==null){throw TypeError()}var h=String(this);if(k&&c.call(k)=="[object RegExp]"){throw TypeError()}var d=h.length;var l=String(k);var f=l.length;var g=arguments.length>1?arguments[1]:undefined;var j=g?Number(g):0;if(j!=j){j=0}var e=Math.min(Math.max(j,0),d);if(f+e>d){return false}var i=-1;while(++i<f){if(h.charCodeAt(e+i)!=l.charCodeAt(i)){return false}}return true};if(a){a(String.prototype,"startsWith",{value:b,configurable:true,writable:true})}else{String.prototype.startsWith=b}}())}String.escapeHTML=function(j,a){if(!j){return""}if(j.indexOf("<")>=0||j.indexOf(">")>=0||j.indexOf("&")>=0){var h=document.createElement("div");var c="";if(a){var g=j.split("<br/>");for(var f=0;f<g.length;f++){var e=document.createTextNode(g[f]);h.appendChild(e);c+=h.innerHTML;if(f!=(g.length-1)){c+="<br/>"}h.removeChild(e)}}else{var e=document.createTextNode(j);h.appendChild(e);c=h.innerHTML;h.removeChild(e)}return c}else{return j}};String.removeTags=function(a){return a.replace(/<\/?[^>]+>/gi,"")};String.unescapeHTML=function(b){var a=document.createElement("div");a.innerHTML=String.removeTags(b);return a.childNodes[0]?a.childNodes[0].nodeValue:""};String.format=function(){if(arguments.length<1){return null}var c=arguments[0];for(var a=1;a<arguments.length;a++){var b=new RegExp("\\{"+(a-1)+"\\}","gm");c=c.replace(b,arguments[a])}return c};String.get_Safe=function(a){if(!a||a=="undefined"){return""}else{return a}};String.IsPrintable=function(a){if(a!=null&&a!="undefined"&&a.length>0){return true}else{return false}};String.IsNullOrEmpty=function(a){if(a!=null&&a!="undefined"&&a.length>0){return false}else{return true}};function $_ENCODE(a){return encodeURIComponent(a)}function $_ENCODE_Safe(a){if(a){return $_ENCODE(a)}else{return""}}function $_EVALJSON(s){var result=eval("("+s+")");return result}String.GetNetNonWhiteSpace=function(c){if(c){for(var a=0;a<c.length;a++){var b=c.charAt(a);if(b!=" "){return b}}}return null};String.prototype.rtrim=function(){return this.replace(/\s+$/,"")};Array.prototype.remove=function(b){for(var a=0;a<this.length;a++){if(b==this[a]){this.splice(a,1)}}};Array.prototype.Find=function(b){for(var a=0;a<this.length;a++){if(b==this[a]){return true}}return false};Array.prototype.FindByAttr=function(b,d){for(var c=0;c<this.length;c++){if(d==this[c][b]){return this[c]}}return null};function $_CloneObject(d,a){if(!d||!d.constructor){return null}var b=new d.constructor();for(var c in d){if(!a){b[c]=d[c]}else{if(typeof d[c]=="object"){if(d[c]){b[c]=$_CloneObject(d[c],a)}else{b[c]=null}}else{b[c]=d[c]}}}return b}function $_splitNameValue(e,c){var d="",b="";if(!c){c=$_nameSeparator}var a=e.indexOf(c);if(a>=0){d=e.slice(0,a);b=e.slice(a+1);a=b.indexOf(c);if(a>0){b=b.slice(0,a)}}return{name:d,value:b}}function FileGetExtension(a){var b=/^.+\.([^.]+)$/.exec(a);return b==null?"":b[1]}function FileIsImage(d){var a=false;var f=FileGetExtension(d);if(f){var g=f.toLowerCase();var e=["jpg","jpeg","tif","tiff","gif","png"];for(var b=0;b<e.length;b++){if(g===e[b]){a=true}}}return a}function UtilGetDate(f){var c="",a="";var h=new Date();var e=h.getMonth()+1,b=h.getYear();if(b<1000){b+=1900}if(f=="fin"){var d=new Array("Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai");var g=d[h.getDay()];c=g+" "+h.getDate()+"."+e+"."+b}else{c=h.getDate()+"."+e+"."+b}a=h.getHours()+":";a+=(h.getMinutes()>9)?h.getMinutes():"0"+h.getMinutes();a+=":";a+=(h.getSeconds()>9)?h.getSeconds():"0"+h.getSeconds();c+=" "+a;return c}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(d,c){if(c==null){c=0}else{if(c<0){c=Math.max(0,this.length+c)}}for(var b=c,a=this.length;b<a;b++){if(this[b]===d){return b}}return -1}}(function(b,a){if(!b.fn.center){b.fn.center=function(){var c=b(a);this.css("position","absolute");this.css("top",Math.max(0,((c.height()-this.outerHeight())/2)+c.scrollTop())+"px");this.css("left",Math.max(0,((c.width()-this.outerWidth())/2)+c.scrollLeft())+"px");return this}}if(!String.prototype.trim){String.prototype.trim=function(){return this.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}}}(jQuery,window));(function(b){var a=b.tekla=b.tekla||{};a.utility=a.utility||{};a.utility.isSameOrigin=function(d){var e=b.location,c=document.createElement("a");c.href=d;return c.hostname==e.hostname&&c.port==e.port&&c.protocol==e.protocol}}(window));
(function(b){var a;if(typeof define==="function"&&define.amd){define(["leaflet"],b)}else{if(typeof module!=="undefined"){a=require("leaflet");module.exports=b(a)}else{if(typeof window.L==="undefined"){throw new Error("Leaflet must be loaded first")}b(window.L)}}})(function(a){a.Map.mergeOptions({ImsHandler:true});tekla.Map.ImsHandler=a.Handler.extend({addHooks:function(){a.DomEvent.on(this._map._container,"click",this._click,this);a.DomEvent.on(this._map._container,"doubleclick",this._doubleClick,this)},removeHooks:function(){a.DomEvent.off(this._map._container,"click",this._click,this);a.DomEvent.off(this._map._container,"doubleclick",this._doubleClick,this)},_doubleClick:function(d){var c=false;if(toolMode==="drawpolyline"||toolMode==="drawpolygon"||toolMode==="drawrectangle"){var b=this._map.mouseEventToLatLng(d);showSiteProperties(b);c=true}else{if(toolMode==="distance"){endMeter();c=true}}if(c&&d.preventDefault){d.preventDefault()}},_adjustPan:function(h){if(this._panAnim&&this._panAnim._inProgress){return}var p=0;if(Tekla.SideBar&&Tekla.SideBar.isVisible()){p=400}var o=this._map.getSize();var g=jQuery(this._map._container).offset();var c=h.pageX-g.left;var n=h.pageY-g.top;var f=o.x;var k=o.y;var m=0,l=0;var b=f*options.panTreshold;var d=k*options.panTreshold;var j=(f-p)*0.3;var i=k*0.3;if(c<(b+p)){m=-j}if(c>(f-b)){m=j}if(n<d){l=-i}if(n>(k-d)){l=i}if(m||l){this._map.panBy([m,l])}},_click:function(h){if(toolMode==="distance"){var g=this._map.mouseEventToLatLng(h);this._adjustPan(h);TGMap.Measure.addPoint(g.lat,g.lng)}else{if(toolMode==="drawpolyline"||toolMode==="drawpolygon"||toolMode==="drawrectangle"){var g=this._map.mouseEventToLatLng(h);var c=g.lat;var b=g.lng;if(mapDrawing.points==null){mapDrawing.points=new Array()}mapDrawing.points.push([c,b]);this._adjustPan(h);if(toolMode==="drawrectangle"&&mapDrawing.points.length===2){map.EndDraw()}else{$_redrawDrawing()}if(h.preventDefault){h.preventDefault()}}else{if(toolMode==="createsite"||toolMode==="createaddress"||toolMode==="createsearchobject"||toolMode==="movesite"){var g=this._map.mouseEventToLatLng(h);var i=g.lat;var h=g.lng;if(toolMode=="createsite"){window.teklaMap._selectedPositionSouth=Math.round(i);window.teklaMap._selectedPositionEast=Math.round(h);Tekla.MapBubble.insert(toolMode,g,null);$_MouseMoved=true}else{if(toolMode=="createaddress"){window.teklaMap._selectedPositionSouth=Math.round(i);window.teklaMap._selectedPositionEast=Math.round(h);Tekla.MapBubble.insert(toolMode,g)}else{if(toolMode=="createsearchobject"){window.teklaMap._selectedPositionSouth=Math.round(i);window.teklaMap._selectedPositionEast=Math.round(h);Tekla.MapBubble.insert(toolMode,g)}else{if(toolMode=="movesite"){var f=$_DBSelect($_SelectedDBIndex,$_SelectedId);if(f){$_DBSetDirty($_SelectedDBIndex,true);f.Move(i,h,$_SelectedId);window.teklaMap.RedrawLayers();clearToolstate();startPan()}}}}}if(h.preventDefault){h.preventDefault()}}else{if(toolMode==="selectposition"){var g=this._map.mouseEventToLatLng(h);var i=g.lat;var h=g.lng;window.teklaMap._UserPositionShow(Math.round(i),Math.round(h));setStatus(GetText("cl_positionSelected"));$_hideTooltip();$_cancelTooltip();$_revertToolMode();var d=window.teklaMap._UserPositionGet();if(positionTarget==""){}else{if(positionTarget=="searchengine"){$_SearchEngineInsert(d[0],d[1])}else{if(positionTarget=="feedback"){$_feedbackTargetSelected(d[0],d[1])}else{if(positionTarget=="property"){$_objectPropertyGet()}else{if(positionTarget=="link"){Tekla.MapLink.update(d[0],d[1]);window.teklaMap._UserPositionHideDelayed()}else{if(positionTarget=="areadivision"){$_searchAreaDivisionByPosition(d[0],d[1])}else{if(positionTarget=="emodel"){$_extendedFeedbackTargetSelected(d[0],d[1])}else{if(positionTarget=="external"){if($_extEventHandler){if($_extPickOptions&&$_extPickOptions.targetSRS){Tekla.CoordinateTransformation.transform(d[0],d[1],function(e){console.log(e);if(e&&e.north&&e.east){$_extEventHandler(e.north,e.east)}},{targetSystem:$_extPickOptions.targetSRS,decimalCount:4})}else{$_extEventHandler(d[0],d[1])}}}else{if(positionTarget=="nearestaddress"){}}}}}}}}}positionTarget="";if(h.preventDefault){h.preventDefault()}}}}}}});a.Map.addInitHook("addHandler","ImsHandler",tekla.Map.ImsHandler)});

