var bLayerAction=false,bMenuShowing=false;
var nIntId="";
var layObj, undefObj="undefined";
var ns4, ieX, ns6, ns7, over;

ns4=(browserName==brNN4);
ieX=(browserName==brIE)||(browserName==brOPERA);
ns6=(browserName==brNN6);
ns7=(browserName==brNN7);

function getObjByName(lName) {
	if(ns4) return document.layers[lName]
	else return document.getElementById(lName).style;
}

function moveObjTo(obj,xL,yL) {
//	alert(obj);
    obj.left = xL;
    obj.top = yL
}

function showObj(obj) {
    if (ns4) obj.visibility = "show"
    else obj.visibility = "visible";
}

function hideObj(obj) {
	if (!obj) return;
    if (ns4) obj.visibility = "hide"
    else obj.visibility = "hidden";
}

function checkCurObj(lName) {
	var tempObj;
	if(ns4) tempObj=document.layers[lName]
	else tempObj=document.getElementById(lName).style;

	if (tempObj===layObj) return true
	else {
		hideObj(layObj);
		layObj=tempObj;
		return false;
	}
}


function showLayerEx(lName, evLayer, ownerObj) {
	bLayerAction = true;
	var x=0,y=0;
	var x0=183;
	if (ns4) {x=ownerObj.x + x0; y=ownerObj.y+1;}
	else if (ieX) {x=document.getElementById('menu_pos').offsetLeft+x0; y=ownerObj.offsetTop;}
		 else if (ns6) {x=ownerObj.offsetLeft + x0; y=ownerObj.offsetTop-5;}
			else {x=document.getElementById('menu_pos').offsetLeft + x0; y=ownerObj.offsetTop;}

	if (checkCurObj(lName)) return;
	moveObjTo(layObj,x,y);
	showLayer(lName);
}

function showLayer(lName) {
	bLayerAction = true;
	checkCurObj(lName);
	showObj(layObj);
	bMenuShowing = true;
}

function hiddenLayer(lName) {

	if (bLayerAction) return;
	checkCurObj(lName);
	hideObj(layObj);
	layObj = undefObj;
	bMenuShowing = false;
}


function doTryHidden(lName) {
	bLayerAction = false;
	clearInterval(nIntId);
	nIntId = setInterval('hiddenLayer("'+ lName +'")',100);
}
