var HideFlag=new Array();
var NN=0,IE=0;
var larray,lnum=0;
larray = new Array();
var ToShow=-1;

function CheckBrowser()
{
	var app=navigator.appName;
	var appVer=parseFloat(navigator.appVersion);
	if((app.indexOf('Netscape')!=-1)&&(appVer<5)) NN=1;
	else { if(app.indexOf('Microsoft')!=-1) IE=1; }
}

function FindObj(n, d)
{
	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=FindObj(n,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(n);
   	return x; 
}

function ShowHide(n,v,s)
{ 
	var subname="sub"+n;
	var obj;
	if((obj=FindObj(subname))!=null)
	{
    	if (obj.style)
    	{
      		obj=obj.style;
      		v=(v=='show')?'visible':(v='hide')?'hidden':v;
    	}
		if((v=='show')||(v=='visible'))
		{
			var x=0, y=0, p_obj=FindObj(larray[n][2]), p_obj1=p_obj;
			while(p_obj)
			{
				x += p_obj.offsetLeft;
				y += p_obj.offsetTop;
				p_obj = p_obj.offsetParent;
			}
			x+=p_obj1.offsetWidth;
			
			obj.top=y;
			obj.left=x;
		}
      	obj.visibility=v;
  	}
}

function HideOut(n, s)
{
	HideFlag[n]=1;
	setTimeout("ActualHide('"+n+"',"+s+");",500);
	if(larray[n][1]>0)
	{
		HideOut(larray[n][1]);
	}
	if(ToShow==n)
		ToShow=-1;
}

function ActualHide(n, s)
{
	if(HideFlag[n]==1)
	{
		ShowHide(n,'hide');
		HideFlag[n]=0;
		if(ToShow>-1)
		{
			ShowHide(ToShow, 'show');
			ToShow=-1;
		}
		else
		{
			if(!s) Off(n);
		}
	}
}

function CancelHide(n)
{
	HideFlag[n]=0;
	ToShow=-1;	
}

function ShowMenu(n, v)
{
	var i;
	for(i=0; i<HideFlag.length; i++)
	{
		if(HideFlag[i]==1)
		{
			break;
		}
	}
	if(i<HideFlag.length)
	{
		ToShow=n;
	}
	else
	{
		ShowHide(n, v); 
		CancelHide(n);
	}
}

function CreateLayer(id, parent_id, parent_name, level, text, s)
{
	if(id>0)
	{
		larray[id]= new Array();
		larray[id][0]="sub"+id;
		larray[id][1]=parent_id;
		larray[id][2]=parent_name;
	}
	if(NN)
	{
  		var str="<layer ID=sub" + id + " top=0 left=0 VISIBILITY=HIDE Z-INDEX="+(1000+level)+" height=10";
		if(id>0) str=str+" onmouseover=\"CancelHide("+id+");On("+id+");\" onmouseout=\"HideOut(" + id + ", " + s +");\"";
		str=str+">"+text+"</layer>"
  		document.write(str);
 	}
 	else
 	{
  		var str="<div id=sub" + id + " style=\"position:absolute;top:0;left:0;visibility:hidden;z-index:"+(1000+level)+";height:10;\"";
		if(id>0) str=str+" onmouseover=\"CancelHide("+id+");On("+id+");\" onmouseout=\"HideOut(" + id + ", " + s +");\"";
		str=str+">"+text+"</div>";
  		document.write(str);
	}
}

function On(n)
{
	var obj = FindObj('menu' + n);
	obj.className='on';
}

function Off(n)
{
	var obj = FindObj('menu' + n);
	obj.className='off';
}
