

var iSel=0
var sActive=""
var aTop=new Array()
var aLeft=new Array()
var iStartTop
var iStartLeft
var aEndTop=new Array()
var aEndLeft=new Array()
var iLen=0
var iStopped=0
var tmr=null
var bOut=false
var tStart="document.all['"
var tEnd="'].style"

if (document.getElementById)
{
 tStart="document.getElementById('"
 tEnd="').style"
}


function fSelCh(sDone)
{

 if(sDone=="from"){sDo="to"}else{sDo="from"}
 var sDoneVal=eval("document.f."+sDone+".value")
 var sDoVal=eval("document.f."+sDo+".value")

 if(sDoneVal=="" && sDoVal=="")
 {
  fReset()
  return
 }

 fSetSelect(sDone)

 iSel=0

 if(sDoneVal=="")
 {
  //show all airports from sDoVal
  eval("s=a"+sDoVal)
  eval("a=m"+sDone+".split(',')")
  for (i=0; i < a.length; i++)
  {
   if(s.indexOf(a[i])>=0)
   {
    o=eval(tStart+"apt"+a[i]+tEnd)
    o.backgroundColor=""
    o.visibility="visible"
   }
  }
 }
 else
 {
  o=eval(tStart+"apt"+sDoneVal+tEnd)
  o.visibility="visible"
  if(sDoVal=="")
  {
   //show all airports from sDoneVal
   eval("s=a"+sDoneVal)
   eval("a=m"+sDo+".split(',')")
   for (i=0; i < a.length; i++)
   {
    if(s.indexOf(a[i])>=0)
    {
     o=eval(tStart+"apt"+a[i]+tEnd)
     o.backgroundColor=""
     o.visibility="visible"
    }
   }
  }
  fSetApts(sDoneVal)  
 }
}

function fSetSelect(sDone)
{
 var sApt=eval("document.f."+sDone+".value")
 if(sDone=="from"){sDo="to"}else{sDo="from"}
 var sOrig=eval("document.f."+sDo+".value")
 var t=eval("s"+sDo+".split(',')")
 var v=eval("m"+sDo+".split(',')")
 var oSel=eval("document.f."+sDo)
 var o=eval("document.f."+sDo+".options")
 o.length=1
 if(sApt==""){eval("s=m"+sDo)}else{eval("s=a"+sApt)}
 var iOption=0
 for (i=0; i < t.length; i++)
 {
  if(s.indexOf(v[i])!=-1)
  {
   iOption++
   o[iOption]=new Option(t[i]);
   o[iOption].value = v[i];
   if(v[i]==sOrig)oSel.selectedIndex=iOption
  }
 }
}


function fCl(sApt)
{
 fSetApts(sApt)

//set selects


 if(mfrom.indexOf(sApt)>=0){sDone="from";sDo="to"}else{sDone="to";sDo="from"}
 iSel++
 o=eval("document.f."+sDone)
 var i=0
 var iOrigLength
 eval("iOrigLength=i"+sDone+"Length")
 if(iOrigLength==o.length)
 {
  eval("i=i"+sApt)
  o.selectedIndex=i
  fSetSelect(sDone)
 }
 else
 {
  for(i=1;i<o.length;i++)
  {
   if(o[i].value==sApt)
   {
    o.selectedIndex=i
    break
   }
  }
 }
// if(iSel>=2)
 if(document.f.from.value!="" && document.f.to.value!="")
 {
  document.body.style.cursor="wait"
  document.f.submit()
 }
}


function fSetApts(sApt)
{

//set selected airport background color
 fSetBGColor(sApt,"#FEDD78")

 var sDo
 var sDone
 var a

 if(mfrom.indexOf(sApt)>=0){sDone="from";sDo="to"}else{sDone="to";sDo="from"}

//hide all other airports in same country
 eval("a=m"+sDone+".split(',')")
 for (i=0; i < a.length; i++)
 {
  if(sApt!=a[i])
  {
   o=eval(tStart+"apt"+a[i]+tEnd)
   o.visibility="hidden"
  }
 }

//hide all airports selected airport doesnt fly to
 eval("s=a"+sApt)
 eval("a=m"+sDo+".split(',')")
 for (i=0; i < a.length; i++)
 {
  if(s.indexOf(a[i])==-1)
  {
   o=eval(tStart+"apt"+a[i]+tEnd)
   o.visibility="hidden"
  }
 }


}



function fReset()
{
 fStop()
//reset airports maps
 var v=mfrom.split(",")
 var t=sfrom.split(",")
 document.f.from.length=1
 for (i=0; i < v.length; i++)
 {
  o=eval(tStart+"apt"+v[i]+tEnd)
  o.visibility="visible"
  o.backgroundColor=""
  o.color="black"  
  document.f.from[i+1]=new Option(t[i])
  document.f.from[i+1].value=v[i]
 }
 
 v=mto.split(",")
 t=sto.split(",")
 for (i=0; i < v.length; i++)
 {
  o=eval(tStart+"apt"+v[i]+tEnd)
  o.visibility="visible"
  o.backgroundColor=""
  o.color="black"  
  document.f.to[i+1]=new Option(t[i])
  document.f.to[i+1].value=v[i]
 }

//reset count of selected airports
 iSel=0
 document.body.style.cursor="default"
}



function fAOu()
{
 if(iStopped>=iLen)
 {
  fClearApt(sActive)
 }
 else
 {
  bOut=true
 }
}

function fAOv(sApt)
{
 eval("s=a"+sApt)
 s=sApt+","+s
 bOut=false
 fClearApt(sActive)
 fStop()
 sActive=s
 var a=s.split(",")
 fSetColor(a[0], "red")
 o=eval(tStart+"apt"+a[0]+tEnd)
 iStartTop=parseFloat(o.top)+5
 iStartLeft=parseFloat(o.left)+20
 iLen=0
 for (i=1; i < a.length; i++)
 {
  o=eval(tStart+"apt"+a[i]+tEnd)
  if(o.visibility!="hidden")
  {
   fSetColor(a[i], "red")
   iLen++
   aTop[iLen]=iStartTop
   aLeft[iLen]=iStartLeft
   aEndTop[iLen]=parseFloat(o.top)+5
   aEndLeft[iLen]=parseFloat(o.left)+20
  }
 }
 iStopped=0
 fVisible("visible")
 fMove()
}


function fMove()
{
 for (i=1; i <= iLen; i++)
 {
  if(aTop[i]>0)
  {
   t=aEndTop[i]-aTop[i];
   l=aEndLeft[i]-aLeft[i];
   angle=Math.round(Math.atan2(t,l)*180/Math.PI);
   aTop[i] = aTop[i] + Math.round(10*Math.sin(angle*Math.PI/180));
   aLeft[i] = aLeft[i] + Math.round(10*Math.cos(angle*Math.PI/180));

   t=aTop[i]-aEndTop[i]
   l=aLeft[i]-aEndLeft[i]
   d=Math.floor(Math.sqrt(l*l+t*t))
   o=eval(tStart+"pn"+i+tEnd)
   if(d<10)
   {
    o.visibility="hidden"
    aTop[i]=0
    iStopped++
    if(iStopped>=iLen)
    {
     fStop()
     return
    }
   }
   else
   {
    o.top=aTop[i]
    o.left=aLeft[i]
   }
  }
 }
 tmr=setTimeout("fMove()",30);
}

function fStop()
{
 clearTimeout(tmr)
 fVisible("hidden")
 if(bOut) fClearApt(sActive)
}

function fVisible(sVisible)
{
 for (i=1; i <= iLen; i++)
 {
  o=eval(tStart+"pn"+i+tEnd)
  o.visibility=sVisible
 }
}

function fSetBGColor(sApt, sColor)
{
 o=eval(tStart+"apt"+sApt+tEnd)
 o.backgroundColor=sColor
}

function fSetColor(sApt, sColor)
{
 o=eval(tStart+"apt"+sApt+tEnd)
 o.color=sColor
}

function fClearApt(s)
{
 if(sActive=="") return
 var a=s.split(",")
 for (i=0; i < a.length; i++)
 {
  fSetColor(a[i], "")
 }
}

function fcheck()
{
 if(document.f.from.value=="" || document.f.to.value=="")
 {
  window.alert("Please select two airports")
  return false;
 }
 return true;
}



