// F5VAG April 2007
var lar;
var lor;
var dadr;
var sid=Math.random().toFixed(8);
var pattern1 = /\/A=([0-9]{6})/;
onerror=handleErr;
var no_track = false;
var alti1;
if (window.top!=window.self) {window.top.location=window.self}
if (location.hostname!="f5vag.eu") {location.hostname = "f5vag.eu"}
function handleErr(m,u,l) {
return true;
}
var ifr = '<iframe id="iframe1" src="http://f5vag.eu/maps/gomap6.php?ca=' + no_bl(qs0) + '" frameborder="0" width="600" height="904" scrolling="no" marginwidth="0" marginheight="0"></iframe>';
if (alti0) { alti1 = alti0.match(pattern1);
if (alti1) {
  var alti_feet = parseFloat(alti1[1]);
  var alti_met = alti_feet*0.3048;
  alti_met = alti_met.toFixed(0);
  }}
function utf8_encode(string) {
  string = string.replace(/\r\n/g,"\n");
  var utftext = "";
  for (var n = 0; n < string.length; n++) {
       var c = string.charCodeAt(n);
       if (c < 128) {
            utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
            utftext += String.fromCharCode((c >> 6) | 192);
            utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
            utftext += String.fromCharCode((c >> 12) | 224);
            utftext += String.fromCharCode(((c >> 6) & 63) | 128);
            utftext += String.fromCharCode((c & 63) | 128);
            }
        }
   return utftext;
   }
function locW (location) {
var nb = "&nbsp;&nbsp;&middot;&middot;&nbsp;&nbsp;";
var lon = location.slice(11);
lon = lon.replace("E","\'E");
lon = lon.replace("W","\'W");
var lat = location.slice(0,9);
lat = lat.replace("N","\'N");
lat = lat.replace("S","\'S");
var longSl = lon.split(".");
var latSl = lat.split(".");
var longD = parseInt(longSl[0],10) + (parseFloat(longSl[1] + "." + longSl[2])/60);
var latD = parseInt(latSl[0],10) + (parseFloat(latSl[1] + "." + latSl[2])/60);
if ( latSl[2].slice(3,4) == "S" ) { latD = -latD; }
if ( longSl[2].slice(3,4) == "W" ) { longD = -longD; }
lar = latD.toFixed(5);
lor = longD.toFixed(5);
document.write(nb + parseInt(latSl[0],10) + "&deg;" + parseInt(latSl[1],10) + "." + latSl[2] + ",&nbsp;" + parseInt(longSl[0],10) + "&deg;" + parseInt(longSl[1],10) + "." + longSl[2]);
document.write(nb + lar + "&deg;,&nbsp;" + lor + "&deg;");
longD = (longD+180)/20;
latD = (latD+90)/10;
var s1 = parseInt(longD);
var s2 = parseInt(latD);
longD = (longD-s1)*10;
latD = (latD-s2)*10;
var s3 = parseInt(longD);
var s4 = parseInt(latD);
var s5 = parseInt((longD-s3)*24);
var s6 = parseInt((latD-s4)*24);
var s7 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
s1 = s7.charAt(s1);
s2 = s7.charAt(s2);
s5 = s7.charAt(s5);
s6 = s7.charAt(s6);
document.write(nb + s1 + s2 + s3 + s4 + s5 + s6);
}
function km_kn (km)
{
var kn = (1/1.853184) * km;
document.write( "&nbsp;&nbsp;&#124;&nbsp;&nbsp;" + kn.toFixed(1) + "&nbsp;kn" );
}
function tm_tt (str)
{
var sec = 1000;
var min = 60000;
var hr = 3600000;
var dy = 86400000;
var t0 = new Date();
t0 = t0.getTime();
var t1 = 0;
var tt1 = str.split(" ");
var tt2 = tt1.length;
switch (tt2)
  {
  case 2:
     t1 = sec * parseInt(tt1[0]);
     break
  case 4:
     t1 = sec * parseInt(tt1[2]) + min * parseInt(tt1[0]);
     break
  case 6:
     t1 = sec * parseInt(tt1[4]) + min * parseInt(tt1[2]) + hr * parseInt(tt1[0]);
     break
  case 8:
     t1 = sec * parseInt(tt1[6]) + min * parseInt(tt1[4]) + hr * parseInt(tt1[2]) + dy * parseInt(tt1[0]);
     break
  }
var t3 = new Date();
t3.setTime(t0 - t1);
var t4 = t3.toUTCString();
t4 = t4.split(":");
document.write( " ( " + t4[0] + ":" + t4[1] + " UTC  )");
}
function no_bl(str)
{
var q_str = str.replace(/&/g, "&amp;");
q_str = q_str.replace(/ /g, "%20");
return(q_str);
}
function no_no (str)
{
document.write( str.replace("0","&Oslash;") );
}
function no_mob (cs,sp)
{
if (!cs.match("##COURSE##"))
   {
   var spf = parseFloat(sp);
   if (spf <= 0.4) { sp = "0.0"; }
   var kn = Math.round(spf/1.852,0);
   var mph = 1.15165 * kn;
//   mph =  spf/1.609 + 0.01;
//   kn = spf/1.853 + 0.02;
   document.write("Course " + cs + " degrees, speed " + sp + " km/h&nbsp;&nbsp;&#124;&nbsp;&nbsp;" + mph.toFixed(1) + " mph&nbsp;&nbsp;&#124;&nbsp;&nbsp;" + kn.toFixed(1) + " kn<br />");
   if (alti_met) {
      document.write("Altitude: " + alti_met + " m&nbsp;&nbsp;&#124;&nbsp;&nbsp;" + alti_feet + " ft<br />");
      }
   }
   else
   {
   document.write("No WX Report data in beacon.<br />");
   no_track = true;
   }
}
function backward()
{
history.go(-1);
}
function stxt(ststr) {
//ststr = ststr.replace(/\?/g,"é");
document.write(ststr.replace(/ø/g, "&deg;"));
}
function ePt(pstr)
{
var red = '<font color=\"red\">';
var fred = '<br>' + red;
var nfn = "</font>";
var pastr1 = pstr.split(",");
destination = pastr1[0].split(">")[1];
var pastrl = pastr1.length;
var i;
for (i=1;i<pastrl;i++) {
  if ((pastr1[i].indexOf("WIDE7") > -1) || (pastr1[i].indexOf("TRACE7") > -1) || (pastr1[i].indexOf("TRACE8") > -1) || (pastr1[i].indexOf("TRACE9") > -1) || (pastr1[i].indexOf("WIDE8") > -1) || (pastr1[i].indexOf("WIDE9") > -1)) {
//    pstr = pastr1[0] + ">" + red + "-- EXCESSIVE BEACON PATH --" + nfn;
      window.top.location.href="excessive.html";
    }
  if (!pastr1[1].match(/^TCPIP$/))  {
     if ((pastr1[i].match(/^RELAY$/)) && (i>1)) {
       pstr = pstr + fred + "\"RELAY\" in wrong path position, has to be only first digi_alias" + nfn;
       }
     }
  if (pastr1[i].match(/^(CQ\D)|(APRS$)|(APRS\*$)|(APFD[0-9]{0,2})$/)) {
    pastr1[i] = pastr1[i].replace("*","");
    pstr = pstr + fred + "\"" + pastr1[i] + "\" is a to_call, not a digipeater alias" + nfn;
    }
  if (pastr1[i].match(/^(CQ\d-\d)|(APRS\d-\d)|(TCPIP\d-\d)|(RELAY\d-\d)|(WIRE\d-\d)|(^\d-\d)|(VIA)$/)) {
    pstr = pstr + fred + "-- \"" + pastr1[i] + "\" does not exist as digipeater alias --" + nfn;
    }
  if (pastr1[i].match(/^(TRACE[A-Z]+)|(WIDE[A-Z]+)|(NULL)|(RELAY[A-Z]+)/)) {
    pstr = pstr + fred + "-- \"" + pastr1[i] + "\" does not exist as digipeater alias --" + nfn;
    }
  if (pastr1[i].match(/^TRACE9|TRACE8/)) {
    pstr = pstr + fred + "-- \"" + pastr1[i] + "\" does not exist as digipeater alias --" + nfn;
    }
  if (pastr1[i].match(/^D-?STAR$|^D-STAR\*$/)) {
    pstr = pstr + fred + "Bad DSTAR/DPRS Beacon" + nfn;
    }
  if (pastr1[i].match(/^RELAY|^TRACE|^WIDE$/)) {
    pstr = pstr + fred + '<a href="http://f5vag.eu/new_paradigm.html" target="_blank" style="color:red;">Please follow IARU Region 1 Recommendation CT08_C5_Rec13<br>and use only WIDEn-N as digipeater alias</a>' + nfn;
    break;
    }
  if (pastr1[i].match(/^TCPXX\*$/)) {
    pstr = pstr + fred + "\"TCPXX\" and \"qAX\"" + " <a href='http://www.aprs-is.net/q.aspx' target='_blank'>" + red + "have been depreciated" + nfn + "</a>" + nfn;
   }
  if (pastr1[i].match(/(^GATE$)/) && (i < pastrl -1)) {
    pstr = pstr + "<br>( " + pastr1[i] + " is a HF digi_alias for gating the beacon to VHF )" ;
   }
  }
dadr = pastr1[0].split(">")[1];
  if (dadr.match(/^(WIDE(\d-\d)?)|(TRACE(\d-\d)?)|(RELAY)$/)) {
       pstr = pastr1[0].split(">")[0] + ">" + red + dadr + " <&middot;&middot;&middot;&middot; Destination Address NOT valid,<br>\"" + dadr + "\" is a digi_alias, not a to_call" + nfn;
       }
  if (dadr.match(/^(RELAY\d-\d)|(TCPIP\d-\d)|(CQ\d-\d)/)) {
       pstr = pastr1[0].split(">")[0] + ">" + red + dadr + " <&middot;&middot;&middot;&middot; Destination Address NOT valid,<br>\"" + dadr + "\" does NOT exist" + nfn;
       }
  if (dadr.match(/^TCPIP$/)) {
       pstr = pastr1[0].split(">")[0] + ">" + red + dadr + " <&middot;&middot;&middot;&middot; Destination Address NOT valid" + nfn;
       }
document.write(pstr);
}
function numR(nstr)
{
nstr = nstr.replace("No.","Numbered");
// nstr = nstr.replace("Diam'd","Diamond");
nstr = nstr.replace("Rec Veh'le","Recreation Vehicle");
nstr = nstr.replace("Tcp/ip","TCP/IP");
// nstr = nstr.replace("Triang","Triangle");
nstr = nstr.replace("sm","small");
nstr = nstr.replace("Rptr","Repeater");
document.write(nstr);
}
function repZ(istr)
{
istr = istr.replace(" ","%20");
document.write('<iframe src="' + istr + '" frameborder="0" width="600" height="1706" scrolling="no" marginwidth="0" marginheight="0"></iframe>');
}
var xmlHttp;
function showBME(str) {
    xmlHttp=GetXmlHttpObject();
    var url="http://f5vag.eu/php/in_bdm.php";
    url=url+"?call="+str;
    url=url+"&sid="+sid;
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
    }
function stateChanged() {
   if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
       var ret = xmlHttp.responseText;
       if (ret != "no") {
           try {
              document.getElementById("bad_mice").innerHTML=ret;
              }
           catch(e) { }
           }
       }
   }
function GetXmlHttpObject() {
   var xmlHttp=null;
   try {
       // Firefox, Opera 8.0+, Safari
       xmlHttp=new XMLHttpRequest();
       }
   catch (e) {
       // Internet Explorer
       try {
           xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
           }
           catch (e) {
               xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
               }
       }
   return xmlHttp;
   }
var xmlHttp1;
function showPER(str) {
    xmlHttp1=GetXmlHttpObject1();
    var url="http://f5vag.eu/php/get_per.php";
    url=url+"?call="+str;
    url=url+"&sid="+sid;
    xmlHttp1.onreadystatechange=stateChanged1;
    xmlHttp1.open("GET",url,true);
    xmlHttp1.send(null);
    }
function stateChanged1() {
   if (xmlHttp1.readyState==4 || xmlHttp1.readyState=="complete") {
       var ret = xmlHttp1.responseText;
       if (ret != "no") {
           try {
              document.getElementById("per_div").innerHTML=ret;
              }
           catch(e) { }
           }
       }
   }
function GetXmlHttpObject1() {
   var xmlHttp1=null;
   try {
       xmlHttp1=new XMLHttpRequest();
       }
   catch (e) {
       try {
           xmlHttp1=new ActiveXObject("Msxml2.XMLHTTP");
           }
           catch (e) {
               xmlHttp1=new ActiveXObject("Microsoft.XMLHTTP");
               }
       }
   return xmlHttp1;
   }
var xmlHttp2;
function showUIV(ca) {
    xmlHttp2=GetXmlHttpObject2();
    var url="http://f5vag.eu/php/in_uiv.php";
    url=url+"?call="+ca+"&dest="+dadr;
    url=url+"&sid="+sid;
    xmlHttp2.onreadystatechange=stateChanged2;
    xmlHttp2.open("GET",url,true);
    xmlHttp2.send(null);
    }
function stateChanged2() {
   if (xmlHttp2.readyState==4 || xmlHttp2.readyState=="complete") {
       var ret = xmlHttp2.responseText;
       if (ret != "no") {
           document.getElementById("rc_table").innerHTML=ret;
           }
       }
   }
function GetXmlHttpObject2() {
   var xmlHttp2=null;
   try {
       xmlHttp2=new XMLHttpRequest();
       }
   catch (e) {
       try {
           xmlHttp2=new ActiveXObject("Msxml2.XMLHTTP");
           }
           catch (e) {
               xmlHttp2=new ActiveXObject("Microsoft.XMLHTTP");
               }
       }
   return xmlHttp2;
   }
