var ua=navigator.userAgent.toLowerCase();
var flyouts={};
var timers={};
function Flyout(id,x,y,w,h) {
  this.div=document.createElement("div");
  this.div.id=id;
  this.div.style.position="absolute";
  this.div.style.visibility="hidden";
  this.div.style.display="none";
  this.div.style.zIndex=101;
  this.div.style.left=x;
  this.div.style.top=y;
  this.div.style.width=w;
  this.div.style.height=h;
  this.div.style.background="#ffffff";
  this.div.style.border="1px solid #000000";
  this.shadow=document.createElement("div");
  this.shadow.id="sh"+id;
  this.shadow.style.position="absolute";
  this.shadow.style.visibility="hidden";
  this.shadow.style.display="none";
  this.shadow.style.zIndex=100;
  this.shadow.style.width=w;
  this.shadow.style.height=h;
  this.shadow.style.background="#000000";
  this.shadow.style.border="1px solid #000000";
  if (ua.indexOf("gecko")>0) {
    this.shadow.style.left=x+3;
    this.shadow.style.top=y+3;
    this.shadow.style.opacity=0.4;
  } else {
    this.shadow.style.left=x;
    this.shadow.style.top=y;
    this.shadow.style.filter="progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,makeShadow=true,shadowOpacity=0.6)";
  }
  this.div.show=function() {
    this.style.visibility="visible";
    this.style.display="block";
    var s=document.getElementById("sh"+this.id);
    s.style.visibility="visible";
    s.style.display="block";
  }
  this.div.hide=function() {
    this.style.visibility="hidden";
    this.style.display="none";
    var s=document.getElementById("sh"+this.id);
    s.style.visibility="hidden";
    s.style.display="none";
  }
  this.div.onmouseover=function() {
    if (timers[this.id]) clearTimeout(timers[this.id]);
  }
  this.div.onmouseout=function() {
    var cmd="killflyout(\""+this.id+"\")";
    timers[this.id]=setTimeout(cmd,50);
  }
  document.body.appendChild(this.div);
  document.body.appendChild(this.shadow);
  return this;
}
function flyoutanimate(id,x,y,w,h,o) {
  var obj=document.getElementById(id);
  if (obj) {
    obj.style.left=x;
    obj.style.top=y;
    obj.style.width=w;
    obj.style.height=h;
    if (ua.indexOf("gecko")>0) {
      obj.style.opacity=o;
    } else {
      obj.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+(o*100)+")";
    }
  }
}
function flyoutfinish(id) {
  var f=document.getElementById(id);
  var d=document.getElementById("ftmp");
  f.show();
  d.parentNode.removeChild(d);
}
function killflyout(id) {
  var f=document.getElementById(id);
  if (f) f.hide();
}
function init() {
  var html=document.getElementById("networklist").innerHTML;
  var topmenu=document.getElementById("topmenu");
  var p=topmenu.getElementsByTagName("p");
  for (var i=0; i<p.length; i++) {
    p[i].onmouseover=function() {
      this.style.color="#40f040";
      var f=this.getAttribute("flyout");
      if (f&&timers[f]) clearTimeout(timers[f]);
      if (f) f=document.getElementById(f);
      if (f) {
        var d=document.createElement("div");
        d.id="ftmp";
        d.style.position="absolute";
        d.style.visibility="visible";
        d.style.display="block";
        d.style.background="#ffffff";
        d.style.border="1px solid #000000";
        d.style.fontSize="1px"; d.innerHTML="&nbsp;";
        var x=parseInt(f.style.left)+(parseInt(f.style.width)/2);
        var y=parseInt(f.style.top);
        var w=1; var h=1;
        var ratio=parseInt(f.style.width)/parseInt(f.style.height);
        var fader=0;
        document.body.appendChild(d);
        for (var i=0; i<parseInt(f.style.height)/2; i++) {
          var cmd="flyoutanimate(\"ftmp\","+x+","+y+","+w+","+h+","+fader+")";
          setTimeout(cmd,i*1.5);
          x=x-ratio; w=w+ratio*2; h=h+2;
          fader=(i*2)/parseInt(f.style.height);
        }
        var cmd="flyoutfinish(\""+f.id+"\")";
        setTimeout(cmd,(parseInt(f.style.height)/2)*1.5);
      }
    }
    p[i].onmouseout=function() {
      this.style.color="#ffffff";
      var f=this.getAttribute("flyout");
      var cmd="killflyout(\""+f+"\")";
      timers[f]=setTimeout(cmd,50);
    }
    p[i].onclick=function() {
      var url=this.getAttribute("url");
      if (url) { window.location.href=url; }
    }
  }
  var f=new Flyout("networks",80,30,640,460);
  f.div.innerHTML=html;
}
