var ns;
var ie;
var n6;
var op;
var W;
var mo;
function BrowserCheck(){
	ns=document.layers;
	ie=document.all;
	op=window.opera;
	if(!ie&&document.getElementById){ns=false;n6=true;};
	if(ns||n6||op){W=window.innerWidth-16}else{W=document.body.offsetWidth-20;}
}

function TIMoveTo(x,y){
	if(this.itemCount<1) return;
	this.xpos=x;
	this.ypos=y;
	this.css.left=x;
	this.css.top=y;
}

function TIGet(id){
	if(id==this.id) return this;
	for(var i=0;i<this.itemCount;i++){
		It=this.items[i].Get(id);
		if(It!=null) return It;
	}
	return null;
}

function TIA(id,parid,name,link,target,image,im2,iw,ih,cbgc,selCbgc,cfnt,selFnt){
	It=new TreeItem(id,parid,name,link,target,image,im2,iw,ih,cbgc,selCbgc,cfnt,selFnt);
	this.Add(It);
}

function TIAdd(N){
	N.Opened=false;
	It=this.Get(N.parid);
	if(N.parid==this.id){
		N.width=this.width;
		
		N.bckColor=this.bckColor;
		N.selBckColor=this.selBckColor;
		
		N.fntColor=this.fntColor;
		N.selFntColor=this.selFntColor;
		
		N.fntSize=this.fntSize;
		N.iHeight=this.iHeight;
		N.imWidth=this.imWidth;
		if(N.iw>this.mW&&this.align=="vert") this.mW=N.iw;
		if(N.ih>this.mH&&this.align!="vert") this.mH=N.ih;
		N.arrIm=this.arrIm;
		N.arrIm1=this.arrIm1;
		this.items[this.itemCount]=N;
		N.d=this.d;
		N.parentItem=this;
		N.bSize=this.bSize;
		N.face=this.face;
		N.onm=this.onm;
		N.i=this.i;
		N.b=this.b;
		N.u=this.u;
		N.bColor=this.bColor;
		N.visibility="hidden";
		this.itemCount++;
		return;
	}
	if(It!=null){
		It.Add(N);
		return;
	}
}

function TIWriteDiv(){
	preload(this.vname+".iob",this.arrIm);
	preload(this.vname+".iob1",this.arrIm1);
	preload(this.vname+".imb",this.img2);
	if(this.itemCount<1) return false;
		document.write("<DIV ID='"+this.vname+"'>");
		for(var i=0;i<this.itemCount;i++){

			ci=this.items[i];
			ref=ci.name;
			
			if(ci.b)ref="<b>"+ref+"</b>";
			if(ci.i)ref="<i>"+ref+"</i>";
			if(ci.u) ref="<u>"+ref+"</u>";

			im="";
			im1="";
			cl="";
			scl="";
			im2="";
			ime="";

			cl=" color='"+ci.cfnt+"'";
			scl=" color='"+ci.selFnt+"'";

			if(ci.image!=""){
				im1="<img name='"+ci.vname+"ic' src='";
				ime="' width='"+ci.imWidth+"' height='"+this.iHeight+"' border=0>";
			}

			if(ci.itemCount>0&&this.arrIm!=""){
				im="<img name='"+ci.vname+"im' src='"+this.iob.src+"' height='"+this.iHeight+"' width='"+this.iHeight+"' border=0>";
				im2="<img name='"+ci.vname+"im' src='"+this.iob1.src+"' height='"+this.iHeight+"' width='"+this.iHeight+"' border=0>";
			}

			t1="<table border='0' width='"+ci.iw+"' cellspacing='0' height='"+ci.ih+"' cellpadding='0'><tr><td width ="+ci.imWidth+">"+im1;
			te=ime+"</td><td><img src='design/spacer.gif' width='2' height='1'></td><td width='100%'><font ";
			tc=" size='"+ci.fntSize+"' face='"+ci.face+"'>";
			t2="</font></td><td width="+this.iHeight+">";
			t3="</td></tr></table>";

			crta = "<table border='0' width='161' cellspacing='0' cellpadding='0' background='design/red_dot.gif'><tr><td><img src='spacer.gif' width='1' height='1'></td></tr></table>"
			
			ci.normText=t1 + ci.image + te + cl  + tc + "<div id='" + ci.vname + "t' >" + ref + "</div>" + t2 + im  + t3;//+ crta;
			ci.selText= t1 + ci.img2  + te + scl + tc                                   + ref            + t2 + im2 + t3;//+ crta;

			//alert(ci.normText + '\n\n' + ci.selText);

			document.write("<DIV ID='"+ci.vname+"i' >"+ci.normText+"</DIV>");
			if(ie){
				ci.ilayer=document.all[ci.vname+"i"];
				ci.tlayer=document.all[ci.vname+"t"];
			}
			if(n6){
				ci.ilayer=document.getElementById(ci.vname+"i");
				ci.tlayer=document.getElementById(ci.vname+"t");
				var tl=ci.tlayer.style;
				tl.color=ci.cfnt;
				tl.fontFamily=this.face;
				//tl.fontSize=6+2*ci.fntSize+"pt";
				tl.fontSize="10px";
			};
			if(ns)ci.ilayer=eval("document."+this.vname+".document."+ci.vname+"i");
		}
		document.write("</DIV>");
		for(var i=0;i<this.itemCount;i++){
			this.items[i].WriteDiv();
		}
		if(ie){this.layer=document.all[this.vname];
		this.css=this.layer.style;
	}
	if(n6){
		this.layer=document.getElementById(this.vname);
		this.css=this.layer.style;
	}
	if(ns){
		this.layer=eval("document."+this.vname);
		this.css=this.layer;
	}
	return false;
}

function TIEventInit(){
	var oinit=true;
	for(var i=0;i<this.itemCount;i++){
		this.items[i].EventInit();
	}
	for(var i=0;i<this.itemCount;i++){
		var style=this.items[i].ilayer;
		if(oinit)this.layer.onmouseout=new Function("e",this.vname+".outHandler(e);return false;");
		oinit=false;
		style.onmouseover=new Function(this.vname+".moveHandler("+i+");return false;");
		style.onmousedown=new Function(this.vname+".downHandler("+i+");return false;");
		if(ns)style.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
	}
}

function TIWriteCSS(){
	var dx;
	var dy;
	var bCol=(ns)?"layer-background-color:" : "background-color:";
	var d=this.d;
	var b=this.bSize;
	this.width=Math.max(this.width,this.mW);
	this.iHeight=Math.max(this.iHeight,this.mH);
	var xs=b;
	var ys=b;
	for(var i=0;i<this.itemCount;i++){
		var N=this.items[i];
		N.iw=(N.iw)? N.iw:this.width;
		N.ih=(N.ih)? N.ih:this.iHeight;
		if(this.align=="vert"){
			ys+=d+N.ih;//-1
			xs=this.width+b+d;
			if(N.iw<this.width)N.iw=this.width;
		}else{
			xs+=d+N.iw;
			ys=this.iHeight+b+d;
			if(N.ih<this.iHeight)N.ih=this.iHeight;
		};
	}
	ys+=b-d-1;//
	xs+=b-d;
	this.tH=ys;
	this.tW=xs;
	if(this.itemCount>0){
		if(this.parentItem==null)document.write("<STYLE TYPE='text/css'><!--");
		document.write("#"+this.vname+" {position:absolute;width:"+xs+"px;left:"+this.xpos+"px;top:"+this.ypos+"px;height:"+ys+"px;clip:rect(0,"+xs+","+ys+",0);visibility: "+this.visibility+";"+bCol+this.bColor+"; cursor: hand; z-index:5;}"); 
		xs=b;ys=b;
		for(var i=0;i<this.itemCount;i++){
			var N=this.items[i];
			N.xs=xs;
			N.ys=ys;
			document.write("#"+N.vname+"i {position:absolute;"+bCol+N.cbgc+";top:"+ys+"px;left:"+xs+"px"+";width:"+N.iw+"px;height:"+(N.ih)+"px; z-index:1;}"); //
			if(this.align=="vert"){
				ys+=d+N.ih//-1
			}else{
				xs+=d+N.iw
			};
			N.WriteCSS();
		}
		if(this.parentItem==null)document.write("--></STYLE>");
	}
}

function TIShow(o){
	this.focus=-1;
	if(this.itemCount<1) return;
	if(o==1){
		this.css.visibility=(ns)? "show":"visible";
	}else{
		for(var i=0;i<this.itemCount;i++)this.items[i].Show(0);
		this.css.visibility=(ns)? "hide":"hidden";
	}
}

function TIToggle(mod){
	this.Opened=mod;
	//var c1=this.bckColor;var c2=this.selBckColor;
	var c1=this.cbgc;
	var c2=this.selCbgc;
	if(ie||n6){
		im=document.images;
		if(im[this.vname+"im"])im[this.vname+"im"].src=(mod)? this.arrIm1:this.arrIm;
		if(im[this.vname+"ic"])im[this.vname+"ic"].src=(mod)? this.img2:this.image;
		this.ilayer.style.backgroundColor=(mod)? c2 : c1;
		this.ilayer.style.background=(mod)? c2:c1;
		this.tlayer.style.color=(mod)? this.selFnt:this.cfnt; 
	}
	if(ns){
		var txt=(mod)? this.selText:this.normText;
		this.ilayer.document.bgColor=(mod)? c2 : c1;
		this.Write(txt);
	}
}

function TIMove(i){
	if(this.itemCount<1)return;
	if(this.onm)this.onm(i);
	this.active=true;
	pI=this.parentItem;
	ti=this.items[i];
	ts=this.items[this.selected];
	if(pI!=null){
		pI.active=true;
		pI.focus=-1;
	}
	ts.active=true;
	k=0;
	j=1;
	if(this.align=="vert"){
		k=1;j=0;
	}
	var nxpos=this.xpos+k*this.width+ti.xs;
	var nypos=this.ypos+j*this.iHeight+ti.ys;
	if(nxpos+ti.tW>W) nxpos=nxpos-(this.width+ti.width);
	ti.MoveTo(nxpos,nypos);
	ts.Show(0);
	ti.Show(1);
	ts.Toggle(false);
	ti.Toggle(true);
	status=ti.link;
	this.selected=i;
	this.focus=i;
}

function TIDown(i){
	it=this.items[i];
	if(it.link!=""){
		if(it.link.substring(0,11)=="javascript:"){
			eval(it.link.substring(11,it.link.length));
			return;
		}
		//if(it.target!="")parent.frames[it.target].location=it.link;else location.href=it.link; //original
		location.href=it.link;
	}
}

function TIReset(){
	if(this.active)return;
	this.items[this.selected].Show(0);
	if(this.parentItem!=null){
		if(this.parentItem.focus>=0)return;
		this.parentItem.active=false;this.parentItem.Reset();
	}
	this.items[this.selected].Toggle(false);
}

function TIWrite(text){
	var style=this.ilayer;
	style.document.open();
	style.document.write(text);
	style.document.close();
}

function TIMout(e){
	if(!ns){
		if(n6){
			mx=e.pageX;
			my=e.pageY;
		}else{
			mx=window.event.clientX;
			my=window.event.clientY;
			if(!op){
				my+=document.body.scrollTop;
				mx+=document.body.scrollLeft;
			}
		}
		if((mx>this.xpos+1&&mx<this.xpos+this.tW)&&(my>this.ypos+1&&my<this.ypos+this.tH)) return;
	}
	this.active=false;
	this.focus=-1;
	setTimeout(this.vname+".Reset()",300);
}

function preload(imgObj,imgSrc){
	eval(imgObj+' = new Image()');
	eval(imgObj+'.src = "'+imgSrc+'"');
}

function TreeItem(id,parid,name,link,target,image,im2,iw,ih,cbgc,selCbgc,cfnt,selFnt){
	this.vname="DdMenu"+TreeItem.dmcount;
	TreeItem.dmcount++;
	this.image=image;
	this.img2=(im2)? im2:image;
	this.name=name;
	this.cbgc=cbgc;
	this.selCbgc=selCbgc;
	this.frname="";
	this.id=id;
	this.parid=parid;
	this.link=link;
	this.target=target;
	this.items=new Array();
	this.itemCount=0;
	this.Opened=false;
	this.bckColor="#808080";
	
	//this.fntColor="#c0c0c0";
	//this.selFntColor="#c0c0c0";
	
	this.cfnt=cfnt;
	this.selFnt=selFnt;
	
	this.fntSize=1;
	this.face="default";
	this.selBckColor="#c0c0c0";
	this.alinkColor="#ffff00";
	this.arrIm="design/spacer.gif";
	this.arrIm1="design/spacer.gif";
	this.xpos=0;
	this.ypos=0;
	this.selected=0;
	this.height=600;
	this.mW=0;
	this.mH=0;
	this.width=161;
	this.b=false;
	this.i=false;
	this.u=false;
	this.d=1;
	this.iHeight=20;
	this.imWidth=16;
	this.focus=-1;
	this.bSize=0;
	this.iw=iw;
	this.ih=ih;
	this.tW=0;
	this.tH=0;
	this.onm=null;
	this.bColor="#000000";
	this.WriteCSS = TIWriteCSS;
	this.Show = TIShow;
	this.Add = TIAdd;
	this.WriteDiv = TIWriteDiv;
	this.Get = TIGet;
	this.A = TIA;
	this.align="vert";
	this.moveHandler=TIMove;
	this.outHandler=TIMout;
	this.downHandler=TIDown;
	this.active=false;
	this.Reset=TIReset;
	this.EventInit=TIEventInit;
	this.MoveTo=TIMoveTo;
	this.Write=TIWrite;
	this.Toggle=TIToggle;
	this.normText="";
	this.selText=""
	eval(this.vname + "=this");
}

TreeItem.dmcount=0;

function getpos(){
	ancX=0;
	ancY=0;
	if(ie||n6){
		var lyr=(n6)? document.getElementById("anc") : document.all["anc"];
		while(lyr){
			ancX+=lyr.offsetLeft;
			ancY+=lyr.offsetTop;
			lyr=lyr.offsetParent;
		}
	}
	if(ns){
		var lyr = document.layers["anc"];
		ancX=lyr.pageX;
		ancY=lyr.pageY;
	}
	TE.MoveTo(ancX,ancY);
	TE.Show(1);
}

function MenuInit(){ //Inits menu Events
	TE.EventInit();
}

function Reset(){ //Reseting menu
	TE.Reset();
}
