// ©Xara Ltd 2002
var ma=new Array();
var mx=new Array();
var my=new Array();
var mc=new Array();
var mal=0;
var main=0;
var menuw=200;
var psrc=0;
var pname="";
var al="";
var gd=0;
var gx,gy;
var xx=0;
var yy=0;
var NS7=(!document.all&&document.getElementById);
var NS4=(!document.getElementById);
var IE5=(!NS4&&!NS7&&navigator.userAgent.indexOf('MSIE')!=-1&&navigator.userAgent.indexOf('Mac')==-1);
var IEMAC=(!NS4&&!NS7&&navigator.userAgent.indexOf('MSIE')!=-1&&navigator.userAgent.indexOf('Mac')!=-1);
var SAFMAC=(navigator.userAgent.indexOf('Safari')!=-1&&navigator.userAgent.indexOf('Mac')!=-1);
//alert(navigator.userAgent);

if(navigator.userAgent.indexOf('Opera')!=-1) NS4=1;
var NS6=(NS7&&navigator.userAgent.indexOf('Netscape6')!=-1);

function startMainMenu(file,h,w,dir,space,align)
{
	if(w>0)menuw=w;
	main=dir;
	if(main==1 || main==2)document.write("<table border=\"0\" cellspacing=\""+space+"\" cellpadding=\"0\">");
	if(file!="")
	{
		al="";
		if(align==1)al=" align=\"right\"";
		if(align==2)al=" align=\"center\"";
		if(main==1 || main==2)document.write("<tr><td"+al+">");
		document.write("<img src=\""+loc+file+"\" border=\"0\"");
		if(h>0)document.write(" height=\""+h+"\"");
		if(w>0)document.write(" width=\""+w+"\"");
		document.write(" />");
		if(main==1 || main==2)document.write("</td>");
		if(main==1)document.write("</tr>");
		if(main==3)document.write("<br />");
	}
}

function endMainMenu(file,h,w)
{
	if(file!="")
	{
		if(main==1)document.write("<tr>");
		if(main==1 || main==2)document.write("<td"+al+">");
		document.write("<img src=\""+loc+file+"\" border=\"0\"");
		if(h>0)document.write(" height=\""+h+"\"");
		if(w>0)document.write(" width=\""+w+"\"");
		document.write(" />");
		if(main==1 || main==2)document.write("</td></tr>");
	}
	if(main==1 || main==2)document.write("</table>");
	main=0;
}

function mainMenuItem(name,ext,h,w,url,tar,alt,dir,state,s,selected,mover,mout)
{
	if(NS4&&main==0)return;
	var isgraphic=ext.charAt(0)==".";
	if(main==1)document.write("<tr>");
	if(main==1 || main==2)document.write("<td"+al+">");
	document.write("<a ");
	if(url!="" || !isgraphic)document.write("href=\""+url+"\" ");
	if(tar!="")document.write("target=\""+tar+"\" ");
	document.write("onmouseout=\"");
	if (mout!="")document.write(mout+";");
	if(dir>0)document.write("tidyMenu(event);");
	document.write("\" onmouseover=\"");
	if (mover!="")document.write(mover+";");
	if(dir>0)document.write("openMenu(event, '"+name+"',"+dir+","+bc+","+fc+");");
	if(state>1&&isgraphic)
	{
		document[name+"_over"]=new Image();
		document[name+"_over"].src=loc+name+"_over"+ext;
		document.write("setGraphic(event, '"+loc+name+"_over"+ext+"');");
	}
	document.write("return false;\"");
	if(!isgraphic)document.write(" class=\""+s+"\" style=\"width:"+(w>0?w:menuw)+"px;");
	if(!isgraphic&&h>1)document.write("height:"+h+"px;");
	if(!isgraphic)document.write("\"");
	if(!isgraphic&&selected!="")document.write(" id=\""+selected+"\"");
	document.write(">");
	if(isgraphic)
	{
		document.write("<img src=\""+loc+name+ext+"\" border=\"0\"");
		if(h>0)document.write(" height=\""+h+"\"");
		if(w>0)document.write(" width=\""+w+"\"");
		if(alt!="")document.write(" alt=\""+alt+"\"");
		document.write(" />");
	}
	else
	{
	    if(!IE5&&dir>0&&main==0)
	    {
	        document.write(ext+"&nbsp;&nbsp;&raquo;");
	    }
	    else
	    {
		    document.write(ext);
		}
	}
	document.write("</a>");
	if(main==1 || main==2)document.write("</td>");
	if(main==1)document.write("</tr>");
	if(main==3)document.write("<br />");
}

function startSubmenu(name,style,sw)
{
	if(NS4)return;
	if(sw>0)menuw=sw;
//	document.write("<div id=\""+name+"\" class=\""+style+"\" style=\"width:"+(menuw+(NS7?bd*2:0))+"px\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>");
        document.write("<div onMouseOut='tidyMenu(event);' id=\""+name+"\" class=\""+style+"\" style=\"width:"+(menuw+(NS7?bd*2:0))+"px;"+(NS7?"position:absolute;visibility:hidden":"")+"\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>");
}

function endSubmenu(name)
{
	if(NS4)return;
	document.write("</td></table></div>");
//	if(!NS7)document.getElementById(name).onmouseout=tidyMenu;
}

function submenuItem(text,url,tar,s)
{
	if(NS4)return;
	if(text=="---")document.write("<img src=\""+loc+"---.gif\" height=\"1\" width=\""+menuw+"\" />");
	else if(text.charAt(0)=='<')document.write(text);
	else
	{
		document.write("<a ");
		if(url!="")document.write("href=\""+url+"\" ");
		if(tar!="")document.write("target=\""+tar+"\" ");
		if (NS7)
		{
		    document.write("onmouseout=\"");
    	    document.write("tidyMenu(event);");
	        document.write("\" ");
	    }
		document.write("class=\""+s+"\" style=\"width:"+menuw+"px\">"+text+"</a><BR>");
	}
}

function setGraphic(event,name)
{
	if(NS4)return;
	psrc=(NS7)?event.target:event.srcElement;
	pname=psrc.src;
	if(NS7)event.target.src=name;
	else event.srcElement.src=name;
}

function openMenu(event,id,pos,bc,fc)
{
	if(NS4)return;
	if(IEMAC)return;
	var el,x,y;
	el=document.getElementById(id);
	if(el&&el.style.visibility=="visible") return;
	
	if(gd==0)
	{
		var p=document.getElementById(id);
		gx=0;
		gy=0;
		while(p&&p.parentNode.nodeName!="BODY")
		{
			p=p.parentNode;
			if(p.nodeName=="DIV" || p.nodeName=="LAYER" || p.nodeName=="SPAN")
				if(p.style.position=="absolute")
				{
					gx+=p.offsetLeft;
					gy+=p.offsetTop;
				}
		}
		if(p)gd=1;
	}
	if(mal>0)
	{
	    el=document.getElementById(ma[(mal-1)]);
	    if(mx[(mal-1)]!=el.offsetLeft || my[(mal-1)]!=el.offsetTop)
		{
		    el.style.left=mx[(mal-1)];
		    el.style.top=my[(mal-1)];
		}
		tidyMenu(event);
	}
	if(NS7)
	{
		var p=event.target;
		if(p.nodeName!="A"&&p.nodeName!="IMG"&&p.parentNode.nodeName=="A")p=p.parentNode;
		dx=p.offsetWidth;
		dy=p.offsetHeight;
		if(mal==0)
		{
			x=p.x;
			y=p.y;
			if(typeof(p.x)=="undefined" || !NS6)
			{
				x=p.offsetLeft;
				y=p.offsetTop;
				while(!NS6&&p.parentNode.nodeName!="BODY")
				{
					p=p.parentNode;
					if(p.nodeName=="TD" || p.nodeName=="TABLE")
					{
						x+=p.offsetLeft;
						y+=p.offsetTop;
					}
				}
			}
		}
		else
		{
			el=document.getElementById(ma[mal-1]);
			x=el.offsetLeft;
			y=el.offsetTop+p.offsetTop;
		}
		if(pos!=3)x-=bd;
		if(pos==3&&mal>0)x+=bd;
	}
	else
	{
		x=event.clientX-event.offsetX+document.body.scrollLeft-document.body.clientLeft;
		y=event.clientY-event.offsetY+document.body.scrollTop-document.body.clientTop;
		dx=event.srcElement.offsetWidth;
		dy=event.srcElement.offsetHeight;
		if(mal>0)
		{
			y-=bd;
			if(pos!=3)x-=2*bd;
		}
		x-=gx;
		y-=gy;
	}
	var arrId;
	arrId = id.split("_");
	if (SAFMAC)
	{
	    xx=0;
	    if (arrId.length > 2)
	    {
	        gx=0;
	        x-=15;
	        xx=0;
	    }
	    else
	    {
	        gx=0;
	        x+=3;
	        xx=1;
	    }
	}
	else if (!NS7)
	{
		if (arrId.length > 2) x-=1; else x-=1;
	}
	else
	{
		if (arrId.length > 2) x-=13; else x-=0;
	}
	el=document.getElementById(id);
	if(el&&el.style.visibility!="visible")
	{
		if(pos==1)
		{
			x+=dx;
			el.style.left=x-el.offsetWidth+"px";
			el.style.top=y+"px";
			nspeed=el.offsetWidth/frames;
		}
		else if(pos==2)
		{
			y+=dy;
			el.style.left=x+"px";
			el.style.top=y-el.offsetHeight+"px";
			nspeed=el.offsetHeight/frames;
		}
		else if(pos==3)
		{
			x-=el.offsetWidth;
			el.style.left=x+el.offsetWidth+"px";
			el.style.top=y+"px";
			nspeed=el.offsetWidth/frames;
		}
		mx[mal]=x;
		my[mal]=y;
		if(NS7 || IE5 || frames==0)
		{
			el.style.left=x+"px";
			el.style.top=y+"px";
		}
		if(!IE5)clipMenu(mal,el);
		el.style.visibility="visible";
		ma[mal]=id;
		mal++;
	}
}

function overMenu(x,y)
{
	x-=gx;
	y-=gy;
	var el=document.getElementById(ma[0]);
	//arrId = id.split("_");
	//if (arrId.length > 2) alert(el.offsetLeft+el.offsetWidth+"::"+x+"::"+(el.offsetLeft-xx));
	//alert((el.offsetTop+el.offsetHeight-yy)+"::"+y+"::"+(el.offsetTop+yy));
	//alert(mal);
	intfound=-1;
	for(i=0;i<mal;i++)
	{
		var el=document.getElementById(ma[i]);
		if((el.offsetLeft+el.offsetWidth-xx)>x&&el.offsetLeft<=x&&(el.offsetTop+el.offsetHeight-yy)>y&&(el.offsetTop+yy)<=y)
		{
		    //alert("offsetLeft:"+el.offsetLeft+"\n"+"offsetWidth:"+el.offsetWidth+"\n"+"offsetTop:"+el.offsetTop+"\n"+"offsetHeight:"+el.offsetHeight+"\n"+"x:"+x+"\n"+"y:"+y+"\n"+"xx:"+xx+"\n"+"yy:"+yy+"\n"+"Check x > : "+(el.offsetLeft+el.offsetWidth-xx)+"\n"+"Check x <= : "+el.offsetLeft+"\n"+"Check y > : "+(el.offsetTop+el.offsetHeight-yy)+"\n"+"Check y<= : "+(el.offsetTop+yy)+"\n"+ma[i]);
			//return ma[i];
			intfound=i;
		}
	}
	//alert("offsetLeft:"+el.offsetLeft+"\n"+"offsetWidth:"+el.offsetWidth+"\n"+"offsetTop:"+el.offsetTop+"\n"+"offsetHeight:"+el.offsetHeight+"\n"+"x:"+x+"\n"+"y:"+y+"\n"+"xx:"+xx+"\n"+"yy:"+yy+"\n"+"Check x > : "+(el.offsetLeft+el.offsetWidth-xx)+"\n"+"Check x <= : "+el.offsetLeft+"\n"+"Check y > : "+(el.offsetTop+el.offsetHeight-yy)+"\n"+"Check y<= : "+(el.offsetTop+yy)+"\n"+ma[i]);
	if (intfound>-1) return ma[intfound];
	return "";
}

function tidyMenu(e)
{
	if(NS4)return;
	if(NS7)
	{
		if (!e) return;
		t=overMenu(e.pageX,e.pageY);
		if(t!=""&&(e.target.firstChild==e.relatedTarget || e.target==e.relatedTarget.firstChild))return;
	}
	else 
	{
 	//var event;
	if (!event) return;
 	t=overMenu(event.clientX+document.body.scrollLeft-document.body.clientLeft,event.clientY+document.body.scrollTop-document.body.clientTop);
// 	t=overMenu(event.clientX,event.clientY);

	};
//	alert(t);
/*	t=overMenu(event.clientX+document.body.scrollLeft-document.body.clientLeft,event.clientY+document.body.scrollTop-document.body.clientTop);
  */

	om=0;
	for(i=0;i<mal;i++)
	{
		var mail=ma[i].length;
		if(mail>t.length || t.substring(0,mail)!=ma[i])
		{
			var el=document.getElementById(ma[i]);
			el.style.visibility="hidden";
			//mc[i].backgroundColor="";
			//mc[i].color="";
		}
		else
		{
			ma[om]=ma[i];
			mx[om]=mx[i];
			my[om]=my[i];
			om++;
		}
	}
	mal=om;
	if(mal==0&&psrc)psrc.src=pname;
}

function animate()
{
	for(i=0;i<mal;i++)
	{
		var el=document.getElementById(ma[i]);
		if(el.style.visibility=="visible")
		{
			if(el.offsetLeft<mx[i])el.style.left=Math.min(el.offsetLeft+nspeed,mx[i])+"px";
			if(el.offsetLeft>mx[i])el.style.left=Math.max(el.offsetLeft-nspeed,mx[i])+"px";
			if(el.offsetTop<my[i])el.style.top=Math.min(el.offsetTop+nspeed,my[i])+"px";
			clipMenu(i,el);
		}
	}
	if(mal!=0 || frames!=0)setTimeout("animate()",50);
}

function clipMenu(i,el)
{
	if(el.offsetLeft>mx[i])
		el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+(el.offsetWidth+(mx[i]-el.offsetLeft))+"px "+el.offsetHeight+"px "+0+"px)";
	else
		el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+el.offsetWidth+"px "+el.offsetHeight+"px "+(mx[i]-el.offsetLeft)+"px)";
}
