var nver,
    ver,
    agent,
    dom,
    opera,
    ie5,
    ie6,
    ie7,
    ie8,
    ie4,
    ie,
    mac,
    ns6,
    ie3,
    hotjava,
    ns4,
    bw,
    ver3,
    opera7,
    opera8,
    opera9,
    operaOld,
    root_id='';
    root_new_class='menu_punkt_selected',
    root_old_class='menu_punkt';
    tree_id='';
    tree_new_class='submenu_punkt',
    tree_old_class='submenu_punkt_selected';
var HideMenuTimer = null;
var InMenu=0;
var stack=[];
var is_major=parseInt(navigator.appVersion);
    nver=is_major;
    ver=navigator.appVersion;
    agent=navigator.userAgent;
    dom=document.getElementById?1:0;
    opera=window.opera?1:0;
    ie5=(ver.indexOf("MSIE 5")>-1&&dom&&!opera)?1:0;
    ie6=(ver.indexOf("MSIE 6")>-1&&dom&&!opera)?1:0;
    ie7=(ver.indexOf("MSIE 7")>-1&&dom&&!opera)?1:0;
    ie8=(ver.indexOf("MSIE 8")>-1&&dom&&!opera)?1:0;
    ie4=(document.all&&!dom&&!opera)?1:0;
    ie=ie4||ie5||ie6||ie7||ie8;
    mac=agent.indexOf("Mac")>-1;
    ns6=(dom&&parseInt(ver)>=5)?1:0;
    ie3=(ver.indexOf("MSIE")&&(is_major<4));
    hotjava=(agent.toLowerCase().indexOf('hotjava')!=-1)?1:0;
    ns4=(document.layers&&!dom&&!hotjava)?1:0;
    bw=(ie6||ie7||ie8||ie5||ie4||ns4||ns6||opera);
    ver3=(hotjava||ie3);
    opera7=((agent.toLowerCase().indexOf('opera 7')>-1) || (agent.toLowerCase().indexOf('opera/7')>-1));
    opera8=((agent.toLowerCase().indexOf('opera 8')>-1) || (agent.toLowerCase().indexOf('opera/8')>-1));
    opera9=((agent.toLowerCase().indexOf('opera 9')>-1) || (agent.toLowerCase().indexOf('opera/9')>-1));
    operaOld=opera&&!opera7&&!opera8&&!opera9;
function get_obj(name){return ns4?document.layers[name]:document.all?document.all[name]:document.getElementById(name);}
function visDiv(d,s){
	if (ns4) {
		d.visibility=s?'show':'hide';
	} else {
		d.style.visibility=s?'visible':'hidden';
	} 
}
function moveTo(div, x, y){	
	if(ns4){
		div.moveTo(x,y);
	}else{
		div.style.left=x;
		div.style.top=y;
	}
}
function showDiv(DivName,x,y,o,vdir,hdir)
{
	var div=get_obj(DivName);
	if (!div) return;
	var obj=document.images[o] || document.links[o] || document.anchors[o] || get_obj(o);
	var nx=moveXbySlicePos(x,obj);
	var ny=moveYbySlicePos(y,obj);
	if (vdir=='up')
		ny=ny-div.offsetHeight;
	if (obj && hdir=='right')
		nx=nx+obj.offsetWidth;
	moveTo(div, nx, ny)
	visDiv(div,1);
}
function moveXbySlicePos (x, img) {
	if (!document.layers) {
		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		var par = img;
		var lastOffset = 0;
		while(par){
			if( par.leftMargin && ! onWindows ) x += parseInt(par.leftMargin);
			if( (par.offsetLeft != lastOffset) && par.offsetLeft ) x += parseInt(par.offsetLeft);
			if( par.offsetLeft != 0 ) lastOffset = par.offsetLeft;
			par = macIE45 ? par.parentElement : par.offsetParent;
		}
	} else if (img.x) x += img.x;
	return x;
}
function moveYbySlicePos (y, img) {
	if(!document.layers) {
		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		var par = img;
		var lastOffset = 0;
		while(par){
			if( par.topMargin && !onWindows ) y += parseInt(par.topMargin);
			if( (par.offsetTop != lastOffset) && par.offsetTop ) y += parseInt(par.offsetTop);
			if( par.offsetTop != 0 ) lastOffset = par.offsetTop;
			par = macIE45 ? par.parentElement : par.offsetParent;
		}		
	} else if (img.y >= 0) y += img.y;
	return y;
}
function StartTimeOut(){
	InMenu=0; 
	HideMenuTimer = setTimeout("HideMenu()",300);
}
function StopTimeOut(){	
	InMenu=1; 
	if (HideMenuTimer) clearTimeout(HideMenuTimer); 
	HideMenuTimer = null;
}
function ShowMenu(div,el,x,y,v_direction,h_direction){ 
	HideMenu(); 
	InMenu=1; 
	StopTimeOut(); 
	SetActivePassiveRootMenu(el);
	showDiv(div,x,y,el,v_direction,h_direction);
	if (div.indexOf("ctitems")==-1 && get_obj(div))
		HideSelect();
	registerDiv(div);
}
function ShowSubMenu(parent_div,div,el,x,y,v_direction,h_direction){ 
	HideMenu();
	var p_div=get_obj(parent_div);
	if (p_div) {
		visDiv(p_div,1);
		registerDiv(parent_div);
	}
	InMenu=1; 
	StopTimeOut(); 
	SetActivePassiveRootMenu(root_id);
	showDiv(div,x,y,el,v_direction,h_direction);
	HideSelect();
	registerDiv(div);
}
function registerDiv(DivName){
	var div=get_obj(DivName);
	if (div) stack[stack.length]=div;
}
function HideMenu(){
	if (InMenu==0) {
		for (var i=0; i<stack.length; i++)
			visDiv(stack[i],0);
		stack.length=0;
		ShowSelect();
		ClearActivePassiveRootMenu();
	}
}
function preload(){
	var args = preload.arguments;document.imageArray = new Array(args.length); 
	for(var i=0; i<args.length; i++){
		document.imageArray[i] = new Image;document.imageArray[i].src = args[i];
	}
}
function ShowSelect(){
	var obj=get_obj('groupselect');
	if (obj)
		visDiv(obj,1);
}
function HideSelect(){
	var obj=get_obj('groupselect');
	if (obj)
		visDiv(obj,0);
}
function SetActivePassiveRootMenu(id){
	var obj=get_obj(id);
	if(id!='' && id!='undefined' && id!='NaN') root_id=id;
	if(obj){
		//if(root_old_class==''){
			//root_old_class=obj.className;
			obj.className=root_new_class;
		//}
	}
}
function ClearActivePassiveRootMenu(){
	var obj=get_obj(root_id);
	if(obj){
		obj.className=root_old_class;
		//root_old_class='';
		//root_id='';
	}/*else{
		var obj=get_obj(id);
		if(){
			if(root_old_class!=''){
				obj.className=root_old_class;
			}
		}
	}*/
	
}
function SetActivePassiveTreeMenu(id){
	var obj=get_obj(id);
	if(id!='' && id!='undefined' && id!='NaN') tree_id=id;
	if(obj){
		obj.className=tree_new_class;
	}
}
function ClearActivePassiveTreeMenu(){
	var obj=get_obj(tree_id);
	if(obj){
		obj.className=tree_old_class;
	}
}
function show_subm(m,vis) {
	if (vis==1) {
		reg_vis      = "visible";
	} else {
		reg_vis      = "hidden";
	}
	var link_list = document.links;
	for (var i=0; i<link_list.length; i++){
		id_elem = link_list[i];          //массив ссылок на документе
		id_div  = id_elem.parentNode.id; //это непосредственный родитель, т.е., DIV, в котором эта ссылка
		if (id_div!="") {
			id_papa = document.getElementById(id_div).parentNode.id; //это дедушка, т.е., родитель родителя
			if (id_papa==m.id) { //папа DIV'а, в котором расположена эта ссылка, совпадает с выбранным элементом меню, эначит, её и показываем/прячем
				document.getElementById(id_div).style.visibility=reg_vis;
			}
		}
	}
}

