/* обслуживание функционального меню */
var timers = new Array();
function menuLinkOver(menuID) {
	setMenuVisibility(menuID, "visible");
	var currLink = event.srcElement;
	var menu = document.getElementById(menuID);
	menu.style.top = offset_Y(currLink)+20
	menu.style.left = offset_X(currLink)-10
}
function menuLinkOut(menuID) {
	timers[menuID] = setTimeout("setMenuVisibility('" + menuID +"', '')", 100)
}
function menuOver(menuDiv) {
	if (timers[menuDiv.id]) clearTimeout(timers[menuDiv.id]);
	timers[menuDiv.id] = 0;
}
function menuOut(menuDiv) {
	timers[menuDiv.id] = setTimeout("setMenuVisibility('" + menuDiv.id +"', '')", 100)
}
function setMenuVisibility(menuID, visibility) {
	var div = document.getElementById(menuID);
	div.style.visibility = visibility;			
}
/* обслуживание контекстного меню */
function contextMenuPopup(menuID,ures_param) {
	/* значение ures_param присваивается одноименному свойству объекта меню */
	event.returnValue=false
	event.cancleBubble=true
	setMenuVisibility(menuID, "visible");
	var menu = document.getElementById(menuID);
	menu.srcElement = event.srcElement;
	if (ures_param) {menu.ures_param=ures_param}
	menu.style.pixelTop = event.clientY + document.body.scrollTop
	menu.style.pixelLeft = event.clientX + document.body.scrollLeft
	return false
}

/* обслуживание левого меню */
var menu_active
function lmenu_switch(el) {
	var tb=el
	while (tb && tb.tagName != 'TBODY') {tb=tb.parentElement}
	if (tb.className == 'lmenu_expanded') {tb.className='lmenu_collapsed'} else {tb.className = 'lmenu_expanded'}
	store_page_state()
}
function lmenu_supress() {
	/* гашение выделения левого меню */
	if (menu_active && left_menu.all[menu_active]) {
		left_menu.all[menu_active].className='lmenu2'
		menu_active=false
	}
	store_page_state()
}
function lmenu_select(el) {
	if (menu_active && left_menu.all[menu_active]) {
		left_menu.all[menu_active].className='lmenu2'
	}
	var tr=el
	while (tr && tr.tagName != 'TR') {tr=tr.parentElement}
	tr.className='lmenu2a'
	menu_active=tr.id
	store_page_state()
}

function store_page_state (){
	var tbodies=left_menu.getElementsByTagName("TBODY")
	var cla=new Array;
	for (var i=0; i<tbodies.length; i++) {
		cla.push(tbodies[i].id+":'"+tbodies[i].className+"'")
	}
	var s="{'menu_expanded':{"+cla.join(",")+"}"
	if (menu_active) {
		s+=",'menu_active':'"+menu_active+"'"
	}
	s+='}'
	setCookie('tsvpk_page',s,false,'/')
}

function restore_page_state (st){
	var page_state
	if (st) {
		page_state=st
	} else {
		page_state=getCookie('tsvpk_page')
	}
	if (page_state) {
try {
	var b
	eval("b="+page_state)
	if (b['menu_active']) {
		menu_active=b['menu_active']
		if (left_menu.all[menu_active]) left_menu.all[menu_active].className='lmenu2a'
	}
	if (b['menu_expanded']) {
		var m=b['menu_expanded']
		for (var i in m) {
			left_menu.all[i].className=m[i]
		}
	}
} catch(e) {
//		alert("Ошибка в содержимом cookie "+page_state)
}
	}
}

/* обслуживание левого меню. OBSOLETE */

var lmenu_state=''
var lmenu_active=''
function menu_expand(msp) {
		sm=left_menu.all[msp.submenu]
		img=left_menu.all['i'+msp.submenu]
		if (sm.style.display=='none') {
			sm.style.display=''
			img.src='img/minus.gif'
		} else {
			sm.style.display='none'
			img.src='img/plus.gif'
		}
		lmenu_state='';
		var mt=left_menu.all
		for (var i in mt) {
			if (mt[i].submenu) {
				if (mt[mt[i].submenu].style.display=='none') {
					lmenu_state=lmenu_state+':'+mt[i].submenu+'+'
				} else {
					lmenu_state=lmenu_state+':'+mt[i].submenu+'-'
				}
			}
		}
		if (lmenu_state) {
			setCookie('tsvpk_lmenu',lmenu_state,false,'/')
		} else {
			setCookie('tsvpk_lmenu',':',false,'/')
		}
}
function menu_hide() {
	lmenu_state=getCookie('tsvpk_lmenu')
	if (lmenu_state) {
		var hm=lmenu_state.split(':')
		for (var i in hm) {
			if (hm[i]) {
				var hn=hm[i].substr(0,hm[i].length-1)
				if (hm[i].substr(hm[i].length-1,1) == '-') {
					if (left_menu.all['i'+hn]) {
						left_menu.all['i'+hn].src='img/minus.gif'
					}
					if (left_menu.all[hn]) {
						left_menu.all[hn].style.display=''
					}
				} else {
					if (left_menu.all['i'+hn]) {
						left_menu.all['i'+hn].src='img/plus.gif'
					}
					if (left_menu.all[hn]) {
						left_menu.all[hn].style.display='none'
					}
				}
			}
		}
	}
}
	
function menu_highlightOff() {
	setCookie('tsvpk_mstate','',false,'/')
}
function menu_highlight(el) {
	var mss=getCookie('tsvpk_mstate')
	var ms
	if (mss) {
		ms=mss.split(':')
	} else {
		ms=[]
		if (el) {
			ms.push('a'+el.id)
		}
	}
	for (var i in ms) {
		if (ms[i].substr(0,1) == 'a') {
			if (el) {
				if (ms[i].substr(1)==el.id) {
					// активый пункт не изменился
					break
				} else {
					// гасим активный пункт
					document.all[ms[i].substr(1)].style.color=''
					// сохраняем вместо старого
					ms[i]='a'+el.id
					break
				}
			} else {
				document.all[ms[i].substr(1)].style.color='red'
				return
			}
		}
	}
	if (el) {
		el.style.color='red'
		setCookie('tsvpk_mstate',ms.join(':'),false,'/')
	}
}


