// ©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 NS7=(!document.all&&document.getElementById);
var NS4=(!document.getElementById);
var IE5=(!NS4&&!NS7&&navigator.userAgent.indexOf('MSIE 5.0')!=-1);

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)
	{
		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(dir>0)
			document.write("tidyMenu(event);");
		document.write("\" onmouseover=\"");
		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\"");
		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
			{
				document.write("&nbsp;"+ext+"&nbsp;");
			}
		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\">");
	}

function endSubmenu(name)
	{
		if(NS4)
			return;
		document.write("</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+"\" ");
					document.write("class=\""+s+"\" style=\"width:"+menuw+"px\">&nbsp;"+text+"&nbsp;</a>");
			}
	}

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;
		var el,x,y;
		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;
			}
		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;
				if(NS7)
					{
						var p=event.target;
						if(p.nodeName!="A"&&p.parentNode.nodeName=="A")
							p=p.parentNode;
						mc[mal]=p.style;
						el.onmouseout=tidyMenu;
					}
				else
					{
						mc[mal]=event.srcElement.style;
						if(mal>0)
							{
								mc[mal].backgroundColor=bc;
								mc[mal].color=fc;
							}
					}
				mal++;
			}
	}

function overMenu(x,y)
	{
		x-=gx;
		y-=gy;
		for(i=0;i<mal;i++)
			{
				var el=document.getElementById(ma[i]);
				if(el.offsetLeft+el.offsetWidth>x&&el.offsetLeft<=x&&el.offsetTop+el.offsetHeight>y&&el.offsetTop<=y)
					{
						return ma[i];
					}
			}
		return "";
	}

function tidyMenu(e)
	{
		if(NS4)
			return;
		if(NS7)
			{
				t=overMenu(e.pageX,e.pageY);
				if(t!=""&&(e.target.firstChild==e.relatedTarget||e.target==e.relatedTarget.firstChild))
					return;
			}
		else
			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)";
	}
