﻿// JScript File

            var iCallID = 0;
            var intA = 5;
            var intB = 6;    
            var gProxy = null;
            var LoadWait = 0;
            var polyid = 1;
            var map = null;
             var LMap = null;
             var layerid=1;   
             var pinID= 1;  
             var layerlist = null;   
             var Basin;
             var FillColor;
             var ActivePoly;
             var mapCenter;
             var zoomLevel;
             var altitude;
             var heading;
             var pitch;   
             var LastLoadingPushpinLayer;         
             
             var LayerArray = ["Fish","Instream","Riparian","Road","Upland","Urban","Wetland", "Combined","Aggregated"];
             zoomMax = 14;
             zoomMin = 0;                      
                      
             function GetMap()
             {  
              try {           
                window.moveTo(0, 0);
                window.resizeTo(screen.availWidth, screen.availHeight);
                map = new VEMap('myMap');
                map.LoadMap(new VELatLong(43.41, -123.18), 12 ,'s' , false);                
                map.AttachEvent('onmodenotavailable', No3DInstalled);
                map.AttachEvent('onclick', RemoveMyControl);
                map.AttachEvent('onmouseover', onMouseOver);
                map.AttachEvent('onendzoom', function(obj) { zoomControl(obj); });
                map.EnableShapeDisplayThreshold(false);
                LMap = new VEMap('LocatorMap');                
                LMap.LoadMap(new VELatLong(43.41 -123.18), 8, 'r', false);                
                LMap.HideDashboard();                                                      
                LMap.SetMapMode(VEMapMode.Mode2D);  
                ChangeLocatorBox();                 
                map.ShowDisambiguationDialog(true);                
                map.onLoadMap = init();                 
                map.AttachEvent("onchangeview", OnChangeView)
                } catch(e){  
                alert(e);    
                }            
                CheckUBEBasin();                   
            }                   
           
        function getBrowser()
        {
            var Browser = navigator.appName;
            return Browser;
        }
        
        function init()
        {       
                Basin = document.getElementById("DropDownList1").value;                               
                AddBasinPolygon(Basin, false);
                LoadPushPinLayers(Basin);                                  
                window.setTimeout('ZoomToBasin()',500);            
        }       
        
        function AddData(SelectedBasin)
        {        
        map.HideAllShapeLayers();
        AddBasinPolygon(SelectedBasin, true);
        LoadPushPinLayers(Basin);  
        AddBasinPolygon(SelectedBasin, false);             
        document.getElementById("BasinChkBox").checked = true;
        CheckUBEBasin();
        window.setTimeout('ZoomToBasin()',500);
        }
         
         function AddBasinPolygon(SelectedBasin, DeletePushpins)
         {
                Basin = SelectedBasin;
                map.DeleteAllPolygons();
                if (DeletePushpins == true)
                {            
                map.DeleteAllPushpins();  
                }                             
                var source = "BasinXML/";
                                              
                switch (Basin) 
                {
                case "UMPQUA" : source += "UBEBasin.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "POWDER" : source += "PowderBasin.xml"; Fillcolor = new VEColor(100,200,200,0.2); break;              
                case "WILLAMETTE" : source += "WillametteBasin.xml";Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "DESCHUTES" : source += "Deschutes.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "GRANDERONDE" : source += "GrandeRonde.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "HOOD" : source += "HoodRiver.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "JOHNDAY" : source += "JohnDay.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "KLAMATH" : source += "Klamath.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "LAKES" : source += "Lakes.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "LOWERCOLUMBIA" : source += "LowerColumbia.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "NORTHCOAST" : source += "NCoast.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "OWYHEEMALHEUR" : source += "OwyheeMalheur.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "ROGUE" : source += "Rogue.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "SOUTHCOAST" : source += "SouthCoast.xml"; Fillcolor = new VEColor(100,200,200,0.2); break; 
                case "UMATILLA" : source += "Umatilla.xml"; Fillcolor = new VEColor(100,200,200,0.2); break;                                     
                default: ID = 'unknown';
                }   
                
                 if (window.ActiveXObject)
                {
	                xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	                xmlDoc.async=false;
	                xmlDoc.load(source);
	                getmessage(Basin, Fillcolor);
                }
                //alert(Basin);
                 else if (document.implementation && document.implementation.createDocument)
                {
	                xmlDoc=document.implementation.createDocument("","",null);
	                xmlDoc.load(source);
	                xmlDoc.onload=getmessage;	                
                }
                else
                {
	                alert('Your browser cannot handle this script');
                }
                  
         }           
        
        function LoadPushPinLayers(selectedBasin, layer)
            {        
                //
                var PushPinArray = [];      
                LayerArray = ["Fish","Instream","Riparian","Road","Upland","Urban","Wetland", "Combined","Aggregated"]; 
                if (layer != undefined)
                 {       
                        PushPinArray = [layer, layer+"_Multi", layer+"_IRDA"];          
                 }
                else
                {
                    //identify what layers are checked and add to PushPinArray                             
                    var length = LayerArray.length;                
                    
                    for (var e=0; e < length; e++)
                     { 
                     var chkBox = LayerArray[e]+'ChkBox';                
                         if (document.getElementById(chkBox).checked == true)
                         {
                             if (LayerArray[e] == "Aggregated")
                             {
                             PushPinArray.push(LayerArray[e]);
                                 if (selectedBasin == "Umpqua")
                                 {
                                 PushPinArray.push(LayerArray[e]+"_IRDA");
                                 }
                             }
                             else 
                             {
                             PushPinArray.push(LayerArray[e]);                 
                             PushPinArray.push(LayerArray[e]+"_Multi");
                                 if (selectedBasin == "Umpqua")
                                 {
                                 PushPinArray.push(LayerArray[e]+"_IRDA");
                                 }                 
                             }
                         }
                     }
               }
                var IconUrl ="./images/";   
                var SourcePath = "./GeoRSS_Files/"+selectedBasin.toUpperCase().replace(" ","")+"/";             
             for (var i=0; i < PushPinArray.length; i++)
             {
               if (i==0)
               {
                LastLoadingPushpinLayer = selectedBasin+PushPinArray[PushPinArray.length-1]    
               }
               var layer = PushPinArray[i];                   
               switch (layer) 
                    {
                    case "Aggregated" : IconUrl += 'aggregated.gif'; SourcePath += "aggregated.xml"; break;
                    case "Aggregated_IRDA" : IconUrl += 'aggregated.gif'; SourcePath += "IRDA/aggregated.xml"; break;
                    case "Instream" : IconUrl += 'Instream.gif'; SourcePath += "instream.xml"; break;
                    case "Instream_Multi" : IconUrl += 'Instream_Lg.gif'; SourcePath += "instream_multi.xml"; break;
                    case "Instream_IRDA" : IconUrl += 'Instream.gif'; SourcePath += "IRDA/Instream.xml"; break;
                    case "Riparian" : IconUrl += 'Riparian.gif'; SourcePath += "riparian.xml"; break;
                    case "Riparian_Multi" : IconUrl += 'Riparian_Lg.gif'; SourcePath += "riparian_multi.xml"; break;
                    case "Riparian_IRDA" : IconUrl += 'Riparian.gif'; SourcePath += "IRDA/Riparian.xml"; break;
                    case "Wetland" : IconUrl += 'Wetland.gif'; SourcePath += "wetland.xml"; break;
                    case "Wetland_Multi" : IconUrl += 'Wetland_Lg.gif'; SourcePath += "wetland_multi.xml"; break;
                    case "Wetland_IRDA" : IconUrl += 'Wetland.gif'; SourcePath += "IRDA/Wetland.xml"; break;
                    case "Fish" : IconUrl += 'FishPassage.gif'; SourcePath += "fish passage.xml"; break;
                    case "Fish_Multi" : IconUrl += 'FishPassage_Lg.gif'; SourcePath += "fish passage_multi.xml"; break;
                    case "Fish_IRDA" : IconUrl += 'Fish.gif'; SourcePath += "IRDA/Fish.xml"; break;
                    case "Upland" : IconUrl += 'Upland.gif'; SourcePath += "upland.xml"; break;
                    case "Upland_Multi" : IconUrl += 'Upland_Lg.gif'; SourcePath += "upland_multi.xml"; break;
                    case "Upland_IRDA" : IconUrl += 'Upland.gif'; SourcePath += "IRDA/Upland.xml"; break;
                    case "Road" : IconUrl += 'Road.gif'; SourcePath += "road.xml"; break;
                    case "Road_Multi" : IconUrl += 'Road_Lg.gif'; SourcePath += "road_multi.xml"; break;
                    case "Road_IRDA" : IconUrl += 'Road.gif'; SourcePath += "IRDA/Road.xml"; break;
                    case "Urban" : IconUrl += 'Urban.gif'; SourcePath += "urban.xml"; break;
                    case "Urban_Multi" : IconUrl += 'Urban_Lg.gif'; SourcePath += "urban_multi.xml"; break;
                    case "Urban_IRDA" : IconUrl += 'Urban.gif'; SourcePath += "IRDA/Urban.xml"; break;
                    case "Combined" : IconUrl += 'Combined.gif'; SourcePath += "combined.xml"; break;
                    case "Combined_Multi" : IconUrl += 'Combined_Lg.gif'; SourcePath += "combined_multi.xml"; break;
                    case "Combined_IRDA" : IconUrl += 'Combined.gif'; SourcePath += "IRDA/Combined.xml"; break;
                    case "UBFATnotbarrier" : IconUrl += 'UBFAT_notBarrier.gif'; SourcePath += "UBFAT/NotBarrier.xml"; break;
                    case "UBFATJuv" : IconUrl += 'UBFAT_juv.gif'; SourcePath += "UBFAT/JuvBarrier.xml"; break;
                    case "UBFATcuttcoho" : IconUrl += 'UBFAT_cuttcoho.gif'; SourcePath += "UBFAT/CuttCoho.xml"; break;
                    case "UBFATcuttcohochin" : IconUrl += 'UBFAT_cuttcohochin.gif'; SourcePath += "UBFAT/CuttCohoChin.xml"; break;
                    case "UBFATall" : IconUrl += 'UBFAT_all.gif'; SourcePath += "UBFAT/AllBarrier.xml"; break;
                    case "BLMnot" : IconUrl += 'BLM_not.gif'; SourcePath += "BLM/No.xml"; break;
                    case "BLMPassable" : IconUrl += 'BLM_pass.gif'; SourcePath += "BLM/Yes.xml"; break; 
                    default: icon = 'unknown';
                    }  
                var ShapeLayerCount = map.GetShapeLayerCount();
                var isShapeLayerLoaded = false;
                if (ShapeLayerCount > 0)
                {
                    for (var j=0;j<ShapeLayerCount;j++)
                    {
                        try
                        {
                        var tempShapeLayer = map.GetShapeLayerByIndex(j);
                        if (tempShapeLayer.GetTitle() == selectedBasin+PushPinArray[i])
                        {
                            tempShapeLayer.Show();
                            isShapeLayerLoaded = true;                
                        }  
                        }
                        catch (ex)
                        {
                            alert(ex.message);
                        }          
                    }  
                }
                if (!isShapeLayerLoaded)
                {       
                var shapeLayer = new VEShapeLayer();    
                shapeLayer.SetTitle(selectedBasin+PushPinArray[i]);
                shapeLayer.IconURL = IconUrl;
                var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS,SourcePath,shapeLayer);    
                veLayerSpec.SetsBestMapView = false;    
                map.ShowMessageBox = false;
                map.ImportShapeLayerData(veLayerSpec, onFeedLoad, shapeLayer);
                }   
                IconUrl = "./images/";     
                SourcePath = "./GeoRSS_Files/"+selectedBasin.toUpperCase().replace(" ","")+"/";         
             }
            }
    
        
        
         function zoomControl( obj ) {
         var currentZoom = obj.zoomLevel;
         
         if (document.getElementById("DropDownList1").value == "UMPQUA")
         {       		
             if(currentZoom > zoomMax) {
                map.SetZoomLevel(zoomMax);
             } else if(currentZoom < zoomMin) {
                map.SetZoomLevel(zoomMin);
              }
            }
         }
        
        function onFeedLoad(feed)
        {
            var ShapeCount = feed.GetShapeCount();
            for (var i=0;i<ShapeCount;i++)
            {
                var shape = feed.GetShapeByIndex(i);       
                shape.SetCustomIcon(feed.IconURL);
            }           
            if (LastLoadingPushpinLayer == feed.Name)
            {          
                window.setTimeout('ZoomToBasin()',500);
                map.ShowMessageBox = true;
            }
        }
        function TogglePushPinLayers(layer, checked, selectedBasin)
             {    
                var ShapeLayerCount = map.GetShapeLayerCount(); 
                var isShapeLayerLoaded = false;      
                if (checked != true)//layer was on
                {
                   try 
                   {
                   for (var j=0;j<ShapeLayerCount;j++)
                        {
                            var tempShapeLayer = map.GetShapeLayerByIndex(j);                
                            if ((tempShapeLayer.GetTitle() == selectedBasin+layer || tempShapeLayer.GetTitle() == selectedBasin+layer+"_IRDA")|| (layer != "Aggregated" && tempShapeLayer.GetTitle() == selectedBasin+layer+"_Multi"))
                            {
                                tempShapeLayer.Hide();
                                isShapeLayerLoaded = true;                
                            }                      
                        }          
                    }       
                   catch (ex)//layer not yet made
                   {                   
                   }
                }
                else //layer was not on
                { 
                     try
                        {
                        for (var k=0;k<ShapeLayerCount;k++)
                            {
                                var tempShapeLayer = map.GetShapeLayerByIndex(k);                
                                if (tempShapeLayer.GetTitle() == selectedBasin+layer || tempShapeLayer.GetTitle() == selectedBasin+layer+"_IRDA"|| tempShapeLayer.GetTitle() == selectedBasin+layer+"_Multi")
                                {
                                    tempShapeLayer.Show();
                                    isShapeLayerLoaded = true;                
                                }                      
                            }          
                        }                         
                     catch (EX)
                        {
                            isShapeLayerLoaded = false;
                        }
                     if (isShapeLayerLoaded == false)
                        {         
                        //var tab = dijit.byId('mainTabContainer').selectedChildWidget.title;   
                        LoadPushPinLayers(selectedBasin, layer);
                        }
                 } 
            }     
           
           function CheckUBEBasin()
           {            
            if (Basin == "UMPQUA")            
                {                       
                    document.getElementById("divWatershed").style.display ="block"; 
                    document.getElementById("chkBox5th1").style.visibility = "visible";            
                    document.getElementById("chkBox5th2").style.visibility = "visible";                      
                }   
            else
                {
                    document.getElementById("divWatershed").style.display = "none";
                    document.getElementById("chkBox5th1").style.visibility = "hidden";            
                    document.getElementById("chkBox5th2").style.visibility = "hidden";               
                }
            }
                                    
           function Reset()
           {  
            if (map.GetMapMode() == VEMapMode.Mode2D)  
            {     
            map.SetCenterAndZoom(mapCenter, zoomLevel);
            }
            else if (map.GetMapMode() == VEMapMode.Mode3D)
            {
               map.SetCenter(mapCenter);
               map.SetAltitude(altitude);            
               map.SetPitch(pitch);            
               map.SetHeading(heading);                
            }
           }
           
            function get3DSettings()      
            {         
              altitude = map.GetAltitude();
              heading = map.GetHeading()
              pitch = map.GetPitch();      
            }              
         
            
            function onFailed(result)
            {
            alert(result);
            }
            
            function OnSucceededWithContext(result)
            {   
               ParseXMLResponse(result);   
               if (result.getElementsByTagName('PushPinID').length > 0)
               {
                   var PushPinId = result.getElementsByTagName('PushPinID')[0].text.split("~");
                   var viewcount = PushPinId[1];       
                   var pushpin = map.GetShapeByID(PushPinId[0]);            
                   var pushPinTitle = "<div id='projectPopup'>"+CreateTitleHeaderScript();      
                   pushpin.SetTitle(pushPinTitle);
                   pushpin.SetDescription("<div id='projectDetails'><a id='projectDetails_header' class='openPanelHeader' href='javascript:toggleVisibility(\"projectDetails\");'><span style='font-family: Trebuchet MS; font-size: 12pt; color: darkgray'><b>Project Information</b></span><p></p></a></div><div id='projectDetails_content' class='openPanelContent'>"+CreateProjectInfoScript()+"</div><div id='projectActivities'><a id='projectActivities_header'  class='closedPanelHeader' href='javascript:toggleVisibility(\"projectActivities\");'><span style='font-family: Trebuchet MS; font-size: 12pt; color: darkgray'><b>Restoration Activities</b></span><p></p></a></div><div id='projectActivities_content' class='closedPanelContent'>"+CreateActivityScript()+"</div></div>"); 
                   map.ShowInfoBox(pushpin);    
                   //addTabsToPopUp(PushPinId[0], viewcount);     
              }                             
              ResetVariables(); 
            }   
               
            function OnSucceededWithContext2(result)
            {
                var PopUp = document.getElementById("PopUpDiv");
                 var PopUpShim = document.getElementById("PopUpShim");
                if (PopUp!=null && PopUp.style.posLeft < 50)
                {                    
                    RemoveMyControl();
                } 
                else
                {               
                ParseXMLResponse(result);
                var resultDiv = document.getElementById("PopUpDiv");
                //var resultDiv = document.getElementById(
                if(resultDiv!=null&&resultDiv!="undefined")
                {
                    //resultDiv.style.fontFamily = "Trebuchet MS";
                    //resultDiv.style.fontSize = "8pt";
                    //resultDiv.innerHTML = CreateTitleHeaderScript()
                    resultDiv.innerHTML ="<div id='projectPopup'>"+CreateTitleHeaderScript()+"<div id='projectDetails'><a id='projectDetails_header' class='openPanelHeader' href='javascript:toggleVisibility(\"projectDetails\");'><span style='font-family: Trebuchet MS; font-size: 12pt; color: darkgray'><b>Project Information</b></span><p></p></a></div><div id='projectDetails_content' class='openPanelContent'>"+CreateProjectInfoScript()+"</div><div id='projectActivities'><a id='projectActivities_header'  class='closedPanelHeader' href='javascript:toggleVisibility(\"projectActivities\");'><span style='font-family: Trebuchet MS; font-size: 12pt; color: darkgray'><b>Restoration Activities</b></span><p></p></a></div><div id='projectActivities_content' class='closedPanelContent'>"+CreateActivityScript()+"</div></div>";        
                    
                    var Pointer = document.getElementById("PopUpPointer");
                    Pointer.style.visibility="visible";                        
                    //GetImage(projID);
                }                     
                 if (PopUpShim!=null) 
                 {PopUpShim.style.height = resultDiv.clientHeight;
                  PopUpShim.style.width = resultDiv.clientWidth;}
                  }    
                  ResetVariables();                         
            }        
        
        function addTabsToPopUp(PushPinId, viewcount)
        {
               var PushPinIdDisplay = viewcount+PushPinId;
               var containerEl = dojo.byId(PushPinIdDisplay+'PopUp'); 
               var containerPhoto = dojo.byId(PushPinIdDisplay+'Photo');
               if (containerEl != undefined)
               {
               if (containerEl.childNodes.length > 0)
               {
                var child = containerEl.childNodes[0];
                child.parentNode.removeChild(child);
               }  
               //containerEl.innerHTML = "";
               //containerEl.removeNode(containerEl.childNodes[0]);      
               //containerPhoto.removeChild(containerPhoto.children[0]);
               var tabDiv = document.createElement('div');       
               tabDiv.setAttribute('id', 'tabDiv'+PushPinIdDisplay);       
               containerEl.appendChild(tabDiv);

               var div1   = document.createElement('div');
               tabDiv.appendChild(div1);
               if (ActiveTab == 'Restoration')
               {
               var div2   = document.createElement('div');
               tabDiv.appendChild(div2);
               var div3   = document.createElement('div');
               tabDiv.appendChild(div3);
               }

               var cp1 = new dijit.layout.ContentPane( {id:"cp1"+PushPinIdDisplay}, div1 );
               switch (DataSource)
               {
                case "BLM":
                    cp1.setContent("<div id='projectDetails_content' class='openPanelContent'>"+BLMCreateDescriptionScript()+"</div>");
                    cp1.title = "Project Information";
                    break;
                case "UBFAT":
                    cp1.setContent("<div id='projectDetails_content' class='openPanelContent'>"+UBFATCreateDescriptionScript()+"</div>");
                    cp1.title = "Project Information";
                    break;
                default:
                    cp1.setContent("<div id='projectDetails_content' class='openPanelContent'>"+CreateProjectInfoScript()+"</div>");
                    cp1.title = "Project";
                    break;
               }       
               cp1.srcNodeRef.style.padding = "10px";
               
               if (ActiveTab == 'Restoration')
               {
               var cp2 = new dijit.layout.ContentPane( {id:"cp2"+PushPinIdDisplay}, div2 );
               cp2.setContent("<div id='projectActivities_content' class='closedPanelContent'>"+CreateActivityScript()+"</div>");
               cp2.title= "Activities";
               cp2.srcNodeRef.style.padding = "10px";
               
               var cp3 = new dijit.layout.ContentPane( {id:"cp3"+PushPinIdDisplay}, div3 );
               //cp3.onClick = ResizeImagesIE();
               var divPhoto = dojo.doc.createElement("div");       
               cp3.setContent(divPhoto);
               cp3.title= "Photos";
               cp3.srcNodeRef.style.padding = "10px";  
                   
               if (PhotoArray.length > 0)
               {
               if (PhotoArray[0].childNodes.length > 0)
               {   
               var divPhotoGallery   = document.createElement('div');        
               divPhoto.appendChild(divPhotoGallery);
               PhotoGallery = new dojox.image.SlideShow( {id:"PhotoGallery"+PushPinIdDisplay, imageWidth:"180"}, divPhotoGallery);      
               PhotoGallery.setDataStore(getImages(),
                      { query: {}, count:10 },
                      {
                        imageThumbAttr: "thumb",
                        imageLargeAttr: "thumb"
                      }
                    );      
               PhotoGallery.startup();  
               cp3.onmouseout = stopSlideShow;       	          
               }
               }
               else
               {   
                var divDesc   = document.createElement('div');        
                divPhoto.appendChild(divDesc);
                divDesc.innerHTML = "<div>No photos currently added for this project</div><br>";        
               }
               var divDesc2   = document.createElement('div');
               divPhoto.appendChild(divDesc2);                   
                var dijitBtnPhoto = new dijit.form.Button({label: "Add photos to this project"}, divDesc2);
                dijitBtnPhoto.titleNode.style.fontSize = '10px';
                dijitBtnPhoto.onClick = showDialog;
                }
                       
               var tabs = new dijit.layout.TabContainer( {id:"tabs"+PushPinIdDisplay}, tabDiv );
               tabs.domNode.style.width = '225px';
               tabs.domNode.style.height = '315px';
               //tabs.domNode.style.padding = '10px';      
               tabs.tabPosition = "top";
               tabs.addChild(cp1);
               if (ActiveTab == 'Restoration')
               {
               tabs.addChild(cp2);
               tabs.addChild(cp3);
               }
               tabs.startup();
               if (PhotoGallery != undefined)
               {
               window.setTimeout('resizeImages();',500);
               }
               }
                      
              // var pushpin = map.GetShapeByID(PushPinId);
               //pushpin.SetDescription(containerEl.innerHTML);
        }

        function toggleVisibility(panelHeader)
        {
           // alert(document.getElementById("projectDetails_header").className);
           //if(panelHeader=="projectDetails")
           //{
                if(document.getElementById("projectDetails_header").className=="openPanelHeader")
                {
                    document.getElementById("projectDetails_header").className="closedPanelHeader";
                    document.getElementById("projectDetails_content").className="closedPanelContent";
                    document.getElementById("projectActivities_header").className="openPanelHeader";
                    document.getElementById("projectActivities_content").className="openPanelContent";
                }  
                else
                {
                    document.getElementById("projectDetails_header").className="openPanelHeader";
                    document.getElementById("projectDetails_content").className="openPanelContent";
                    document.getElementById("projectActivities_header").className="closedPanelHeader";
                    document.getElementById("projectActivities_content").className="closedPanelContent";
                }          
        }


        
        
        

            
            function ClearDiv(DivID)
                {
                var resultDiv = document.getElementById(DivID);
                resultDiv.innerHTML = "";
                }
       
        function ChangeLocatorBox()
        {
            if (polyid != 1)
            {
            LMap.DeletePolygon(polyid-1);
            }
            var m=map.GetMapMode(); 
            if (m==VEMapMode.Mode3D)
            {
                var mapCenter = map.GetCenter();
                var mapCenterLat = mapCenter.Latitude;
                var mapCenterLong = mapCenter.Longitude;
                var zoomLevel = map.GetZoomLevel();
                var Latmax = mapCenterLat + .5/(zoomLevel+1);
                var Latmin = mapCenterLat - .5/(zoomLevel+1);
                var Longmax = mapCenterLong + 1/(zoomLevel+1);
                var Longmin = mapCenterLong - 1/(zoomLevel+1);
                
                var points3d = new Array(
                    new VELatLong(Latmax, Longmax),              
                    new VELatLong(Latmax, Longmin),              
                    new VELatLong(Latmin,Longmin),              
                    new VELatLong(Latmin,Longmax),              
                    new VELatLong(Latmax, Longmax)                    
                    );         
                 var VEPoly = new VEPolygon(polyid, points3d, new VEColor(0,0,0,0.2), new VEColor(255,0,0,0.5), 2);            
                    LMap.AddPolygon(VEPoly);    
                    polyid ++;     
            }
            else
            {            
            var Xmax = parseFloat(map.GetMapView().TopLeftLatLong.Longitude);
            var Ymax = parseFloat(map.GetMapView().TopLeftLatLong.Latitude);                            
            var Xmin = parseFloat(map.GetMapView().BottomRightLatLong.Longitude);
            var Ymin = parseFloat(map.GetMapView().BottomRightLatLong.Latitude);  
            var points = new Array(
                    new VELatLong(Xmax,Ymax),              
                    new VELatLong(Xmax,Ymin),              
                    new VELatLong(Xmin,Ymin),              
                    new VELatLong(Xmin,Ymax),              
                    new VELatLong(Xmax,Ymax)                    
                    );                    
            var VEPoly = new VEPolygon(polyid, points, new VEColor(0,0,0,0.2), new VEColor(255,0,0,0.5), 2);         
            LMap.AddPolygon(VEPoly);    
            polyid ++;             
            }
                     
        }
       
        function OnChangeView(e)
         {                       
            var newCenter = map.GetCenter();
            var zoomLevel = map.GetZoomLevel();
            zoomLevel = zoomLevel-4;
            ChangeLocatorBox();           
            LMap.SetCenter(newCenter);
            LMap.SetZoomLevel(zoomLevel);                                            
         }
         
         function onMouseOver(e)
         {            
            if(e.elementID != null)
            {         
               var pushpin = map.GetShapeByID(e.elementID);
               if (pushpin.GetShapeType() == "Point")
               {                     
                   var Title;
                   var Desc;
                   var layerType;
                   var layerID;
                   var source;
                   var viewcount;
                   if (pushpin.Keywords == '')
                       {
                       Title = pushpin.GetTitle();
                       Desc = pushpin.GetDescription().split(",");
                       layerType = Desc[1];
                       layerID = Desc[0];
                       source = "";
                       viewcount = 0;
                           if (Desc.length == 3)
                           {
                            source = Desc[2];
                           }                           
                           else
                           {
                           source = "Non_IRDA";
                           }
                       pushpin.Keywords = Title+"~"+Desc+"~"+layerType+"~"+layerID+"~"+source+"~"+viewcount;
                       }
                   else//already loaded 
                       {
                       var Keywords = pushpin.Keywords.split("~");
                       Title = Keywords[0];
                       Desc = Keywords[1];
                       layerType = Keywords[2];
                       layerID = Keywords[3];
                       source = Keywords[4];
                       viewcount = parseInt(Keywords[5])+1;
                       pushpin.Keywords = Title+"~"+Desc+"~"+layerType+"~"+layerID+"~"+source+"~"+viewcount;
                       }       
                   pushpin.SetTitle('Loading...');
                   pushpin.SetDescription('<div class="divPopUp" id="'+viewcount+e.elementID+'PopUp"><img src="img/indicator_mozilla_blu.gif" /></div><div id="'+viewcount+e.elementID+'Photo"></div>');
                   //pushpin.Keywords = 'loaded';
                   getPopUpContent(Title, source, layerType, e.elementID+"~"+viewcount);
//                 }
//                 else //pop-up disabled
//                   {
//                   map.HideInfoBox();
//                   return true;
//                   }   
             }       
             else//not a point
             {
             var test = "polygon";
             }           
           }       
         }
         
         function getPopUpContent(title, source, layerType, elementID)
        {
            //Get content from server based on the ID
            var ParamTitle = {"title":title};    
            var ParamSource = {"source": source};
            var ParamLayerType = {"type": layerType};
            var ParamElementID = {"PushpinID": elementID};    
            Samples.AspNet.WebService.GetPopUpInfo(ParamTitle.title, ParamSource.source, ParamLayerType.type, ParamElementID.PushpinID,OnSucceededWithContext, OnFailed);            

        }  
         
         function OnChangeViewLMap(e)
         {                                                  
                        var newCenter = LMap.GetCenter();
                        map.SetCenter(newCenter);                      
         }
              
         function ToggleBasin(checked)
         {
             if (checked != true)
                {
                    try
                    {
                    map.DeleteAllPolygons();
                    if (document.getElementById("ckbBoxWaterShed5th").checked == true)
                    {                    
                    Toggle5thWater(true);
                    }
                    
                    //map.DeletePolygon(Basin);
                    }
                    catch (ex)
                    {
                    AddBasinPolygon(Basin, false);
                    }
                }
            else
            {
            AddBasinPolygon(Basin, false);
            }            
         }
         
         function ZoomToBasin()
         {
         if (ActivePoly != "" && ActivePoly != undefined)
           map.SetMapView(ActivePoly.LatLongs);
         }
         
         function AddPolygon()      
            {           
                //xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                //xmlDoc.load("UBEBasin.xml");
                //Basin = "Umpqua";                
                Fillcolor = new VEColor(100,200,200,0.2);
	            if (window.ActiveXObject)
                {
	                xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	                xmlDoc.async=false;
	                xmlDoc.load("BasinXML/UBEBasin.xml");
	                getmessage();
                }
                // code for Mozilla, Firefox, Opera, etc.
                else if (document.implementation && document.implementation.createDocument)
                {
	                xmlDoc=document.implementation.createDocument("","",null);
	                xmlDoc.load("BasinXML/UBEBasin.xml");
	                xmlDoc.async=false;
	                //xmlDoc.onload=getmessage("Umpqua", Fillcolor);
	                xmlDoc.onload=getmessage;
                }
                else
                {
	                alert('Your browser cannot handle this script');
                }
                }
            
          function getmessage()
          {         
                 var pointsGML = xmlDoc.getElementsByTagName("coordinates")[0].text;
                var point = pointsGML.split(/\ /);
                var polyPoints = new Array();
                var LatLong = new Array();
                for (var i=0; i< point.length; i++)
                {
                    LatLong = point[i].split(/\,/);
                    polyPoints.push(new VELatLong(LatLong[1],LatLong[0]));
                    if (i == (point.length -1))
                    {
                    LatLong = point[0].split(/\,/);
                    polyPoints.push(new VELatLong(LatLong[1],LatLong[0]));
                    }                                        
                }               
                    var mypoly = new VEPolygon(Basin, polyPoints, Fillcolor, new VEColor(255,255,255,1.0), 2);
    //                poly.SetOutlineWidth(3);           
    //                poly.SetOutlineColor(new VEColor(0,150,100,1.0));           
    //                poly.SetFillColor(new VEColor(0,150,100,0.5));           
                    map.AddPolygon(mypoly);   
                    document.getElementById("BasinChkBox").checked = true;  
                    ActivePoly = mypoly;       
               
            }   
       function AddCustomPopUpControl()
         {
            var el = document.createElement("div");             
            el.id = "PopUpDiv";
            var elPointer = document.createElement("div");
            elPointer.id = "PopUpPointer";
            elPointer.style.visibility="hidden";
            map.AddControl(elPointer);                                   
            map.AddControl(el);
         }
         
         function addShimCustomDiv(el)
         {
            var shim = document.createElement("iframe");
            shim.id = "PopUpShim";
            shim.src = "iframe.htm";    
            shim.frameBorder = "0";
            shim.style.position = "absolute";
            shim.style.zIndex = "1";
            //shim.style.top  = el.offsetTop;
            //shim.style.left = el.offsetLeft;
            shim.scrolling = "no";
            shim.style.backgroundColor = "transparent";
            //shim.width  = el.offsetWidth+20;
            //shim.height = el.offsetHeight;
            el.shimElement = shim;
            el.parentNode.insertBefore(shim, el);
         }
         
         function RemoveMyControl()
         {
            var mycontrol = document.getElementById('PopUpDiv');
            if (mycontrol!=null) mycontrol.parentNode.removeChild(mycontrol);
            mycontrol = null;
            var PopUpPointer = document.getElementById('PopUpPointer');
            if (PopUpPointer!=null) PopUpPointer.parentNode.removeChild(PopUpPointer);
            var myShim = document.getElementById("PopUpShim");
            if (myShim!=null) myShim.parentNode.removeChild(myShim);
            myShim = null;
         }
             
         function myOnLoad(SearchValue)
            {
             map.Find(null,SearchValue)
            }
         
         function No3DInstalled()
            {
                if (confirm('Before viewing the maps in 3D mode, '+
                  'you must install the Virtual Earth 3D software on your computer.' +
                  '\nWould you like to download Virtual Earth 3D? ' ))
                {
                window.open("http://go.microsoft.com/fwlink/?LinkId=72623", "_blank");
                }                 
            }            
             
         

//        function GetMapCrunch()
//        {
//                layerList = MSR.CVE.ImportLayersFromAnchorHRef("CrunchedLayers");
//                MSR.CVE.StartAutomaticLegends(map, layerList);
//                var permalinkProvided = MSR.CVE.ApplyPermalink(map, document.layerCheckboxForm);
//                if (!permalinkProvided) {
//			    MSR.CVE.ActivateAlphaLayer(map, layerList, 'New Layer');
//			    MSR.CVE.SetCenterAndZoomForLayer(map, layerList, 'New Layer');   
//        }
        
        function getBBox()
        {
       
                var upperLeft = map.GetMapView();PixelToLatLong(0,0).toString();
                //use the map dimensions for the lowerRight pixel location
                var lowerRight = map.PixelToLatLong(800,500).toString(); 
                var BBox = upperLeft + ", " + lowerRight;
                return BBox;                   
        }
        
        
//        function AddOWRIPushpins(result, deletepins)
//         {   
//               //alert(deletepins);
//               //var map = DefaultMap();
//              // var map = new VEMap('myMap');
//               //map.LoadMap(new VELatLong(47.6, -122.33), 10 ,'h' , false);
//               if (deletepins = 'true')
//               {
//               map.DeleteAllPushpins();                             
//               }
//                             
//                //var BBox = getBBox();
//                //init();
//                var arrPts = result;  
//                //alert(result); 
//                var zoomlevel = map.GetZoomLevel();
//                if (zoomlevel <10)
//                {
//                GetMapCrunch(); 
//                alert("Please zoom in to see the pushpins");
//                //AddLayer();     
//                          
//                }
//                else
//                {
//                    //alert(zoomlevel); 
//                    pinID = 1;          
//                   
//                    for (var i=0; i < arrPts.length - 1; i++)
//                    {
//                        var splitPt = arrPts[i].split(/\,/);            
//                        var fltPt1 = parseFloat(splitPt[0]);
//                        var fltPt2 = parseFloat(splitPt[1]);
//                        var pin = new VEPushpin(
//                            pinID, 
//                            new VELatLong(fltPt1,fltPt2), 
//                            'http://localhost:1921/AjaxControlToolkitWebSite2/Images/chinook.gif', 
//                            '<img src="images/nce_siletzri.jpg" width="80" height="72" aling="middle"></br></br><span style="font-family: Trebuchet MS"><span style="font-size: 12pt; color: darkgray">Oregon Watershed </br>Restoration Inventory</span></br></br>'+
//                            'Restoration Project #: <a href="http://localhost:1921/AjaxControlToolkitWebSite2/ProjectPage.aspx">' + splitPt[2]+ '</a>'+
//                            '</br>Type: '+ splitPt[3]+ '</br>'+' Basin: ' + splitPt[4]+'</br></br><img src="http://localhost:1921/AjaxControlToolkitWebSite2/Images/UmpquaTest.png" width="200" height="160" border="5">'
//            //               'iconStyle,
//            //               'titleSytle',
//            //               'detailsStyle'         
//                            );
//                        map.AddPushpin(pin);                     
//                        pinID++;     
//                               
//                    }
//               }      
//           }    
