var milesilwwn = new Array();

var mlats =  
[41701389,41709444,41717222,41726389,41735556,41745585,41756944,
41768333,41779722,41791944,41801111,41806944,41812222,41817778,
41823611,41828889,41834722,41840556,41846111,41850556,41863056,
41877778,41891944,41904167,41913056,41922222,41931389,41941111,
41954444,41968056,41981389,41995278];

var mlngs =  
[-87940556,-87925278,-87909722,-87892222,-87878333,-87864366,-87850278,
-87839722,-87829167,-87817778,-87802222,-87783611,-87766111,-87748333,
-87730556,-87712778,-87694722,-87676389,-87659722,-87641944,-87634444,
-87637778,-87641944,-87650000,-87657778,-87668889,-87681667,-87694167,
-87694444,-87700833,-87706389,-87710278];

var chtmix = [305,308,310,313,315,318,320,323,326,329,331,333];

	var poiprev = 0;
	var map = null;
	var miltxt= null;
	var minmapsz = VEMiniMapSize.Large;
        var pixX = 0;
        var pixY = 0;
        var mmile = 0;

	function removeOptions(optionMenu)
	{
	  optionMenu.options.length = 0;
	}

	function addOptions(optionList, optionMenu)
	{
	 var i=0; var j=-1;
	 removeOptions(optionMenu);  // clear out the options
	 for (i=0; i < optionList.length; i++)
	    {
 
	     j++ 
	     optionMenu[j] = new Option(optionList[i]);
    
	    }
	}

	function includechange()
	{
	 var i=304; var j=-1;
	 for (i=304; i <334; i++)
	  {
	   j++
	   milesilwwn[j] = i;
	  }
	 addOptions(milesilwwn,document.myform2.mile);
	}

        function preloadOpts()
        {
	      includechange();      
	}

	function UpdateInfo(e)
	{
	        var center = map.GetCenter();
		var ZL = e.zoomLevel;
		document.getElementById("info").innerHTML =
			'Illinois WW N:  Latitude = ' + 
			center.Latitude + 
			', Longitude = ' 
			+ center.Longitude + 
			', Zoom=' + 
			ZL ;
                         
	}
	
         function GetPixel()
         {
            var pinfo = "";
            // Get pixel info about center of the map
            var pixelI = map.LatLongToPixel(map.GetCenter(), map.GetZoomLevel());
            pinfo += "Map center pixel coordinates are : (" + pixelI.x + ", " + pixelI.y + ")\n\n";
            pixX = pixelI.x;
            pixY = pixelI.y;            
            pinfopix = "pixX = " + pixX + "\n\n";
//            alert(pinfo);
//            alert(pinfopix);
         }  	
	
         function PixelClick2(e)
         {
            var x = e.mapX;
            var y = e.mapY;
            pixel2 = new VEPixel(x, y);
            var LL2 = map.PixelToLatLong(pixel2);
            info2.innerHTML =  LL2 + "<br />";            
//            info2.innerHTML = "LatLong: " + LL2;
//            info2.innerHTML = "Pixel X: " + x + " | Pixel Y: " + y + "<br /> LatLong: " + LL2; 
            map.FindLocations(LL2, GetResults);
         }

         function PixelClick(e)
         {
   	    var x = e.mapX;
      	    var y = e.mapY;
      	    pixel = new VEPixel(x, y);
      	    LL = map.PixelToLatLong(pixel);

            map.FindLocations(LL, GetResults);

         }


         function GetResults(locations)
         {
            if(locations)
            {
	       for(var i=0;i<locations.length;i++)
               {
                   info2.innerHTML+=locations[i].Name + "<br />";
               }
            }
            else
            {
                 info2.innerHTML+='No address found.'; 
            } 
         }

	function OnPageLoad()
	{
                preloadOpts()

                map = new VEMap('myMap');
            
                map.SetDashboardSize(VEDashboardSize.Normal);
            
                map.LoadMap(new VELatLong(41.701389, -87.940556), 14 ,'h' ,false);
                
                map.ShowDashboard();                
            
//                map.AttachEvent("onclick", PixelClick);
            
		map.AttachEvent("onendpan", UpdateInfo);
			
		map.AttachEvent("onendzoom", UpdateInfo) ;
		
                map.AttachEvent("onclick", PixelClick2); 
	}
	
	function HideMiniMap()
	{
	        map.HideMiniMap();
	}
	         
	function ShowMiniMap()
	{
	    if (map.GetMapMode() == VEMapMode.Mode3D)
	       {
	          map.SetMapMode(VEMapMode.Mode2D);
	       }
	          GetPixel();
                  var minileft = Math.round(pixX + pixX - 191);
//		alert(minileft);    
	          map.ShowMiniMap(minileft, 0, minmapsz);            
        }
        
	function DoNavcht()
	{
	   jmile = mmile + 304;
	   if (jmile >= 333) 
	    {
	      alert('No Chart Available')
	      return;
	    } 
	    else 
	    {
	    
	      var i=0;
	      for (i=0; i < chtmix.length; i++) {
	         
	         if (jmile < chtmix[i]) {
	             zchtno = i + 119;
	             zchtlink = 'http://www2.mvr.usace.army.mil/NIC2/Documents/chart' + zchtno + '.pdf';
//	             alert (zchtlink);
	             javascript: secondwindow = open(zchtlink, 'navcht', 'scrollbars=yes');
	             return;
	         }    
	      }
            }  
	}

        function DoAIS() {
            var vcenter = map.GetCenter();
            vclat = vcenter.Latitude;
            vclng = vcenter.Longitude;
            
            zaislink = '../bhais.php?zalat=' + vclat + '&zalng=' + vclng;
//	      alert (zaislink);
            javascript: secondwindow = open(zaislink, 'VEmain', 'scrollbars=yes');            
        }   

        function DoInfo() {
            var vcenter = map.GetCenter();
            vclat = vcenter.Latitude;
            vclng = vcenter.Longitude;
            
	      zlink = 'http://maps.live.com/default.aspx?v=2&lvl=14&style=h&cp=' + vclat + '~' + vclng;
//	      alert (zlink);
              javascript: secondwindow = open(zlink, 'VEmain', 'scrollbars=yes');            
            
//        http://maps.live.com/default.aspx?v=2&lvl=14&style=h&cp=25.783538~-80.183171
        }
	
         function AddShapes(mlat, mlng, mmile)
         {
            latLongcnt = new VELatLong(mlat, mlng);
            pin02 = new VEShape(VEShapeType.Pushpin, latLongcnt);
            pin02.SetTitle("<font color='blue'> Illinois Waterway North </font>");
            pin02.SetDescription("<font color='blue'> Mile " + mmile + "</font>");            
            pin02.SetCustomIcon("<span style='width:30px; height:15px; font-family:Arial,sans-serif; font-weight:bold; font-size:8pt;" +
               "color:white; overflow:hidden; text-align:center; border:1px solid #FF0000; background-color:blue'>" +
                miltxt + "</span>");
            map.AddShape(pin02);
         } 	


        function markmile()
	{
	 AddShapes(mlat,mlng,mmile);	
	}


	function milehit(mmile)
	{
        mlat  = mlats[mmile] / 1000000;
        mlng  = mlngs[mmile] / 1000000;        
        var latLong = new VELatLong(mlat,mlng);
        map.PanToLatLong(latLong);        
        markmile(mlat, mlng, mmile); 
        dist = Math.abs(mmile - poiprev)
        document.myform2.distnm.value = Math.round(0.86898 * dist);
        document.myform2.distsm.value =  dist;
        document.myform2.distkm.value = Math.round(1.609344 * dist);
	poiprev = mmile;
        document.myform2.mile.value = "9999";
	}

	
	function milechange()
	{
             var k; 
	     var hitval=" "; 
	     for (k=0; k < document.myform2.mile.options.length; k++)
	     {
	       if (document.myform2.mile.options[k].selected)
	       {
	         mmile = k;
	         miltxt = document.myform2.mile[k].text;	         
                 milehit(mmile);  
 	       }
             }
        } 


