var menus;
var menuitems;
var oname="";
var deltay=10; 
menuitems=new Array();
 
var openthismenu="";
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
 
function Is()
{
var agent=navigator.userAgent.toLowerCase();
this.NN= ((agent.indexOf('mozilla') != -1) && ((agent.indexOf('spooler')==-1) && (agent.indexOf('compatible')== -1)));
this.IE= (agent.indexOf("msie") !=-1);
}

var is=new Is();
 
 
function initmenu()
{

var nameref;
 
if ( is.NN)
{
menus=document.layers;
nameref='name';
}
else 
{
menus=document.all.tags('DIV');
nameref='id';
}
 
for (var i=0; i < menus.length;i++)
{
  var mname=menus[i][nameref];
 
  if (menus[mname + 'sub'] != null) 
    {
       menuitems[mname]=new Object();
     menuitems[mname].child=menus[mname+'sub'];
      menuitems[mname].parent=menus[mname];
  if ( is.NN)
       {    
  
     menuitems[mname].parenty=menus[mname].pageY; 
       menuitems[mname].parentheight=menus[mname].clip.height;
      menuitems[mname].childheight=menus[mname + 'sub'].clip.height;
       }
  
     else
      {    
      menuitems[mname].parenty=menus[mname].style.posTop; 
       menuitems[mname].parentheight=menus[mname].clientHeight;
      menuitems[mname].childheight=menus[mname + 'sub'].clientHeight;
       }
     
      menuitems[mname].childy=0;
    }
}
}

function show(lname)
{
 
if ( oname != "" ) 
{
 
if ( oname != lname )
openthismenu=lname;
else
openthismenu="";
closemain(oname);
oname=openthismenu;

 }
else
{

oname=lname;
open(lname);
}
}


function closemain(lname)
{
if ( is.NN)
 menuitems[lname].child.visibility="hide";
else
 menuitems[lname].child.style.visibility="hidden";
close(lname);
}

function close(lname)
{
var v;
var moveY, itemY; 
v=menuitems[lname].parenty;
 moveY=0;
for (layername in  menuitems)
{
 
    if ( menuitems[layername].parenty > v )
         {
            if ( is.NN)
            itemY=menuitems[layername].parent.pageY;
            else
            itemY=menuitems[layername].parent.style.posTop;  
  
          if ( itemY - deltay <= menuitems[layername].parenty )
              {
               moveY=  itemY - menuitems[layername].parenty ;
              }
              else
            {
              moveY=deltay;
            } 
              shiftBy(menuitems[layername].parent,-1*moveY);
           // menuitems[layername].parent.style.posTop=menuitems[layername].parent.style.posTop-moveY;
     }
         // menuitems[layername].parent.style.posTop=menuitems[layername].parenty;       
}
  
if ( moveY < deltay )
 
{
 
 if ( openthismenu != "")
   open(openthismenu);
}
else
{
 setTimeout("close('" + lname + "')",1);
 }
}

function open(lname)
{
var v,v1,ch,ph, itemY;
var moveY;
v=menuitems[lname].parenty;
ch=menuitems[lname].childheight;
ph=menuitems[lname].parentheight;
 
moveY=0;
 
for (layername in menuitems)
{
  
     if ( menuitems[layername].parenty > v )
         {
            if ( is.NN)
            itemY=menuitems[layername].parent.pageY;
            else
            itemY=menuitems[layername].parent.style.posTop;  

 
           if ( itemY + deltay - menuitems[layername].parenty > ch )
            {
                  moveY=  ch - itemY + menuitems[layername].parenty;
 
            }
                 else
               {
                  moveY= deltay;
               }
        shiftBy(menuitems[layername].parent,moveY);
           //menuitems[layername].parent.style.posTop=menuitems[layername].parent.style.posTop+moveY;
          }
}
 
if ( moveY < deltay )
{
v1=menuitems[lname].child;
if ( is.NN)
 {
    v1.pageY=v+ph;
    v1.visibility="show";
 }
else
 {   
v1.style.posTop=v+ph;
v1.style.visibility="visible";
v1.style.clip="rect(0,0,0,0)";
opensub(lname);
 }

}
else
{
setTimeout("open('" + lname + "')",1);
}
}

function opensub(lname)
{

var v=menuitems[lname];
 
 
if ( v.childy < v.childheight ) 
{
 
   v.child.style.clip="rect(0,160," +v.childy+",0)"; 
   v.childy=v.childy+10;
    setTimeout("opensub('" + lname + "')",1);
}
 else
 {
v.child.style.clip="rect(0,160," + v.childheight + ",0)";
 v.childy=0;
} 
}

function closesub(lname)
{

var v=menuitems[lname];
 
 
if ( v.childy > 0 ) 
{
 
   v.child.style.clip="rect(0,160," +v.childy+",0)"; 
   v.childy=v.childy-3;
    setTimeout("closesub('" + lname + "')",1);
}
 else
 {
v.child.style.clip="rect(0,160,0,0)";
 
} 
}

function init()
{
initmenu();
} 
 

function shiftBy(obj, delY)
 {
var obj;
 
   if ( is.NN)
 obj.moveBy(0,delY);
 else
 
 obj.style.posTop = obj.style.posTop+ delY;
 
 
} 

