

var height = 15; // height of the menu headers
var iheight = 15; // height of the menu_items

var bgc = "black" // background color of the item
var tc = "white" // text color of the item

var select_tc = "red";

var over_bgc = "black";
var over_tc = "#666666";

var speed = 1;
var timerID = "";
var N = (document.all) ? 0 : 1;
var width = 152
var self_menu = new Array();
var now = false;
var glb_nr = -1;
var glb_c = -1;
var pullingUP = false;
var selectedMenu = 0;
var menuPage = -1;
var hasChildren = 0;

function write_menu() {
  smc = 0; // count the position of the self_menu
  document.write("<div style='position:absolute'>");
  mn = 0;
  mni = 1;
  start = -1;
  mainCount = 0;


  for(i=0;i<Link.length;i++) {
   la = Link[i].split("|");
   if (la[0] == "0") {
    if(start == 0) {
      document.write("</div>");
      h =  csmc * iheight;
      tmn = mn; //-h
      self_menu[smc] = new Array(tmn,h,0,-2);
      smc++;
      mn--;
     }
     csmc = 0;
	mainCount++;
	content = la[1];
	theOnFunc = "";
	if(hasChildren == 0){
		mn+=1;	
	}
	  hasChildren = 0;
	if(menuPage != i) { theOnFunc = "onmouseover='color(this.id, over_tc)' onmouseout='uncolor(this.id, over_tc)'"; }
	if(la[2] != "" && la[2] != null){
		content ="<a id='hr"+i+"' href='"+la[2]+"&menuPage="+i+"' "+theOnFunc+">"+la[1]+"</a>";
	}
    document.write("<div class='menu' style='top:"+mn+";height:"+height+"' id='down"+smc+"' onclick='pull_down("+smc+","+mni+")' onmouseover='color(this.id, over_tc)' onmouseout='uncolor(this.id, over_tc)'> "+ content + "</div>");
	
	if(menuPage == i){
		color("hr"+i, select_tc);
	}

	
    self_menu[smc] = new Array(mn,height,0,mni);
    smc++;
    mni++;
    mn+=height;
    start = 1;
   } else if (la[0] == "1") {

	
 	 hasChildren = 1;
	if(start == 1) {
      if(N)mn+=2;
       document.write("<div class='item_panel' id='down"+smc+"' style='top:"+mn+"'>");
       start = 0;
     }

    document.write("<a id='hr"+i+"' href='"+la[2]+"&menu="+mainCount+"&menuPage="+i+"'");
    if (la[3] != "") document.write(" target='" + la[3] + "' ");
    document.write("><div class='item' id='d"+i+"' style='height:"+iheight);
    if (N) document.write(";width:150");

    
	if(menuPage == i){	 
	    document.write("'>  "+ la[1] + "</div></a>");	
		color("d"+i, select_tc);		
	} else {
		 document.write("' onmouseover='color(this.id, over_tc)' onmouseout='uncolor(this.id, over_tc)'>  "+ la[1] + "</div></a>");
	}
	
	csmc++;
  
   }
  }
  if (start == 0) {
     document.write("</div>");
     h =  csmc * iheight;
     tmn = mn + 5; //-h
     self_menu[smc] = new Array(tmn,h,0);
     name = "down" + (self_menu.length-1);
     obj = document.getElementById(name);
   //  obj.style.borderBottomColor = "darkblue";
   //  obj.style.borderBottomWidth = 1;
   //  obj.style.borderBottomStyle = "solid";
   }
  document.write("</div>");
}

function color(obj, tc) {
 document.getElementById(obj).style.backgroundColor = over_bgc;
 document.getElementById(obj).style.color = tc
 if(tc == "red"){
	  document.getElementById(obj).style.fontWeight = "bold";
 }
}

function uncolor(obj) {
 document.getElementById(obj).style.backgroundColor = bgc;
 document.getElementById(obj).style.color = tc
   document.getElementById(obj).style.fontWeight = "normal";
}



function pull_down(nr,c) {

if(pullingUP == false && glb_nr != -1 && glb_c != -1){

	if(nr != glb_nr && c != glb_c){
		pullingUP = true;
		pull_down(glb_nr,glb_c);
		glb_nr = -1;
		glb_c = -1;
	}
}
   
	pullingUP = false;  
   
if(timerID != ""){

	window.setTimeout("pull_down("+nr+","+c+")", 1000);

}else{

			
		 if (timerID == "") {
		 to = self_menu[nr+1][1]
		 begin = nr + 2;
		
		if (timerID != "") clearTimeout(timerID);
		
		if (self_menu[nr+1][2] == 0) {
			
			
			
				glb_nr = nr;
				glb_c = c;			

			  self_menu[nr+1][2] = 1;
			  if(nr == self_menu.length-2) {to++;}
			  epull_down(begin,to,0);
		 } else {
	 glb_nr = -1;
	 glb_c = -1;			 
			  to = 0;
			  self_menu[nr+1][2] = 0;
			  name = "down"+(nr+2);
			  open_item = 0;
			  for(i=0;i<nr;i++) {
			   if(self_menu[i][2] == 1)
				{open_item += self_menu[i][1];
				}
			  }
			  
			  if (N == false) {open_item-= (c*1)};
			  
				  if (nr== self_menu.length-2) {
					  val = self_menu[self_menu.length-1][1];to=-1;
				  }
					else  val = parseInt(document.getElementById(name).style.top) -(open_item)-(c*height);
				  epull_up(begin,to,val);
			  }
		  }
	}
}

function epull_down(nr,to,nowv) {
 name = "down" + (nr-1);
 obj = document.getElementById(name).style.clip = "rect(0,"+width+","+(nowv+1)+",0)";
 for (i=nr;i<self_menu.length;i++) {
  name = "down" + i;
  obj = document.getElementById(name);
  obj.style.top = parseInt(obj.style.top)+2;
 }
 nowv = nowv + 2;
 if(nowv < to){
	if(now){
		epull_down(nr,to,nowv);	
	}else{
		timerID = setTimeout("epull_down("+nr+","+to+","+nowv+")",speed);
	}
 }
 else {
	 now = false;
	 //glb_nr = -1;
	// glb_c = -1;
	timerID = ""; 
 }
}

function epull_up(nr,to,nowv) {
 name = "down" + (nr-1);
 obj = document.getElementById(name).style.clip = "rect(0,"+width+","+nowv+",0)";
 for (i=nr;i<self_menu.length;i++) {
  name = "down" + i;
  obj = document.getElementById(name);
  obj.style.top = parseInt(obj.style.top)-2;
 }
 nowv = nowv - 2;
 if(nowv > to+6) timerID = setTimeout("epull_up("+nr+","+to+","+nowv+")",speed);
 else timerID = "";
}

function startup(nr) {
 selectedMenu = nr;
 write_menu();
 if (nr != 0) {
 for(i=0;i<self_menu.length;i++)
 {
  if(self_menu[i][3] == nr) {
	now = true;
	pull_down(i,nr)
  }
  i==self_menu.length;
 }
 }
}


function getMenuPage(val) {
	menuPage = val;	
}
