OpenCartis={};OpenCartis.nGeo={};OpenCartis.nGeo.Map={};OpenCartis.nGeo.MapComponents={};OpenCartis.nGeo.MapService={};OpenCartis.nGeo.Geometries={};OpenCartis.Common={};(function(){var opencartis={};opencartis.nGeo={};opencartis.nGeo.Map={};opencartis.nGeo.MapComponents={};opencartis.nGeo.MapService={};opencartis.nGeo.Geometries={};opencartis.Common={};opencartis.Common.Utilities={};opencartis.nGeo.MapComponents.hash=0;opencartis.Common.MouseButton={Left:0,Middle:1,Right:2};opencartis.Common.MouseCoords={X:"layerX",Y:"layerY"};opencartis.Common.MouseEventTarget="target";if(navigator.userAgent.toLowerCase().indexOf("msie")!=-1){opencartis.Common.MouseButton.Left=1;opencartis.Common.MouseButton.Middle=4;opencartis.Common.MouseButton.Right=2;opencartis.Common.MouseCoords.X="x";opencartis.Common.MouseCoords.Y="y";opencartis.Common.MouseEventTarget="srcElement"}if(navigator.userAgent.toLowerCase().indexOf("opera")!=-1){opencartis.Common.MouseCoords.X="x";opencartis.Common.MouseCoords.Y="y"}opencartis.Common.PageSizeEnum={A4:"A4",A3:"A3"};opencartis.Common.PageOrientationEnum={Portrait:"H",Landscape:"V"};opencartis.nGeo.Map.MapStateEnum={Closed:0,Openned:1,Openning:2};opencartis.nGeo.MapComponents.MapControlStateEnum={LoadError:-2,None:-1,Ready:0,Loading:1,Drawing:2};opencartis.nGeo.MapComponents.MapControlModeEnum={None:-1,Pan:0,ZoomIn:1,ZoomOut:2,Digitizing:3,Select:4,MeasuringLine:5,MeasuringPolygon:6,ScaleBarSliding:7};opencartis.nGeo.MapComponents.MapControlModeCursorEnum={None:"default",Pan:"url(images/openhand.cur),default",PanPressed:"url(images/closedhand.cur),default",ZoomIn:"url(images/zoomIn.cur),crosshair",ZoomOut:"url(images/zoomOut.cur),crosshair",Digitizing:"crosshair, hand",Select:"default",MeasuringLine:"crosshair",MeasuringPolygon:"crosshair"};opencartis.nGeo.MapComponents.MapObjectTypeEnum={Undefined:-1,Location:0,Extension:1};opencartis.nGeo.MapComponents.MapImageFormatEnum={DIRECT:"DIRECT",GIF4:"GIF4",GIF5:"GIF5",GIF6:"GIF6",GIF7:"GIF7",GIF8:"GIF8"};opencartis.nGeo.MapComponents.MapImageRenderFormatEnum={PNG:"PNG",PNG8:"PNG8",GIF:"GIF",JPG:"JPG"};opencartis.nGeo.MapComponents.TooltipTypeEnum={Empty:0,Text:1,Url:2,Html:3};opencartis.nGeo.MapComponents.KeyPressedEnum={Esc:0,Shift:1,Ctrl:2,Alt:3,Space:4,Enter:5,Back:6,Up:7,Down:8,Left:9,Right:10,Plus:11,Minus:12};opencartis.nGeo.MapComponents.PixelsPerCM=37.79527559;opencartis.Common.CollectionModelApplicator=function(inheritedObj){inheritedObj.prototype={Item:null,Count:function(){},IsBOF:function(){},IsEOF:function(){},GoFirst:function(){},GoLast:function(){},GoTo:function(index){},Read:function(){},GoPrevious:function(){},Add:function(item,parent){},Remove:function(item){}}};opencartis.Common.EventModel={Subscribe:function(fn){},UnSubscribe:function(fn){},Fire:function(sender){}};opencartis.Common.SizeModel={width:-1,height:-1};opencartis.Common.AutoResizableIFrameModel={DOMElement:null,RenderTo:function(parentelement){},MaxSize:opencartis.Common.SizeModel,Resize:function(maxSize){},onRender:opencartis.Common.EventModel,onResize:opencartis.Common.EventModel};opencartis.Common.LanguageModel={Code:"",NativeName:"",IsLoaded:function(){},Load:function(url){},Data:{},beforeLanguageLoad:opencartis.Common.EventModel,afterLanguageLoaded:opencartis.Common.EventModel};opencartis.Common.LocalizationModel={CurrentLanguage:opencartis.Common.LanguageModel,BrowserLanguageCode:null,GetLanguage:function(code){},GetLanguages:function(){},AddLanguage:function(code,texturl,name){},Activate:function(languagecode,async){},LanguageCount:0,beforeLanguageActivate:opencartis.Common.EventModel,afterLanguageActivate:opencartis.Common.EventModel,OverrideWithCurrentLanguage:function(dataArea,dataToOverride){},Parse:function(domelement){}};opencartis.nGeo.Geometries.PointModel={X:NaN,Y:NaN,ToWKT:function(){},ToText:function(){},Equals:function(another){},Parse:function(domelement){},IsDefined:function(){}};opencartis.nGeo.Geometries.BoundingBoxModel={Min:opencartis.nGeo.Geometries.PointModel,Max:opencartis.nGeo.Geometries.PointModel,Parse:function(domelement){},ToText:function(){},GetWidth:function(){},GetHeight:function(){},GetSize:function(){},GetCenterPoint:function(){},GetCommonArea:function(another){},ApplyMargin:function(margin){},Clone:function(){},Intersects:function(another){},Equals:function(another){},IsDefined:function(){},EnsureIsCorrect:function(){},MoveBy:function(xoffset,yoffset){},Join:function(another){}};opencartis.nGeo.MapService.ServiceModel={ImagingURL:"",ServiceURL:"",PrintURL:"",PrintHTMLURL:"",GetSync:function(method,verb,params,mapIdParam){},GetAsync:function(method,verb,params,callback,mapIdParam){},GetDOMImage:function(params){},Download:function(verb,params){},Open:function(){},IsOpened:function(){},SessionIsValid:function(mapId){},onSessionTimeout:opencartis.Common.EventModel};opencartis.nGeo.Map.LayerStyleModel={MinDisplayScale:0,MaxDisplayScale:1000000000,Parse:function(domelement){},IsInRange:function(scale){}};opencartis.nGeo.Map.LayerModel={Name:null,Label:null,Parent:null,Active:true,DisplayInLegend:true,ExpandInLegend:false,Layers:null,Styles:null,Parse:function(domelement){},IsRenderLayer:function(){},IsAvailableAtScale:function(scale){},GetVisibility:function(){},SetVisibility:function(state){},GetPath:function(){},onLayerVisibilityChanged:opencartis.Common.EventModel,onLayerLabelChanged:opencartis.Common.EventModel};opencartis.nGeo.Map.ResultClassModel={Name:"",LayerName:"",EnsureLayerIsVisible:false,Id:-1,DefaultScale:-1,ResultCount:-1,MaxResultsReached:false,Parse:function(domelement){}};opencartis.nGeo.Map.ResultItemModel={Name:"",ResultClassId:-1,ResultClass:"",BoundingBox:opencartis.nGeo.Geometries.BoundingBoxModel,Center:opencartis.nGeo.Geometries.PointModel,Parse:function(domelement){}};opencartis.nGeo.Map.SearchResultsModel={ResultClasses:null,ResultItems:null,Parse:function(domelement){},GetBoundingBox:function(){}};opencartis.nGeo.Map.SearchManagerModel={SearchTerms:"",SearchPage:1,SearchClass:-1,PageSize:10,ResultClasses:null,NewSearch:function(terms){},Search:function(page,classId){},Clear:function(){},SelectItem:function(item){},Map:opencartis.nGeo.Map.MapModel,SearchResults:opencartis.nGeo.Map.SearchResultsModel,beforeSearch:opencartis.Common.EventModel,afterSearch:opencartis.Common.EventModel,searchCleared:opencartis.Common.EventModel,onItemSelected:opencartis.Common.EventModel};opencartis.nGeo.Map.MeasureItemModel={Name:"",MeasureAreaMessage:"",MeasureLengthMessage:"",Parse:function(domelement){}};opencartis.nGeo.Map.MeasureResultsModel={TotalArea:0,TotalPerimeter:0,TotalLength:0,AreaMeasures:null,LinealMeasures:null,Parse:function(domelement){}};opencartis.nGeo.Map.MapModel={MapExtent:opencartis.nGeo.Geometries.BoundingBoxModel,MapExtentOriginal:opencartis.nGeo.Geometries.BoundingBoxModel,Name:null,Key:null,Tag:null,MinScale:100,MaxWordsInSearch:10,Guid:null,Layers:null,GetLayer:function(layerName){},IsOpened:function(){},Open:function(){},GetImage:function(){},Print:function(params){},PrintHTML:function(params){},Service:opencartis.nGeo.MapService.ServiceModel,Parse:function(domelement){},SearchManager:opencartis.nGeo.Map.SearchManagerModel,onMapLoading:opencartis.Common.EventModel,onMapLoaded:opencartis.Common.EventModel,onLayerVisibilityChanged:opencartis.Common.EventModel,onLayerLabelChanged:opencartis.Common.EventModel,beforeSearch:opencartis.Common.EventModel,afterSearch:opencartis.Common.EventModel,searchCleared:opencartis.Common.EventModel,onSearchItemSelected:opencartis.Common.EventModel};opencartis.nGeo.MapComponents.MapControlConfigModel={ServiceURL:null,ImagingURL:null,PrintURL:null,PrintHTMLURL:null,MapKey:null,ImageFormat:opencartis.nGeo.MapComponents.MapImageFormatEnum.DIRECT,RenderFormat:opencartis.nGeo.MapComponents.MapImageRenderFormatEnum.PNG,InitialView:opencartis.nGeo.Geometries.BoundingBoxModel,MapExtent:opencartis.nGeo.Geometries.BoundingBoxModel,ZoomFactor:1.5,CompassEnabled:false,ScaleSliderEnabled:false,LoadFromUrl:function(){},Parse:function(domelement){}};opencartis.nGeo.MapComponents.MapObjectModel={GetPositioningType:function(){},Reposition:function(optView){},IsVisible:function(){},Show:function(){},Hide:function(){},IsOnView:function(){},RenderTo:function(canvas){},IsRendered:function(){},SetContent:function(content){},RemoveContent:function(){},InsertionOffset:opencartis.nGeo.Geometries.PointModel,InsertionPoint:opencartis.nGeo.Geometries.PointModel,Size:opencartis.Common.SizeModel,Tag:null,GetExtent:function(){}};opencartis.nGeo.MapComponents.MapCanvasModel={UIElement:null,Resize:function(newView){},UpdateView:function(){},IsVisible:function(){},IsRendered:function(){},Show:function(){},Hide:function(){},RenderTo:function(canvas){},Objects:null,SetMeAsMouseHandler:function(){},AppendCanvas:function(key){},AppendObject:function(mapobject){},RemoveObject:function(mapobject){},GetCanvas:function(index){},SetCursor:function(cursorStyle){}};opencartis.nGeo.MapComponents.MapViewModel={MapExtent:opencartis.nGeo.Geometries.BoundingBoxModel,ImageSize:opencartis.Common.SizeModel,UpdateImageSize:function(newSize){},MapToWorld:function(point){},WorldToMap:function(point){},GetScale:function(){},Clone:function(){}};opencartis.nGeo.MapComponents.RectangleWithExteriorModel={RenderTo:function(container){},Show:function(insertionPoint,interiorSize){},Hide:function(){},Reposition:function(insertionPoint,interiorSize){},SetExteriorBackground:function(color,alpha){},SetInteriorBackground:function(color,alpha){},SetInteriorBorder:function(style,width,color){}};opencartis.nGeo.MapComponents.TooltipModel={Load:function(){},SetPosition:function(x,y){},CancelLoad:function(){},GetType:function(){},GetX:function(){},GetY:function(){},GetId:function(){},RenderTo:function(canvas){},Show:function(){},Hide:function(){},Size:opencartis.Common.SizeModel,IsVisible:function(){},IsLoading:function(){},IsTooltipOrChild:function(element){},onDataLoaded:opencartis.Common.EventModel};opencartis.nGeo.MapComponents.BusyStateNoteModel={AppendMessage:function(msg,useDots,isUnique){},RemoveMessage:function(msg){}};opencartis.nGeo.MapComponents.MapControlModel={State:opencartis.nGeo.MapComponents.MapControlStateEnum.None,Mode:opencartis.nGeo.MapComponents.MapControlModeEnum.None,Map:opencartis.nGeo.Map.MapModel,MapConfig:opencartis.nGeo.MapComponents.MapControlConfigModel,CurrentView:opencartis.nGeo.MapComponents.MapViewModel,Load:function(){},RenderTo:function(container){},Refresh:function(){},Resize:function(){},ZoomInMode:function(){},ZoomOutMode:function(){},PanMode:function(){},DigitizePointMode:function(){},SelectMode:function(){},SelectAtPoint:function(x,y){},MeasuringLineMode:function(){},MeasuringPolygonMode:function(){},MeasureSelected:function(){},MeasureClear:function(){},ZoomExtent:function(){},ZoomPrevious:function(){},ZoomScale:function(scale,optPoint){},ZoomIn:function(){},ZoomOut:function(){},ZoomUp:function(){},ZoomLeft:function(){},ZoomRight:function(){},ZoomDown:function(){},ZoomSearchItem:function(){},InitialView:function(){},Print:function(params){},PrintHTML:function(params){},SetAutoRefresh:function(val){},SearchManager:opencartis.nGeo.Map.SearchManagerModel,onViewChanging:opencartis.Common.EventModel,onViewChanged:opencartis.Common.EventModel,onStateChanged:opencartis.Common.EventModel,onModeChanged:opencartis.Common.EventModel,onLayerVisibilityChanged:opencartis.Common.EventModel,onLayerLabelChanged:opencartis.Common.EventModel,beforeSearch:opencartis.Common.EventModel,afterSearch:opencartis.Common.EventModel,searchCleared:opencartis.Common.EventModel,onDigitizedPoint:opencartis.Common.EventModel,onMeasureChanged:opencartis.Common.EventModel,LastFileSize:0};opencartis.nGeo.Map.LayerStyleCollection=function(){opencartis.Common.CollectionCtor.call(this)};opencartis.Common.CollectionModelApplicator(opencartis.nGeo.Map.LayerStyleCollection);opencartis.nGeo.Map.LayerStyleCollection.prototype.Item=opencartis.nGeo.Map.LayerStyleModel;opencartis.nGeo.Map.LayerStyleCollection.prototype.IsInRange=function(scale){var isInRange=false;this.GoFirst();while(!isInRange&&this.Read()){isInRange=this.Item.IsInRange(scale)}return isInRange};opencartis.nGeo.Map.LayerCollection=function(){opencartis.Common.CollectionCtor.call(this)};opencartis.Common.CollectionModelApplicator(opencartis.nGeo.Map.LayerCollection);opencartis.nGeo.Map.LayerCollection.prototype.Item=opencartis.nGeo.Map.LayerModel;opencartis.nGeo.MapComponents.MapCanvasCollection=function(){opencartis.Common.CollectionCtor.call(this)};opencartis.Common.CollectionModelApplicator(opencartis.nGeo.MapComponents.MapCanvasCollection);opencartis.nGeo.MapComponents.MapCanvasCollection.prototype.Item=opencartis.nGeo.MapComponents.MapCanvasModel;opencartis.nGeo.MapComponents.MapObjectCollection=function(){opencartis.Common.CollectionCtor.call(this)};opencartis.Common.CollectionModelApplicator(opencartis.nGeo.MapComponents.MapObjectCollection);opencartis.nGeo.MapComponents.MapObjectCollection.prototype.Item=opencartis.nGeo.MapComponents.MapObjectModel;opencartis.nGeo.Map.LayerModel.Styles=opencartis.nGeo.Map.LayerStyleCollection.prototype;opencartis.nGeo.Map.LayerModel.Layers=opencartis.nGeo.Map.LayerCollection.prototype;opencartis.nGeo.Map.MapModel.Layers=opencartis.nGeo.Map.LayerCollection.prototype;opencartis.nGeo.MapComponents.MapCanvasModel.Objects=opencartis.nGeo.MapComponents.MapObjectCollection.prototype;opencartis.nGeo.MapComponents.ContainerMissingError=new Error("MapControl renderization requires 'container' parameter.");opencartis.nGeo.MapComponents.MapSizeMissingError=new Error("Extension type MapObject inizialization requires 'mapSize' parameter.");opencartis.Common.CollectionCtor=function(){var obj=this;(function(){var arr=new Array();var current=-1;obj.IsEOF=function(){return(current>=arr.length)?true:false};obj.IsBOF=function(){return(current<0)?true:false};function _updateItem(){obj.Item=arr[current]}obj.Count=function(){return arr.length};obj.Read=function(){if(!obj.IsEOF()){_updateItem();current++;return true}return false};obj.GoPrevious=function(){if(!obj.IsBOF()){current--;return true}return false};obj.Add=function(){arr[obj.Count()]=arguments[0];if(arguments.length==2){arr[obj.Count()-1].Parent=arguments[1]}};obj.Remove=function(item){var i=0;while(i<arr.length&&arr[i]!=item){i++}if(i<arr.length&&i<current){current--}else{if(i==current){_updateItem()}}for(var n=i;n<arr.length-1;n++){arr[n]=arr[n+1]}if(i<arr.length){arr.pop()}};obj.GoFirst=function(){current=0};obj.GoLast=function(){current=obj.Count()};obj.GoTo=function(index){if(index<obj.Count()){current=index}else{throw new Error("Index out of range")}}})()};opencartis.Common.Event=function(){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.Common.EventModel;obj=new tmp()}var alist=new Array();obj.Subscribe=function(fn){alist[fn]=fn};obj.UnSubscribe=function(fn){delete alist[fn]};obj.Fire=function(sender,eventArgs){for(var fn in alist){alist[fn](sender,eventArgs)}}};opencartis.Common.Event.prototype=opencartis.Common.EventModel;opencartis.Common.Size=function(w,h){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.Common.SizeModel;obj=new tmp()}obj.width=w;obj.height=h};opencartis.Common.Size.prototype=opencartis.Common.SizeModel;opencartis.Common.Utilities.GetElementSize=function(element){var w,h;try{w=element.clientWidth;h=element.clientHeight}catch(e){w=-1;h=-1}return new opencartis.Common.Size(w,h)};opencartis.Common.Utilities.GetFormattedNumber=function(value,numberOfDecimals){var formattedValue="";value=(Math.round(value*Math.pow(10,numberOfDecimals))/Math.pow(10,numberOfDecimals))+"";var upperLimit=value.indexOf(".");if(upperLimit==-1){upperLimit=value.length}for(var j,i=upperLimit-1,j=0;i>=0;i--,j++){formattedValue=value.charAt(i)+((j>0)&&(j%3==0)?".":"")+formattedValue}if(numberOfDecimals>0&&value.indexOf(".")!=-1){formattedValue=formattedValue+","+value.substring(value.indexOf(".")+1,value.length)}return formattedValue};opencartis.Common.Utilities.GetComputedStyle=function(el,styleProp){var x=el;if(x.currentStyle){var y=x.currentStyle[styleProp]}else{if(window.getComputedStyle){var y=document.defaultView.getComputedStyle(x,null)[styleProp]}}return y};opencartis.Common.AutoResizableIFrame=function(src,maxSize){var obj=this;if(obj=="debug"){var tmp=function(){};tmp.prototype=opencartis.Common.AutoResizableIFrameModel;obj=new tmp()}obj.onRender=new opencartis.Common.Event();obj.onResize=new opencartis.Common.Event();obj.DOMElement=document.createElement("IFRAME");obj.DOMElement.setAttribute("frameBorder","0");obj.DOMElement.setAttribute("src",src);obj.DOMElement.style.display="none";obj.MaxSize=maxSize;obj.RenderTo=function(parentelement){parentelement.appendChild(obj.DOMElement);obj.DOMElement.style.width="5px";obj.DOMElement.style.height="5px";obj.DOMElement.style.display="block";obj.onRender.Fire();AutoResize()};obj.Resize=function(maxSize){try{obj.MaxSize=maxSize||obj.MaxSize;var innerDoc;if(typeof(obj.DOMElement.contentDocument)=="unknown"){throw new Error()}try{innerDoc=(obj.DOMElement.contentDocument)?obj.DOMElement.contentDocument:obj.DOMElement.contentWindow.document;if(innerDoc&&innerDoc.body==null){return false}if(innerDoc&&innerDoc.body.scrollHeight==0){return false}if(innerDoc.URL=="about:blank"){return false}}catch(e){return false}if(innerDoc=="undefined"){throw new Error()}var mt,mb,ml,mr;mt=parseInt(opencartis.Common.Utilities.GetComputedStyle(innerDoc.body,"marginTop")||0);mb=parseInt(opencartis.Common.Utilities.GetComputedStyle(innerDoc.body,"marginBottom")||0);ml=parseInt(opencartis.Common.Utilities.GetComputedStyle(innerDoc.body,"marginLeft")||0);mr=parseInt(opencartis.Common.Utilities.GetComputedStyle(innerDoc.body,"marginRight")||0);var h=(parseInt(innerDoc.documentElement.scrollHeight)+mt+mb);var w=(parseInt(innerDoc.documentElement.scrollWidth)+ml+mr);h=Math.min((h==5)?10000:h,obj.MaxSize.height);w=Math.min((w==5)?10000:w,obj.MaxSize.width);var box=new opencartis.nGeo.Geometries.BoundingBox(0,0,0,0);var child=innerDoc.body.firstChild;while(child){mt=parseInt(opencartis.Common.Utilities.GetComputedStyle(innerDoc.body,"marginTop")||0);mb=parseInt(opencartis.Common.Utilities.GetComputedStyle(innerDoc.body,"marginBottom")||0);ml=parseInt(opencartis.Common.Utilities.GetComputedStyle(innerDoc.body,"marginLeft")||0);mr=parseInt(opencartis.Common.Utilities.GetComputedStyle(innerDoc.body,"marginRight")||0);box=box.Join(new opencartis.nGeo.Geometries.BoundingBox(child.offsetLeft||0,child.offsetTop||0,child.scrollWidth+ml+mr||0,child.scrollHeight+mt+mb||0));child=child.nextSibling}h=Math.min((box.Max.Y==5)?10000:box.Max.Y,h);w=Math.min((box.Max.X==5)?10000:box.Max.X,w);obj.DOMElement.style.height=h+"px";obj.DOMElement.style.width=w+"px";if(w==obj.MaxSize.width||h==obj.MaxSize.height){obj.DOMElement.setAttribute("scrolling","yes")}else{obj.DOMElement.setAttribute("scrolling","no")}obj.onResize.Fire();return true}catch(e){obj.DOMElement.style.height=obj.MaxSize.height+"px";obj.DOMElement.style.width=obj.MaxSize.width+"px";obj.onResize.Fire();return true}};function AutoResize(){if(!obj.Resize(obj.MaxSize)){setTimeout(AutoResize,150)}}};opencartis.Common.AutoResizableIFrame.prototype=opencartis.Common.AutoResizableIFrameModel;opencartis.Common.Utilities.SetElementTransparency=function(element,alpha){if(document.all){element.style.filter="alpha(opacity="+alpha+")"}else{element.style.opacity=alpha/100;element.style.MozOpacity=alpha/100;element.style.KHTMLOpacity=alpha/100}};opencartis.Common.Utilities.AddEventHandler=function(evName,docElem,handler){if(docElem.attachEvent){docElem.attachEvent("on"+evName,handler)}else{if(docElem.addEventListener){if(evName!="mousewheel"){docElem.addEventListener(evName,handler,false)}else{window.addEventListener(evName,handler,false);window.addEventListener("DOMMouseScroll",handler,false)}}}};opencartis.Common.Language=function(url,code,nativeName){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.Common.LanguageModel;obj=new tmp()}var loaded=false;obj.FileURL=url;obj.beforeLanguageLoad=new opencartis.Common.Event();obj.afterLanguageLoaded=new opencartis.Common.Event();obj.Code=code||"";obj.NativeName=nativeName||"";obj.Data={};obj.IsLoaded=function(){return loaded};obj.Load=function(async){if(obj.FileURL==""){obj.afterLanguageLoaded.Fire(obj);return}var url=obj.FileURL;var serviceurl=url.substr(0,url.lastIndexOf("/"));var verb=url.substr(serviceurl.length+1);var service=new opencartis.nGeo.MapService.Service(serviceurl,"");obj.beforeLanguageLoad.Fire();if(async==true){service.GetAsync("GET",verb,null,_languageLoaded)}else{var oxml=service.GetSync("GET",verb,null);_languageLoaded(oxml)}};function _languageLoaded(oxml){var domelement=oxml.responseXML.documentElement;obj.Code=domelement.getAttribute("language");obj.NativeName=domelement.getAttribute("nativeName");var child=domelement.firstChild;while(child!=null){if(child.nodeType==1){if(child.nodeName=="Area"){var areacode=child.getAttribute("code");if(typeof(obj.Data[areacode])=="undefined"){obj.Data[areacode]={}}var schild=child.firstChild;while(schild!=null){if(schild.nodeType==1){obj.Data[areacode][schild.nodeName]=schild.firstChild.nodeValue}schild=schild.nextSibling}}}child=child.nextSibling}obj.afterLanguageLoaded.Fire(obj)}};opencartis.Common.Language.prototype=opencartis.Common.LanguageModel;opencartis.Common.Localization=function(){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.Common.LocalizationModel;obj=new tmp()}var languages={};obj.CurrentLanguage=null;obj.LanguageCount=0;obj.beforeLanguageActivate=new opencartis.Common.Event();obj.afterLanguageActivate=new opencartis.Common.Event();obj.OverrideWithCurrentLanguage=function(dataArea,dataToOverride){var data;try{data=obj.CurrentLanguage.Data[dataArea]}catch(e){return}for(var key in data){dataToOverride[key]=data[key]}};obj.BrowserLanguageCode=(navigator.language||navigator.browserLanguage||navigator.userLanguage||navigator.systemLanguage||"esp");obj.Activate=function(languagecod,async){if(typeof(languages[languagecod])!="undefined"){obj.beforeLanguageActivate.Fire(languages[languagecod]);if(!languages[languagecod].IsLoaded()){if(async==true){languages[languagecod].afterLanguageLoaded.Subscribe(_languageActivated);languages[languagecod].Load(async)}else{var oxml=languages[languagecod].Load(async);_languageActivated(languages[languagecod])}}}};function _languageActivated(lang){lang.afterLanguageLoaded.UnSubscribe(_languageActivated);obj.CurrentLanguage=lang;obj.afterLanguageActivate.Fire(lang)}obj.AddLanguage=function(code,texturl,name){if(typeof(languages[code])=="undefined"){obj.LanguageCount++}languages[code]=new opencartis.Common.Language(texturl,code,name)};obj.GetLanguage=function(code){if(typeof(languages[code])!="undefined"){return languages[code]}else{return null}};obj.GetLanguages=function(){return languages};obj.Parse=function(domelement){var child=domelement.firstChild;while(child!=null){if(child.nodeType==1&&child.nodeName=="Language"){var code=child.getAttribute("code");var name=child.getAttribute("nativeName");var url="";var schild=child.firstChild;while(schild!=null&&url==""){if(schild.nodeType==1&&schild.nodeName=="File"){url=schild.firstChild.nodeValue}schild=schild.nextSibling}obj.AddLanguage(code,url,name)}child=child.nextSibling}}};opencartis.Common.Localization.prototype=opencartis.Common.LocalizationModel;opencartis.nGeo.Geometries.Point=function(x,y){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Geometries.PointModel;obj=new tmp()}if(arguments.length==2){obj.X=x;obj.Y=y}obj.Parse=function(domelement){var child=domelement.firstChild;var val=0;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"X":obj.X=parseFloat(child.firstChild.nodeValue);val++;break;case"Y":obj.Y=parseFloat(child.firstChild.nodeValue);val++;break}}child=child.nextSibling}return(val==2)?true:false};obj.ToWKT=function(){return"POINT("+obj.X+" "+obj.Y+")"};obj.ToText=function(){return obj.X+","+obj.Y};obj.Equals=function(another){return(obj.X==another.X&&obj.Y==another.Y)?true:false};obj.IsDefined=function(){return(isNaN(obj.X)||isNaN(obj.Y))?false:true}};opencartis.nGeo.Geometries.Point.prototype=opencartis.nGeo.Geometries.PointModel;opencartis.nGeo.Geometries.BoundingBox=function(xmin,ymin,xmax,ymax){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Geometries.BoundingBoxModel;obj=new tmp()}switch(arguments.length){case 4:obj.Min=new opencartis.nGeo.Geometries.Point(xmin,ymin);obj.Max=new opencartis.nGeo.Geometries.Point(xmax,ymax);break;case 2:obj.Min=arguments[0];obj.Max=arguments[1];break;default:obj.Min=new opencartis.nGeo.Geometries.Point();obj.Max=new opencartis.nGeo.Geometries.Point();break}obj.Parse=function(domelement){var child=domelement.firstChild;var val=0;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"LowerLeftCoordinate":val+=(obj.Min.Parse(child))?1:0;break;case"UpperRightCoordinate":val+=(obj.Max.Parse(child))?1:0;break}}child=child.nextSibling}return(val==2)?true:false};obj.ToText=function(){return obj.Min.ToText()+","+obj.Max.ToText()};obj.GetWidth=function(){return obj.Max.X-obj.Min.X};obj.GetHeight=function(){return obj.Max.Y-obj.Min.Y};obj.GetSize=function(){return new opencartis.Common.Size(obj.GetWidth(),obj.GetHeight())};obj.Clone=function(){return new opencartis.nGeo.Geometries.BoundingBox(obj.Min.X,obj.Min.Y,obj.Max.X,obj.Max.Y)};obj.Intersects=function(another){return(another.Max.X<obj.Min.X||another.Min.X>obj.Max.X||another.Min.Y>obj.Max.Y||another.Max.Y<obj.Min.Y)?false:true};obj.Equals=function(another){return(obj.Min.Equals(another.Min)&&obj.Max.Equals(another.Max))?true:false};obj.GetCenterPoint=function(){return new opencartis.nGeo.Geometries.Point((obj.Min.X+obj.Max.X)/2,(obj.Min.Y+obj.Max.Y)/2)};obj.GetCommonArea=function(another){var minx=Math.max(obj.Min.X,another.Min.X);var miny=Math.max(obj.Min.Y,another.Min.Y);var maxx=Math.min(obj.Max.X,another.Max.X);var maxy=Math.min(obj.Max.Y,another.Max.Y);if(minx<maxx&&miny<maxy){return(maxx-minx)*(maxy-miny)}else{return 0}};obj.ApplyMargin=function(margin){obj.Min.X-=margin;obj.Min.Y-=margin;obj.Max.X+=margin;obj.Max.Y+=margin};obj.IsDefined=function(){return(obj.Min.IsDefined()&&obj.Max.IsDefined())?true:false};obj.EnsureIsCorrect=function(){var minx=obj.Min.X;var miny=obj.Min.Y;obj.Min.X=Math.min(minx,obj.Max.X);obj.Min.Y=Math.min(miny,obj.Max.Y);obj.Max.X=Math.max(minx,obj.Max.X);obj.Max.Y=Math.max(miny,obj.Max.Y)};obj.MoveBy=function(xoffset,yoffset){obj.Min.X+=xoffset;obj.Min.Y+=yoffset;obj.Max.X+=xoffset;obj.Max.Y+=yoffset};obj.Join=function(another){return new opencartis.nGeo.Geometries.BoundingBox(Math.min(obj.Min.X,another.Min.X),Math.min(obj.Min.Y,another.Min.Y),Math.max(obj.Max.X,another.Max.X),Math.max(obj.Max.Y,another.Max.Y))}};opencartis.nGeo.Geometries.BoundingBox.prototype=opencartis.nGeo.Geometries.BoundingBoxModel;opencartis.nGeo.MapService.Services=new Array();opencartis.nGeo.MapService.Service=function(serviceURL,imagingURL,printURL,printHTMLURL){try{var prevService=opencartis.nGeo.MapService.Services[serviceURL+"::"+imagingURL];if(prevService!=null){return prevService}}catch(e){}var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapService.ServiceModel;obj=new tmp()}switch(arguments.length){case 4:obj.PrintHTMLURL=printHTMLURL;case 3:obj.PrintURL=printURL;case 2:obj.ServiceURL=serviceURL;obj.ImagingURL=imagingURL;break}var downloadsFrame=null;opencartis.nGeo.MapService.Services[serviceURL+"::"+imagingURL]=obj;function _getXMLHTTPObject(){var oxml;if(window.XMLHttpRequest){try{oxml=new XMLHttpRequest()}catch(e){oxml=false}}else{if(window.ActiveXObject){try{oxml=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{oxml=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){oxml=false}}}else{oxml=false}}if(oxml&&oxml.overrideMimeType){oxml.overrideMimeType("text/xml")}return oxml}obj.GetAsync=function(method,verb,params,callback,mapIdParam){var req=_getXMLHTTPObject();req.open(method,obj.ServiceURL+"/"+verb,true);if(method=="POST"){req.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}req.onreadystatechange=(function(req,cback){var request=req;var requestCallback=cback;return function(){if(request.readyState==4){try{var c=request.responseXML.documentElement.childNodes.length;if(c==0){if(typeof(params[mapIdParam])!="undefined"){if(!obj.SessionIsValid(params[mapIdParam])){obj.onSessionTimeout.Fire({op:function(mapId){if(typeof(mapIdParam)!="undefined"){params[mapIdParam]=mapId}obj.GetAsync(method,verb,params,callback,mapIdParam)}})}}}}catch(e){}requestCallback(request)}}})(req,callback);sparams="";for(key in params){sparams+=key+"="+params[key]+"&"}if(sparams.length>0){sparams=sparams.substr(0,sparams.length-1)}req.send(sparams)};obj.GetSync=function(method,verb,params,mapIdParam){var req=_getXMLHTTPObject();req.open(method,obj.ServiceURL+"/"+verb,false);if(method=="POST"){req.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}sparams="";for(key in params){sparams+=key+"="+params[key]+"&"}if(sparams.length>0){sparams=sparams.substr(0,sparams.length-1)}req.send(sparams);try{var c=req.responseXML.documentElement.childNodes.length;if(c==0){if(typeof(params[mapIdParam])!="undefined"){if(!obj.SessionIsValid(params[mapIdParam])){obj.onSessionTimeout.Fire({op:function(mapId){if(typeof(mapIdParam)!="undefined"){params[mapIdParam]=mapId}req=obj.GetSync(method,verb,params,mapIdParam)}})}}}}catch(e){}return req};obj.GetDOMImage=function(params){var img=document.createElement("IMG");function GetImageURL(){var imgURL=obj.ImagingURL;var urlparts=new Array();for(var key in params){urlparts.push(key+"="+params[key])}if(urlparts.length>0){imgURL+="?"+urlparts.join("&")}return imgURL}var imgURL=GetImageURL();img.setAttribute("src",imgURL);img.Abort=function(){img.aborted=true;img.src=""};img.onabort=img.Abort;img.onerror=function(){if(img.aborted!=true){if(typeof(params.id)!="undefined"){if(!obj.SessionIsValid(params.id)){obj.onSessionTimeout.Fire({op:function(mapId){params.id=mapId;img.src=GetImageURL()}})}}}};return img};obj.Download=function(verb,params){if(obj.SessionIsValid(params.id)){var d=false;var hiddendiv=document.getElementById("OpenCartis.nGeo.MapService.DownloadsContainer");if(hiddendiv==null){hiddendiv=document.createElement("DIV");d=true}hiddendiv.id="OpenCartis.nGeo.MapService.DownloadsContainer";var s=hiddendiv.style;s.display="none";s.position="absolute";s.top="-1000px";s.left="-1000px";if(downloadsFrame!=null){try{hiddendiv.removeChild(downloadsFrame)}catch(e){}}downloadsFrame=document.createElement("IFRAME");downloadsFrame.name="OpenCartis.nGeo.MapService.DownloadsFrame";var paramsArr=new Array();for(var key in params){paramsArr.push(key+"="+params[key])}downloadsFrame.src=verb+((paramsArr.length>0)?"?"+paramsArr.join("&"):"");hiddendiv.appendChild(downloadsFrame);if(d){document.body.appendChild(hiddendiv)}}else{if(typeof(params.id)!="undefined"){obj.onSessionTimeout.Fire({op:function(mapId){params.id=mapId;obj.Download(verb,params)}})}}};var opened=false;obj.Open=function(){var oxml=obj.GetSync("POST","Initialize",{language:"esp"});try{opened=(oxml.responseXML.documentElement.childNodes[0].nodeValue=="true")?true:false}catch(e){opened=false}return opened};obj.IsOpened=function(){return opened};obj.SessionIsValid=function(mapId){var valid;var oxml=obj.GetSync("POST","SessionIsValid",{mapId:mapId});try{valid=(oxml.responseXML.documentElement.childNodes[0].nodeValue=="true")?true:false}catch(e){valid=false}return valid};obj.onSessionTimeout=new opencartis.Common.Event()};opencartis.nGeo.MapService.Service.prototype=opencartis.nGeo.MapService.ServiceModel;opencartis.nGeo.Map.LayerStyle=function(minDisplayScale,maxDisplayScale){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Map.LayerStyleModel;obj=new tmp()}if(arguments.length==2){if(!isNaN(minDisplayScale)){obj.MinDisplayScale=parseFloat(minDisplayScale)}if(!isNaN(maxDisplayScale)){obj.MaxDisplayScale=parseFloat(maxDisplayScale)}}obj.Parse=function(domelement){var child=domelement.firstChild;var val=0;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"MinScale":obj.MinDisplayScale=parseInt(child.firstChild.nodeValue)||0;val++;break;case"MaxScale":obj.MaxDisplayScale=parseInt(child.firstChild.nodeValue)||1000000000;val++;break}}child=child.nextSibling}return(val==2)};obj.IsInRange=function(scale){return((scale>obj.MinDisplayScale||obj.MinDisplayScale==-1)&&(scale<=obj.MaxDisplayScale||obj.MaxDisplayScale==-1))}};opencartis.nGeo.Map.LayerStyle.prototype=opencartis.nGeo.Map.LayerStyleModel;function _ParseLayers(map,parent,layerCol,domelement,preserve){var child=domelement.firstChild;while(child!=null){if(child.nodeType==1){if(child.nodeName=="MapLayerGroupBase"||child.nodeName=="MapLayerBase"){var lyr;if(preserve){lyr=layerCol.Item;layerCol.Read()}else{lyr=new opencartis.nGeo.Map.Layer(map,"",true);if(parent!=null){layerCol.Add(lyr,parent)}else{layerCol.Add(lyr)}lyr.onLayerVisibilityChanged.Subscribe(map.onLayerVisibilityChanged.Fire);lyr.onLayerLabelChanged.Subscribe(map.onLayerLabelChanged.Fire)}lyr.Parse(child,preserve)}}child=child.nextSibling}}function _ParseStyles(styleCol,domelement){var child=domelement.firstChild;while(child!=null){if(child.nodeType==1){var stl=new opencartis.nGeo.Map.LayerStyle();stl.Parse(child);styleCol.Add(stl)}child=child.nextSibling}}opencartis.nGeo.Map.Layer=function(map,name,active){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Map.LayerModel;obj=new tmp()}var lastAvaiabilityScale=0;var lastAvaiabilityResult=false;var type="MapLayer";obj.Map=map;obj.Name=name;obj.Label=name;obj.Active=active;obj.DisplayInLegend=true;obj.ExpandInLegend=false;obj.Layers=new opencartis.nGeo.Map.LayerCollection();obj.Styles=new opencartis.nGeo.Map.LayerStyleCollection();obj.onLayerVisibilityChanged=new opencartis.Common.Event();obj.onLayerLabelChanged=new opencartis.Common.Event();obj.Parse=function(domelement,preserve){var child=domelement.firstChild;var val=0;if(preserve){obj.Layers.GoFirst();obj.Layers.Read()}while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Name":obj.Name=child.firstChild.nodeValue;val++;obj.Map.RegisterLayer(obj);break;case"Label":obj.Label=(child.firstChild!=null)?child.firstChild.nodeValue:obj.Label;if(preserve==true){obj.onLayerLabelChanged.Fire(obj)}break;case"Visible":var tmp=(child.firstChild!=null)?eval(child.firstChild.nodeValue):true;if(preserve==true){if(obj.Active!=tmp){obj.Active=tmp;obj.SetVisibility(!tmp,true)}}else{obj.Active=tmp}break;case"DisplayInLegend":obj.DisplayInLegend=(child.firstChild!=null)?eval(child.firstChild.nodeValue):true;break;case"ExpandInLegend":obj.ExpandInLegend=(child.firstChild!=null)?eval(child.firstChild.nodeValue):false;break;case"LayerGroups":case"Layers":_ParseLayers(map,obj,obj.Layers,child,preserve);break;case"ScaleRanges":_ParseStyles(obj.Styles,child)}}child=child.nextSibling}try{type=domelement.getAttribute("xsi:type")}catch(e){}};obj.IsRenderLayer=function(){return(obj.Styles.Count()>0)};obj.IsAvailableAtScale=function(scale){if(scale!=lastAvaiabilityScale){var isInRange=obj.Styles.IsInRange(scale);if(!isInRange){obj.Layers.GoFirst();while(!isInRange&&obj.Layers.Read()){isInRange=obj.Layers.Item.IsAvailableAtScale(scale)}}lastAvaiabilityResult=isInRange}lastAvaiabilityScale=scale;return lastAvaiabilityResult};obj.SetVisibility=function(state,silent){if(obj.Active!=state){var oxml;if(type=="MapLayer"){oxml=obj.Map.Service.GetSync("POST","SetLayerVisibility",{mapId:obj.Map.Guid,layerName:obj.Name,visibility:(state)?"true":"false"},"mapId")}else{oxml=obj.Map.Service.GetSync("POST","SetLayerGroupVisibility",{mapId:obj.Map.Guid,layerGroupName:obj.Name,visibility:(state)?"true":"false"},"mapId")}if(oxml.responseXML.documentElement.childNodes[0].nodeValue=="true"){obj.Active=state;if(silent!=true){obj.onLayerVisibilityChanged.Fire(obj)}}else{obj.SetVisibility(obj.Active)}}};obj.GetVisibility=function(){return obj.Active};obj.GetPath=function(){var parent="";if(obj.Parent){if(obj.Parent.GetPath){parent=obj.Parent.GetPath()+"/"}}return parent+obj.Name};if(name!=""){map.RegisterLayer(obj)}};opencartis.nGeo.Map.Layer.prototype=opencartis.nGeo.Map.LayerModel;opencartis.nGeo.Map.ResultClass=function(){obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Map.ResultClassModel;obj=new tmp()}obj.Parse=function(domelement){var child=domelement.firstChild;var val=0;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Scale":obj.DefaultScale=parseInt(child.firstChild.nodeValue);val++;break;case"Id":obj.Id=child.firstChild.nodeValue;val++;break;case"Name":obj.Name=child.firstChild.nodeValue;val++;break;case"LayerName":obj.LayerName=child.firstChild.nodeValue;break;case"SetLayerVisible":obj.EnsureLayerIsVisible=eval(child.firstChild.nodeValue);break;case"ResultCount":obj.ResultCount=child.firstChild.nodeValue;val++;break;case"MaxResultsReached":obj.MaxResultsReached=eval(child.firstChild.nodeValue);break}}child=child.nextSibling}return val==4}};opencartis.nGeo.Map.ResultClass.prototype=opencartis.nGeo.Map.ResultClassModel;opencartis.nGeo.Map.ResultItem=function(resultClasses){obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Map.ResultItemModel;obj=new tmp()}obj.Parse=function(domelement){var child=domelement.firstChild;var val=0;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Name":obj.Name=child.firstChild.nodeValue;val++;break;case"ResultClass":obj.ResultClassId=child.firstChild.nodeValue;obj.ResultClass=resultClasses["C"+obj.ResultClassId];val++;break;case"Envelope":obj.BoundingBox=new opencartis.nGeo.Geometries.BoundingBox();obj.BoundingBox.Parse(child);obj.Center=obj.BoundingBox.GetCenterPoint();val++;break;case"Center":obj.Center=new opencartis.nGeo.Geometries.Point();obj.Center.Parse(child);val++;break}}child=child.nextSibling}if(obj.BoundingBox.IsDefined()!=true){obj.BoundingBox=new opencartis.nGeo.Geometries.BoundingBox(obj.Center.X,obj.Center.Y,obj.Center.X,obj.Center.Y)}return val>=3}};opencartis.nGeo.Map.ResultItem.prototype=opencartis.nGeo.Map.ResultItemModel;opencartis.nGeo.Map.SearchResults=function(terms,page,searchclass){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Map.SearchResultsModel;obj=new tmp()}obj.SearchTerms=terms;obj.SearchPage=page;obj.SearchClass=searchclass;obj.ResultCount=0;obj.ResultClasses=null;obj.ResultItems=null;obj.GetBoundingBox=function(){if(obj.ResultItems.length>0){var box=obj.ResultItems[0].BoundingBox;for(var i=1;i<obj.ResultItems.length;i++){box=box.Join(obj.ResultItems[i].BoundingBox)}return box}return null};obj.Parse=function(domelement){var child=domelement.firstChild;var val=0;obj.ResultClassesIX=new Array();var bln=false;while(child!=null){if(child.nodeType==1){var handler=null;var arr=null;switch(child.nodeName){case"ResultClasses":handler=opencartis.nGeo.Map.ResultClass;obj.ResultClasses=new Array();arr=obj.ResultClasses;bln=true;break;case"ResultItems":handler=opencartis.nGeo.Map.ResultItem;obj.ResultItems=new Array();arr=obj.ResultItems;bln=false;break}if(handler!=null){var schild=child.firstChild;while(schild!=null){if(schild.nodeType==1){var i=arr.length;arr.push(new handler(obj.ResultClassesIX));arr[i].Parse(schild);if(bln){obj.ResultClassesIX["C"+arr[i].Id]=arr[i];obj.ResultCount+=parseInt(arr[i].ResultCount)}}schild=schild.nextSibling}}}child=child.nextSibling}return val==2}};opencartis.nGeo.Map.SearchResults.prototype=opencartis.nGeo.Map.SearchResultsModel;opencartis.nGeo.Map.SearchManager=function(map,optpagesize){var obj=this;if(obj=="debug"){var tmp=function(){};tmp.prototype=opencartis.nGeo.Map.SearchManagerModel;obj=new tmp()}obj.Map=map;obj.PageSize=(typeof(optpagesize)=="number")?optpagesize:10;obj.afterSearch=new opencartis.Common.Event();obj.beforeSearch=new opencartis.Common.Event();obj.searchCleared=new opencartis.Common.Event();obj.onItemSelected=new opencartis.Common.Event();obj.NewSearch=function(terms){try{if(terms.split(" ").length>map.MaxWordsInSearch){return false}}catch(e){return false}obj.SearchTerms=terms;obj.SearchPage=1;obj.SearchClass=-1;obj.SearchResults=null;obj.ResultClasses=null;return true};obj.Search=function(page,classId){obj.SearchPage=page;obj.SearchClass=(typeof(classId)=="number")?classId:-1;runSearch()};obj.Clear=function(){obj.NewSearch();obj.searchCleared.Fire()};obj.SelectItem=function(item){obj.onItemSelected.Fire(item)};OpenCartis.Common.Localization.afterLanguageActivate.Subscribe(obj.Clear);function runSearch(){var oxml;if(!map.Service.IsOpened()){map.Service.Open()}if(map.Service.IsOpened()){obj.beforeSearch.Fire(obj);if(obj.SearchResults==null||obj.SearchPage==1&&obj.SearchClass==-1&&obj.SearchTerms!=obj.SearchResults.SearchTerms&&obj.SearchPage!=obj.SearchResults.SearchPage&&obj.SearchClass!=obj.SearchResults.SearchClass){oxml=map.Service.GetAsync("POST","GetGeneralSearchResult",{mapId:map.Guid,textToSearch:obj.SearchTerms,itemsNumber:obj.PageSize},onSearch,"mapId")}else{oxml=map.Service.GetAsync("POST","GetGeneralSearchResultPage",{mapId:map.Guid,itemsNumber:obj.PageSize,page:obj.SearchPage,resultClass:obj.SearchClass},onSearch,"mapId")}}}function onSearch(oxml){try{var child=oxml.responseXML.documentElement;var results=new opencartis.nGeo.Map.SearchResults(obj.SearchTerms,obj.SearchPage,obj.SearchClass);results.Parse(child);obj.SearchResults=results;if(obj.SearchClass==-1){obj.ResultClasses=results.ResultClasses}obj.afterSearch.Fire(obj)}catch(e){}}};opencartis.nGeo.Map.SearchManager.prototype=opencartis.nGeo.Map.SearchManagerModel;opencartis.nGeo.Map.MeasureItem=function(){obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Map.MeasureItemModel;obj=new tmp()}obj.Parse=function(domelement){var child=domelement.firstChild;var val=0;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Name":if(child.firstChild!=null){obj.Name=child.firstChild.nodeValue}break;case"MeasureAreaMessage":if(child.firstChild!=null){obj.MeasureAreaMessage=child.firstChild.nodeValue}break;case"MeasureLengthMessage":if(child.firstChild!=null){obj.MeasureLengthMessage=child.firstChild.nodeValue}break}}child=child.nextSibling}}};opencartis.nGeo.Map.MeasureItem.prototype=opencartis.nGeo.Map.MeasureItemModel;opencartis.nGeo.Map.MeasureResults=function(){obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Map.MeasureResultsModel;obj=new tmp()}obj.Parse=function(domelement){var child=domelement.firstChild;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"MeasureList":var property=child.firstChild;while(property!=null){if(property.nodeType==1){switch(property.nodeName){case"TotalArea":if(property.firstChild!=null){if(property.firstChild.text){obj.TotalArea=property.firstChild.text}else{obj.TotalArea=property.firstChild.textContent}}break;case"TotalPerimeter":if(property.firstChild!=null){if(property.firstChild.text){obj.TotalPerimeter=property.firstChild.text}else{obj.TotalPerimeter=property.firstChild.textContent}}break;case"TotalLength":if(property.firstChild!=null){if(property.firstChild.text){obj.TotalLength=property.firstChild.text}else{obj.TotalLength=property.firstChild.textContent}}break;case"AreaMeasures":this.AreaMeasures=new Array();var measure=property.firstChild;while(measure!=null){if(measure.nodeType==1){switch(measure.nodeName){case"Measure":var measureItem=new opencartis.nGeo.Map.MeasureItem();measureItem.Parse(measure);this.AreaMeasures.push(measureItem);break}}measure=measure.nextSibling}break;case"LinealMeasures":this.LinealMeasures=new Array();var measure=property.firstChild;while(measure!=null){if(measure.nodeType==1){switch(measure.nodeName){case"Measure":var measureItem=new opencartis.nGeo.Map.MeasureItem();measureItem.Parse(measure);this.LinealMeasures.push(measureItem);break}}measure=measure.nextSibling}break}}property=property.nextSibling}break}}child=child.nextSibling}}};opencartis.nGeo.Map.MeasureResults.prototype=opencartis.nGeo.Map.MeasureResultsModel;opencartis.nGeo.Map.Map=function(service,key){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.Map.MapModel;obj=new tmp()}var lastRetry=null;var retryCount=0;var regLayers={};obj.Service=service;obj.Key=key;obj.MinScale=100;obj.MaxScale=1000000000;obj.MaxWordsInSearch=10;obj.MapExtent=new opencartis.nGeo.Geometries.BoundingBox();obj.MapExtentOriginal=new opencartis.nGeo.Geometries.BoundingBox();obj.Layers=new opencartis.nGeo.Map.LayerCollection();obj.Parse=function(domelement,preserve){var child=domelement.firstChild;var val=0;if(preserve!=true){obj.Layers=new opencartis.nGeo.Map.LayerCollection()}else{obj.Layers.GoFirst();obj.Layers.Read()}while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Name":obj.Name=child.firstChild.nodeValue;val++;break;case"Envelope":if(preserve==true){val++}else{val+=(obj.MapExtent.Parse(child))?1:0}obj.MapExtentOriginal=obj.MapExtent.Clone();break;case"MinScale":obj.MinScale=parseInt(child.firstChild.nodeValue);break;case"MaxWordsInSearch":obj.MaxWordsInSearch=parseInt(child.firstChild.nodeValue);break;case"LayerGroups":case"Layers":_ParseLayers(obj,obj,obj.Layers,child,preserve);break}}child=child.nextSibling}return(val==2)?1:0};var opened=false;obj.IsOpened=function(){return opened};obj.Open=function(preserve){var oxml;obj.onMapLoading.Fire();if(!obj.Service.IsOpened()){obj.Service.Open()}if(obj.Service.IsOpened()){oxml=obj.Service.GetSync("POST","OpenMap",{mapResourceId:obj.Key,language:(OpenCartis.Common.Localization.CurrentLanguage!=null?OpenCartis.Common.Localization.CurrentLanguage.Code:OpenCartis.Common.Localization.BrowserLanguageCode)});try{obj.Guid=oxml.responseXML.documentElement.childNodes[0].nodeValue;if(typeof(obj.Guid)=="string"&&obj.Guid.length>0){oxml=obj.Service.GetSync("POST","GetMapSettings",{mapId:obj.Guid},"mapId");var mapElement=oxml.responseXML.getElementsByTagName("Map")[0];if(obj.Parse(mapElement,preserve)){opened=true;obj.onMapLoaded.Fire();return true}}}catch(e){}}opened=false;obj.Guid=null;obj.MapExtent=new opencartis.nGeo.Geometries.BoundingBox();return false};obj.RegisterLayer=function(layer){regLayers[layer.Name]=layer};obj.GetLayer=function(layerName){if(regLayers[layerName]){return regLayers[layerName]}else{return null}};obj.Print=function(params){params.id=obj.Guid;if(typeof(params.po)=="undefined"){params.po=opencartis.Common.PageOrientationEnum.Portrait}if(typeof(params.ps)=="undefined"){params.ps=opencartis.Common.PageSizeEnum.A4}if(typeof(obj.Service.PrintURL)!="undefined"&&obj.Service.PrintURL.length>0){obj.Service.Download(obj.Service.PrintURL,params)}else{throw new Error("Print service not available")}};obj.PrintHTML=function(params){params.id=obj.Guid;if(typeof(params.po)=="undefined"){params.po=opencartis.Common.PageOrientationEnum.Portrait}if(typeof(params.ps)=="undefined"){params.ps=opencartis.Common.PageSizeEnum.A4}var urlPrint=obj.Service.PrintHTMLURL;var paramsCount=0;for(var key in params){if(paramsCount==0){urlPrint+="?"}else{urlPrint+="&"}urlPrint+=key+"="+params[key];paramsCount++}window.open(urlPrint)};obj.SearchManager=new opencartis.nGeo.Map.SearchManager(obj,10);obj.onMapLoading=new opencartis.Common.Event();obj.onMapLoaded=new opencartis.Common.Event();obj.onLayerVisibilityChanged=new opencartis.Common.Event();obj.onLayerLabelChanged=new opencartis.Common.Event();obj.beforeSearch=new opencartis.Common.Event();obj.afterSearch=new opencartis.Common.Event();obj.searchCleared=new opencartis.Common.Event();obj.onSearchItemSelected=new opencartis.Common.Event();obj.SearchManager.onItemSelected.Subscribe(obj.onSearchItemSelected.Fire);obj.SearchManager.beforeSearch.Subscribe(obj.beforeSearch.Fire);obj.SearchManager.afterSearch.Subscribe(obj.afterSearch.Fire);obj.SearchManager.searchCleared.Subscribe(obj.searchCleared.Fire);obj.Service.onSessionTimeout.Subscribe(function(e){if(lastRetry!=null){if(new Date()-lastRetry>5000){retryCount=0}}if(retryCount<5&&obj.Open(true)){lastRetry=new Date();retryCount++;e.op(obj.Guid)}});OpenCartis.Common.Localization.afterLanguageActivate.Subscribe(function(){obj.Open(true)})};opencartis.nGeo.Map.Map.prototype=opencartis.nGeo.Map.MapModel;opencartis.nGeo.MapComponents.MapControlConfig=function(url){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.MapControlConfigModel;obj=new tmp()}obj.InitialView=new opencartis.nGeo.Geometries.BoundingBox();obj.LoadFromUrl=function(url){var ix=url.lastIndexOf("/");var fname="";var fpath="";if(ix==-1){fname=url}else{fpath=url.substring(0,ix);fname=url.substring(ix+1,url.length)}var s=new opencartis.nGeo.MapService.Service(fpath,null);try{var oxml=s.GetSync("GET",fname,{});var mapConfigElement=oxml.responseXML.getElementsByTagName("MapControl")[0];return obj.Parse(mapConfigElement)}catch(e){return false}};obj.Parse=function(domelement){var child=domelement.firstChild;var val=0;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Service":val+=(_parseServiceNode(child))?1:0;break;case"Map":val+=(_parseMapNode(child))?1:0;break;case"CompassEnabled":obj.CompassEnabled=child.firstChild.text;break;case"ScaleSliderEnabled":obj.ScaleSliderEnabled=child.firstChild.text;break}}child=child.nextSibling}if(val==2){return true}obj.MapKey=null;obj.InitialView=new opencartis.nGeo.Geometries.BoundingBox();obj.ServiceURL=null;obj.ImagingURL=null;obj.PrintURL=null;obj.PrintHTML=null;return false};function _parseMapNode(domelement){try{var val=0;obj.MapKey=domelement.getAttribute("key");if(obj.MapKey!=null&&obj.MapKey!=""){val++}var child=domelement.firstChild;while(child!=null){switch(child.nodeName){case"InitialView":obj.InitialView.Parse(child);break;case"MapExtent":obj.InitialView.Parse(child);break;case"ImageFormat":obj.ImageFormat=child.firstChild.nodeValue;break;case"RenderFormat":obj.RenderFormat=child.firstChild.nodeValue;break;case"ZoomFactor":obj.ZoomFactor=child.firstChild.nodeValue;break}child=child.nextSibling}if(val==1){return true}}catch(e){}return false}function _parseServiceNode(domelement){try{var val=0;var child=domelement.firstChild;while(child!=null){switch(child.nodeName){case"ServiceURL":obj.ServiceURL=child.firstChild.nodeValue;val++;break;case"ImagingURL":obj.ImagingURL=child.firstChild.nodeValue;val++;break;case"PrintURL":obj.PrintURL=child.firstChild.nodeValue;break;case"PrintHTMLURL":obj.PrintHTMLURL=child.firstChild.nodeValue;break}child=child.nextSibling}if(val==2){return true}}catch(e){}return false}if(typeof(url)=="string"){obj.LoadFromUrl(url)}};opencartis.nGeo.MapComponents.MapControlConfig.prototype=opencartis.nGeo.MapComponents.MapControlConfigModel;opencartis.nGeo.MapComponents.MapObject=function(ownerMapControl,posType,documentElement,insertionPoint,mapSize){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.MapObjectModel;obj=new tmp()}var isRendered=false;var isVisible=false;var objectContent=null;var rendercanvas=null;obj.GetPositioningType=function(){return posType};obj.GetExtent=function(){var w,h,x,y;if(posType==opencartis.nGeo.MapComponents.MapObjectTypeEnum.Extension){x=0;y=0;w=obj.Size.width;h=obj.Size.height}else{var p=ownerMapControl.CurrentView.MapExtent.GetWidth()/ownerMapControl.CurrentView.ImageSize.width;x=obj.InsertionOffset.X*p;y=obj.InsertionOffset.Y*p;w=obj.Size.width*p;h=obj.Size.height*p}return new opencartis.nGeo.Geometries.BoundingBox(obj.InsertionPoint.X+x,obj.InsertionPoint.Y-h-y,obj.InsertionPoint.X+w+x,obj.InsertionPoint.Y-y)};obj.SetContent=function(content){objectContent=content;if(posType!=opencartis.nGeo.MapComponents.MapObjectTypeEnum.Extension){var sz=opencartis.Common.Utilities.GetElementSize(content);if(sz.width!=0&&sz.height!=0){obj.Size=sz}}};obj.RemoveContent=function(){if(rendercanvas!=null&&objectContent!=null){rendercanvas.removeChild(objectContent)}rendercanvas=null;objectContent=null};obj.Hide=function(){objectContent.style.display="none";isVisible=false};obj.Show=function(){objectContent.style.display="block";isVisible=true};obj.IsOnView=function(){return ownerMapControl.CurrentView.MapExtent.Intersects(obj.GetExtent())};obj.IsRendered=function(){return isRendered};obj.IsVisible=function(){return isVisible};obj.Reposition=function(optView){var View=null;if(typeof(optView)!="undefined"||optView!=null){View=optView}else{View=ownerMapControl.CurrentView}if(View=="Debug"){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.MapViewModel;View=new tmp()}var pt=View.WorldToMap(obj.InsertionPoint);var w,h;if(posType==opencartis.nGeo.MapComponents.MapObjectTypeEnum.Extension){w=View.WorldToMap(obj.Size.width);h=View.WorldToMap(obj.Size.height)}else{w=obj.Size.width;h=obj.Size.height}var s=objectContent.style;s.position="absolute";s.top=(pt.Y+obj.InsertionOffset.Y)+"px";s.left=(pt.X+obj.InsertionOffset.X)+"px";s.width=w+"px";s.height=h+"px"};obj.RenderTo=function(canvas){obj.Hide();canvas.appendChild(objectContent);obj.Reposition();isRendered=true;rendercanvas=canvas};obj.InsertionPoint=insertionPoint;obj.InsertionOffset=new opencartis.nGeo.Geometries.Point(0,0);if(typeof(mapSize)!=undefined||mapSize!=null){obj.Size=mapSize}else{if(posType==opencartis.nGeo.MapComponents.MapObjectTypeEnum.Extension){throw opencartis.nGeo.MapComponents.MapSizeMissingError}}if(documentElement!=null){obj.SetContent(documentElement)}};opencartis.nGeo.MapComponents.MapObject.prototype=opencartis.nGeo.MapComponents.MapObjectModel;opencartis.nGeo.MapComponents.MapCanvas=function(ownerMapControl,ischild){this.hash=opencartis.nGeo.MapComponents.hash++;var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.MapCanvasModel;obj=new tmp()}var isVisible=false;var isRendered=false;obj.UIElement=null;var UIElementId="OpenCartisMapCanvas_"+this.hash;var canvases=new opencartis.nGeo.MapComponents.MapCanvasCollection();var canvasdict=new Array();var ownerElement=null;function _applySize(newSize){obj.UIElement.style.width=newSize.width+"px";obj.UIElement.style.height=newSize.height+"px"}obj.Objects=new opencartis.nGeo.MapComponents.MapObjectCollection();obj.IsVisible=function(){return isVisible};obj.IsRendered=function(){return isRendered};obj.Show=function(){obj.UIElement.style.display="block";isVisible=true};obj.Hide=function(){obj.UIElement.style.display="none";isVisible=false};obj.RenderTo=function(canvas){ownerElement=canvas;if(obj.IsRendered()){obj.Hide()}if(obj.UIElement==null){_createCanvasElement()}_applySize(opencartis.Common.Utilities.GetElementSize(canvas));canvas.appendChild(obj.UIElement);if(canvases.Count()>0){canvases.GoFirst();while(canvases.Read()){canvases.Item.RenderTo(obj.UIElement)}}isRendered=true};obj.SetCursor=function(cursorStyle){if(typeof(obj.UIElement)!="undefined"&&obj.UIElement!=null){obj.UIElement.style.cursor=cursorStyle}};obj.SetMeAsMouseHandler=function(mousehandler){var div=document.createElement("DIV");div.style.width="100%";div.style.height="100%";div.style.background="url(images/trans.gif)";obj.UIElement.appendChild(div);obj.UIElement.style.zIndex=10;return _captureMouseEvents(mousehandler,div)};obj.Resize=function(newView){obj.UIElement.style.width=newView.ImageSize.width+"px";obj.UIElement.style.height=newView.ImageSize.height+"px";canvases.GoFirst();while(canvases.Read()){canvases.Item.Resize(newView)}obj.UpdateView(newView)};obj.UpdateView=function(optView){canvases.GoFirst();while(canvases.Read()){canvases.Item.UpdateView(optView)}obj.Objects.GoFirst();while(obj.Objects.Read()){if(obj.Objects.Item.IsVisible()){obj.Objects.Item.Reposition(optView)}}};obj.AppendCanvas=function(key){canvasdict[key]=canvases.Count();var newcanvas=new opencartis.nGeo.MapComponents.MapCanvas(ownerMapControl,true);canvases.Add(newcanvas);return newcanvas};obj.AppendObject=function(mapobject){obj.Objects.Add(mapobject);mapobject.RenderTo(obj.UIElement)};obj.RemoveObject=function(mapobject){obj.Objects.Remove(mapobject);mapobject.RemoveContent()};obj.GetCanvas=function(index){try{var ix=-1;if(typeof(index)=="string"){ix=canvasdict[index]}else{ix=index}canvases.GoTo(ix);if(canvases.Read()){return canvases.Item}else{return null}}catch(e){return null}};function _createCanvasElement(){obj.UIElement=document.createElement("DIV");obj.UIElement.setAttribute("id",UIElementId);obj.UIElement.setAttribute("unselectable","on");ownerElement.appendChild(obj.UIElement);var el=obj.UIElement;if(ischild){el.style.position="absolute"}else{el.style.position="relative"}el.style.top="0px";el.style.left="0px";el.style.overflow="hidden";el.style.display="block"}function _captureMouseEvents(mousehandler,element){for(var key in mousehandler){opencartis.Common.Utilities.AddEventHandler(key,element,mousehandler[key])}}};opencartis.nGeo.MapComponents.MapCanvas.prototype=opencartis.nGeo.MapComponents.MapCanvasModel;opencartis.nGeo.MapComponents.MapView=function(){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.MapViewModel;obj=new tmp()}var pxSize=-1;var mapExtent=null;var imageSize=null;obj.Clone=function(){return new opencartis.nGeo.MapComponents.MapView(new opencartis.Common.Size(imageSize.width,imageSize.height),mapExtent.Clone())};obj.GetScale=function(){return parseInt(pxSize*opencartis.nGeo.MapComponents.PixelsPerCM*100)};obj.UpdateImageSize=function(newSize){var pxSize2=pxSize/2;var w2=pxSize2*newSize.width;var h2=pxSize2*newSize.height;var center=obj.MapExtent.GetCenterPoint();obj.MapExtent.Min.X=center.X-w2;obj.MapExtent.Max.X=center.X+w2;obj.MapExtent.Min.Y=center.Y-h2;obj.MapExtent.Max.Y=center.Y+h2;obj.ImageSize=newSize};obj.MapToWorld=function(pointOrMeasure){if(opencartis.nGeo.Geometries.PointModel.isPrototypeOf(pointOrMeasure)){var x=obj.MapExtent.Min.X+pointOrMeasure.X*pxSize;var y=obj.MapExtent.Max.Y-pointOrMeasure.Y*pxSize;return new opencartis.nGeo.Geometries.Point(x,y)}else{if(typeof(pointOrMeasure)=="number"){return pointOrMeasure*pxSize}}};obj.WorldToMap=function(pointOrMeasure){if(opencartis.nGeo.Geometries.PointModel.isPrototypeOf(pointOrMeasure)){var x=Math.round((pointOrMeasure.X-obj.MapExtent.Min.X)/pxSize);var y=Math.round((obj.MapExtent.Max.Y-pointOrMeasure.Y)/pxSize);return new opencartis.nGeo.Geometries.Point(x,y)}else{if(typeof(pointOrMeasure)=="number"){return Math.round(pointOrMeasure/pxSize)}}};switch(arguments.length){case 2:if(opencartis.Common.SizeModel.isPrototypeOf(arguments[0])&&opencartis.nGeo.Geometries.BoundingBoxModel.isPrototypeOf(arguments[1])){imageSize=arguments[0];mapExtent=arguments[1];pxSize=Math.max(mapExtent.GetWidth()/imageSize.width,mapExtent.GetHeight()/imageSize.height)}else{throw new Error("Invalid parameter types")}break;case 3:if(opencartis.Common.SizeModel.isPrototypeOf(arguments[0])&&typeof(arguments[2])=="number"){imageSize=arguments[0];var cpt=arguments[1];var scale=arguments[2];pxSize=scale/(opencartis.nGeo.MapComponents.PixelsPerCM*100);mapExtent=new opencartis.nGeo.Geometries.BoundingBox(cpt.X,cpt.Y,cpt.X,cpt.Y)}else{throw new Error("Invalid parameter types")}break;case 4:if(opencartis.Common.SizeModel.isPrototypeOf(arguments[0])&&opencartis.nGeo.Geometries.PointModel.isPrototypeOf(arguments[1])&&opencartis.nGeo.Geometries.PointModel.isPrototypeOf(arguments[2])&&typeof(arguments[3])=="number"){imageSize=arguments[0];var fixpt=arguments[1];var ipt=arguments[2];var scale=arguments[3];pxSize=scale/(opencartis.nGeo.MapComponents.PixelsPerCM*100);var cpt=new opencartis.nGeo.Geometries.Point(fixpt.X+(-ipt.X+imageSize.width/2)*pxSize,fixpt.Y-(-ipt.Y+imageSize.height/2)*pxSize);mapExtent=new opencartis.nGeo.Geometries.BoundingBox(cpt.X,cpt.Y,cpt.X,cpt.Y)}else{throw new Error("Invalid parameter types")}break;default:throw new Error("Invalid initialization parameters.")}obj.MapExtent=mapExtent;obj.UpdateImageSize(imageSize)};opencartis.nGeo.MapComponents.MapView.prototype=opencartis.nGeo.MapComponents.MapViewModel;opencartis.nGeo.MapComponents.RectangleWithExterior=function(){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.RectangleWithExteriorModel;obj=new tmp()}var divArray=new Array();var iPoint=null;var iSize=null;var containerElement=null;var isVisible=false;var borderWidth=0;for(var i=0;i<10;i++){divArray.push(document.createElement("DIV"));divArray[i].style.position="absolute";divArray[i].style.display="none";divArray[i].style.lineHeight="0px";divArray[i].style.overflow="hidden"}divArray[4].style.zIndex=10;divArray[9].style.zIndex=10;obj.RenderTo=function(container){for(var i=0;i<10;i++){container.appendChild(divArray[i])}containerElement=container};obj.Reposition=function(insertionPoint,interiorSize){if(typeof(insertionPoint)=="undefined"){if(iPoint==null){throw new Error("Insertion point not defined")}}else{iPoint=insertionPoint}if(typeof(interiorSize)=="undefined"){if(iSize==null){throw new Error("Interior rectangle size not defined")}}else{iSize=interiorSize}if(containerElement==null){throw new Error("Element not rendered")}var cSize=opencartis.Common.Utilities.GetElementSize(containerElement);for(var i=0;i<9;i+=3){divArray[i].style.left="0px";divArray[i].style.width=Math.min(iPoint.X,iPoint.X+iSize.width)+"px"}for(var i=1;i<9;i+=3){divArray[i].style.left=divArray[i-1].style.width;divArray[i].style.width=Math.abs(iSize.width)+"px"}for(var i=2;i<9;i+=3){divArray[i].style.left=Math.max(iPoint.X,iPoint.X+iSize.width)+"px";divArray[i].style.width=cSize.width-iSize.width-iPoint.X+"px"}for(var i=0;i<3;i++){divArray[i].style.top="0px";divArray[i].style.height=Math.min(iPoint.Y,iPoint.Y+iSize.height)+"px"}for(var i=3;i<6;i++){divArray[i].style.top=divArray[i-3].style.height;divArray[i].style.height=Math.abs(iSize.height)+"px"}for(var i=6;i<9;i++){divArray[i].style.top=Math.max(iPoint.Y,iPoint.Y+iSize.height)+"px";divArray[i].style.height=cSize.height-iSize.height-iPoint.Y+"px"}divArray[4].style.left=(parseInt(divArray[4].style.left)-borderWidth)+"px";divArray[4].style.top=(parseInt(divArray[4].style.top)-borderWidth)+"px";divArray[9].style.left=divArray[4].style.left;divArray[9].style.width=divArray[4].style.width;divArray[9].style.top=divArray[4].style.top;divArray[9].style.height=divArray[4].style.height};obj.Hide=function(){for(var i=0;i<10;i++){divArray[i].style.display="none"}isVisible=false};obj.Show=function(insertionPoint,interiorSize){try{obj.Reposition(insertionPoint,interiorSize)}catch(e){}if(isVisible==false){for(var i=0;i<10;i++){divArray[i].style.display="block"}}isVisible=true};obj.SetExteriorBackground=function(color,alpha){for(var i=0;i<9;i++){if(i!=4){divArray[i].style.backgroundColor=color;opencartis.Common.Utilities.SetElementTransparency(divArray[i],alpha)}}};obj.SetInteriorBackground=function(color,alpha){divArray[4].style.backgroundColor=color;opencartis.Common.Utilities.SetElementTransparency(divArray[4],alpha)};obj.SetInteriorBorder=function(style,width,color){borderWidth=parseInt(width);divArray[4].style.border=style+" "+width;divArray[9].style.border=style+" "+width+" "+color}};opencartis.nGeo.MapComponents.RectangleWithExterior.prototype=opencartis.nGeo.MapComponents.RectangleWithExteriorModel;opencartis.nGeo.MapComponents.Tooltip=function(map,canvas){var obj=this;if(obj=="debug"){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.TooltipModel;obj=new tmp()}var divElement=null;var isVisible=false;var isLoading=false;var contentData="";var container=canvas;var type=opencartis.nGeo.MapComponents.TooltipTypeEnum.Empty;var xcoord=null;var prevxcoord=0;var prevycoord=0;var tooltipId=0;var ycoord=null;var text="";var url="";var urllabel="";var layer="";function _getTooltipContent(maxSize){switch(type){case opencartis.nGeo.MapComponents.TooltipTypeEnum.Empty:return null;case opencartis.nGeo.MapComponents.TooltipTypeEnum.Text:return"<table border='0' cellspacing='0' cellpadding='0'><tr><td style='background-image: url(images/tooltl.png); width: 5px; height: 4px'></td><td style='background-image: url(images/toolt.png); height: 4px'></td><td style='background-image: url(images/tooltr.png); width: 5px; height: 4px'></td></tr><tr><td style='background-image: url(images/tooll.png); width: 5px;'></td><td style='background-image: url(images/toolback.png)'><div class='oc_tool_text' style='overflow:auto'>"+text+"</div></td><td style='background-image: url(images/toolr.png); width: 5px;'></td></tr><tr><td style='background-image: url(images/toolbl.png); width: 5px; height: 4px'></td><td style='background-image: url(images/toolb.png); height: 4px'></td><td style='background-image: url(images/toolbr.png); width: 5px; height: 4px'></td></tr></table>";case opencartis.nGeo.MapComponents.TooltipTypeEnum.Url:return"<table border='0' cellspacing='0' cellpadding='0'><tr><td style='background-image: url(images/tooltl.png); width: 5px; height: 4px'></td><td style='background-image: url(images/toolt.png); height: 4px'></td><td style='background-image: url(images/tooltr.png); width: 5px; height: 4px'></td></tr>"+((text!=null&&text!="")?"<tr><td style='background-image: url(images/tooll.png); width: 5px;'></td><td style='background-image: url(images/toolback.png)'><div class='oc_tool_text' style='overflow:auto'>"+text+"</div></td><td style='background-image: url(images/toolr.png); width: 5px;'></td></tr><tr><td style='background-image: url(images/tooll.png); width: 5px;'></td><td style='height: 6px; background-image: url(images/toolback.png)'><div style='margin-top:3px; width:100%; height:2px; background-image:url(images/hsep.png)'></div></td><td style='background-image: url(images/toolr.png); width: 5px;'></td></tr>":"")+"<tr><td style='background-image: url(images/tooll.png); width: 5px;'></td><td style='background-image: url(images/toolback.png)' align='right'><a class='oc_tool_link' href='"+url+"' target='blank'>"+((urllabel!="")?urllabel:url)+"</a></td><td style='background-image: url(images/toolr.png); width: 5px;'></td></tr><tr><td style='background-image: url(images/toolbl.png); width: 5px; height: 4px'></td><td style='background-image: url(images/toolb.png); height: 4px'></td><td style='background-image: url(images/toolbr.png); width: 5px; height: 4px'></td></tr></table>";case opencartis.nGeo.MapComponents.TooltipTypeEnum.Html:var sz=maxSize;if(obj.Size.width!=0&&obj.Size.height!=0){sz=obj.Size}var iframe=new opencartis.Common.AutoResizableIFrame(url,sz);iframe.onResize.Subscribe(function(){Reposition();isVisible=true});var prev=divElement.firstChild;while(prev!=null){divElement.removeChild(prev);prev=divElement.firstChild}iframe.RenderTo(divElement);return iframe}}function _onTooltipLoaded(oxml){isLoading=false;try{var child=oxml.responseXML.documentElement.firstChild;var val=0;type=opencartis.nGeo.MapComponents.TooltipTypeEnum.Empty;text="";url="";urllabel="";while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"TooltipType":type=opencartis.nGeo.MapComponents.TooltipTypeEnum[child.childNodes[0].nodeValue];break;case"Text":try{text=child.childNodes[0].nodeValue}catch(e){}break;case"Url":try{url=child.childNodes[0].nodeValue}catch(e){}break;case"UrlLabel":try{urllabel=child.childNodes[0].nodeValue}catch(e){}break;case"TooltipWidth":try{obj.Size.width=parseInt(child.childNodes[0].nodeValue)}catch(e){obj.Size.width=0}break;case"TooltipHeight":try{obj.Size.height=parseInt(child.childNodes[0].nodeValue)}catch(e){obj.Size.height=0}break}}child=child.nextSibling}if(type!=opencartis.nGeo.MapComponents.TooltipTypeEnum.Empty){obj.onDataLoaded.Fire(obj)}}catch(e){}}obj.Load=function(){text="";if(arguments.length==2){obj.SetPosition(arguments[0],arguments[1])}if(xcoord==prevxcoord&&ycoord==prevycoord){return}isLoading=true;prevxcoord=xcoord;prevycoord=ycoord;var pt=map.CurrentView.MapToWorld(new opencartis.nGeo.Geometries.Point(xcoord,ycoord));map.Map.Service.GetAsync("POST","GetTooltip",{mapId:map.Map.Guid,x:pt.X,y:pt.Y},_onTooltipLoaded,"mapId")};obj.CancelLoad=function(){alert("Not implemented")};obj.SetPosition=function(x,y){tooltipId++;xcoord=x;ycoord=y};obj.GetX=function(){return xcoord};obj.GetY=function(){return ycoord};obj.GetId=function(){return tooltipId};obj.Size=new opencartis.Common.Size(0,0);obj.IsVisible=function(){return isVisible};obj.RenderTo=function(canvas){if(divElement==null){divElement=document.createElement("DIV");divElement.id="OpenCartisTooltip_"+opencartis.nGeo.MapComponents.hash++;divElement.style.position="absolute";divElement.style.color="black"}obj.Hide();canvas.UIElement.appendChild(divElement);container=canvas};obj.Show=function(){if(divElement!=null){var maxSize=new opencartis.Common.Size(parseInt(container.UIElement.offsetWidth*0.45),parseInt(container.UIElement.offsetHeight*0.45));divElement.style.left="-1000px";divElement.style.maxWidth=maxSize.width+"px";divElement.style.maxHeight=maxSize.height+"px";content=_getTooltipContent(maxSize);divElement.style.display="block";divElement.style.zIndex=10000;if(typeof(content)=="string"){divElement.innerHTML=content;Reposition();isVisible=true}}};obj.ShowStatic=function(text){if(divElement!=null){var maxSize=new opencartis.Common.Size(parseInt(container.UIElement.offsetWidth*0.45),parseInt(container.UIElement.offsetHeight*0.45));divElement.style.left="-1000px";divElement.style.maxWidth=maxSize.width+"px";divElement.style.maxHeight=maxSize.height+"px";content=_getTooltipContent(maxSize);divElement.style.display="block";divElement.style.zIndex=10000;if(typeof(text)=="string"){divElement.innerHTML="<table border='0' cellspacing='0' cellpadding='0'><tr><td style='background-image: url(images/tooltl.png); width: 5px; height: 4px'></td><td style='background-image: url(images/toolt.png); height: 4px'></td><td style='background-image: url(images/tooltr.png); width: 5px; height: 4px'></td></tr><tr><td style='background-image: url(images/tooll.png); width: 5px;'></td><td style='background-image: url(images/toolback.png)'><div class='oc_tool_text' style='overflow:auto'>"+text+"</div></td><td style='background-image: url(images/toolr.png); width: 5px;'></td></tr><tr><td style='background-image: url(images/toolbl.png); width: 5px; height: 4px'></td><td style='background-image: url(images/toolb.png); height: 4px'></td><td style='background-image: url(images/toolbr.png); width: 5px; height: 4px'></td></tr></table>";Reposition();isVisible=true}}};function Reposition(){var ydiff=0;var w=divElement.offsetWidth;if(w==0){w=parseInt(opencartis.Common.Utilities.GetComputedStyle(divElement.firstChild,"width"))}var h=divElement.offsetHeight;if(h==0){h=parseInt(opencartis.Common.Utilities.GetComputedStyle(divElement.firstChild,"height"))}if(w==0||h==0){return}if(w+xcoord+12>container.UIElement.offsetWidth){divElement.style.left=(xcoord-w-4)+"px";ydiff=4}else{divElement.style.left=(xcoord+12)+"px";ydiff=12}if(h+ycoord+12>container.UIElement.offsetHeight){divElement.style.top=(ycoord-h+4)+"px"}else{divElement.style.top=(ycoord+ydiff)+"px"}}obj.Hide=function(){if(divElement!=null){divElement.style.display="none";isVisible=false}};obj.IsTooltipOrChild=function(element){if(element!=null){while(element!=divElement&&element.offsetParent!=null){element=element.offsetParent}if(element==divElement){return true}else{return false}}return false};obj.GetType=function(){return type};obj.onDataLoaded=new opencartis.Common.Event();if(typeof(canvas)!="undefined"){obj.RenderTo(canvas)}};opencartis.nGeo.MapComponents.Tooltip.prototype=opencartis.nGeo.MapComponents.TooltipModel;opencartis.nGeo.MapComponents.Compass=function(backCanvas,frontCanvas,mapControlName,mapControlObject,containerElement){var obj=this;var compassBack=document.createElement("DIV");compassBack.id="opencartis.CompassBack";compassBack.style.position="absolute";compassBack.style.display="block";compassBack.innerHTML="<div style='height:60px;width:60px;background:url(images/compassBackTrans.png) no-repeat;'></div>";backCanvas.UIElement.appendChild(compassBack);compassBack.style.left="8px";compassBack.style.top="8px";var compassFront=document.createElement("DIV");compassFront.id="opencartis.CompassFront";compassFront.style.position="absolute";compassFront.style.display="block";var commonStyle="<div style='position:absolute;height:20px;width:20px;background:url(images/";compassFront.innerHTML=commonStyle+"up.png) no-repeat;left:17px;top:0px;cursor:hand,pointer;' onclick='javascript:"+mapControlName+".ZoomUp()'></div>"+commonStyle+"left.png) no-repeat;left:0px;top:17px;cursor:hand,pointer;' onclick='javascript:"+mapControlName+".ZoomLeft()'></div>"+commonStyle+"extent2.png) no-repeat;left:17px;top:17px;cursor:hand,pointer;' onclick='javascript:"+mapControlName+".ZoomExtent()'></div>"+commonStyle+"rigth.png) no-repeat;left:34px;top:17px;cursor:hand,pointer;' onclick='javascript:"+mapControlName+".ZoomRight()'></div>"+commonStyle+"down.png) no-repeat;left:17px;top:34px;cursor:hand,pointer;' onclick='javascript:"+mapControlName+".ZoomDown()'></div>";frontCanvas.UIElement.appendChild(compassFront);compassFront.style.left="10px";compassFront.style.top="10px"};opencartis.nGeo.MapComponents.ScaleSlider=function(backCanvas,frontCanvas,mapControlName,mapControlObject,containerElement){var obj=this;var sliderTopMin=90;var sliderTopMax=290;var yPosition=sliderTopMin;var scaleBarBack=document.createElement("DIV");scaleBarBack.id="opencartis.ScaleBarBack";scaleBarBack.style.position="absolute";scaleBarBack.style.display="block";scaleBarBack.innerHTML="<div style='height:"+(sliderTopMax-sliderTopMin+40)+"px;width:22px;background:url(images/scaleBarBack.png) repeat;'></div>";backCanvas.UIElement.appendChild(scaleBarBack);scaleBarBack.style.left="8px";scaleBarBack.style.top=(sliderTopMin-10)+"px";var scaleBarPlus=document.createElement("DIV");scaleBarPlus.id="opencartis.ScaleBarSliderPlus";scaleBarPlus.style.position="absolute";scaleBarPlus.style.display="block";scaleBarPlus.innerHTML="<div onmouseup='"+mapControlName+".ZoomIn()' style='cursor:hand,pointer;height:18px;width:18px;background:url(images/sliderPlus.png) no-repeat;'></div>";frontCanvas.UIElement.appendChild(scaleBarPlus);scaleBarPlus.style.left="10px";scaleBarPlus.style.top=sliderTopMin-20+"px";var scaleBarMinus=document.createElement("DIV");scaleBarMinus.id="opencartis.ScaleBarSliderMinus";scaleBarMinus.style.position="absolute";scaleBarMinus.style.display="block";scaleBarMinus.innerHTML="<div onmouseup='"+mapControlName+".ZoomOut()' style='cursor:hand,pointer;height:18px;width:18px;background:url(images/sliderMinus.png) no-repeat;'></div>";frontCanvas.UIElement.appendChild(scaleBarMinus);scaleBarMinus.style.left="10px";scaleBarMinus.style.top=sliderTopMax+20+"px";var scaleBarSlider=document.createElement("DIV");scaleBarSlider.id="opencartis.ScaleBarSlider";scaleBarSlider.style.position="absolute";scaleBarSlider.style.display="block";scaleBarSlider.innerHTML="<div onmousedown='"+mapControlName+".ScaleBarSlide()' onmouseup='"+mapControlName+".ScaleBarSlideEnd()' style='cursor:hand,pointer;height:12px;width:20px;background:url(images/slider.png) no-repeat;'></div>";frontCanvas.UIElement.appendChild(scaleBarSlider);scaleBarSlider.style.left="10px";scaleBarSlider.style.top=sliderTopMin+"px";obj.Slide=function(y){_SlideSlider(y);_SetView()};function _SlideSlider(y){yPosition=y;if(sliderTopMin>y){yPosition=sliderTopMin}else{if(sliderTopMax<y){yPosition=sliderTopMax}}scaleBarSlider.style.top=yPosition+"px"}function _SetView(){var newScale;var perc;perc=(yPosition-sliderTopMin)/(sliderTopMax-sliderTopMin);var minScale=mapControlObject.Map.MinScale;var maxScale=mapControlObject.Map.MaxScale;newScale=Math.round(minScale+((maxScale-minScale)*perc));newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),mapControlObject.CurrentView.MapExtent.GetCenterPoint(),mapControlObject.CurrentView.WorldToMap(mapControlObject.CurrentView.MapExtent.GetCenterPoint()),newScale)}obj.SlideEnd=function(){var newScale;var perc;perc=(yPosition-sliderTopMin)/(sliderTopMax-sliderTopMin);var minScale=mapControlObject.Map.MinScale;var maxScale=mapControlObject.Map.MaxScale;newScale=Math.round(minScale+((maxScale-minScale)*perc));mapControlObject.ZoomScale(newScale)};obj.SetScale=function(){var minScale=mapControlObject.Map.MinScale;var maxScale=mapControlObject.Map.MaxScale;var currentScale=mapControlObject.CurrentView.GetScale();var newScale;var perc;perc=(currentScale-minScale)/(maxScale-minScale);var newY=Math.round(sliderTopMin+perc*(sliderTopMax-sliderTopMin));_SlideSlider(newY)}};opencartis.nGeo.MapComponents.BusyStateNote=function(canvas){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.BusyStateNoteModel;obj=new tmp()}var messages=new Array();var id=opencartis.nGeo.MapComponents.hash++;obj.AppendMessage=function(msg){for(var i=0;i<messages.length;i++){if(messages[i].message==msg){messages.splice(i,1);break}}messages.push({message:msg,ts:new Date()});clean()};obj.RemoveMessage=function(msg){for(var i=0;i<messages.length;i++){if(messages[i].message==msg){messages.splice(i,1);break}}clean()};function clean(){var now=new Date();for(var i=messages.length-1;i>=0;i--){if(now.getTime()-messages[i].ts.getTime()>20000){messages.splice(i,1)}}if(messages.length>0){updatemsg(messages[messages.length-1].message);show();setTimeout(clean,1000)}else{hide()}}function hide(){var o=document.getElementById("opencartis.BusyStateNote."+id);o.style.display="none"}function show(){var o=document.getElementById("opencartis.BusyStateNote."+id);o.style.left="-1000px";o.style.top="-1000px";o.style.display="block";if((canvas.UIElement.offsetWidth-o.offsetWidth)/2<=0||(canvas.UIElement.offsetHeight-o.offsetHeight)/2<=0){o.style.left="5px";o.style.top="5px"}else{o.style.left=(canvas.UIElement.offsetWidth-o.offsetWidth)/2+"px";o.style.top=(canvas.UIElement.offsetHeight-o.offsetHeight)/2+"px"}}function updatemsg(msg){var o=document.getElementById("opencartis.BusyStateNote.Message."+id);if(o.innerHTML!=msg){o.innerHTML=msg}}var UIElement=document.createElement("span");UIElement.id="opencartis.BusyStateNote."+id;UIElement.style.position="absolute";UIElement.style.display="none";UIElement.innerHTML="<table cellspacing='0' cellpadding='0' style='height:23px;'><tr><td style='background:url(images/noteleft.png) no-repeat;width:3px' /><td style='height:23px;background:url(images/noteback.png) repeat-x;'><img src='images/loader.gif' style='position:absolute;height:16px;top:3px;left:3px;'/></td><td style='font-family:sans-serif;font-size:12px;padding: 4px 0px 4px 16px;height:23px;background:url(images/noteback.png) repeat-x;color:#CCCCCC' id='opencartis.BusyStateNote.Message."+id+"'></td><td style='height:23px;background:url(images/noteright.png) no-repeat right bottom;width:8px' /></tr></table>";canvas.UIElement.appendChild(UIElement);UIElement.style.left=(canvas.UIElement.offsetWidth-UIElement.offsetWidth)/2+"px";UIElement.style.top=(canvas.UIElement.offsetHeight-UIElement.offsetHeight)/2+"px"};opencartis.nGeo.MapComponents.BusyStateNote.prototype=opencartis.nGeo.MapComponents.BusyStateNoteModel;opencartis.nGeo.MapComponents.MapControl=function(mapConfig,mapControlName,container){this.hash=opencartis.nGeo.MapComponents.hash++;var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.MapControlModel;obj=new tmp()}if(mapConfig=="Debug"){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.MapControlConfigModel;mapConfig=new tmp()}var loc;function updatelanguage(){loc={drawing:"Updating view...",loading:"Loading map...",searching:"Searching...",measuring:"Measuring...",distance:"Distance",total:"Total",area:"Area",perimeter:"Perimeter"};try{OpenCartis.Common.Localization.OverrideWithCurrentLanguage("nGeo.MapComponents.MapControl",loc)}catch(e){}}updatelanguage();OpenCartis.Common.Localization.afterLanguageActivate.Subscribe(updatelanguage);var containerElement=null;var mainCanvas=null;var pointcache=new Array();var measuringPointCache=new Array();var lastMeasureMessage=null;var activeMode=null;var viewsHistoric=new Array();var zoomInRect=null;var selectionRect=null;var tmpView=null;var tooltip=null;var lastTooltipId=0;var tooltipMeasure=null;var loading=null;var compass=null;var scaleSlider=null;var tmptooltipshow=null;var tmptooltiphide=null;var tmptooltipmmovecount=0;var lastMousePosition=new opencartis.nGeo.Geometries.Point(-1,-1);var keyPressed=null;var canvasObjectsToHide=new Array();var canvasObjectsToHideLength=0;var autorefresh=true;var avoidcache=this.hash;function _HandleImageVisibility(){var canvas=mainCanvas.GetCanvas("Map");var searchresult=mainCanvas.GetCanvas("UnderLayer");searchresult.UpdateView();if(canvas=="Debug"){var tmp=function(){};tmp.prototype=opencartis.nGeo.MapComponents.MapCanvasModel;canvas=new tmp()}var currentScale=obj.CurrentView.GetScale();var commonArea=0;var commonAreaObject=null;var i=0;canvasObjectsToHide=new Array();canvasObjectsToHideLength=0;canvas.Objects.GoFirst();while(canvas.Objects.Read()){if(canvas.Objects.Item.LayerConfigIX!=avoidcache){canvasObjectsToHideLength=canvasObjectsToHide.push(canvas.Objects.Item)}else{if(canvas.Objects.Item.Tag!=currentScale){if(canvas.Objects.Item.domimg.complete==true){var temp=canvas.Objects.Item.GetExtent().GetCommonArea(obj.CurrentView.MapExtent);if(temp>commonArea){commonArea=temp;commonAreaObject=canvas.Objects.Item}else{if(temp==commonArea&&temp!=0){if(canvas.Objects.Item.Tag<commonAreaObject.Tag){commonAreaObject=canvas.Objects.Item}}}canvas.Objects.Item.Hide()}else{var mo=canvas.Objects.Item;canvas.RemoveObject(mo);mo.domimg.Abort()}}else{if(canvas.Objects.Item.domimg.complete==false){if(!canvas.Objects.IsEOF()){var mo=canvas.Objects.Item;canvas.RemoveObject(mo);mo.domimg.Abort()}}else{var temp=obj.CurrentView.MapExtent.GetCommonArea(canvas.Objects.Item.GetExtent());if(temp>0){canvas.Objects.Item.Reposition();canvas.Objects.Item.Show()}else{canvas.Objects.Item.Hide()}}}}}if(commonAreaObject!=null){commonAreaObject.Reposition();commonAreaObject.Show()}if(canvas.Objects.Count()>0&&canvas.Objects.Item.domimg.complete==true&&canvas.Objects.Item.LayerConfigIX==avoidcache){if(canvas.Objects.Item.GetExtent().Equals(obj.CurrentView.MapExtent)){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Ready;loading.RemoveMessage(loc.drawing);obj.onStateChanged.Fire(obj);obj.onViewChanged.Fire(obj)}}}function _HandleImageVisibilityClear(){var j=0;for(j=0;j<canvasObjectsToHideLength;j++){canvasObjectsToHide[j].Hide()}canvasObjectsToHide=new Array();canvasObjectsToHideLength=0}function _MapImageLoaded(domimg){return function(){obj.LastFileSize=domimg.fileSize;setTimeout(_MeasureClientClear,1);setTimeout(_HandleImageVisibility,5);setTimeout(_HandleImageVisibilityClear,15);viewsHistoric.push(obj.CurrentView)}}obj.SetView=function _SetView(newView,delay){if(newView.GetScale()<obj.Map.MinScale){obj.ZoomScale(obj.Map.MinScale,newView.MapExtent.GetCenterPoint(),delay);return}else{if(newView.GetScale()>obj.Map.MaxScale){obj.ZoomExtent();return}}obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Drawing;loading.AppendMessage(loc.drawing);obj.onStateChanged.Fire(obj);obj.CurrentView=newView.Clone();obj.onViewChanging.Fire(obj);_HandleImageVisibility();if(tmpView!=null){clearTimeout(tmpView)}if(typeof(delay)=="undefined"||delay==0){_LoadImageForView()}else{tmpView=setTimeout(_LoadImageForView,delay)}};function _SelectAtPoint(x,y){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Drawing;obj.Map.Service.GetAsync("POST","SelectAtPoint",{mapId:obj.Map.Guid,x:x,y:y},_OnSelectEnd,"mapId")}function _SelectAtPointAndCenter(x,y){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Drawing;_SelectClear();obj.Map.Service.GetAsync("POST","SelectAtPoint",{mapId:obj.Map.Guid,x:x,y:y},_OnSelectAndCenterEnd,"mapId")}function _SelectAtPointLayerAndCenter(x,y,layerName){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Drawing;_SelectClear();obj.Map.Service.GetAsync("POST","SelectAtPointLayer",{mapId:obj.Map.Guid,x:x,y:y,layerName:layerName},_OnSelectAndCenterEnd,"mapId")}function _SelectRectangle(x1,y1,x2,y2){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Drawing;obj.Map.Service.GetAsync("POST","SelectRectangle",{mapId:obj.Map.Guid,x1:x1,y1:y1,x2:x2,y2:y2},_OnSelectEnd,"mapId")}function _SelectClearRefresh(){obj.Map.Service.GetAsync("POST","ClearSelection",{mapId:obj.Map.Guid},_OnClearSelectionRefresh,"mapId")}function _SelectClear(){obj.Map.Service.GetSync("POST","ClearSelection",{mapId:obj.Map.Guid},"mapId");_OnClearSelection()}function _OnSelectEnd(){avoidcache++;if(autorefresh){obj.SetView(obj.CurrentView)}}function _OnSelectAndCenterEnd(xml){var coord;var minX=0;var minY=0;var maxX=0;var maxY=0;var child=xml.responseXML.documentElement.firstChild;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"LowerLeftCoordinate":coord=child.firstChild;while(coord!=null){if(coord.nodeType==1){switch(coord.nodeName){case"X":minX=coord.text;break;case"Y":minY=coord.text;break}}coord=coord.nextSibling}break;case"UpperRightCoordinate":coord=child.firstChild;while(coord!=null){if(coord.nodeType==1){switch(coord.nodeName){case"X":maxX=coord.text;break;case"Y":maxY=coord.text;break}}coord=coord.nextSibling}break}}child=child.nextSibling}if(minX==0||minY==0||maxX==0||maxY==0){return}avoidcache++;var mptA=new opencartis.nGeo.Geometries.Point(minX,minY);var mptB=new opencartis.nGeo.Geometries.Point(maxX,maxY);var newView;var extent=new opencartis.nGeo.Geometries.BoundingBox(mptA,mptB);extent.EnsureIsCorrect();newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),extent);if(autorefresh){obj.SetView(newView)}}function _OnClearSelectionRefresh(){avoidcache++;if(autorefresh){obj.SetView(obj.CurrentView)}}function _OnClearSelection(){}function _MeasureLine(pointCache,length){var pointCoordinates="";var i=0;var wPt;for(i=0;i<length;i++){if(i>0){pointCoordinates+=";"}var wPt=obj.CurrentView.MapToWorld(pointCache[i]);pointCoordinates+=wPt.X+"-"+wPt.Y}obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Drawing;obj.Map.Service.GetAsync("POST","MeasurePolyLine",{mapId:obj.Map.Guid,coordinates:pointCoordinates},_OnMeasureChanged,"mapId")}function _MeasurePolygon(pointCache,length){var pointCoordinates="";var i=0;var wPt;for(i=0;i<length;i++){if(i>0){pointCoordinates+=";"}var wPt=obj.CurrentView.MapToWorld(pointCache[i]);pointCoordinates+=wPt.X+"-"+wPt.Y}obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Drawing;obj.Map.Service.GetAsync("POST","MeasurePolygon",{mapId:obj.Map.Guid,coordinates:pointCoordinates},_OnMeasureChanged,"mapId")}function _MeasureSelected(){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Drawing;loading.AppendMessage(loc.measuring);obj.Map.Service.GetAsync("POST","MeasureSelected",{mapId:obj.Map.Guid},_OnMeasureChanged,"mapId")}function _MeasureClear(){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Drawing;obj.Map.Service.GetAsync("POST","MeasureClear",{mapId:obj.Map.Guid},_OnMeasureChanged,"mapId")}function _OnMeasureChanged(result){avoidcache++;var measureResults=new opencartis.nGeo.Map.MeasureResults();measureResults.Parse(result.responseXML);loading.RemoveMessage(loc.measuring);obj.onMeasureChanged.Fire({measureResults:measureResults});if(autorefresh){obj.SetView(obj.CurrentView)}}function _MeasureClientClear(){var gr=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasure").UIElement);if(gr){gr.clear()}var grTmp=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasureTmp").UIElement);if(grTmp){grTmp.clear()}if(tooltipMeasure){tooltipMeasure.Hide()}}function _MeasureClientRemoveLast(){if(measuringPointCache!=null&&measuringPointCache.length==0){obj.PanMode()}if(measuringPointCache!=null&&measuringPointCache.length>0){measuringPointCache.pop();_MeasureClientRedraw()}}function _MeasureClientCancel(){_MeasureClientClear();measuringPointCache=new Array()}function _MeasureClientRedraw(){_MeasureClientClear();switch(obj.Mode){case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine:var length=measuringPointCache.length;var gr=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasure").UIElement);var col=new jsColor("red");var col2=new jsColor("black");var pen=new jsPen(col,2);var arrPoints=new Array();for(i=1;i<length;i++){var pt1=new jsPoint(measuringPointCache[i-1].X,measuringPointCache[i-1].Y);var pt2=new jsPoint(measuringPointCache[i].X,measuringPointCache[i].Y);arrPoints.push(pt1);if(i==1){gr.fillCircle(col2,pt1,2)}gr.drawLine(pen,pt1,pt2)}var grTmp=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasureTmp").UIElement);grTmp.clear();break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon:var i=0;var length=measuringPointCache.length;var gr=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasure").UIElement);var col=new jsColor("red");var col2=new jsColor("black");var pen=new jsPen(col,2);gr.fillCircle(col2,pt2,2);var arrPoints=new Array();gr.clear();for(i=0;i<length;i++){var pt1=new jsPoint(measuringPointCache[i].X,measuringPointCache[i].Y);arrPoints.push(pt1);if(i==1){gr.fillCircle(col2,pt1,2)}}if(length>1){gr.drawPolygon(pen,arrPoints);gr.fillPolygon(col,arrPoints)}var grTmp=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasureTmp").UIElement);grTmp.clear();break}}function _LoadImageForView(){var canvas=mainCanvas.GetCanvas("Map");if(canvas!=null){var mapobj=new opencartis.nGeo.MapComponents.MapObject(obj,opencartis.nGeo.MapComponents.MapObjectTypeEnum.Extension,null,new opencartis.nGeo.Geometries.Point(obj.CurrentView.MapExtent.Min.X,obj.CurrentView.MapExtent.Max.Y),obj.CurrentView.MapExtent.GetSize());mapobj.Tag=obj.CurrentView.GetScale();mapobj.LayerConfigIX=avoidcache;var domimg=obj.Map.Service.GetDOMImage({id:obj.Map.Guid,ViewBox:obj.CurrentView.MapExtent.ToText(),h:obj.CurrentView.ImageSize.height,w:obj.CurrentView.ImageSize.width,r:mapConfig.RenderFormat,f:mapConfig.ImageFormat,uc:avoidcache});domimg.style.width=obj.CurrentView.ImageSize.width+"px";domimg.style.height=obj.CurrentView.ImageSize.height+"px";mapobj.SetContent(domimg);mapobj.domimg=domimg;canvas.AppendObject(mapobj);if(domimg.complete==false){domimg.onload=_MapImageLoaded(domimg)}else{_MapImageLoaded(domimg)()}}}function _ShowTooltip(){if(activeMode==null&&obj.State==opencartis.nGeo.MapComponents.MapControlStateEnum.Ready&&lastMousePosition.X==tooltip.GetX()&&lastMousePosition.Y==tooltip.GetY()&&lastTooltipId==tooltip.GetId()){tooltip.Show();tmptooltipmmovecount=0}else{tooltip.Hide()}}function _LoadTooltip(){if(activeMode==null&&obj.State==opencartis.nGeo.MapComponents.MapControlStateEnum.Ready&&lastMousePosition.X==tooltip.GetX()&&lastMousePosition.Y==tooltip.GetY()){tooltip.Load()}}function _DisableTooltipBehaviour(){if(tmptooltipshow!=null){clearTimeout(tmptooltipshow)}if(tmptooltiphide!=null){clearTimeout(tmptooltiphide)}}function _RefreshTooltip(x,y){_DisableTooltipBehaviour();if(tooltip!=null){if(tooltip.IsVisible()){if(tooltip.GetX()==x&&tooltip.GetY()==y){return}if(tooltip.GetType()==opencartis.nGeo.MapComponents.TooltipTypeEnum.Text){tooltip.Hide()}else{if(activeMode==null&&tmptooltipmmovecount<16){tmptooltiphide=setTimeout(tooltip.Hide,500)}else{tooltip.Hide()}}}else{if(tooltip.IsLoading()){tooltip.CancelLoad()}}}if(activeMode==null&&obj.State==opencartis.nGeo.MapComponents.MapControlStateEnum.Ready){tooltip.SetPosition(x,y);lastTooltipId=tooltip.GetId();if(measuringPointCache.length>0){return}tmptooltipshow=setTimeout(_LoadTooltip,300)}}var _mousehandler=new function(){this.mousedown=function(e){if(e[opencartis.Common.MouseEventTarget].offsetParent.id!=mainCanvas.GetCanvas("MouseHandler").UIElement.id||e.type!="mousedown"){return}if(e.button==opencartis.Common.MouseButton.Middle){switch(obj.Mode){case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine:case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon:break;default:pointcache.push(new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]));activeMode=opencartis.nGeo.MapComponents.MapControlModeEnum.Pan;mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.PanPressed);break}}else{if(e.button==opencartis.Common.MouseButton.Left){switch(obj.Mode){case opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn:pointcache.push(new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]));activeMode=opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn;break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Pan:pointcache.push(new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]));activeMode=opencartis.nGeo.MapComponents.MapControlModeEnum.Pan;mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.PanPressed);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomOut:activeMode=opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomOut;break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Digitizing:activeMode=opencartis.nGeo.MapComponents.MapControlModeEnum.Digitizing;break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Select:pointcache.push(new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]));activeMode=opencartis.nGeo.MapComponents.MapControlModeEnum.Select;break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine:activeMode=opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine;break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon:activeMode=opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon;break}}}_RefreshTooltip(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);if(e.preventDefault){e.preventDefault()}e.returnValue=false};function _mouseup(e){if(e[opencartis.Common.MouseEventTarget].offsetParent.id!=mainCanvas.GetCanvas("MouseHandler").UIElement.id){return}switch(activeMode){case opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn:var ptB=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);var ptA=pointcache.pop();var mptB=obj.CurrentView.MapToWorld(ptB);var mptA=obj.CurrentView.MapToWorld(ptA);var newView=null;if(typeof(ptA)!="undefined"&&Math.abs(ptA.X-ptB.X)+Math.abs(ptA.Y-ptB.Y)>2){var extent=new opencartis.nGeo.Geometries.BoundingBox(mptA,mptB);extent.EnsureIsCorrect();newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),extent)}else{newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),obj.CurrentView.MapToWorld(ptB),ptB,obj.CurrentView.GetScale()/mapConfig.ZoomFactor)}zoomInRect.Hide();obj.SetView(newView);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomOut:var ipt=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);var newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),obj.CurrentView.MapToWorld(ipt),ipt,obj.CurrentView.GetScale()*mapConfig.ZoomFactor);obj.SetView(newView);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Pan:mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.Pan);switch(obj.Mode){case opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn:mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.ZoomIn);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Pan:mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.Pan);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomOut:mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.ZoomOut);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Digitizing:mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.Digitizing);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Select:mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.Select);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine:mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.MeasuringLine);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon:mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.MeasuringPolygon);break}pointcache.pop();break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Digitizing:var ptA=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);var ptB=obj.CurrentView.MapToWorld(ptA);obj.PanMode();obj.onDigitizedPoint.Fire({MapControl:obj,MapPoint:ptA,WorldPoint:ptB});obj.onModeChanged.Fire(obj);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Select:var ptB=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);var ptA=pointcache.pop();var mptB=obj.CurrentView.MapToWorld(ptB);var mptA=obj.CurrentView.MapToWorld(ptA);if(keyPressed!=opencartis.nGeo.MapComponents.KeyPressedEnum.Ctrl){_SelectClear()}if(typeof(ptA)!="undefined"&&Math.abs(ptA.X-ptB.X)+Math.abs(ptA.Y-ptB.Y)>2){_SelectRectangle(mptA.X,mptA.Y,mptB.X,mptB.Y)}else{_SelectAtPoint(mptB.X,mptB.Y)}selectionRect.Hide();break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine:if(e.type!="mouseup"||e.button!=opencartis.Common.MouseButton.Left){return}var length=measuringPointCache.push(new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]));var gr=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasure").UIElement);var col=new jsColor("red");var col2=new jsColor("black");var pen=new jsPen(col,2);var pt2=new jsPoint(measuringPointCache[length-1].X,measuringPointCache[length-1].Y);if(length==1){gr.fillCircle(col2,pt2,2)}if(length>1){var pt1=new jsPoint(measuringPointCache[length-2].X,measuringPointCache[length-2].Y);gr.drawLine(pen,pt1,pt2)}if(!tooltipMeasure){tooltipMeasure=new opencartis.nGeo.MapComponents.Tooltip(obj.Map,mainCanvas.GetCanvas("MouseHandler"))}var grTmp=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasureTmp").UIElement);grTmp.clear();break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon:if(e.type!="mouseup"||e.button!=opencartis.Common.MouseButton.Left){return}var i=0;var length=measuringPointCache.push(new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]));var gr=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasure").UIElement);var col=new jsColor("red");var col2=new jsColor("black");var pen=new jsPen(col,2);gr.fillCircle(col2,pt2,2);var arrPoints=new Array();gr.clear();for(i=0;i<length;i++){var pt1=new jsPoint(measuringPointCache[i].X,measuringPointCache[i].Y);arrPoints.push(pt1);if(i==0){gr.fillCircle(col2,pt1,2)}}if(length>1){gr.drawPolygon(pen,arrPoints);gr.fillPolygon(col,arrPoints)}var grTmp=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasureTmp").UIElement);grTmp.clear();if(!tooltipMeasure){tooltipMeasure=new opencartis.nGeo.MapComponents.Tooltip(obj.Map,mainCanvas.GetCanvas("MouseHandler"))}break;case opencartis.nGeo.MapComponents.MapControlModeEnum.ScaleBarSliding:if(e.type!="mouseup"){return}compass.SlideEnd();break}switch(activeMode){case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine:case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon:break;default:activeMode=null;break}_RefreshTooltip(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y])}this.mouseup=function(e){switch(e.button){case opencartis.Common.MouseButton.Left:case opencartis.Common.MouseButton.Middle:return _mouseup(e);break}};function _dblclick(e){switch(obj.Mode){case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine:_MeasureLine(measuringPointCache,measuringPointCache.length);measuringPointCache=new Array();activeMode=null;break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon:_MeasurePolygon(measuringPointCache,measuringPointCache.length);measuringPointCache=new Array();activeMode=null;break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Pan:var pt=new opencartis.nGeo.Geometries.Point(e.x,e.y);newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),obj.CurrentView.MapToWorld(pt),pt,obj.CurrentView.GetScale()/mapConfig.ZoomFactor);obj.SetView(newView,250)}}this.dblclick=function(e){return _dblclick(e)};this.mousemove=function(e){if(e[opencartis.Common.MouseEventTarget].offsetParent.id!=mainCanvas.GetCanvas("MouseHandler").UIElement.id){return}lastMousePosition.X=e[opencartis.Common.MouseCoords.X];lastMousePosition.Y=e[opencartis.Common.MouseCoords.Y];if(tooltip.IsVisible()){tmptooltipmmovecount++}_RefreshTooltip(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);switch(activeMode){case opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn:var ptA=pointcache[pointcache.length-1];var ptB=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);if(Math.abs(ptA.X-ptB.X)+Math.abs(ptA.Y-ptB.Y)>2){zoomInRect.Show(ptA,new opencartis.Common.Size(ptB.X-ptA.X,ptB.Y-ptA.Y))}else{zoomInRect.Hide()}break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Pan:var ptA=pointcache[pointcache.length-1];var ptB=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);obj.CurrentView.MapExtent.MoveBy(obj.CurrentView.MapToWorld(ptA.X-ptB.X),obj.CurrentView.MapToWorld(ptB.Y-ptA.Y));ptA.X=ptB.X;ptA.Y=ptB.Y;obj.SetView(obj.CurrentView,250);break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Select:var ptA=pointcache[pointcache.length-1];var ptB=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);if(Math.abs(ptA.X-ptB.X)+Math.abs(ptA.Y-ptB.Y)>2){selectionRect.Show(ptA,new opencartis.Common.Size(ptB.X-ptA.X,ptB.Y-ptA.Y))}else{selectionRect.Hide()}break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine:var ptB=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);var gr=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasureTmp").UIElement);gr.clear();var col=new jsColor("red");var pen=new jsPen(col,2);var pt2=new jsPoint(ptB.X,ptB.Y);if(measuringPointCache.length>0){var pt1=new jsPoint(measuringPointCache[measuringPointCache.length-1].X,measuringPointCache[measuringPointCache.length-1].Y);gr.drawLine(pen,pt1,pt2);if(tooltipMeasure){var i;var value=0;var lastValue=0;var secondPtWorld;var units=" m";var lastUnits=" m";for(i=1;i<measuringPointCache.length;i++){var initialPtWorld=obj.CurrentView.MapToWorld(measuringPointCache[i-1]);secondPtWorld=obj.CurrentView.MapToWorld(measuringPointCache[i]);value+=Math.sqrt(Math.pow(secondPtWorld.X-initialPtWorld.X,2)+Math.pow(secondPtWorld.Y-initialPtWorld.Y,2))}if(!secondPtWorld){secondPtWorld=obj.CurrentView.MapToWorld(measuringPointCache[0])}var lastPtWorld=obj.CurrentView.MapToWorld(new opencartis.nGeo.Geometries.Point(pt2.x,pt2.y));lastValue=Math.sqrt(Math.pow(lastPtWorld.X-secondPtWorld.X,2)+Math.pow(lastPtWorld.Y-secondPtWorld.Y,2));value+=lastValue;if(value>1000){value=value/1000;units=" km"}if(lastValue>1000){lastValue=lastValue/1000;lastUnits=" km"}tooltipMeasure.SetPosition(pt2.x,pt2.y);lastMeasureMessage=loc.distance+": "+opencartis.Common.Utilities.GetFormattedNumber(lastValue,2)+lastUnits+"<br>"+loc.total+": "+opencartis.Common.Utilities.GetFormattedNumber(value,2)+units;tooltipMeasure.ShowStatic(lastMeasureMessage)}}break;case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon:var i=0;var length=measuringPointCache.length;var tmpPt=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);var gr=new jsGraphics(mainCanvas.GetCanvas("MapControlGraphicsMeasureTmp").UIElement);var col=new jsColor("red");var col2=new jsColor("black");var pen=new jsPen(col,2);var arrPoints=new Array();gr.clear();if(length>0){var pt1=new jsPoint(measuringPointCache[0].X,measuringPointCache[0].Y);arrPoints.push(pt1);var pt2=new jsPoint(tmpPt.X,tmpPt.Y);arrPoints.push(pt2);var pt3=new jsPoint(measuringPointCache[length-1].X,measuringPointCache[length-1].Y);arrPoints.push(pt3);gr.drawPolygon(pen,arrPoints)}if(tooltipMeasure){var suma=0;var perimeter=0;var i;var value="";var units=" m&sup2";var perimeterUnits=" m";if(measuringPointCache.length>=2){for(i=0;i<measuringPointCache.length-1;i++){var point1=obj.CurrentView.MapToWorld(measuringPointCache[i]);var point2=obj.CurrentView.MapToWorld(measuringPointCache[i+1]);suma+=point1.X*point2.Y-point1.Y*point2.X;perimeter+=Math.sqrt(Math.pow(point2.X-point1.X,2)+Math.pow(point2.Y-point1.Y,2))}i=measuringPointCache.length-1;var pointFirst=obj.CurrentView.MapToWorld(measuringPointCache[0]);var pointLast=obj.CurrentView.MapToWorld(measuringPointCache[i]);var tmpPoint=obj.CurrentView.MapToWorld(tmpPt);suma+=pointLast.X*tmpPoint.Y-pointLast.Y*tmpPoint.X;suma+=tmpPoint.X*pointFirst.Y-tmpPoint.Y*pointFirst.X;perimeter+=Math.sqrt(Math.pow(pointLast.X-tmpPoint.X,2)+Math.pow(pointLast.Y-tmpPoint.Y,2));perimeter+=Math.sqrt(Math.pow(pointFirst.X-tmpPoint.X,2)+Math.pow(pointFirst.Y-tmpPoint.Y,2));value=Math.abs(suma)/2;if(value>1000000){value=value/1000000;units=" km&sup2"}if(perimeter>1000){perimeter=perimeter/1000;perimeterUnits=" km"}tooltipMeasure.SetPosition(tmpPt.X,tmpPt.Y);lastMeasureMessage=loc.area+": "+opencartis.Common.Utilities.GetFormattedNumber(value,2)+units+"<br>"+loc.perimeter+": "+opencartis.Common.Utilities.GetFormattedNumber(perimeter,2)+perimeterUnits;tooltipMeasure.ShowStatic(lastMeasureMessage)}}break;case opencartis.nGeo.MapComponents.MapControlModeEnum.ScaleBarSliding:scaleSlider.Slide(e[opencartis.Common.MouseCoords.Y]);break}if(e.preventDefault){e.preventDefault()}e.returnValue=false};this.mouseout=function(e){if(tooltip.IsTooltipOrChild(e.toElement||e.relatedTarget)){if(tooltip.GetType()==opencartis.nGeo.MapComponents.TooltipTypeEnum.Url||tooltip.GetType()==opencartis.nGeo.MapComponents.TooltipTypeEnum.Html){if(activeMode==null){_DisableTooltipBehaviour();return}}}return _mouseup(e)};this.mousewheel=function(e){if(activeMode!=null){return}_RefreshTooltip(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);if(e[opencartis.Common.MouseEventTarget].offsetParent.id==mainCanvas.GetCanvas("MouseHandler").UIElement.id){var delta=0;if(!e){e=window.event}if(e.wheelDelta){delta=e.wheelDelta/120}else{if(e.detail){delta=-e.detail/3}}if(delta){var pt=new opencartis.nGeo.Geometries.Point(e[opencartis.Common.MouseCoords.X],e[opencartis.Common.MouseCoords.Y]);if(delta<0){newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),obj.CurrentView.MapToWorld(pt),pt,obj.CurrentView.GetScale()*mapConfig.ZoomFactor)}else{newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),obj.CurrentView.MapToWorld(pt),pt,obj.CurrentView.GetScale()/mapConfig.ZoomFactor)}obj.SetView(newView,250)}if(e.preventDefault){e.preventDefault()}e.returnValue=false}}};function _layerVisibilityChanged(){avoidcache++;if(autorefresh){obj.SetView(obj.CurrentView)}}obj.onViewChanging=new opencartis.Common.Event();obj.onViewChanged=new opencartis.Common.Event();obj.onStateChanged=new opencartis.Common.Event();obj.onModeChanged=new opencartis.Common.Event();obj.onLayerVisibilityChanged=new opencartis.Common.Event();obj.onLayerLabelChanged=new opencartis.Common.Event();obj.beforeSearch=new opencartis.Common.Event();obj.afterSearch=new opencartis.Common.Event();obj.searchCleared=new opencartis.Common.Event();obj.onDigitizedPoint=new opencartis.Common.Event();obj.onMeasureChanged=new opencartis.Common.Event();obj.SetAutoRefresh=function(val){autorefresh=val};obj.RenderTo=function(container,norefresh){if(containerElement!=null){throw new Error("Cannot asign a distinct container to MapControl.")}else{containerElement=container;containerElement.style.overflow="hidden";mainCanvas=new opencartis.nGeo.MapComponents.MapCanvas(obj);mainCanvas.AppendCanvas("Map");mainCanvas.AppendCanvas("UnderLayer");mainCanvas.AppendCanvas("MapControlGraphics");mainCanvas.AppendCanvas("MapControlGraphicsMeasure");mainCanvas.AppendCanvas("MapControlGraphicsMeasureTmp");var mh=mainCanvas.AppendCanvas("MouseHandler");mainCanvas.AppendCanvas("OverLayer");mainCanvas.RenderTo(container);mh.SetMeAsMouseHandler(_mousehandler);document.onkeydown=_keyDownHandler;document.onkeyup=_keyUpHandler;zoomInRect=new opencartis.nGeo.MapComponents.RectangleWithExterior();zoomInRect.RenderTo(mainCanvas.GetCanvas("MapControlGraphics").UIElement);zoomInRect.SetExteriorBackground("white",50);zoomInRect.SetInteriorBorder("dotted","1px","black");selectionRect=new opencartis.nGeo.MapComponents.RectangleWithExterior();selectionRect.RenderTo(mainCanvas.GetCanvas("MapControlGraphics").UIElement);selectionRect.SetInteriorBorder("solid","1px","blue");selectionRect.SetInteriorBackground("blue",50);obj.onModeChanged.Subscribe(_MeasureClientCancel);obj.PanMode();loading=new opencartis.nGeo.MapComponents.BusyStateNote(mainCanvas.GetCanvas("UnderLayer"));if(mapControlName&&obj.MapConfig.CompassEnabled!="false"){compass=new opencartis.nGeo.MapComponents.Compass(mainCanvas.GetCanvas("UnderLayer"),mainCanvas.GetCanvas("MouseHandler"),mapControlName,obj,containerElement)}if(mapControlName&&obj.MapConfig.ScaleSliderEnabled!="false"){scaleSlider=new opencartis.nGeo.MapComponents.ScaleSlider(mainCanvas.GetCanvas("UnderLayer"),mainCanvas.GetCanvas("MouseHandler"),mapControlName,obj,containerElement);obj.onViewChanging.Subscribe(scaleSlider.SetScale)}tooltip=new opencartis.nGeo.MapComponents.Tooltip(obj,mh);tooltip.onDataLoaded.Subscribe(_ShowTooltip);if(!norefresh){if(obj.Map&&obj.Map.IsOpened()){obj.InitialView()}}}};function _keyDownHandler(e){var x="";if(document.all){var evnt=window.event;x=evnt.keyCode}else{x=e.keyCode}switch(x){case 27:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Esc;break;case 16:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Shift;break;case 17:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Ctrl;break;case 18:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Alt;break;case 32:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Space;break;case 13:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Enter;break;case 27:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Esc;break;case 8:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Back;break;case 37:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Left;break;case 38:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Up;break;case 39:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Right;break;case 40:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Down;break;case 107:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Plus;break;case 109:keyPressed=opencartis.nGeo.MapComponents.KeyPressedEnum.Minus;break;default:keyPressed=null;break}switch(keyPressed){case opencartis.nGeo.MapComponents.KeyPressedEnum.Plus:obj.ZoomIn();break;case opencartis.nGeo.MapComponents.KeyPressedEnum.Minus:obj.ZoomOut();break;case opencartis.nGeo.MapComponents.KeyPressedEnum.Left:obj.ZoomLeft();break;case opencartis.nGeo.MapComponents.KeyPressedEnum.Right:obj.ZoomRight();break;case opencartis.nGeo.MapComponents.KeyPressedEnum.Up:obj.ZoomUp();break;case opencartis.nGeo.MapComponents.KeyPressedEnum.Down:obj.ZoomDown();break;case opencartis.nGeo.MapComponents.KeyPressedEnum.Enter:break;case opencartis.nGeo.MapComponents.KeyPressedEnum.Space:break;case opencartis.nGeo.MapComponents.KeyPressedEnum.Back:break;case opencartis.nGeo.MapComponents.KeyPressedEnum.Esc:switch(obj.Mode){case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine:case opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon:_MeasureClientRemoveLast();break;case opencartis.nGeo.MapComponents.MapControlModeEnum.Select:_SelectClearRefresh();break;case opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn:case opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomOut:case opencartis.nGeo.MapComponents.MapControlModeEnum.Digitizing:obj.PanMode();break}break}}function _keyUpHandler(e){keyPressed=null}obj.Resize=function(){if(obj.Map.IsOpened()){viewsHistoric.pop();var newSize=opencartis.Common.Utilities.GetElementSize(containerElement);var newView;obj.Map.MaxScale=(new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),obj.Map.MapExtentOriginal.Clone())).GetScale();if(obj.CurrentView&&obj.CurrentView.MapExtent.IsDefined()){newView=new opencartis.nGeo.MapComponents.MapView(newSize,obj.CurrentView.MapExtent.GetCenterPoint(),obj.CurrentView.GetScale());if(newView.MapExtent.Max.X>obj.Map.MapExtentOriginal.Max.X||newView.MapExtent.Min.X<obj.Map.MapExtentOriginal.Min.X||newView.MapExtent.Max.Y>obj.Map.MapExtentOriginal.Max.Y||newView.MapExtent.Min.Y<obj.Map.MapExtentOriginal.Min.Y){newView=new opencartis.nGeo.MapComponents.MapView(newSize,obj.Map.MapExtentOriginal.Clone())}obj.SetView(newView,150)}else{obj.InitialView();newView=obj.CurrentView.Clone()}mainCanvas.Resize(newView)}};obj.Refresh=function(){obj.SetView(obj.CurrentView)};obj.Load=function(){try{_DisableTooltipBehaviour()}catch(e){}if(loading!=null){loading.AppendMessage(loc.loading)}obj.Map=new opencartis.nGeo.Map.Map(new opencartis.nGeo.MapService.Service(mapConfig.ServiceURL,mapConfig.ImagingURL,mapConfig.PrintURL,mapConfig.PrintHTMLURL),mapConfig.MapKey);OpenCartis.Common.Localization.afterLanguageActivate.Subscribe(obj.Refresh);obj.SearchManager=obj.Map.SearchManager;obj.Map.onMapLoading.Subscribe(function(){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Loading;obj.onStateChanged.Fire()});obj.Map.onMapLoaded.Subscribe(function(){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.Ready;obj.onStateChanged.Fire()});obj.Map.afterSearch.Subscribe(function(mgr){loading.RemoveMessage(loc.searching);obj.afterSearch.Fire(arguments)});obj.Map.beforeSearch.Subscribe(function(mgr){loading.AppendMessage(loc.searching);obj.beforeSearch.Fire(arguments)});obj.Map.searchCleared.Subscribe(obj.searchCleared.Fire);obj.Map.onSearchItemSelected.Subscribe(obj.ZoomSearchItem);obj.Map.onLayerVisibilityChanged.Subscribe(_layerVisibilityChanged);obj.Map.onLayerVisibilityChanged.Subscribe(obj.onLayerVisibilityChanged.Fire);obj.Map.onLayerLabelChanged.Subscribe(obj.onLayerLabelChanged.Fire);var ret=obj.Map.Open();if(!ret){obj.State=opencartis.nGeo.MapComponents.MapControlStateEnum.LoadError;obj.onStateChanged.Fire()}if(loading!=null){loading.RemoveMessage(loc.loading)}return ret};obj.ZoomExtent=function(){var box=null;if(typeof(mapConfig.MapExtent)!="undefined"&&mapConfig.MapExtent!=null&&mapConfig.MapExtent.IsDefined()){box=mapConfig.MapExtent.Clone()}else{box=obj.Map.MapExtent.Clone()}obj.SetView(new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),box))};obj.ZoomPrevious=function(){var previousView;var previousView=viewsHistoric.pop();while(previousView&&previousView.MapExtent.Min.X==obj.CurrentView.MapExtent.Min.X&&previousView.MapExtent.Max.X==obj.CurrentView.MapExtent.Max.X&&previousView.MapExtent.Min.Y==obj.CurrentView.MapExtent.Min.Y&&previousView.MapExtent.Max.Y==obj.CurrentView.MapExtent.Max.Y){previousView=viewsHistoric.pop()}if(previousView){obj.SetView(new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),previousView.MapExtent.Clone()))}else{obj.InitialView()}};obj.InitialView=function(){var box=null;if(typeof(mapConfig.InitialView)!="undefined"&&mapConfig.InitialView!=null&&mapConfig.InitialView.IsDefined()){obj.SetView(new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),mapConfig.InitialView.Clone()))}else{obj.ZoomExtent()}};obj.ZoomInMode=function(){mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.ZoomIn);obj.Mode=opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn;obj.onModeChanged.Fire(obj)};obj.ZoomOutMode=function(){mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.ZoomOut);obj.Mode=opencartis.nGeo.MapComponents.MapControlModeEnum.ZoomOut;obj.onModeChanged.Fire(obj)};obj.PanMode=function(){mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.Pan);obj.Mode=opencartis.nGeo.MapComponents.MapControlModeEnum.Pan;obj.onModeChanged.Fire(obj)};obj.SelectMode=function(){mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.Select);obj.Mode=opencartis.nGeo.MapComponents.MapControlModeEnum.Select;obj.onModeChanged.Fire(obj)};obj.SelectAtPointAndCenter=function(x,y){_SelectAtPointAndCenter(x,y)};obj.SelectAtPointLayerAndCenter=function(x,y,layerName){_SelectAtPointLayerAndCenter(x,y,layerName)};obj.MeasuringLineMode=function(){mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.MeasuringLine);obj.Mode=opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine;obj.onModeChanged.Fire(obj)};obj.MeasuringPolygonMode=function(){mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.MeasuringPolygon);obj.Mode=opencartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon;obj.onModeChanged.Fire(obj)};obj.MeasureSelected=function(){_MeasureSelected()};obj.MeasureClear=function(){_MeasureClear()};obj.DigitizePointMode=function(){mainCanvas.GetCanvas("MouseHandler").SetCursor(opencartis.nGeo.MapComponents.MapControlModeCursorEnum.Digitizing);obj.Mode=opencartis.nGeo.MapComponents.MapControlModeEnum.Digitizing;obj.onModeChanged.Fire(obj)};obj.ZoomScale=function(scale,point,delay){if(typeof(point)=="undefined"||point==null||!point.IsDefined()){point=obj.CurrentView.MapExtent.GetCenterPoint()}var view=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),point,scale);obj.SetView(view,delay)};obj.ZoomIn=function(){var pt=obj.CurrentView.MapExtent.GetCenterPoint();var newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),pt,obj.CurrentView.GetScale()/mapConfig.ZoomFactor);obj.SetView(newView,250)};obj.ZoomOut=function(){var pt=obj.CurrentView.MapExtent.GetCenterPoint();var newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),pt,obj.CurrentView.GetScale()*mapConfig.ZoomFactor);obj.SetView(newView,250)};obj.ZoomRight=function(){var pt=obj.CurrentView.MapExtent.GetCenterPoint();var maxX=obj.CurrentView.MapExtent.Max.X;pt.X=pt.X+(maxX-pt.X)/3;var newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),pt,obj.CurrentView.GetScale());obj.SetView(newView,250)};obj.ZoomLeft=function(){var pt=obj.CurrentView.MapExtent.GetCenterPoint();var maxX=obj.CurrentView.MapExtent.Max.X;pt.X=pt.X-(maxX-pt.X)/3;var newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),pt,obj.CurrentView.GetScale());obj.SetView(newView,250)};obj.ZoomUp=function(){var pt=obj.CurrentView.MapExtent.GetCenterPoint();var maxY=obj.CurrentView.MapExtent.Max.Y;pt.Y=pt.Y+(maxY-pt.Y)/3;var newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),pt,obj.CurrentView.GetScale());obj.SetView(newView,250)};obj.ZoomDown=function(){var pt=obj.CurrentView.MapExtent.GetCenterPoint();var maxY=obj.CurrentView.MapExtent.Max.Y;pt.Y=pt.Y-(maxY-pt.Y)/3;var newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),pt,obj.CurrentView.GetScale());obj.SetView(newView,250)};obj.ScaleBarSlide=function(){activeMode=opencartis.nGeo.MapComponents.MapControlModeEnum.ScaleBarSliding};obj.ScaleBarSlideEnd=function(){scaleSlider.SlideEnd();activeMode=null};obj.ZoomSearchItem=function(item){if(item.ResultClass.EnsureLayerIsVisible){var lyr=obj.Map.GetLayer(item.ResultClass.LayerName);if(lyr!=null){var prevAutoRefresh=autorefresh;obj.SetAutoRefresh(false);while(lyr&&lyr.GetVisibility&&lyr.SetVisibility){if(!lyr.GetVisibility()){lyr.SetVisibility(true)}lyr=lyr.Parent}obj.SetAutoRefresh(prevAutoRefresh)}}if(typeof(item.BoundingBox)=="undefined"||item.BoundingBox=="null"||!item.BoundingBox.IsDefined()){obj.ZoomScale(item.ResultClass.DefaultScale,item.Center)}else{var newView=new opencartis.nGeo.MapComponents.MapView(opencartis.Common.Utilities.GetElementSize(containerElement),item.BoundingBox);if(newView.GetScale()>item.ResultClass.DefaultScale){obj.SetView(newView)}else{obj.ZoomScale(item.ResultClass.DefaultScale,item.Center)}}};obj.Print=function(params){var pt=obj.CurrentView.MapExtent.GetCenterPoint();if(typeof(params.x)=="undefined"){params.x=pt.X}if(typeof(params.y)=="undefined"){params.y=pt.Y}if(typeof(params.s)=="undefined"){params.s=obj.CurrentView.GetScale()}if(typeof(params.h)=="undefined"){params.h=obj.CurrentView.ImageSize.height}if(typeof(params.w)=="undefined"){params.w=obj.CurrentView.ImageSize.width}obj.Map.Print(params)};obj.PrintHTML=function(params){var pt=obj.CurrentView.MapExtent.GetCenterPoint();if(typeof(params.x)=="undefined"){params.x=pt.X}if(typeof(params.y)=="undefined"){params.y=pt.Y}if(typeof(params.s)=="undefined"){params.s=obj.CurrentView.GetScale()}if(typeof(params.h)=="undefined"){params.h=obj.CurrentView.ImageSize.height}if(typeof(params.w)=="undefined"){params.w=obj.CurrentView.ImageSize.width}obj.Map.PrintHTML(params)};var tryOpen=false;if(typeof(mapConfig)=="undefined"||mapConfig==null){mapConfig=new opencartis.nGeo.MapComponents.MapControlConfig()}else{if(typeof(mapConfig)=="string"){var xmlurl=mapConfig;mapConfig=new opencartis.nGeo.MapComponents.MapControlConfig();if(mapConfig.LoadFromUrl(xmlurl)){tryOpen=true}}else{tryOpen=true}}obj.MapConfig=mapConfig;if(tryOpen){if(obj.Load()){if(typeof(container)!="undefined"||container!=null){obj.RenderTo(container)}}}};opencartis.nGeo.MapComponents.MapControl.prototype=opencartis.nGeo.MapComponents.MapControlModel;OpenCartis.nGeo.Geometries.Point=opencartis.nGeo.Geometries.Point;OpenCartis.nGeo.Geometries.BoundingBox=opencartis.nGeo.Geometries.BoundingBox;OpenCartis.nGeo.MapService.Service=opencartis.nGeo.MapService.Service;OpenCartis.nGeo.Map.Map=opencartis.nGeo.Map.Map;OpenCartis.nGeo.Map.Layer=opencartis.nGeo.Map.Layer;OpenCartis.nGeo.MapComponents.MapControlConfig=opencartis.nGeo.MapComponents.MapControlConfig;OpenCartis.nGeo.MapComponents.MapControl=opencartis.nGeo.MapComponents.MapControl;OpenCartis.nGeo.MapComponents.MapControlStateEnum=opencartis.nGeo.MapComponents.MapControlStateEnum;OpenCartis.nGeo.MapComponents.MapControlModeEnum=opencartis.nGeo.MapComponents.MapControlModeEnum;OpenCartis.Common.Localization=new opencartis.Common.Localization();OpenCartis.Common.Utilities=opencartis.Common.Utilities})();
