
// variabels:
var openedDivId=''
try{
	var current_item=(isModule=="true")?(!isnull(pi)?pi:0):node_pi
}
catch(e){
	var current_item=(isHome=="true")?home_pi:0
}
try{
	var place=navigator.appVersion.search("M")
	var appver=navigator.appVersion.substring(place+5,navigator.appVersion.length)
	appver=appver.substring(0,appver.search(";"))
	//appver="3.0"
}
catch(e){var appver="3.0";}

var _existDoc=!isnull(doc_id)
///////////////////////////////////////////////////////////////
// constants
var MENU_OBJECT_NAME="mnu";
var ROOT_MENU_OBJECT_NAME="menus";
///////////////////////////////////////////////////////////////
// CSS definitions for upper menus:
var vertDelimClass="upperMenu_VertDelim";
var horizDelimClass="upperSubMenu_HorizDelim";
var containerDivClass="upperSubMenuContainer"
var menuClasses=new Array();
menuClasses[0]="upperMenu";
menuClasses[1]="upperSubMenu";
for(var i=2;i<MAX_DEPTH;i++){
	menuClasses[i]="upperSubMenu_Lev"+(i+1);
}
///////////////////////////////////////////////////////////////
// Show/hide selects functions
var hiddenSelects={};
function hideSelects(id){
	var obj=document.all[id]
	function hideSelect(obj){
		obj.style.visibility='hidden'
		eval("hiddenSelects."+String(obj.uniqueID)+"=1")
	}
	var objOffLeft=0,objOffTop=0,objOffWidth=0,objOffHeight=0;
	//DIV COORDINATES:
	var divLT={},divRT={},divLB={},divRB={};

	objOffWidth=obj.offsetWidth;
	objOffHeight=obj.offsetHeight;
	objOffLeft=obj.offsetLeft;
	objOffTop=obj.offsetTop;
	var objPar=obj.offsetParent;
	while(objPar){
		obj=objPar;
		objOffLeft+=obj.offsetLeft;
		objOffTop+=obj.offsetTop;
		objPar=obj.offsetParent;
	}
	divLT.x=objOffLeft;
	divLT.y=objOffTop;
	divRT.x=objOffLeft+objOffWidth;
	divRT.y=objOffTop;
	divLB.x=objOffLeft;
	divLB.y=objOffTop+objOffHeight;
	divRB.x=objOffLeft+objOffWidth;
	divRB.y=objOffTop+objOffHeight;

	var selects=document.getElementsByTagName("SELECT");
	for(var i=0;i<selects.length;i++){
		var offLeft=0,offTop=0,offW=0,offH=0;
		//SELECT COORDINATES:
		var selLT={},selRT={},selLB={},selRB={};

		var ob=selects[i];
		offW=ob.offsetWidth;
		offH=ob.offsetHeight;
		offLeft+=ob.offsetLeft;
		offTop+=ob.offsetTop;
		var par=ob.offsetParent;
		while(par){
			ob=par;
			offLeft+=ob.offsetLeft;
			offTop+=ob.offsetTop;
			par=ob.offsetParent;
		}

		selLT.x=offLeft;
		selLT.y=offTop;
		selRT.x=offLeft+offW;
		selRT.y=offTop;
		selLB.x=offLeft;
		selLB.y=offTop+offH;
		selRB.x=offLeft+offW;
		selRB.y=offTop+offH;

		if(selLT.y>=divLB.y) continue;
		if((selLT.x>=divLB.x) && (selLT.x<divRB.x)){
			hideSelect(selects[i]);
			continue;
		}
		if((selRT.x>=divLB.x) && (selRT.x<divRB.x)){
			hideSelect(selects[i]);
			continue;
		}
		if((selLT.x<=divLB.x) && (selRT.x>=divRB.x)){
			hideSelect(selects[i]);
			continue;
		}
	}
}
function getOffsetLeft(ob){
	var offLeft=ob.offsetLeft;
	var par=ob.offsetParent;
	while(par){
		offLeft+=par.offsetLeft;
		par=par.offsetParent;
	}
	return offLeft
}
function showSelects(){
	for(var x in hiddenSelects){
		if(!isnull(hiddenSelects[x])){
			document.all[x].style.visibility='visible'
			hiddenSelects[x]=null
		}
	}
}
function reverseDir(id){
	var menudiv=getRef('contDiv'+id);
	var upperMenusDiv=getRef("upperMenus");
	var tdContainer=getRef("tdCont"+id);
	try{
		if(dir.toUpperCase()=="RTL" && getOffsetLeft(menudiv)<getOffsetLeft(upperMenusDiv)){
			tdContainer.style.direction="LTR"
		}
		if(dir.toUpperCase()=="LTR" && (getOffsetLeft(menudiv)+menudiv.offsetWidth)>(getOffsetLeft(upperMenusDiv)+upperMenusDiv.offsetWidth)){
			tdContainer.style.direction="RTL"
		}
	}catch(e){
		//dbgE("Error in reverseDir function : " +e.description)
	}
}

///////////////////////////////////////////////////////////////
// Old functions for backup
function showSubMenu(id,change){
	var menudiv=getRef("menudiv"+id);
	var fullid="menudiv"+id
	var upperMenusDiv=getRef("upperMenus");
	if(menudiv){
		menudiv.style.display='';
		var parentTd=menudiv.offsetParent;
		if(dir.toUpperCase()=="RTL" && menudiv.offsetLeft<0 && getRef("dirChangeCont"+id))
			getRef("dirChangeCont"+id).style.direction=dirOps
		if(dir.toUpperCase()=="LTR" && (parentTd.offsetParent.offsetLeft+menudiv.offsetWidth)>upperMenusDiv.offsetWidth){
			getRef("dirChangeCont"+id).style.direction=dirOps
		}
		if(appver<"5.5"){
			setTimeout('hideSelects("'+fullid+'")','1')
		}
		else{
			hideSelects(fullid)
		}
	}
}
function hideSubMenu(id,change){
	var menudiv=getRef("menudiv"+id);
	if(menudiv){
		menudiv.style.display='none';
		showSelects()
	}
}
//////////////////////////////////////////////////////////////////
// Upper menus operation functions:
function showUpperMenuDiv(id){
	var obj=document.all['contDiv'+id]
	if(isnull(obj)) return
	obj.style.display='';
	if(appver<"5.5"){
		setTimeout('reverseDir("'+id+'")','1')
		setTimeout('hideSelects("contDiv'+id+'")','1')
	}
	else{
		reverseDir(id)
		hideSelects('contDiv'+id)
	}
}
function hideUpperMenuDiv(id){
	var obj=document.all['contDiv'+id]
	if(isnull(obj)) return
	obj.style.display='none';
	showSelects() 
}
function onClassName(id){
	var obj=document.all['contText'+id]
	var imgObj=document.all['contImg'+id]
	if(!isnull(obj)) obj.className=obj.className+"_H";
	if(!isnull(imgObj)) imgObj.src=eval("imUpM"+id+"On").src;
}
function offClassName(id){
	var obj=document.all['contText'+id]
	var imgObj=document.all['contImg'+id]
	if(!isnull(obj)) obj.className=obj.className.replace(/_H$/,"");
	if(!isnull(imgObj)) imgObj.src=eval("imUpM"+id+"Off").src;
}
///////////////////////////////////////////////////////////////
// Util functions:
function isnull(arg) {
	arg = arg+'';
	return (arg == '' || arg == 'null' || arg == 'undefined');
}
function goIn(pi,doc_id){
	var path=pagePath+"?pi="+pi
	if(!isnull(doc_id))
		path+=("&doc_id="+doc_id)
	go(path)
}
function go(address){
	window.location.href=address
}
function getRef(id) {
	return document.getElementById(id);
}

///////////////////////////////////////////////////////////////
// Old functions for side bar / flat bar use:
function getChildMenusForCheck(obj){
	var menusArr=new Array();
	var rg=/mnu/;
	if(!obj) return menusArr;
	for(var x in obj){
		if(rg.exec(x))
			menusArr[menusArr.length]=obj[x];
	}
	return 	menusArr;
}
function ifChildOrSelf(obj,id){
	if(obj.id==id) return true;
	var res=false;
	var arr=getChildMenusForCheck(obj);
	for(var i=0;i<arr.length;i++){
		if(arr[i].id==id)
			res=true;
		else
			if(!res)
				res=ifChildOrSelf(arr[i],id);
	}
	return res;
}
function ifParentOrSelf(obj,id){
	if(obj.id==id) return true;
	var res=false;
	var arr=getChildMenusForCheck(obj);
	for(var i=0;i<arr.length;i++){
		if(arr[i].id==id)
			res=true;
		else
			if(!res)
				res=ifParentOrSelf(arr[i],id);
	}
	return res
}
function getChildMenus(obj){
	var menusArr=new Array();
	var rg=/mnu\d+/;
	if(!obj) return menusArr;
	for(var x in obj){
		if(rg.exec(x) && obj[x].menu==1)
			menusArr[menusArr.length]=obj[x];
	}
	return 	menusArr;
}
function getChildMenusForFB(obj){
	var menusArr=new Array();
	var rg=/mnu\d+/;
	if(!obj) return menusArr;
	for(var x in obj){
		if(rg.exec(x) && obj[x].menuFB==1)
			menusArr[menusArr.length]=obj[x];
	}
	return 	menusArr;

}
function getFlatBarMenus(obj){
	var menusArr=new Array();
	if(obj.shwFDpt==(Number(obj.dpt)+1))
		menusArr=getChildMenusForFB(obj)
	if(obj.shwFDpt==obj.dpt)
		menusArr=getChildMenusForFB(getObject(obj.prnt))
	if(Number(obj.shwFDpt)<Number(obj.dpt)){
		var parentMenu=getObject(obj.prnt)
		while(!isnull(parentMenu)){
			if(parentMenu.dpt==Number(obj.shwFDpt)-1){
				menusArr=getChildMenusForFB(getObject(parentMenu.id))
				break
			}
			parentMenu=getObject(parentMenu.prnt)
		}
	}
	return menusArr;
}
function getObject(id,obj){
	if(isnull(obj)) obj=menus;
	var rObj
	if(obj.id==id){
		rObj=obj;
	}
	else{
		var childs=getChildMenusForCheck(obj)
		for(var i=0;i<childs.length;i++){
			if(isnull(rObj)) rObj=getObject(id,childs[i]);
		}
	}
	return rObj
}
///////////////////////////////////////////////////////////////
//get menus(objects) array - child of argument menu(object):
function getSubUppMenus(obj){
	var _root=false
	var mnuArr=new Array();
	var re=eval("/^"+MENU_OBJECT_NAME+"\\d+$/");
	if(isnull(obj)){
		_root=true
		obj=eval(ROOT_MENU_OBJECT_NAME);
	}
	if(!_root && obj.act!=1) return mnuArr;
	if(!_root && obj.shwChld!=1) return mnuArr;
	for(var x in obj){
		if(re.test(x) && obj[x].menu==1)
			mnuArr[mnuArr.length]=obj[x];
	}
	return mnuArr;
}
///////////////////////////////////////////////////////////////
// check if argument menu(object) is 'parent' of current menu
function ifParentOfCurrent(obj){
	var res=false;
	if(obj.id==current_item) res=true;
	var re=eval("/^"+MENU_OBJECT_NAME+"\\d+$/");
	for(var x in obj){
		if(re.test(x) && !res){
			if(obj[x].id==current_item){
				res=true;
				break;
			}
			else
				res=ifParentOfCurrent(obj[x]);
		}
	}
	return res
}
///////////////////////////////////////////////////////////////
// get width of menu div ( from wdt property or from image width)
function getWidth(objList,currInd){
	function _getWidth(obj){
		var imObj
		if(obj.showImg==1){
			imObj=eval("imUpM"+obj.id+"Off");
			if(!isnull(imObj)) return imObj.width
		}
		try{
			return (!isnull(obj.wdt))?Number(obj.wdt):0;
		}
		catch(e){return 0;}
	}
	var currObj=objList[currInd]
	switch(String(currObj.dpt)){
		case '0':
			if(SAME_PARTS){
				var itemWidth=Math.floor(100/objList.length)
				if((100-itemWidth/objList.length)>0) itemWidth++;
				alert(String(itemWidth)+"%")
				return (String(itemWidth)+"%");
			}
			if(SAME_PADDINGS) return "";
			return _getWidth(currObj)
			break;
		case '1':
			var maxWidth=0;
			for(var i=0;i<objList.length;i++){
				var tempWidth=_getWidth(objList[i])
				if(tempWidth>maxWidth) maxWidth=tempWidth;
			}
			return (WIDTH_100_PERCENT?"100%":maxWidth);
			break;
		default:
			var maxWidth=_getWidth(currObj);
			for(var i=0;i<objList.length;i++){
				var tempWidth=_getWidth(objList[i])
				if(tempWidth>maxWidth) maxWidth=tempWidth;
			}
			return maxWidth;
	}
}
///////////////////////////////////////////////////////////////
// check if argument menu(object) is of current menu
function ifCurrent(obj){
	if(obj.id==current_item) return true;
	return false;
}
///////////////////////////////////////////////////////////////
// Old html construction functions for side bar / flat bar use:
function imgOrText(obj,bar){
	var str=""
	if(bar=='U'){
		if(isnull(obj.showImg) || obj.showImg=='0' || obj.imgOn=='' || obj.imgOff=='')
			str+=obj.txt
		else{
			str+='<img id="menusImg'+obj.id+'" width="'+obj.img_w+'" height="'+obj.img_h+'" hspace="0" '
			if(ifChildOrSelf(obj,current_item))
				str+=' src="'+obj.imgOn+'"><br>'
			else
				str+=' src="'+obj.imgOff+'"><br>'
		}
	}
	if(bar=='S'){
		if(isnull(obj.showImg_SB) || obj.showImg_SB=='0' || obj.imgOn_SB=='' || obj.imgOff_SB=='')
			str+=obj.txt
		else{
			str+='<img id="sideBarImg'+obj.id+'" width="'+obj.img_SB_w+'" height="'+obj.img_SB_h+'" hspace="0" '
			if(ifParentOrSelf(obj,current_item))
				str+=' src="'+obj.imgOn_SB+'"><br>'
			else
				str+=' src="'+obj.imgOff_SB+'"><br>'
		}
	}
	if(bar=='F'){
		if(isnull(obj.showImg_FB) || obj.showImg_FB=='0' || obj.imgOn_FB=='' || obj.imgOff_FB=='')
			str+=obj.txt
		else{
			str+='<img id="flatImg'+obj.id+'" width="'+obj.img_FB_w+'" height="'+obj.img_FB_h+'" hspace="0" '
			if(ifParentOrSelf(obj,current_item))
				str+=' src="'+obj.imgOn_FB+'"><br>'
			else
				str+=' src="'+obj.imgOff_FB+'"><br>'
		}
	}
	return str
}
function classNameAndStyle(obj){
	var str=""
	var className = (obj.dpt==0) ? "upperMenu" : 'menuLevel'+obj.dpt;
	if(obj.act!='1')
		return ' class="' +className+ '" style="cursor:default;" '
	if(obj.id==current_item && isnull(doc_id))
		return ' class="' +className+ '_S" style="cursor:default;" '
	if(ifChildOrSelf(obj,current_item))
		return ' class="' +className+ '_H" style="cursor:hand;" '
	return ' class="' +className+ '" style="cursor:hand;" '
}
function onClickOnMenu(obj){
	if(obj.act!='1' || (obj.id==current_item && isnull(doc_id))) return '';
	return obj.fnc
}


///////////////////////////////////////////////////////////////////
// go 2 home page func
function goHome(){window.navigate(homePath);}

///////////////////////////////////////////////////////////////////
// open/close tr functions-for the site map xsl
function openTr(){document.write("<tr>");}
function closeTr(){document.write("</tr>");}


////////////////////////////////////////////////////////////////////
//create href
function getHrefFromOnclick(clkStr){
	if(isnull(clkStr)) return "javascript:void(0);"
	if(clkStr.indexOf("goIn(")>-1){
		clkStr=clkStr.replace(/^goIn\(\"/,"")
		clkStr=clkStr.replace(/\"\)$/,"")
		return pagePath+"?pi="+clkStr
	}
	if(clkStr.indexOf("go(")>-1){
		clkStr=clkStr.replace(/^go\(\"/,"")
		clkStr=clkStr.replace(/\"\)$/,"")
		return clkStr
	}
	if(clkStr.indexOf("window.open(")>-1){
		clkStr=clkStr.replace(/^window.open\(\"/,"")
		clkStr=clkStr.replace(/\"\)$/,"")
		return clkStr
	}
	return "javascript:"+clkStr;
}
function getTargetFromOnclick(clkStr){
	if(isnull(clkStr)) return ""
	if(clkStr.indexOf("window.open(")>-1){
		return "target='_blank'"
	}
	return ""
}