var MaxLevel=20;
var oldBottomLayers=new Array(MaxLevel+1);
var oldTopLayers=new Array(MaxLevel+1);
var oldLDropLayers=new Array(MaxLevel+1);

for(i=0;i<=MaxLevel;i++){
   oldTopLayers[i]="";
   oldBottomLayers[i]="";
   oldLDropLayers[i]="";
}

function do_AllOut(){
  do_top_out();
  do_bottom_out();
  do_ldrop_out();
}

if(document.layers){
  window.captureEvents(Event.MOUSEDOWN);
  window.onmousedown=do_AllOut;
}else{
	document.onmouseup=do_AllOut;
}

function show_layer(x){
	if(x){
      x=document.getElementById(x);
      if(x)
         x.style.visibility="visible";
	}
}

function hide_layer(x){
	if(x){
      x=document.getElementById(x);
      if(x)
         x.style.visibility="hidden";
	}
}
/*=======================================================================*/

function do_bottom_menu(id, Level, ShowIt){
	for(i=MaxLevel;i>Level;i--)
	   if(oldBottomLayers[i]){
	     hide_layer(oldBottomLayers[i]);
	     oldBottomLayers[i]="";
	   }
	ShowIt=(oldBottomLayers[0]!="") || (ShowIt==1);
	if(oldBottomLayers[Level] && oldBottomLayers[Level]!=id)
	   hide_layer(oldBottomLayers[Level]);
	div=document.getElementById(id);
	if(Level>0 || ShowIt){
    td=id.substr(1,50);
		cell=document.getElementById(td);
 		if (cell){
 		   isTop=cell.className=="bottomMenuMainItem";
		   if (isTop){
		      offLeft=cell.offsetLeft;
		      offTop =cell.offsetTop - div.offsetHeight;
       }else{
          offTop =cell.offsetTop - div.offsetHeight+cell.offsetHeight;
          offLeft=cell.offsetLeft+div.offsetWidth-5;
       }
		   while(cell.offsetParent){
			   cell=cell.offsetParent;
			   offTop +=cell.offsetTop ;
			   offLeft+=cell.offsetLeft;
	     }
		   sub=document.getElementById(id);
		   if(sub){
         sub.style.left=offLeft+"px";
         sub.style.top =offTop +"px";
       }
    }
		show_layer(id);
		oldBottomLayers[Level]=id;
	}
}

function do_bottom_out(){
	for(i=0;i<=MaxLevel;i++)
	   if(oldBottomLayers[i]){
	     hide_layer(oldBottomLayers[i]);
	     oldBottomLayers[i]="";
	   }
}

/*=======================================================================*/
function do_top_menu(id, Level, ShowIt){
	for(i=MaxLevel;i>Level;i--)
	   if(oldTopLayers[i]){
	     hide_layer(oldTopLayers[i]);
	     oldTopLayers[i]="";
	   }

	ShowIt=(oldTopLayers[0]!="") || (ShowIt==1);
	if(oldTopLayers[Level] && oldTopLayers[Level]!=id)
	   hide_layer(oldTopLayers[Level]);
	
	if(Level>0 || ShowIt){
		td=id.substr(1,50);
		cell=document.getElementById(td);
 		if (cell){
 			isTop=cell.className=="topMenuMainItem";
			if (isTop){
				offLeft=cell.offsetLeft+ 10;
				offTop =cell.offsetTop + cell.offsetHeight ;
			}else{
				offTop =cell.offsetTop +5;
				offLeft=cell.offsetLeft+ cell.offsetWidth-5;
			}
			while(cell.offsetParent){
			   cell=cell.offsetParent;
			   offTop +=cell.offsetTop ;
			   offLeft+=cell.offsetLeft;
			}
			sub=document.getElementById(id);
			if(offLeft+sub.offsetWidth>document.body.offsetWidth)
				offLeft=document.body.offsetWidth-sub.offsetWidth-100;
			if(sub){
				sub.style.left=offLeft+"px";
				sub.style.top =offTop +"px";
			}
		}
		show_layer(id);
		oldTopLayers[Level]=id;
	}
}

function do_top_out(){
	for(i=0;i<=MaxLevel;i++)
	   if(oldTopLayers[i]){
	     hide_layer(oldTopLayers[i]);
	     oldTopLayers[i]="";
	   }
}

/*=======================================================================*/
function do_ldrop_menu(id, Level, ShowIt){
	for(i=MaxLevel;i>Level;i--)
	   if(oldLDropLayers[i]){
	     hide_layer(oldLDropLayers[i]);
	     oldLDropLayers[i]="";
	   }

	ShowIt=(oldLDropLayers[0]!="") || (ShowIt==1);
	if(oldLDropLayers[Level] && oldLDropLayers[Level]!=id)
	   hide_layer(oldLDropLayers[Level]);
	
	if(Level>0 || ShowIt){
		td=id.substr(1,50);
		cell=document.getElementById(td);
 		if (cell){
 			isTop=cell.className=="ldropMenuMainItem";
			if (isTop){
//alert("cell.offsetLeft"+cell.offsetLeft+"\n cell.offsetTop"+cell.offsetTop);			
				offLeft=cell.offsetLeft+100; /*cell.offsetWidth-5*/
				offTop =cell.offsetTop + 5;
			}else{
				offTop =cell.offsetTop +5;
				offLeft=cell.offsetLeft+ cell.offsetWidth-5;
			}
if (!document.all && window.innerWidth ){
			while(cell.offsetParent){
			   cell=cell.offsetParent;
			   offTop +=cell.offsetTop ;
			   offLeft+=cell.offsetLeft;
			}
}			
			sub=document.getElementById(id);
			if(offLeft+sub.offsetWidth>document.body.offsetWidth)
				offLeft=document.body.offsetWidth-sub.offsetWidth-100;
			if(sub){
				sub.style.left=offLeft+"px";
				sub.style.top =offTop +"px";
			}
		}
		show_layer(id);
		oldLDropLayers[Level]=id;
	}
}

function do_ldrop_out(){
	for(i=0;i<=MaxLevel;i++)
	   if(oldLDropLayers[i]){
	     hide_layer(oldLDropLayers[i]);
	     oldLDropLayers[i]="";
	   }
}
