//code ----------------------------------------------------

var nloc = 0;
var pn = 01;
var px, py;
var mx = 0;  //max rows to display
var dir = "";
var ChartSeq = 0;
var mapNo = 0;
//-----------------

var httpRQ = false;
try {
  httpRQ = new XMLHttpRequest();
} catch (trymicrosoft) {
  try {
    httpRQ = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
    try {
      httpRQ = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
      httpRQ = false;
    }
  }
}
/*
if (!httpRQ)
  alert("Error initializing XMLHTTP object!");
*/
//-----------------------------------------------------------------------------------


function gfk(pChartSeq, m, d,ni) {
  gf(0);
  mx = m;
  dir = d;
  mapNo = ni;
  ChartSeq = pChartSeq;
  document.getElementById("YouAreHere").style.visibility = 'hidden';
  setTimeout("checkChartSeq();", 15000);
  return;
}

var lsti = 0;
function ListSwap() {
  if (lsti == 0){ lsti = 1;
    document.getElementById("List2").style.visibility = 'visible';
    document.getElementById("List1").style.visibility = 'hidden';
    document.getElementById("lblSwap").innerHTML = "Sort by Name";
  }else{ lsti = 0;
    document.getElementById("List1").style.visibility = 'visible';
    document.getElementById("List2").style.visibility = 'hidden';
    document.getElementById("lblSwap").innerHTML = "Sort by ICAO";
  }
}

function gfList() {
  if (lsti == 0) { var lt = document.getElementById("List1"); } 
  else {           var lt = document.getElementById("List2");  }
 
  var m = lt.selectedIndex;
  m = lt[m].value;
  gf(m);
  gfz(4);

  if (document.getElementById("YouAreHere").style.width == '5px')  return;
  if (Longs[0] < 0) return;
  
  var px = Longs[m];
  var py = Lats[m];

  document.getElementById("YouAreHere").style.left = px - 7 + "px" 
  document.getElementById("YouAreHere").style.top= py - 24 + "px";
  document.getElementById("YouAreHere").style.visibility = 'visible';
  
}


function btnClick(n) {
  var lt = document.getElementById("chart");
  mapNo = n;
  checkChartSeq();
  
  if (n == 1) lt.src = dir + "windvector.png";    // wind          1
  if (n == 2) lt.src = dir + "uk2mtmp.png";       // temperature   2
  if (n == 3) lt.src = dir + "precipratec.png";   // precipitation 3
  if (n == 4) lt.src = dir + "ukcloud.png";       // cloud cover   4
  if (n == 5) lt.src = dir + "ukrh2m.png";        // humidity      5

  if (n > 100) { n -= 100;
    lt.src = dir + "UKmapAirports" + n + ".png"; 
    lt = document.getElementById("Legend");    lt.src = dir + "Legend"+n+".png";
  }

  v = "0px 0px";
  lt = document.getElementById("mBtn1"); if (lt) lt.style.backgroundPosition = v;
  lt = document.getElementById("mBtn2"); if (lt) lt.style.backgroundPosition = v;
  lt = document.getElementById("mBtn3"); if (lt) lt.style.backgroundPosition = v;
  lt = document.getElementById("mBtn4"); if (lt) lt.style.backgroundPosition = v;
  lt = document.getElementById("mBtn5"); if (lt) lt.style.backgroundPosition = v;
  lt = document.getElementById("mBtn6"); if (lt) lt.style.backgroundPosition = v;

  document.getElementById("mBtn" + n).style.backgroundPosition = "0px -23px";

}


function checkChartSeq() {
  if (!httpRQ) return;
  try {
    httpRQ.open("GET", "httpbits.aspx?sq=" + ChartSeq + "&ni=" + mapNo , true);
    httpRQ.onreadystatechange = CheckRsp;
    httpRQ.send(null);
  } catch (err) { };
}

function CheckRsp() {
  if (httpRQ.readyState == 4) {
    try {
      var i = 0;
      var response = httpRQ.responseText;
//    i = response.indexOf("ttp:");
//    if (i > 0) { window.location.href = response; return; }
      if (response == "refresh") {
        var h = window.location.href;
        i = h.indexOf("&ni="); if (i < 1) i = h.indexOf("?ni=");
        if (i > 1) h = h.substring(0, i);
        i = h.indexOf("?"); if (i > 1) { h += "&" } else { h += "?" };
        h += "ni=" + mapNo;
        window.location.href = h;
        return;
      }
      setTimeout("checkChartSeq();", 15000);
    } catch (err) { };
  }
}
//-----------------------------------------------------------------------------------------------------



function gfz(n) {

  if (n > 0) { nloc = n; return; }

  try {
    if (nloc == 0) return;
    nloc -= 1;
    if (nloc > 0) return;
    gf(0);
  } catch (err) { };
}

//------------------

function gf(n) {
  try {

   
    if (pn == n) return;
    pn = n;
    
    if (nloc < 20) nloc = 20;

    var lt, s, v, i, k;
    var ki = fDates[0];
    var mi = ki; if (mi > mx) mi = mx;

    s = "";
    lt = document.getElementById("divRollOver");
    if (n == 0) {
      lt.style.visibility = 'hidden';
      document.getElementById("chart").title = "";
      document.getElementById("List1").style.visibility = 'visible';
      lt = document.getElementById("metarComment");
      if (lt) { lt.style.visibility = 'hidden'; }
      return;
    }
    lt.style.visibility = 'visible';
    document.getElementById("List1").style.visibility = 'hidden';
    document.getElementById("YouAreHere").style.visibility = 'hidden';
    document.getElementById("lblLocation").innerHTML = Locations[n];

    var x = new RegExp("&nbsp;", 'g');
    document.getElementById("chart").title = Locations[n].replace(x," ");

    lt = document.getElementById("lblMETAR");
    if (lt) {
      lt.innerHTML = METARS[n];
      lt = document.getElementById("metarComment");
      s = METARcomments[n];
      if (s.length > 8) { lt.innerHTML = s; lt.style.visibility = 'visible'; }
      else {lt.style.visibility = 'hidden';}
    }
     

    var hz = new Date().getHours()
    i = new Date().getTimezoneOffset(); hz += (i / 60);
    hz -= 2; if (hz > 21) hz = 21; if (hz < 0) hz = 0;
    
    var dy = "";
    k = 0; s = "";
    for (i = 2; i <= mi; i++) {
      if (hz > 0 && n > 0) {
        s = fDates[i-1];
        s = s.substr(7);  
        if (parseInt(s,10) >=hz ) hz = 0;
        s = "";
      }
      
      s = fDates[i-1];   //"Tue 23 09"  "Mon 6  12"
      if (dy == s.substr(0,3)) {
        s =  s.substr(7) + ":00";
      } else {
        dy = s.substr(0, 3);
        v = "</b>&nbsp;&nbsp;";
        s = "<b>" + s.substr(0, 6) + v + s.substr(7) + ":00";
      };
      v = "cTime" + i; document.getElementById(v).innerHTML = s;
      s = "";
  
      if (hz == 0) k = ((n - 1) * ki) + i - 1;

      if (hz == 0) s = WindSpeeds[k];
      v = "cWind" + i; document.getElementById(v).innerHTML = s;
      if (i > 0) {
        v = "jWind" + i; lt = document.getElementById(v);
        v = 272 - (WindDirections[k] * 16);
        if (hz > 0) v = 0;
        v = "0px " + v + "px";
        lt.style.backgroundPosition = v; 
      }

      s = "";v = "";
      if (hz == 0) s = WindChills[k];
      lt = document.getElementById("cWchl" + i);
      if (lt) lt.innerHTML = s;

      if (hz == 0) s = Temperatures[k];
      document.getElementById("cTemp" + i).innerHTML = s;

      if (hz == 0) s = CloudText[Clouds[k]];
      document.getElementById("cClwd" + i).innerHTML = s;

      if (hz == 0) s = Rains[k];
      document.getElementById("cRain" + i).innerHTML = s;
      
    }
  } catch (err) { };
}

var CloudText = ["", "Sunny", "Sunny spells", "Cloudy", "Overcast", "Clear"];
/*
var Arrows=["","ssw","sw","wsw","w","wnw","nw","nnw","n","nne","ne","ene","e","ese","se","sse","s"];
function getArrow(d){  return "images/bi14/" + Arrows[d] + ".gif"; }
*/

//end-------------------------------------------------------


