!function($,window){if(window.Tekla||(window.Tekla={}),!window.Tekla.CurrentIssues){var defaults={},opts={translationOpts:null};window.Tekla.CurrentIssues={init:function(options){opts=$.extend(!0,{},defaults,options||{}),$("#currentissues-edit-container").translateresource(opts.translationOpts),$(".language-dropdown").change((function(){$("#currentissues-edit-container").translateresource({mainLanguage:$(this).val()})})),$("#Issue_IsVisible").change((function(){$("#Issue_VisibleFromLocal, #Issue_VisibleToLocal").prop("disabled",!$(this).is(":checked"))})).trigger("change"),$(".datetime-date").datepicker({dateFormat:opts.dateFormatStr})}}}}(jQuery,window);
!function($,window){if(window.Tekla||(window.Tekla={}),!window.Tekla.DataSets){var defaults={},opts={translationOpts:null};window.Tekla.DataSets={init:function(options){opts=$.extend(!0,{},defaults,options||{}),$("#datasets-edit-container").translateresource(opts.translationOpts)}}}}(jQuery,window);
!function($,globalContext){var defaultOptions={addbuttons:!1,center:[103365,67850,.5],copytodrawings:!1,editbuttonoptions:{pointimage:"/eFeedback/Images/MapImages/NeighbourSecondary.png",lineimage:"/eFeedback/Images/MapImages/NeighbourSecondary.png",areaimage:"/eFeedback/Images/MapImages/NeighbourSecondary.png",linetype:"solid",linecolor:"black",linewidth:2,arealinetype:"solid",arealinecolor:"black",arealinewidth:2,areafillcolor:"white",areaopacity:.5,buttontypes:null},layersoff:null,layerson:null,loadingcontrol:!1,mapclasses:{bubbleButtonOk:"button-ok small",bubbleButtonCancel:"button-cancel small",bubbleLink:"bubblelink",bubbleClose:"closetr"},mapobjectsinfocontrol:!1,mapsize:!1,mySitesClustered:!1,namedareas:!0,nearestaddress:!1,panthreshold:null,resizable:!1,scale:!0,search:!0,searchcategories:["Nimistöhakemisto","Osoitehakemisto"],showImageForPolygon:!0,slider:!1,texts:{copytodrawings:"Liitä palaute kohteeseen",pointtip:"Osoita pisteen sijainti",linetip:"Osoita piste. Lopeta napsauttamalla viimeistä pistettä uudelleen",areatip:"Osoita piste. Lopeta napsauttamalla viimeistä pistettä uudelleen",pointbuttontip:"Lisää pistemäinen sijainti",linebuttontip:"Lisää viivamainen sijainti",areabuttontip:"Lisää aluemainen sijainti",pointname:"Palautteen sijainti",linename:"Palautteen sijainti",areaname:"Palautteen sijainti",maprestoretip:"Palauta kartan koko",mapmaximizetip:"Suurenna kartta",mapobjectsinfotext:"Kaikki karttakohteet eivät ole näkyvissä tällä karttatasolla. Lähesty nähdäksesi karttakohteet"},theme:"Opaskartta",themes:[],threeD:!1,tileservers:null,wheeltimeout:200};function EmbeddedMapWrapper(element,options){if(window.tekla){options=$.extend(!0,defaultOptions,options),this.element=element;var currentMap=this.map=new window.tekla.Map($(element).attr("id"),{nearestaddress:options.nearestaddress,showImageForPolygon:options.showImageForPolygon,mySitesClustered:options.mySitesClustered,center:options.center,appTexts:options.texts,initMapObjectSelection:options.mapObjectSelection});options.scale&&currentMap.AddControl({scale:!0}),options.mapsize&&currentMap.AddControl({mapsize:{RestoreTip:options.texts.maprestoretip,MaximizeTip:options.texts.mapmaximizetip}}),currentMap.AddControl({popup:!0}),options.layers&&currentMap.AddControl({layers:{layers:options.layers},margin:{bottom:12}}),currentMap.AddControl({geolocation:!0===options.geolocation?{margin:{bottom:12},appCb:options.appCb}:options.geolocation,zoomin:!0,zoomslider:options.slider,zoomout:{margin:{bottom:12}}}),options.themes&&currentMap.AddControl({basemapswitcher:{basemaps:options.themes,preserveDefaultOrder:!0}}),options.addbuttons&&currentMap.AddEditButtons(options.editbuttonoptions,options.texts),options.theme&&currentMap.SetBaseMap(decodeURIComponent(options.theme)),options.loadingcontrol&&currentMap.AddControl({loadingindicator:{content:'<span class="animation-loading"></span>'}}),options.mapobjectsinfocontrol&&currentMap.AddControl({objectsinfo:{content:'<div class="field-help">'+options.texts.mapobjectsinfotext+"</div>"}}),options.layersoff&&$.each(options.layersoff,(function(i,n){currentMap.SetLayerVisible(n,!1)})),options.layerson&&$.each(options.layerson,(function(i,n){currentMap.SetLayerVisible(n,!0)})),options.search||options.namedareas?$("#IMSPanel").show():$("#IMSPanel").hide(),options.search?($("#IMSSearchPanel").show(),$.fn.placeholder&&$("#IMSSearchText").placeholder(),$("#IMSSearchhSubmit").click((function(){var searchText=$("#IMSSearchText").val();searchText&&searchText.length>0&&currentMap.DoSearch(searchText,options.searchcategories,$("#IMSSearchMunicipality").val())})),$("#IMSSearchText").bind("keydown",(function(e){if(13===(e.keyCode||e.which))return $("#IMSSearchhSubmit").trigger("click"),!1}))):$("#IMSSearchPanel").hide(),options.searchcontrol&&currentMap.AddControl({search:options.searchcontrol}),options.namedareas?currentMap.AddNamedAreaMenu("IMSNamedAreasMenu"):$("#IMSNamedAreasPanel").hide(),options.copytodrawings&&currentMap.EnableCopyingOfDrawing(options.texts.copytodrawings),null!==options.wheeltimeout&&currentMap.SetWheelTimeOut(options.wheeltimeout),options.maplegend&&currentMap.AddControl({maplegend:{layer:options.maplegend}});var mapDiv=this;currentMap.RegisterEventHandler((function(event,param){"function"==typeof options.eventhandler&&options.eventhandler(event,param),$(mapDiv).trigger("change",event,param)})),(options.resizable||$(this).hasClass("resizable"))&&$(this).resizable({handles:"s"});var isResizeActive=null;options.windowResize?$(window).bind("resize",(function(){isResizeActive&&clearTimeout(isResizeActive),isResizeActive=setTimeout((function(){this.map.Resize()}),100)})):$(this.element).bind("resize",(function(){isResizeActive&&clearTimeout(isResizeActive),isResizeActive=setTimeout((function(){this.map.Resize()}),100)})),this.generateWrapperFunctions()}}EmbeddedMapWrapper.prototype.generateWrapperFunctions=function(){var map=this.map,self=this;function createFunc(funcName){self[funcName]=function(){return map[funcName].apply(map,arguments)}}if(map)for(var prop in map)"function"!=typeof map[prop]||self[prop]||createFunc(prop)},EmbeddedMapWrapper.prototype.GetMap=function(){return this.map},$.extend($.fn,{EmbeddedIMS:function(options){var NAME="tekla.mapwrapper";if(!("string"==typeof options&&this.length>0))return this.each((function(){$(this).data(NAME)||$(this).data(NAME,new EmbeddedMapWrapper(this,options))}));var args=arguments,instance=$(this).data(NAME);return instance&&instance[options]?instance[options].apply(instance,$.makeArray(args).slice(1)):void 0},EmbeddedIMSGetDrawingsJSON:function(){return $(this).EmbeddedIMS("GetDrawingsJSON")},EmbeddedIMSAddGeometry:function(geometryJSON,dbIndex,clear){return $(this).EmbeddedIMS("AddGeometry",geometryJSON,dbIndex,clear)},EmbeddedIMSSetAreaFromString:function(bBox){if(bBox){var coords=bBox.split(" ");coords.length>3&&$(this).EmbeddedIMSSetCenter(parseFloat(coords[0]),parseFloat(coords[1]),parseFloat(coords[2]),parseFloat(coords[3]))}},EmbeddedIMSSetCenter:function(a,b,c,d){var func=null,self=this;func=d?function(){$(self).EmbeddedIMS("SetArea",a,b,c,d)}:function(){$(self).EmbeddedIMS("SetCenter",a,b,c)},$(self).is(":visible")?func():$(self).data("onVisible",func)},EmbeddedIMSUpdate:function(){if($(this).is(":visible")){var func=$(this).data("onVisible");func&&(func(),$(this).data("onVisible",null))}},EmbeddedIMSUpdateMySites:function(container,getprop,acceptNotEditable){var a=$(this).EmbeddedIMS("MySitesHtml",getprop,acceptNotEditable);a&&(a.count>0?$(container+"_help").hide():$(container+"_help").show(),$(container).empty().append(a.html))},EmbeddedIMSGetCurrentLayer:function(){return $(this).EmbeddedIMS("CurrentLayer")},EmbeddedIMSGetCurrentLayerScript:function(){return $(this).EmbeddedIMS("CurrentLayerScript")},EmbeddedIMSGetMap:function(){return $(this).EmbeddedIMS("GetMap")},EmbeddedIMSResizeMap:function(){$(this).EmbeddedIMS("Resize"),$(this).EmbeddedIMSUpdate()}})}(jQuery,window);
(function($,globalContext){"use strict";var globalDefaults={texts:{confirmunsavedchanges:"Changes in unsaved sections will be lost. Are you sure you want to continue?",requiredfield:"Field is required"}};globalContext.Tekla=globalContext.Tekla||{},globalContext.Tekla.Helpers||(globalContext.Tekla.Helpers=function(){var o=null;function initGlobalOptions(options){o=$.extend(!0,{},globalDefaults,options||{})}function ajaxFormInit(options){function prepareAjax(element){var confirmMessage=element.data("ajax-confirm");if(!confirmMessage||confirm(confirmMessage)){var insertionMode=element.data("ajax-insertionmode")||"replace",target=element.data("ajax-update"),noscroll=!0===element.data("ajax-noscroll"),loaderContainer=null;if(!(!0===element.data("ajax-noloadingindicator"))){var $target=$(target);if("replace"===insertionMode)setLoadingIndicatorTo($target,noscroll);else{switch(loaderContainer=$("<div></div>"),insertionMode){case"insertafter":loaderContainer.insertAfter($target);break;case"insertbefore":loaderContainer.insertBefore($target)}setLoadingIndicatorTo(loaderContainer,noscroll)}}return{insertionMode:insertionMode,loaderContainer:loaderContainer,target:target,noscroll:noscroll,successCb:element.data("ajax-success"),successEvent:element.data("ajax-successevent"),successEventSelector:element.data("ajax-successeventselector")}}return null}function handleAjaxSuccess(ajaxContext,result){var $target=$(ajaxContext.target);ajaxContext.noscroll||scrollToTop($target);var $result=$(result);switch($.cluetip&&$target.find(".cluetip-initialized").cluetip("destroy"),ajaxContext.insertionMode){case"insertafter":$result.insertAfter($target);break;case"insertbefore":$result.insertBefore($target);break;default:$target.replaceWith($result)}ajaxContext.loaderContainer&&ajaxContext.loaderContainer.remove(),"function"==typeof options.onAjaxSuccess&&options.onAjaxSuccess($result),ajaxContext.successCb&&""!==ajaxContext.successCb&&eval(ajaxContext.successCb),ajaxContext.successEvent?ajaxContext.successEventSelector?$(ajaxContext.successEventSelector).trigger(ajaxContext.successEvent):$result.trigger(ajaxContext.successEvent):$result.find(".ajax-refresh").trigger("tekla:ajax-refresh")}function handleAjaxFail(ajaxContext){var $target=$(ajaxContext.target);ajaxContext.noscroll||scrollToTop($target);var $result=$("<span>FAILED</span>");switch($.cluetip&&$target.find(".cluetip-initialized").cluetip("destroy"),ajaxContext.insertionMode){case"insertafter":$result.insertAfter($target);break;case"insertbefore":$result.insertBefore($target);break;default:$target.replaceWith($result)}ajaxContext.loaderContainer&&ajaxContext.loaderContainer.remove()}$("body").on("click","a.ajax-get,a.ajax-post",(function(){var $this=$(this);if(protectModificationsConfirm($this.data("ajax-update"))&&!$this.hasClass("disabled")){var ajaxContext=prepareAjax($this);ajaxContext&&$.ajax({url:$this.attr("href"),type:$this.hasClass("ajax-post")?"POST":"GET"}).done((function(result){handleAjaxSuccess(ajaxContext,result)})).fail((function(){handleAjaxFail(ajaxContext)}))}return!1})),$("body").on("submit","form.ajax-form",(function(){var $this=$(this),ajaxContext=prepareAjax($this);if(ajaxContext){var validationInfo=$this.data("unobtrusiveValidation");validationInfo&&validationInfo.validate&&!validationInfo.validate()||$.ajax({url:this.action,type:this.method,data:$this.serialize()}).done((function(result){handleAjaxSuccess(ajaxContext,result)})).fail((function(){handleAjaxFail(ajaxContext)}))}return!1})),$("body").on("submit","form[data-submit=single]",(function(){return $(this).find("input[type=submit]").addClass("disabled").prop("disabled",!0),!0}))}function setLoadingIndicatorTo(element,noscroll){var indicatorContainer=element.find(".loading-indicator-container");indicatorContainer.length>0&&(element=indicatorContainer.first());var height=element.height();height||(height=32);var classSuffix=height<96?"":"-big";$('<div class="loading-indicator-container" style="position:relative;width:100%;height:'+height+'px"><div class="animation-loading'+classSuffix+'-container"><span class="animation-loading'+classSuffix+'"></span></div></div>').hide().appendTo(element);var complete=function(){setTimeout((function(){element.find(".loading-indicator-container").show().siblings().hide()}),500)};noscroll?complete():scrollToTop(element,complete)}function scrollToTop(element,complete){if(element&&element.length&&!element.is("#tabs-container")){var targetOffsetTop=element.offset().top,windowOffsetTop=$(window).scrollTop();targetOffsetTop<windowOffsetTop||targetOffsetTop>windowOffsetTop+window.innerHeight?$("html:not(:animated), body:not(:animated)").animate({scrollTop:targetOffsetTop},250,complete):complete&&complete()}else $("html:not(:animated), body:not(:animated)").animate({scrollTop:0},250,complete)}function initEnableContainers(){$(".enable-container").each((function(){var $container=$(this);$("#"+$container.attr("data-enablefield")).change((function(){var $this=$(this),enableArray=null,enableValue=$container.attr("data-enablevalue");if(enableValue&&enableValue.length>0){enableArray=[];for(var splitted=enableValue.split(","),i=0;i<splitted.length;i++)enableArray.push(splitted[i])}var enabled=enableArray&&$.inArray($this.is(":checkbox")?$this.is(":checked")?"true":"false":$this.val(),enableArray)>=0,speed=!$this.hasClass("change-initialized")||$container.hasClass("enable-container-no-animation")?0:250;$container.find("input").prop("disabled",!enabled),enabled?$container.show(speed):$container.hide(speed)})).change().addClass("change-initialized")}))}function initTruncatedLists(){$(".truncated-list:not(.truncated-list-inited)").each((function(){var $this=$(this);$this.addClass("truncated-list-inited");var count=$this.data("truncated-size")||5,text=$this.data("truncated-showall-text")||"Show all {0}",children=$this.children();if(children.length>count){var hidden=children.length-count;children.slice(-hidden).hide();var showall=$('<a href="#">'+text.replace("{0}",hidden)+"</a>").click((function(ev){$this.children().show(200),$(this).remove(),ev.preventDefault()}));$this.append(showall)}}))}function createDynamicTab(tabContainer,content,options){var numTabs=$(tabContainer).find("ul:first li").length+1,id=$(content).attr("id")||""+(new Date).getTime(),newTab=$('<div id="dynTab_'+id+'"></div>'),title=$(content).data("tab-title")||(options?options.tabtitle:""),tab=$('<li><a href="#dynTab_'+id+'">'+title+'</a><a style="margin-top:6px; margin-right:2px; cursor:pointer;" class="icon icon-delete" href="#"></a></li>');tab.find("a.icon-delete").click((function(ev){ev.preventDefault(),tab.remove(),$(content).remove(),$(tabContainer).tabs("refresh"),$(tabContainer).tabs("option","active",numTabs)})),$(tabContainer).find("ul:first").append(tab),$(tabContainer).append(newTab),newTab.append($(content)),$(tabContainer).tabs("refresh"),$(tabContainer).tabs("option","active",numTabs-1)}function protectedModificationsExist(element){function protectedCheck(searchString){var foundModificationItems,search=searchString,type=typeof element;return"object"===type?foundModificationItems=element.find(searchString):("string"===type&&(search=$(element).find(search)),foundModificationItems=$(search)),foundModificationItems.filter((function(){return"none"!==$(this).css("display")})).length>0}return function protectedItemsCheck(){return protectedCheck('[data-protect-modifications="item"]')}()||function protectedEnabledItemsCheck(){return protectedCheck('[data-protect-modifications="enabled-check-item"]:enabled')}()}function protectModificationsConfirm(element){return!protectedModificationsExist(element)||window.confirm(o.texts.confirmunsavedchanges)}function getGlobalTexts(){return o.texts}function storageAvailable(type){try{var storage=window[type],x="__storage_test__";return storage.setItem(x,x),storage.removeItem(x),!0}catch(e){return!1}}function toggleSectionVisibility(buttonId,divName){$("."+divName).toggle();var button=$("#"+buttonId);"none"!==$("."+divName).css("display")?(button.attr("aria-expanded",!0),button.removeClass("icon-expand"),button.addClass("icon-collapse")):(button.attr("aria-expanded",!1),button.addClass("icon-expand"),button.removeClass("icon-collapse"))}function isValidIdentityCode(value,identitycodemask){return!value||value===identitycodemask||/^[0-9]{6}[ABCDEFYXWVU+\-][0-9]{3}[A-Z0-9]$/i.test(value)&&"0123456789ABCDEFHJKLMNPRSTUVWXY".charAt(parseInt(value.substring(0,6)+""+value.substring(7,10),10)%31)===value.toUpperCase().charAt(10)}function getAntiforgeryToken(){return $("meta[name=AntiForgeryToken]").attr("content")}function init(){$(window).bind("beforeunload",(function(){if(protectedModificationsExist())return o.texts.confirmunsavedchanges}));var token=null;$(document).ajaxSend((function(event,xhr){null===token&&(token=getAntiforgeryToken()||""),token&&xhr.setRequestHeader("AntiForgeryToken",token)})),$(document).on("click","a.js-form-submit",(function(event){event.preventDefault(),$(this).parent("form").submit()})),$((function(){$("body").on("dblclick",".dblclick-container",(function(){function clearSelection(){window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty&&document.selection.empty()}var $this=$(this),handled=!1;if(!$this.find(".dblclick-forbidden").is(":visible")){var $clickHandler=$this.find("a.dblclick-handler");$clickHandler.length>0?(clearSelection(),$clickHandler.click(),handled=!0):$this.find("a.dblclick-location").first().each((function(){clearSelection(),window.location=$(this).attr("href"),handled=!0}))}return!handled}))})),$((function(){$("[data-js-supported=hide]").addClass("hidden"),$("[data-js-supported=display]").removeClass("hidden"),$("[data-js-supported=remove]").remove(),$(".js-support").each((function(){var $this=$(this);switch($this.data("js-support")){case"change-form-action":$this.attr("action",$this.data("js-form-action"));break;case"display":$this.removeClass("js-support-hidden");break;case"hide":$this.hide();break;case"change-value":$this.val($this.data("js-value"))}}))})),$(document).on("click",'[type="submit"][data-formaction]',(function(){var $this=$(this),formAction=$this.data("formaction");$this.closest("form").attr("action",formAction)})).on("click",'[type="submit"][data-formsubmit]',(function(ev){ev.preventDefault();var formSelector=$(this).data("formsubmit");$(formSelector).submit()})),$((function(){($("body").hasClass("new")||$("body").hasClass("logon-page"))&&$(document).on("mouseenter",".required .field-validation-valid",(function(){if(o&&o.texts){var text=o.texts.requiredfield;text&&$(this).tooltip({items:".field-validation-valid",content:function(){return text}}).tooltip("open")}}))}))}return{initGlobalOptions:initGlobalOptions,ajaxFormInit:ajaxFormInit,setLoadingIndicatorTo:setLoadingIndicatorTo,scrollToTop:scrollToTop,initEnableContainers:initEnableContainers,initTruncatedLists:initTruncatedLists,createDynamicTab:createDynamicTab,protectedModificationsExist:protectedModificationsExist,protectModificationsConfirm:protectModificationsConfirm,getGlobalTexts:getGlobalTexts,storageAvailable:storageAvailable,init:init,toggleSectionVisibility:toggleSectionVisibility,isValidIdentityCode:isValidIdentityCode,getAntiforgeryToken:getAntiforgeryToken}}()),globalContext.Tekla.Helpers.init()})(jQuery,window);
!function($){var currentConditions=[],defaults={};function setConditions(id){function setIntCondition(name,value,delimiter){if(currentConditions){var updated=!1;$.each(currentConditions,(function(i,val){null!==val&&val.key===name&&(parseInt(value,10)>=0?(currentConditions[i].value=parseInt(value,10),currentConditions[i].delimiter=delimiter):currentConditions[i]=null,updated=!0)})),parseInt(value,10)>=0&&!updated&&currentConditions.push({key:name,delimiter:delimiter,value:parseInt(value,10)})}}setIntCondition("ClassId",$("#ConditionClassId").val(),"="),setIntCondition("Group",$("#ConditionGroup").val(),"="),function setStringCondition(name,value){if(currentConditions){var updated=!1;$.each(currentConditions,(function(i,val){null!==val&&val.key===name&&(null!==value&&value.length>0?(currentConditions[i].value=value,currentConditions[i].delimiter="="):currentConditions[i]=null,updated=!0)})),null!==value&&value.length>0&&!updated&&currentConditions.push({key:name,delimiter:"=",value:value})}}("Class",$("#ConditionClass").val());var value="",arrayItems=[];if(currentConditions){var added=0;currentConditions.sort();for(var i=0;i<currentConditions.length;i++){var cond=currentConditions[i];null!==cond&&(0===added&&0===arrayItems.length?value="//MapObject[":value+=" and ",value+=cond.key+cond.delimiter+"'"+cond.value+"'",added++)}added>0&&(value+="]")}$("#"+id+"_condition").val(value)}function editStart(grid,rowId){$("#currentConditionData").show();var value=$(grid).jqGrid("getCell",rowId,"condition");if(currentConditions=[],value){var start=value.indexOf("["),end=value.indexOf("]"),delims=["=>","<=","!=","=",">","<"];if(start>0&&end>0)for(var parts=value.substr(start+1,end-start-1).split("and"),iPart=0;iPart<parts.length;iPart++)for(var iDel=0;iDel<delims.length;iDel++){var kvPair=parts[iPart].replace(/[\(]|[\)|[\']/g,"").split(delims[iDel]);if(2===kvPair.length){currentConditions.push({key:$.trim(kvPair[0]),delimiter:delims[iDel],value:$.trim(kvPair[1])});break}}}$("#ConditionClassId").val(""),$("#ConditionClass").val(""),$("#ConditionGroup").val(""),$.each(currentConditions,(function(i,val){switch(val.key.toLowerCase()){case"classid":$("#ConditionClassId").val(val.value);break;case"class":$("#ConditionClass").val(val.value);break;case"group":$("#ConditionGroup").val(val.value)}})),$("#ConditionClassId").change((function(){setConditions(rowId)})),$("#ConditionClass").change((function(){setConditions(rowId)})),$("#ConditionGroup").change((function(){setConditions(rowId)}))}function editEnd(grid,rowId){$("#currentConditionData").hide()}this.Ims||(this.Ims={}),this.Ims.PresentationSet||(this.Ims.PresentationSet={}),"function"!=typeof this.Ims.PresentationSet.init&&(this.Ims.PresentationSet.init=function(options){$.extend(!0,{},defaults,options||{}),Tekla.PresentationSet.registerHandlers({onEditStart:editStart,onEditEnd:editEnd})})}(jQuery);
!function($,globalContext){"use strict";globalContext.Tekla=globalContext.Tekla||{},globalContext.Tekla.LanguageSelector=function(){var current;function focusLink(listItem){if(listItem&&0!==listItem.length){var link=listItem.find("a");link.length>0&&(link[0].focus(),current=listItem)}}return{init:function init(){var showLanguagesBtn=$("button.language-selector");showLanguagesBtn.attr("aria-expanded","false");var languageList=$("ul.language-selector");showLanguagesBtn.click((function(){languageList.toggle();var isLanguageListVisible=languageList.is(":visible");showLanguagesBtn.attr("aria-expanded",isLanguageListVisible?"true":"false"),isLanguageListVisible&&focusLink(current=languageList.find("li").first())})),showLanguagesBtn.keydown((function(e){9===e.keyCode&&languageList.hide()})),languageList.keydown((function(e){switch(e.keyCode){case 38:e.preventDefault(),focusLink(current.prev());break;case 40:e.preventDefault(),focusLink(current.next());break;case 9:e.preventDefault(),showLanguagesBtn[0].focus();break;case 27:e.preventDefault(),languageList.hide(),showLanguagesBtn[0].focus();break;case 32:e.preventDefault(),function openCurrent(){if(current&&0!==current.length){var link=current.find("a");link.length>0&&(window.location.href=link[0].href)}}()}}))}}}()}(jQuery,window);
!function($,document){function enablePlaceholder(selector){(function isSupported(){return"placeholder"in document.createElement("input")})()||$(selector).addClass("tekla-placeholder").focus((function(){var input=$(this);input.val()===input.attr("placeholder")&&(input.val(""),input.removeClass("placeholder"))})).blur((function(){var input=$(this);""!==input.val()&&input.val()!==input.attr("placeholder")||(input.addClass("placeholder"),input.val(input.attr("placeholder")))})).blur().parents("form").submit((function(){$(this).find(".tekla-placeholder").each((function(){var input=$(this);input.val()==input.attr("placeholder")&&input.val("")}))}))}$.extend($.tekla,{placeholder:function(){enablePlaceholder("[placeholder]")}}),$.fn.placeholder=function(){return this.each((function(){enablePlaceholder(this)}))}}(jQuery,document);
!function($,globalContext){"use strict";var defaults={undoElement:"#presentation-tool-panel .undo",saveElement:"#presentation-tool-panel .save",deleteElement:"#presentation-tool-panel .delete",listURI:null,editURI:null,updateURI:null,deleteURI:null,mapImageURI:null,twoStateClassName:"poi",message:function(){},idSetting:"Tekla_Presentation_Id",texts:{deleteConfirm:"Are you sure you want to delete?",deleting:"Deleting...",saving:"Saving...",changesHaveNotBeenSaved:"Changes has not been saved",loading:"Loading...",loadingCompleted:"Loading complete",areaApperance:"area",lineApperance:"line",pointApperance:"point"}};globalContext.Tekla=globalContext.Tekla||{},globalContext.Tekla.Presentation=globalContext.Tekla.Presentation||{},$.extend(globalContext.Tekla.Presentation,function(){var o=null,mapRefreshTimeout=null;function refreshMapObjects(){null!==mapRefreshTimeout&&clearTimeout(mapRefreshTimeout),mapRefreshTimeout=setTimeout((function refresh(){var map=$("#presentation-map-container").EmbeddedIMSGetMap(),i=0,centerNorth=map.GetCenter()[0],centerEast=map.GetCenter()[1],image=$("#Presentation_PointImage").val(),area=map.GetArea(),width=.8*Math.abs(area[3]-area[1])/3,height=.8*Math.abs(area[2]-area[0]),mapObjects=[];mapObjects.push({Editable:!1,explanation:"",name:o.texts.pointApperance,presentation:{className:0===image.toLowerCase().indexOf("2state")?o.twoStateClassName:null,Image:image?o.mapImageURI+"/"+image:null},geometry:{coordinates:[centerEast-width/2,centerNorth],type:"Point"}});var northarray=[centerNorth+height/2,centerNorth-height/2],eastarray=[centerEast,centerEast],pointarray=[];for(i=0;i<northarray.length;i+=1)pointarray.push([parseFloat(eastarray[i]),parseFloat(northarray[i])]);for(image=$("#Presentation_LineImage").val(),mapObjects.push({Editable:!1,explanation:"",name:o.texts.lineApperance,presentation:{className:0===image.toLowerCase().indexOf("2state")?o.twoStateClassName:null,LineColor:$("#Presentation_LineColor").val(),LineWidth:$("#Presentation_LineWidthPX").val(),LineType:$("#Presentation_LineType").val(),LineOpacity:parseInt($("#Presentation_LineOpacityPercent").val(),10)/100,Editable:!1,Selectable:!1,Image:image?o.mapImageURI+"/"+image:null},geometry:{coordinates:pointarray,type:"LineString"}}),northarray=[centerNorth+height/2,centerNorth-height/2,centerNorth-height/2,centerNorth+height/2],eastarray=[centerEast+width,centerEast+width,centerEast+width/2,centerEast+width/2],pointarray=[],i=0;i<northarray.length;i+=1)pointarray.push([parseFloat(eastarray[i]),parseFloat(northarray[i])]);image=$("#Presentation_AreaImage").val(),mapObjects.push({Editable:!1,explanation:"",name:o.texts.areaApperance,presentation:{className:0===image.toLowerCase().indexOf("2state")?o.twoStateClassName:null,LineColor:$("#Presentation_AreaLineColor").val(),LineWidth:$("#Presentation_AreaLineWidthPX").val(),LineType:$("#Presentation_AreaLineType").val(),LineOpacity:parseInt($("#Presentation_AreaLineOpacityPercent").val(),10)/100,FillColor:$("#Presentation_AreaFillColor").val(),FillOpacity:parseInt($("#Presentation_AreaOpacityPercent").val(),10)/100,Editable:!1,Selectable:!1,Image:image?o.mapImageURI+"/"+image:null},geometry:{coordinates:[pointarray],type:"Polygon"}}),map.Clear(),map.AddGeometry(mapObjects),map.Flush()}),500)}function ensureNoChanges(){var isChanges=$(o.saveElement).is(":enabled");return isChanges?o.message(o.texts.changesHaveNotBeenSaved,"warning"):o.message(null,"hide"),!1===isChanges}function initEdit(){function getCurrentId(){var parsedId=parseInt($("#presentation-id").val(),10);return parsedId>0?parsedId:void 0}function dataChanged(changes){var isNew=void 0===getCurrentId();$(o.saveElement).toggleClass("disabled",!changes).prop("disabled",!changes),$(o.undoElement).toggleClass("disabled",!isNew&&!changes).prop("disabled",!isNew&&!changes),$(o.deleteElement).toggle(!isNew)}var idInit=-1,$form=$("#presentation-form");$form.length>0?($form.data("validator",null).find("[data-valmsg-summary=true]").addClass("validation-summary-valid"),$.validator.unobtrusive.parse($form),$form.find(o.saveElement).click((function(){return $("#presentation-form").submit(),!1})),$form.find(o.undoElement).click((function(){return loadEdit(getCurrentId(),!0),!1})),$form.find(o.deleteElement).click((function(){return confirm(o.texts.deleteConfirm)&&(o.message(o.texts.deleting,"loading"),$.post(o.deleteURI+"/"+getCurrentId()).done((function(data){o.message(data.text,data.cssClass),0===parseInt(data.status,10)&&loadEdit(-1,!0)})).fail((function(ev){o.message(ev.statusText,"error")}))),!1})),$form.submit((function(){var $formSubmit=$(this);return $formSubmit.valid()&&(o.message(o.texts.saving,"saving"),$.post(o.updateURI,$formSubmit.serialize()).done((function(data){o.message(data.text,data.cssClass),0===parseInt(data.status,10)&&($("#presentation-id").val(data.presentationId),$.settings.setValue(o.idSetting,data.presentationId),dataChanged(!1),loadList(data.presentationId))})).fail((function(ev){o.message(ev.statusText,"error")}))),!1})),$form.on("change",":input,option",(function(){refreshMapObjects(),dataChanged(!0)})).on("keyup",":input,option",(function(){dataChanged(!0)})),$().spinner&&$form.find(".field-line-width,.field-percent").spinner({spin:function(event,ui){var $this=$(this),minValue=$this.data("val-range-min"),maxValue=$this.data("val-range-max");return ui.value>maxValue?($this.spinner("value",maxValue),!1):ui.value<minValue?($this.spinner("value",minValue),!1):(refreshMapObjects(),dataChanged(!0),!0)}}),$().bgiframe&&$(".colorpicker").bgiframe(),$().ColorPicker&&$form.on("keyup",".field-color",(function(){var $this=$(this);$this.ColorPickerSetColor($this.val()),$this.css("background-color",$this.val())})).on("change",".field-color",(function(){var $this=$(this);$this.css("background-color",$this.val())})).find(".field-color").each((function(){var $this=$(this);$this.ColorPicker({onBeforeShow:function(){$this.ColorPickerSetColor($this.val())},onChange:function(hsb,hex){$this.val("#"+hex).trigger("change")},onSubmit:function(){$this.ColorPickerHide()}}).trigger("change")})),refreshMapObjects(),dataChanged(!1),$("#presentation-map-container").show(),loadList(idInit=getCurrentId())):loadList(),o.message(o.texts.loadingCompleted,"success"),$.settings.setValue(o.idSetting,idInit)}function loadList(selectedId){var uri=o.listURI;$("#presentation-list-container").load(selectedId?uri+"/"+selectedId:uri)}function loadEdit(presentationId,force){(!0===force||ensureNoChanges())&&($("#presentation-map-container").hide(),o.message(o.texts.loading,"loading"),$("#presentation-edit-container").load(presentationId>=0?o.editURI+"/"+presentationId:o.editURI,initEdit))}return{init:function init(options){o=$.extend({},defaults,options||{}),$("#presentation-map-container").EmbeddedIMS(o.mapoptions).hide(),$("#presentation-list-container").on("click",".edit-item-list a",(function(){return ensureNoChanges()&&(o.message(o.texts.loading,"loading"),$("#presentation-edit-container").load($(this).attr("href"),initEdit)),!1}));var loadPrevId=0===$("#presentation-id").length?parseInt($.settings.getValue(o.idSetting),10):-1;loadPrevId>0?loadEdit(loadPrevId):(initEdit(),o.message(null,"hide"))}}}())}(jQuery,window);
!function($){var changeFlag=!1,o=null,getConditionJSON=null,onEditStart=null,onEditEnd=null,defaults={addElement:".item-list-newlink",undoElement:"#presentationset-tool-panel .undo",saveElement:"#presentationset-tool-panel .save",deleteElement:"#presentationset-tool-panel .delete",listURI:null,editURI:null,updateURI:null,deleteURI:null,conditionURI:null,presentationOptions:"0:null",message:function(message,cssClass){},idSetting:"Tekla_PresentationSet_Id",texts:{deleteConfirm:"Are you sure you want to delete?",deleting:"Deleting...",saving:"Saving...",changesHaveNotBeenSaved:"Changes has not been saved",loading:"Loading...",loadingCompleted:"Loading complete",presentation:"Presentation",condition:"Condition",presentationConditions:"Presentation conditions",addNewConditionRow:"Add new condition",moveRowUp:"Move row up",moveRowDown:"Move row down",deleteRow:"Delete row"}};function dataChanged(changes){(changeFlag=changes)?($(o.saveElement).removeClass("disabled").prop("disabled",!1),$(o.undoElement).removeClass("disabled").prop("disabled",!1)):($(o.saveElement).addClass("disabled").prop("disabled",!0),$(o.undoElement).addClass("disabled").prop("disabled",!0))}function manageDeleteElement(enabled){enabled?$(o.deleteElement).removeClass("disabled").prop("disabled",!1):$(o.deleteElement).addClass("disabled").prop("disabled",!0)}function ensureNoChanges(){return changeFlag?o.message(o.texts.changesHaveNotBeenSaved,"warning"):o.message(null,"hide"),!1===changeFlag}function initConditionGrid(presentationSetId){var grid=$("#presentationset-conditions-table"),newRowId=0,lastSelectedId=null;function initToolColumn(rowId){grid.find(".jqupdown").click((function(){return EFBUtility.JQGrid.moveRowUpDown(this,newRowId),dataChanged(!0),!1})).removeClass("jqupdown"),grid.find(".jqdelete").click((function(){return function deleteRow(id){var retVal=grid.jqGrid("delRowData",id);return dataChanged(!0),id===lastSelectedId&&onEditEnd&&onEditEnd(grid,id),retVal}(rowId),!1})).removeClass("jqdelete")}function getToolColumn(deleteOnly){var toolColumn='<a class="icon-deletebutton jqdelete" style="float:right" href="#" title="'+o.texts.deleteRow+'"></a>';return deleteOnly||(toolColumn+='<a class="icon-arrowdown jqrowdown jqupdown" style="float:right" href="#" title="'+o.texts.moveRowDown+'"></a>',toolColumn+='<a  class="icon-arrowup jqrowup jqupdown" style="float:right" href="#" title="'+o.texts.moveRowUp+'"></a>'),toolColumn}function addGridAddNewRow(){var newId=newRowId-1;grid.jqGrid("getInd",newId)||(grid.jqGrid("addRowData",newId,{id:newRowId,presentation:"",condition:'<span style="cursor:pointer;font-weight:bold;"><span class="icon-add" style="float:left;">&nbsp;</span><span style="float:left;height:16px;text-decoration:underline;">'+o.texts.addNewConditionRow+"</span></span>",act:""}),newRowId=newId)}function endEdit(){var edit=!0;return lastSelectedId&&(onEditEnd&&onEditEnd(grid,lastSelectedId),edit=grid.jqGrid("saveRow",lastSelectedId,!1,"clientArray"),lastSelectedId=null),edit}getConditionJSON=function(){var retVal=null;if(endEdit()){for(var ids=grid.jqGrid("getDataIDs"),presCol=grid.jqGrid("getCol","presentation",!1),condCol=grid.jqGrid("getCol","condition",!1),conditionArray=[],i=0;i<ids.length;i++)if(newRowId<ids[i]){var row={Id:ids[i],PresentationId:presCol[i],XPathCondition:condCol[i]};conditionArray.push(row)}retVal=JSON.stringify(conditionArray)}return retVal};var first=!0;grid.empty().jqGrid({url:o.conditionURI+"/"+presentationSetId,editurl:"clientArray",mtype:"GET",datatype:"json",width:600,height:"auto",hidegrid:!1,rowNum:100,colNames:[o.texts.presentation,o.texts.condition,""],colModel:[{name:"presentation",index:"presentation",width:180,sortable:!1,editable:!0,editrules:{edithidden:!0},edittype:"select",formatter:"select",editoptions:{value:o.presentationOptions}},{name:"condition",index:"condition",width:350,sortable:!1,editable:!0},{name:"act",index:"act",width:60,sortable:!1}],onSelectRow:function(id){var edit=!0;(id=parseInt(id,10))===newRowId&&(edit=function addGridRow(){var retVal=endEdit();return retVal&&grid.jqGrid("getInd",newRowId)>=0&&(grid.jqGrid("setRowData",newRowId,{id:newRowId,presentation:"",condition:"",act:getToolColumn(!1)}),initToolColumn(newRowId),addGridAddNewRow(),dataChanged(!0)),retVal}()),edit&&function editGridRow(id){var retVal=!1;return id!==lastSelectedId&&endEdit()&&(onEditStart&&onEditStart(grid,id),grid.jqGrid("editRow",id,!1,"clientArray"),lastSelectedId=id,retVal=!0,dataChanged(!0)),retVal}(id)},gridComplete:function(){if(first){first=!1;for(var ids=grid.jqGrid("getDataIDs"),i=0;i<ids.length;i++)grid.jqGrid("setRowData",ids[i],{act:getToolColumn(!1)}),initToolColumn(ids[i]);addGridAddNewRow()}}})}function initEdit(){var id=parseInt($("#presentationset-id").val(),10);$("#presentationset-form").submit((function(){return function saveChanges(){getConditionJSON&&$("#presentationset-conditions").val(getConditionJSON());$("#presentationset-form").valid()&&(o.message(o.texts.saving,"saving"),$.post(o.updateURI,$("#presentationset-form").serialize()).done((function(data){o.message(data.text,data.cssClass),0===parseInt(data.status,10)&&(dataChanged(!1),$("#presentationset-id").val(data.presentationSetId),loadList(data.presentationSetId))})).fail((function(ev){o.message(ev.statusText,"error")})))}(),!1})).data("validator",null).find("[data-valmsg-summary=true]").addClass("validation-summary-valid"),$.validator.unobtrusive.parse($("#presentationset-form")),$(o.undoElement).click((function(){return load(id,!0),!1})),$(o.deleteElement).click((function(){return function deletePresentationSet(id){confirm(o.texts.deleteConfirm)&&(o.message(o.texts.deleting,"loading"),$.post(o.deleteURI+"/"+id).done((function(data){o.message(data.text,data.cssClass),0===parseInt(data.status,10)&&load()})).fail((function(ev){o.message(ev.statusText,"error")})))}(id),!1})),manageDeleteElement(id>0),loadList(id),initConditionGrid(id),$("#presentationset-form :input,option").change((function(){dataChanged(!0)})).keyup((function(){dataChanged(!0)})),o.message(o.texts.loadingCompleted,"success"),id>0&&$.settings.setValue(o.idSetting,id),dataChanged(!1)}function initList(){$(".edit-item-list a").click((function(){return ensureNoChanges()&&(o.message(o.texts.loading,"loading"),$("#presentationset-edit-container").load($(this).attr("href"),initEdit)),!1}))}function loadList(selectedId){var uri=o.listURI;selectedId&&(uri+="/"+selectedId),$("#presentationset-list-container").load(uri,initList)}function load(presentationSetId,force){var id=parseInt(presentationSetId,10);(!0===force||ensureNoChanges())&&(id>=0?(o.message(o.texts.loading,"loading"),$("#presentationset-edit-container").load(o.editURI+"/"+id,initEdit)):($("#presentationset-edit-container").load(o.editURI),loadList(id),manageDeleteElement(!1)))}this.Tekla||(this.Tekla={}),this.Tekla.PresentationSet||(this.Tekla.PresentationSet={}),"function"!=typeof this.Tekla.PresentationSet.init&&(this.Tekla.PresentationSet.registerHandlers=function(handlers){handlers&&(onEditStart=handlers.onEditStart,onEditEnd=handlers.onEditEnd)}),"function"!=typeof this.Tekla.PresentationSet.init&&(this.Tekla.PresentationSet.init=function(options){o=$.extend(!0,{},defaults,options||{}),dataChanged(!1),initList(),0===$("#presentationset-id").length?load($.settings.getValue(o.idSetting)):initEdit()})}(jQuery);
!function($){"use strict";$.widget("tekla.translateresource",{options:{mainLanguage:"fi",languages:{en:"English",sv:"Svenska"},modelPrefix:"Translation",values:{}},_create:function(){var self=this,inputIndex=0;self._langData={},self.element.find(":input[data-translation-key]").each((function(){var $this=$(this),langDiv=$('<div class="translation-container"></div>').hide(),langToggle=$('<a class="icon icon-inline icon-translation translation-toggle" href="javascript:void(0)"></a>').click((function(){langDiv.toggle(250)}));$.each(self.options.languages,(function(langKey,lang){if(langKey!==self.options.mainLanguage){var translationKey=$this.attr("data-translation-key"),newId=$this.attr("id")+"_"+translationKey+"_"+inputIndex,namePrefix=self.options.modelPrefix+"["+inputIndex+++"]",label=$("label[for='"+$this.attr("id")+"']").text();self._langData[langKey]||(self._langData[langKey]=[]),self._langData[langKey].push({translationkey:translationKey,prefix:namePrefix,label:label,id:newId});var cloned=$this.clone().attr("id",newId).attr("name",namePrefix+".Text").removeAttr("data-val-required").removeAttr("data-translation-key").val(self.options.values[langKey+"_"+$this.attr("data-translation-key")]||"");langDiv.append('<label for="'+newId+'">'+label+"("+lang+")</label>"),langDiv.append('<input type="hidden" name="'+namePrefix+'.Key" value="'+$this.attr("data-translation-key")+'"/>'),langDiv.append('<input type="hidden" name="'+namePrefix+'.Language" value="'+langKey+'"/>'),langDiv.append(cloned)}})),$("label[for='"+$this.attr("id")+"']").append(langToggle);var $validationElement=$('span[data-valmsg-for="'+$this.attr("name")+'"]');$validationElement.length>0?$validationElement.after(langDiv):$this.after(langDiv)})),self.element.addClass(self.widgetBaseClass)},_refresh:function(){var oldMainLanguage,oldMainLanguageName,self=this,langData=self._langData[self.options.mainLanguage];langData&&($.each(self.options.languages,(function(langKey,lang){self._langData[langKey]||(oldMainLanguage=langKey,oldMainLanguageName=lang)})),self._langData[oldMainLanguage]=[],$.each(langData,(function(index,inputData){var prefix=function escapeAttributeValue(value){return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}(inputData.prefix),keyElem=self.element.find(':input[name="'+prefix+'.Key"]'),textElem=self.element.find(':input[name="'+prefix+'.Text"]'),mainElem=self.element.find(':input[data-translation-key="'+keyElem.val()+'"]'),oldVal=mainElem.val();mainElem.val(textElem.val()),textElem.val(oldVal),self.element.find(':input[name="'+prefix+'.Language"]').val(oldMainLanguage),self.element.find('label[for="'+inputData.id+'"]').text(inputData.label+"("+oldMainLanguageName+")"),self._langData[oldMainLanguage].push(inputData)})),delete self._langData[self.options.mainLanguage])},_setOptions:function(){$.Widget.prototype._setOptions.apply(this,arguments),this._refresh()}})}(jQuery);
!function($,globalContext){"use strict";var defaults={getUsersURI:"fi/Admin/User/GetUsers",getUserGroupsURI:"fi/Admin/User/GetUserGroups",editURI:"fi/Admin/User/Edit",addUserURI:"fi/Admin/User/AddUser",deleteUserURI:"fi/Admin/User/AddUser",addUserGroupURI:"fi/Admin/User/AddUserGroup",deleteUserGroupURI:"fi/Admin/User/DeleteUserGroup",groupHasRoleURI:"fi/Admin/User/GroupHasRole",getUsersForGroupURI:"fi/Admin/User/GetUsersForGroup",userGroups:null,texts:{yes:"Yes",no:"No",userName:"Username",fullName:"Name",isLocked:"Locked out",isActive:"Active",adminRights:"Admin rights",userRights:"Rights",userGroups:"Groups",allMunicipalities:"All",checkAll:"Check all",uncheckAll:"Uncheck all",nselected:"# selected"}};globalContext.Tekla||(globalContext.Tekla={}),globalContext.Tekla.Users||(globalContext.Tekla.Users=function(){var o=null,userList=null,userGroupList=null,selectedUserRow=null,selectedUserGroupRow=null;function manageButtonActivity(){var isUserSelected=null!==userList.jqGrid("getGridParam","selrow"),isUserGroupSelected=null!==userGroupList.jqGrid("getGridParam","selrow");$("#edit-user,#delete-user").prop("disabled",!isUserSelected),$("#edit-usergroup,#delete-usergroup").prop("disabled",!isUserGroupSelected)}function reloadUserGrids(){selectedUserRow=userList.jqGrid("getGridParam","selrow"),selectedUserGroupRow=userGroupList.jqGrid("getGridParam","selrow"),userList.jqGrid("setGridParam",{datatype:"json"}).trigger("reloadGrid"),userGroupList.jqGrid("setGridParam",{datatype:"json"}).trigger("reloadGrid")}function editUserOrGroup(name,url){var div=$('<div style="position:relative; width:100%; height:100px"><div class="animation-loading-big-center"><span class="animation-loading-big"></span></div></div>');url||(url=o.editURI),div.load(url,$.param({userName:name}),(function(){function setRightsGroupVisibility($groupElements,newVisibility){$groupElements.each((function(){var $groupElement=$(this),$list=$groupElement.children("ul"),visible=("boolean"!=typeof newVisibility?$list.toggle():$list.toggle(newVisibility)).first().is(":visible");$groupElement.children(".rightsgroup-header").find(".rightsgroup-toggle-icon").addClass("icon-inline").toggleClass("icon-open-section",!visible).toggleClass("icon-close-section",visible)}))}$.validator.unobtrusive.parse(div.find("form")),div.find("#edit-rights-tabs").tabs(),div.find(".button-cancel").click((function(){return div.dialog("close"),!1})),div.find("form").submit((function(){var $form=$(this);return $form.valid()&&(div.dialog("close"),$.post($form.attr("action"),$form.serialize()).done((function(res){EFBUtility.setNotificationPanel(res.text,res.cssClass),reloadUserGrids()})).fail(reloadUserGrids)),!1})).on("change",".roleCheckBox",(function(){var $checkbox=$(this);$checkbox.parent().find(".municipalitySelector").multiselect($checkbox.is(":checked")?"enable":"disable")})).on("change",".rightsgroup-container .roleCheckBox",(function(){!function updateRightsGroupSelectionCount($groupElements){$groupElements.each((function(){var $groupElement=$(this),$checkboxes=$groupElement.find(".roleCheckBox"),countAll=$checkboxes.length,countChecked=$checkboxes.filter(":checked").length,$headerElement=$groupElement.children(".rightsgroup-header");$headerElement.find(".selection-count").html("<span> ("+countChecked+"/"+countAll+")</span>"),$headerElement.toggleClass("all-selected",countChecked===countAll).toggleClass("none-selected",0===countChecked).each((function(){var $currentHeaderElement=$(this);$currentHeaderElement.find(".select-all").toggle(countChecked<countAll),$currentHeaderElement.find(".unselect-all").toggle(countChecked>0)}))}))}($(".rightsgroup-container").has(this))})).on("click",".select-all",(function(){$(this).closest(".rightsgroup-container").find(".roleCheckBox").prop("checked",!0).change()})).on("click",".unselect-all",(function(){$(this).closest(".rightsgroup-container").find(".roleCheckBox").prop("checked",!1).change()})).on("click",".rightsgroup-container .rightsgroup-toggle",(function(){setRightsGroupVisibility($(this).closest(".rightsgroup-container"))})),div.find(".rightsgroup-header").each((function(){$(this).prepend('<span class="rightsgroup-toggle-icon"></span> ').wrapInner('<span class="rightsgroup-toggle"></span>').append('<span> <span class="selection-count"></span> <span class="select-tools"><span class="select-all icon-inline icon-check-all" title="'+o.texts.checkAll+'"></span> <span class="unselect-all icon-inline icon-uncheck-all" title="'+o.texts.uncheckAll+'"></span></span></span>')})),setRightsGroupVisibility($(".rightsgroup-container"),!1),div.find(".flag-multiselect").each((function(){var $multiselectTarget=$(this);$multiselectTarget.multiselect({noneSelectedText:o.texts.allMunicipalities,checkAllText:o.texts.checkAll,uncheckAllText:o.texts.uncheckAll,selectedText:o.texts.nselected,header:$multiselectTarget.hasClass("flag-multiselect-header-empty")?"":$multiselectTarget.hasClass("flag-multiselect-header"),multiple:!$multiselectTarget.hasClass("flag-multiselect-single"),selectedList:4})})),div.find(".roleCheckBox").trigger("change"),div.dialog("open")})).dialog({position:"top",width:"700px",modal:!0,autoOpen:!1,close:function(){div.dialog("destroy").remove()}}),div.dialog("open")}function editUser(){return editUserOrGroup(getCurrentUserName(userList))}function editUserGroup(){return editUserOrGroup(getCurrentUserName(userGroupList))}function getCurrentUserName(table){var id=table.jqGrid("getGridParam","selrow");if(id){var rowData=table.jqGrid("getRowData",id);if(rowData)return rowData.userName}return null}function addUserGroup(){editUserOrGroup("",o.addUserGroupURI)}function addUser(){editUserOrGroup("",o.addUserURI)}return{init:function init(options){var yesNoValues="True:"+(o=$.extend({},defaults,options||{})).texts.yes+";False:"+o.texts.no;userList=$("#usersList"),userGroupList=$("#userGroupsList"),$(".ui-tabs").tabs({activate:function(event,ui){0===ui.newTab.index()?userList.setGridWidth($("#usersGridWrapper").width()):1===ui.newTab.index()&&userGroupList.setGridWidth($("#userGroupsGridWrapper").width())}}),userList.empty().jqGrid({url:o.getUsersURI,mType:"GET",datatype:"json",loadonce:!0,height:"100%",colNames:[o.texts.userName,o.texts.fullName,o.texts.isLocked,o.texts.isActive,o.texts.adminRights,o.texts.userRights,o.texts.userGroups],colModel:[{name:"userName",index:"userName",width:10,sortable:!0,searchoptions:{sopt:["cn"]}},{name:"fullName",index:"fullName",width:12,sortable:!0,searchoptions:{sopt:["cn"]}},{name:"isLocked",index:"isLocked",width:6,sortable:!0,stype:"select",searchoptions:{sopt:["eq"],value:yesNoValues}},{name:"isActive",index:"isActive",width:5,sortable:!0,stype:"select",searchoptions:{sopt:["eq"],value:yesNoValues}},{name:"adminRights",index:"adminRights",width:8,sortable:!0,stype:"select",searchoptions:{sopt:["eq"],value:yesNoValues}},{name:"userRights",index:"userRights",width:30,sortable:!0,search:!1,classes:"alignTop"},{name:"userGroups",index:"userGroups",width:30,sortable:!0,stype:"select",searchoptions:{sopt:["eq"],value:o.userGroups.map((function(item){return item.RoleName+":"+item.DisplayName})).join(";")},classes:"alignTop"}],rowNum:1e4,sortname:"userName",ignoreCase:!0,skipFilterOnSort:!0,onSelectRow:manageButtonActivity,ondblClickRow:editUser,gridComplete:function(){manageButtonActivity(),$(this).jqGrid("setGridParam",{datatype:"local"}),selectedUserRow&&$(this).jqGrid("setSelection",selectedUserRow),$(globalContext).trigger("resize")}}),$("#filter-users").click((function(){userList.jqGrid("setGridParam",{datatype:"json"}),userList.jqGrid("searchGrid",{sopt:["cn","eq","ne"],closeAfterSearch:!0,closeOnEscape:!0})})),$("#edit-user").click(editUser),$("#add-user").click(addUser),$("#delete-user").click((function(){confirm(o.texts.deleteUserConfirm)&&$.post(o.deleteUserURI,{user:getCurrentUserName(userList)}).done(reloadUserGrids)})),$("#edit-usergroup").click(editUserGroup),$("#add-usergroup").click(addUserGroup),$("#delete-usergroup").click((function(){confirm(o.texts.deleteUserGroupConfirm)&&$.post(o.deleteUserGroupURI,{group:getCurrentUserName(userGroupList)}).done(reloadUserGrids)})),userGroupList.empty().jqGrid({url:o.getUserGroupsURI,mType:"GET",datatype:"json",loadonce:!0,height:"100%",colNames:[o.texts.userName,o.texts.fullName,o.texts.adminRights,o.texts.userRights],colModel:[{name:"userName",index:"userName",width:10,sortable:!0,hidden:!0},{name:"fullName",index:"fullName",width:12,sortable:!0},{name:"adminRights",index:"adminRights",width:8,sortable:!0},{name:"userRights",index:"userRights",width:30,sortable:!0}],rowNum:1e3,sortname:"userName",ignoreCase:!0,skipFilterOnSort:!0,onSelectRow:manageButtonActivity,ondblClickRow:editUserGroup,gridComplete:function(){manageButtonActivity(),$(this).jqGrid("setGridParam",{datatype:"local"}),selectedUserGroupRow&&$(this).jqGrid("setSelection",selectedUserGroupRow),$(globalContext).trigger("resize")}}),EFBUtility.JQGrid.setGridResizer("#userGroupsList","#userGroupsGridWrapper"),EFBUtility.JQGrid.setGridResizer("#usersList","#usersGridWrapper"),manageButtonActivity()}}}())}(jQuery,window);
var Code=null;function CodeValue(){this.ControlValues=[]}"function"!=typeof CodeValue.prototype.hasControlValue&&(CodeValue.prototype.hasControlValue=function(controlValue){for(var retVal=!1,iControlValue=0;iControlValue<this.ControlValues.length&&!retVal;iControlValue++)parseInt(this.ControlValues[iControlValue],10)===parseInt(controlValue,10)&&(retVal=!0);return retVal}),"function"!=typeof CodeValue.prototype.addControlValue&&(CodeValue.prototype.addControlValue=function(controlValue){this.ControlValues.push(controlValue)}),function(){this.Code||(Code=this.Code={}),"array"!=typeof this.Code.codeDB&&(this.Code.codeDB=[]),"function"!=typeof this.Code.getAllCodeValues&&(this.Code.getAllCodeValues=function(codeType){for(var retVal=null,iCoding=0;iCoding<this.codeDB.length&&null===retVal;iCoding++)parseInt(this.codeDB[iCoding].codeType,10)===parseInt(codeType,10)&&(retVal=this.codeDB[iCoding].codingValues);return retVal}),"function"!=typeof this.Code.getAllCodeValuesByControl&&(this.Code.getAllCodeValuesByControl=function(codeType,controlValue,incNotInUse){var retVal=null,codingValues=this.getAllCodeValues(codeType);if(null!==codingValues){retVal=[];for(var iCodeValue=0;iCodeValue<codingValues.length;iCodeValue++)!codingValues[iCodeValue].InUse&&!incNotInUse||null!==controlValue&&!codingValues[iCodeValue].hasControlValue(controlValue)||retVal.push(codingValues[iCodeValue])}return retVal}),"function"!=typeof this.Code.getCodeValue&&(this.Code.getCodeValue=function(codeType,codeValue){var retVal=null,codingValues=this.getAllCodeValues(codeType);if(null!==codingValues)for(var iCodeValue=0;iCodeValue<codingValues.length&&null===retVal;iCodeValue++)parseInt(codingValues[iCodeValue].Value,10)===parseInt(codeValue,10)&&(retVal=codingValues[iCodeValue]);return retVal}),"function"!=typeof this.Code.getCodeText&&(this.Code.getCodeText=function(codeType,codeValue){var code=this.getCodeValue(codeType,codeValue);return null!==code?code.Text:""}),"function"!=typeof this.Code.getCodeControlValues&&(this.Code.getCodeControlValues=function(codeType,codeValue){var code=this.getCodeValue(codeType,codeValue);return null!==code?code.ControlValues:null}),"function"!=typeof this.Code.getCodeControlValues&&(this.Code.getCodeControlValues=function(codeType,codeValue){var code=this.getCodeValue(codeType,codeValue);return null!==code?code.ControlValues:null}),"function"!=typeof this.Code.hasCodeValueControl&&(this.Code.hasCodeValueControl=function(codeType,codeValue,controlValue){var retVal=!1,code=this.getCodeValue(codeType,codeValue);return null!==code&&(retVal=code.hasControlValue(controlValue)),retVal}),"function"!=typeof this.Code.getFirstCodeValueByControl&&(this.Code.getFirstCodeValueByControl=function(codeType,controlValue){var codeArray=this.getAllCodeValuesByControl(codeType,controlValue);return null!==codeArray&&codeArray.length>0?codeArray[0]:null})}(jQuery),function($){var EFBUtility=null;this.Tekla||(this.Tekla={}),this.EFBUtility||(EFBUtility=this.Tekla.Utility=this.EFBUtility={}),this.EFBUtility.JQGrid||(this.EFBUtility.JQGrid={}),this.EFBUtility.loadingCount=0,"function"!=typeof this.EFBUtility.enableHideableElements&&(this.EFBUtility.enableHideableElements=function(){$("div.hideable").hideable()}),"function"!=typeof this.EFBUtility.enableCollapsableElements&&(this.EFBUtility.enableCollapsableElements=function(){$("div.collapsable").collapsable()}),"function"!=typeof this.EFBUtility.onAjaxError&&(this.EFBUtility.onAjaxError=function(event,XMLHttpRequest){EFBUtility.hideLoadingNotificationPanel(event.type+": "+XMLHttpRequest.status+" - "+XMLHttpRequest.statusText,"error")}),"function"!=typeof this.EFBUtility.setNotificationPanel&&(this.EFBUtility.setNotificationPanel=function(text,cssClass,highlight){var panel=$("#notification-panel");panel.removeClass().addClass(cssClass).find(".notification-content-text").text(text),!0===highlight&&panel.is(":visible")&&panel.effect("highlight",{},200)}),"function"!=typeof this.EFBUtility.showLoadingNotificationPanel&&(this.EFBUtility.showLoadingNotificationPanel=function(text){this.loadingCount++,$("#notificationPanelClose").hide(),this.setNotificationPanel(text,"loading",!1)}),"function"!=typeof this.EFBUtility.hideLoadingNotificationPanel&&(this.EFBUtility.hideLoadingNotificationPanel=function(text,cssClass){this.loadingCount>0&&(this.loadingCount--,0===this.loadingCount&&(this.setNotificationPanel(text,cssClass,!1),$("#notificationPanelClose").show()))}),"function"!=typeof this.EFBUtility.disableButton&&(this.EFBUtility.disableButton=function(selector,buttonLabel){$(selector).each((function(){$(this).addClass("disabled").prop("disabled",!0),buttonLabel&&$(this).html(buttonLabel)}))}),"function"!=typeof this.EFBUtility.enableButton&&(this.EFBUtility.enableButton=function(selector,buttonLabel){$(selector).each((function(){$(this).removeClass("disabled").prop("disabled",!1),buttonLabel&&$(this).html(buttonLabel)}))}),"function"!=typeof this.EFBUtility.JQGrid.updateCurrentOptionList&&(this.EFBUtility.JQGrid.updateCurrentOptionList=function(jqGrid,colName,origList,currentId,newRowId){var newListArray=[],currentVal=null,values=null,ids=[],colValues=[];if(null!==jqGrid){$(jqGrid).jqGrid("setColProp",colName,{editoptions:{value:origList}}),values=origList.split(";"),ids=$(jqGrid).jqGrid("getDataIDs"),colValues=$(jqGrid).jqGrid("getCol",colName,!1);for(var iVal=0;iVal<values.length;iVal++){for(var found=!1,kvPair=values[iVal].split(":"),i=0;i<colValues.length&&!found;i++)colValues[i]!==kvPair[0]&&colValues[i]!==kvPair[1]||parseInt(ids[i],10)===parseInt(currentId,10)||parseInt(ids[i],10)===parseInt(newRowId,10)||(found=!0),void 0!==currentId&&parseInt(ids[i],10)!==parseInt(currentId,10)&&(currentVal=colValues[i]);found||newListArray.push(values[iVal])}null!==currentVal&&newListArray.length<=0&&newListArray.push(currentVal+":"+currentVal),$(jqGrid).jqGrid("setColProp",colName,{editoptions:{value:newListArray.join(";")}})}return newListArray.length}),"function"!=typeof this.EFBUtility.JQGrid.moveRowUpDown&&(this.EFBUtility.JQGrid.moveRowUpDown=function(obj,newRowId){var row=$(obj).parents("tr:first");$(obj).is(".jqrowup")?($.each(row.prev().find("td"),(function(i,obj){$(row).find("td:eq("+i+")").attr("style",$(obj).attr("style"))})),row.insertBefore(row.prev())):row.next().is(":not(#"+newRowId+")")&&row.insertAfter(row.next())}),"function"!=typeof this.EFBUtility.JQGrid.setGridResizer&&(this.EFBUtility.JQGrid.setGridResizer=function(grid,wrapper){var timer=null;grid&&wrapper&&($(wrapper).width()>0&&$(grid).setGridWidth($(wrapper).width()),$(window).bind("resize",(function setSize(){timer&&clearTimeout(timer),timer=setTimeout((function(){$(wrapper).width()>0&&$(grid).setGridWidth($(wrapper).width()),timer=null}),100)})))});var multiselectDefaults={selectedList:4,minWidth:100,texts:{checkall:"Check all",uncheckall:"Uncheck all",label:"All",nselected:"# selected",filter:"Filter",enterkeyword:"Keyword"}};"function"!=typeof this.EFBUtility.initMultiselect&&(this.EFBUtility.initMultiselect=function(selector,options){("string"==typeof selector?$(selector):selector).each((function(){var $this=$(this),o=$.extend(!0,{},multiselectDefaults,options||{}),additionalOptions={},classes=[],width=null;$this.hasClass("flag-multiselect-noselectall")&&(classes.push("hide-selectall"),$this.hasClass("flag-multiselect-header")&&(width=80,classes.push("hide-close"))),$this.hasClass("flag-multiselect-menu-upwards")&&(additionalOptions=$.extend({position:{my:"left bottom",at:"left top"}},additionalOptions)),$this.multiselect($.extend({checkAllText:o.texts.checkall,uncheckAllText:o.texts.uncheckall,noneSelectedText:o.texts.label,selectedText:o.texts.nselected,header:$this.hasClass("flag-multiselect-header-empty")?"":$this.hasClass("flag-multiselect-header"),multiple:!$this.hasClass("flag-multiselect-single"),classes:classes.join(" "),minWidth:o.minWidth,selectedList:o.selectedList},additionalOptions)),$this.hasClass("flag-multiselect-filter")&&$this.multiselectfilter({label:o.texts.filter,placeholder:o.texts.enterkeyword,width:width})}))}),function($){var defaults={cookieName:"efbSettings",cookieOptions:{}};$.settings=$.settings||{},$.extend($.settings,{_inited:!1,_container:{},_init:function($this){if(!$this._inited&&$.cookie){var options=$.extend({},defaults,$this.options),cookie=$.cookie(options.cookieName);if(null!==cookie){var cookieObj=$.parseJSON(cookie);$.each(cookieObj,(function(key,value){$this._container[key]=value}))}$this._inited=!0}return $this._inited},options:{},setValue:function(key,value){if(this._init(this)){this._container[key]=value;var options=$.extend({},defaults,this.options),settingsString=JSON.stringify(this._container);$.cookie(options.cookieName,settingsString,options.cookieOptions)}},getValue:function(key,defaultValue){var retVal=defaultValue||null;return this._init(this)&&this._container[key]&&(retVal=this._container[key]),retVal}})}($)}(jQuery);
if("undefined"!=typeof angular)var f=angular.module("imsApp",["ngSanitize","as.sortable","ui.slider","ngMaterial","ngResource"]).controller("VisibleLayersCtrl",["$scope","$http","$q","$filter","$sce",function($scope,$http,$q,$filter,$sce){function handleError(response){return $q.reject(response.data.Message)}$scope.visibleLayers=[],$scope.listClosed=!1,$scope.tabs=[],$("#map-metadata").draggable({containment:"window",handle:".draggable-title"}),$scope.toggle=function(){$scope.listClosed=!$scope.listClosed},$scope.closeInfo=function(){$scope.visible=!1},$scope.showLayerInfo=function(node){$scope.showInfo({key:node.key,ismetadata:node.hasmetadata,islegend:node.maplegendpath})},$scope.showBaseMapInfo=function(bm){var layer=window.Tekla.BaseMaps.get(bm);layer||(layer=window.Tekla.BaseMaps.getType(bm,!0)),layer&&$scope.showInfo({name:layer.label,key:layer.name,ismetadata:layer.hasmetadata,islegend:layer.maplegendpath})},$scope.showInfo=function(layer){$scope.tabs.length=0,(layer.ismetadata||layer.islegend)&&$http({method:"get",url:options.metadataURL.replace("_LR_",layer.key)}).then((function(response){if(response&&response.data){var data=response.data;data.LegendType&&$scope.tabs.push({type:"l",title:GetText("mapLegend"),datatype:data.LegendType,content:data.LegendValue,content2:$sce.trustAsHtml(data.LegendValue)}),data.Type&&$scope.tabs.push({type:"m",title:GetText("cl_additionalInfo"),datatype:data.Type,content:data.Value}),$scope.activeTab=$scope.tabs[0],$scope.visible=!0}}),handleError)},$scope.setBaseMap=function(baseMap){var found=$filter("filter")($scope.visibleLayers,{isbasemap:!0},!0),index=-1;found&&found.length>0?(index=$scope.visibleLayers.indexOf(found[0]),$scope.visibleLayers[index]=baseMap):($scope.visibleLayers.push(baseMap),index=$scope.visibleLayers.length),$scope.applyZIndex()},$scope.hideLayer=function(layer){var found=$filter("filter")($scope.visibleLayers,{key:layer.key},!0);found&&found.length>0&&($scope.visibleLayers.remove(found[0]),window.teklaMap.SetLayerVisible(found[0].key,!1,found[0].threed))},$scope.changeState=function(layer,select,threed){if(select)$scope.visibleLayers.unshift({name:layer.title,key:layer.key,isremovable:!0,ismetadata:layer.hasmetadata,islegend:layer.maplegendpath,isopacity:layer.isrst,order:layer.order,minZoom:layer.minZoom,maxZoom:layer.maxZoom,opacity:isNaN(layer.opacity)?1:layer.opacity,threed:threed}),window.Tekla.Layers.setZIndex(layer.key,$scope.visibleLayers.length);else{var found=$filter("filter")($scope.visibleLayers,{key:layer.key},!0);found&&found.length>0&&$scope.visibleLayers.remove(found[0])}},$scope.sortableOptions={orderChanged:function(){$scope.applyZIndex()},containerPositioning:"relative",containment:"#visible-layers-sortable",scrollableContainer:"#visible-layers-content"},$scope.applyZIndex=function(){for(var z=1,i=$scope.visibleLayers.length-1;i>=0;i--){var layer=$scope.visibleLayers[i];layer.isbasemap?window.Tekla.BaseMaps.setZIndexA(z):window.Tekla.Layers.setZIndex(layer.key,z),z++}},$scope.$watch((function($scope){return $scope.visibleLayers.map((function(layer){return layer.opacity}))}),(function(){$scope.refreshOpacity()}),!0),$scope.refreshVisibility=function(){for(var zoomNumber=window.teklaMap.getZoom(),i=0;i<$scope.visibleLayers.length;i++){var layer=$scope.visibleLayers[i],found=$filter("filter")($scope.visibleLayers,{key:layer.key},!0);found&&found.length>0&&($scope.visibleLayers[i].hidden=zoomNumber<found[0].minZoom||zoomNumber>found[0].maxZoom)}},$scope.refreshOpacity=function(){for(var i=0;i<$scope.visibleLayers.length;i++){var layer=$scope.visibleLayers[i];layer.opacity!==layer.po&&(layer.isbasemap?window.Tekla.BaseMaps.setOpacityA(layer.opacity):window.Tekla.Layers.setOpacity(layer.key,layer.opacity),layer.po=layer.opacity)}},$scope.onClickTab=function(tab){$scope.activeTab=tab},$scope.isActiveTab=function(tabType){return tabType==$scope.activeTab.type},$scope.toggleOpacity=function(layer){layer.showOpacity=!layer.showOpacity}}]).controller("SearchResultsCtrl",["$scope","$compile",function($scope){$scope.searchResults=[],$scope.refresh=function(model){$scope.searchResults=model},$scope.showItem=function(item){$_DBSelect(OBJ_SEARCH,item.id)&&showSite(OBJ_SEARCH,item.id)}}]).directive("resizable",(function(){return{restrict:"A",scope:{callback:"&onResize"},link:function(scope,elem){elem.resizable({minHeight:200,minWidth:350}),elem.on("resize",(function(evt,ui){scope.$apply((function(){scope.callback&&scope.callback({$evt:evt,$ui:ui})}))}))}}})).directive("slider",(function(){return{restrict:"A",scope:{opacity:"=model"},link:function(scope,elem,attrs){scope.$watch(attrs.model,(function(v){$(elem).slider("value",v)})),$(elem).slider({range:!1,min:0,max:1,step:.05,slide:function(event,ui){scope.$apply((function(){scope.opacity=ui.value}))}})}}})).controller("PointCloudCtrl",["$scope","$resource",function($scope,$resource){$scope.visible=!1,$scope.settings={pointSize:5,coloringMethod:"RGB",zMax:200,zMin:-100,zMaxScale:200,zMinScale:-100},$scope.setView=function(tool){window.Tekla.ThreeD.presetView(tool)},$scope.close=function(){$scope.visible=!1},$scope.show=function(){$scope.visible=!0},$scope.pointCloudClassifications=[],$scope.loadClassifications=function(url){$resource(url).query().$promise.then((function(_classifications){if($scope.pointCloudClassifications=[],_classifications)for(var i=0;i<_classifications.length;i++){for(var x=_classifications[i],className="",q=0;q<x.names.length;q++){var z=x.names[q];z.culture.startsWith("fi")&&(className=z)}$scope.pointCloudClassifications.push({value:x.value,className:className.text,visible:x.visible,color:x.color})}}))},$scope._updated=!1,$scope.coloringModes=[{id:"RGB",tag:"PointCloudColor"},{id:"HEIGHT",tag:"ColorByHeight"},{id:"CLASSIFICATION",tag:"ColorByClassification"}],$scope.refresh=function(){$scope.updateMinMax();for(var i=0;i<$scope.pointCloudClassifications.length;i++)$scope.pointCloudClassifications[i].visible=!0;$scope.coloringChanged()},$scope.updateMinMax=function(){var potree=$scope.potree();if(potree){var range=potree.elevationRange;range&&range.length>=2&&($scope.settings.zMinScale=range[0].toFixed(1),$scope.settings.zMaxScale=range[1].toFixed(1))}},$scope.viewer=function(){return window.teklaMap3.threeDViewer},$scope.potree=function(){var viewer=$scope.viewer();return viewer?viewer.plugins.potree:null},$scope.setPointBudget=function(potree){var pointBudget=options.pointBudget;potree.pointBudget=pointBudget&&pointBudget>=15e5&&pointBudget<=2e7?pointBudget:5e6},$scope.onPointSizeSliderChange=function(){$scope._updated||($scope._updated=!0,$scope.updateMinMax()),$scope.settings.pointSize<0&&($scope.settings.pointSize=0),$scope.settings.pointSize>20&&($scope.settings.pointSize=20);var pointSize=Math.round(10*$scope.settings.pointSize)/10,potree=$scope.potree();potree&&(potree.pointSize=pointSize,$scope.setPointBudget(potree))},$scope.setHeightValues=function(){var potree=$scope.potree();$scope.settings.zMin<$scope.settings.zMinScale&&($scope.settings.zMin=$scope.settings.zMinScale),$scope.settings.zMax>$scope.settings.zMaxScale&&($scope.settings.zMax=$scope.settings.zMaxScale),potree.elevationRange=[$scope.settings.zMin,$scope.settings.zMax]},$scope.onZMaxSliderChange=function(){$scope.setHeightValues()},$scope.onZMinSliderChange=function(){$scope.setHeightValues()},$scope.coloringChanged=function(){var plugin=$scope.potree();if(plugin){plugin.pointColorType=$scope.settings.coloringMethod,plugin.pointSize=$scope.settings.pointSize,$scope.setPointBudget(plugin),plugin.elevationRange=[$scope.settings.zMin,$scope.settings.zMax];for(var i=0;i<$scope.pointCloudClassifications.length;i++){var classification=$scope.pointCloudClassifications[i];plugin.setClassification(classification.value,$scope.htmlStringToColorRGBA(classification.color,classification.visible))}}},$scope.htmlStringToColorRGBA=function(htmlColorString,visible){return{r:parseInt(htmlColorString.slice(1,3),16)/255,g:parseInt(htmlColorString.slice(3,5),16)/255,b:parseInt(htmlColorString.slice(5,7),16)/255,a:visible?1:0}},$scope.toggleClassVisibility=function(classId){for(var classification=null,i=0;i<$scope.pointCloudClassifications.length;i++){var classificationC=$scope.pointCloudClassifications[i];classificationC.value==classId&&(classification=classificationC)}classification&&(classification.visible=!classification.visible,$scope.potree().setClassification(classification.value,$scope.htmlStringToColorRGBA(classification.color,classification.visible)))}}]);
!function($,window){"use strict";var name="tekla.ims.embedmap";window.Tekla||(window.Tekla={});var defaults={baseURL:"http://localhost"};function EmbedMap(element,options){this.element=element,this.options=$.extend({},defaults,options),this._defaults=defaults,this._init()}if(EmbedMap.prototype._init=function(){var self=this,$elem=$(self.element);$elem.find(".close-element").click((function(){return self.close(),!1})),$elem.find(".copy-to-clipboard").click((function(){return self._updateFields(),Browser$ClipBoard($elem.find(".embedmap-locationlink")[0]),!1})),self.options.cssClasses&&$elem.addClass(self.options.cssClasses),self.options.title&&$elem.find(".title").text(self.options.title),self.options.tip&&$elem.find(".tip").attr("title",self.options.tip),$elem.find(".embed-change").change((function(){self.options.uizoom=$elem.find(".embed-change.zoom").is(":checked"),self.options.uigeoloc=$elem.find(".embed-change.geoloc").is(":checked"),self.options.uiopen=$elem.find(".embed-change.open").is(":checked"),self.options.uibasemapselector=$elem.find(".embed-change.basemapselector").is(":checked");try{document.getElementById("embedmap").contentWindow.setLocationData({uispecs:[{element:"zoom",enable:$elem.find(".embed-change.zoom").is(":checked")},{element:"geoloc",enable:$elem.find(".embed-change.geoloc").is(":checked")},{element:"open",enable:$elem.find(".embed-change.open").is(":checked")},{element:"basemapselector",enable:$elem.find(".embed-change.basemapselector").is(":checked")}]})}catch(e){}})),$elem.find(".embed-size").change((function(){var width=$elem.find(".embed-size.width").val(),height=$elem.find(".embed-size.height").val();self.options.width=width,self.options.height=height,$("#embedmap").css("height",height).css("width",width),self._center(),self._updateFields()})),$elem.find(".embedmap-locationlink").focus((function(){self._updateFields(),$(this).select()}))},EmbedMap.prototype.update=function(){this._updateFields()},EmbedMap.prototype._getValues=function(){var self=this,retVal={};return retVal.url=function getURL(){if(self.options.overrideURL)return self.options.overrideURL;var layerString="",selectedKeys=self.options.layers;if(selectedKeys&&selectedKeys.length>0)for(var i=0;i<selectedKeys.length;i++)layerString+="&lon="+$_ENCODE(selectedKeys[i]);var uiOptions=[];return self.options.uizoom&&uiOptions.push("z"),self.options.uigeoloc&&uiOptions.push("g"),self.options.uiopen&&uiOptions.push("o"),self.options.uibasemapselector&&uiOptions.push("b"),options.appPath+"/"+(options.lang||"fi")+"/embed?layers="+encodeURIComponent(self.options.baseMap)+layerString+"&cp="+self.options.cp[0]+","+self.options.cp[1]+"&z="+self.options.zoom+"&ui="+uiOptions.join("!")}(),retVal},EmbedMap.prototype._center=function(){var dlg=$(this.element);dlg.css("top",Math.max(0,($(window).height()-dlg.outerHeight())/2+$(window).scrollTop())+"px"),dlg.css("left",Math.max(0,($(window).width()-dlg.outerWidth())/2+$(window).scrollLeft())+"px")},EmbedMap.prototype._updateFields=function(){var $elem=$(this.element);try{var res=document.getElementById("embedmap").contentWindow.getLocationData();this.options.baseMap=res.baseMap||this.options.baseMap,this.options.cp=res.cp||this.options.cp,this.options.zoom=res.zoom||this.options.zoom}catch(e){}$elem.find(".embedmap-locationlink").val('<iframe width="'+this.options.width+'" height="'+this.options.height+'" style="border:0" frameborder="0" src="'+this._getValues().url+'"></iframe>')},EmbedMap.prototype.close=function(){$(this.element).hide()},EmbedMap.prototype.destroy=function(){this.close(),$(this.element).remove()},EmbedMap.prototype.show=function(){$(this.element).show()},EmbedMap.prototype.toggle=function(){var $elem=$(this.element);$elem.is(":visible")?$elem.hide():$elem.show()},$.fn.embedmap=function(options){if(!("string"==typeof options&&this.length>0))return this.each((function(){$(this).data(name)||$(this).data(name,new EmbedMap(this,options))}));var args=arguments,instance=$(this).data(name);return instance&&instance[options]?instance[options].apply(instance,$.makeArray(args).slice(1)):void 0},window.Tekla||(window.Tekla={}),!window.Tekla.EmbedMap)var embedmap=window.Tekla.EmbedMap={linkwindows:[],update:function(north,east){$(embedmap.linkwindows).each((function(){this.embedmap("update",north,east)}))},closeAll:function(){$(embedmap.linkwindows).each((function(){this.embedmap("destroy")})),embedmap.linkwindows=[]},show:function(cp,zoom,layers){embedmap.linkwindows.length>0&&this.closeAll(),this._show({baseURL:options.appPath,lang:options.lang,baseMap:Tekla.BaseMaps.active().label,cp:cp,zoom:zoom,layers:layers,width:400,height:400,uizoom:!0,uigeoloc:!0,uiopen:!0,title:GetText("locationLink"),tip:GetText("locationLinkHelp")})},_show:function(options){var layerString="",selectedKeys=options.layers;if(selectedKeys&&selectedKeys.length>0)for(var i=0;i<selectedKeys.length;i++)layerString+="&lon="+$_ENCODE(selectedKeys[i]);var url=options.baseURL+"/"+(options.lang||"fi")+"/embed?layers="+encodeURIComponent(options.baseMap)+layerString+"&cp="+options.cp[0]+","+options.cp[1]+"&z="+options.zoom,elem=$("#embedmap-template").clone().removeAttr("id");$('<iframe src="'+url+'" frameborder="0" style="width: 400px; height: 400px;" scrolling="no" id="embedmap"></iframe>').appendTo(elem.find("#place-holder")),elem.embedmap(options),elem.appendTo(".main-content"),embedmap.linkwindows.push(elem),elem.embedmap("show"),elem.embedmap("_center"),elem.embedmap("_updateFields")}}}(jQuery,window);
function postLoad(){var bodyText=$("#postFrame").contents().text();if(bodyText&&bodyText.length>1){var result=$_EVALJSON(bodyText);if(result)if(result.status){Tekla.FeedbackWindow&&Tekla.FeedbackWindow.hide();var $dlg=$("#feedback-message");$dlg.find(".feedback-warning").text(result.deniedfiletype?GetText("cl_attachmentDenied"):""),window.teklaMap._UserPositionDelete(),$dlg.dialog({modal:!0,buttons:{OK:function(){$(this).dialog("close")}}})}else alert(GetText("cl_errorSavingFeedback"))}}function $_linkShowFeedback(action){Tekla.FeedbackWindow&&Tekla.FeedbackWindow.show(),action.target}function showExtendedFeedback(){Tekla.FeedbackWindow&&Tekla.FeedbackWindow.show()}function showFeedbackById(DBIndex,Id,event){hideInfo(),event&&cancelEventPropagation(event);var obj=$_DBSelect(DBIndex,Id);if(obj&&Tekla.FeedbackWindow){Tekla.FeedbackWindow.show();var $form=$("#extendedFeedbackForm");$form.find("input[name=north]").val(obj.North),$form.find("input[name=east]").val(obj.East)}}function $_extendedFeedbackTargetSelected(north,east){var form=document.extendedFeedbackForm;window.teklaMap._UserPositionHideDelayed(),form.north.value=north,form.east.value=east,form.PointedLocation.checked=!0}function extendedFeedbackSubmit(frm,map){var errors=!1;if(frm.Description&&frm.Description.value.length<1)return alert(GetText("cl_feedbackFillDescriptionField")),!0;if(frm.referenceid)frm.RefIdLocation&&frm.RefIdLocation.checked||frm.PointedLocation.checked&&(String.IsPrintable(frm.north.value)&&String.IsPrintable(frm.east.value)||(alert(GetText("cl_noPointedLocation")),errors=!0));else if(frm.NoLocation&&frm.NoLocation.checked);else if(frm.PointedLocation&&frm.PointedLocation.checked)String.IsPrintable(frm.north.value)&&String.IsPrintable(frm.east.value)||(frm.NoLocation?confirm(GetText("cl_noPointedLocationSendFeedbackAnyway"))?(frm.NoLocation.checked=!0,frm.PointedLocation.checked=!1):errors=!0:(alert(GetText("cl_noPointedLocation")),errors=!0));else if(frm.OwnObjects&&frm.OwnObjects.checked){0==MySitesDB.Count()?confirm(GetText("cl_noOwnObjectsSendFeedbackAnyway"))?frm.MapItems.value="":errors=!0:frm.MapItems.value=JSON.stringify(map.GetDrawingsJSON((function(){return{Attributes:["Name","Explanation","Geometry"]}})))}return 0!=errors||(frm.layer.value=$_ENCODE_Safe(window.teklaMap.GetActiveThemeName()),frm.layerscript.value=$_generateLayerOnOff(),frm.submit(),!1)}!function($,window){"use strict";var currentFeedbackWindowSingleton;(window.Tekla||(window.Tekla={}),window.Tekla.FeedbackWindow)||(window.Tekla.FeedbackWindow={_wordlist:null,_map:null,init:function(wordlist,map){this._wordlist=wordlist,this._map=map;var $elem=$("#feedback-window-template");$elem.find(".close-window").click((function(){return $elem.hide(),"function"==typeof self.options.onClose&&self.options.onClose(),!1})),$elem.resizable({minHeight:300,minWidth:350,handles:"n, se, s, w, sw"}),$elem.bind("resize",(function(){var $t=$(this),height=$t.outerHeight()-$t.find(".feedback-window-title").outerHeight()-$t.find(".feedback-window-footer").outerHeight();$t.find(".feedback-window-container").css("height",height)})),$elem.draggable({containment:"window",handle:".feedback-window-title"}),$elem.center(),currentFeedbackWindowSingleton=$elem},hide:function(){currentFeedbackWindowSingleton&&currentFeedbackWindowSingleton.hide()},show:function(){this.options=options||{},this.hide(),currentFeedbackWindowSingleton.show().trigger("resize"),$_clearForm(document.extendedFeedbackForm)},selecttarget:function(){positionTarget="emodel",setStatus(GetText("cl_selectFeedbackTarget")),startPositionSelect()},submit:function(frm){return extendedFeedbackSubmit(frm,this._map)},changeCategory:function(){if(this._wordlist){var i,j,$form=$("#extendedFeedbackForm"),targetvalue=$form.find("#Target").val(),subject=$form.find("#Subject");for(subject.find("option").remove(),i=0;i<this._wordlist.length;i++)if(this._wordlist[i].Name==targetvalue)for(j=0;j<this._wordlist[i].Words.length;j++)subject.append($("<option></option>").val(this._wordlist[i].Words[j]).html(this._wordlist[i].Words[j]))}}})}(jQuery,window);
!function($,window){"use strict";var currentWindowSingleton;(window.Tekla||(window.Tekla={}),window.Tekla.HTMLWindow)||(window.Tekla.HTMLWindow={show:function(html,options){this.options=options||{};var self=this;currentWindowSingleton&&(currentWindowSingleton.hide(),currentWindowSingleton.remove());var $elem=$("#html-window-template").clone().removeAttr("id"),$content=$elem.find(".html-window-content").empty();html&&$content.append(html),$elem.find(".close-window").click((function(){return $elem.hide(),$elem.remove(),"function"==typeof self.options.onClose&&self.options.onClose(),!1})),$elem.resizable({minHeight:200,minWidth:470,handles:"n, se, s, w, sw"}),$elem.bind("resize",(function(){var $t=$(this),height=$t.outerHeight()-$t.find(".html-window-title").outerHeight()-$t.find(".html-window-footer").outerHeight();$t.find(".html-window-container").css("height",height)})),$elem.draggable({containment:"window",handle:".html-window-title"}),$elem.appendTo("body"),$elem.center(),$elem.show().trigger("resize"),currentWindowSingleton=$elem}})}(jQuery,window);
$((function(){$("#body").removeClass("loading")})),window.Tekla||(window.Tekla={}),window.Tekla.SiteInit=function(options){options.getCurrentPresentation=function(){return $(".default-presentationselector").presentationselector("getPresentation")},options.nodefaultcopyright=!0,options.basemapmetacb=function(bm){var scope=angular.element($("#visible-layers")).scope();scope&&scope.$evalAsync((function(){scope.showBaseMapInfo(bm)}))},options.initMapObjectSelection=!0;var map=new tekla.Map("lmapcontainer",options);function _closePopupMenuAll(){$(".popup-autoclose").hide()}function openMainMenu(immediate){_closePopupMenuAll(),$(".mob-menu-contentitem").hide(),$("#mob-menu-content-main").show(),$("#mob-welcome-box").hide(),$(".menu-option-list > li").removeClass("active"),immediate?$(".menu-menu").show():$(".menu-menu").show("slide",{direction:"left"},400),$("body").addClass("menuopen")}function closeMainMenu(){$(".menu-menu").hide("slide",{direction:"left"},400),$("body").removeClass("menuopen"),$("#mob-submenu-contentarea").hide()}function navigateTo(event,id,source){$(".mob-submenu-contentitem").hide(),$("#mob-submenu-contentarea").show(),$(id).show(),$(".menu-option-list > li").removeClass("active"),$("."+source).parents("li.menu-item").addClass("active"),event.preventDefault(),event.stopPropagation()}map.AddControl({geolocation:{control:$("#ims-tb-geoloc")[0],margin:{bottom:12}},zoomin:{control:$("#ims-tb-zoomin")[0]},zoomout:{control:$("#ims-tb-zoomout")[0]},measure:!1!==options.showMeasure&&{control:$("#ims-tb-distance")[0]},scale:!1!==options.showScale&&{control:$(".dt-map-scale")[0]},copyright:{control:$(".dt-map-copyright")[0]}}),!0===options.visualizeNamedAreas&&map.AddControl({namedareasvisualizer:!0}),map.AddControl({basemapswitcher:{control:$("#basemap-switcher")[0],threedcontrol:$("#threedbasemap-switcher")[0]}}),map.AddControl({popup:{items:{what:!0,adddrawings:!1!==options.enableCopyingOfDrawings,clearSearch:!0,print:!0,maplink:!0}}}),map.Bind(tekla.Map.EVENT.BASEMAPCHANGED,(function(){var scope=angular.element($("#visible-layers")).scope(),t=Tekla.BaseMaps.active();if(scope){var isThreeD=Tekla.BaseMaps.activeIsThreeD();scope.$evalAsync((function(){scope.setBaseMap({key:t.name,name:t.label,isremovable:!1,ismetadata:t.hasmetadata,islegend:t.maplegendpath,isopacity:!isThreeD,order:1e3,isbasemap:!0,opacity:isNaN(t.opacity)?1:t.opacity,threed:isThreeD})}))}})),map.Bind(tekla.Map.EVENT.SHOWPROPERTIES,(function(eventName,html,target){target&&"sw"===target&&$_showSiteResultWnd('<div id="inforesults">'+html+"</div>")})),window.Tekla.MapLayers.init("layerTree",options.mapData.layers,options.layersOn,(function(layer,select){var scope=angular.element($("#visible-layers")).scope();scope&&scope.$evalAsync((function(){scope.changeState(layer,select,!1)}))}),(function(){var scope=angular.element($("#visible-layers")).scope();scope&&scope.$evalAsync((function(){scope.refreshVisibility()}))}),(function(node){var scope=angular.element($("#visible-layers")).scope();scope&&scope.$evalAsync((function(){scope.showLayerInfo(node)}))}),map),window.Tekla.ThreeDMapLayers.init("threeDLayerTree",options.mapData.threedlayers,options.layersOn,(function(layer,select){var scope=angular.element($("#visible-layers")).scope();scope&&scope.$evalAsync((function(){scope.changeState(layer,select,!0)}))}),(function(node){var scope=angular.element($("#visible-layers")).scope();scope&&scope.$evalAsync((function(){scope.showLayerInfo(node)}))}),map),window.Tekla.ServiceSearch.init("servicetree",options.mapData.serviceTree,"expand-all","collapse-all",options.serviceSearchOpenExpanded),window.Tekla.SideBar=new window.Tekla.SideWindow,options.mapData.feedbackData&&window.Tekla.FeedbackWindow.init(options.mapData.feedbackData,map),map.GetNamedAreas()&&map.AddNamedAreaMenu("NamedAreas"),map.Init(!0),window.Tekla.Layers.applyvector(),window.teklaMap3&&window.Tekla.ThreeDMaterial&&window.Tekla.ThreeDMapLayers.applyInitialState(),$(".cluetip").cluetip({splitTitle:"|",showTitle:!1}),$("#q").autocomplete({source:options.autoCompleteURL,minLength:3,delay:500,select:function(event,ui){return $("#q").val(ui.item.label),$("#uid").val(ui.item.value),$("#search").submit(),$("#uid").val(""),!1},focus:function(event,ui){this.value=ui.item.label,event.preventDefault()},appendTo:"#autocomplete"}).click((function(){setTimeout((function(){if($("#q").is(":visible")){var aComplete=$("#q").data("uiAutocomplete");aComplete.menu.refresh(),aComplete.menu.element.show()}}),200)})).data("uiAutocomplete")._renderItem=function(ul,item){var retVal=$("<li></li>").data("ui-autocomplete-item",item);return item.label&&retVal.append("<a>"+item.label+"</a>"),retVal.appendTo(ul)},$("#search").submit((function(e){var form=document.search;return e.preventDefault(),doSearch(form,(function(model){var scope=angular.element($("#pane-search")).scope();setTimeout((function(){$(".pane").show(),$(".pane-content").hide(),$("#pane-search").show(),scope.$apply((function(){scope.refresh(model)}))}),0)})),!1})),$("#clear-search").click((function(){$(".pane").hide(),$("#searchboxinput").val(""),window.Tekla.SearchEngineResultWindow&&window.Tekla.SearchEngineResultWindow.close(),closeMainMenu(),window.teklaMap._ClearDynContext(),curPrSet=null})),$("#searchbox-additionalsearch").click((function(){var c=$("#additional-search-menu");c.is(":visible")?_closePopupMenuAll():(_closePopupMenuAll(),closeMainMenu(),c.show())})),$("#current-issues-toggle").click((function(){$(".current-issues-container").toggle()})),$(".loggedin-details").click((function(){$(".loggedin-container").toggle()})),$("#q").attr("autocomplete","off"),$("#q").placeholder(),$("#advancedq").placeholder(),$("#default-presentationselector").presentationselector(),$("#ims-tb-settings").click((function(){return $("#menu-settings").toggle(),!1})),$(".action-locationlink").click((function(){var cp=get_Center(!0);return window.Tekla.MapLink.show(cp.n,cp.e),_closePopupMenuAll(),!1})),$(".action-embedmap").click((function(){var cp=get_Center(!0),zoom=window.teklaMap.GetZoom(),selectedKeys=Tekla.Layers.getselected(!1);return window.Tekla.EmbedMap.show([cp.n,cp.e],zoom,selectedKeys),_closePopupMenuAll(),!1})),$(".action-servicesearch").click((function(){return _closePopupMenuAll(),window.Tekla.ServiceSearch.toggle(),!1})),$(".action-freesites-search").click((function(){return _closePopupMenuAll(),Tekla.SideBar.ensureopen(),$("#pane-freesites-search").show(),!1})),$(".action-area-search").click((function(){return _closePopupMenuAll(),$(".pane").show(),$(".pane-content").hide(),$("#pane-area-search").show(),!1})),$(".action-myobjects").click((function(){return window.Tekla.MyObjects.toggle(),_closePopupMenuAll(),!1})),$("#menu-layer-selector .expand").click((function(){return window.Tekla.Layers.travel(!0),!1})),$("#menu-layer-selector .collapse").click((function(){return window.Tekla.Layers.travel(!1),!1})),$(".sw-pane-toggle-button").click((function(){Tekla.SideBar.togglePane()})),$("#menu-threedlayer-selector .expand").click((function(){return window.Tekla.ThreeDMapLayers.travel(!0),!1})),$("#menu-threedlayer-selector .collapse").click((function(){return window.Tekla.ThreeDMapLayers.travel(!1),!1})),$(".action-pointcloud-settings").click((function(){return window.Tekla.ThreeD&&window.Tekla.ThreeD.showPointCloudSettings(),_closePopupMenuAll(),!1})),window.Tekla.MyObjects.init({appPath:options.appPath,apiUrl:options.collectionApiURL,db:MySitesDB,map:map,lang:options.lang,loadCollectionList:options.isAuthenticated,collectionId:options.collectionId,collectionIsOwn:options.collectionIsOwn,setPresentation:function(event){$("#default-presentationselector").presentationselector("toggle",event)},hidePresentation:function(event){$("#default-presentationselector").presentationselector("hide",event)},defaultPresentation:{Name:options.texts.cl_ownDrawing},texts:options.texts,mcebase:options.appPath+"/scripts/tinymce"}),"undefined"!=typeof tinymce&&(tinymce.baseURL=options.appPath+"/scripts/tinymce",tinymce.init({mode:"none",language:options.lang,menubar:"edit insert view format",plugins:["advlist autolink lists link image charmap anchor visualblocks code table"],statusbar:!1,toolbar:!1,promotion:!1})),map.on("mousedown touchstart mousewheel",(function(){_closePopupMenuAll()})),$(".shortcut-layers").click((function(event){openMainMenu(!1),navigateTo(event,map._getIsThreeDMode()?"#menu-threedlayer-selector":"#menu-layer-selector","menu-icon32-layers")})),$(".shortcut-basemaps").click((function(event){openMainMenu(!1),navigateTo(event,"#menu-basemap-selector","menu-icon32-basemap")})),$(".fu-menu-back").click((function(event){$("#mob-menu-content-main").is(":visible")?closeMainMenu():openMainMenu(),event.preventDefault(),event.stopPropagation()})),$(".mob-menu-toggle").click((function(event){$("#mob-menu-content-main").is(":visible")?closeMainMenu():openMainMenu(),event.preventDefault(),event.stopPropagation()})),$(".menu-command").click((function(event){var self=$(this),target=self.data("target-div"),source=self.data("source");$(".menu-option-list > li.active > a").data("target-div")==target?closeMainMenu():navigateTo(event,"menu-icon32-layers"==source?map._getIsThreeDMode()?"#menu-threedlayer-selector":"#menu-layer-selector":"#"+target,source)})),$(".close-current-issues").click((function(){$(".current-issues-container").hide()}))},window.Tekla.EmbedInit=function(options){options.getCurrentPresentation=function(){return $(".default-presentationselector").presentationselector("getPresentation")},options.copyrightOffset={left:5},options.enableCopyingOfDrawings=!1,options.nodefaultcopyright=!0;var map=new tekla.Map("lmapcontainer",options);map.SetControlOffsets({topleft:{left:4,top:4}}),map.AddControl({geolocation:(!options.uioptions||-1!=options.uioptions.indexOf("g"))&&{control:$("#ims-tb-geoloc")[0],margin:{bottom:12}},zoomin:(!options.uioptions||-1!=options.uioptions.indexOf("z"))&&{control:$("#ims-tb-zoomin")[0]},zoomout:(!options.uioptions||-1!=options.uioptions.indexOf("z"))&&{control:$("#ims-tb-zoomout")[0]},scale:!1!==options.showScale&&{control:$(".dt-map-scale")[0]},copyright:{control:$(".dt-map-copyright")[0]}}),options.uioptions&&-1==options.uioptions.indexOf("b")||map.AddControl({basemapswitcher:{column:1,offset:{left:54}}}),map.AddControl({popup:{items:{clearSearch:!0}}}),(!options.uioptions&&options.showOpenInNewWindow||-1!=options.uioptions.indexOf("o"))&&map.AddControl({openinnewwindow:!0}),map.Bind(tekla.Map.EVENT.BASEMAPCHANGED,(function(){})),map.Bind(tekla.Map.EVENT.SHOWPROPERTIES,(function(){})),window.Tekla.MapLink=null,map.Init(!0),window.Tekla.Layers.applyvector(),window.Tekla.MyObjects.init({appPath:options.appPath,apiUrl:options.collectionApiURL,db:MySitesDB,map:map,lang:options.lang,loadCollectionList:!1,collectionId:options.collectionId,collectionIsOwn:!1,setPresentation:function(){},hidePresentation:function(){},defaultPresentation:{Name:options.texts.cl_ownDrawing},texts:options.texts})};
!function($,window){if(Array.prototype.move=function(oldindx,newindx){if(newindx>=this.length)for(var k=newindx-this.length;1+k--;)this.push(void 0);newindx>=0&&this.splice(newindx,0,this.splice(oldindx,1)[0])},window.Tekla||(window.Tekla={}),!window.Tekla.MapCollection){var defaults={apiUrl:"/ims/api/mapcollection"};window.Tekla.MapCollection={init:function(options){opts=$.extend(!0,{},defaults,options||{})},add:function(data,cb,errorcb,completecb){$.ajax({type:"POST",url:opts.apiUrl,data:JSON.stringify(data),dataType:"json",contentType:"application/json",success:cb,error:errorcb,complete:completecb})},update:function(data,cb,errorcb,completecb){$.ajax({type:"PUT",url:opts.apiUrl+"/"+data.CollectionId,data:JSON.stringify(data),dataType:"json",contentType:"application/json",success:cb,error:errorcb,complete:completecb})},remove:function(id,cb,errorcb,completecb){$.ajax({type:"DELETE",url:opts.apiUrl+"/"+id,dataType:"json",success:cb,error:errorcb,complete:completecb})},exportkml:function(id,cb,errorcb,completecb){$.ajax({type:"GET",url:opts.apiUrl+"/v2/export/"+id,dataType:"json",success:cb,error:errorcb,complete:completecb})},fetch:function(id,cb,errorcb,completecb){$.ajax({type:"GET",url:opts.apiUrl+"/"+id,dataType:"json",success:cb,error:errorcb,complete:completecb})},fetchList:function(cb,errorcb,completecb){$.ajax({type:"GET",url:opts.apiUrl,dataType:"json",success:cb,error:errorcb,complete:completecb})}}}if(window.Tekla.MyObjects=window.Tekla.MyObjects||{},!window.Tekla.MyObjects.init){var opts,container,DB,map,tabs,texts={},activeCollection=(defaults={map:null,db:null,collectionId:null,collectionIsOwn:!1,loadCollectionList:!1,defaultPresentation:{Name:"Own object"},setPresentation:null,texts:texts},null),collectionIsDirty=!1;!function(){function insertItemIntoDB(db,item){var obj=new SR_Geo(item.name,item.tip);return obj.set_Geometry(item.geometry),obj.set_Presentation(item.presentation),obj.Explanation=item.explanation,obj.set_AV(!0),obj.NoCluster=!0,item.url&&(obj.Url=item.url),item.htmldescription&&(obj.htmldescription=item.htmldescription),item.imageurl&&(obj.imageurl=item.imageurl),obj.set_Image(item.image),db.Insert(obj),obj}function showCollectionAsSearchDB(data){if(data.MapItems&&data.MapItems.length>0){for(var BB=new BBox,i=0;i<data.MapItems.length;i++){var obj=insertItemIntoDB(SearchDB,data.MapItems[i]);obj&&obj.RegisterBB(BB)}BB.Valid&&map.SetArea(BB.northmax,BB.eastmax,BB.northmin,BB.eastmin)}}function displayCollectionAsSearchResult(data){var list=$('<ul class="myobject-list"></ul>');if(data.MapItems&&data.MapItems.length>0){for(var i=0;i<data.MapItems.length;i++)insertItemIntoDB(SearchDB,data.MapItems[i]);for(i=0;i<SearchDB.items.length;i++){var listItem=Tekla.MyObjects.renderMapObjectLI(SearchDB.items[i],OBJ_SEARCH,!1,texts);listItem&&list.append(listItem)}}$html=$('<div class="mycollection-searchresult-container">   <h2>'+(data.Name||"")+"</h2></div>"),$html.append(list),$_showSiteResultWnd($html),window.teklaMap._UpdateMapPosition()}function renderCollectionLI(obj,activeId){return obj&&obj.CollectionId&&obj.Name?$('<li title="'+String.escapeHTML(obj.Explanation)+'"'+(activeId===obj.CollectionId?' class="active"':"")+">"+String.escapeHTML(obj.Name)+"</li>").data("collection-id",obj.CollectionId).click((function(){var $this=$(this);function doLoad(){loadCollection(obj.CollectionId,(function(){$this.siblings().removeClass("active"),$this.addClass("active"),tabs.minitabs("open","my-objects")}))}isDirty()&&confirm(texts.confirmUnsavedChangesSaveLoad)?saveCollection(activeCollection,doLoad):doLoad()})).hover((function(){$(this).addClass("hover")}),(function(){$(this).removeClass("hover")})):null}function updateCollectionList(specificCollection){var collectionList=container.find(".mycollections-list");if(specificCollection){var ulList=collectionList.children("ul");0===ulList.length&&(ulList=$("<ul></ul>"),collectionList.append(ulList));var listItem=ulList.find("li").removeClass("active").filter((function(){return $(this).data("collection-id")===specificCollection.CollectionId})),updatedItem=renderCollectionLI(specificCollection,specificCollection.CollectionId);1===listItem.length?listItem.replaceWith(updatedItem):ulList.prepend(updatedItem)}else collectionList.empty(),showLoader(),window.Tekla.MapCollection.fetchList((function(data){var list=$("<ul></ul>");if(data&&data.length>0)for(var i=0;i<data.length;i++)list.append(renderCollectionLI(data[i],activeCollection?activeCollection.CollectionId:null));collectionList.append(list),container.find(".mycollections-empty-help").toggle(!(collectionList.find("li").length>0))}),(function(){texts.collectionListLoadFailed}),hideLoader);container.find(".mycollections-empty-help").toggle(!(collectionList.find("li").length>0))}function updateObjectList(){var myObjectContent=container.find(".myobjects-list").empty(),myObject_esiteContent=container.find(".esite-list").empty();if(DB&&DB.items&&DB.items.length>0){container.find(".myobjects-list-help").hide();for(var listBuilder=[],list=$('<ul class="myobject-list"></ul>'),i=0;i<DB.items.length;i++){var myType=DB.items[i].MyOType;myType&&TGMap.myObjects.knownTypes[myType]?listBuilder[myType]||(listBuilder[myType]=$('<ul class="myobject-list"></ul>')):myType=void 0;var listItem=Tekla.MyObjects.renderMapObjectLI(DB.items[i],OBJ_MYSITES,!0,texts);listItem&&(myType?listBuilder[myType].append(listItem):list.append(listItem))}list.find("li").length>1&&list.sortable({start:function(event,ui){$(ui.item).data("old-index",ui.item.index())},stop:function(event,ui){var oldIndex=$(ui.item).data("old-index"),newIndex=ui.item.index();oldIndex!==newIndex&&(DB.items.move(oldIndex,newIndex),DB.ReIndex(),setDirty(!0))}}),myObjectContent.append(list),listBuilder.eSite&&(listBuilder.eSite.find("li").length>1&&listBuilder.eSite.sortable({start:function(event,ui){$(ui.item).data("old-index",ui.item.index())},stop:function(event,ui){var oldIndex=$(ui.item).data("old-index"),newIndex=ui.item.index();oldIndex!==newIndex&&(DB.items.move(oldIndex,newIndex),DB.ReIndex(),setDirty(!0))}}),myObject_esiteContent.append(listBuilder.eSite),$(".esite-collection").show())}0===myObject_esiteContent.find("li").length&&$(".esite-collection").hide(),0===myObjectContent.find("li").length&&container.find(".myobjects-list-help").show(),resize()}function updateCollectionDataToGUI(data){data&&container.find(".collection-name").text(data.Name)}function setActiveCollection(data,dontClearMap){if(activeCollection=data||{Name:texts.unsavedCollectionName,isDefault:!0},!0!==dontClearMap&&map.Clear(),activeCollection){if(updateCollectionDataToGUI(activeCollection),activeCollection.MapItems&&activeCollection.MapItems.length){for(var i=0;i<activeCollection.MapItems.length;i++)activeCollection.MapItems[i].Editable=!0;map.AddGeometry(activeCollection.MapItems)}setDirty(!1)}updateObjectList()}function editCollectionProperties(title,data,cb){var editContainer=container.find(".collection-properties-content"),prevContainer=container.find(".container-part:visible");editContainer.find(".collection-name-edit").val(data.Name),editContainer.find(".collection-explanation-edit").val(data.Explanation),title&&editContainer.find(".collection-properties-title").text(title),editContainer.find(".button-save").unbind("click").click((function(){return data.Name=editContainer.find(".collection-name-edit").val(),data.Explanation=editContainer.find(".collection-explanation-edit").val(),data.isDefault&&delete data.isDefault,editContainer.hide(),prevContainer.show(),cb&&cb(data),!1})),editContainer.find(".button-cancel").unbind("click").click((function(){return editContainer.hide(),prevContainer.show(),cb&&cb(null),!1})),prevContainer.hide(),container.find(".container-part").hide(),editContainer.show()}var loaderTimer=null;function showLoader(){container.find(".collection-overlay").show()}function hideLoader(){loaderTimer&&clearTimeout(loaderTimer),loaderTimer=setTimeout((function(){container.find(".collection-overlay").hide()}),400)}function loadCollection(id,readycb){showLoader(),window.Tekla.MapCollection.fetch(id,(function(data){data&&(setActiveCollection(data),readycb&&readycb(data))}),(function(){texts.collectionLoadFailed}),hideLoader)}function saveCollection(collection,cb){showLoader();var collectionToSave=function setMapDataToCollection(coll){if(coll){var center=map.GetCenter();return coll.Language=opts.lang,coll.Layers=window.teklaMap.GetActiveThemeName(),coll.LayerScript=$_generateLayerOnOff(),center&&center.length>1&&(coll.CenterNorth=center[0],coll.CenterEast=center[1]),coll.Zoom=map.GetZoom(),coll.MapItems=map.GetDrawingsJSON((function(obj){return obj&&(obj.MyOType||obj.IsDeleted)?null:{Attributes:["Name","Explanation","Url","htmldescription","imageurl","ReferenceId","Geometry","Presentation"]}})),coll}}(collection);collection&&collection.CollectionId?window.Tekla.MapCollection.update(collectionToSave,(function(){updateCollectionList(collectionToSave),setDirty(!1),cb&&cb(collectionToSave)}),(function(){texts.collectionSaveFailed}),hideLoader):window.Tekla.MapCollection.add(collectionToSave,(function(data){setActiveCollection(data),updateCollectionList(data),setDirty(!1),cb&&cb(data)}),(function(){texts.collectionAddFailed}),hideLoader)}function isDirty(){return DB.get_Dirty()||collectionIsDirty}function hasMapItems(){return DB.items.length>0}function manageActivity(){var dirty=isDirty(),hasItems=hasMapItems();container.find(".collection-save").prop("disabled",!dirty).toggleClass("disabled",!dirty),container.find(".collection-show-all").toggle(hasItems),container.find(".collection-delete-all").toggle(hasItems),container.find(".collection-delete").toggle(activeCollection&&activeCollection.Id>0),container.find(".myobjects-shortlink").toggleClass("disabled",!hasItems)}function setDirty(val){!1===val&&DB.set_Dirty(val),collectionIsDirty=val,manageActivity()}var resizeTimeout=null;function resize(){resizeTimeout&&clearTimeout(resizeTimeout);var $this=$(container);resizeTimeout=setTimeout((function(){var currentHeight=$this.height();$this.find(".scroll-container").each((function(){var height=$this.find(".myobjects-header").outerHeight()+$this.find(".myobjects-footer").outerHeight();$(this).siblings(":visible").each((function(){height+=$(this).height()})),$(this).height(currentHeight-height)}))}),150)}window.Tekla.MyObjects.init=function(options){var self=this;opts=$.extend(!0,{},defaults,options||{}),DB=opts.db,map=opts.map,texts=opts.texts,window.Tekla.MapCollection.init(opts),container=$("#myobjects-container"),(tabs=container.find(".myobjects-content")).minitabs({onTabChange:function(){container.trigger("resize")}});var origOpacity=container.css("opacity")||.7,opacityTimer=null;container.mouseenter((function(){clearTimeout(opacityTimer);var $this=$(this);$.support.opacity?$this.animate({opacity:1},"fast"):$this.css({filter:"alpha(opacity="+Math.floor(100)+")"})})).mouseleave((function(){clearTimeout(opacityTimer);var $this=$(this);opacityTimer=setTimeout((function(){$.support.opacity?$this.animate({opacity:origOpacity},"slow"):$this.css({filter:"alpha(opacity="+Math.floor(100*origOpacity)+")"})}),400)})).draggable({containment:"window",handle:".myobjects-draggable"}).resizable({minHeight:200,minWidth:260,handles:"n, se, s, w, sw"}).bind("resize",(function(){resize()})).trigger("resize"),container.find(".myobjects-close").click((function(){return self.hide(),Tekla.MapBubble.hideAll(),!1})),container.find(".draw-point").click((function(){return map.DrawPin({presentation:$(".default-presentationselector").presentationselector("getPresentation")}),!1})),container.find(".draw-polyline").click((function(){return map.DrawPolyline({presentation:$(".default-presentationselector").presentationselector("getPresentation")}),!1})),container.find(".draw-polygon").click((function(){return map.DrawPolygon({presentation:$(".default-presentationselector").presentationselector("getPresentation")}),!1})),opts.setPresentation?container.find(".set-presentation").click((function(ev){return opts.setPresentation(ev),!1})):container.find(".set-presentation").hide(),container.find(".collection-save").click((function(){return isDirty()&&(activeCollection.isDefault?editCollectionProperties(texts.addNewCollection,activeCollection,(function(data){data&&saveCollection(data)})):saveCollection(activeCollection)),!1})),container.find(".export-collection").click((function(){if(activeCollection&&activeCollection.CollectionId){var form=document.createElement("form");form.setAttribute("action",opts.apiUrl+"/v2/exportkml/"+activeCollection.CollectionId+"/kmz"),form.setAttribute("method","post"),form.setAttribute("target","_kmlexport"),document.body.appendChild(form),form.submit(),document.body.removeChild(form)}return!1})),container.find(".collection-delete-all a").click((function(){return confirm(texts.confirmDeleteAllObjects)&&(map.Clear(),setDirty(!0),updateObjectList(),manageActivity()),!1})),container.find(".collection-show-all a").click((function(){return map.ShowAll(),!1})),container.find(".collection-properties a, .collection-name").click((function(){return editCollectionProperties(texts.collectionProperties,activeCollection,(function(data){data&&(setDirty(!0),updateCollectionDataToGUI(activeCollection))})),!1})),container.find(".collection-delete a").click((function(){return activeCollection&&confirm(texts.confirmDelete)&&function deleteCollection(id){id&&(showLoader(),window.Tekla.MapCollection.remove(id,(function(){setActiveCollection(null),updateCollectionList()}),(function(){texts.collectionDeleteFailed}),hideLoader))}(activeCollection.CollectionId),!1})),container.find(".add-collection").click((function(){function addNew(){editCollectionProperties(texts.addNewCollection,{Name:texts.newCollectioName,Explanation:""},(function(data){data&&(setDirty(!0),setActiveCollection(data),tabs.minitabs("open","my-objects"))}))}return isDirty()&&confirm(texts.confirmUnsavedChangesSaveCreate)?saveCollection(activeCollection,addNew):addNew(),!1})),container.find(".myobjects-shortlink").click((function(){function showShortLink(collection){collection&&Tekla.MapLink.showshortlink(opts.appPath+"/?mid="+collection.CollectionId,collection.Name)}return hasMapItems()&&(isDirty()||!activeCollection.CollectionId?(delete activeCollection.CollectionId,saveCollection(activeCollection,showShortLink)):showShortLink(activeCollection)),!1})),container.find(".esite-apply").click((function(){return MyObjectsHandler("eSite"),!1}));var actionmenu=$(".myobjects-action-menu");actionmenu.bind("mouseleave",(function(){$(this).hide()})),container.find(".myobjects-menu").click((function(){actionmenu.is(":visible")?actionmenu.hide():actionmenu.show().position({of:this,my:"left top",at:"left bottom"})})),setActiveCollection(null,!0),map.Bind(tekla.Map.EVENT.DRAWINGALL,(function(eventName){Tekla.MyObjects.updatelist(),eventName===tekla.Map.EVENT.DRAWINGREADY&&Tekla.MyObjects.show()})),opts.collectionId&&(!0===opts.collectionIsOwn?(window.Tekla.MyObjects.show(),loadCollection(opts.collectionId)):window.Tekla.MapCollection.fetch(opts.collectionId,displayCollectionAsSearchResult)),manageActivity(),!0===opts.loadCollectionList&&updateCollectionList()},window.Tekla.MyObjects.toggle=function(){container.is(":visible")?this.hide():this.show()},window.Tekla.MyObjects.show=function(){container.show()},window.Tekla.MyObjects.hide=function(){"function"==typeof opts.hidePresentation&&opts.hidePresentation(),container.hide()},window.Tekla.MyObjects.updatelist=function(){manageActivity(),updateObjectList()},window.Tekla.MyObjects.showitems=function(mid){window.Tekla.MapCollection.fetch(mid,showCollectionAsSearchDB)}}()}}(jQuery,window);
!function($,window){"use strict";var name="tekla.ims.maplink";window.Tekla||(window.Tekla={});var defaults={baseURL:"http://localhost"};function MapLink(element,options){this._north=null,this._east=null,this.element=element,this.options=$.extend({},defaults,options),this._defaults=defaults,this._init()}if(MapLink.prototype._init=function(){var self=this,$elem=$(self.element);$elem.find(".close-element").click((function(){return self.close(),!1})),$elem.find("input.maplink-update").keyup((function(){self._updateFields()})).change((function(){self._updateFields()})),$elem.find(".action-share-email").click((function(){self._share("email")})),$elem.find(".action-share-facebook").click((function(){self._share("facebook")})),$elem.find(".action-share-twitter").click((function(){self._share("twitter")})),self.options.cssClasses&&$elem.addClass(self.options.cssClasses),self.options.title&&$elem.find(".title").text(self.options.title),self.options.name&&$elem.find(".maplink-name").val(self.options.name),!0===self.options.nameReadonly&&$elem.find(".maplink-name").prop("readonly",!0).addClass("readonly"),self.options.tip&&$elem.find(".tip").attr("title",self.options.tip),$elem.find(".cluetip").cluetip({splitTitle:"|",showTitle:!1}),$elem.find(".action-selectpos").click((function(){positionTarget="link",setStatus(GetText("cl_selectLinkPosition")),startPositionSelect()})),self.update(this.options.north,this.options.east)},MapLink.prototype.update=function(north,east){north&&east&&(this._north=north,this._east=east),this._updateFields()},MapLink.prototype._share=function(toWhere){var values=this._getValues();if(values.url)switch(toWhere){case"email":Browser$Email(GetText("cl_mapLinkName")+(values.name?" ("+values.name+")":""),values.url);break;case"facebook":case"twitter":var target="facebook"===toWhere?options.shareOnFacebookURI:"twitter"===toWhere?options.shareOnTwitterURI:null;target&&window.open(target.replace(new RegExp("{url}","g"),encodeURIComponent(values.url||"")).replace(new RegExp("{name}","g"),encodeURIComponent(values.name||"")).replace(new RegExp("{east}","g"),encodeURIComponent(values.coordinates.east||"")).replace(new RegExp("{north}","g"),encodeURIComponent(values.coordinates.north||"")),toWhere)}},MapLink.prototype._getValues=function(){var self=this,$elem=$(self.element),retVal={};return $elem.find("input, textarea, select").each((function(){var name=$(this).attr("name");if(name&&name+""!="")if(retVal[name]){var temp=retVal[name];retVal[name]=[temp],retVal[name].push($(this).val())}else retVal[name]=$(this).val()})),retVal.coordinates=self._getCoordinates(),retVal.url=function getURL(values){return self.options.overrideURL?self.options.overrideURL:options.baseURL+"?layers="+encodeURIComponent(Tekla.BaseMaps.active().label)+$_generateLayerOnOff()+"&cp="+values.coordinates.north+","+values.coordinates.east+"&z="+currentWupp()+(values.name&&values.name.length&&values.name.length>0?"&title="+encodeURIComponent(values.name):"")}(retVal),retVal},MapLink.prototype._getCoordinates=function(){var north=this._north,east=this._east;if(window.teklaMap._getIsThreeDMode()){var view=window.Tekla.ThreeD.getView();north=view.north,east=view.east}else{var cnt=get_Center(!0);north||(north=cnt.n),east||(east=cnt.e)}return{north:Math.floor(north),east:Math.floor(east)}},MapLink.prototype._updateFields=function(){var $elem=$(this.element),values=this._getValues(),coords=this._getCoordinates();$elem.find(".maplink-coordinates").val(coords&&coords.north&&coords.east?coords.north+"  "+coords.east:""),$elem.find(".maplink-locationlink").html('<a target="link" href="'+values.url+'">'+values.url+"</a>")},MapLink.prototype.close=function(){$(this.element).hide()},MapLink.prototype.destroy=function(){this.close(),$(this.element).remove()},MapLink.prototype.show=function(){$(this.element).show()},MapLink.prototype.toggle=function(){var $elem=$(this.element);$elem.is(":visible")?$elem.hide():$elem.show()},$.fn.maplink=function(options){if(!("string"==typeof options&&this.length>0))return this.each((function(){$(this).data(name)||$(this).data(name,new MapLink(this,options))}));var args=arguments,instance=$(this).data(name);return instance&&instance[options]?instance[options].apply(instance,$.makeArray(args).slice(1)):void 0},window.Tekla||(window.Tekla={}),!window.Tekla.MapLink)var maplink=window.Tekla.MapLink={linkwindows:[],update:function(north,east){$(maplink.linkwindows).each((function(){this.maplink("update",north,east)}))},showshortlink:function(url,name){this._show({baseURL:options.baseURL,overrideURL:url,cssClasses:"shortlink",title:GetText("shortlink"),tip:GetText("shortlinkHelp"),name:name,nameReadonly:!0})},closeAll:function(){$(maplink.linkwindows).each((function(){this.maplink("destroy")})),maplink.linkwindows=[]},show:function(north,east,name){maplink.linkwindows.length>0&&this.closeAll(),this._show({baseURL:options.baseURL,north:north,east:east,name:name,title:GetText("locationLink"),tip:GetText("locationLinkHelp")})},_show:function(options){var elem=$("#maplink-template").clone().removeAttr("id");elem.maplink(options),elem.appendTo(".main-content"),maplink.linkwindows.push(elem),elem.maplink("show")}}}(jQuery,window);
!function($,window){"use strict";function openMainMenu(){$(".mob-menu-contentitem").hide(),$("#mob-menu-content-main").show(),$("#mob-welcome-box").hide(),function minimizeHelp(parent){parent.hasClass("minimized")||parent.addClass("minimized")}($("#mob-measure-info-box")),$("#mob-welcome-box").hide(),$(".mob-menu").show("slide",{direction:"left"},400)}function closeMainMenu(){$(".mob-menu").hide("slide",{direction:"left"},400)}function hideWelcome(){$("#mob-welcome-box").hide(),$(document).off("click.welcome")}function navigateTo(event,id){$(".mob-menu-contentitem").hide(),$(".mob-menu-contentarea").show(),$(id).show(),event.preventDefault(),event.stopPropagation()}window.Tekla||(window.Tekla={}),window.Tekla.Mobile=function(options){options.closeMenu=closeMainMenu,window.Tekla.MobileInit(options),$("html").click((function(){$(".mob-menu").hide()})),$(document).on("click.welcome",(function(){hideWelcome()})),$("#mob-measure-close").click((function(event){var parent=$("#mob-measure-info-box");parent.hasClass("minimized")?parent.removeClass("minimized"):parent.addClass("minimized"),event.stopPropagation()})),$(".mob-menu").click((function(event){event.stopPropagation()})),$(".mob-menu-back").click((function(event){$("#mob-menu-content-main").is(":visible")?closeMainMenu():openMainMenu(),event.preventDefault(),event.stopPropagation()})),$(".mob-menu-toggle").click((function(event){openMainMenu(),event.preventDefault(),event.stopPropagation()})),$(window).resize((function(event){$(".mob-menu").hide()})),$("#mob-welcome-close").click((function(event){$("#mob-welcome-box").hide()})),$("#mob-display-help").click((function(event){navigateTo(event,"#mob-menu-content-help")})),$(".mob-menu-measure-active").click((function(event){hideWelcome(),$(".mob-toolbar-set").hide(),$("#mob-toolbar-search").show(),$(".mob-measure-item").hide(),endMeter(),TGMap.Measure.deleteLines()})),$("#mob-menu-measure").click((function(event){var self=$(this);$(".mob-toolbar-set").hide(),self.addClass("active"),$("#mob-toolbar-measure").show(),TGMap.Measure.deleteLines(),cancelEventPropagation(event),startMeter(),$(".mob-measure-item").show()})),$("#mob-mainmenu-close").click((function(event){closeMainMenu()})),$(".mob-measure-reset").click((function(event){TGMap.Measure.deleteLines()})),$(".mob-measure-undo").click((function(event){TGMap.Measure.deleteLastPoint()})),$(".mob-measure-end").click((function(event){endMeter()})),$(".menu-command").click((function(event){navigateTo(event,"#"+$(this).data("target-div"))})),options.isDefaultArea&&$("#mob-menu-geoloc").trigger("click")}}(jQuery,window);
Tekla.Print={_parwnd:null,_prsettings:null,_mapwidth:700,_mapheight:600,_basemap:null,_imgid:1,_bb:new BBox,init:function(parwnd,printoptions){if(parwnd){var _centerSouth,_centerEast;this._mapwidth=printoptions.width,this._mapheight=printoptions.height,this._parwnd=parwnd,this._prsettings=parwnd.curPrSet,pinOffsetX=parwnd.options.pinOffsetE,pinOffsetY=parwnd.options.pinOffsetN,window_type="print";var zoomNumber=parwnd.teklaMap.getZoom();if(this._basemap=parwnd.Tekla.BaseMaps.active(),printoptions.theme)(bm=parwnd.Tekla.BaseMaps.get(printoptions.theme))&&(this._basemap=bm);else if(this._prsettings&&this._prsettings.theme){var bm;(bm=parwnd.Tekla.BaseMaps.get(this._prsettings.theme))&&(this._basemap=bm)}if(printoptions.north&&printoptions.east)_centerSouth=printoptions.north,_centerEast=printoptions.east;else if(this._prsettings&&this._prsettings.north&&this._prsettings.east)_centerSouth=this._prsettings.north,_centerEast=this._prsettings.east;else{var s=parwnd.get_Center(!0);s&&(_centerSouth=s.n,_centerEast=s.e)}var op=jQuery.extend({},parwnd.teklaMap.options);op.baseMap=decodeURIComponent(this._basemap.name),op.NoExt=!0,op.initMapObjectSelection=!1,this._map=new tekla.Map("lmapcontainer",op),!printoptions.north&&!printoptions.east&&this._prsettings&&this._prsettings.north&&this._prsettings.east&&this._prsettings.width&&this._prsettings.height&&(zoomNumber=this._findZoomNumber(this._prsettings.width,this._prsettings.height)),this._prsettings&&(this._prsettings.theme||this._prsettings.zoom)?zoomNumber=this._map.options.crs.wupp2Zoom(this._prsettings.zoom?this._prsettings.zoom:17,!0):(printoptions.zoom||printoptions.theme)&&(zoomNumber=this._map.options.crs.wupp2Zoom(printoptions.zoom?printoptions.zoom:17,!0)),zoomNumber<this._basemap.minZoom&&(zoomNumber=this._basemap.minZoom),zoomNumber>this._basemap.maxZoom&&(zoomNumber=this._basemap.maxZoom),this._map.setView([_centerSouth||0,_centerEast||0],zoomNumber);var w=this._map.options.crs.zoom2Wupp(zoomNumber),L_baseMap=L.locusTileLayer(options.appPath+"/Tile?basemap={basemap}&x={x}&y={-y}&z={z}",{maxZoom:this._basemap.maxZoom,minZoom:this._basemap.minZoom,basemap:this._basemap.name});L_baseMap.setOpacity(this._basemap.opacity||1),this._map.addLayer(L_baseMap);var layers=parwnd.Tekla.Layers.getselected2(!0);if(layers&&layers.length>0)for(var i=0;i<layers.length;i++){var layer=layers[i];if(layer){var L_layer=L.locusTileLayer((op.tileServer||op.appPath)+"/Tile/Layer?layer={layer}&x={x}&y={-y}&z={z}",{maxZoom:layer.maxZoom,minZoom:layer.minZoom,layer:layer.key});L_layer.setZIndex(layer.order),L_layer.setOpacity(layer.opacity||1),this._map.addLayer(L_layer)}}var v_catlayer=this._drawLayerDB(parwnd.LayerDB,OBJ_CATLAYER),v_layer=this._drawDB(parwnd.SearchDB),v_mysitesLayer=this._drawDB(parwnd.MySitesDB,OBJ_MYSITES);v_layer&&this._map.addLayer(v_layer),v_mysitesLayer&&this._map.addLayer(v_mysitesLayer),v_catlayer&&this._map.addLayer(v_catlayer);var m_layer=this._updatemeter(mapMeter);m_layer&&this._map.addLayer(m_layer),_updateCopyright(this._basemap.copyright,this._basemap.lastupdate);var dynamicContent=null;if(parwnd&&this._prsettings&&this._prsettings.printdivs)for(var dd=this._prsettings.printdivs,a=0;a<dd.length;a++){var obj=parwnd.document.getElementById(dd[a]);obj&&(dynamicContent||(dynamicContent=""),dynamicContent+=obj.innerHTML)}else parwnd.currentPlanRegHtml&&(dynamicContent=(String.IsPrintable(parwnd.currentPlanRegHtml)&&parwnd.GetText("cl_planRegulations")?'<h3 class="resulttable">'+parwnd.GetText("cl_planRegulations")+"</h3></br>":"")+parwnd.currentPlanRegHtml+"<br/>"),parwnd.currentSeHtml&&(dynamicContent||(dynamicContent=""),dynamicContent+=(String.IsPrintable(parwnd.currentSeHtml)&&parwnd.GetText("cl_freeSitesSearchResults")?'<h3 class="resulttable">'+parwnd.GetText("cl_freeSitesSearchResults")+"</h3></br>":"")+parwnd.currentSeHtml);dynamicContent&&this._applydyncontents(dynamicContent),this._setScaleText(w)}},_registerbounds:function(n,e){this._bb.RegisterPoint(n,e)},preparePrint:function(defaultText){var note=$("#screenNotes").val(),printNote=note!=defaultText?note:"";$("#idPrintNotes").html(printNote)},_setScaleText:function(wupp){TGMap.ScaleBar.update(wupp,this._parwnd.options)},_updatemeter:function(){var pointArray=this._parwnd.TGMap.Measure._pointArray;if(pointArray&&pointArray.length>0){var totalDistance=0,L_MEASURELAYER=new L.FeatureGroup;L_MEASURELAYER.addLayer(L.polyline(pointArray,{color:"#005596",weight:4,fill:!1}));for(var i=1;i<pointArray.length;i++){var pP=pointArray[i-1],pC=pointArray[i],distance=TGMap.Measure.distanceBetweenPoints(pC[0],pC[1],pP[0],pP[1]);L_MEASURELAYER.addLayer(L.marker([(pP[0]+pC[0])/2,(pP[1]+pC[1])/2],{icon:new L.DivIcon({className:"measure-stage-container",html:'<div class="measure-stage-text">'+TGMap.Measure.formatDistance(distance)+"</div>",iconSize:[60,18]})})),totalDistance+=distance,i==pointArray.length-1&&L_MEASURELAYER.addLayer(L.marker([pC[0],pC[1]],{icon:new L.DivIcon({className:"measure-stage-container",html:'<div class="measure-total-text">'+TGMap.Measure.formatDistance(totalDistance)+"</div>",iconSize:[60,18],iconAnchor:[30,34]})}))}return L_MEASURELAYER}return null},_applydyncontents:function(html){$("#idDynamicContent").html(html).click((function(event){event.stopPropagation()}))},togglevisuals:function(){!!$("#visualcheck").prop("checked")?($(".leaflet-pane.leaflet-overlay-pane").show(),$(".leaflet-pane.leaflet-marker-pane").show()):($(".leaflet-pane.leaflet-overlay-pane").hide(),$(".leaflet-pane.leaflet-marker-pane").hide())},_needhl:function(obj){var hlIds=this._prsettings?this._prsettings.hlids:void 0;if(hlIds&&hlIds.length>0){var refIdInt=parseInt(obj.ReferenceId,10);return-1!=hlIds.indexOf(refIdInt>0?refIdInt:obj.ReferenceId)}return!1},_isprintable:function(obj){var prIds=this._prsettings?this._prsettings.printids:void 0;if(prIds&&prIds.length>0){var refIdInt=parseInt(obj.ReferenceId,10);return-1!=prIds.indexOf(refIdInt>0?refIdInt:obj.ReferenceId)}return!0},_findZoomNumber:function(areawidth,areaheight){for(var i=this._basemap.maxZoom;i>=this._basemap.minZoom;){var w=this._map.options.crs.zoom2Wupp(i),clientareawidth=(this._mapwidth-20)*w,clientareaheight=(this._mapheight-20)*w;if(clientareawidth>=areawidth&&clientareaheight>=areaheight)break;i--}return i>=this._basemap.minZoom?i:this._basemap.minZoom},_drawObj:function(container,obj){var t=obj.GetType(),l="Point"===t?this._drawPoint(obj):"Geo"===t?this._drawGeo(obj):this._drawPoly(obj);l&&container.addLayer(l)},_drawGeo:function(obj){var fillColor,color,weight,opacity,fillOpacity,layer=null,container=null;if(obj.Presentation?(fillColor=obj.Presentation.FillColor||"red",color=obj.Presentation.LineColor||"blue",weight=__GetWeight(obj.Presentation.LineWidth)||2,dash=obj.Presentation.LineType||"solid",opacity=obj.Presentation.LineOpacity||.8,fillOpacity=obj.Presentation.FillOpacity||.5):(fillColor=obj.FillColor||"red",color=obj.LineColor||"blue",weight=__GetWeight(obj.LineWidth)||2,dash=obj.LineType||"solid",opacity=obj.LineOpacity||.8,fillOpacity=obj.FillOpacity||.5),"GeometryCollection"===obj.Geometry.type)for(var r=0;r<obj.Geometry.members.length;r++){var sub=obj.Geometry.members[r];if("Polygon"===sub.geometry.type||"LineString"===sub.geometry.type){var modGeo=null;if("LineString"===sub.geometry.type){modGeo=[];for(var q=0;q<sub.geometry.coordinates.length;q++)modGeo.push([sub.geometry.coordinates[q][1],sub.geometry.coordinates[q][0]])}else{var multi=!1;sub.geometry.coordinates.length>1&&(multi=!0);for(q=0;q<sub.geometry.coordinates.length;q++){for(var ring=sub.geometry.coordinates[q],modRing=[],w=0;w<ring.length;w++)modRing.push([ring[w][1],ring[w][0]]);multi?(modGeo||(modGeo=[]),modGeo.push(modRing)):modGeo=modRing}}var polygon="Polygon"===sub.geometry.type?L.polygon(modGeo,{color:color,opacity:opacity,weight:weight,fill:!0,fillColor:fillColor,fillOpacity:fillOpacity,dashArray:__LineType2Dash(dash)}):L.polyline(modGeo,{color:color,opacity:opacity,weight:weight,fill:!1,dashArray:__LineType2Dash(dash)});layer?(container||(container=new L.FeatureGroup).addLayer(layer),container.addLayer(polygon)):layer=polygon}else if("Point"===sub.geometry.type){if(obj.Presentation&&obj.Presentation.className)var classes=obj.Presentation.className+" normal"+(this._needhl(obj)?" highlight":""),icon=new L.DivIcon({className:classes,html:'<div class="'+classes+'" style="background-image: url('+(obj.Presentation.Image?obj.Presentation.Image:options.appPath+"/images/pointer.png")+')"</div>',iconSize:[32,32]});else icon=L.icon({iconUrl:obj.Presentation&&obj.Presentation.Image?obj.Presentation.Image:options.appPath+"/images/pointer.png",iconAnchor:__PinOffset(obj)});var marker=L.marker([sub.geometry.coordinates[1],sub.geometry.coordinates[0]],{icon:icon});layer?(container||(container=new L.FeatureGroup).addLayer(layer),container.addLayer(marker)):layer=marker}}else if("Polygon"===obj.Geometry.type||"LineString"===obj.Geometry.type){modGeo=null;if("LineString"===obj.Geometry.type){modGeo=[];for(q=0;q<obj.Geometry.coordinates.length;q++)modGeo.push([obj.Geometry.coordinates[q][1],obj.Geometry.coordinates[q][0]])}else for(multi=obj.Geometry.coordinates.length>1,q=0;q<obj.Geometry.coordinates.length;q++){for(ring=obj.Geometry.coordinates[q],modRing=[],w=0;w<ring.length;w++)modRing.push([ring[w][1],ring[w][0]]);multi?(modGeo||(modGeo=[]),modGeo.push(modRing)):modGeo=modRing}var opts={color:color,opacity:opacity,weight:weight,fill:!1,dashArray:__LineType2Dash(dash)};"Polygon"===obj.Geometry.type?(opts.fill=!0,opts.fillColor=fillColor,opts.fillOpacity=fillOpacity,layer=L.polygon(modGeo,opts)):layer=L.polyline(modGeo,opts)}else if("Point"===obj.Geometry.type){icon=L.icon({iconUrl:obj.Presentation&&obj.Presentation.Image?obj.Presentation.Image:options.appPath+"/images/pointer.png",iconAnchor:__PinOffset(obj)});layer=L.marker([obj.Geometry.coordinates[1],obj.Geometry.coordinates[0]],{icon:icon})}return container||layer},_drawPoint:function(obj){return L.marker([obj.North,obj.East],{icon:L.icon({iconUrl:obj.Image||options.appPath+"/images/pointer.png",iconAnchor:__PinOffset(obj)})})},_drawPoly:function(obj){for(var routePoints=[],a=0;a<obj.PointArray.length;a++)routePoints.push([obj.PointArray[a].south,obj.PointArray[a].east]);var polygon,opts={color:obj.LineColor||"blue",weight:__GetWeight(obj.LineWidth)||2,opacity:obj.LineOpacity||.8,dashArray:__LineType2Dash(obj.LineType||"solid")};return obj.Filled?(opts.fillColor=obj.FillColor||"red",opts.fillOpacity=obj.FillOpacity||.5,polygon=L.polygon(routePoints,opts)):polygon=L.polyline(routePoints,opts),polygon},_drawLayerDB:function(DB){var container=new L.FeatureGroup;if(DB){for(var layerHash=Tekla.Layers._getselectedCategoriesOrdered(2),clipBB=$_getAreaBB(),orderedList=[],i=0;i<DB.items.length;i++){var obj=DB.items[i];if(obj&&this._isprintable(obj)&&("function"!=typeof obj.isVisible||obj.isVisible())&&$_DBIsValidObject(obj)&&$_DBObjectOverlap(obj,clipBB))if(layerHash){var o=layerHash[obj.Category];obj._o=o||0,orderedList.push(obj)}else this._drawObj(container,obj)}if(orderedList){orderedList.sort((function(a,b){return b._o-a._o}));for(i=0;i<orderedList.length;i++)this._drawObj(container,orderedList[i])}}return container},_drawDB:function(DB){var container=new L.FeatureGroup;if(DB)for(var clipBB=$_getAreaBB(),i=0;i<DB.items.length;i++){var obj=DB.items[i];obj&&this._isprintable(obj)&&("function"!=typeof obj.isVisible||obj.isVisible())&&$_DBIsValidObject(obj)&&$_DBObjectOverlap(obj,clipBB)&&this._drawObj(container,obj)}return container}};
function $_onReadyStateEngineSearch_Data(data){var result=$_EVALJSON(data);window_type?"print"==window_type&&$_printSetSearchEngineResult(result.html):$_displaySeResults(result)}var currentSeHtml=null;function $_displaySeResults(result){if(SearchDB.Clear(),result.vis.length>0){for(var i=0;i<result.vis.length;i++){var vss=result.vis[i];if(vss){var id=SearchDB.Insert(new SR_Point(vss.tip,null,vss.url?vss.url:vss.urlid?$_SearchEnginePropertiesUrl(vss.urlid):"",vss.image,vss.north,vss.east));result.onmap&&showSite(OBJ_SEARCH,id,null,null,!0)}}if(result.setarea){if(!result.onmap){var areawidth=result.width,areaheight=result.height;window.teklaMap._FitBounds([[result.mnorth-areawidth/2,result.meast-areaheight/2],[result.mnorth+areawidth/2,result.meast+areaheight/2]]),window.teklaMap._UpdateMapPosition(!0)}}else updateSites()}null!=result.html&&result.html.length>0&&showseSites(result.html),currentSeHtml=result.html}function searchEngineSearch(form,display){return $.ajax({async:!0,type:"GET",url:actionUrl("SearchEngine")+"?Op=s"+$_scanForm(form)+(form.InsideMap.checked?window.teklaMap._GetAreaString():""),success:function(data){$_onReadyStateEngineSearch_Data(data)}}),!0}function $_onReadyStateDLink_Data(data){try{var form=document.seSearchForm;if(g_seLinkFields){var nfields=g_seLinkFields.length;if(nfields>0)for(var e,i=0;i<nfields;i++){var slf=g_seLinkFields[i],element=form[slf.name];switch(element.type.toLowerCase()){case"text":case"textarea":slf.value&&(element.value=slf.value);break;case"checkbox":case"radio":slf.value&&(element.checked=slf.value);break;case"select-one":if(slf.value)for(e=0;e<element.length;e++){if((option=element.options[e]).value==slf.value){option.selected=!0;break}}break;case"select-multiple":for(e=0;e<element.length;e++){var option=element.options[e];if(slf.value)option.selected=option.value==slf.value;else if(slf.values){for(var bSel=!1,s=0;s<slf.values.length;s++)if(option.value==slf.values[s]){bSel=!0;break}option.selected=bSel}}}}}}catch(e){}showObj("FreeSites_searchenginediv"),Tekla.SideBar.opentab("eservicestab")}var ins_searchClass,g_seLinkFields=null;function showFreeSitesSearch(searchClass){Tekla.SideBar.opentab("eservicestab")}function freeSiteSearchLink(result){var searchClass=result.query.searchclass;$.ajax({async:!0,type:"GET",url:actionUrl("SearchEngine")+"?SearchClass="+(searchClass||"FreeSites"),success:function(data){$_onReadyStateDLink_Data(data)}});try{g_seLinkFields=result.query.fields}catch(e){g_seLinkFields=null}}function showseSites(html){Tekla.MapBubble.hideAll(),Tekla.SearchEngineResultWindow&&Tekla.SearchEngineResultWindow.show(html,{onClose:function(){currentSeHtml=null}})}function SearchEngineCmd(param){$.ajax({async:!0,type:"GET",url:actionUrl("SearchEngine")+"?Op=c&"+param,success:function(data){$_onReadyStateEngineSearch_Data(data)}})}function SearchEnginePropertiesCmd(urlid){try{window.open($_SearchEnginePropertiesUrl(urlid),"seProperties")}catch(e){}}function $_SearchEnginePropertiesUrl(urlid){return actionUrl("SearchEngine")+"?Op=p&Theme="+$_ENCODE(window.teklaMap.GetActiveThemeName())+"&Properties="+urlid+$_generateLayerCommand()}function SearchEngineUpdateCmd(param){$.ajax({async:!0,type:"GET",url:actionUrl("SearchEngine")+"?Op=c&"+param,success:function(html){Tekla.MapBubble.hideAll(),Tekla.SearchEngineUpdateWindow&&Tekla.SearchEngineUpdateWindow.show(html)}})}function SearchEngineInsertCmd(searchclass){ins_searchClass=searchclass,positionTarget="searchengine",startPositionSelect()}function $_SearchEngineInsert(X,Y){$.ajax({async:!0,type:"GET",url:actionUrl("SearchEngine")+"?Op=c&Update=-1&X="+X+"&Y="+Y+"&SearchClass="+ins_searchClass,success:function(html){Tekla.MapBubble.hideAll(),Tekla.SearchEngineUpdateWindow&&Tekla.SearchEngineUpdateWindow.show(html)}})}function LimitLength(Field,Limit){Field.value.length>Limit&&(Field.value=Field.value.substring(0,Limit))}function searchEngineUpdate(form,fieldArray){var ret=!0;if(fieldArray&&fieldArray.length%2==0)for(var i=0;i<fieldArray.length;i+=2){var fieldValue=form[fieldArray[i]].value;(null==fieldValue||fieldValue.length<1)&&(alert(fieldArray[i+1]),ret=!1)}return!!ret&&($.ajax({async:!0,type:"GET",url:actionUrl("SearchEngine")+"?Op=u"+$_scanForm(form),success:function(data){hideObj("FreeSites_searchengineupddiv"),window.teklaMap._UserPositionDelete(),data&&alert(data)}}),!0)}!function($,window){"use strict";var _currentElem,currentUpdateWindowSingleton;(window.Tekla||(window.Tekla={}),window.Tekla.SearchEngineResultWindow)||(window.Tekla.SearchEngineResultWindow={close:function(){_currentElem&&(_currentElem.hide(),_currentElem.remove(),_currentElem=null)},show:function(html,options){this.options=options||{};var self=this;self.close();var $elem=$("#searchengine-result-window-template").clone().removeAttr("id"),$content=$elem.find(".searchengine-result-window-content").empty();html&&$content.append(html),$elem.find(".close-window").click((function(){return $elem.hide(),$elem.remove(),"function"==typeof self.options.onClose&&self.options.onClose(),!1})),$elem.resizable({minHeight:200,minWidth:470,handles:"n, se, s, w, sw"}),$elem.bind("resize",(function(){var $t=$(this),height=$t.outerHeight()-$t.find(".searchengine-result-window-title").outerHeight()-$t.find(".searchengine-result-window-footer").outerHeight();$t.find(".searchengine-result-window-container").css("height",height)})),$elem.draggable({containment:"window",handle:".searchengine-result-window-title"}),$elem.appendTo("body"),$elem.center(),$elem.show().trigger("resize"),_currentElem=$elem}});window.Tekla.SearchEngineUpdateWindow||(window.Tekla.SearchEngineUpdateWindow={show:function(html){currentUpdateWindowSingleton&&(currentUpdateWindowSingleton.hide(),currentUpdateWindowSingleton.remove());var $elem=$("#searchengine-update-window-template").clone().removeAttr("id"),$content=$elem.find(".searchengine-update-window-content").empty();html&&$content.append(html),$elem.find(".close-window").click((function(){return $elem.hide(),$elem.remove(),!1})),$elem.resizable({minHeight:300,minWidth:340,handles:"n, se, s, w, sw"}),$elem.bind("resize",(function(){var $t=$(this),height=$t.outerHeight()-$t.find(".searchengine-update-window-title").outerHeight()-$t.find(".searchengine-update-window-footer").outerHeight();$t.find(".searchengine-update-window-container").css("height",height)})),$elem.draggable({containment:"window",handle:".searchengine-update-window-title"}),$elem.appendTo("body"),$elem.center(),$elem.show().trigger("resize"),currentUpdateWindowSingleton=$elem}})}(jQuery,window);
Tekla.ServiceSearch={_timer:null,_container:null,init:function(containerid,treeData,expandallid,collapseallid,openall){this._container=containerid;var $container=$("#"+containerid);expandallid&&$("#"+expandallid).click((function(){return Tekla.ServiceSearch.travel(!0),!1})),collapseallid&&$("#"+collapseallid).click((function(){return Tekla.ServiceSearch.travel(!1),!1})),$container.dynatree({checkbox:!1,selectMode:1,children:treeData,icon:!1,onDblClick:function(node,event){node.toggleExpand()},onClick:function(node,event){if("expander"===node.getEventTargetType(event))return!0;var isLeaf=!node.data.children;Tekla.ServiceSearch.addcategory(node.data.key,node.data.title);for(var p=node.parent;p;)Tekla.ServiceSearch.removecategory(p.data.key),p=p.parent;return isLeaf||Tekla.ServiceSearch.removebranches(node.data),!0},cookieId:"dtree-as",idPrefix:"dtree-as-",minExpandLevel:1}),openall&&Tekla.ServiceSearch.travel(!0)},travel:function(isexpand){$("#"+this._container).dynatree("getRoot").visit((function(node){node.expand(isexpand)}))},enumerate:function(f){$("#"+this._container).dynatree("getRoot").visit((function(node){f(node)}))},toggle:function(){$("#advancedSearch").toggle()},queue:function(){this.clearqueue(),this._timer=setTimeout("Tekla.ServiceSearch.autoSearch();",500)},clearqueue:function(){this._timer&&clearTimeout(this._timer),this._timer=null},autoSearch:function(){this.clearqueue();var form=document.advancedSearchForm;((form.Text.value==GetText("cl_searchDetailTip")?"":$_ENCODE(form.Text.value))||$("#selectedClassesList>span").length>0)&&doAdvancedSearch(document.advancedSearchForm)},removecategory:function(id){$("#detail_"+id).remove(),Tekla.ServiceSearch.queue()},removebranches:function(data){if(data.children)for(var numBranches=data.children.length,j=0;j<numBranches;j++){var node=data.children[j];Tekla.ServiceSearch.removecategory(node.key),Tekla.ServiceSearch.removebranches(node)}},addcategory:function(id,categoryname){id="detail_"+id;$("#"+id).length<=0&&($('<span id="'+id+'" class="removable greyBg" onclick="$(this).remove();Tekla.ServiceSearch.queue();"><span class="remove">X<span class="nowrap">'+categoryname+"</span></span></span>").appendTo("#selectedClassesList"),Tekla.ServiceSearch.queue())}};
!function($,window){function SideWindow(){}window.Tekla=window.Tekla||{},window.Tekla.SideWindow=SideWindow,SideWindow.prototype.isVisible=function(){return $(".pane").is(":visible")&&!$(".sw-pane-content").hasClass("collapsed")},SideWindow.prototype.togglePane=function(){var btn=$(".sw-pane-toggle-button");$(".sw-pane-content").toggleClass("collapsed"),btn.toggleClass("collapsed"),$(".pane .sw-pane").toggleClass("sw-pane-visible"),btn.prop("title",GetText(btn.hasClass("collapsed")?"cl_openSideWindow":"cl_closeSideWindow"))},SideWindow.prototype.ensureopen=function(){$(".pane").show(),$(".pane .sw-pane").addClass("sw-pane-visible"),$(".sw-pane-content").removeClass("collapsed"),$(".pane-content").hide(),$(".menu-menu").hide(),$("#mob-submenu-contentarea").hide()},SideWindow.prototype.opentab=function(namekey){Tekla.SideBar.ensureopen(),"resulttab"===namekey?$("#pane-search").show():"eservicestab"===namekey?$("#pane-freesites-search").show():"areasearchtab"===namekey?$("#pane-area-search").show():"#searchresults"===namekey&&$(namekey).show()}}(jQuery,window);
!function($,window){window.TGMap||(window.TGMap={}),window.TGMap.provider||(window.TGMap.provider={}),$.extend(TGMap.provider,{action:function(provider,searchtext,successcb){$.ajax({async:!0,type:"GET",url:actionUrl("Search")+"?Provider="+$_ENCODE(provider)+"&Op=Action&"+searchtext,success:function(data){$_onReadyCommonProviderAction_Data(data),$.isFunction(successcb)&&successcb.call(this)}})}}),window.TGMap.overlay||(window.TGMap.overlay={}),$.extend(TGMap.overlay,{cookieName:null,close:function(selector,dontshowlater){dontshowlater&&$.cookie(cookieName,"true");var ret=selector?$(selector).val():null;return!1===$.modal.close()?null:ret},open:function(name,formValues){return cookieName=name+"DontShowLater","true"!==$.cookie(cookieName)&&($.get(options.appPath+"/"+name+"?language="+options.lang,(function(data){$(data).modal({position:["15%"],overlayId:"simplemodal-overlay",containerId:"simplemodal-container",zIndex:9502}),formValues&&$("<input/>",{type:"hidden",id:formValues.id,value:formValues.value}).appendTo("#overlayForm")})),!0)}})}(jQuery,window);
function InitUserRightsChangeListening(options){function handleRoleCheckbox(index,checkbox){var $checkbox=$(checkbox);if($checkbox&&$checkbox.prev().val()===options.fieldUserRight){var changeChecker=function(){var elementSelector="#"+$checkbox.attr("id");if($(elementSelector+"_Warning").text(""),$checkbox.is(":checked")){var name=$("#UserName").val();$.post(options.isUserGroupURI,{name:name}).done((function(res){res?$.post(options.getUsersForGroupURI,{groupName:name}).done((function(res){res&&checkFieldUserPermission(res.map((function(user){return user.UserName})),elementSelector,!0)})):checkFieldUserPermission([name],elementSelector)}))}};$checkbox.on("click",changeChecker),changeChecker()}}function handleGroupCheckbox(index,checkbox){var $checkbox=$(checkbox),changeChecker=function(){var elementSelector="#"+$checkbox.attr("id");if($(elementSelector+"_Warning").text(""),$checkbox.is(":checked")){var name=$("#UserName").val(),matches=$checkbox.attr("name").match(/\d+/g);if(matches&&matches[0]<options.userGroups.length){var group=options.userGroups[matches[0]];$.post(options.groupHasRoleURI,{groupName:group.RoleName,role:options.fieldUserRight}).done((function(res){res&&checkFieldUserPermission([name],elementSelector,!1,!0)}))}}};$checkbox.on("click",changeChecker),changeChecker()}function checkFieldUserPermission(usernames,elementSelector,forGroup,fromGroup){if(usernames&&usernames.length>0){var spinner=$(elementSelector+"_Loading");spinner.css("display","inline-block"),$.ajax({type:"POST",url:tekla.Map.defaultOptions.appPath+"/api/Maphandling/v1/GetUserStatus/",data:JSON.stringify({Users:usernames}),dataType:"json",contentType:"application/json; charset=utf-8",success:function(result){if(result&&result.UserStatusList){var problematicUsers=result.UserStatusList.filter((function(userStatus){return userStatus.Exists&&!userStatus.FieldUserPermission})),text=fromGroup&&1===problematicUsers.length?options.texts.userMissingFieldUserPermitGroup:fromGroup||forGroup||1!==problematicUsers.length?forGroup&&problematicUsers.length>0?options.texts[1===problematicUsers.length?"userInGroupMissingFieldUserPermit":"usersInGroupMissingFieldUserPermit"].replace("{0}",problematicUsers.map((function(userStatus){return userStatus.User})).join(",")):null:options.texts.userMissingFieldUserPermit;text&&$(elementSelector+"_Warning").html(text)}spinner.hide()},error:function(){spinner.hide()}})}}$(document).ready((function(){new MutationObserver((function(mutationsList){mutationsList.forEach((function(mutation){mutation.addedNodes&&mutation.addedNodes.forEach((function(node){$(node).find(".roleCheckBox").each(handleRoleCheckbox),$(node).find(".groupCheckBox").each(handleGroupCheckbox)}))}))})).observe(document.body,{attributes:!1,childList:!0,subtree:!0})}))}

function switchImage(divName, totalImgs) {
    for (var i = 1; i <= totalImgs; i++) {
        var showDivName = 'Image' + i;
        var showObj = document.getElementById(showDivName);

        if (showDivName == divName) {
            showObj.style.display = 'block';
        }
        else {
            showObj.style.display = 'none';
        }
    }
}

function highlightObj(referenceId, presentation) {
    var obj = SearchDB.FindByReferenceId(referenceId);
    if (obj) {
        obj.HighLight(TXWConst.SEARCH, presentation);
    }
}

function highlightSite(referenceId, presentation) {
    RemoveHighlights();

    if (!showByRef(referenceId, true)) {
        TGMap.provider.action('eSite', 'tag=site&referenceid=' + referenceId,
        function () {
            highlightObj(referenceId, presentation);
        });
    }
    else {
        highlightObj(referenceId, presentation);
    }
}

function showSubArea(subarea, classId) {
    var paramString = 'tag=subarea&id=' + encodeURIComponent(subarea) + '&class=' + encodeURIComponent(classId) + '&navi=true';
    TGMap.provider.action('eSite', paramString,
      function () {
          $(".tablesorter").tablesorter({ 
            cssHeader: 'ts-header',
            textExtraction: function (node) {
              var nodeText = $(node).text();

              if ($(node).hasClass('sort-money')) {
                  var re = new RegExp("[^0-9.]+", "g");

                  nodeText = nodeText.replace(re, "");

                  if (nodeText.length == 0) {
                      nodeText = "0";
                  }
              }

              return nodeText;
          }
          });
      });
}

function toggleVisibility(divName) {
    $("#" + divName).toggle();
}

function setVisibility(divName, val) {
    $("#" + divName).toggle(val);
}

function getStyleSheet() {
    var i, a;

    for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
        if (a.getAttribute("rel").indexOf("stylesheet") != -1 &&
            !a.disabled &&
            a.getAttribute("href").indexOf("eSite") != -1) {
            return a.getAttribute("href");
        }
    }

    return null;
}

function showImage(imgPath, imgTitle, popupText, windowCloseText) {
    newwindow = window.open('', '_blank', 'locationbar=no,toolbar=no,height=520,width=660', false);
    var docContent = newwindow.document;
    docContent.write('<html><head><title>');
    docContent.write(imgTitle);
    docContent.write('</title>');
    docContent.write('<link rel="stylesheet" type="text/css" href="');
    docContent.write(getStyleSheet());
    docContent.write('">');
    docContent.write('</head><body class="imageWindow">');
    docContent.write('<img src="');
    docContent.write(imgPath);
    docContent.write('" title="');
    docContent.write(popupText);
    docContent.write('" width="640" height="480">');
    docContent.write('<div id="closeLink"><a href="JavaScript:self.close()">');
    docContent.write(windowCloseText);
    docContent.write('</a></div></body></html>');
    docContent.close();
}

function applyNow(referenceId) {
    if (!referenceId) {
        referenceId = TGMap.overlay.close('#siteId');
    }
    openApplication(referenceId);
}

function addSitesToMyObjects(sites) {
    if (sites && sites.length > 0) {
        for (var i = 0; i < sites.length; i++) {
            if (SearchDB.FindByReferenceId(sites[i])) {
                applyToMyObjects(sites[i]);
            }
            else {
                TGMap.provider.action('eSite', 'tag=site&referenceid=' + sites[i], function () { applyToMyObjects(sites[i]); });
            }
        }
    }
}

function applyToMyObjects(referenceId) {
    if (!referenceId) {
        referenceId = TGMap.overlay.close('#siteId', true);
    }
    var obj = SearchDB.FindByReferenceId(referenceId);
    if (obj) {
        TGMap.myObjects.insert(obj, { Filter: 'ReferenceId', Error: GetText('cl_SiteAlreadyAdded') });
    }
}

function applySite(referenceId) {

    if (window.teklaMap.options.IsMobile) {
        applyNow(referenceId);
    }
    else if (TGMap.overlay.open("Help/MyObjectseSite", { id: "siteId", value: referenceId }) === false) {
        applyToMyObjects(referenceId);
    }
}

function renderFeedbacks(data, id) {
    var html;
    if (data && data.length > 0) {
        var html = "<table id='siteFeedbacks'><tbody>";
        for (var i = 0; i < data.length; i++) {
            var f = data[i];
            html += "<tr><td><a href='" + f.ViewURI + "' target='_feedback'>" + f.Date + "</a></td><td>" + f.Description + "</td></tr>";
        }
        html += "</tbody></table>";
    }
    else {
        try {
            html = GetText('cl_NoFeedbacksRelatedToSite');
        }
        catch (e) { }
    }

    $("#" + id).html(html);
}

var eSiteBaseURI = "";

function openApplication(referenceId) {
    var url = eSiteBaseURI + '?siteList=' + referenceId;
    window.open(url);
}

(function ($) {

    $.extend(TGMap.myObjects.knownTypes, {
        'eSite': {
            editable: false,
            onaction: function (refids) {
                openApplication(refids);
            },
            onbeforecopy: function (obj) {
                if (obj.Presentation) {
                    obj.Presentation.LineWidth = 6;
                }
            }
        }
    });

} (jQuery));

