
///////////////////////////////////////////////////////////////
// add properties
//		className
//		cursor
//		onclick
//		onmouseover
//		onmouseout
//		label(image or text)
// to menus objects (for MAX_DEPTH levels) before HTML building
function addDinamicPropertiesToMenuObjects(obj){
	//init:
	var imObj;
	try{
		if(obj.showImg==1) imObj=eval("imUpM"+obj.id+"Off");
		
	}catch(e){}
	obj.cursor="hand"
	obj.onmouseover="showUpperMenuDiv("+obj.id+");onClassName("+obj.id+")"
	obj.onmouseout="hideUpperMenuDiv("+obj.id+");offClassName("+obj.id+")"
	obj.onclick=obj.fnc
	obj.className=menuClasses[obj.dpt]
	//case 1 : not active:
	if(obj.act!=1){
		obj.cursor="default"
		obj.onmouseover="onClassName("+obj.id+")"
		obj.onmouseout="offClassName("+obj.id+")"
		obj.onclick=""
	}
	//case 2 : is current:
	if(ifCurrent(obj)){
		if(obj.act==1){
			obj.cursor=(_existDoc)?"hand":"default";
			obj.onclick=(_existDoc)?obj.onclick:"";
		}
		obj.className=menuClasses[obj.dpt]+"_S"
		obj.onmouseover=(obj.act==1)?"showUpperMenuDiv("+obj.id+")":""
		obj.onmouseout=(obj.act==1)?"hideUpperMenuDiv("+obj.id+")":""
		try{
			if(obj.showImg==1) imObj=eval("imUpM"+obj.id+"On");
		}catch(e){}
	}
	else{
	//case 3 : is parent:
		if(ifParentOfCurrent(obj)){
			obj.className=menuClasses[obj.dpt]+"_H"
			obj.onmouseover=(obj.act==1)?"showUpperMenuDiv("+obj.id+")":""
			obj.onmouseout=(obj.act==1)?"hideUpperMenuDiv("+obj.id+")":""
			try{
				if(obj.showImg==1) imObj=eval("imUpM"+obj.id+"On");
			}catch(e){}
		}
	}
	if(!isnull(imObj) && !isnull(imObj.src) && obj.showImg==1){
		obj.label="<img id='contImg"+obj.id+"' "
		obj.label+="src='"+imObj.src+"' "
		obj.label+="width='"+imObj.width+"' "
		obj.label+="height='"+imObj.height+"' border='0'>"
	}
	else{
		obj.label=obj.txt.replace(/\&amp;\#34;/g,"\"").replace(/\&amp;\#39;/g,"\'");
	}
	obj.href=getHrefFromOnclick(obj.onclick)
	obj.target=getTargetFromOnclick(obj.onclick)
}
///////////////////////////////////////////////////////////////
//main function for build upper menus HTML:
function createUpperMenus(){
	
	//build div that contain sub-menus:
	//addDinamicPropertiesToMenuObjects()
	function _createMenusDiv(menu){
		if((Number(menu.dpt)+1)>=MAX_DEPTH) return;
		var subMenus=getSubUppMenus(menu)
		if(isnull(subMenus) || subMenus.length==0) return "";
		var s=""
		s+="<div id='contDiv"+menu.id+"' style='z-index:100;position:absolute;display:none; "
		s+="width:"+getWidth(subMenus,0)+";' "
		s+="class='"+containerDivClass+(subMenus[0].dpt>1?"_Lev"+(subMenus[0].dpt+1):"")+"' "
		s+=">"
				s+="<table dir='"+dir+"' id='contTable"+menu.id+"' cellpadding='0' cellspacing='0' width='100%' border='0' class='upperSubMenu'>"
				for(var i=0;i<subMenus.length;i++){
					addDinamicPropertiesToMenuObjects(subMenus[i])
					s+="<tr "
					s+="class='"+subMenus[i].className+"' "
					s+="onmouseover='"+subMenus[i].onmouseover+"' "
					s+="onmouseout='"+subMenus[i].onmouseout+"' "
					s+=">"
						s+="<td width='100%' style='width:100%;' nowrap='"+NOWRAP+"'"
						s+="class='"+subMenus[i].className+"' "
						s+="title='"+(!isnull(subMenus[i].hnt)?subMenus[i].hnt:"")+"' "
						s+="align='"+align+"' "
						s+=">"
							s+="<a id='contText"+subMenus[i].id+"' "
							s+=" href='"+subMenus[i].href+"' "+subMenus[i].target+" "
							s+="class='"+subMenus[i].className+"' "
							s+="style='cursor:"+subMenus[i].cursor+";' " 
							s+="align='"+align+"' "
							s+=">"
								s+=subMenus[i].label	
							s+="</a>"
						s+="</td>"
						if((Number(subMenus[i].dpt)+1)<MAX_DEPTH){
							//Reqursive build of menu levels
							s+="<td valign='top' width='0' style='font-size:0px;width:0px;' >"
								s+=_createMenusDiv(subMenus[i])
							s+="</td>"
						}
					s+="</tr>"
					if(i!=(subMenus.length-1)){
						s+="<tr colspan='"+(((subMenus[i].dpt+1)<MAX_DEPTH)?2:1)+"' class='"+horizDelimClass+(subMenus[0].dpt>1?"_Lev"+(subMenus[0].dpt+1):"")+"'>"
						s+="<td class='"+horizDelimClass+(subMenus[0].dpt>1?"_Lev"+(subMenus[0].dpt+1):"")+"'></td>"
						s+="</tr>";
					}
				}
				s+="</table>"
		s+="</div>"
		return s;
	}
	var menusItems=getSubUppMenus();
	if(isnull(menusItems) || menusItems.length==0){
		dbgL("upper menu : 0 items found")
		return;
	}
	var s=""
	try{
			s+="<table id='upperMenus' name='upperMenus' cellpadding='0' cellspacing='0' width='100%' border='0' class='upperMenu'>"
				s+="<tr class='upperMenu'>"
					for(var i=0;i<menusItems.length;i++){
						addDinamicPropertiesToMenuObjects(menusItems[i])
						s+="<td class='"+menusItems[i].className+"' valign='top' "
						s+="onmouseover='"+menusItems[i].onmouseover+"' "
						s+="onmouseout='"+menusItems[i].onmouseout+"' "
						s+="title='"+(!isnull(menusItems[i].hnt)?menusItems[i].hnt:"")+"' "
						s+="id='tdCont"+menusItems[i].id+"' nowrap='nowrap' "
						s+="style='direction:"+dir+"' "
						s+=">"
								s+="<a id='contText"+menusItems[i].id+"' nowrap='nowrap' align='center' "
								s+=" href='"+menusItems[i].href+"' "+menusItems[i].target+" "
								s+=" class='"+menusItems[i].className+"' "
								s+=" style='height:100%;cursor:"+menusItems[i].cursor+";' " 
								s+=">"
									s+=menusItems[i].label
								s+="</a><br>"
								s+=_createMenusDiv(menusItems[i])
						s+="</td>"
						if(i!=(menusItems.length-1)){
							s+="<td class='"+vertDelimClass+(menusItems[0].dpt>1?"_Lev"+menusItems[0].dpt:"")+"'></td>";
						}
					}
					s+="</tr>"
			s+="</table>"
		dbgL("upper menu created ...")
		document.write(s)
	}
	catch(e){
		dbgE("upper menu creating error : \n"+e.description)
	}
}