var _sideBarCreated = false;
var trans = img_path+"trans.gif"
function createSideMenus(item,showLevel2){
	if(isnull(showLevel2)) showLevel2=true
	if(!isnull(item)) current_item=item
	try{
		var obj=getObject(current_item)
		if(isnull(obj) || obj.shwDpt=='0') {
			dbgL("current object not found in menus collection")
			return false;
		}
		if(obj.shwDpt>(Number(obj.dpt)+1)){
			dbgL("current item must show illegal depth")
			return false;
		}
		var sideBarItems=getSideBarMenus(obj)
		if(sideBarItems.length==0){
			dbgL("number of items for side menu (level 1 ) is 0")
			return false;
		}
		var str=''
		str+='<div class="sideBar">'
			for(var i=0;i<sideBarItems.length;i++){
				var sideBarLinks=""
				if(showLevel2 && sideBarItems[i].shwChldS=='1')
					sideBarLinks=getChildMenusSB(sideBarItems[i])
				var className="sideBar"
				var style="cursor:hand;"
				var onclick,href,target
				if(sideBarItems[i].clc=="1" || sideBarLinks.length==0){
					onclick=sideBarItems[i].fnc
				}
				else{
					style="cursor:hand;"
					onclick='openCloseLinksContainer("'+sideBarItems[i].id+'")'
				}
				var onmouseover="sideBarOnmouse('"+sideBarItems[i].id+"',true,1,'"+sideBarItems[i].imgOn_SB+"')"
				var onmouseout="sideBarOnmouse('"+sideBarItems[i].id+"',false,1,'"+sideBarItems[i].imgOn_SB+"')"
				var sideImage=SideBarImgOff
				if(sideBarItems[i].act=='0' || (sideBarItems[i].id==current_item && isnull(doc_id))){
					className="sideBar_S"
					style="cursor:hand;"
					onclick=""
					onmouseover=""
					onmouseout=""
					if(sideBarItems[i].id==current_item) sideImage=SideBarImgOn;
				}
				else{
					if(ifParentOrSelf(sideBarItems[i],current_item)){
						className="sideBar_H"
						onmouseover=""
						onmouseout=""
						onclick=sideBarItems[i].fnc
						sideImage=SideBarImgOn
					}
				}
				href=getHrefFromOnclick(onclick)
				target=getTargetFromOnclick(onclick)
				
				//FIRST LEVEL - START
					str+='<div id="trSB'+sideBarItems[i].id+'" class="'+className+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'">\
								<table cellpadding="0" cellspacing="0" width="100%">\
									<tr>\
										<td class="sideMenuImage">'
									if(!isnull(sideImage))
										str+='<img id="imSB'+sideBarItems[i].id+'" src="'+sideImage.src+'" width="'+sideImage.width+'" height="'+sideImage.height+'" >'
									else
										str+='&nbsp;'
								str+='</td>\
										<td class="sideMenuVerDelim"></td>\
										<td width="100%">\
											<a style="'+style+'" id="tdSB'+sideBarItems[i].id+'" class="'+className+'" href=\''+href+'\' '+target+'>\
												 '+imgOrText(sideBarItems[i],'S')+' \
											</a>\
										</td>\
									</tr>\
								</table>\
							</div>'
				//FIRST LEVEL - END
				
				//SECOND LEVEL
				if(!isnull(sideBarLinks) && sideBarLinks.length>0 && showLevel2){
					
					var lDisplay=""
					if(ifParentOrSelf(sideBarItems[i],current_item)){
						lDisplay=""
					}
					else{
					
						if(sideBarItems[i].op=="1"){
							
							lDisplay=""
							openedContainerId=sideBarItems[i].id
						}
						else{
							lDisplay="none"
						}
					}
					str+='<div id="SBCont'+sideBarItems[i].id+'" style="display:'+lDisplay+';">'
						for(var j=0;j<sideBarLinks.length;j++){
							var className="sideBarLevel_1"
							var style="cursor:hand;"
							var onclick=sideBarLinks[j].fnc,href,target
							var onmouseover="sideBarOnmouse('"+sideBarLinks[j].id+"',true,2,'"+sideBarItems[i].imgOn_SB+"')"
							var onmouseout="sideBarOnmouse('"+sideBarLinks[j].id+"',false,2,'"+sideBarItems[i].imgOn_SB+"')"
							var sideLinksImage=SideBarLinkImgOff
							if(sideBarLinks[j].act=='0' || sideBarLinks[j].id==current_item || (!isnull(doc_id) && sideBarLinks[j].id==(doc_id+'d'))){
								className="sideBarLevel_1_S"
								style="cursor:default;"
								onclick=""
								onmouseover=""
								onmouseout=""
								if(sideBarLinks[j].id==current_item || (!isnull(doc_id) && sideBarLinks[j].id==(doc_id+'d'))) sideLinksImage=SideBarLinkImgOn;
							}
							else{
								if(ifParentOrSelf(sideBarLinks[j],current_item)){
									className="sideBarLevel_1_H"
									onmouseover=""
									onmouseout=""
								}
							}
							href=getHrefFromOnclick(onclick)
							target=getTargetFromOnclick(onclick)
							str+='<div class="sideBarItemHorizDelim"><Img src="'+trans+'"></div>'
							str+='<div id="trSB'+sideBarLinks[j].id+'" class="'+className+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'">'
								str+='<table cellpadding="0" cellspacing="0" width="100%">'
									str+='<tr>'
										str+='<td class="sideBarItemImage">'
											if(!isnull(sideLinksImage))
												str+='<img id="imSB'+sideBarLinks[j].id+'" src="'+sideLinksImage.src+'" width="'+sideLinksImage.width+'" height="'+sideLinksImage.height+'">'
										str+='</td>'
										str+='<td class="sideBarItemVerDelim"></td>'
										str+='<td width="100%">'
											str+='<a style="'+style+'" id="tdSB'+sideBarLinks[j].id+'" class="'+className+'" href=\''+href+'\' '+target+'>'
												str+=imgOrText(sideBarLinks[j],'S')
											str+='</a>'
										str+='</td>'
									str+='</tr>'
								str+='</table>'
							str+='</div>'
							
							//if(j!=(sideBarLinks.length-1))
							//	str+='<div class="sideBarItemHorizDelim"><Img src="'+trans+'"></div>'
						}
						
						str+='</div>'	
				}
				
				
				
				/////vertical delimeter(tr):
				if(i!=(sideBarItems.length-1))
					str+='<div style="width:100%" class="sideBarItemHorizDelim"><Img src="'+trans+'" height=1></div>'
			}
		str+='</div>'
		document.write(str)
		_sideBarCreated =true
		dbgL("side menu created ...")
		return true;
	}
	catch(e){
		dbgE("error in side menus creating:\n"+e.description)
		return false;
	}
}
function sideBarOnmouse(id,on,level,path){
	var className=(level==1)?"sideBar":"sideBarLevel_1";
	var sideBarImg=(level==1)?SideBarImgOff:SideBarLinkImgOff
	if(on){
		className=(level==1)?"sideBar_H":"sideBarLevel_1_H";
		sideBarImg=(level==1)?SideBarImgOn:SideBarLinkImgOn
	}
	var trSB=getRef("trSB"+id);
	if(!isnull(trSB))
		trSB.className=className
	var tdSB=getRef("tdSB"+id);
	if(!isnull(tdSB))
		tdSB.className=className
	var sideBarIm=getRef("sideBarImg"+id);
	if(!isnull(sideBarIm))
		sideBarIm.src=path
	var imSB=getRef("imSB"+id);
	if(!isnull(imSB))
		imSB.src=sideBarImg.src

}
var openedContainerId
function openCloseLinksContainer(id){
	var container=getRef("SBCont"+id);
	if(isnull(container)) return;
	if(container.style.display==''){
		container.style.display='none'
		openedContainerId=null
	}
	else{
		var opContainer=getRef("SBCont"+openedContainerId);
		if(opContainer) 
			opContainer.style.display='none'
		container.style.display=''
		openedContainerId=id
	}
}
function getSideBarMenus(obj){
	var menusArr=new Array();
	if(obj.shwDpt==(Number(obj.dpt)+1))
		menusArr=getChildMenusSB(obj)
	if(obj.shwDpt==obj.dpt)
		menusArr=getChildMenusSB(getObject(obj.prnt))
	if(Number(obj.shwDpt)<Number(obj.dpt)){
		var parentMenu=getObject(obj.prnt)
		while(!isnull(parentMenu)){
			if(parentMenu.dpt==Number(obj.shwDpt)-1){
				menusArr=getChildMenusSB(getObject(parentMenu.id))
				break
			}
			parentMenu=getObject(parentMenu.prnt)
		}
	}
	return menusArr;
}
function getChildMenusSB(obj){
	var menusArr=new Array();
	var rg=/mnu\d+/;
	if(!obj) return menusArr;
	if(obj.shwD=='1' && obj.aft=='0'){
		var tempArr=getMenuItemDocs(obj)
		for(var k=0;k<tempArr.length;k++){
			menusArr[menusArr.length]=tempArr[k]
		}
	}
	for(var x in obj){
		if(rg.exec(x) && obj[x].menuSB==1)
			menusArr[menusArr.length]=obj[x];
	}
	if(obj.shwD=='1' && obj.aft=='1'){
		var tempArr=getMenuItemDocs(obj)
		for(var k=0;k<tempArr.length;k++){
			menusArr[menusArr.length]=tempArr[k]
		}
	}
	return 	menusArr;
}
function getMenuItemDocs(obj){
	var arr=new Array()
	var dObj=eval("mnuD"+obj.id)
	if(!isnull(dObj)){
		for(var x in dObj){
			arr[arr.length]=dObj[x]
		}
	}
	return arr
}