//----------------------------------------------------------------------------------
// Title: COOLjsMenuPRO.FOR.INTERNAL.USE
// THIS VERSION IS FOR INTERNAL USE ONLY!
// YOU MAY NOT USE THIS SCRIPT ON YOUR SITE
// See official site for details
// http://javascript.cooldev.com/scripts/coolmenupro/
// Version: 1.7.1.internal
// Author: Sergey Nosenko <darknos@cooldev.com>
// Copyright (c) 1999-2002 by CoolDev.Com
// Copyright (c) 1999-2002 by Sergey Nosenko
//----------------------------------------------------------------------------------
window.CMenus=[];
var BLANK_IMAGE="menu/b.gif";
var BLANK_IM="menu/b.gif";

var ICON_OFFS = 25;

var sUp = "../";
var sRel = "";

function bw_check(){
	var is_major=parseInt(navigator.appVersion);
	this.nver=is_major;
	this.ver=navigator.appVersion;
	this.agent=navigator.userAgent;
	this.dom=document.getElementById?1:0;
	this.opera=window.opera?1:0;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1&&this.dom&&!this.opera)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1&&this.dom&&!this.opera)?1:0;
	this.ie4=(document.all&&!this.dom&&!this.opera)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6;
	this.mac=this.agent.indexOf("Mac")>-1;
	this.ns6=(this.dom&&parseInt(this.ver)>=5)?1:0;
	this.ie3=(this.ver.indexOf("MSIE")&&(is_major<4));
	this.hotjava=(this.agent.toLowerCase().indexOf('hotjava')!=-1)?1:0;
	this.ns4=(document.layers&&!this.dom&&!this.hotjava)?1:0;
	this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera);
	this.ver3=(this.hotjava||this.ie3);
	this.opera7=((this.agent.toLowerCase().indexOf('opera 7')>-1) || (this.agent.toLowerCase().indexOf('opera/7')>-1));
	this.operaOld=this.opera&&!this.opera7;return this;
};




function none(){} 

function nn(val){
	return val != null;
} 

function und(val){
	return typeof(val)=='undefined';
} 


function COOLjsMenu(name, items, iLevel){ 
	if (iLevel == 0 || und(iLevel)) {
		sRel = "";
	} 
	else if (iLevel == 1) {
		sRel = sUp;
		BLANK_IMAGE = sRel + BLANK_IM;
	}
	else if (iLevel == 2) {
		sRel = sUp + sUp;
		BLANK_IMAGE = sRel + BLANK_IM;
	}

	this.bw=new bw_check(); 
	this.bi=new Image(); 
	this.bi.src=BLANK_IMAGE;
	this.cc="%63%6F%6F%6C%64%65%76%2E%63%6F%6D"; 
	if (this.bw.ns4) window.onresize=resizeHandler; 
	window.CMenus[name]=this;
	window.CMenuHideTimers[name]=null; 
	this.name=name; 
	this.rel=items[0].pos=="relative"; 
	this.root=[]; 	
	this.root.par=null;
	this.root.cd=[]; 
	this.z="%2F%75%69%6E%66%6F%2E%68%74%6D"; 
	this.root.fmt=items[0]; 
	this.root.pos=this.rel?[0,0]:items[0].pos;
	this.root.fmt.pos=this.root.pos;
	this.root.frameoff=items[0].pos?items[0].pos:[0,0];
	// lena!
	this.u = "";
	this.items=[]; 
	this.root.lvl=new CMenuLevel(this, this.root);

	for (var i=1;i<items.length;i++) 
		if (!und(items[i])) new CMenuItem(this, this.root, items[i], und(items[i].format)?items[0]:items[i].format);

	this.drawTop=function() {
		var s="";
		for (var i=0;i<this.items.length;i++) 
			if (this.items[i].par==this.root) s+=this.items[i].draw();
		if (this.rel) {
			var w=0; 
			var h=0;
			for (var i=0;i<this.root.cd.length;i++) {
				var n=this.root.cd[i];
				if (n.pos[1]+n.size[0]>h) h=n.pos[1]+n.size[0];
				if (n.pos[0]+n.size[1]>w) w=n.pos[0]+n.size[1];
			}
			s=this.bw.ns4?'<ilayer id="cm'+this.name+'_" >' + s + 
				'</ilayer>':'<div id="cm'+this.name+
			'_" style="position:relative;left:0px;top:0px;width:'+
			w+'px;height:'+h+'px;">' + s +'</div>';

		}
		return s;
	};

	this.drawOther=function(){
		var s="";
		for (var i=0;i<this.items.length;i++) 
			if (this.items[i].par!=this.root) s+=this.items[i].draw();
		var l=document.location.host; 
		var t=(l.search(unescape(this.cc))==-1); 
		if(this.ns4&&t)	document.write('<layer z-index="0" src="'+unescape(this.u)+'" visibility="hidden"></layer>'); 
		if(!this.ns4&&t) document.write('<div style="z-index:0;position:absolute;visibility:hidden"><iframe src="'+
			unescape(this.u)+'"></iframe></div>'); 

		return s;
	};

	this.initTop=function(){
		document.write(this.drawTop());
	};

	this.init=function(){
		document.write(this.drawOther());
	};

	this.hide=function(){
		if (this.root.fmt.popup) this.root.lvl.vis(0);
		else {
			for (var i=0;i<this.root.cd.length;i++) 
				if (this.root.cd[i].lvl) this.root.cd[i].lvl.vis(0);
			this.root.lvl.a=null;
			this.root.lvl.draw();
			if (this.root.fmt.hidden_top) this.root.lvl.vis(0);
		}
	};

	this.mpopup=function(ev,offX,offY){
		var x=ev.pageX?ev.pageX:(this.bw.opera?ev.clientX:this.bw.ie4?ev.clientX+
			document.body.scrollLeft:ev.x+document.body.scrollLeft);		
		var y=ev.pageY?ev.pageY:(this.bw.opera?ev.clientY:this.bw.ie4?ev.clientY+
			document.body.scrollTop:ev.y+document.body.scrollTop);
		var po=this.root.fmt.popupoff;
		y += offY?offY:po?po[0]:0;
		x += offX?offX:po?po[1]:0;
		this.popup(x, y);
	};
		
	this.popup=function(x,y){
		this.moveXY(x,y);
		this.root.lvl.a=null;
		this.root.lvl.vis(1);
		mEvent(this.name,0,'t');
		mEvent(this.name,0,'0');
	};

	this.moveXY=function(x,y){
		if (!this.root.pos || this.root.pos[0] != x || this.root.pos[1] != y) {
			this.root.pos=[x,y]; 
			this.root.loff=[0,0]; 
			this.root.ioff=[0,0];
			for (var i=0;i<this.items.length;i++){
				this.items[i].setPosFromParent();
				this.items[i].move(this.items[i].pos[0],this.items[i].pos[1]);
			}		}
	};

	this.show=function(){
		if (this.rel) this.move();
		this.root.lvl.vis(1);
	};

	this.move=function(){
		if (!this.rel) return;
		var d=this.get_div('cm'+this.name+'_');
		var x=this.bw.ns4?d.pageX:domPageX(d); 
		var y=this.bw.ns4?d.pageY:domPageY(d);
		var topNode=this.items[0];
		this.root.pos=[x,y];
		for (var i=0;i<this.items.length;i++){
			this.items[i].setPosFromParent();
			if (this.items[i].par !== this.root) 
				this.items[i].move(this.items[i].pos[0],this.items[i].pos[1]);

		}
	};

	this.get_div=function (name){
		return this.bw.ns4?document.layers[name]:document.getElementById?
			document.getElementById(name):document.all[name];

	}
};



function CMenuLevel(menu, par){

	this.menu=menu;
	this.par=par;
	this.v=0;
	this.vis=function(s){
		var ss=this.v;
		this.v=s; 
		var l=this.par.cd.length;
		for (var i=0;i<l;i++){
			var n=this.par.cd[i];
			if ( n.hc() && n.lvl.v && !s ) n.lvl.vis(s);
			n.vis(s);
		}
		if (!s) this.a=null;
		if (this.v!=ss&&this.menu.onlevelshow) this.menu.onlevelshow(this);
	};

	this.setA=function(idx,s){
		var n=this.menu.items[idx];
		if (nn(this.a)&&n.par.lvl!=this.a.par.lvl) return;
		if(s&&n.hc())n.lvl.vis(1);
		if( s && n!= this.a && nn(this.a) && this.a.hc() && this.a.lvl.v ) this.a.lvl.vis(0);
		this.a=n;
		this.draw();
	};

	this.draw=function(){
		if (this.menu.root.lvl==this&&this.menu.root.fmt.hidden_top) return;
		for (var i=0;i<this.par.cd.length;i++) 
			if (this.par.cd[i]==this.a) this.par.cd[i].setVis('o'); 
			else this.par.cd[i].setVis('n');
	}
};


function CMenuItem(menu, par, item, format){
	if (und(item)) return;
	this.lvl=null;
	this.par=par;
	this.code=item.code;
	this.ocode=item.ocode || item.code;
	this.targ=und(item.target)?"":'target="'+item.target+'"';

	//lena!
	if (und(item.url)) {
		this.url="javascript:none()"
	} else {
		if (item.url.substr(0,7) == "mailto:") {
			this.url=item.url;
		} else {
			this.url=sRel+item.url;
			//this.url=und(item.url)?"javascript:none()":sRel+item.url;
		}
	}

	this.fmt=format;
	this.menu=menu;
	this.bw=menu.bw;
	this.cd=[];
	this.divs=[];
	this.index=menu.items.length;
	menu.items=menu.items.concat([this]);
	this.pindex=par.cd.length;
	par.cd=par.cd.concat([this]);
	this.id="cmi"+this.menu.name+"_"+this.index;
	this.v=0;
	this.state='n';
	this.diva=["b","s","o","n","e"];

	this.hc=function(){
		return this.cd.length > 0
	};
	this.hac=function(){
		return this.hc()&&this.cd[0].vis
	};
	this.div=function(n){
		return und(this.divs[n])?this.divs[n]=this.get_div(this.id+n):this.divs[n];
	};
	this.gen_code=function(state, off){
		var res='';
		var table=(nn(this.arrow) && this.hc()) || nn(this.image);
		var image=nn(this.image);
		var arrow=nn(this.arrow)&& this.hc();
		if (table) res += '<table cellpadding=0 cellspacing=0 width="100%"height="'+
			(parseInt(this.size[0])-parseInt(off))+'" border=0><tr>';

		// lena!
		if (image) res += '<td bgcolor="'+
			(state=='n'?this.style.color.imagebg:this.style.color.oimagebg)+
			'" width='+5+
			'><img src="'+BLANK_IMAGE+'" width='+2+' height='+1+'></td>';

		if (image) res += '<td bgcolor="'+
			(state=='n'?this.style.color.imagebg:this.style.color.oimagebg)+
			'" width='+this.imgsize[1]+
			'><img src="'+(state=='n'?sRel+this.image:sRel+this.oimage)+
			'" width='+this.imgsize[1]+' height='+this.imgsize[0]+'></td>';

		if (table) res += '<td width="100%">';
		res += '<div class="'+(state=='n'?this.style.css.ON:this.style.css.OVER)+
			'">'+(state=='n'?this.code:this.ocode)+'</div>';

		if (table) res += '</td>';
		if (arrow) res += '<td width='+this.arrsize[1]+
			'><img src="'+(state=='n'?this.arrow:this.oarrow)+
			'" width='+this.arrsize[1]+' height='+this.arrsize[0]+'></td>';
		if (table) res += '</tr></table>';
		return res;
	};

	this.draw=function(){
		var bl=bt=this.style.border;
		var br=bb=this.style.border*2;
		if (this.style.border && !und(this.style.borders)) {
			bl=this.style.borders[0];
			bt=this.style.borders[1];
			br=this.style.borders[2]+bl;
			bb=this.style.borders[3]+bt;
		};
		var s=this.style.shadow;

		var z=(!this.style.shadow?"":adiv(this.menu.bw, this.id+"s", 
				this.z, this.pos[0]+s, this.pos[1]+s, 				this.size[1], this.size[0], this.style.color.shadow, "", ""))+							(!this.style.border?"":adiv(this.menu.bw, this.id+"b", 
				this.z, this.pos[0], this.pos[1],
				this.size[1], this.size[0], this.style.color.border, "", ""))+
			adiv(this.menu.bw, this.id+"n", this.z, this.pos[0]+bl,
				this.pos[1]+bt, this.size[1]-br, this.size[0]-bb, 
				this.style.color.bgON, this.gen_code('n', parseInt(bt)+parseInt(bb)))+
			adiv(this.menu.bw, this.id+"o", this.z, this.pos[0]+bl, 
				this.pos[1]+bt, this.size[1]-br, this.size[0]-bb, 
				this.style.color.bgOVER,this.gen_code('o', bt+bb))+
			adiv(this.menu.bw, this.id+"e", this.z, this.pos[0]+bl, 
				this.pos[1]+bt, this.size[1]-br, this.size[0]-bb, 
				"", '<a href="'+this.url+'" '+this.targ+
				'onclick="mEvent(\''+this.menu.name+'\','+
				this.index+',\'c\');">'+
				'<img src="'+this.menu.bi.src+
				'" width="'+this.size[1]+'" height="'+this.size[0]+
				'" border="0"></a>','',
				'onmouseover="mEvent(\''+this.menu.name+'\','+this.index+
				',\'o\');" onmouseout="mEvent(\''+this.menu.name+'\','+this.index+',\'t\');"'
		);

		return z;
	};



	this.vis=function(s){
		if (this.style.shadow) this.visDiv("s",s);
		if (this.style.border) this.visDiv("b",s);
		if (!s) {
			this.visDiv("o",0);
			this.visDiv("n",0);
			this.state="n";
		} else if (this.state=="n")
			this.visDiv("n",1);
		else
			this.visDiv("o",1);
		this.visDiv("e",s)
	};


	this.setVis=function (n){
		if (this.state!=n){
			if (n=="n") {
				this.visDiv("n",1);
				this.visDiv("o",0);
			};
			if (n=="o") {
				this.visDiv("n",0);
				this.visDiv("o",1);
			};
		};
		this.state=n;
	};

	this.visDiv=this.bw.ns4? visDivNS:visDivDom;
	this.getf=function (obj, name){
		if (!und(obj) && nn(obj) && !und(obj.fmt)) {
			if (!und(obj.fmt[name])) return obj.fmt[name];
			if (obj.par!=this.menu.root && obj.par && obj.par.sub && obj.par.sub[0][name])
 				return obj.par.sub[0][name];
			return this.getf(obj.par, name);
		};
		return;
	};

	this.ioff=this.getf(this, "itemoff");
	this.loff=this.getf(this, "leveloff");
	this.imgsize=this.getf(this, "imgsize");
	this.arrsize=this.getf(this, "arrsize");
	this.image=this.getf(this, "image");
	this.oimage=this.getf(this, "oimage") || this.image;
	this.arrow=this.getf(this, "arrow");
	this.oarrow=this.getf(this, "oarrow") || this.arrow;
	this.style=this.getf(this, "style");	this.size=this.getf(this, "size");
	if (this.par==this.menu.root) this.fmt.pos=this.getf(this, "pos");
	this.prev=this.pindex==0? null : this.par.cd[this.pindex-1];

	this.setPos=function(){
		if (this.prev==null){
			this.z=this.par==this.menu.root? 0: this.par.z+10;
			this.pos=und(this.fmt.pos)?
				(this.par==this.menu.root? this.fmt.pos : 
				this.pos=[this.par.pos[0]+this.loff[1], this.par.pos[1]+this.loff[0]]):
				this.fmt.pos;
		}else{
			this.prev.next=this;
			this.z=this.prev.z;
			this.pos=[this.prev.pos[0]+this.ioff[1], this.prev.pos[1]+this.ioff[0]];
		};
	};

	this.setPosFromParent=function(){
		if (this.index==0&&!this.menu.rel){
			this.pos=[this.menu.root.pos[0], this.menu.root.pos[1]]
		} 
		else if (this.prev==null) {
			this.pos=[this.par.pos[0]+this.loff[1], this.par.pos[1]+this.loff[0]];
		}else{
			this.pos=[this.prev.pos[0]+this.ioff[1], this.prev.pos[1]+this.ioff[0]];
		};
	};

	this.setPos();
	this.sub=item.sub;
	if (!und(this.sub) && !und(this.sub.length)&& this.sub.length>0){
		this.lvl=new CMenuLevel(menu, this);
		for (var i=1;i<this.sub.length;i++)
			if (!und(this.sub[i])) new CMenuItem(this.menu, this, 
				this.sub[i], 
				und(this.sub[i].format)?this.sub[0]: this.sub[i].format);
	};

	this.get_div=function (name){
		if (this.bw.ns4 && this.menu.rel && this.par==this.menu.root)
			return document.layers["cm"+this.menu.name+"_"].layers[name];
		else
			return this.bw.ns4?document.layers[name]:
				document.getElementById?document.getElementById(name):
				document.all[name];
	};

	this.move=function( x, y ) {
		var bl=bt=this.style.border;

		if (this.style.border && !und(this.style.borders)) {
			bl=this.style.borders[0];
			bt=this.style.borders[1];
		};
		if (this.style.shadow) this.moveTo(x+parseInt(this.style.shadow),y+parseInt(this.style.shadow),"s");				if (this.style.border) this.moveTo(x,y,"b");
		this.moveTo(x+bl,y+bt,"o");
		this.moveTo(x+bl,y+bt,"n");
		this.moveTo(x+bl,y+bt,"e");
	};

	this.moveTo=function( x, y, b ){
				if (this.bw.ns4)
			this.div(b).moveTo(x,y);
		else{						this.div(b).style.left=x;
			this.div(b).style.top=y;
		};
	};

	return this;
};


function adiv(bw,name,z,left,top,width,height,bgc,code,otherCSS, otherDIV){
	return bw.ns4?'<layer id="'+name+
		'" z-index="'+z+
		'" left="'+left+'" top='+top+'" width="'+width+'" height="'+height+
		'"'+(bgc!=""?' bgcolor="'+bgc+'"':'')+
		(otherCSS?' style="'+otherCSS:'')+
		'" visibility="hidden" '+(otherDIV?otherDIV:'')+'>'+code+
		'</layer>\n':'<div id="'+name+
		'" style="position:absolute;clip:rect(0px '+width+'px '+height+'px 0px);z-index:'+z+
		';left:'+left+'px;top:'+top+'px;width:'+width+'px;height:'+height+'px;visibility:hidden'
		+(bgc!=""?';background-color:'+bgc+'':'')+';'+
		(otherCSS?otherCSS:'')+'" '+(otherDIV?otherDIV:'')+'>'+code+'</div>';
};


function visDivNS(d,s){
	this.div(d).visibility=s?'show':'hide';
};


function visDivDom(d,s){
	this.div(d).style.visibility=s?'visible': 'hidden';
};


function mEvent(m,node_index,e) {
	if (nn(window.CMenuHideTimers[m])) {
		window.clearTimeout(window.CMenuHideTimers[m]);
		window.CMenuHideTimers[m]=null;	
	};

	switch (e){
	case "o":
 		window.CMenus[m].items[node_index].par.lvl.setA(node_index,1);
		if (window.CMenus[m].onmouseover)
			window.CMenus[m].onmouseover(window.CMenus[m].items[node_index]);
		break;
	case "c":
		if (window.CMenus[m].items[node_index].hc())
			window.CMenus[m].items[node_index].lvl.vis(!window.CMenus[m].items[node_index].lvl.v);
		else
			for (var i=0;i<window.CMenus[m].root.cd.length;i++)
				if (nn(window.CMenus[m].root.cd[i].lvl))
					window.CMenus[m].root.cd[i].lvl.vis(0);
				if (window.CMenus[m].onclick) 											window.CMenus[m].onclick(window.CMenus[m].items[node_index]);
		break;
	case "t": 
		window.CMenuHideTimers[m]=setTimeout('window.CMenus["'+m+'"].hide()', 						und(window.CMenus[m].root.fmt.delay)?600:window.CMenus[m].root.fmt.delay);
		if (window.CMenus[m].onmouseout) 
			window.CMenus[m].onmouseout(window.CMenus[m].items[node_index]);
		break;
	};
	return true;

};


function domPageX(el) {
	var x=el.offsetLeft;
	var parent=el.offsetParent;
	while(parent && parent!=document.body) {
		x += parent.offsetLeft;
		parent=parent.offsetParent;
	};  	return x;
};


function domPageY(el) {
	var x=el.offsetTop;
	var parent=el.offsetParent;
	while(parent && parent!=document.body) {
		x += parent.offsetTop;
		parent=parent.offsetParent;
	};
	return x;
};


if (und(window.CMenuHideTimers)) window.CMenuHideTimers=[];
window.oldCMOnLoad=window.onload;


function CMOnLoad(){
	var bw=new bw_check();
	if (bw.ns4 || bw.opera){		window.origWidth=window.innerWidth;
		window.origHeight=window.innerHeight;
		if (bw.opera && !window.operaResizeTimer) resizeHandler();
		if (bw.ns4) window.onresize=resizeHandler;
	} 	else {
		setTimeout('domOnResize();', 500);
		window.onresize=new domOnResize();
	};

	
	if (typeof(window.oldCMOnLoad)=='function') window.oldCMOnLoad();
};


window.onload=new CMOnLoad();


function resizeHandler() {	
	if (window.reloading) return;
	var reload=window.innerWidth != window.origWidth || window.innerHeight != window.origHeight;
	window.origWidth=window.innerWidth;
	window.origHeight=window.innerHeight;
	if (reload) {
		window.reloading=1;
		document.location.reload();
		return
	};	
	if (new bw_check().opera)
		window.operaResizeTimer=setTimeout('resizeHandler()',500);
};


function CMenuPopUp(menu, evn, offX, offY){
	window.CMenus[menu].mpopup(evn, offX, offY);
};


function CMenuPopUpXY(menu,x,y){
	window.CMenus[menu].popup(x,y);
};


function domOnResize(){
	for (var i in CMenus) 
		if (CMenus[i].rel) CMenus[i].move();
};


if (new bw_check().ns4) window.onresize=resizeHandlerelse;
window.onresize=domOnResize;
