var sub='sub', top='top', t1=0, t2=0, actPref='active';

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(top+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(top+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(top+i);
			if (!isOpera && !isNN4) {
				if (par.className.substr(0,actPref.length)==actPref) par.className=par.className.substr(actPref.length);
			}
			setView(sub+i, 0);
		}
	}
}

function over(id, e, lev, x, y){
	clearTimeout(t1);
	clearTimeout(t2);
	var p, obj=getStyle(sub+id), self=getObj(top+id);
	
	if (!isOpera && !isNN4) {
		if (self.className.substr(0,actPref.length)!=actPref) self.className=actPref+self.className;
		activeTop(id);
	}

	hide(lev, id);

	if (obj) {
		p=new getPosObj(top+id, e);
		obj.left=eval(x);
		obj.top=eval(y);
		setView(sub+id, 1);
	}
}

function out(id){
	clearTimeout(t1);
	clearTimeout(t2);
	var self=getObj(top+id);

	if (!isOpera && !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);
}

