var _sideBarCreated = false;
function createSideMenus(item,showLevel2,firstLevel){
	function _createSideMenus(parentObj,itemsArr){
		var s=""
		s+='<table cellpadding="0" cellspacing="0" width="100%" class="sideBarLevel_1">'
			for(var j=0;j<itemsArr.length;j++){
				var className="sideBarLevel_1"
				var style="cursor:hand;"
				var onclick=itemsArr[j].fnc,href,target
				var onmouseover="sideBarOnmouse('"+itemsArr[j].id+"',true,2,'"+parentObj.imgOn_SB+"');openCloseSideContainer('"+itemsArr[j].id+"');"
				var onmouseout="sideBarOnmouse('"+itemsArr[j].id+"',false,2,'"+parentObj.imgOn_SB+"');openCloseSideContainer('"+itemsArr[j].id+"');"
				var sideLinksImage=SideBarLinkImgOff
				/////item is not active or this current folder
				if(itemsArr[j].act=='0' || itemsArr[j].id==current_item || (!isnull(doc_id) && itemsArr[j].id==(doc_id+'d'))){
					className="sideBarLevel_1_S"
					style=requestCount>1?"cursor:hand;":"cursor:default;"
					onclick=requestCount>1?itemsArr[j].fnc:""
					onmouseover="openCloseSideContainer('"+itemsArr[j].id+"');"
					onmouseout="openCloseSideContainer('"+itemsArr[j].id+"');"
					if(itemsArr[j].id==current_item || (!isnull(doc_id) && itemsArr[j].id==(doc_id+'d'))) sideLinksImage=SideBarLinkImgSel;
				}
				else{
					/////item is parent of current folder
					if(ifParentOrSelf(itemsArr[j],current_item)){
						className="sideBarLevel_1_H"
						onmouseover="openCloseSideContainer('"+itemsArr[j].id+"');"
						onmouseout="openCloseSideContainer('"+itemsArr[j].id+"');"
						sideLinksImage=SideBarLinkImgOn;
					}
				}
				href=getHrefFromOnclick(onclick)
				target=getTargetFromOnclick(onclick)
				s+='<tr id="trSB'+itemsArr[j].id+'" class="'+className+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'">'
					/////side links image container:
					s+='<td class="sideBarItemImage">'
						/////side links image:
						if(!isnull(sideLinksImage))
							s+='<img id="imSB'+itemsArr[j].id+'" src="'+sideLinksImage.src+'" width="'+sideLinksImage.width+'" height="'+sideLinksImage.height+'">'
					s+='</td>'
					/////horizontal delimeter(td):	
					s+='<td class="sideBarItemVerDelim"></td>'
					/////text:
					s+='<td width="100%">'
						s+='<a style="'+style+'" id="tdSB'+itemsArr[j].id+'" class="'+className+'" href=\''+href+'\' '+target+'>'
							s+=String(imgOrText(itemsArr[j],'S')).toUpperCase();
						s+='</a>'
						
					s+='</td>'
					var sideDivItems=''
					if(itemsArr[j].ssd==1 && itemsArr[j].shwChldS=='1')
						sideDivItems=getChildMenusSB(itemsArr[j])
					if(!isnull(sideDivItems) && sideDivItems.length>0){
						s+='<td class="sideLinksOpenedDivImage">'
							if(!isnull(OpenedDivLinkOff))
								s+='<img id="openedeDivImg'+itemsArr[j].id+'" src="'+OpenedDivLinkOff.src+'"><br>'
						s+='</td>'
						//s+='<td valign="top" class="sideDivContainer">'
						//	s+=_createSideMenuDivs(itemsArr[j],sideDivItems)	
						//s+='</td>'
					}
					else{
						s+='<td class="sideLinksOpenedDivImage"></div>'
						s+='<td></td>'
					}
				s+='</tr>'
				/////vertical delimeter(tr):
				if(j!=(itemsArr.length-1))
					s+='<tr class="sideBarItemHorizDelim"><td colspan="4" class="sideBarItemHorizDelim"></td></tr>'
			}
			s+='</table>'
			return s
	}
	function _createSideMenuDivs(parentObj,itemsArr){
		var s=""
		s+='<div class="sideDivContainer" style="display:none;position:absolute;" id="sideMenuCont'+parentObj.id+'">'
			s+='<table cellpadding="0" cellspacing="0" width="100%" class="sideDivContainer">'
				for(var j=0;j<itemsArr.length;j++){
					var className="sideDivContainer"
					var style="cursor:hand;"
					var onclick=itemsArr[j].fnc,href,target
					var onmouseover="sideBarOnmouseDivs('"+itemsArr[j].id+"',true,'"+parentObj.imgOn_SB+"')"
					var onmouseout="sideBarOnmouseDivs('"+itemsArr[j].id+"',false,'"+parentObj.imgOn_SB+"')"
					/////item is not active or this current folder
					if(itemsArr[j].act=='0' || itemsArr[j].id==current_item || (!isnull(doc_id) && itemsArr[j].id==(doc_id+'d'))){
						className="sideDivContainer_S"
						style=requestCount>1?"cursor:hand;":"cursor:default;"
						onclick=requestCount>1?itemsArr[j].fnc:""
						onmouseover=""
						onmouseout=""
					}
					else{
						/////item is parent of current folder
						if(ifParentOrSelf(itemsArr[j],current_item)){
							className="sideDivContainer_H"
							onmouseover=""
							onmouseout=""
						}
					}
					href=getHrefFromOnclick(onclick)
					target=getTargetFromOnclick(onclick)
					s+='<tr id="trSBDiv'+itemsArr[j].id+'" class="'+className+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'">'
						s+='<td width="100%" nowrap>'
							s+='<a nowrap style="'+style+'" id="tdSBDiv'+itemsArr[j].id+'" class="'+className+'" href=\''+href+'\' '+target+'>'
								s+=imgOrText(itemsArr[j],'SD')
							s+='</a>'
						s+='</td>'
					s+='</tr>'
					/////vertical delimeter(tr):
					if(j!=(itemsArr.length-1))
						s+='<tr class="sideDivContainerHorizDelim"><td class="sideDivContainerHorizDelim"></td></tr>'
				}
				s+='</table>'
			s+='</div>'
			return s
	}
	/////show or not firs level(default is false):
	if(isnull(firstLevel) || firstLevel!=true) firstLevel=false
	/////show or not second level of side bar (default is true):
	if(isnull(showLevel2) || showLevel2!=false) showLevel2=true
	/////show side bar of other folder (default is current folder):
	if(!firstLevel && !isnull(item)) current_item=item
	try{
		/////get current folder object from menu data structure:
		/*
		var obj
		if(firstLevel)
			obj=getObject()
		else
			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;
		}
		/////get first level items of side bar:
		var sideBarItems=getSideBarMenus(obj)
		*/
		//var obj=getObject(current_item)
		//if(isnull(obj) || obj.sd=='0') return false;
		//if(obj.sd>(Number(obj.d)+1)) return false;
		var sideBarItems=getSideBarMenus()
		
		if(sideBarItems.length==0){
			dbgL("number of items for side menu (level 1 ) is 0")
			return false;
		}
		var str=''
		str+='<div class="sideBar">\
			<table BORDER=0 cellpadding="0" cellspacing="0" width="100%" class="sideBar" dir="'+dir+'">'
			for(var i=0;i<sideBarItems.length;i++){
				var sideBarLinks=''
				/////get second level items of side bar (childs of this item):
				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:default;"
					onclick='openCloseLinksContainer("'+sideBarItems[i].id+'")'
				}
				var onmouseover="sideBarOnmouse('"+sideBarItems[i].id+"',true,1,'"+sideBarItems[i].imgOn_SB+"');openCloseSideContainer('"+sideBarItems[i].id+"');"
				var onmouseout="sideBarOnmouse('"+sideBarItems[i].id+"',false,1,'"+sideBarItems[i].imgOn_SB+"');openCloseSideContainer('"+sideBarItems[i].id+"');"
				var sideImage=SideBarImgOff
				/////item is not active or this current folder
				if(sideBarItems[i].act=='0' || (sideBarItems[i].id==current_item && isnull(doc_id))){
					className="sideBar_S"
					style=requestCount>1?"cursor:hand;":"cursor:default;"
					onclick=requestCount>1?sideBarItems[i].fnc:""
					onmouseover=""
					onmouseout=""
					if(sideBarItems[i].id==current_item) sideImage=SideBarImgSel;
				}
				else{
					/////item is parent of current folder
					if(ifParentOrSelf(sideBarItems[i],current_item)){
						className="sideBar_H"
						onmouseover=""
						onmouseout=""
						onclick=sideBarItems[i].fnc
						sideImage=SideBarImgOn
					}
				}
				href=getHrefFromOnclick(onclick)
				target=getTargetFromOnclick(onclick)
				str+='<tr id="trSB'+sideBarItems[i].id+'" class="'+className+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'">'
					/////side menu image container:
					str+='<td class="sideMenuImage">'
						/////side menu image:
						if(!isnull(sideImage))
							str+='<img id="imSB'+sideBarItems[i].id+'" src="'+sideImage.src+'" width="'+sideImage.width+'" height="'+sideImage.height+'">'
						else
							str+='&nbsp;'
					str+='</td>'
					/////horizontal delimeter(td):
					str+='<td class="sideMenuVerDelim"></td>'
					/////text:
					str+='<td width="100%" id="tdSB'+sideBarItems[i].id+'" class="'+className+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'" nowrap>'
						str+='<a style="'+style+'"  class="'+className+'" href=\''+href+'\' '+target+'>'
							str+=String(imgOrText(sideBarItems[i],'S')).toUpperCase();
						str+='</a>'
					str+='</td>'
					
				
				//SECOND LEVEL
				
				
				if(!isnull(sideBarLinks) && sideBarLinks.length>0 && showLevel2){
					
					if(ifParentOrSelf(sideBarItems[i],current_item)){
						/////OpenedDivImage:
							str+='<td class="sideOpenedDivImage">'
								/////side menu image:
								if(!isnull(OpenedDivImage))
									str+='<img src="'+OpenedDivImage.src+'"><br>'
							str+='</td>'
							str+='<td style="width:0px;"></td>'
						str+='</tr>'
						str+='<tr id="SBCont'+sideBarItems[i].id+'" style="display:;">'	
					}
					else{
						
						if(sideBarItems[i].op=="1"){
							
							/////OpenedDivImage:
								str+='<td class="sideOpenedDivImage">'
									/////side menu image:
									if(!isnull(OpenedDivImage))
										str+='<img src="'+OpenedDivImage.src+'"><br>'
								str+='</td>'
								str+='<td style="width:0px;"></td>'
							str+='</tr>'
							str+='<tr id="SBCont'+sideBarItems[i].id+'" style="display:;">'
							openedContainerId=sideBarItems[i].id
						}
						else{
							
							if(sideBarItems[i].ssd==1){
								
								/////OpenedDivImage:
									str+='<td class="sideOpenedDivImage">'
										if(!isnull(OpenedDivOff))
											str+='<img id="openedeDivImg'+sideBarItems[i].id+'" src="'+OpenedDivOff.src+'"><br>'
									str+='</td>'
									//str+='<td valign="top" class="sideDivContainer">'
									//	str+=_createSideMenuDivs(sideBarItems[i],sideBarLinks)	
									//str+='</td>'
								str+='</tr>'
							}
							else{
								/////OpenedDivImage:
									str+='<td class="sideOpenedDivImage"></td>'
									str+='<td valign="top"></td>'
								str+='</tr>'
							}
							str+='<tr id="SBCont'+sideBarItems[i].id+'" style="display:none;">'
						}
					}
					str+='<td colspan="5">'
						str+=_createSideMenus(sideBarItems[i],sideBarLinks)
					str+='</td>'
				str+='</tr>'	
				}
				else{
					/////OpenedDivImage:
						str+='<td class="sideOpenedDivImage">'
							/////side menu image:
							if(!isnull(OpenedDivImage) && ifParentOrSelf(sideBarItems[i],current_item))
								str+='<img src="'+OpenedDivImage.src+'"><br>'
						str+='</td>'
						str+='<td style="width:0px;"></td>'
					str+='</tr>'
				}
				/////vertical delimeter(tr):
				if(i!=(sideBarItems.length-1))
					str+='<tr class="sideMenuHorizDelim"><td colspan="5" class="sideMenuHorizDelim"></td></tr>'
			}
		str+='</table></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 imObjOff="",imObjOn="",imSrc=""
	try{
		var imObjOff=eval("imSdM"+id+"Off")
		var imObjOn=eval("imSdM"+id+"On")
	}catch(e){}
	
	var className=(level==1)?"sideBar":"sideBarLevel_1";
	var sideBarImg=(level==1)?SideBarImgOff:SideBarLinkImgOff
	try{
		imSrc=imObjOff.src
	}catch(e){imSrc="";}
	if(on){
		className=(level==1)?"sideBar_H":"sideBarLevel_1_H";
		sideBarImg=(level==1)?SideBarImgOn:SideBarLinkImgOn
		try{
			imSrc=imObjOn.src
		}catch(e){imSrc="";}
	}
	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);
	//alert(sideBarIm)
	if(!isnull(sideBarIm) && !isnull(imSrc))
		sideBarIm.src=imSrc
	var imSB=getRef("imSB"+id);
	if(!isnull(imSB))
		imSB.src=sideBarImg.src
	var openedeDivImg=getRef("openedeDivImg"+id)
	//alert(openedeDivImg)
	if(!isnull(openedeDivImg) && !isnull(OpenedDivOn) && level==1 && on)
		openedeDivImg.src=OpenedDivOn.src
	if(!isnull(openedeDivImg) && !isnull(OpenedDivLinkOn) && level==2 && on)
		openedeDivImg.src=OpenedDivLinkOn.src
	if(!isnull(openedeDivImg) && !isnull(OpenedDivOff) && level==1 && !on)
		openedeDivImg.src=OpenedDivOff.src
	if(!isnull(openedeDivImg) && !isnull(OpenedDivLinkOff) && level==2 && !on)
		openedeDivImg.src=OpenedDivLinkOff.src
}
function sideBarOnmouseDivs(id,on,path){
	var className="sideDivContainer";
	if(on) className="sideDivContainer_H";
	var trSB=getRef("trSBDiv"+id);
	if(!isnull(trSB))
		trSB.className=className
	var tdSB=getRef("tdSBDiv"+id);
	if(!isnull(tdSB))
		tdSB.className=className
	var sideBarIm=getRef("sideBarImgDiv"+id);
	if(!isnull(sideBarIm))
		sideBarIm.src=path
}
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 openCloseSideContainer(id){
	var container=getRef("sideMenuCont"+id);
	if(isnull(container)) return;
	if(container.style.display==''){
		container.style.display='none'
	}
	else{
		container.style.display=''
	}
}
/*
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 getSideBarMenus(){
	var menusArr=new Array();
	for(var x in sidemenus){
		if(sidemenus[x].menuSB==1)
			menusArr[menusArr.length]=sidemenus[x];
	}
	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
}