//win = window.open('new','newwindow');
//win.document.write('');

var menuwidth='100px' //default menu width
var menubgcolor='#CC9999'  //menu bgcolor
var disappeardelay=300  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all
var menus= new Array()
var menuvise= new Array()
var menunames= new Array()
var menuchain= new Array()
var menunumber= new Array()
var MenusObject=new Array()

var all       = new Array(); // Array of all objects, showed in menu
var all_level = new Array(); // Array o levels

var i=0
var level=0

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
}
return edgeoffset
}

  //
  // Show Drop Down menu
  //

  function dropdownmenu(obj, e, menuname, menuwidth){
    var i
    var flag=0
    var plusx=0
    level = 0;

    if (window.event) event.cancelBubble=true;
    else if (e.stopPropagation) e.stopPropagation()
    //clearhidemenu()
    if(obj.parentNode.className=='menu'){
    //  hidemenu();
        plusx=110;
        for(i=0;i<=level;i++)if(obj.parentNode.id==menuchain[i])break;
        if(i>level)level=0
        else level++
    }
    else {
      level=0
    }

    all_count = all.length;
    needAdd = 1;
    for (il = 0; il<all_count; il++) {
      if (all[il] == menuname) {
        needAdd = 0;
        break;
      }
    }
    if (needAdd == 1) {
      all[all_count] = menuname;
      all_level[all_count] = level;
    }


    menuchain[level]=menuname;
    for(i=0;i<menunames.length;i++)if(menunames[i]==menuname)break;
    if(i==menunames.length)menunames[i]=menuname;
    menunumber[level]=i;
    dropmenuobj=document.getElementById? document.getElementById(menuname) : dropmenuobj
    //populatemenu(menucontents)
    //if (ie4||ns6){
    //showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
    dropmenuobj.x=getposOffset(obj, "left")
    dropmenuobj.y=getposOffset(obj, "top")

//    dropmenuobj.style.left=dropmenuobj.x+plusx-clearbrowseredge(obj, "rightedge")+"px"
    dropmenuobj.style.left=dropmenuobj.x+plusx-clearbrowseredge(obj, "leftedge")+"px"
    dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
    dropmenuobj.style.width=menuwidth;
    focus_on(menuname);
    redrawmenu();
    

//    window.status = all;
    a = level + menuname;
//    alert(a);
    for(i=0;i<all.length;i++){
      if (all_level[i] == level && level != 0 && all[i] != menuname) {
//        alert(all);
//        needHide = xGetElementById(all[i]);
//        xHide(needHide);
      }
    }
    
    return clickreturnvalue();
  }


  //
  // Show Drop Down menu
  //

  function focus_on(menuname){
    var i
    for(i=0;i<=level;i++)if(menuname==menuchain[i])break
    if(i>level)level=0
    else level=i;
    if(typeof to!='undefined')
      clearTimeout(to);
    if(level<=1) {
      redrawmenu();
    }
    else {
      to=setTimeout("redrawmenu()",disappeardelay);
    }
  }

function focus_out_old(menuname){
var i
for(i=0;i<=level;i++)
if(menuname==menuchain[i])break
if(i>level)level=-1
if(typeof to!='undefined')
  clearTimeout(to);
if(level<=1)to=setTimeout("hideallmenus()",disappeardelay)
else to=setTimeout("redrawmenu()",disappeardelay)
}


  function focus_out(menuname){
//    if (menuname == 'menu1_1') alert('1');
//    if (menuname == 'menu1_2') alert('!!!');
    var i
    for(i=0;i<=level;i++) {
      if(menuname==menuchain[i])break
    }
    if(i>level)level=-1
    if(typeof to!='undefined') {
      clearTimeout(to);
    }
    if(level<=1) {
      to=setTimeout("hideallmenus()",disappeardelay);
    }
    else {
      to=setTimeout("redrawmenu()",disappeardelay);
    }
  }

  function redrawmenu(){
    var i
    for(i=0;i<menunames.length;i++) {
      menuvise[i]='hidden';
    }
    for(i=0;i<=level;i++) {
      menuvise[menunumber[i]]='visible';
    }
//    win.document.write(level);
//    win.document.write('<br>');
//    win.document.write(menunames);
//    win.document.write('<br>');
//    win.document.write(menunumber);
//    win.document.write('<br>');
//    win.document.write(menuvise);
//    win.document.write('<br>');
//    if (typeof menuchain != 'undefined') win.document.write(menuchain);
//    win.document.write('<br>');
//    win.document.write('<br>-------------------------------------<br>');

    for(i=0;i<menunames.length;i++){
      dropmenuobj=document.getElementById? document.getElementById(menunames[i]) : dropmenuobj;
      dropmenuobj.style.visibility=menuvise[i];
    }
  }

function hideallmenus(){
var i
for(i=0;i<menunames.length;i++)menuvise[i]='hidden'
for(i=0;i<menunames.length;i++){
dropmenuobj=document.getElementById? document.getElementById(menunames[i]) : dropmenuobj
dropmenuobj.style.visibility=menuvise[i]
}
}


function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function dynamichideobject(e,object){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenuobject(object)
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenuobject(object)
}

function hidemenu(e){
var i;
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility='hidden'
}

//frames[0].document.write(menus);

for(i=0;i<menus.length;i++)
  menus[i].style.visibility='hidden'
}

function hidemenus(e){
if (ie4||ns6)
for(i=0;i<menus.length;i++)
  menus[i].style.visibility='hidden';

if (typeof dropmenuobj!="undefined"){
	//dropmenuobj.style.visibility="hidden"
}
}

function hidemenuobject(id){
var object;
object = document.getElementById? document.getElementById(id) : dropmenudiv
if (typeof object!="undefined"){
if (ie4||ns6)
  object.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function delayhidemenuobject(object){
if (ie4||ns6)
delayhide=setTimeout("hidemenuobject('"+object.id+"')",disappeardelay)
hidemenus(object);
}

function hide(object){
object.style.visibility='hidden';
}

function hidem(e,menuname){
var m
m=document.getElementById? document.getElementById(menuname) : dropmenudiv
if(typeof e!="undefined"&&m.id!=dropmenuobj.id)
  m.style.visibility='hidden';
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hideallmenus