// <script type="text/javascript">
//<![CDATA[


if (GBrowserIsCompatible()) {
      // this variable will collect the html which will eventualkly be placed in the side_bar
      var side_bar_html = "";
      
      // arrays to hold copies of the markers used by the side_bar
      // because the function closure trick doesnt work there
      var gmarkers = [];
      var markerlength=0;
      var i = 0;
      var Station1Point= 0;
      var Station2Point= 0;
      var label1a;
      var label2a;
      var button=0;
      var dist1a=0;
      var dist2a=0;
      var line;
      var poly;
      var ang1a=0;
      var ang2a=0;
      var degreesPerRadian = 180.0 / Math.PI;
      var radiansPerDegree = Math.PI / 180.0;
      var pt0="40.445762,-82.82341";
      var pt1="39.96331,-82.9997";
      var name1="WB8LGA";
      var name2="WR8ATV-ATCO";
      var htmltext=" ";
      var Station=0;
        var Elev=0;
        var Elev1=0;
            Elev1++;
            Elev1--;
        var Elev2=0;
            Elev2++;
            Elev2--;
        var LS3=0;
            LS3++;
        var RS3=0;
            RS3++;
        var LS=0;
        var RS=0;
        var AntHeigthLft=0;
        var AntHeigthRft=0;
        var AntHeigthLM=0;
        var AntHeigthRM=0;
        var longDeg 
        var longMin2
        var longSec 
        var longDir 
        var latDeg 
        var latMin2
        var latSec 
        var latDir
        var Grid={};
        var URLs=""
        var GS="" 
        var ELabel1=[];
        var polylineClick = new GPolyline();
        // Setup for ATV Friends  =================================
        var FriendsCount=0;
        var HomeStationPoint=0;
        var StationPoint =0;
        var faq = new Array(3);
        faq[0]="View List";
        for (var j = 1; j <= 50; j++) { 
           faq[j]="";
        }
        var select_Station = document.ATVForm.Friends;
        var selected_Station = select_Station.options[select_Station.selectedIndex].value;


        function CAB3(){
        FriendsCount=0;
        select_Station.options.length=0;
        for (var j = 0; j <= (faq.length-1); j++) { 
          if (faq[j].length!=0){
              select_Station.options[select_Station.options.length] = new Option(faq[j]);
              FriendsCount++
          }
        }
        if (faq[document.ATVForm.Friends.selectedIndex] != "View List"){
            document.getElementById("SF").value=faq[document.ATVForm.Friends.selectedIndex];
        }else{
        document.getElementById("SF").value="";
        }
        document.ATVForm.Friends.selectedIndex=0;
        }

        function AddStation(){
         for (var j = 0; j <= (faq.length); j++) { 
           if (faq[j]==""){
              if (j==1){
                 HomeStationPoint =  StationPoint;
                 document.getElementById("mouse").value=HomeStationPoint ;
              }
              document.getElementById("SF").value=document.getElementById("SF").value.toUpperCase()
              faq[j]=document.getElementById("SF").value
              j=(faq.length-1)
            } 
          }
          CAB3();
         }

         function Remove(){
           faq[document.ATVForm.Friends.selectedIndex]="";
           for (var j = document.ATVForm.Friends.selectedIndex; j <= (faq.length-1); j++) { 
              faq[j]=faq[j+1];
           }
           faq[j-1]="";
           CAB3();
          }

         function Replace(){
              j = document.ATVForm.Friends.selectedIndex;
              faq[j]=document.getElementById("SF").value.toUpperCase()
             CAB3();
          }

          function CAB(){
            var number= document.ATVForm.Friends.selectedIndex;
            document.getElementById("SF").value=faq[number];
            document.ATVForm.Friends.options[number].text=faq[number];
            document.getElementById("mouse").value=HomeStationPoint ;
          }
          CAB3();
       // end of ATV Friends ======================================

       function bearingto( from, to ) {
       // See T. Vincenty, Survey Review, 23, No 176, p 88-93,1975.
       // Convert to radians.
       var lat1 = from.latRadians();
       var lon1 = from.lngRadians();
       var lat2 = to.latRadians();
       var lon2 = to.lngRadians();
         
       // Compute the angle.
       var angle = - Math.atan2( Math.sin( lon1 - lon2 ) * Math.cos( lat2 ), Math.cos( lat1 ) * Math.sin( lat2 ) - Math.sin( lat1  ) * Math.cos( lat2 ) * Math.cos( lon1 - lon2 ) );
       if ( angle < 0.0 )
	angle  += Math.PI * 2.0;

       // And convert result to degrees.
       angle = angle * degreesPerRadian;
       angle = angle.toFixed(1);
       return angle;
     }
       function clr(){
        //map.clearOverlays();
          map.removeOverlay(poly);
          map.removeOverlay(label1a);
          map.removeOverlay(label2a);
          dist=0;
          }


     function Station1(){
             Station=1;
            }

     function Station2(){
             Station=2;
            }

     function search(){
        var txt=document.getElementById("CallSearch").value;
        txt=txt.toUpperCase()
        HideAll();
        var i=0;
        for (var i=0; i<gmarkers.length-1; i++) {
          //document.getElementById("mouse").value=txt;
          var BS = gmarkers[i].name;
          var j=0;
          for (var j = 0; j <= (BS.length); j++) {      ///  Check if the band checkbox letter is check and the marker uses the Band
            if (txt== BS.substring(j,j+txt.length)) {
               document.getElementById("mouse").value=BS + "  " + txt;
               gmarkers[i].show();
          }}
          makeSidebar()
        }};


      // A function to create the marker and set up the event window
      function createMarker(point,name,html,Grid,Bands,ELabel) {
       //var marker = new GMarker(point);
       var marker = new GMarker(point,Bands); 
       marker.Band = Bands;
       marker.name = name;
       marker.label1=ELabel;
       marker.Grid=Grid;
       GEvent.addListener(marker, "click", function() {
        marker.tooltip='<div class="tooltip">'+html+GS+'</div>';
        document.getElementById("SF").value=name;
        marker.openInfoWindowHtml(marker.tooltip); 
        StationPoint = point; 
         //document.getElementById("mouse").value =point.toUrlValue();
         if (Station==1) {
         document.getElementById("StationTo").value=name;
         ATV_Call=name;
         name1=name;
         Station1Point = marker.getPoint();
         pt0=point.toUrlValue();
         ATV_Point=Station1Point;
         ATV_html=html; 
         marker.setImage("green.png");
            Elev++;
            Elev--;
           CalAnt()
           //LS=document.ATVForm.LeftStation.value;
           //document.getElementById("mouse").value=Elev;
           LS3=0;
           LS3++;
           Elev++;
           Elev--;
           AntHeigthLft++;
           AntHeigthLft--;
           Elev1=Elev;
           LS3=(AntHeigthLft)+(Elev);
           //document.getElementById("mouse").value=LS3;
          document.getElementById("mouse").value =Station1Point ;
         //document.getElementById("mouse").value =pt0;

         }
         if (Station==2) {
        document.getElementById("StationFrom").value=name;
        Station2Point = marker.getPoint();
         pt1=point.toUrlValue();
         name2=name;
           CalAnt()
           //RS=document.ATVForm.RightStation.value
           RS3=0
            RS3++;
            Elev++;
            Elev--;
            AntHeigthRft++;
            AntHeigthRft--;
            Elev2=Elev;
           RS3=(AntHeigthRft)+(Elev); 
           document.getElementById("mouse").value=RS3;  
           //document.getElementById("mouse").value =Station1Point ;
         line = [Station1Point , Station2Point];
         document.getElementById("mouse").value=line;
         if(poly)map.removeOverlay(poly);
         poly = new GPolyline(line,'#FFFF00', 8, 1);
         map.addOverlay(poly);
         dist1a=(Station1Point.distanceFrom(Station2Point)/1.59); 
         dist1a=dist1a.toFixed(0)+"Ft";
         ang1a=(parseInt(bearingto(Station1Point,Station2Point)));
        /// document.getElementById("Station").value= ang1a;
         if (ang1a <180) {
            [ang2a=ang1a+180];
            dist1a=(parseInt(dist1a)/1000).toFixed(1)+"Miles_"+ang1a+"_Degrees_"+ang2a+"_Degrees_Rev";
            dist2a=dist1a;
            dist2a=(parseInt(dist2a)).toFixed(1)+"Miles_"+ang2a+"_Degrees";
         } else {
            [ang2a=ang1a-180];
            dist1a=(parseInt(dist1a)/1000).toFixed(1)+"Miles_"+ang1a+"_Degrees_"+ang2a+"_Degrees_Rev";
            dist2a=dist1a;
            dist2a=(parseInt(dist2a)).toFixed(1)+"Miles_"+ang2a+"_Degrees";
         }
         //document.getElementById("Station").value=dist1a;
           marker.tooltip='<div class="tooltip">'+html+GS+'</div>';
           marker.openInfoWindowHtml(marker.tooltip + dist1a);  
         //label1a=new ELabel(Station1Point, dist,"labelstyle",new GSize(2,20),100);
         //map.addOverlay(label1a);
         //label2a=new ELabel(Station2Point, dist,"labelstyle",new GSize(2,20),100);
         //map.addOverlay(label2a);

         //label1a.setContents(dist1a);label2a.setContents(dist2a);
         //label1a.setPoint(Station1Point);
         //label2a.setPoint(Station2Point);
         }
        //gmarkers.push(marker);
        //return marker;

        });

        // The new marker "mouseover" listener  *********************************************      
        GEvent.addListener(marker,"mouseover", function() {
//////////////////////////////////////////////////////////////////////////////////document.getElementById("mouse").value=""

           var point1=[];
           var points = point.toUrlValue();       //marker.getPoint();       //
           var point1=points.split(",") ;       
           //poly=0;
           var lat = point1[0] ;
           lat=Math.round(10000*lat)/10000;
           var lng = point1[1] ;
           lng=Math.round(10000*lng)/10000;
//document.getElementById("mouse").value=point.x


      
      
      // If a QTH loc has to be located or is in the URL
      // display a marker and the square limits. If not,
      // just center and zoom on the default loc
      // by F6FVY at   http://f6fvy.free.fr/qthLocator/fullScreen.php
      //GEvent.addListener(map, 'click', function(overlay, point) {
        if (point) {
        	
          // Extract QTH locator and various data from the clicked point
         // document.getElementById("mouse").value=point.x
          var longDir;
          if (point.x < 0)
            longDir = "W"
          else
            longDir = "E";
          var latDir;
          if (point.y < 0)
            latDir = "S"
          else
            latDir = "N";
            
          var longDeg;
          var longMin;
          if (point.x > 0)
          {
            longDeg = Math.floor(point.x);
            longMin = (point.x - longDeg) * 100;
          }
          else
          {
            longDeg = Math.ceil(point.x);
            longMin = (longDeg - point.x) * 100;
          }
          var longMin2 = longMin * 60 / 100;
          var longSec = Math.round((longMin2 - Math.floor(longMin2)) * 60);

          var latDeg;
          var latMin;
          if (point.y > 0)
          {
            latDeg = Math.floor(point.y);
            latMin = (point.y - latDeg) * 100;
          }
          else
          {
            latDeg = Math.ceil(point.y);
            latMin = (latDeg - point.y) * 100;
          }
          var latMin2 = latMin * 60 / 100;
          var latSec = Math.round((latMin2 - Math.floor(latMin2)) * 60);
            
          var strHtml = "<font face='arial' size='3'>";
          strHtml += "Long : " + Math.round(point.x * 10000) / 10000 + " " + longDir;
          strHtml += " (" + longDeg + "\u00B0 " + Math.floor(longMin2) + "' " + longSec + "'' "+ longDir + ")";
          strHtml += "<br />\n";
          strHtml += "Lat : " + Math.round(point.y * 10000) / 10000 + " " + latDir;
          strHtml += " (" + latDeg + "\u00B0 " + Math.floor(latMin2) + "' " + latSec + "'' "+ latDir + ")";
          strHtml += "<br />\n";
        
          /* Long/Lat to QTH locator conversion largely        */
          /* inspired from the DL4MFM code found here :        */
          /* http://members.aol.com/mfietz/ham/calcloce.html   */
        
          var ychr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
          var ychrl= "abcdefghijklmnopqrstuvwxyz";
          var ynum = "0123456789";
          var yqth, yi, yk, ydiv, yres, ylp, y;
          var y = 0;
          var ycalc = new Array(0,0,0);
          var yn = new Array(0,0,0,0,0,0,0);

          ycalc[1] = point.x + 180;
          ycalc[2] = point.y +  90;

          for (yi = 1; yi < 3; ++yi) {
            for (yk = 1; yk < 4; ++yk) {
              if (yk != 3) {
                if (yi == 1) {
                  if (yk == 1) ydiv = 20;
                  if (yk == 2) ydiv = 2;
                }
                if (yi == 2) {
                  if (yk == 1) ydiv = 10;
                  if (yk == 2) ydiv = 1;
                }

                yres = ycalc[yi] / ydiv;
                ycalc[yi] = yres;
                if (ycalc[yi]>0)
                  ylp = Math.floor(yres)
                else
                  ylp = Math.ceil(yres);
                ycalc[yi] = (ycalc[yi] - ylp) * ydiv;
              }
              else {
                if (yi == 1)
                  ydiv = 12
                else
                  ydiv = 24;

                yres = ycalc[yi] * ydiv;
                ycalc[yi] = yres;
                if (ycalc[yi] > 0)
                  ylp = Math.floor(yres)
                else
                  ylp = Math.ceil(yres);
              }

            ++y;
            yn[y] = ylp;
            }
          }

          yqth = ychr.charAt(yn[1]) + ychr.charAt(yn[4]) + ynum.charAt(yn[2]);
          yqth += ynum.charAt(yn[5]) + ychrl.charAt(yn[3])+ ychrl.charAt(yn[6]);
          document.getElementById("mouse").value=yqth ;
          GS=yqth;   //Grid
          strHtml += "QTH locator : " + yqth + "</font>";
          var ChrText="0123456789.......ABCDEFGHIJKLMNOPQRSTUVWXYZ......abcdefghijklmnopqrstuvwxyz";
         if (Grid =="Unknow"){
         //document.getElementById("mouse").value=Grid;
             //Grid Square to Degrees
              var ChrG=[];
              var GridD=[];
              var GridDN=[];
              for (var i = 0; i <= (7); i++) {
                 GridD[i]=GS.substring(i,i+1);

               for (var j = 0; j <= (75); j++) {
                 //document.getElementById("mouse").value=ChrText.substring(j-47,j-48);

                 ChrG[j]=ChrText.substring(j,j+1);
                  if (GridD[i]==ChrG[j]){
                     GridDN[i]=j;
                 //document.getElementById("mouse").value=GridDN[i];
                  }
               }}
 //document.getElementById("mouse").value=GridDN[0] +" "+GridDN[1] +" "+GridDN[2]+" "+GridDN[3]+" "+GridDN[4]+" "+GridDN[5];
             var lonmin = (5 * (GridDN[4]-48));// + 2.5;   // { center }
             londeg = (20 * (GridDN[0]-17)) + (2 * GridDN[2]);    //    { tens of deg }{ two deg }
  
             Lon = londeg + (lonmin / 60) -180; 
             Lon = Math.floor(Lon * 1000000)/1000000;
            // point.x=Lon;

             latdeg = (10 * (GridDN[1]-17)) + GridDN[3];    // { degrees }
             latmin = (2.5 * (GridDN[5]-48)) ;//+ 1.25 ;            //  { minutes } +{ for center }

             Lat = latdeg + (latmin /120) -90;
             Lat = Math.floor(Lat * 1000000)/1000000;
             document.getElementById("mouse").value=Lat+" "+Lon+ " " + name + " Grid="+yqth;    //+"  URL="+URLs
            // point.y=Lat;
           }else{
              GS=Grid ;//yqth 
           }
          //document.getElementById("mouse").value=Grid;
          document.getElementById("mouse").value=point.y+"   "+point.x+ " "+name+" Grid="+yqth;      //+"  URL="+URLs

          map.removeOverlay(polylineClick);
          delete polylineClick;
        
          // Square limits
         //if (Grid.length > 0){
         //  var bottomLeftLong = Math.floor(Lon / 0.0833333333) * 0.0833333333;
         //  var bottomLeftLat = Math.floor(Lat/ 0.0416666666) * 0.0416666666;
         // }else{
          var bottomLeftLong = Math.floor(point.x / 0.0833333333) * 0.0833333333;
          var bottomLeftLat = Math.floor(point.y / 0.0416666666) * 0.0416666666;
          // }    
          polylineClick = new GPolyline([
            new GLatLng(bottomLeftLat, bottomLeftLong),
            new GLatLng(bottomLeftLat, bottomLeftLong + 0.0833333333),
            new GLatLng(bottomLeftLat + 0.0416666666, bottomLeftLong + 0.0833333333),
            new GLatLng(bottomLeftLat + 0.0416666666, bottomLeftLong),
            new GLatLng(bottomLeftLat, bottomLeftLong)
          ], "#FF0000", 6);

          map.addOverlay(polylineClick);
        

  // Show it in Marker info popup window.
           var htmltext= marker.tooltip+" ";
           var x1=htmltext.search(/`/);
           var xx1=htmltext.search(/ft./);
//document.getElementById("mouse").value=htmltext;
           x1++;
           Elev=0
           Elev=htmltext.slice(x1,xx1);
           Elev++;
           Elev--;
//document.getElementById("mouse").value=latDeg;
       var DisplayLatLng="   Lat= "+latDeg+"."+Math.floor(latMin2)+"'"+latSec+"'' "+latDir+" Lon= "+longDeg+"."+Math.floor(longMin2)+"'"+longSec+"''"+ longDir
           //var DisplayLatLng="   Lat= "+LatDeg+"."+LatMin+"'"+LatSec+"''  Lon= "+LonDeg+". "+LonMin+"'"+LonSec+"''"
           marker.tooltip='<div class="tooltip">'+html+GS+'</div>';
           if (document.ATVForm.MOI.checked){
              marker.openInfoWindowHtml(marker.tooltip+DisplayLatLng); 
           } 
          } // if (point)

            CalAnt()
          });



        // save the info we need to use later for the side_bar
        gmarkers[i] = marker;
        // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
        i++;
        return marker;
      }

      //  This puts a Grid around the marker on MouseOver
      function grid(){
           }

      // This function picks up the click and opens the corresponding info window     

      function myclick(i) {
        //document.getElementById("mouse").value=gmarkers[i].point
        GS=gmarkers[i].Grid;
        GEvent.trigger(gmarkers[i], "click");
       // document.getElementById("mouse").value=gmarkers[i].Grid;   //yqth;  //marker.Grid
        //GEvent.trigger(marker,"mouseover");
      }
      

      // create the map
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.addControl(new GScaleControl(50));
      map.disableScrollWheelZoom();
      //map.enableScrollWheelZoom();
      //map.hideControls();
      //map.enableContinuousZoom();
      map.setCenter(new GLatLng(40.448,-82.824), 8);   //40.448,-82.824), 8);

      function MouseZoom(){
       if (document.ATVForm.MWZ.checked){
       map.enableScrollWheelZoom();
       }else{
       map.disableScrollWheelZoom();
       }}



      // === Default values to use if there is no cookie ===
      var lat = 39.067;

      var lng = -83.024;
      var zoom = 14;
      var maptype = 0;
      var ATV_Call=""
      var ATV_Point="";
      var ATV_html=""
      // === Some cookie parameters ===
      var cookiename = "mapinfo";  // name for this cookie
      var expiredays = 127;          // number of days before cookie expiry

      // === Look for the cookie ===
      if (document.cookie.length>0) {
        cookieStart = document.cookie.indexOf(cookiename + "=");
        if (cookieStart!=-1) {
          cookieStart += cookiename.length+1; 
          cookieEnd=document.cookie.indexOf(";",cookieStart);
          if (cookieEnd==-1) {
            cookieEnd=document.cookie.length;
          }
          cookietext = document.cookie.substring(cookieStart,cookieEnd);
          // == split the cookie text and create the variables ==
          bits = cookietext.split("|");
          lat = parseFloat(bits[0]);
          lng = parseFloat(bits[1]);
          zoom = parseInt(bits[2]);
          maptype = parseInt(bits[3]);
          name=(bits[4]);
          ATV_Call=name;
          ATV_Point=(bits[5]);
          ATV_html=(bits[6]);
          map.disableScrollWheelZoom();
          FriendsCount=(bits[7]);
          HomeStationPoint=(bits[8]);
          for (var j = 1; j <= (FriendsCount); j++) { 
            faq[j]=(bits[(j+8)]);
          }
          CAB3();
         // Station1Point=ATV_Point;
         // var Station=1;
          //GEvent.trigger(marker,"click");  
          //var marker = createMarker(ATV_Point,ATV_Call,ATV_html)
          //marker.setImage("green.png")
          //document.getElementById("StationTo").value=ATV_Call;
        } 
      }

      // === Display the map ===
      var map = new GMap2(document.getElementById("map"));
      map.setCenter(new GLatLng(lat,lng),zoom,map.getMapTypes()[maptype]);
      map.addControl(new GMapTypeControl());
      map.addControl(new GLargeMapControl());
      map.addControl(new GScaleControl(150));
      //map.enableScrollWheelZoom();
      // === Set the cookie before exiting ===
      function setCookie() {
        maptype = 0;
        for (var i=0;i<map.getMapTypes().length;i++) {
          if (map.getCurrentMapType() == map.getMapTypes()[i]) {
            maptype = i;
          }
        }
        var cookietext = cookiename+"="+map.getCenter().lat()+"|"+map.getCenter().lng()+"|"+map.getZoom()+"|"+maptype+"|"+ATV_Call+"|"+ATV_Point+"|"+ATV_html+"|"+FriendsCount+"|"+HomeStationPoint;
          for (var j = 1; j <= (FriendsCount); j++) { 
            cookietext = cookietext + "|" + faq[j];
          }

        if (expiredays) {
          var exdate=new Date();
          exdate.setDate(exdate.getDate()+expiredays);
          cookietext += ";expires="+exdate.toGMTString();
        }
        // == write the cookie ==
        document.cookie=cookietext;
        // == Call GUnload() on exit ==
        GUnload();
      }

function GetCal(){
 if (Elev1 !=0 ){
           Elev++;
           Elev--;
           CalAnt();
           LS3=0;
           LS3++;
           Elev1++;
           Elev1--;
           AntHeigthLft++;
           AntHeigthLft--;
           LS3=(AntHeigthLft)+(Elev1);

           RS3=0
           RS3++;
           Elev2++;
           Elev2--;
           AntHeigthRft++;
           AntHeigthRft--;
           RS3=(AntHeigthRft)+(Elev2);
           document.getElementById("mouse").value= LS3 + "  " + RS3;
 
}}


function CalAnt(){
  if (document.ATVForm.Ft.checked){
     CalFtToMeters();
     }
  if (document.ATVForm.Meters.checked){
   CalMetersToFt();
  }
  }

function CalMetersToFt(){
 LS=document.ATVForm.LeftStation.value;
 AntHeigthLft=(LS*39.25)/12;
 AntHeigthLft=AntHeigthLft.toFixed(0);
 RS=document.ATVForm.RightStation.value;
 AntHeigthRft=(RS*39.25)/12;
 AntHeigthRft=AntHeigthRft.toFixed(0);
 //document.getElementById("mouse").value=AntHeigthRft;
 //document.ATVForm.Ft.click();
 }

function CalFtToMeters(){
 AntHeigthLft=document.ATVForm.LeftStation.value;
 LS=(AntHeigthLft*12)/39.25;
 LS=LS.toFixed(0);
 AntHeigthRft=document.ATVForm.RightStation.value;
 RS=(AntHeigthRft*12)/39.25;
 RS=RS.toFixed(0);
 //document.getElementById("mouse").value=RS;
 //document.ATVForm.Meters.click();
}

//<img src="http://www.heywhatsthat.com/bin/profile.cgi?pt0=40.2,-104.9&pt1=37.4,-108.9&axes=1">;37.325147,-85.3244&pt1=39.64587,-79.9889
function Profile()
{
  //var htmltext= marker.openInfoWindowHtml(html);
  //bits =htmltext.split("`");
  //= parseFloat(bits[0]);
  // var Elev= parseFloat(bits[1]);
  //document.getElementById("mouse").value=LS3;
  CalAnt();
  //LS=document.ATVForm.LeftStation.value
  //RS=document.ATVForm.RightStation.value
  var OpenWindow=window.open("", "newwin", "height=300,width=840");
  OpenWindow.document.write("<HTML>");
  OpenWindow.document.write("<TITLE>Here is the Profile for ATV </TITLE>");
  OpenWindow.document.write("<BODY BGCOLOR='ffffcc'>");
  //document.getElementById("mouse").value=("pt0=" + pt0 + "&pt1=" + pt1);
  //document.ATVForm.UseInfo.value =('<p><img src="http://www.heywhatsthat.com/bin/profile.cgi?pt0=' + pt0 + '&pt1=' + pt1 + '&groundrelative=1&axes=1"' + '></p>');
  OpenWindow.document.write('<p><img src="http://www.heywhatsthat.com/bin/profile.cgi?pt0=' + pt0 + ',ff0000,' + LS + ',ff0000,&pt1=' + pt1 + ',,' + RS +',&groundrelative=1&axes=1"' + '></p>');
  OpenWindow.document.write("<li>" + name1 + "&nbsp;Ant. at " + LS3 + "ft  Elevation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + dist1a + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;" + name2 + "&nbsp;Ant. at " + RS3 + "ft  Elevation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li>");
  OpenWindow.document.write("<CENTER>");
  OpenWindow.document.write("<INPUT TYPE='button' VALUE='Close Window' onClick='self.close()'>");
  OpenWindow.document.write("</CENTER>");
  OpenWindow.document.write("<a>Profile image is Copyright 2008 Michael Kosowsky. All rights reserved. Used with permission.</a>");
  OpenWindow.document.write('<p><a href="http://www.heywhatsthat.com/">For more information visit HeyWhatsThat.></a></p>');
  OpenWindow.document.write("</HTML>");
}

function ProfileCurve()
{
  //var htmltext= marker.openInfoWindowHtml(html);
  //bits =htmltext.split("`");
  //= parseFloat(bits[0]);
  // var Elev= parseFloat(bits[1]);
  //document.getElementById("mouse").value=LS3;
  CalAnt();
  //LS=document.ATVForm.LeftStation.value
  //RS=document.ATVForm.RightStation.value
  var OpenWindow=window.open("", "newwin", "height=500,width=840");
  OpenWindow.document.write("<HTML>");
  OpenWindow.document.write("<TITLE>Here is the Profile for ATV </TITLE>");
  OpenWindow.document.write("<BODY BGCOLOR='ffffcc'>");
  //document.getElementById("mouse").value=("pt0=" + pt0 + "&pt1=" + pt1);
  OpenWindow.document.write('<p><img src="http://www.heywhatsthat.com/bin/profile.cgi?pt0=' + pt0 + ',ff0000,' + LS + ',ff0000,&pt1=' + pt1 + ',,' + RS +',&curvature=1&groundrelative=1&axes=1&width=800&height=300"> "' + '></p>');
  OpenWindow.document.write("<li>" + name1 + "&nbsp;Ant. at " + LS3 + "ft  Elevation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + dist1a + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;" + name2 + "&nbsp;Ant. at " + RS3 + "ft  Elevation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li>");
  OpenWindow.document.write("<CENTER>");
  OpenWindow.document.write("<INPUT TYPE='button' VALUE='Close Window' onClick='self.close()'>");
  OpenWindow.document.write("</CENTER>");
  OpenWindow.document.write("<a>Profile image is Copyright 2008 Michael Kosowsky. All rights reserved. Used with permission.</a>");
  OpenWindow.document.write('<p><a href="http://www.heywhatsthat.com/">For more information visit HeyWhatsThat.></a></p>');
  OpenWindow.document.write("</HTML>");
}

/////////////////////////////////////////  Start of Icon Groups  ///////////////////////////////////////////
        var gicons = [];

      gicons["A"] = new GIcon(G_DEFAULT_ICON);
      gicons["B"] = new GIcon(G_DEFAULT_ICON);
      gicons["C"] = new GIcon(G_DEFAULT_ICON);
      gicons["D"] = new GIcon(G_DEFAULT_ICON);
      gicons["E"] = new GIcon(G_DEFAULT_ICON);
      gicons["F"] = new GIcon(G_DEFAULT_ICON);
      gicons["All"] = new GIcon(G_DEFAULT_ICON);
      gicons["Brown"] = new GIcon(G_DEFAULT_ICON);

     // == shows all markers of a particular category, and ensures the checkbox is checked ==
      function show(ViewBands) {
        if (ViewBands=="Brown") {
          for (var i=0; i<gmarkers.length; i++) {
          var BS = gmarkers[i].Band 
            if (ViewBands== BS) {
              gmarkers[i].show();
            }
          }
        } else {
         var BS="";
          var i=0;
        for (var i=0; i<gmarkers.length; i++) {
          document.getElementById("mouse").value=ViewBands;
          var BS = gmarkers[i].Band 
          var j=0;
          if (BS=="Brown") {
          }else{
          for (var j = 0; j <= (BS.length); j++) {      ///  Check if the band checkbox letter is check and the marker uses the Band
            if (ViewBands== BS.substring(j,j+1)) {
               document.getElementById("mouse").value=BS + "  " + ViewBands;
               gmarkers[i].show();
          }}
        }}
        // == check the checkbox ==
       //document.getElementById(ViewBands+"Box").checked = true;
      }}

      // == hides all markers of a particular category, and ensures the checkbox is cleared ==
      function hide(ViewBands) {
        for (var i=0; i<gmarkers.length; i++) {
          var BS = gmarkers[i].Band 
          var j=0;
          for (var j = 0; j <= (BS.length); j++) {      ///  Check if the band checkbox letter is check and the marker uses the Band
            if (ViewBands== BS.substring(j,j+1)) {
            }else{
               document.getElementById("mouse").value=BS + "  " + ViewBands;
               gmarkers[i].hide();
           }}
        }
        // == clear the checkbox ==
        //document.getElementById(ViewBands+"Box").checked = false;
        // == close the info window, in case its open on a marker that we just hid
        map.closeInfoWindow();
      }

      // == a checkbox has been clicked ==
      function boxclick(Box,ViewBands) {
      document.getElementById("ABox").checked = false;
      document.getElementById("BBox").checked = false;
      document.getElementById("CBox").checked = false;
      document.getElementById("DBox").checked = false;
      document.getElementById("EBox").checked = false;
      document.getElementById("FBox").checked = false;
      document.getElementById("AllBox").checked = false;
      document.getElementById("BrownBox").checked = false;
      document.getElementById("FriendsBox").checked = false;
      document.getElementById(ViewBands+"Box").checked = true;
      if (ViewBands=="All") {
        ShowAll()
       } else {
        HideAll()
        if (Box.checked) {
          show(ViewBands);
        } else {
          hide(ViewBands);
        }
        // == rebuild the side bar
        makeSidebar();
      }}
      function boxclickFriends(Box,ViewBands) {
        document.getElementById("ABox").checked = false;
        document.getElementById("BBox").checked = false;
        document.getElementById("CBox").checked = false;
        document.getElementById("DBox").checked = false;
        document.getElementById("EBox").checked = false;
        document.getElementById("FBox").checked = false;
        document.getElementById("AllBox").checked = false;
        document.getElementById("BrownBox").checked = false;
        //document.getElementById(ViewBands+"Box").checked = true;
        station=1;

        HideAll()
        for (var i=0; i<gmarkers.length-1; i++) {
          var BS = gmarkers[i].name;
          var ck;
          var j=0;
          for (var j = 0; j <= (faq.length); j++) { 
            if (BS==faq[j]){
              gmarkers[i].show();
              ck=document.getElementById("EL").checked; 
              if (ck==true){
               ELabel1[i].show();
              }
            }
          }
        }
      makeSidebar();
        for (var i=0; i<gmarkers.length; i++) {
          if (!gmarkers[i].isHidden()) {
            if (faq[1]==gmarkers[i].name){
              Station1();
              GEvent.trigger(gmarkers[i], "click");
              Station2();
              GEvent.trigger(gmarkers[i], "click");
            }
          }
        }

      }

      // == rebuilds the sidebar to match the markers currently displayed ==
      function makeSidebar() {
        var html = "";
        for (var i=0; i<gmarkers.length; i++) {
          if (!gmarkers[i].isHidden()) {
            html += '<a href="javascript:myclick(' + i + ')">' + gmarkers[i].name + '</a><br>';
          }
        }
        document.getElementById("side_bar").innerHTML = html;
      };

      function HideAll() {
        for (var i=0; i<gmarkers.length; i++) {
               gmarkers[i].hide();
              // map.removeOverlay(label1)
               ELabel1[i].hide();
           }};

       function ShowAll() {
        for (var i=0; i<gmarkers.length; i++) {
               gmarkers[i].show();
               ELabel1[i].hide();
         }
         makeSidebar();
};


//////////////////////////////////////////////  End of Icon Groups ////////////////////////////////////////////////////////

      // Read the data from example.xml
   function readMap(url){
      var k=0;
      var om = new OverlayMessage(document.getElementById('map'));      
      om.Set('<b>Loading...Amateur TV Station Markers</b>');
      map.clearOverlays(); 
      side_bar_html="";
      var request = GXmlHttp.create();
      var MakeXML=[];
      request.open("GET",url , true);
      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          var xmlDoc = GXml.parse(request.responseText);
          //var ELDoc=xmlDoc;
           // obtain the array of markers and loop through it
          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
          //    var lat = parseFloat(markers[0].getAttribute("lat"));
          //    var lng = parseFloat(markers[0].getAttribute("lng"));
          //    var point = new GLatLng(lat,lng);
          //  map.addOverlay(new GMarker(point, markerOptions));  //no blue marker
          //  var html = markers[0].getAttribute("html");//no blue marker
          //   var label = markers[0].getAttribute("label");//no blue marker
          var URLs=""
          for (var j = 0; j < markers.length; j++) {
            // obtain the attribues of each marker
            var lat = parseFloat(markers[j].getAttribute("lat"));
            var lng = parseFloat(markers[j].getAttribute("lng"));
            var point = new GLatLng(lat,lng);
            var Grid = markers[j].getAttribute("Grid");
            document.getElementById("mouse").value=Grid;
            URLs= markers[j].getAttribute("SiteURL");
            document.getElementById("mouse").value=URLs;
            var html = markers[j].getAttribute("html");
            var label = markers[j].getAttribute("label");
            //var label1 = markers[j].getAttribute("label");
            var Bands = markers[j].getAttribute("Band");
            // create the markerxml======================================================
                                                       //var MakeXML=ELDoc.split("<") ;
                                                       //MakeXML=MakeXML+marker;
            label1=new ELabel(point, '<div style="background-color:#ccccff;border:2px solid black">'+label+'</div>', null, new GSize(-30,20), 75);
            map.addOverlay(label1);
            ELabel1[j]=label1;
            label1.hide();
            Grid[j]=Grid;
            //<a href="http://www.econym.demon.co.uk">Link</a> to my home page'
            if (URLs.length > 5){
               html=html+'<a href="http://'+URLs+'"  TARGET="main"'+'>URL link ='+URLs+'</a><br>';
             }
            var marker = createMarker(point,label,html,Grid,Bands,label1);         //,URLs
            marker.tooltip = '<div class="tooltip">'+html+'</div>';

            //marker.MarkerBand = Bands;          ?????????????
            map.addOverlay(marker);
            if (Bands == "Blue"){
               marker.setImage("Blue.png");
               k++;
             };

        //    document.getElementById("mouse").value=Grid;
            if (url == "eRepeat.xml") {
               marker.setImage("Blue.png");
            } else {
             //marker.mycategory = Bands;
            //   marker.setImage("red.png");
             //   if (Bands.length > 0){
                
            //   marker.setImage("Images/"+ Bands + ".png");
            //    }
            }
          }
          om.Clear(); // Clear the loading message
          // put the assembled side_bar_html contents into the side_bar div
          document.getElementById("side_bar").innerHTML = side_bar_html;
document.getElementById("mouse").value="ATV Station =" + i + "and " + k + " being ATV Repeaters."
          // if (url == "example4.xml") {
            var OpenWindow=window.open("", "newwin", "height=50,width=300")
            OpenWindow.document.write("<p>  ATV Station =" + i + "  on this MAP.</p>");
            OpenWindow.document.write("<p>  and " + k + " being ATV Repeaters.</p>");
            OpenWindow.document.write("<p></p>");
            OpenWindow.document.write("<p>   Please Close this POPUP window </p>");
          };//}
      }
       request.send(null);
    }
}

    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }


             // Retrieve Lat and Lon information
             //var LatDeg = Location.LatDeg.value;
             //var LatMin = Location.LatMin.value;
             //var LatSec = Location.LatSec.value;
             //var LonDeg = Location.LonDeg.value;
             //var LonMin = Location.LonMin.value;
             //var LonSec = Location.LonSec.value;
         // Convert to Degree Minutes Seconds Representation
             //LatDeg = Math.floor(lat);
             //LatMin = Math.floor((lat-LatDeg)*60);
             //LatSec =  (Math.round((((lat - LatDeg) - (LatMin/60)) * 60 * 60) * 100) / 100 ) ;
             //LonDeg = Math.floor(lon);
             //LonMin = Math.floor((lon-LonDeg)*60);
             //LonSec = (Math.round((((lon - LonDeg) - (LonMin / 60 )) * 60 * 60) * 100 ) / 100);
          // Convert to Decimal Degrees Representation
             //var lat = LatDeg + (LatMin/60) + (LatSec / 60 / 60);
             //var lon = LonDeg + (LonMin/60) + (LonSec / 60 / 60);
             //if ( lat <= 90 && lon <= 180 && lat >=0 && lon >= 0 )
             //{

    // This Javascript is based on code provided by the
    // Blackpool Community Church Javascript Team
    // http://www.commchurch.freeserve.co.uk/   
    // http://econym.googlepages.com/index.htm

    //]]>
 //   </script>


