var oval = ""; var dtup = false; var lastid = 0; var qopen = false; var fat = null; var getflag = false; var getnreg = false; var geticons = false; var oti = false; var io = null; var aex = null; var cnn = null; var rte = null; var flg = null; var ico = null; var ivl = false; var aaa = false; var dbl = false;
function ajaxinit() { io = new xrq(); aex = io.newconn("expand"); fat = io.newconn("fandt"); cnn = io.newconn("ajax"); rte = io.newconn("ajax2"); flg = io.newconn("ajax3"); ico = io.newconn("ajax4"); if (getflag==true) getFlagIcons(); if (getnreg) reregistered(true,true); if (geticons==true) getacIcons(true,true); if (ivl) sL(); if (dtup) flight_and_type(true,true); if (dbl) dbaquery(); if (aaa) loadAirlines(true,true); }
var dcm = document; var d = new Date(); var fname = "query_"+d.getTime(); var ismsie = false;
function gE(id) {return dcm.getElementById(id);}
function sT(f,v) {return setTimeout(f,v);}
function cE(el) {return dcm.createElement(el);}
function aC(c,t) {c.appendChild(t);}
function cN(tx) {return dcm.createTextNode(tx);}
function setclass(o, c) { o.setAttribute((ismsie)?"className":"class",c); }
if (!window.opera && navigator.userAgent.indexOf("MSIE")!=-1) ismsie = true;
function sL() {
  for (var i=0;i<invalid_lines.length;i++) {
    var d = gE("acrow_"+invalid_lines[i]); if (d==null) continue;
    d.style.textDecoration = "line-through"; d.style.color = "#a8a59d";
  }
}
function eB(o,t,e) {
  try {
    var r = o.getElementsByTagName(t);
  } catch(e) { return null; }
  return (e==null)?r:r[e];
}
function xg(x,s,l) { 
  try { 
    var r = eB(x,s); 
  } catch (e) { 
    if (l==null) return ""; 
    return (l==true)?0:0.0;
  }
  if ((r.length) && (r[0].firstChild)) {
    var b = r[0].firstChild.nodeValue; 
    if (l==null) return b;
    return (l)?parseInt(b):parseFloat(b);
  } else { return (l!=null)?0:""; }
}
function eH(obj, evType, fn, useCapture) {
  if (!obj) { alert("Assign fail for "+evType); return; }
  if (obj.addEventListener) {
    obj.addEventListener(evType, fn, useCapture); return true;
  } else if (obj.attachEvent) {
    var r = obj.attachEvent('on'+evType,fn); return r;
  } else { obj['on'+evType] = fn;}
}
function qsrchInput(obj,x) {
  if (x) { oval=obj.value; if (!oti) obj.value = ''; obj.style.color="#000000"; oti = true; return;}
  if (obj.value.length==0) obj.value = oval;
  obj.style.color = "#a8a59d";
}
function dropdown_insert(e,h,f) {
  if (!e.length) return 0;
  var l = cE("li"); setclass(l,'headline');l.innerHTML = f; aC(h,l);
  for (var i=0;i<e.length;i++) {
    l = cE("li"); aC(l,cN(e[i].firstChild.nodeValue)); aC(h,l);
    eH(l,"mouseout",moubyevent,false);eH(l,"mouseover",movbyevent,false);eH(l,"click",clkbyevent,false);
  }
  return e.length;
}
function flight_and_type(cb,init) {
  if (init) {
    io.abort(fat); var r = io.fetch(fat,false,"/assets/flightandtype.php","a="+escape(ur),flight_and_type);
    return true;
  }
  if (io.isfetched(fat)) {
    d = io.getresponse(fat,true); if (d==null) return;
    gE("jscodex").innerHTML = d; eval(gE("jscodex").innerHTML);
  }
}
function aa_load() {
  var v = dcm.forms.quicklookup.sin.value;
  if (v.length < 3 || aex==null) return;
  dcm.forms.quicklookup.sin.disabled = true;
  io.abort(aex); var r = io.fetch(aex,false,"/assets/quicksearch.php","item="+escape(v),autoexpand);
  if (r == null) dcm.forms.quicklookup.sin.disabled = false;
  return;
}
function acremarks(r,init) {
  if (init==true) {
    io.abort(fat); var r = io.fetch(fat,false,"/assets/remarks.php","r="+r,acremarks);
    return;
  }
  if (io.isfetched(fat)) {
    d = io.getresponse(fat,true); var z = gE("aircraftremarks"); if (z==null || d==null) return;
    z.value = d;
  }
}
function autoexpand(o,init) {
  if (init) {
    var v = o.value; if (v.length < 3 || aex==null) return true;
    sT("aa_load()",750); return true;
  }

  if (io.isfetched(aex)) {
    dcm.forms.quicklookup.sin.disabled = false;
    d = io.getresponse(aex); if (d==null) return;
    if (xg(d,"ErrorCode",true)>0) {
      alert("Too many simultaneous database queries at the moment.\nPlease try again later");
      return;
    }
    var r = 0; var h = gE("drpdown1"); h.innerHTML = "";
    var e = eB(d,"Icao24"); r+=dropdown_insert(e,h,"ICAO24 FrameIDs");
    var e = eB(d,"Flight"); r+=dropdown_insert(e,h,"Flights");
    var e = eB(d,"Reg");    r+=dropdown_insert(e,h,"Registrations");
    var e = eB(d,"Airline");r+=dropdown_insert(e,h,"Airlines");
    if (r) {
      var d = gE("dd1"); d.isopen = false; dropdownmenu(d,'drpdwn1','drpdown1');
    }
  }
}
function acImage(ev) { var e = getEvent(ev);var t = e.target?e.target:e.srcElement;}
function getacIcons(cb,init) {
  if (init!=null) {
    if (init==true) { for (var i=0;i<25;i++) eH(gE("aci_"+i),"click",acImage,false);}
    io.abort(ico); var r = io.fetch(ico,false,"/assets/showicons.php","s="+lastid,getacIcons); return;
  }
  if (io.isfetched(ico)) {
    d = io.getresponse(ico); if (d==null) return;
    var b = eB(d,"Icon"); var lastid = xg(d,"Max",true);
    for (var i=0;i<b.length;i++) {
      var e = gE("aci_"+i);
      e.src = "/assets/imgcreator.php?a="+xg(b[i],"IATA")+"&o="+xg(b[i],"ICAO")+"&p="+xg(b[i],"APID",true)+"&r="+xg(b[i],"Registration")+"&f="+xg(b[i],"Image")+"&s=0&v=430";
      e.title = xg(b[i],"Airline")+", "+xg(b[i],"Aircraft")+" ["+xg(b[i],"Registration")+"]";
    }
  }
}
function reregistered(cb,init) {
  if (init==true) {
    if (rr.length) {
      io.abort(aex); var r = io.fetch(aex,false,"/assets/newreg.php","items="+escape(rr),reregistered);
    }    
    return;
  }
  if (io.isfetched(aex)) {
    d = io.getresponse(aex,true); if (d==null) return;
    gE("jscodea").innerHTML = d; eval(gE("jscodea").innerHTML);
  }
}
function getFlagIcons() {
  var t = gE("sresults"); if (!t) return;
  var e = eB(t,"div"); if (e==null) return;
  var id = new Array(); var j = e.length;
  for (var i=0;i<j;i++) {
    if (e[i].getAttribute((ismsie)?"className":"class")!="flag") continue;
    e[i].id = "flag_"+i;id[id.length] = e[i].firstChild.data+";flag_"+i;
  }
  var t = gE("sresults2"); if (t!=null) {
    var e = eB(t,"div"); if (e!=null) {
      for (var i=0;i<e.length;i++) {
        if (e[i].getAttribute((ismsie)?"className":"class")!="flag") continue;
        e[i].id = "flag_"+(i+j);id[id.length] = e[i].firstChild.data+";flag_"+(i+j);
      }
    }
  }
  if (id.length) {
    io.abort(flg); var r = io.fetch(flg,false,"/assets/getflags.php","items="+escape(id.join(',')),flagupdate);
  }
}
function showFlag(id,iso,cty) {
  var i = gE(id); if (!i) return;
  i.innerHTML = ""; i.style.display = "block";
  var a = cE("a"); a.href = "http://www.libhomeradar.org/databasequery/results.php?regin="+iso+"&results=-1";
  var img = cE("img"); img.src = "/images/flag/"+iso+((iso=="ukn")?".gif":".png");
  img.title = "a/c registered in "+cty; img.border = "0"; img.style.borderBottom = "0px";
  a.style.borderBottom = "0px"; aC(i,a); aC(a,img);
}
function flagupdate() {
  if (io.isfetched(flg)) {
    d = io.getresponse(flg,true); if (d==null) return;
    gE("jscode").innerHTML = d; eval(gE("jscode").innerHTML);
  }
}
function getEvent(e) {
  if (typeof e == 'undefined') e = window.event;
  if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
  if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
  return e;
}
function clkbyevent(ev) {
  var e = getEvent(ev);var t = e.target?e.target:e.srcElement;
  dcm.forms.quicklookup.elements[1].value=t.firstChild.nodeValue;
  if (quicksearch()) {
    datatransfer("Searching. please wait..."); dcm.forms.quicklookup.submit();
  }
}
function movbyevent(ev) { var e = getEvent(ev);var t = e.target?e.target:e.srcElement;setclass(t,'blueback');}
function moubyevent(ev) { var e = getEvent(ev);var t = e.target?e.target:e.srcElement;setclass(t,'');}
function quicksearch() {
  var f = document.forms.quicklookup;
  if (f.elements[1].value.length<3) return false;
  f.item.value = f.elements[1].value; return true;
}
function dropdownmenu(b,o,p) {
  if (b.isopen==true) {
    gE(p).style.display="none";
    b.isopen = false; b.fchildE = b.schildE = null;
  } else {
    gE(o).style.borderBottom = "0px"; hide(p,false);
    sT("gE('"+b.id+"').isopen = true",50); b.fchildE = o; b.schildE = p;
  }
}
function clicker(ev) {
  var b = eB(dcm,"div");
  if (b!= null) {
    for (var i=0;i<b.length;i++) {
      if (b[i].isopen == true && b[i].fchildE!=null) dropdownmenu(b[i],b[i].fchildE,b[i].schildE);
    }
  }
}
function hide(n,h) { var d = gE(n); if (d==null) return; d.style.display = (h)?"none":"block"; }
function dtdone() { hide('datatransfer',true);hide('datatransferinfo',true); }
function datatransfer(t) {
  if (ismsie) {
    var h = document.documentElement.clientHeight;
    var k = document.body.clientHeight;
    if (dcm.documentElement && dcm.documentElement.scrollTop) {
      var yFromTop = dcm.documentElement.scrollTop;
    } else {
      var yFromTop = dcm.body.scrollTop;
    }
  } else {
    var h = window.innerHeight; var k = h;
    var yFromTop = (self.pageYOffset)?self.pageYOffset:0;
  }
  var dt = gE("datatransfer"); if (dt==null) return;
  dt.style.top = yFromTop+"px";
  var di = gE("datatransferinfo"); if (t!=null) di.innerHTML = t;
  di.style.top = parseInt(0.45*((h>0)?h:k))+yFromTop+"px";
  hide("datatransfer",false); hide("datatransferinfo",false);
}
function qseonoff() { hide("qse",qopen); qopen = (qopen)?false:true; }
function qss() { if (io.isfetched(ico)) { dtdone(); gE("datatransferinfo").innerHTML = "Searching, please wait..."; d = io.getresponse(ico,true); if (d!=null) gE("qse").innerHTML = d; hide("qse", false);}}
function qsedelete(qid) {
  if (!confirm("Really delete this entry from your quicksearch board?")) return;
  datatransfer("Deleting entry...");
  io.abort(ico); var r = io.fetch(ico,true,"/assets/isquicksearch.php","init=0&del=1&qid="+qid+"&title=",qss);
}
function quickadd(qid,init) {
  var t = prompt("Enter description for this search");
  if (init) {
    dcm.location.href="/assets/isquicksearch.php?init=1&qid="+qid+"&title="+((t==null)?"":escape(t));
  } else {
    datatransfer("Adding entry...");
    io.abort(ico); var r = io.fetch(ico,true,"/assets/isquicksearch.php","init=0&qid="+qid+"&title="+((t==null)?"":escape(t)),qss);
  }
}