Timeout=null;
OnMenu=null;
Menus=new Array();
time_out=null;
var time_out_id = new Array();
TimeToHide1=null;
var vis = '';
var el = document.getElementById;
var active_menu = '';
function numeric_sort(element1, element2) {
    return (element2 - element1);
}

function SubMenuItem(stitle,slink,starget,sspecial) {
	this.stitle=stitle;
	this.slink=slink;
	this.starget=starget;
	this.sspecial=sspecial;
}

function SubMenu(n,x,y) {
	this.n=n;
	this.name="sub"+n;
    this.id="sub"+n;
	this.x=x;
	this.y=y;
	this.items=new Array();
}

function AddI(obj,stitle,slink,starget,sspecial) {
	obj.items[obj.items.length]=new SubMenuItem(stitle,slink,starget,sspecial); 
}

function Show(n) {
	Obj=LayerObj("sub"+n);
	Obj.visibility="visible";
}

function Hide(n) {
	if (OnMenu!=n || OnMenu==null) {
		Obj=LayerObj("sub"+n);
		Obj.visibility="hidden";
	}
}

function TryToHide(n) {
    clearTimeout(Timeout);
    Timeout=setTimeout("Hide("+n+")",TimeToHide); 
}

function TryToHideMe(n) {
      // alert('off : '+n);
	if(vis==0) 
		time_out=setTimeout("Hide("+n+")",TimeToHide);
	if(vis==1) 
		clearTimeout(time_out);
}

function TryToHideMe1(n,r) {
	for(i=1;i<=r;i++) {
		if(document.getElementById("sub"+(n-i)) !=null ) 
			time_out_id[i]=setTimeout("Hide("+(n-i)+")",TimeToHide1);
	}
}

function UnHideMe(n) {
	OnMenu=n;
	for(i=1;i<time_out_id.length;i++) {
			clearTimeout(time_out_id[i]);
	}
}

function HideAllExcept(n, menu_count) { 
   for (x=1; x<=menu_count; x++) {
       if (x!=n && Menus[x-1]) { 
           Hide(x); 
        }
    }
}

function MOn(n, menu_cnt) { 
	if (Loaded) {
        if(active_menu != '') 
            Hide(active_menu);
		HideAllExcept(n, menu_cnt);
		if (Menus[n-1]) {
			OnMenu=n;
			clearTimeout(Timeout);
			Show(n);
            active_menu = n;
		}
	}
}
function MOff(n) { 
	if (Loaded && Menus[n-1]) {
		OnMenu=null;
		TryToHide(n);
	}
}

function MOff2(n) { 
	if (Loaded && Menus[n-1]) {
		OnMenu=null;
	}
}

function SubMenuOn(n) {
 //       alert('on : '+n);
    clearTimeout(Timeout);
    clearTimeout(time_out); 
    Show(n);
}

function SubMenuOff(n) { 
	TryToHide(n);
}

function SubMenuOff2(n) {
	Hide(n); 
	TryToHide(n);
}
