var isDOM,isIE,isNN4,isOpera,isIE4;

if (navigator.userAgent.indexOf('Opera')!=-1) isOpera=1;
if (document.getElementById) isDOM=1;
if (document.all && !isOpera) isIE=1;
if (document.layers) isNN4=1;
if (!isDOM && document.all) isIE4=1;

var subPref='sub', topPref='top', t1=0, t2=0, actPref='active';
var itemsList=new Array(), subList=new Array();

function activeTop(id) {
	var parId, par, m=itemsList;
	for (var i in m) {
		if (m[i][id] && m[i][id].parentId!='x') {
			parId=m[i][id].parentId;
			par=getObj(topPref+parId);
			if (par.className.substr(0,actPref.length)!=actPref) par.className=actPref+par.className;
			activeTop(parId);
			break;
		}
	}
}

function deactiveTop(id) {
	var parId, m=itemsList;
	for (var i in m) {
		if (m[i][id] && m[i][id].parentId!='x') {
			parId=m[i][id].parentId;
			par=getObj(topPref+parId);
			if (par.className.substr(0,actPref.length)==actPref) par.className=par.className.substr(actPref.length);
			deactiveTop(parId);
			break;
		}
	}
}

function hide(lev, id) {
	for (var i in subList) {
		if (subList[i]>lev && i!=id) {
			var par=getObj(topPref+i);
			if (!isNN4) {
				if (par.className.substr(0,actPref.length)==actPref) par.className=par.className.substr(actPref.length);
			}
			setView(subPref+i, 0);
			setView(subPref+i+'bg', 0);
		}
	}
}

function over(id, level, x, y){
	clearTimeout(t1);
	clearTimeout(t2);
	var p, obj=getObj(subPref+id), objStyle=getStyle(subPref+id), self=getObj(topPref+id);
	
	if (!isNN4) {
		if (self.className.substr(0,actPref.length)!=actPref) self.className=actPref+self.className;
		activeTop(id);
	}

	hide(level, id);

	if (obj) {
		p=new getPosObj(topPref+id);
		/*alert(obj.offsetHeight);*/
		objStyle.left=eval(x);
		objStyle.top=eval(y);
		/*objStyle.top = p.y - obj.offsetHeight - 2;
		objStyle.left = p.x;*/
		setView(subPref+id, 1);

		var bg = getStyle(subPref+id+'bg');
		bg.top = objStyle.top;
		bg.left = objStyle.left;
		bg.height = obj.offsetHeight;
		bg.width = obj.offsetWidth;
		setView(subPref+id+'bg', 1);
	}
}

function out(id){
	clearTimeout(t1);
	clearTimeout(t2);
	var self=getObj(topPref+id);

	if (!isNN4) {
		if (self.className.substr(0,actPref.length)==actPref) self.className=self.className.substr(actPref.length);
		t2=setTimeout('deactiveTop("'+id+'")', 700);
	}
	t1=setTimeout('hide(0)', 700);
}

function getObj(n) {
	if(isDOM) return document.getElementById(n);
	if(isIE) return document.all[n];
	return document.layers[n];
}

function getStyle(n) {
	var obj=getObj(n);
	if(obj) {
		if(isNN4) return obj;
		return obj.style;
	}
}

function getPosObj(n) {
	if(isNN4) {
		this.x=event.pageX;
		this.y=event.pageY;
		this.w=this.h=0;
		return;
	}
	var obj=getObj(n);
	this.x=obj.offsetLeft;
	this.y=obj.offsetTop;
	this.w=obj.offsetWidth;
	this.h=obj.offsetHeight;
	while((obj=obj.offsetParent)!=null && obj.tagName!='BODY') {
		this.x+=obj.offsetLeft;
		this.y+=obj.offsetTop;
		if(isNaN(obj.border)) continue;
		this.x+=parseInt(obj.border);
		this.y+=parseInt(obj.border);
	}
}

function setView(n, s) {
	var obj=getStyle(n);
	if(obj) {
		if (isNN4) obj.visibility=(s)?'show':'hide';
		else obj.visibility=(s)?'visible':'hidden';
	}
}


function renderRoot(menu) {
	var str='<table border="0" cellspacing="0" cellpadding="0" width="100%">',
		event, isPar, target, m=itemsList[menu], count=1,
		x=(isNN4)?'"167"':(isOpera)?'"p.x+p.w"':'"p.x+p.w"',
		y=(isOpera)?'"p.y-3"':'"p.y-1"';
	for (var i in m) {
		if (m[i].level==0) {

			isPar=m[i].children.length;
			event=' onmouseover=over("'+m[i].id+'",'+m[i].level+','+x+','+y+') onmouseout=out("'+m[i].id+'")';
			(m[i].inNewWindow=='true') ? target=' target="_blank"' : target='';

			str+='<tr><td id='+topPref+m[i].id+event+' class="top">';
			str+='<a '+target+event+' href="'+m[i].url+'">'+m[i].text+'</a>';
			str+='</td></tr>';
			count++;
		}
	}
	str+='</table>';
	document.write(str);
}

function renderSub(menu) {
	var str, event, target, row, list, isPar, p1='<img src=img/1.gif width=1 height=1>', m=itemsList[menu], count,
		x=(isNN4)?'"p.x+50"':(isOpera)?'"p.x+p.w-2"':'"p.x+p.w"',
		y=(isOpera)?'"p.y-3"':'"p.y-1"';
	for (var i in m) {
		if (m[i].children.length>0) {
			list=m[i].children;
			row=list.length*2+1;
			count=1;
			str='<div id="'+subPref+m[i].id+'bg" class="popup-bg"></div>';
			str+='<div id="'+subPref+m[i].id+'" class="popup">';
			str+='<table border="0" cellspacing="0" cellpadding="0" width="240" class="sub-menu">';
			str+='<tr><td><img src=img/1.gif width=1 height=5></td></tr>';
			for (var j=0; j<list.length; j++) {

				isPar=m[list[j]].children.length;
				(m[list[j]].inNewWindow=='true') ? target=' target="_blank"' : target='';
				event=' onmouseover=over("'+m[list[j]].id+'",'+m[list[j]].level+','+x+','+y+') onmouseout=out("'+m[list[j]].id+'")';

				str+='<tr><td id='+topPref+m[list[j]].id+event+' class="submenu">';
				str+='<a '+target+event+' href="'+m[list[j]].url+'">'+m[list[j]].text+'</a>';
				str+='</td></tr>';
				count++;
			}
			str+='<tr><td><img src=img/1.gif width=1 height=5></td></tr>';
			str+='</table>';
			str+='</div>';
			document.write(str);
		}
	}
}

