	var timeout = new Array(4);
	var flag = new Array(4);
	var obj =  new Array(3);

	var eoldids = new Array();
	var papers = new Array();	
	
	function getBrowseTypeShift(){
		var br = navigator.appName;
		if ( br == 'Netscape' ){
			return 170;
		}else{
			return 160;
		}
	}	
// криво работает в файрфоксе
//	var shift_x = getBrowseTypeShift();
	var shift_x = 160;
	function menuOver(item) {
		item.firstChild.style.backgroundColor='#D5D4BA';
	}

	function menuOut(item) {
		item.firstChild.style.backgroundColor='#EEEDD8';
	}

	function menuShow(item,id, x, y) {
		menu = document.getElementById(id);
		controlWinObj('regions','regionSpare',0,menu);
		controlWinObj('branchs','branchSpare',0,menu);
		var hs = document.body.clientHeight;
		var hy = menu.parentNode.offsetTop -  document.body.scrollTop;
		var hm = menu.offsetHeight;
		var shift_y = 0;
		y = (!y)? 1: y;
		x = (!x)? shift_x : x;
		if ( hs-hy < hm ){ shift_y = (hm+hy)-hs; }
		menu.style.left = x;
		menu.style.top = y-shift_y;
		menu.style.visibility = 'visible';
		menuOver(item);
                if ( timeout[3] != null ) {
                        clearInterval( timeout[3] );
                }
		
	}
	
	function menuHide(item, id) {
		menu = document.getElementById(id);
		menu.style.visibility = 'hidden';
		menuOut(item);
		if (!flag[3]){
			timeout[3] = setTimeout("check_isopen()", 100);
		}
	}
	
	function subMenuShow(item, i) {
		menu = item;
		flag[i] = true;
		if ( i-1 == 1 ) { flag[i-1] = true  }
		menu.style.visibility = 'visible';
		item =  item.parentNode;
		menuOver(item);
		if ( timeout[i] != null ) {
			clearInterval( timeout[i] );
		}
		if ( timeout[3] != null ) {
			clearInterval( timeout[3] );
		}
		window.event.cancelBubble = true;
	}
	function subMenuHideReal(i) {
		if (!flag[i]){
			obj[i].style.visibility = 'hidden';
			menuOut(obj[i].parentNode);
			if ( i > 1 ){ 
				if ( flag[1] != 'true' && flag[2] !='true'  ){
					var k = i-1;
					flag[k] = false;
					timeout[k] = setTimeout("subMenuHideReal("+k+")", 1000);
					timeout[3] = setTimeout("check_isopen()", 1000);
				}  
			}
		}
		clearInterval( timeout[i] );
	}
	

	function subMenuHide(item, i) {
		flag[i] = false;
		if ( timeout[i] != null ) {
			clearInterval( timeout[i] );
		}
		window.event.cancelBubble = true;
		obj[i] = item;
                timeout[i] = setTimeout("subMenuHideReal("+i+")", 0);
                timeout[3] = setTimeout("check_isopen()", 1000);
        }

	function controlWinObj (name,em, flag,menu){
		win = document.getElementById(name);
		div = document.getElementById(em);
		if (!win || !div) return false;
		if (win){	
			// Если надо спрятать
			if (flag==1) {
				flag[3] = 0;
				div_control(win,div,1);
				return false;
			}else{
				flag[3] = 1;
			}
			if (win.style.display != 'none'){	
				st = win.offsetTop;	   		//верхняя граница дива с select
				sb = st + win.offsetHeight;	 	//нижняя граница дива с select
				dt = menu.parentNode.offsetTop; 	//верхняя граница меню
				db = dt + menu.offsetHeight; 		//нижняя граница меню
				//alert('select Y: '+st+'H:'+sb+"\n"+' menu Y:'+dt+'H:'+db);	
				//alert('test = '+dt+' < '+sb+' &&  '+db+' > '+st);
				if (menu.parentNode.offsetHeight && ( dt < sb && db > st ) ){
					div_control(win,div,0)
				}
			}
		}
	}
	
	function check_isopen (){
		var f=0;
                for (i=0; i < flag.length ; i++){
                        f = (flag[i])? f+1 : f;
                }
                //Если все меню закрыты то возвращаем select обратно
                if (!f) {
			 controlWinObj('regions','regionSpare',1);
			 controlWinObj('branchs','branchSpare',1);
		}
	} 
	function div_control (win, div, flag){
		win.style.display = (flag)? 'block' : 'none';
                div.style.display = (flag)? 'none' : 'block';
	}

        function safe_refresh(page) {
                var url=document.location.href;
                var pos=url.indexOf('#');
                if (pos!=-1) url=url.substring(0,url.indexOf('#'));
                if (page=='first' && url.indexOf('?')==-1) url=url+'?/';
                if ( document.body.scrollHeight > 0 ) url=url+'#'+(document.body.scrollHeight-document.body.scrollTop);
                document.location.replace(url);
                if (page!='first' || pos!=-1) document.location.reload();
        }
        function restore_pos(page) {
//                setTimeout( 'safe_refresh("'+page+'");', 300000 );
                var pos = document.location.hash.replace(/#/, '');
                if ( pos != null && pos > 0 ) {
                        document.body.scrollTop = document.body.scrollHeight - pos;
                }
        }

        // Отмечает указанным классом ячейку с нужным содержимым,
        // в таблице выбранной по id
        function mark_day (m, d, stl){
                // находим таблицу
                var obj = document.getElementById("mon_"+m);
		if (!obj){ return false; }
                //alert(obj.nodeName);
                // Находим tBody
                var br = ( obj.childNodes.length == 2 ) ? 1 : 0;
                obj = obj.childNodes[br];
                for ( i=0; i<obj.childNodes.length; i++ ){
                        if ( obj.childNodes[i].nodeName == 'TR' ){
                                tr = obj.childNodes[i];
                                for (m=0; m<tr.childNodes.length; m++){
                                        var ob = tr.childNodes[m];
                                        if ( ob.tagName != 'TD' )
                                                continue;
                                        if ( ob.innerHTML.match(/^\D/) ){
                                                ob = ob.childNodes[0];
                                        }
                                        if (ob.innerHTML == d ){
                                                tr.childNodes[m].className = tr.childNodes[m].className+' '+stl;
                                        }
                                }
                        }
                }

        }

	function render () {
		if (document.getElementById("tools")) {
			var tools = document.getElementById("tools");
			var content = document.getElementById("pageContent");
			var shift = tools.offsetHeight - 113;

			if (shift > content.offsetHeight) {
				content.style.height = shift;
			}
			//else {
			//	content.style.height = "";
			//}
		}
	}

	function allCheck(what, name) {
		var coll = document.frm.elements;
		for (i=0; i<coll.length; i++) {
			if (coll[i].type == "checkbox" && coll[i].name == name) {
				coll[i].checked = what.checked;
			}
		}
	}

	// Показываем меню с id menuExch
	// закомментировано 28.05.08. Баг 14240.
        function tmpMenuShow(f){
                /*var delay = 2000; // 2 сек
                var m = document.getElementById('menuExch');
				
		if (!m) return;

		if ( window.navigator.appVersion && !window.navigator.appVersion.match(/MSIE\s+5\.0/) ) {
                	if (f){
                        	//скрываем его
	                        m.fireEvent('onMouseOut');
        	        }else{
                	        // показываем меню
                        	m.fireEvent('onMouseOver');
	                        setTimeout("tmpMenuShow(1)", delay);
        	        }
		}*/
        }

