/*

  OpenLayers.js -- OpenLayers Map Viewer Library

  Copyright 2005-2008 MetaCarta, Inc., released under the Clear BSD license.
  Please see http://svn.openlayers.org/trunk/openlayers/license.txt
  for the full text of the license.

  Includes compressed code under the following licenses:

  (For uncompressed versions of the code used please see the
  OpenLayers SVN repository: <http://openlayers.org/>)

*/

/* Contains portions of Prototype.js:
 *
 * Prototype JavaScript framework, version 1.4.0
 *  (c) 2005 Sam Stephenson <sam@conio.net>
 *
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://prototype.conio.net/
 *
 *--------------------------------------------------------------------------*/

/**  
*  
*  Contains portions of Rico <http://openrico.org/>
* 
*  Copyright 2005 Sabre Airline Solutions  
*  
*  Licensed under the Apache License, Version 2.0 (the "License"); you
*  may not use this file except in compliance with the License. You
*  may obtain a copy of the License at
*  
*         http://www.apache.org/licenses/LICENSE-2.0  
*  
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
*  implied. See the License for the specific language governing
*  permissions and limitations under the License. 
*
**/

/**
 * Contains XMLHttpRequest.js <http://code.google.com/p/xmlhttprequest/>
 * Copyright 2007 Sergey Ilinsky (http://www.ilinsky.com)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 */

/**
 * Contains portions of Gears <http://code.google.com/apis/gears/>
 *
 * Copyright 2007, Google Inc.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *  1. Redistributions of source code must retain the above copyright notice,
 *     this list of conditions and the following disclaimer.
 *  2. Redistributions in binary form must reproduce the above copyright notice,
 *     this list of conditions and the following disclaimer in the documentation
 *     and/or other materials provided with the distribution.
 *  3. Neither the name of Google Inc. nor the names of its contributors may be
 *     used to endorse or promote products derived from this software without
 *     specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * Sets up google.gears.*, which is *the only* supported way to access Gears.
 *
 * Circumvent this file at your own risk!
 *
 * In the future, Gears may automatically define google.gears.* without this
 * file. Gears may use these objects to transparently fix bugs and compatibility
 * issues. Applications that use the code below will continue to work seamlessly
 * when that happens.
 */
if(window.g_lyrManagers==null)
{var g_lyrManagers=new Array();}
var m_lyrMgrTree='_tLyrMgr';var m_layerMgrTree='lmTree';function LayerManager(id,mapId,mapControlId,guid)
{var m_map;this.Id=id;this.MapId=mapId;this.MapControlId=mapControlId;this.GUID=guid;this.DisableRedraw=false;this.ActiveLyrId=null;this.GetMap=function()
{if(m_map==null)
{m_map=GetMapCtrl(this.MapControlId);}
return m_map;}
this.DestroyMap=function()
{if(m_map&&m_map.events)
{m_map.events.unregister(m_map.MAPEVENT_TYPES.ZOOMEND,this.Refresh,this);}
m_map=null;}
this.ApplyLyrMgr=function()
{if(!sessionExpired)
{var tree=_FindTree(this.Id);if(tree!=null)
{var state=_GetTreeState(tree);_OnPointWebControls.Map.LayerManagerAjaxWrapper.ApplyLayerManager(escape(state),this.HandleApplyLyrMgr,this);}}
else
HandleSessionExpired();}
this.HandleApplyLyrMgr=function(resp)
{if(resp.value)
{resp.context.DisableRedraw=true;var r=resp.context.GetMap().RefreshMap();}}
this.GetTree=function()
{return _FindTree(this.Id);}
this.SetActiveLayer=function()
{try
{var tree=this.GetTree();if(tree&&tree.GetLastCtxNode()!=null)
{var lyrId=tree.GetLastCtxNode().Id;this.ActiveLyrId=lyrId;lyrId=lyrId.substr(lyrId.indexOf(":")+1);_OnPointWebControls.Map.LayerManagerAjaxWrapper.SetActiveLayer(lyrId,this.HandleSetActiveLayer,this);}}
catch(e){alert('ExceptionHandler::SetActiveLayer'+e.message);}}
this.SetActiveLayerById=function(lyrId)
{try
{this.ActiveLyrId=lyrId;lyrId=lyrId.substr(lyrId.indexOf(":")+1);_OnPointWebControls.Map.LayerManagerAjaxWrapper.SetActiveLayer(lyrId,this.HandleSetActiveLayer,this);}
catch(e){alert('ExceptionHandler::SetActiveLayerById'+e.message);}}
this.HandleSetActiveLayer=function(resp)
{if(resp.value)
{var tree=resp.context.GetTree();if(tree!=null)
tree.SetActiveNode(resp.context.ActiveLyrId,tree.GetStyles().Active);}}
this.Refresh=function()
{var lyrStyles=_GetLyrMgrStyles();_OnPointWebControls.Map.LayerManagerAjaxWrapper.RefreshLayerManager(lyrStyles.Regular,lyrStyles.Active,lyrStyles.Greyed,lyrStyles.Group,lyrStyles.RootLevel,this.HandleRefresh,this);}
this.HandleRefresh=function(resp)
{if(resp.value)
{var xmlStr=resp.value;try
{if(isIE)
{objXmlDoc=new ActiveXObject("Msxml2.DOMDocument");objXmlDoc.loadXML(xmlStr);}
else
{objXmlDoc=new DOMParser().parseFromString(xmlStr,"text/xml");}
var errorNodes=objXmlDoc.getElementsByTagName("ERROR");if(errorNodes!=null&&errorNodes.length>0)
{var message=getAttributeValue(errorNodes[0],"message");if(message!=null&&message.length>0)
{alert(message);}}
else
{if(!resp.context.DisableRedraw)
{resp.context.Redraw(objXmlDoc);}
resp.context.DisableRedraw=false;}}
catch(ex)
{alert('HandleRefresh of layermgr - exception:'+ex.message);}}
else
{}}
this.Redraw=function(xmlDoc)
{if(xmlDoc)
{var nodeList=xmlDoc.getElementsByTagName("LyrMgr");if(nodeList!=null&&nodeList.length>0)
{var tree=this.GetTree();var expNodes=null;if(tree!=null)
{expNodes=tree.GetExpandedNodes();}
if(m_ie5)
_loadTree(nodeList[0].text,this.Id);else
_loadTree(nodeList[0].textContent,this.Id);tree=this.GetTree();if(tree!=null)
{tree.RegisterDragDrop(HandleDragDrop);tree.RegisterSelect(HandleSelect)
tree.RegisterRadioSelect(HandleRadioSelect);if(expNodes!=null)
{for(var i=0;i<expNodes.length;i++)
tree.ExpandNode(expNodes[i]);}}}}}
this.RegisterWithMap=function()
{if(this.GetMap())
{m_map.AddEventCallback(m_map.MAPEVENT_TYPES.ZOOMEND,this.Refresh,this);}}
this._SetLMUrl=function()
{if(this.GUID)
{var url=_OnPointWebControls.Map.LayerManagerAjaxWrapper.url;if(url.indexOf("?")==-1)
{_OnPointWebControls.Map.LayerManagerAjaxWrapper.url=_OnPointWebControls.Map.LayerManagerAjaxWrapper.url+"?GUID="+this.GUID;}}}
this.RegisterWithMap();this._SetLMUrl();}
function btnApplyLyrMgr(lid)
{var lm=_GetLM(lid);if(lm)
lm.ApplyLyrMgr();}
var m_lyrNodeStyle="";var m_activeNodeStyle="ActiveLayer";var m_greyedNodeStyle="GreyedLayer";var m_groupNodeStyle="GroupedLayer";var m_mapNodeStyle="MapNode";var m_mapSourceId="";function _GetLM(id)
{var lm=null;if(g_lyrManagers)
{for(var i=0;i<g_lyrManagers.length;i++)
{if(g_lyrManagers[i].Id==id)
{lm=g_lyrManagers[i];break;}}}
return lm;}
function _RedrawLMTree(tree)
{var expNodes=tree.GetExpandedNodes();var container=document.getElementById(tree.ContainerId);if(container)
{container.innerHTML=tree.GetHtml();tree.SetInitialExpand();for(var i=0;i<expNodes.length;i++)
{tree.ExpandNode(expNodes[i]);}
var ae=tree.GetActiveElement();if(ae!=null)
tree.SetActiveNode(ae.id,tree.GetStyles().Active);}}
function _GetTreeState(tree)
{var sb=new Array();sb.push("<T v=\""+(tree.GetNodesMovedStatus()?"1":"0")+"\">");var nodes=tree.GetNodes();for(var i=0;i<nodes.length;i++)
SetNodeState(nodes[i],sb);sb.push("</T>");tree.ResetNodesMovedStatus();return sb.join('');}
function SetNodeState(node,stateArray)
{var close=true;if(node.NodeType!="LG")
{stateArray.push("<"+node.NodeType+" v=\"");stateArray.push(node.Id+"^"+(node.IsChecked()?"1":"0")+"^"+(node.IsExpanded()?"1\" >":"0\" >"));}
else
close=false;var children=node.Children;if(children!=null)
{for(var i=0;i<children.length;i++)
SetNodeState(children[i],stateArray);}
if(close)
stateArray.push("</"+node.NodeType+">");}
function ZoomToLayer(id)
{_InvokeMethod(id,'_OnPointWebControls.Map.LayerManagerAjaxWrapper.ZoomToLayer(mapId,lyrId,styles.Regular,styles.Active,styles.Greyed,styles.Group,styles.RootLevel,HandleServerResponse);',0);}
function ZoomToLyrScale(id)
{_InvokeMethod(id,'_OnPointWebControls.Map.LayerManagerAjaxWrapper.ZoomToLayerScale(mapId,lyrId,styles.Regular,styles.Active,styles.Greyed,styles.Group,styles.RootLevel,HandleServerResponse);',1);}
function _InvokeMethod(lmid,method,methodType)
{if(!sessionExpired)
{var lm=_GetLM(lmid);var tree=lm.GetTree();var lyrId=lm.ActiveLyrId;if(tree&&tree.GetLastCtxNode()!=null)
{lyrId=tree.GetLastCtxNode().Id;}
if(tree&&lyrId!=null)
{var styles=tree.GetStyles();var idx=lyrId.indexOf(":");var mapIdx=lyrId.substr(0,idx);var mapId=tree.GetNode(mapIdx).Id;lyrId=lyrId.substr(idx+1);eval(method);}}
else
HandleSessionExpired();}
function SetActiveLayer(lmid)
{if(!sessionExpired)
{var lm=_GetLM(lmid);if(lm)
lm.SetActiveLayer();}
else
HandleSessionExpired();}
function ExpandLegends(id)
{var tree=_GetLM(id).GetTree();if(tree)
{var node=tree.GetLastCtxNode();if(node)
node.ExpandAll();}}
function ExpandAllLegends(id)
{var tree=_GetLM(id).GetTree();if(tree)
{tree.ExpandAll();}}
function CollapseLegends(id)
{var tree=_GetLM(id).GetTree();if(tree!=null&&tree.GetLastCtxNode()!=null)
_CollapseIfLegend(tree.GetLastCtxNode());}
function CollapseAllLegends(id)
{var tree=_GetLM(id).GetTree();if(tree!=null)
{var nodes=tree.GetNodes();for(var i=0;i<nodes.length;i++)
{_CollapseIfLegend(nodes[i]);}}}
function _CollapseIfLegend(node)
{var childCount=node.GetChildCount();if(childCount==1&&node.GetChild(0).NodeType=="LG")
node.Collapse();else if(childCount>0)
{for(var i=0;i<childCount;i++)
_CollapseIfLegend(node.GetChild(i));}}
function CheckAllLayers(id,checked)
{var tree=_GetLM(id).GetTree();if(tree!=null&&tree.GetLastCtxNode()!=null)
tree.GetLastCtxNode().CheckNode(checked,true);btnApplyLyrMgr(id);}
function CheckAllAllLayers(id,checked)
{var tree=_GetLM(id).GetTree();if(tree!=null)
{var nodes=tree.GetNodes();for(var i=0;i<nodes.length;i++)
{nodes[i].CheckNode(checked,true);}}
btnApplyLyrMgr(id);}
function _MoveCtxMenus()
{window._moveCtxMenu='_MoveCtxMenus2()';}
function _MoveCtxMenus2()
{var node=document.getElementById('cmLayer');if(node!=null)
document.body.appendChild(node);node=document.getElementById('cmLayerThemeMore');if(node!=null)
document.body.appendChild(node);node=document.getElementById('cmLayerMore');if(node!=null)
document.body.appendChild(node);node=document.getElementById('cmLayerTheme');if(node!=null)
document.body.appendChild(node);node=document.getElementById('cmMap');if(node!=null)
document.body.appendChild(node);node=document.getElementById('cmLayerThematicSelections');if(node!=null)
document.body.appendChild(node);}
function don(){return;}
function UpdateMapPanel(resp)
{__doPostBack(_Target,'Map');}
function ResetRedrawFlag(resp)
{resp.context.DisableRedraw=false;}
function InitializeLyrMgr(lyrMgrTree,mapSourceId,mapControlId,guid)
{var lm=_GetLM(lyrMgrTree);if(lm)
{lm.MapId=mapSourceId;lm.MapControlId=mapControlId;lm.DestroyMap();lm.RegisterWithMap();lm.Refresh();}
else
{var tree=_FindTree(lyrMgrTree);tree.RegisterDragDrop(HandleDragDrop);tree.RegisterSelect(HandleSelect)
tree.RegisterRadioSelect(HandleRadioSelect);var styles=tree.GetStyles();m_lyrNodeStyle=styles.Regular;m_activeNodeStyle=styles.Active;m_greyedNodeStyle=styles.Greyed;m_groupNodeStyle=styles.Group;m_mapNodeStyle=styles.RootLevel;var count=0;for(var i=0;i<tree.GetNodeCount();i++)
{count+=tree.GetNode(i).GetChildCount();}
if(count==0)
{}
if(mapSourceId!=null)
m_mapSourceId=mapSourceId;lm=new LayerManager(lyrMgrTree,mapSourceId,mapControlId,guid);for(var i=0;i<g_lyrManagers.length;i++)
{if(g_lyrManagers[i].Id==lm.Id)
{g_lyrManagers.splice(i,1);break;}}
g_lyrManagers.push(lm);}
try
{LoadThemeMenus();}
catch(e){alert('ExceptionHandler::LoadThemeMenus'+e.message);}
try
{LoadDynamicMenus();}
catch(e){alert('ExceptionHandler::LoadDynamicMenus'+e.message);}}
function VerifyLyrMgr(lmid,mapSourceId)
{}
function HandleLyrMgrUpdate(updateScript)
{try
{eval(updateScript.value);}
catch(e){}}
function HandleDragDrop(tree,draggedNode,droppedNode)
{if(draggedNode!=null&&droppedNode!=null&&draggedNode.Id!=droppedNode.Id)
{var draggedId=draggedNode.Id;var droppedId=droppedNode.Id;var m1=draggedId.substring(0,draggedId.indexOf(":"));var m2=droppedId.substring(0,droppedId.indexOf(":"));if(m1==m2)
{if(draggedNode.NodeType=="G")
{var parentNode=tree.GetParentNode(droppedNode.Id);if(parentNode!=null&&parentNode.NodeType=="G")
return;}
else if(draggedNode.NodeType=="TH")
{var draggedNodeLayerId=getLayerId(draggedId);var droppedNodeLayerId=getLayerId(droppedId);if(draggedNodeLayerId==null||droppedNodeLayerId==null||draggedNodeLayerId!=droppedNodeLayerId)
return;if(droppedNode.NodeType=="L")
return;}
tree.UpdateChecked();if(tree.MoveNode(draggedId,droppedId))
{_RedrawLMTree(tree);}}}}
function HandleSelect(tree,selectedNode)
{if(selectedNode.NodeType=="J")
{var lm=_GetLM(tree.Id);var map=lm.GetMap();var checked=selectedNode.IsChecked();if(map!=null)
{if(map.baseLayer.getVisibility()!=checked)
{lm.DisableRedraw=true;map.baseLayer.setVisibility(checked);_OnPointWebControls.Map.LayerManagerAjaxWrapper.UpdateJSMapState(lm.MapId,selectedNode.Id,checked,selectedNode.GetSelectedRadioOption(),ResetRedrawFlag,lm);}}}}
function HandleRadioSelect(tree,selectedNode)
{if(selectedNode)
{var opt=selectedNode.GetSelectedRadioOption();var checked=selectedNode.IsChecked();var lm=_GetLM(tree.Id);_OnPointWebControls.Map.LayerManagerAjaxWrapper.UpdateJSMapState(lm.MapId,selectedNode.Id,checked,opt,UpdateMapPanel,lm);}}
function getLayerId(nodeId)
{var layerId=null;if(nodeId!=null)
{var arrIds=nodeId.split(":");if(arrIds!=null&&arrIds.length>=2)
{layerId=arrIds[1];}}
return layerId;}
function RemoveThematicSelection(id)
{if(!sessionExpired)
{try
{var tree=_FindTree(id);if(tree!=null&&tree.GetLastCtxNode()!=null)
{var lyrId=tree.GetLastCtxNode().Id;var selectionId;var arr=lyrId.split(":");if(arr!=null&&arr.length==3)
{lyrId=arr[1];selectionId=arr[2];}
_OnPointWebControls.Map.LayerManagerAjaxWrapper.RemoveThematicSelection(lyrId,selectionId,HandleRemoveThematicSelection);}}
catch(e){alert('ExceptionHandler::RemoveThematicSelection'+e.message);}}
else
HandleSessionExpired();}
function HandleRemoveThematicSelection(success)
{if(success.value&&window.UpdatePanel)
{if(window.RefreshMap)
{RefreshMap();}}}
function GetContextLayerId()
{var tree=_GetFirstTree();var lyrId=null;if(tree!=null&&tree.GetLastCtxNode()!=null)
{lyrId=tree.GetLastCtxNode().Id;lyrId=lyrId.substr(lyrId.indexOf(":")+1);}
return lyrId;}
function ClearTheme()
{if(!sessionExpired)
{try
{var layerId=GetContextLayerId();if(layerId!=null)
{showLoading();_OnPointWebControls.Map.LayerManagerAjaxWrapper.ClearTheme(layerId,HandleClearTheme);}}
catch(e)
{alert('ExceptionHandler::ClearTheme '+e.message);hideLoading();}}
else
{HandleSessionExpired();}}
function HandleClearTheme(errorMessage)
{if(errorMessage.value==null)
{if(window.RefreshMap)
{RefreshMap();}}
else
{alert(errorMessage.value);hideLoading();}}
function ApplyTheme(themeId)
{if(!sessionExpired)
{try
{showLoading();_OnPointWebControls.Map.LayerManagerAjaxWrapper.ApplyTheme(themeId,HandleApplyTheme);}
catch(e)
{alert('ExceptionHandler::ApplyTheme '+e.message);hideLoading();}}
else
{HandleSessionExpired();}}
function HandleApplyTheme(errorMessage)
{if(errorMessage.value==null)
{if(window.RefreshMap)
{RefreshMap();}}
else
{alert(errorMessage.value);hideLoading();}}
function NewTheme()
{if(!sessionExpired)
{try
{var layerId=GetContextLayerId();if(layerId!=null)
{_OnPointWebControls.Map.LayerManagerAjaxWrapper.SetThematicMappingLayer(layerId,true,HandleNewTheme);}}
catch(e){alert('ExceptionHandler::NewTheme '+e.message);}}
else
{HandleSessionExpired();}}
function HandleNewTheme(errorMessage)
{if(errorMessage.value==null)
{window.HandleThemeFrame(NGServerUrl()+'/WebPages/ThematicMap/ThematicMapPage.aspx');}
else
{alert(errorMessage.value);}}
function ManageTheme()
{if(!sessionExpired)
{try
{var layerId=GetContextLayerId();if(layerId!=null)
{_OnPointWebControls.Map.LayerManagerAjaxWrapper.SetThematicMappingLayer(layerId,false,HandleManageTheme);}}
catch(e){alert('ExceptionHandler::ManageTheme '+e.message);}}
else
{HandleSessionExpired();}}
function HandleManageTheme(errorMessage)
{if(errorMessage.value==null)
{window.HandleManageThemeFrame(NGServerUrl()+'/WebPages/ThematicMap/ManageThemes.aspx');}
else
{alert(errorMessage.value);}}
function LoadThemeMenu(layerId)
{if(!sessionExpired)
{try
{_OnPointWebControls.Map.LayerManagerAjaxWrapper.GetThemeMenu(layerId,HandleLoadThemeMenu);}
catch(e){alert('ExceptionHandler::LoadThemeMenu '+e.message);}}
else
{HandleSessionExpired();}}
function LoadThemeMenus()
{if(!sessionExpired)
{try
{_OnPointWebControls.Map.LayerManagerAjaxWrapper.GetThemeMenus(HandleLoadThemeMenu);}
catch(e){alert('ExceptionHandler::LoadThemeMenus '+e.message);}}
else
{HandleSessionExpired();}}
function HandleLoadThemeMenu(themeMenuData)
{if(themeMenuData!=null)
{LoadMenu(themeMenuData.value);}}
function LoadDynamicMenus()
{if(!sessionExpired)
{try
{_OnPointWebControls.Map.LayerManagerAjaxWrapper.GetDynamicMenus(HandleLoadDynamicMenu);}
catch(e){alert('ExceptionHandler::LoadDynamicMenus '+e.message);}}
else
{HandleSessionExpired();}}
function HandleLoadDynamicMenu(dynamicMenuData)
{if(dynamicMenuData!=null)
{LoadMenu(dynamicMenuData.value);}}
function SetThematic(id){return;}
function SetMore(id){return;}
function GetThematicItems()
{childItemsData=1
return childItemsData;}
function FillThematicContainer(layerId,tableClass,itemTableClass,linkClass,tableHoverClass,linkHoverClass,ctrlSuffix)
{var themeMenu=FindMenu('Theme',layerId);var themeMenuHtml='';if(themeMenu!=null)
{themeMenuHtml=themeMenu.GetHtml(tableClass,itemTableClass,linkClass,tableHoverClass,linkHoverClass);}
document.getElementById('cmThematic'+ctrlSuffix).innerHTML=themeMenuHtml;}
function FillDynamicMenuContainer(layerId,tableClass,itemTableClass,linkClass,tableHoverClass,linkHoverClass,ctrlSuffix)
{var themeMenu=FindMenu('More',layerId);var themeMenuHtml='';if(themeMenu!=null)
{themeMenuHtml=themeMenu.GetHtml(tableClass,itemTableClass,linkClass,tableHoverClass,linkHoverClass);}
document.getElementById('cmMore'+ctrlSuffix).innerHTML=themeMenuHtml;}
function ClearThematicContainer(ctrlSuffix)
{document.getElementById('cmThematic'+ctrlSuffix).innerHTML='';}
function ClearMoreOptionsContainer()
{document.getElementById('cmMore'+ctrlSuffix).innerHTML='';}
function CustomMenuHover(item)
{var node=Menu_HoverRoot(item);var data=Menu_GetData(item);if(!data)
return;__disappearAfter=data.disappearAfter;if(node.href=="javascript:SetThematic()"||node.href=="javascript:SetThematic('2')")
{var menuCreated=false;var ctrlSuffix="";if(node.href=="javascript:SetThematic('2')")
ctrlSuffix="2";try
{var layerId=GetContextLayerId();if(layerId!=null)
{var menuTable=Menu_FindParentContainer(item);var tableClass=menuTable.className;var previousNode=Menu_FindPrevious(item);var itemTable=previousNode.parentNode.parentNode.parentNode.parentNode;var itemTableClass=itemTable.className;var itemLink=Menu_FindNext(item);var linkClass=itemLink.className;var tableHoverClass=data.staticHoverClass;var linkHoverClass=data.staticHoverHyperLinkClass;FillThematicContainer(layerId,tableClass,itemTableClass,linkClass,tableHoverClass,linkHoverClass,ctrlSuffix);menuCreated=true;}}
catch(e){alert('ExceptionHandler::CustomMenuHover '+e.message);}
if(!menuCreated)
{ClearThematicContainer(ctrlSuffix);}}
else if(node.href=="javascript:SetMore()"||node.href=="javascript:SetMore('2')")
{var menuCreated=false;var ctrlSuffix="";if(node.href=="javascript:SetMore('2')")
ctrlSuffix="2";try
{var layerId=GetContextLayerId();if(layerId!=null)
{var menuTable=Menu_FindParentContainer(item);var tableClass=menuTable.className;var previousNode=Menu_FindPrevious(item);var itemTable=previousNode.parentNode.parentNode.parentNode.parentNode;var itemTableClass=itemTable.className;var itemLink=Menu_FindNext(item);var linkClass=itemLink.className;var tableHoverClass=data.staticHoverClass;var linkHoverClass=data.staticHoverHyperLinkClass;FillDynamicMenuContainer(layerId,tableClass,itemTableClass,linkClass,tableHoverClass,linkHoverClass,ctrlSuffix);menuCreated=true;}}
catch(e){alert('ExceptionHandler::CustomMenuHover '+e.message);}
if(!menuCreated)
{ClearMoreOptionsContainer(ctrlSuffix);}}
Menu_Expand(node,data.horizontalOffset,data.verticalOffset);}
function _GetLyrMgrStyles()
{var lyrCSS="";try{lyrCSS=m_lyrNodeStyle;}catch(e){};var activeCSS="";try{activeCSS=m_activeNodeStyle;}catch(e){};var greyedCSS=""
try{greyedCSS=m_greyedNodeStyle;}catch(e){};var groupCSS="";try{groupCSS=m_groupNodeStyle;}catch(e){};var mapCss="";try{mapCss=m_mapNodeStyle;}catch(e){};return{Regular:lyrCSS,Active:activeCSS,Greyed:greyedCSS,Group:groupCSS,RootLevel:mapCss};}
function GetMapIDMTD()
{var tree=_FindTree(m_layerMgrTree);var mapId=null;if(tree!=null&&tree.GetLastCtxNode()!=null)
{mapId=tree.GetLastCtxNode().Id;mapId=mapId.substr(mapId.indexOf(":")+1);}
var url=NGServerUrl();var MypageURurl='/WebPages/MetaDataViewer/frmViewMetaData.aspx';var CompleteURL=url+MypageURurl;HandleMetadataToolFrame(CompleteURL+'?RESOURCE=MS'+mapId);return;}
function GetInstanceIDMTD()
{var instanceId=1;var url=NGServerUrl();var MypageURurl='/WebPages/MetaDataViewer/frmViewMetaData.aspx';var CompleteURL=url+MypageURurl;HandleMetadataToolFrame(CompleteURL+'?RESOURCE=IN'+instanceId);return;}
function GetLayerIDMTD()
{var tree=_FindTree(m_layerMgrTree);var lyrId=null;if(tree!=null&&tree.GetLastCtxNode()!=null)
{lyrId=tree.GetLastCtxNode().Id;lyrId=lyrId.substr(lyrId.indexOf(":")+1);}
var url=NGServerUrl();var MypageURurl='/WebPages/MetaDataViewer/frmViewMetaData.aspx';var CompleteURL=url+MypageURurl;HandleMetadataToolFrame(CompleteURL+'?RESOURCE=LY'+lyrId);return;}
function __alert(msg)
{}
function GetLayerIDATRTAB()
{var tree=_FindTree(m_layerMgrTree);var lyrId=null;if(tree!=null&&tree.GetLastCtxNode()!=null)
{lyrId=tree.GetLastCtxNode().Id;lyrId='Layers,'+lyrId.substr(lyrId.indexOf(":")+1);}
PageMethods.SetSearchResult(lyrId,tree.GetLastCtxNode().Text,true,Dopostback);}
function Dopostback()
{try
{if((this.parent)&&(this.parent.frames)&&(this.parent.frames['fundySearchiFrame']))
{ShowLayer(_SearchLayer,null,null);var url=NGServerUrl()+"/Webpages/Search/FundySearch.aspx?DISPLAYRESULTS=true"
var iframeElem=document.getElementById(_SearchIframe);iframeElem.setAttribute('isLoaded','true');PopulateiFrame(_SearchIframe,url,null,null);}
else
{UpdatePanel('Search_Result');}}
catch(e)
{alert('ExceptionHandler::'+e);}}
function UpdateMapHistory()
{if(!sessionExpired)
{try
{_Onpoint.MapHistory.GetMapHistoryStatus(1,g_mapSourceSessionKey,null,HandleServerResponse);}
catch(e){}}
else
HandleSessionExpired();}
function navigateMapHistory(direction)
{if(!sessionExpired)
{ShowLoading();if(!g_subjectAreaMapMode)
{var lyrStyles=_GetLyrMgrStyles();}
if(direction=='PREVIOUS_MAP')
{try
{_Onpoint.MapHistory.DisplayPreviousImages(1,g_mapSourceSessionKey,null,HandleServerResponse);}
catch(e)
{_Onpoint.MapHistory.DisplayPreviousImagesAdmin(1,g_mapSourceSessionKey,HandleServerResponse);}}
else if(direction=='NEXT_MAP')
{try
{_Onpoint.MapHistory.DisplayNextImages(1,g_mapSourceSessionKey,null,HandleServerResponse);}
catch(e)
{_Onpoint.MapHistory.DisplayNextImagesAdmin(1,g_mapSourceSessionKey,HandleServerResponse);}}}
else
{HandleSessionExpired();}}