OpenCartis.nGeo.ExtComponents={};(function(){Ext.BLANK_IMAGE_URL="images/trans.gif";var mapViewerObject;var prv={};prv.LayerControlConfigModel={OwnerMapControl:null,Visible:true,Closable:false,LayerGroupIcon:"images/layers.gif",LayerIcon:"images/shape_group.png",MultilayerIcon:"images/shape_group.png",Parse:function(domelem){}};prv.LayerControlConfig=function(){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=prv.LayerControlConfigModel;obj=new tmp()}obj.Parse=function(domelem){var child=domelem.firstChild;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Visible":if(child.firstChild.nodeValue=="false"){obj.Visible=false}break;case"Closable":if(child.firstChild.nodeValue=="true"){obj.Closable=true}break;case"LayerGroupIcon":obj.LayerGroupIcon=child.firstChild.nodeValue;break;case"LayerIcon":obj.LayerIcon=child.firstChild.nodeValue;break;case"MultilayerIcon":obj.MultilayerIcon=child.firstChild.nodeValue;break}}child=child.nextSibling}return true}};prv.LayerControlConfig.prototype=prv.LayerControlConfigModel;prv.MapToolbarPositionEnum={Navigation:0,Utilities:1,System:2};prv.MapToolbarButtonBehaviour=function(){function _enabledMapStates(){this.None=true;this.Loading=true;this.Drawing=true;this.Ready=true;this.Parse=function(domelem){var child=domelem.firstChild;while(child!=null){if(child.nodeType==1){if(typeof(this[child.nodeName])=="boolean"){if(child.firstChild.nodeValue=="false"){this[child.nodeName]=false}}}child=child.nextSibling}}}function _enabledMapModes(){this.None=true;this.Select=true;this.Pan=true;this.ZoomIn=true;this.ZoomOut=true;this.Parse=function(domelem){var child=domelem.firstChild;while(child!=null){if(child.nodeType==1){if(typeof(this[child.nodeName])=="boolean"){if(child.firstChild.nodeValue=="false"){this[child.nodeName]=false}}}child=child.nextSibling}}}this.EnabledMapStates=new _enabledMapStates();this.EnabledMapModes=new _enabledMapModes();this.PressedInMode=null;this.DisableMode="disable";this.Parse=function(domelem){var child=domelem.firstChild;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"EnabledMapStates":this.EnabledMapStates.Parse(child);break;case"EnabledMapModes":this.EnabledMapModes.Parse(child);break;case"PressedInMode":this.PressedInMode=OpenCartis.nGeo.MapComponents.MapControlModeEnum[child.firstChild.nodeValue];break;case"DisableMode":this.DisableMode=child.firstChild.nodeValue;break}}child=child.nextSibling}return true}};prv.MapToolbarButtonModel={Visible:true,Name:"",Tooltip:"",OnClick:null,Html:false,MapToolbarPosition:0,MapBehaviour:prv.MapToolbarButtonBehaviour.prototype,Parse:function(domelem){}};prv.MapToolbarButton=function(){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=prv.MapToolbarButtonModel;obj=new tmp()}obj.MapBehaviour=null;obj.Parse=function(domelem){var child=domelem.firstChild;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Visible":obj.Visible=(child.firstChild.nodeValue=="true");break;case"Name":obj.Name=child.firstChild.nodeValue;break;case"Tooltip":obj.Tooltip=child.firstChild.nodeValue;break;case"Icon":obj.Icon=child.firstChild.nodeValue;break;case"Html":obj.Html=child.firstChild.nodeValue;break;case"OnClick":obj.OnClick=eval("(function() { return function() { "+child.firstChild.nodeValue+" }})()");break;case"MapToolbarPosition":obj.MapToolbarPosition=prv.MapToolbarPositionEnum[child.firstChild.nodeValue];break;case"MapBehaviour":obj.MapBehaviour=new prv.MapToolbarButtonBehaviour();obj.MapBehaviour.Parse(child);break}}child=child.nextSibling}return true}};prv.MapToolbarButton.prototype=prv.MapToolbarButtonModel;prv.MapToolbarDefaultToolsModel={Select:new prv.MapToolbarButton(),Pan:new prv.MapToolbarButton(),ZoomWindow:new prv.MapToolbarButton(),Measure:new prv.MapToolbarButton(),ZoomIn:new prv.MapToolbarButton(),ZoomOut:new prv.MapToolbarButton(),ZoomExtent:new prv.MapToolbarButton(),ZoomPrevious:new prv.MapToolbarButton(),ZoomScale:new prv.MapToolbarButton(),LayersWindow:new prv.MapToolbarButton(),Print:new prv.MapToolbarButton(),SearchBox:new prv.MapToolbarButton(),SelectLanguage:new prv.MapToolbarButton(),Parse:function(domelem){}};prv.MapToolbarDefaultTools=function(){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=prv.MapToolbarDefaultToolsModel;obj=new tmp()}obj.Parse=function(domelem){var child=domelem.firstChild;while(child!=null){if(child.nodeType==1){if(typeof(obj[child.nodeName])=="object"){obj[child.nodeName]=new prv.MapToolbarButton();obj[child.nodeName].Parse(child)}}child=child.nextSibling}return false}};prv.MapToolbarDefaultTools.prototype=prv.MapToolbarDefaultToolsModel;prv.MapToolbarConfigModel={OwnerMapControl:null,Visible:true,GroupToolbar:false,GroupToolbarObject:null,DefaultTools:prv.MapToolbarDefaultToolsModel,CustomTools:null,Parse:function(domelem){}};prv.MapToolbarConfig=function(){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=prv.MapToolbarConfigModel;obj=new tmp()}obj.Parse=function(domelem){var child=domelem.firstChild;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Visible":if(child.firstChild.nodeValue=="false"){obj.Visible=false}break;case"GroupToolbar":if(child.firstChild.nodeValue=="true"){obj.GroupToolbar=true}break;case"DefaultTools":obj.DefaultTools=new prv.MapToolbarDefaultTools();obj.DefaultTools.Parse(child);break;case"CustomTools":obj.CustomTools=new Array();var schild=child.firstChild;while(schild!=null){if(schild.nodeType==1){var tbb=new prv.MapToolbarButton();tbb.Parse(schild);obj.CustomTools.push(tbb)}schild=schild.nextSibling}}}child=child.nextSibling}return false}};prv.MapToolbarConfig.prototype=prv.MapToolbarConfigModel;prv.MapViewerConfigModel={MapControl:OpenCartis.nGeo.MapComponents.MapControlConfig.prototype,MapToolbar:prv.MapToolbarConfigModel,LayerControl:prv.LayerControlConfigModel,LoadFromURL:function(url){},Parse:function(domelem){}};prv.MapViewerConfig=function(opturl){var obj=this;if(obj==null){var tmp=function(){};tmp.prototype=prv.MapViewerConfigModel;obj=new tmp()}obj.Parse=function(domelem){var child=domelem.firstChild;var val=0;obj.MapControl=new OpenCartis.nGeo.MapComponents.MapControlConfig();obj.MapToolbar=null;obj.LayerControl=null;while(child!=null){if(child.nodeType==1){switch(child.nodeName){case"Localization":OpenCartis.Common.Localization.Parse(child);break;case"MapControl":if(obj.MapControl.Parse(child)){val++}break;case"MapToolbar":obj.MapToolbar=new prv.MapToolbarConfig();obj.MapToolbar.Parse(child);break;case"LayerControl":obj.LayerControl=new prv.LayerControlConfig();obj.LayerControl.Parse(child);break}}child=child.nextSibling}if(val==1){return true}return false};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 mapViewerElement=oxml.responseXML.getElementsByTagName("MapViewer")[0];return obj.Parse(mapViewerElement)}catch(e){return false}};if(typeof(opturl)=="string"){obj.LoadFromURL(opturl)}};prv.MapViewerConfig.prototype=prv.MapViewerConfigModel;prv.MapControlWrapper=function(mapConfigOrControl,mapControlName){var obj=this;var mapControl;if(mapConfigOrControl.RenderTo){mapControl=mapConfigOrControl}else{mapControl=new OpenCartis.nGeo.MapComponents.MapControl(mapConfigOrControl,mapControlName);prv.MapControlWrapper.superclass.constructor.call(this,mapConfigOrControl)}if(obj==null){var tmp=function(){};tmp.prototype=OpenCartis.nGeo.MapComponents.MapControl.prototype;obj=new tmp();mapControl=new tmp()}obj.GetCurrentView=function(){return mapControl.CurrentView||mapControl.GetCurrentView()};obj.GetLastFileSize=function(){try{return mapControl.LastFileSize||mapControl.GetLastFileSize()}catch(e){return 0}};obj.GetMap=function(){return mapControl.Map||mapControl.GetMap()};obj.GetMapConfig=function(){return mapControl.MapConfig||mapControl.GetMapConfig()};obj.GetMode=function(){return(typeof(mapControl.Mode)!="undefined")?mapControl.Mode:mapControl.GetMode()};obj.GetState=function(){return(typeof(mapControl.State)!="undefined")?mapControl.State:mapControl.GetState()};obj.Load=mapControl.Load;obj.onStateChanged=mapControl.onStateChanged;obj.onViewChanged=mapControl.onViewChanged;obj.onViewChanging=mapControl.onViewChanging;obj.onModeChanged=mapControl.onModeChanged;obj.onDigitizedPoint=mapControl.onDigitizedPoint;obj.beforeSearch=mapControl.beforeSearch;obj.afterSearch=mapControl.afterSearch;obj.searchCleared=mapControl.searchCleared;obj.onLayerVisibilityChanged=mapControl.onLayerVisibilityChanged;obj.onLayerLabelChanged=mapControl.onLayerLabelChanged;obj.onMeasureChanged=mapControl.onMeasureChanged;obj.PanMode=mapControl.PanMode;obj.Refresh=mapControl.Refresh;obj.RenderTo=mapControl.RenderTo;obj.Resize=mapControl.Resize;obj.ZoomExtent=mapControl.ZoomExtent;obj.ZoomPrevious=mapControl.ZoomPrevious;obj.ZoomInMode=mapControl.ZoomInMode;obj.ZoomOutMode=mapControl.ZoomOutMode;obj.DigitizePointMode=mapControl.DigitizePointMode;obj.SelectMode=mapControl.SelectMode;obj.SelectAtPointAndCenter=mapControl.SelectAtPointAndCenter;obj.SelectAtPointLayerAndCenter=mapControl.SelectAtPointLayerAndCenter;obj.MeasuringLineMode=mapControl.MeasuringLineMode;obj.MeasuringPolygonMode=mapControl.MeasuringPolygonMode;obj.MeasureClear=mapControl.MeasureClear;obj.MeasureSelected=mapControl.MeasureSelected;obj.ZoomScale=mapControl.ZoomScale;obj.ZoomIn=mapControl.ZoomIn;obj.ZoomOut=mapControl.ZoomOut;obj.ZoomUp=mapControl.ZoomUp;obj.ZoomLeft=mapControl.ZoomLeft;obj.ZoomRight=mapControl.ZoomRight;obj.ZoomDown=mapControl.ZoomDown;obj.ScaleBarSlide=mapControl.ScaleBarSlide;obj.ScaleBarSlideEnd=mapControl.ScaleBarSlideEnd;obj.Print=mapControl.Print;obj.PrintHTML=mapControl.PrintHTML;obj.SearchManager=mapControl.SearchManager;obj.ShowPrintDialog=function(){mapControl.ShowPrintDialog()};obj.ShowLayersPanel=function(){mapViewerObject.ShowLayersPanel()}};prv.LayerNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{renderElements:function(n,a,targetNode,bulkRender){this.indentMarkup=n.parentNode?n.parentNode.ui.getChildIndent():"";var cb=typeof a.checked=="boolean";if(a.layer.IsRenderLayer()){if(a.layer.Layers.Count()>0){a.icon=n.ownerTree.initialConfig.multilayerIcon||this.emptyIcon}else{a.icon=n.ownerTree.initialConfig.layerIcon||this.emptyIcon}}else{a.icon=n.ownerTree.initialConfig.groupIcon||this.emptyIcon}var href=a.href?a.href:Ext.isGecko?"":"#";var buf=['<li class="x-tree-node"><div ext:tree-node-id="',n.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',a.cls,'" unselectable="on">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow" />',cb?('<input class="x-tree-node-cb" type="checkbox" '+(a.disabled?"disabled":"")+" "+(a.checked?'checked="checked" />':"/>")):"",'<img src="',a.icon,'" class="x-tree-node-icon',(a.icon?" x-tree-node-inline-icon":""),(a.iconCls?" "+a.iconCls:""),'" unselectable="on" />','<a hidefocus="on" class="x-tree-node-anchor" href="',href,'" tabIndex="1" ',a.hrefTarget?' target="'+a.hrefTarget+'"':"",'><span unselectable="on">',a.layer.Label,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join("");var nel;if(bulkRender!==true&&n.nextSibling&&(nel=n.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",nel,buf)}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",targetNode,buf)}var cboffset=0;if(cb){cboffset=1}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var cs=this.elNode.childNodes;this.indentNode=cs[0];this.ecNode=cs[1];this.iconNode=cs[2+cboffset];var index=3;if(cb){this.checkbox=cs[2];this.checkbox.defaultChecked=this.checkbox.checked;index++}this.anchor=cs[index];this.textNode=cs[index].firstChild}});prv.LayerControl=function(mapctl,configOptions){this.lastViewedScale=-1;this.configOptions=configOptions;if(this.configOptions==null){this.configOptions=new prv.LayerControlConfig()}this.configOptions.OwnerMapControl=mapctl;prv.LayerControl.superclass.constructor.call(this,this.configOptions)};OpenCartis.nGeo.ExtComponents.MapControl=Ext.extend(prv.MapControlWrapper,Ext.BoxComponent,{autoEl:{tag:"div"},onRender:function(){OpenCartis.nGeo.ExtComponents.MapControl.superclass.onRender.apply(this,arguments);if(!this.GetMap().IsOpened()){this.Load()}this.RenderTo(this.el.dom,true)},onResize:function(){OpenCartis.nGeo.ExtComponents.MapControl.superclass.onResize.apply(this,arguments);if(this.rendered){this.Resize()}}});OpenCartis.nGeo.ExtComponents.LayerControl=Ext.extend(prv.LayerControl,Ext.BoxComponent,{autoEl:{tag:"div"},initComponent:function(){prv.LayerControl.superclass.initComponent.call(this,arguments);this.tree=new Ext.tree.TreePanel({layout:"fit",useArrows:true,autoScroll:true,animate:true,enableDD:false,containerScroll:true,border:false,loader:new Ext.tree.TreeLoader(),rootVisible:false,layerIcon:this.initialConfig.LayerIcon,multilayerIcon:this.initialConfig.MultilayerIcon,groupIcon:this.initialConfig.LayerGroupIcon});var mc=this.configOptions.OwnerMapControl.GetMap();var children=new Array();loadLayerNodes(mc.Layers,this.configOptions.OwnerMapControl.GetCurrentView().GetScale(),children);var root=new Ext.tree.AsyncTreeNode({text:mc.Name,id:mc.Guid,children:children,expanded:true});var onViewChangingHandler=(function(layercontrol){var ctl=layercontrol;return function(obj){if(ctl.lastViewedScale!=obj.CurrentView.GetScale()&&ctl.tree.rendered){ctl.lastViewedScale=obj.CurrentView.GetScale();refreshScale(root,ctl.lastViewedScale,false)}}})(this);var onLayerVisibilityChangedHandler=(function(layercontrol){var ctl=layercontrol;return function(obj){var node=ctl.tree.getNodeById(obj.GetPath());if(typeof(node)!="undefined"){if(obj.GetVisibility()!=node.ui.isChecked()){node.ui.toggleCheck()}}}})(this);var onLabelChangedHandler=(function(layercontrol){var ctl=layercontrol;return function(obj){var node=ctl.tree.getNodeById(obj.GetPath());if(typeof(node)!="undefined"){node.setText((obj.Label==null||obj.Label=="")?obj.Name:obj.Label)}}})(this);var onMeasureChangedHandler=(function(){return function(obj){var innerHtmlArea;var innerHtmlLineal;var i;var h;var w=500;var loc;loc={name:"Name",distance:"Distance",total:"Total",area:"Area",perimeter:"Perimeter",measureResult:"Measure result",measureInstructions:"Mouse over each measurement on the map to see detail."};try{OpenCartis.Common.Localization.OverrideWithCurrentLanguage("nGeo.MapComponents.MapControl",loc)}catch(e){}innerHtmlArea="<table style='width:100%;height:100%;font-size:11px'>";if(obj.measureResults.TotalArea){for(i=0;i<obj.measureResults.AreaMeasures.length;i++){if(i%2!=0){innerHtmlArea+="<tr style='background-color:#F1F1F1;'>"}else{innerHtmlArea+="<tr>"}if(obj.measureResults.AreaMeasures.length==1&&obj.measureResults.LinealMeasures.length==0&&obj.measureResults.AreaMeasures[i].Name==""){innerHtmlArea+="<td align='center' style='background-color:#AAAAAA'><b>"+loc.area+":</b></td><td align='center'><b>"+obj.measureResults.AreaMeasures[i].MeasureAreaMessage+"</b></td><td style='background-color:#AAAAAA' align='center'><b>"+loc.perimeter+":</b></td><td align='center'><b>"+obj.measureResults.AreaMeasures[i].MeasureLengthMessage+"</b></td></tr>";w=400}else{if(i==0){innerHtmlArea+="<td style='background-color:#AAAAAA' align='center'><b>"+loc.name+"</b></td><td style='background-color:#AAAAAA' align='center' style='width:100px'><b>"+loc.area+"</b></td><td style='background-color:#AAAAAA' align='center' style='width:100px'><b>"+loc.perimeter+"</b></td></tr>"}innerHtmlArea+="<td>"+obj.measureResults.AreaMeasures[i].Name+"</td><td align='right' style='width:100px'>"+obj.measureResults.AreaMeasures[i].MeasureAreaMessage+"</td><td align='right' style='width:100px'>"+obj.measureResults.AreaMeasures[i].MeasureLengthMessage+"</td></tr>"}}if(obj.measureResults.AreaMeasures.length>1||obj.measureResults.LinealMeasures.length>0){innerHtmlArea+="<tr style='background-color:#AAAAAA'><td><b>"+loc.total+"</b></td><td align='right'><b>"+obj.measureResults.TotalArea+"</b></td><td align='right'><b>"+obj.measureResults.TotalPerimeter+"</b></td></tr>"}}if(obj.measureResults.TotalLength){for(i=0;i<obj.measureResults.LinealMeasures.length;i++){if(i%2!=0){innerHtmlArea+="<tr style='background-color:#F1F1F1'>"}else{innerHtmlArea+="<tr>"}if(obj.measureResults.LinealMeasures.length==1&&obj.measureResults.AreaMeasures.length==0&&obj.measureResults.LinealMeasures[i].Name==""){innerHtmlArea+="<td style='background-color:#AAAAAA' align='center'><b>"+loc.distance+":</b></td><td align='center'><b>"+obj.measureResults.LinealMeasures[i].MeasureLengthMessage+"</b></td></tr>";w=400}else{if(i==0){if(obj.measureResults.AreaMeasures.length>0){innerHtmlArea+="<td colspan='3' align='center'><hr/></td></tr>"}innerHtmlArea+="<td style='background-color:#AAAAAA' colspan='2' align='center'><b>"+loc.name+"</b></td><td style='background-color:#AAAAAA' align='center' style='width:100px'><b>"+loc.distance+"</b></td></tr>"}innerHtmlArea+="<td colspan='2'>"+obj.measureResults.LinealMeasures[i].Name+"</td><td align='right'>"+obj.measureResults.LinealMeasures[i].MeasureLengthMessage+"</td></tr>"}}if(obj.measureResults.AreaMeasures.length>0||obj.measureResults.LinealMeasures.length>1){innerHtmlArea+="<tr style='background-color:#AAAAAA'><td colspan='2'><b>"+loc.total+"</b></td><td align='right'><b>"+obj.measureResults.TotalLength+"</b></td></tr>"}}innerHtmlArea+="<tr ><td colspan='4' style='background-color:#FFFF99;border:1px solid #FFCC33;height:20px' align='center'><img src='images/information.png' align='absmiddle' /> "+loc.measureInstructions+"</td></tr>";innerHtmlArea+="</table>";var panelArea=new Ext.Panel({border:false,html:innerHtmlArea,autoScroll:true});var win;if(!win){if(obj.measureResults.TotalArea!=""||obj.measureResults.TotalLength!=""){h=Math.min(60+45*(obj.measureResults.AreaMeasures.length+obj.measureResults.LinealMeasures.length),600);win=new Ext.Window({title:"<img src='images/measure.png' align:'baseline' /> "+loc.measureResult,layout:"fit",width:w,height:h,closeAction:"hide",modal:true,items:[panelArea]});win.show()}}}})(this);var onLanguageChanged=(function(layercontrol){var ctl=layercontrol;return function(obj){ctl.setTitle()}})(this);var onExpand=(function(layercontrol){var ctl=layercontrol;return function(node){refreshScale(node,layercontrol.lastViewedScale)}})(this);function refreshScale(node,scale){if(node.attributes&&node.attributes.layer){var lyr=node.attributes.layer;if(lyr.IsAvailableAtScale(scale)){node.enable()}else{node.disable()}}var child=node.firstChild;while(child){refreshScale(child,scale);child=child.nextSibling}}function loadLayerNodes(layercol,scale,children){var inRange=false;function nodeCheckChange(node,checked){if(node.attributes.layer.GetVisibility()!=checked){node.attributes.layer.SetVisibility(checked)}}layercol.GoFirst();var child;while(layercol.Read()){if(layercol.Item.DisplayInLegend){var thisInRange=false;if(layercol.Item.IsRenderLayer()){thisInRange=layercol.Item.Styles.IsInRange(scale)}var subchildren=new Array();thisInRange=thisInRange||loadLayerNodes(layercol.Item.Layers,scale,subchildren);if(subchildren.length>0){child={text:(layercol.Item.Label==null||layercol.Item.Label=="")?layercol.Item.Name:layercol.Item.Label,id:layercol.Item.GetPath(),leaf:(subchildren.length==0)?true:false,children:subchildren,uiProvider:prv.LayerNodeUI,checked:layercol.Item.Active,expanded:layercol.Item.ExpandInLegend,layer:layercol.Item,disabled:!thisInRange,listeners:{checkchange:nodeCheckChange}}}else{child={text:(layercol.Item.Label==null||layercol.Item.Label=="")?layercol.Item.Name:layercol.Item.Label,id:layercol.Item.GetPath(),leaf:(subchildren.length==0)?true:false,uiProvider:prv.LayerNodeUI,checked:layercol.Item.Active,layer:layercol.Item,disabled:!thisInRange,listeners:{checkchange:nodeCheckChange}}}children.push(child);inRange=inRange||thisInRange}}return inRange}this.configOptions.OwnerMapControl.onViewChanging.Subscribe(onViewChangingHandler);this.configOptions.OwnerMapControl.onLayerVisibilityChanged.Subscribe(onLayerVisibilityChangedHandler);this.configOptions.OwnerMapControl.onLayerLabelChanged.Subscribe(onLabelChangedHandler);this.configOptions.OwnerMapControl.onMeasureChanged.Subscribe(onMeasureChangedHandler);this.tree.on("expandnode",onExpand);this.tree.setRootNode(root)},onRender:function(){OpenCartis.nGeo.ExtComponents.LayerControl.superclass.onRender.apply(this,arguments);this.tree.render(this.el)},onResize:function(){OpenCartis.nGeo.ExtComponents.LayerControl.superclass.onResize.apply(this,arguments);var s=this.getSize();this.tree.setSize(s.width,s.height)}});OpenCartis.nGeo.ExtComponents.MapToolbar=Ext.extend(Ext.Toolbar,{MapControl:undefined,constructor:function(mapctl,config){var Me=this;var NavigationArea=new Array();var UtilitiesArea=["->"];var SystemArea=new Array();var SearchArea=new Array();var loc;var locObjects=new Array();function updatelanguage(){loc={sboxEmptyText:"Search terms",sboxEnterText:"Enter search terms",sboxTooLongText:"Max. allowed search terms: ",panQtip:"Pan mode",selectQtip:"Select",measureQtip:"Measure",measureDistanceQtip:"Distance",measureAreaQtip:"Area",measureClearQtip:"Clear Measures",measureSelectedQtip:"Measure Selected Objects",zoomWindowQtip:"Zoom rectangle mode",zoomInQtip:"Zoom in",zoomOutQtip:"Zoom out",zoomExtentQtip:"Zoom to map extent",zoomPreviousQtip:"Previous zoom",printQtip:"Print",searchQtip:"Search",languageQtip:"Select language",languageChangeError:"Could not complete the requested operation",totalMeasureText:"Total",layersQtip:"Layers"};try{OpenCartis.Common.Localization.OverrideWithCurrentLanguage("nGeo.ExtComponents.MapToolbar",loc)}catch(e){}}function updatetips(){for(var i=0;i<locObjects.length;i++){locObjects[i].localize()}}updatelanguage();OpenCartis.Common.Localization.afterLanguageActivate.Subscribe(function(){updatelanguage();updatetips()});this.MapControl=mapctl;this.MapControl.onStateChanged.Subscribe(_HandleMapStateAndMode);this.MapControl.onModeChanged.Subscribe(_HandleMapStateAndMode);if(config==null){config=new prv.MapToolbarConfig()}function _HandleMapStateAndMode(){for(var i=0;i<Me.items.items.length;i++){var val=0;var tot=0;var key="";var pressed=false;var item=Me.items.items[i];if(item.MapBehaviour){var c=item.MapBehaviour;if(c.EnabledMapStates){for(key in c.EnabledMapStates){if(OpenCartis.nGeo.MapComponents.MapControlStateEnum[key]==Me.MapControl.GetState()){if(c.EnabledMapStates[key]){val++}tot++;break}}}if(c.EnabledMapModes){for(key in c.EnabledMapStates){if(OpenCartis.nGeo.MapComponents.MapControlModeEnum[key]==Me.MapControl.GetMode()){if(c.EnabledMapModes[key]){val++}tot++;break}}}if(typeof(c.PressedInMode)!="undefined"){if(c.PressedInMode==Me.MapControl.GetMode()){item.toggle(true)}else{item.toggle(false)}}if(val==tot){item.enable();if(c.DisableMode&&c.DisableMode=="hide"){item.show()}}else{item.disable();if(c.DisableMode&&c.DisableMode=="hide"){item.hide()}}}}}if(config&&config.CustomTools&&config.CustomTools.length>0){for(var i=0;i<config.CustomTools.length;i++){var tool=config.CustomTools[i];if(tool.Html&&tool.Html!=""){var label=new Ext.Panel({html:tool.Html,border:false});switch(config.CustomTools[i].MapToolbarPosition){case prv.MapToolbarPositionEnum.System:SystemArea.push(label);break;case prv.MapToolbarPositionEnum.Utilities:UtilitiesArea.push(label);break;default:NavigationArea.push(label);break}}else{var but={};if(tool.Icon&&tool.Icon!=""){but.icon=tool.Icon;but.cls="x-btn-icon"}if(tool.OnClick&&tool.OnClick!=""){but.onClick=tool.OnClick}but.MapToolbarPosition=tool.MapToolbarPosition;but.MapBehaviour=tool.MapBehaviour;but.tooltipConfig=tool.Tooltip;but.listeners={render:function(){this.localize();locObjects.push(this)}};but.localize=function(){this.setTooltip(loc[this.tooltipConfig])};switch(config.CustomTools[i].MapToolbarPosition){case prv.MapToolbarPositionEnum.System:SystemArea.push(but);break;case prv.MapToolbarPositionEnum.Utilities:UtilitiesArea.push(but);break;default:NavigationArea.push(but);break}}}}var DefaultNavigation=new Array();var DefaultToolsDefined=false;try{DefaultToolsDefined=(config.DefaultTools!=null)}catch(e){}if(!DefaultToolsDefined||config.DefaultTools.Select==null||config.DefaultTools.Select.Visible==true){var icon="images/cursor.png";if(DefaultToolsDefined&&config.DefaultTools.Select!=null&&config.DefaultTools.Select.Icon!=null&&config.DefaultTools.Select.Icon!=""){icon=config.DefaultTools.Select.Icon}DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",onClick:function(){Me.MapControl.SelectMode()},listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.selectQtip},MapBehaviour:{PressedInMode:OpenCartis.nGeo.MapComponents.MapControlModeEnum.Select,EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}if(!DefaultToolsDefined||config.DefaultTools.Pan==null||config.DefaultTools.Pan.Visible==true){var icon="images/hand.png";if(DefaultToolsDefined&&config.DefaultTools.Pan!=null&&config.DefaultTools.Pan.Icon!=null&&config.DefaultTools.Pan.Icon!=""){icon=config.DefaultTools.Pan.Icon}DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",onClick:function(){Me.MapControl.PanMode()},listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.panQtip},MapBehaviour:{PressedInMode:OpenCartis.nGeo.MapComponents.MapControlModeEnum.Pan,EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}if(!DefaultToolsDefined||config.DefaultTools.ZoomWindow==null||config.DefaultTools.ZoomWindow.Visible==true){var icon="images/zoominrect.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomWindow!=null&&config.DefaultTools.ZoomWindow.Icon!=null&&config.DefaultTools.ZoomWindow.Icon!=""){icon=config.DefaultTools.ZoomWindow.Icon}DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.zoomWindowQtip},onClick:function(){if(Me.MapControl.GetMode()!=OpenCartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn){Me.MapControl.ZoomInMode()}else{Me.MapControl.PanMode()}},MapBehaviour:{PressedInMode:OpenCartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn,EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}var insertSeparator=false;if(!DefaultToolsDefined||config.DefaultTools.ZoomIn==null||config.DefaultTools.ZoomIn.Visible==true){if(insertSeparator){DefaultNavigation.push(new Ext.Toolbar.Separator());insertSeparator=false}var icon="images/zoomin.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomIn!=null&&config.DefaultTools.ZoomIn.Icon!=null&&config.DefaultTools.ZoomIn.Icon!=""){icon=config.DefaultTools.ZoomIn.Icon}DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.zoomInQtip},onClick:function(){Me.MapControl.ZoomIn()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}if(!DefaultToolsDefined||config.DefaultTools.ZoomOut==null||config.DefaultTools.ZoomOut.Visible==true){if(insertSeparator){DefaultNavigation.push(new Ext.Toolbar.Separator());insertSeparator=false}var icon="images/zoomout.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomOut!=null&&config.DefaultTools.ZoomOut.Icon!=null&&config.DefaultTools.ZoomOut.Icon!=""){icon=config.DefaultTools.ZoomOut.Icon}DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.zoomOutQtip},onClick:function(){Me.MapControl.ZoomOut()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}if(!DefaultToolsDefined||config.DefaultTools.ZoomExtent==null||config.DefaultTools.ZoomExtent.Visible==true){if(insertSeparator){DefaultNavigation.push(new Ext.Toolbar.Separator())}var icon="images/extent.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomExtent!=null&&config.DefaultTools.ZoomExtent.Icon!=null&&config.DefaultTools.ZoomExtent.Icon!=""){icon=config.DefaultTools.ZoomExtent.Icon}DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.zoomExtentQtip},onClick:function(){Me.MapControl.ZoomExtent()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}if(!DefaultToolsDefined||config.DefaultTools.ZoomPrevious==null||config.DefaultTools.ZoomPrevious.Visible==true){if(insertSeparator){DefaultNavigation.push(new Ext.Toolbar.Separator())}var icon="images/zoomPrevious.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomPrevious!=null&&config.DefaultTools.ZoomPrevious.Icon!=null&&config.DefaultTools.ZoomPrevious.Icon!=""){icon=config.DefaultTools.ZoomPrevious.Icon}DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.zoomPreviousQtip},onClick:function(){Me.MapControl.ZoomPrevious()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}if(!DefaultToolsDefined||config.DefaultTools.ZoomScale==null||config.DefaultTools.ZoomScale.Visible==true){DefaultNavigation.push(new Ext.Toolbar.Spacer());DefaultNavigation.push(new Ext.Toolbar.Spacer());DefaultNavigation.push(new Ext.Toolbar.Spacer());DefaultNavigation.push(new Ext.form.Label({text:"1:"}));var scaleBox=new Ext.form.TextField({y:1,width:60,MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:false,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}},enableKeyEvents:true,onKeyUp:function(e,obj){if(e.keyCode==e.ENTER){_setScale()}}});DefaultNavigation.push(scaleBox);Me.MapControl.onViewChanging.Subscribe(function(){_setFormattedScale()})}function _setScale(){var scale=parseInt(scaleBox.getValue().replace(".","").replace(",",""));if(scale==null||isNaN(scale)){_setFormattedScale()}else{Me.MapControl.ZoomScale(scale)}}function _setFormattedScale(){scaleBox.setValue(OpenCartis.Common.Utilities.GetFormattedNumber(Me.MapControl.GetCurrentView().GetScale(),0))}insertSeparator=DefaultNavigation.length>0;if(insertSeparator){DefaultNavigation.push(new Ext.Toolbar.Separator());insertSeparator=false}if(!DefaultToolsDefined||config.DefaultTools.LayersWindow==null||config.DefaultTools.LayersWindow.Visible==true){var icon="images/layers.gif";if(DefaultToolsDefined&&config.DefaultTools.LayersWindow!=null&&config.DefaultTools.LayersWindow.Icon!=null&&config.DefaultTools.LayersWindow.Icon!=""){icon=config.DefaultTools.LayersWindow.Icon}DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.layersQtip},onClick:function(){showLayersWindow()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}function showLayersWindow(){mapViewerObject.ShowLayersPanel()}if(!DefaultToolsDefined||config.DefaultTools.Measure==null||config.DefaultTools.Measure.Visible==true){var icon="images/Measure.png";if(DefaultToolsDefined&&config.DefaultTools.Measure!=null&&config.DefaultTools.Measure.Icon!=null&&config.DefaultTools.Measure.Icon!=""){icon=config.DefaultTools.Measure.Icon}var measureMenu=new Ext.menu.Menu({width:175});measureMenu.add(new Ext.menu.Item({text:loc.measureDistanceName,icon:"images/ruler.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.childNodes[1].innerText=loc.measureDistanceName},onClick:function(){Me.MapControl.MeasuringLineMode();measureMenu.hide()}}),new Ext.menu.Item({text:loc.measureAreaName,icon:"images/ruler_square.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.childNodes[1].innerText=loc.measureAreaName},onClick:function(){Me.MapControl.MeasuringPolygonMode();measureMenu.hide()}}),new Ext.menu.Item({text:loc.measureSelectedName,icon:"images/selection.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.childNodes[1].innerText=loc.measureSelectedName},onClick:function(){Me.MapControl.MeasureSelected();measureMenu.hide()}}),"-",new Ext.menu.Item({text:loc.measureClearName,icon:"images/cross.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.childNodes[1].innerText=loc.measureClearName},onClick:function(){Me.MapControl.MeasureClear();measureMenu.hide()}}));DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.measureQtip},menu:measureMenu,MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}if(typeof(mapctl.PrintURL)=="string"&&mapctl.PrintURL.length>0&&(!DefaultToolsDefined||config.DefaultTools.Print==null||config.DefaultTools.Print.Visible==true)){var icon="images/printer.png";if(DefaultToolsDefined&&config.DefaultTools.Print!=null&&config.DefaultTools.Print.Icon!=null&&config.DefaultTools.Print.Icon!=""){icon=config.DefaultTools.Print.Icon}DefaultNavigation.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.printQtip},onClick:function(){Me.MapControl.ShowPrintDialog()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:false,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}if((!DefaultToolsDefined||config.DefaultTools.SelectLanguage==null||config.DefaultTools.SelectLanguage.Visible==true)){var icon="images/comments.png";if(DefaultToolsDefined&&config.DefaultTools.SelectLanguage!=null&&config.DefaultTools.SelectLanguage.Icon!=null&&config.DefaultTools.SelectLanguage.Icon!=""){icon=config.DefaultTools.SelectLanguage.Icon}var languageMenu=new Ext.menu.Menu();var ls=OpenCartis.Common.Localization.GetLanguages();for(var code in ls){languageMenu.add(new Ext.menu.Item({text:code.toUpperCase()+((ls[code].NativeName.length>0)?" - "+ls[code].NativeName:""),onClick:(function(lcode){return function(){var l;try{l=OpenCartis.Common.Localization.GetLanguage(lcode);OpenCartis.Common.Localization.Activate(lcode)}catch(e){alert(loc.languageChangeError)}languageMenu.hide()}})(code)}))}if(OpenCartis.Common.Localization.LanguageCount>0){SystemArea.push(new Ext.Toolbar.Button({icon:icon,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.languageQtip},menu:languageMenu,MapBehaviour:{EnabledMapStates:{None:true,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}}))}}if(!DefaultToolsDefined||config.DefaultTools.SearchBox==null||config.DefaultTools.SearchBox.Visible==true){var searchText=new Ext.form.TextField({emptyText:loc.sboxEmptyText,y:1,cls:"searchbox",MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}},localize:function(){this.emptyText=loc.sboxEmptyText;this.reset()},enableKeyEvents:true,onKeyUp:function(e,obj){if(e.keyCode==e.ENTER){_search()}}});locObjects.push(searchText);function _search(){if(searchText.getValue()!=""){if(Me.MapControl.SearchManager.NewSearch(searchText.getValue())){Me.MapControl.SearchManager.Search(1)}else{alert(loc.sboxTooLongText+" "+Me.MapControl.GetMap().MaxWordsInSearch);searchText.focus()}}else{alert(loc.sboxEnterText);searchText.focus()}}var icon="images/find.png";if(DefaultToolsDefined&&config.DefaultTools.SearchBox!=null&&config.DefaultTools.SearchBox.Icon!=null&&config.DefaultTools.SearchBox.Icon!=""){icon=config.DefaultTools.SearchBox.Icon}mapctl.searchCleared.Subscribe(function(){searchText.setValue("")});SearchArea=[searchText,new Ext.Toolbar.Button({icon:icon,onClick:_search,cls:"x-btn-icon",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.title=loc.searchQtip},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}})]}if(SystemArea.length>0&&SearchArea.length>0){SystemArea.splice(0,0,new Ext.Toolbar.Separator())}if(UtilitiesArea.length>1&&SearchArea.length+SystemArea.length>0){UtilitiesArea.push(new Ext.Toolbar.Separator())}if(NavigationArea.length>0){NavigationArea.splice(0,0,new Ext.Toolbar.Separator())}config.items=DefaultNavigation.concat(NavigationArea.concat(UtilitiesArea.concat(SearchArea.concat(SystemArea))));OpenCartis.nGeo.ExtComponents.MapToolbar.superclass.constructor.apply(this,[config])}});OpenCartis.nGeo.ExtComponents.MapGroupToolbar=Ext.extend(Ext.Toolbar,{MapControl:undefined,constructor:function(mapctl,config){var Me=this;var NavigationArea=new Array();var UtilitiesArea=["->"];var SystemArea=new Array();var SearchArea=new Array();var buttonGroupMeas;var buttonGroupMeasCollapsed;var buttonGroupNav;var buttonGroupNavCollapsed;var loc;var locObjects=new Array();function updatelanguage(){loc={sboxEmptyText:"Search terms",sboxEnterText:"Enter search terms",sboxTooLongText:"Max. allowed search terms: ",selectGroupName:"Select",selectName:"Select",selectQtip:"Select: click or click and drag over the map to select elements (not all elements could be selected)",navigateGroupName:"Navigate",navigateName:"Navigate",panName:"Pan-Move",panQtip:"Pan-Move: click over the map and drag to move around the map in any direction",zoomWindowName:"Zoom rectangle",zoomWindowQtip:"Zoom rectangle mode",zoomInName:"Zoom in",zoomInQtip:"Zoom in: press button to zoom in current view",zoomOutName:"Zoom out",zoomOutQtip:"Zoom out: press button to zoom out current view",zoomExtentName:"Zoom extent",zoomExtentQtip:"Zoom extent: press button to view map full extent",zoomPreviousName:"Previous view",zoomPreviousQtip:"Previous view: press button to go back to previous view",scaleText:"Current Scale 1:",measureGroupName:"Measures",measureQtip:"Measure",measureDistanceName:"Distance",measureDistanceQtip:"Measure Distance: click over the map to measure distances, double-click to end measure, press Escape key to remove last point",measureAreaName:"Area",measureAreaQtip:"Measure Area",measureSelectedName:"Selection",measureSelectedQtip:"Measure Selected Objects",measureClearName:"Clear",measureClearQtip:"Clear Measures",toolsGroupName:"Tools",layersName:"Layers",layersQtip:"Layers: allows changing visibility of map layers",printName:"Print/PDF",printQtip:"Print current view or generate PDF file",searchGroupName:"Searchs",searchName:"Search",searchQtip:"Search map elements",languageName:"Language",languageQtip:"Change language",languageChangeError:"Could not complete the requested operation",totalMeasureText:"Total"};try{OpenCartis.Common.Localization.OverrideWithCurrentLanguage("nGeo.ExtComponents.MapToolbar",loc)}catch(e){}}function updatetips(){for(var i=0;i<locObjects.length;i++){locObjects[i].localize()}}updatelanguage();OpenCartis.Common.Localization.afterLanguageActivate.Subscribe(function(){updatelanguage();updatetips()});this.MapControl=mapctl;this.MapControl.onViewChanging.Subscribe(_ResizeGroupToolbar);this.MapControl.onStateChanged.Subscribe(_HandleMapStateAndMode);this.MapControl.onModeChanged.Subscribe(_HandleMapStateAndMode);if(config==null){config=new prv.MapToolbarConfig()}function _ResizeGroupToolbar(){var clientWidth=document.body.clientWidth;if(clientWidth>1130){buttonGroupMeasCollapsed.hide();buttonGroupMeas.show()}else{buttonGroupMeasCollapsed.show();buttonGroupMeas.hide()}if(clientWidth>1050){buttonGroupNavCollapsed.hide();buttonGroupNav.show()}else{buttonGroupNavCollapsed.show();buttonGroupNav.hide()}}function _HandleMapStateAndMode(){for(var i=0;i<Me.items.items.length;i++){var val=0;var tot=0;var key="";var pressed=false;if(Me.items.items[i].items){for(var j=0;j<Me.items.items[i].items.length;j++){var item=Me.items.items[i].items.items[j];if(item.MapBehaviour){var c=item.MapBehaviour;if(c.EnabledMapStates){for(key in c.EnabledMapStates){if(OpenCartis.nGeo.MapComponents.MapControlStateEnum[key]==Me.MapControl.GetState()){if(c.EnabledMapStates[key]){val++}tot++;break}}}if(c.EnabledMapModes){for(key in c.EnabledMapStates){if(OpenCartis.nGeo.MapComponents.MapControlModeEnum[key]==Me.MapControl.GetMode()){if(c.EnabledMapModes[key]){val++}tot++;break}}}if(typeof(c.PressedInMode)!="undefined"){if(c.PressedInMode==Me.MapControl.GetMode()){item.toggle(true)}else{item.toggle(false)}}if(val==tot){item.enable();if(c.DisableMode&&c.DisableMode=="hide"){item.show()}}else{item.disable();if(c.DisableMode&&c.DisableMode=="hide"){item.hide()}}}}}}}var DefaultNavigation=new Array();var DefaultToolsDefined=false;try{DefaultToolsDefined=(config.DefaultTools!=null)}catch(e){}if(!DefaultToolsDefined||config.DefaultTools.Select==null||config.DefaultTools.Select.Visible==true){var icon="images/cursor32.png";if(DefaultToolsDefined&&config.DefaultTools.Select!=null&&config.DefaultTools.Select.Icon!=null&&config.DefaultTools.Select.Icon!=""){icon=config.DefaultTools.Select.Icon}var buttonGroupSel;var buttonSel;buttonSel=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",width:70,onClick:function(){Me.MapControl.SelectMode()},listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonSel.setTooltip(loc.selectQtip);buttonSel.setText(loc.selectName)},MapBehaviour:{PressedInMode:OpenCartis.nGeo.MapComponents.MapControlModeEnum.Select,EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupSel=new Ext.ButtonGroup({xtype:"buttongroup",columns:1,items:[buttonSel],title:" ",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonGroupSel.setTitle(loc.selectName)}});DefaultNavigation.push(buttonGroupSel)}buttonGroupNavCollapsed=new Ext.ButtonGroup({xtype:"buttongroup",columns:1,rows:1,title:" ",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonGroupNavCollapsed.setTitle(loc.navigateGroupName)}});var navigateMenu=new Ext.menu.Menu();var icon="images/move32.png";var buttonNavigateMenu=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",width:70,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonNavigateMenu.setText(loc.navigateName)},menu:navigateMenu});var navigatePanMenuItem=new Ext.menu.Item({icon:"images/move.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){navigatePanMenuItem.setText(loc.panName)},onClick:(function(mapctl){return function(){mapctl.PanMode();navigateMenu.hide()}})(mapctl)});navigateMenu.add(navigatePanMenuItem);var navigateZoomWindowMenuItem=new Ext.menu.Item({icon:"images/zoomInRect.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){navigateZoomWindowMenuItem.setText(loc.zoomWindowName)},onClick:(function(mapctl){return function(){mapctl.ZoomInMode();navigateMenu.hide()}})(mapctl)});navigateMenu.add(navigateZoomWindowMenuItem);navigateMenu.add("-");var navigateZoomInMenuItem=new Ext.menu.Item({icon:"images/zoomIn.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){navigateZoomInMenuItem.setText(loc.zoomInName)},onClick:(function(mapctl){return function(){mapctl.ZoomIn();navigateMenu.hide()}})(mapctl)});navigateMenu.add(navigateZoomInMenuItem);var navigateZoomOutMenuItem=new Ext.menu.Item({icon:"images/zoomOut.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){navigateZoomOutMenuItem.setText(loc.zoomOutName)},onClick:(function(mapctl){return function(){mapctl.ZoomOut();navigateMenu.hide()}})(mapctl)});navigateMenu.add(navigateZoomOutMenuItem);navigateMenu.add("-");var navigateZoomExtentMenuItem=new Ext.menu.Item({icon:"images/extent.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){navigateZoomExtentMenuItem.setText(loc.zoomExtentName)},onClick:(function(mapctl){return function(){mapctl.ZoomExtent();navigateMenu.hide()}})(mapctl)});navigateMenu.add(navigateZoomExtentMenuItem);var navigateZoomPreviousMenuItem=new Ext.menu.Item({icon:"images/zoomPrevious.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){navigateZoomPreviousMenuItem.setText(loc.zoomPreviousName)},onClick:(function(mapctl){return function(){mapctl.ZoomPrevious();navigateMenu.hide()}})(mapctl)});navigateMenu.add(navigateZoomPreviousMenuItem);buttonGroupNavCollapsed.add(buttonNavigateMenu);buttonGroupNav=new Ext.ButtonGroup({xtype:"buttongroup",columns:5,title:" ",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonGroupNav.setTitle(loc.navigateGroupName)}});if(!DefaultToolsDefined||config.DefaultTools.Pan==null||config.DefaultTools.Pan.Visible==true){var icon="images/move32.png";if(DefaultToolsDefined&&config.DefaultTools.Pan!=null&&config.DefaultTools.Pan.Icon!=null&&config.DefaultTools.Pan.Icon!=""){icon=config.DefaultTools.Pan.Icon}var buttonPan;buttonPan=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",rowspan:3,width:50,onClick:function(){Me.MapControl.PanMode()},listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonPan.setTooltip(loc.panQtip);buttonPan.setText(loc.panName)},MapBehaviour:{PressedInMode:OpenCartis.nGeo.MapComponents.MapControlModeEnum.Pan,EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupNav.add(buttonPan)}if(!DefaultToolsDefined||config.DefaultTools.ZoomWindow==null||config.DefaultTools.ZoomWindow.Visible==true){var icon="images/zoominrect32.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomWindow!=null&&config.DefaultTools.ZoomWindow.Icon!=null&&config.DefaultTools.ZoomWindow.Icon!=""){icon=config.DefaultTools.ZoomWindow.Icon}var buttonZoomWindow=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",rowspan:3,width:90,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonZoomWindow.setTooltip(loc.zoomWindowQtip);buttonZoomWindow.setText(loc.zoomWindowName)},onClick:function(){if(Me.MapControl.GetMode()!=OpenCartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn){Me.MapControl.ZoomInMode()}else{Me.MapControl.PanMode()}},MapBehaviour:{PressedInMode:OpenCartis.nGeo.MapComponents.MapControlModeEnum.ZoomIn,EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupNav.add(buttonZoomWindow)}var insertSeparator=false;if(!DefaultToolsDefined||config.DefaultTools.ZoomIn==null||config.DefaultTools.ZoomIn.Visible==true){if(insertSeparator){DefaultNavigation.push(new Ext.Toolbar.Separator());insertSeparator=false}var icon="images/zoomin.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomIn!=null&&config.DefaultTools.ZoomIn.Icon!=null&&config.DefaultTools.ZoomIn.Icon!=""){icon=config.DefaultTools.ZoomIn.Icon}var buttonZoomIn=new Ext.Toolbar.Button({icon:icon,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonZoomIn.setTooltip(loc.zoomInQtip);buttonZoomIn.setText(loc.zoomInName)},onClick:function(){Me.MapControl.ZoomIn()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupNav.add(buttonZoomIn)}if(!DefaultToolsDefined||config.DefaultTools.ZoomExtent==null||config.DefaultTools.ZoomExtent.Visible==true){if(insertSeparator){DefaultNavigation.push(new Ext.Toolbar.Separator())}var icon="images/extent.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomExtent!=null&&config.DefaultTools.ZoomExtent.Icon!=null&&config.DefaultTools.ZoomExtent.Icon!=""){icon=config.DefaultTools.ZoomExtent.Icon}var buttonExtent=new Ext.Toolbar.Button({icon:icon,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonExtent.setTooltip(loc.zoomExtentQtip);buttonExtent.setText(loc.zoomExtentName)},onClick:function(){Me.MapControl.ZoomExtent()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupNav.add(buttonExtent)}if(!DefaultToolsDefined||config.DefaultTools.ZoomPrevious==null||config.DefaultTools.ZoomPrevious.Visible==true){var icon="images/zoomPrevious.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomPrevious!=null&&config.DefaultTools.ZoomPrevious.Icon!=null&&config.DefaultTools.ZoomPrevious.Icon!=""){icon=config.DefaultTools.ZoomPrevious.Icon}var buttonZoomPrevious=new Ext.Toolbar.Button({icon:icon,width:100,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonZoomPrevious.setText(loc.zoomPreviousName);buttonZoomPrevious.setTooltip(loc.zoomPreviousQtip)},onClick:function(){Me.MapControl.ZoomPrevious()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupNav.add(buttonZoomPrevious)}if(!DefaultToolsDefined||config.DefaultTools.ZoomOut==null||config.DefaultTools.ZoomOut.Visible==true){if(insertSeparator){DefaultNavigation.push(new Ext.Toolbar.Separator());insertSeparator=false}var icon="images/zoomout.png";if(DefaultToolsDefined&&config.DefaultTools.ZoomOut!=null&&config.DefaultTools.ZoomOut.Icon!=null&&config.DefaultTools.ZoomOut.Icon!=""){icon=config.DefaultTools.ZoomOut.Icon}var buttonZoomOut=new Ext.Toolbar.Button({icon:icon,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonZoomOut.setText(loc.zoomOutName);buttonZoomOut.setTooltip(loc.zoomOutQtip)},onClick:function(){Me.MapControl.ZoomOut()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupNav.add(buttonZoomOut)}if(!DefaultToolsDefined||config.DefaultTools.ZoomScale==null||config.DefaultTools.ZoomScale.Visible==true){var scaleText=new Ext.form.Label({listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){this.el.dom.innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+loc.scaleText}});var scaleBox=new Ext.form.TextField({y:1,width:50,MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:false,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}},enableKeyEvents:true,onKeyUp:function(e,obj){if(e.keyCode==e.ENTER){_setScale()}}});Me.MapControl.onViewChanging.Subscribe(function(){_setFormattedScaleBox()});buttonGroupNav.add(scaleText);buttonGroupNav.add(scaleBox)}if((config.DefaultTools.Pan&&config.DefaultTools.Pan.Visible==true)||(config.DefaultTools.ZoomWindow&&config.DefaultTools.ZoomWindow.Visible==true)||(config.DefaultTools.ZoomIn&&config.DefaultTools.ZoomIn.Visible==true)||(config.DefaultTools.ZoomOut&&config.DefaultTools.ZoomOut.Visible==true)||(config.DefaultTools.ZoomExtent&&config.DefaultTools.ZoomExtent.Visible==true)||(config.DefaultTools.ZoomPrevious&&config.DefaultTools.ZoomPrevious.Visible==true)||(config.DefaultTools.ZoomScale&&config.DefaultTools.ZoomScale.Visible==true)){DefaultNavigation.push(buttonGroupNav);DefaultNavigation.push(buttonGroupNavCollapsed)}function _setScale(){var scale=parseInt(scaleBox.getValue().replace(".","").replace(",",""));if(scale==null||isNaN(scale)){_setFormattedScale()}else{Me.MapControl.ZoomScale(scale)}}function _setFormattedScaleBox(){scaleBox.setValue(OpenCartis.Common.Utilities.GetFormattedNumber(Me.MapControl.GetCurrentView().GetScale(),0))}buttonGroupMeas=new Ext.ButtonGroup({xtype:"buttongroup",columns:3,rows:2,title:" ",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonGroupMeas.setTitle(loc.measureGroupName)}});buttonGroupMeasCollapsed=new Ext.ButtonGroup({xtype:"buttongroup",columns:1,rows:1,title:" ",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonGroupMeasCollapsed.setTitle(loc.measureGroupName)}});if(!DefaultToolsDefined||config.DefaultTools.Measure==null||config.DefaultTools.Measure.Visible==true){var measureMenu=new Ext.menu.Menu();var measureDistanceMenuItem=new Ext.menu.Item({icon:"images/distance.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){measureDistanceMenuItem.setText(loc.measureDistanceName)},onClick:(function(mapctl){return function(){mapctl.MeasuringLineMode();measureMenu.hide()}})(mapctl)});measureMenu.add(measureDistanceMenuItem);var measureAreaMenuItem=new Ext.menu.Item({icon:"images/area.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){measureAreaMenuItem.setText(loc.measureAreaName)},onClick:(function(mapctl){return function(){mapctl.MeasuringPolygonMode();measureMenu.hide()}})(mapctl)});measureMenu.add(measureAreaMenuItem);measureMenu.add("-");var measureSelectedMenuItem=new Ext.menu.Item({icon:"images/selection.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){measureSelectedMenuItem.setText(loc.measureSelectedName)},onClick:(function(mapctl){return function(){mapctl.MeasureSelected();measureMenu.hide()}})(mapctl)});measureMenu.add(measureSelectedMenuItem);var measureClearMenuItem=new Ext.menu.Item({icon:"images/cross.png",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){measureClearMenuItem.setText(loc.measureClearName)},onClick:(function(mapctl){return function(){mapctl.MeasureClear();measureMenu.hide()}})(mapctl)});measureMenu.add(measureClearMenuItem);var icon="images/distance32.png";var buttonMeasureDistanceMenu=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",width:70,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonMeasureDistanceMenu.setText(loc.measureQtip);buttonMeasureDistanceMenu.setTooltip(loc.layersQtip)},menu:measureMenu});buttonGroupMeasCollapsed.add(buttonMeasureDistanceMenu);var icon="images/distance32.png";var buttonMeasureDistance=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",width:60,rowspan:2,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonMeasureDistance.setText(loc.measureDistanceName);buttonMeasureDistance.setTooltip(loc.measureDistanceQtip)},onClick:function(){Me.MapControl.MeasuringLineMode()},MapBehaviour:{PressedInMode:OpenCartis.nGeo.MapComponents.MapControlModeEnum.MeasuringLine,EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupMeas.add(buttonMeasureDistance);var icon="images/area32.png";var buttonMeasureArea=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",width:60,rowspan:2,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonMeasureArea.setText(loc.measureAreaName);buttonMeasureArea.setTooltip(loc.measureAreaQtip)},onClick:function(){Me.MapControl.MeasuringPolygonMode()},MapBehaviour:{PressedInMode:OpenCartis.nGeo.MapComponents.MapControlModeEnum.MeasuringPolygon,EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupMeas.add(buttonMeasureArea);var icon="images/selection.png";var buttonMeasureSelected=new Ext.Toolbar.Button({icon:icon,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonMeasureSelected.setText(loc.measureSelectedName);buttonMeasureSelected.setTooltip(loc.measureSelectedQtip)},onClick:function(){Me.MapControl.MeasureSelected()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupMeas.add(buttonMeasureSelected);var icon="images/cross.png";var buttonMeasureClear=new Ext.Toolbar.Button({icon:icon,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonMeasureClear.setText(loc.measureClearName);buttonMeasureClear.setTooltip(loc.measureClearQtip)},onClick:function(){Me.MapControl.MeasureClear()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupMeas.add(buttonMeasureClear);DefaultNavigation.push(buttonGroupMeas);DefaultNavigation.push(buttonGroupMeasCollapsed)}var buttonGroupTools;buttonGroupTools=new Ext.ButtonGroup({xtype:"buttongroup",title:" ",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonGroupTools.setTitle(loc.toolsGroupName)}});if(!DefaultToolsDefined||config.DefaultTools.Measure==null||config.DefaultTools.Measure.Visible==true){var icon="images/layers32.png";if(DefaultToolsDefined&&config.DefaultTools.Measure!=null&&config.DefaultTools.Measure.Icon!=null&&config.DefaultTools.Measure.Icon!=""){icon=config.DefaultTools.Measure.Icon}var buttonLayers=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",width:60,rowspan:2,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonLayers.setText(loc.layersName);buttonLayers.setTooltip(loc.layersQtip)},onClick:function(){showLayersWindow()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupTools.add(buttonLayers)}function showLayersWindow(){mapViewerObject.ShowLayersPanel()}if(typeof(mapctl.PrintURL)=="string"&&mapctl.PrintURL.length>0&&(!DefaultToolsDefined||config.DefaultTools.Print==null||config.DefaultTools.Print.Visible==true)){var icon="images/printer32.png";if(DefaultToolsDefined&&config.DefaultTools.Print!=null&&config.DefaultTools.Print.Icon!=null&&config.DefaultTools.Print.Icon!=""){icon=config.DefaultTools.Measure.Icon}var buttonPrint=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",width:60,rowspan:2,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonPrint.setText(loc.printName);buttonPrint.setTooltip(loc.printQtip)},onClick:function(){Me.MapControl.ShowPrintDialog()},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupTools.add(buttonPrint)}if((!DefaultToolsDefined||config.DefaultTools.SelectLanguage==null||config.DefaultTools.SelectLanguage.Visible==true)){var icon="images/comment32.png";if(DefaultToolsDefined&&config.DefaultTools.SelectLanguage!=null&&config.DefaultTools.SelectLanguage.Icon!=null&&config.DefaultTools.SelectLanguage.Icon!=""){icon=config.DefaultTools.SelectLanguage.Icon}var languageMenu=new Ext.menu.Menu();var ls=OpenCartis.Common.Localization.GetLanguages();for(var code in ls){languageMenu.add(new Ext.menu.Item({text:code.toUpperCase()+((ls[code].NativeName.length>0)?" - "+ls[code].NativeName:""),onClick:(function(lcode){return function(){var l;try{l=OpenCartis.Common.Localization.GetLanguage(lcode);OpenCartis.Common.Localization.Activate(lcode)}catch(e){alert(loc.languageChangeError)}languageMenu.hide()}})(code)}))}var buttonLanguage=new Ext.Toolbar.Button({icon:icon,scale:"large",iconAlign:"top",width:70,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonLanguage.setText(loc.languageName);buttonLanguage.setTooltip(loc.languageQtip)},menu:languageMenu,MapBehaviour:{EnabledMapStates:{None:true,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupTools.add(buttonLanguage)}if(config&&config.CustomTools&&config.CustomTools.length>0){for(var i=0;i<config.CustomTools.length;i++){var tool=config.CustomTools[i];if(tool.Html&&tool.Html!=""){var label=new Ext.Panel({html:tool.Html,border:false});switch(config.CustomTools[i].MapToolbarPosition){case prv.MapToolbarPositionEnum.System:SystemArea.push(label);break;case prv.MapToolbarPositionEnum.Utilities:UtilitiesArea.push(label);break;default:NavigationArea.push(label);break}}else{var but={};if(tool.Icon&&tool.Icon!=""){but.icon=tool.Icon;but.cls="x-btn-icon"}if(tool.OnClick&&tool.OnClick!=""){but.onClick=tool.OnClick}but.MapToolbarPosition=tool.MapToolbarPosition;but.MapBehaviour=tool.MapBehaviour;but.cls="x-btn-text";but.scale="large";but.iconAlign="top";but.text=tool.Tooltip;but.tooltipConfig=tool.Tooltip;but.nameConfig=tool.Name;but.listeners={render:function(){this.localize();locObjects.push(this)}};but.localize=function(){this.setText(loc[this.nameConfig]);this.setTooltip(loc[this.tooltipConfig])};buttonGroupTools.add(but)}}}DefaultNavigation.push(buttonGroupTools);var buttonGroupSearch;buttonGroupSearch=new Ext.ButtonGroup({xtype:"buttongroup",columns:1,rows:2,height:80,title:" ",listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonGroupSearch.setTitle(loc.searchGroupName)}});if(!DefaultToolsDefined||config.DefaultTools.SearchBox==null||config.DefaultTools.SearchBox.Visible==true){var searchText=new Ext.form.TextField({emptyText:loc.sboxEmptyText,y:1,cls:"searchbox",MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}},localize:function(){this.emptyText=loc.sboxEmptyText;this.reset()},enableKeyEvents:true,onKeyUp:function(e,obj){if(e.keyCode==e.ENTER){_search()}}});locObjects.push(searchText);function _search(){if(searchText.getValue()!=""){if(Me.MapControl.SearchManager.NewSearch(searchText.getValue())){Me.MapControl.SearchManager.Search(1)}else{alert(loc.sboxTooLongText+" "+Me.MapControl.GetMap().MaxWordsInSearch);searchText.focus()}}else{alert(loc.sboxEnterText);searchText.focus()}}var icon="images/find.png";if(DefaultToolsDefined&&config.DefaultTools.SearchBox!=null&&config.DefaultTools.SearchBox.Icon!=null&&config.DefaultTools.SearchBox.Icon!=""){icon=config.DefaultTools.SearchBox.Icon}mapctl.searchCleared.Subscribe(function(){searchText.setValue("")});var buttonSearch=new Ext.Toolbar.Button({icon:icon,onClick:_search,text:"Buscar",scale:"medium",width:128,listeners:{render:function(){this.localize();locObjects.push(this)}},localize:function(){buttonSearch.setText(loc.searchName);buttonSearch.setTooltip(loc.searchQtip)},MapBehaviour:{EnabledMapStates:{None:false,Loading:false,Drawing:true,Ready:true},EnabledMapModes:{None:true,Pan:true,ZoomIn:true,ZoomOut:true}}});buttonGroupSearch.add(buttonSearch);buttonGroupSearch.add(searchText);DefaultNavigation.push(buttonGroupSearch)}if(SystemArea.length>0&&SearchArea.length>0){SystemArea.splice(0,0,new Ext.Toolbar.Separator())}if(UtilitiesArea.length>1&&SearchArea.length+SystemArea.length>0){UtilitiesArea.push(new Ext.Toolbar.Separator())}if(NavigationArea.length>0){NavigationArea.splice(0,0,new Ext.Toolbar.Separator())}config.items=DefaultNavigation;if(NavigationArea.length>0){config.items=config.items.concat(NavigationArea)}if(UtilitiesArea.length>1){config.items=config.items.concat(UtilitiesArea)}if(SearchArea.length>0){config.items=config.items.concat(SearchArea)}OpenCartis.nGeo.ExtComponents.MapToolbar.superclass.constructor.apply(this,[config])}});(function(){var locObjects=new Array();var loc;function getLocatedTexts(){loc={searching:"Searching. Please wait...",noResult:"No results found",allLayers:"All layers",searchTask:"Search",newSearch:"Enter search terms"};try{OpenCartis.Common.Localization.OverrideWithCurrentLanguage("nGeo.ExtComponents.SearchResults",loc)}catch(e){}}getLocatedTexts();prv.SearchResults=function(config){var Me=this;this.beforeSearch=function(mgr){var results=document.createElement("div");results.className="searchnote";if(Me.el){Me.el.dom.innerHTML="";results.innerHTML=loc.searching;Me.el.dom.appendChild(results)}};this.afterSearch=function(mgr){var results=document.createElement("div");results.className="searchresults";results.style.position="absolute";if(Me.el){Me.el.dom.innerHTML="";if(mgr.SearchResults.ResultItems.length>0){for(var i=0;i<mgr.SearchResults.ResultItems.length;i++){var ri=mgr.SearchResults.ResultItems[i];var item=document.createElement("div");item.className="resultrow";var sitem=document.createElement("div");var link=document.createElement("a");link.className="resultlink";link.href="#";link.item=ri;link.onclick=function(){mgr.SelectItem(this.item)};link.innerHTML=ri.Name;sitem.appendChild(link);item.appendChild(sitem);sitem=document.createElement("div");sitem.className="resultclassname";sitem.innerHTML=ri.ResultClass.Name;item.appendChild(sitem);results.appendChild(item)}Me.el.dom.appendChild(results)}else{results.className="searchnote";results.innerHTML=loc.noResult;Me.el.dom.appendChild(results)}}};this.clearSearch=function(){if(Me.el){var results=document.createElement("div");results.className="searchnote";results.innerHTML=loc.newSearch;Me.el.dom.innerHTML="";Me.el.dom.appendChild(results)}};if(config.SearchManager){config.SearchManager.afterSearch.Subscribe(Me.afterSearch);config.SearchManager.beforeSearch.Subscribe(Me.beforeSearch);config.SearchManager.searchCleared.Subscribe(Me.clearSearch)}prv.SearchResults.superclass.constructor.apply(Me,[config])};OpenCartis.nGeo.ExtComponents.SearchResults=Ext.extend(prv.SearchResults,Ext.BoxComponent,{autoEl:{tag:"div"},onRender:function(){OpenCartis.nGeo.ExtComponents.SearchResults.superclass.onRender.apply(this,arguments);this.afterSearch(this.initialConfig.SearchManager)}});OpenCartis.nGeo.ExtComponents.SearchResultsToolbar=function(map){function _hideControls(){txtPage.hide();butPrev.hide();butNext.hide();butCat.hide()}map.searchCleared.Subscribe(function(){_hideControls();txtNote.show()});map.beforeSearch.Subscribe(_hideControls);map.afterSearch.Subscribe(function(mgr){if(mgr.SearchResults.ResultCount>0){if(mgr.SearchResults.SearchClass==-1){txtPage.setText(mgr.SearchResults.SearchPage+"/"+(Math.ceil(mgr.SearchResults.ResultCount/mgr.PageSize)))}else{txtPage.setText(mgr.SearchResults.SearchPage+"/"+(Math.ceil(mgr.SearchResults.ResultClassesIX["C"+mgr.SearchResults.SearchClass].ResultCount/mgr.PageSize)))}txtPage.show();butPrev.show();butNext.show();butCat.show()}else{_hideControls}});var menuCat=new Ext.menu.Menu({id:"catMenu",width:175,items:[]});var butCat=new Ext.Toolbar.SplitButton({text:"",iconCls:"searchtask",menu:menuCat,initComponent:function(){map.SearchManager.beforeSearch.Subscribe((function(yo){return function(){menuCat.removeAll()}})(this));map.SearchManager.searchCleared.Subscribe((function(yo){return function(){menuCat.removeAll()}})(this));map.SearchManager.afterSearch.Subscribe((function(yo){return function(){try{yo.refreshCathegories()}catch(e){}}})(this))},refreshCathegories:function(){var mgr=map.SearchManager;var tot=0;var inUse="";var txt="";var item;for(var i=0;i<mgr.ResultClasses.length;i++){tot+=parseInt(mgr.ResultClasses[i].ResultCount);txt=mgr.ResultClasses[i].Name+" ("+mgr.ResultClasses[i].ResultCount+(mgr.ResultClasses[i].MaxResultsReached?"+":"")+")";item=menuCat.add(new Ext.menu.Item({id:"Class"+mgr.ResultClasses[i].Id,text:txt,resultClass:mgr.ResultClasses[i],onClick:function(){butCat.selectCathegory(this)}}));if(mgr.ResultClasses[i].Id==mgr.SearchResults.SearchClass){inUse=txt;butCat.setText(inUse)}}txt=loc.allLayers+" ("+tot+")";butCat.Total=tot;item=menuCat.insert(0,new Ext.menu.Item({id:"Class-1",text:txt,onClick:function(){butCat.selectCathegory(this)}}));if(inUse==""){butCat.setText(txt);butCat.autoWidth()}},selectCathegory:function(menuitem){if(typeof(menuitem.resultClass)=="undefined"){map.SearchManager.Search(1,-1)}else{map.SearchManager.Search(1,parseInt(menuitem.resultClass.Id))}menuCat.hide()},listeners:{render:function(){setTimeout(function(){butCat.doAutoWidth()},150)}}});var butPrev=new Ext.Toolbar.Button({initComponent:function(){map.SearchManager.beforeSearch.Subscribe((function(yo){return function(){yo.setDisabled(true)}})(this));map.SearchManager.afterSearch.Subscribe((function(yo){return function(){yo.setDisabled(map.SearchManager.SearchPage<=1)}})(this))},icon:"images/previous.png",cls:"x-btn-icon",onClick:function(){map.SearchManager.SearchPage--;map.SearchManager.Search(map.SearchManager.SearchPage,map.SearchManager.SearchClass)}});var txtPage=new Ext.form.Label({autoWidth:false,width:100,text:""});var butNext=new Ext.Toolbar.Button({initComponent:function(){map.SearchManager.beforeSearch.Subscribe((function(yo){return function(){yo.setDisabled(true)}})(this));map.SearchManager.afterSearch.Subscribe((function(yo){return function(){if(map.SearchManager.SearchClass==-1){yo.setDisabled(map.SearchManager.SearchPage>=Math.ceil(map.SearchManager.SearchResults.ResultCount/map.SearchManager.PageSize))}else{yo.setDisabled(map.SearchManager.SearchPage>=Math.ceil(map.SearchManager.SearchResults.ResultClassesIX["C"+map.SearchManager.SearchClass].ResultCount/map.SearchManager.PageSize))}}})(this))},icon:"images/next.png",cls:"x-btn-icon",onClick:function(){map.SearchManager.SearchPage++;map.SearchManager.Search(map.SearchManager.SearchPage,map.SearchManager.SearchClass)}});var txtNote=new Ext.Toolbar.Button({text:loc.searchTask,hidden:true,disabled:true,iconCls:"searchtask",localize:function(){try{this.setText(loc.searchTask)}catch(e){}},initComponent:function(){map.SearchManager.beforeSearch.Subscribe((function(yo){return function(){yo.show()}})(this));map.SearchManager.afterSearch.Subscribe((function(yo){return function(){if(!(map.SearchManager.SearchClass==-1&&map.SearchManager.SearchResults.ResultCount==0||map.SearchManager.SearchClass!=-1&&map.SearchManager.SearchResults.ResultClassesIX["C"+map.SearchManager.SearchClass].ResultCount==0)){yo.hide()}}})(this))}});locObjects.push(txtNote);return new Ext.Toolbar({items:[txtNote,butCat,"->",butPrev,txtPage,butNext]})};OpenCartis.nGeo.ExtComponents.SearchTab=function(mapControl){var tab=new Ext.Panel({id:"search-tab",closable:true,autoScroll:true,title:loc.searchTask,hidden:false,layout:"fit",localize:function(){this.setTitle(loc.searchTask)},tbar:new OpenCartis.nGeo.ExtComponents.SearchResultsToolbar(mapControl.GetMap()),items:[new OpenCartis.nGeo.ExtComponents.SearchResults({SearchManager:mapControl.SearchManager})]});locObjects.push(tab);return tab};function updateLocalization(){getLocatedTexts();for(var i=0;i<locObjects.length;i++){locObjects[i].localize()}}OpenCartis.Common.Localization.afterLanguageActivate.Subscribe(updateLocalization)})();OpenCartis.nGeo.ExtComponents.MapViewer=function(config,mapControlName){var mapControl=new OpenCartis.nGeo.ExtComponents.MapControl(config.MapControl,mapControlName);mapViewerObject=this;var layerControl;var toolbar;var tabpanel;layerControl=new OpenCartis.nGeo.ExtComponents.LayerControl(mapControl,config.LayerControl);toolbar=null;groupToolbar=null;if(config.MapToolbar&&config.MapToolbar.Visible){if(config.MapToolbar.GroupToolbar){groupToolbar=new OpenCartis.nGeo.ExtComponents.MapGroupToolbar(mapControl,config.MapToolbar);config.MapToolbar.GroupToolbarObject=groupToolbar}else{toolbar=new OpenCartis.nGeo.ExtComponents.MapToolbar(mapControl,config.MapToolbar)}}var items=new Array();var tabitems=new Array();var layersTab=new Ext.Panel({listeners:{render:function(){var updateTitle=(function(obj){var Me=obj;return function(){var loc={title:"Layers"};try{OpenCartis.Common.Localization.OverrideWithCurrentLanguage("nGeo.ExtComponents.LayerControl",loc)}catch(e){}Me.setTitle(loc.title)}})(this);this.updateTitle=updateTitle;this.updateTitle();OpenCartis.Common.Localization.afterLanguageActivate.Subscribe(this.updateTitle)}},id:"layer-control",title:"Layers",layout:"fit",closable:config.LayerControl?config.LayerControl.Closable:false,items:[layerControl]});if(config.LayerControl&&config.LayerControl.Visible){tabitems.push(layersTab)}this.ShowLayersPanel=function(){var tab;try{tab=tabpanel.getItem("layer-control")}catch(e){}if(typeof(tab)=="undefined"){tab=tabpanel.add(layersTab);tabsarea.add(tabpanel)}else{tabpanel.unhideTabStripItem("layer-control")}tabpanel.activate("layer-control");tabsarea.setVisible(true);tabsarea.show();layersTab.show();if(tabsarea.collapsed){tabsarea.expand()}};var printForm=new Ext.FormPanel({bodyBorder:false,border:false,title:"Opciones de página",bodyStyle:"padding: 10px 0px 0px 0px;",autoHeight:true,items:{width:320,bodyStyle:"padding-left:5px;",border:false,xtype:"fieldset",autoHeight:true,items:[{xtype:"radiogroup",fieldLabel:"Size",setLabel:function(text){var r=this.getEl().up("div.x-form-item");r.dom.firstChild.firstChild.nodeValue=String.format("{0}",text)},id:"size",columns:1,items:[{boxLabel:"A4",name:"ps",inputValue:"A4",checked:true,bodyStyle:"background-color: #c7d6e9"},{width:80,boxLabel:"A3",name:"ps",inputValue:"A3"}]},{xtype:"radiogroup",fieldLabel:"Orientación",setLabel:function(text){var r=this.getEl().up("div.x-form-item");r.dom.firstChild.firstChild.nodeValue=String.format("{0}",text)},columns:1,items:[{width:120,boxLabel:"Normal",name:"po",inputValue:"V",checked:true,setLabel:function(text){var r=this.getEl().up("div.x-form-item").child("label.x-form-cb-label");r.dom.firstChild.nodeValue=String.format("{0}",text)}},{width:120,boxLabel:"Apaisado",name:"po",inputValue:"H",setLabel:function(text){var r=this.getEl().up("div.x-form-item").child("label.x-form-cb-label");r.dom.firstChild.nodeValue=String.format("{0}",text)}}]}]}});var printWindow=new Ext.Window({modal:true,width:270,title:"Print dialog",autoHeight:true,closable:false,resizable:false,constraint:true,closeMode:"hide",items:[printForm],buttons:[{text:"Print",handler:function(){var a=printForm.getForm().getValues(false);mapControl.PrintHTML(a);printWindow.hide()}},{text:"PDF",handler:function(){var a=printForm.getForm().getValues(false);mapControl.Print(a);printWindow.hide()}},{text:"Cancel",handler:function(){printWindow.hide()}}]});function LocatePrintDialog(){var loc={title:"Print dialog",pageOptions:"Page options",size:"Size",orientation:"Orientation",portrait:"Portrait",landscape:"Landscape",print:"Print",getPDF:"Get PDF",cancel:"Cancel"};try{OpenCartis.Common.Localization.OverrideWithCurrentLanguage("nGeo.ExtComponents.PrintWindow",loc)}catch(e){}printWindow.setTitle(loc.title);printWindow.buttons[0].setText(loc.print);printWindow.buttons[1].setText(loc.getPDF);printWindow.buttons[2].setText(loc.cancel);printForm.setTitle(loc.pageOptions);try{printForm.items.items[0].items.items[0].fieldLabel=loc.size;printForm.items.items[0].items.items[0].setLabel(loc.size)}catch(e){}try{printForm.items.items[0].items.items[1].fieldLabel=loc.orientation;printForm.items.items[0].items.items[1].setLabel(loc.orientation)}catch(e){}try{printForm.items.items[0].items.items[1].items[0].boxLabel=loc.portrait}catch(e){try{printForm.items.items[0].items.items[1].items.items[0].setLabel(loc.portrait);printForm.items.items[0].items.items[1].items.items[0].boxLabel=loc.portrait}catch(e){}}try{printForm.items.items[0].items.items[1].items[1].boxLabel=loc.landscape}catch(e){try{printForm.items.items[0].items.items[1].items.items[1].setLabel(loc.landscape);printForm.items.items[0].items.items[1].items.items[1].boxLabel=loc.landscape}catch(e){}}}OpenCartis.Common.Localization.afterLanguageActivate.Subscribe(LocatePrintDialog);LocatePrintDialog();var searchtab=new OpenCartis.nGeo.ExtComponents.SearchTab(mapControl);tabpanel=new Ext.TabPanel({activeTab:0,items:(tabitems.length>0)?tabitems:null,bodyBorders:false,listeners:{beforeremove:function(t,comp){var i;var closeTabPanel=true;if(comp.id=="search-tab"){mapControl.SearchManager.Clear()}comp.hide();this.hideTabStripItem(comp.id);for(i=0;i<this.items.length;i++){if(this.items.items[i].id!=comp.id&&!this.items.items[i].isVisible()){this.activate(this.items.items[i].id)}if(this.getTabEl(this.getComponent(this.items.items[i].id)).style.display==""){closeTabPanel=false}}if(closeTabPanel){tabsarea.setVisible(false);tabsarea.collapse(false);tabsarea.hide()}return false}},showSearchPanel:function(yo){return function(){var tab;try{tab=yo.getItem("search-tab")}catch(e){}if(typeof(tab)=="undefined"){tab=yo.add(searchtab);tabsarea.add(yo)}else{yo.unhideTabStripItem("search-tab")}yo.activate("search-tab");tabsarea.setVisible(true);tabsarea.show();searchtab.show();if(tabsarea.collapsed){tabsarea.expand()}}}});mapControl.SearchManager.afterSearch.Subscribe(tabpanel.showSearchPanel(tabpanel));var tabsarea=new Ext.Panel({region:"west",layout:"fit",id:"tabs-area",collapsible:true,collapsed:tabitems.length==0?true:false,split:true,minWidth:230,width:230,title:" ",bodyBorders:false,hidden:tabitems.length==0?true:false,items:[tabpanel]});tabsarea.add(tabpanel);items.push(tabsarea);if(toolbar){items.push(new Ext.Panel({region:"center",layout:"fit",items:[mapControl],tbar:toolbar}))}else{items.push(new Ext.Panel({region:"center",layout:"fit",items:[mapControl]}))}if(groupToolbar){config.tbar=groupToolbar}config.layout="border";config.items=items;var panel=new Ext.Panel(config);prv.MapControlWrapper.call(panel,mapControl);mapControl.ShowPrintDialog=function(){if(!printWindow.rendered){printWindow.render(panel.body)}printWindow.show()};Ext.QuickTips.init();return panel};OpenCartis.nGeo.ExtComponents.MapViewerConfig=prv.MapViewerConfig})();
