var rollover_timeout =400;
var MSIE = navigator.userAgent.indexOf('MSIE')>0 && navigator.userAgent.indexOf('Opera')<=0;

var OPERA =  navigator.userAgent.indexOf('Opera')>0;
var rollover_objects = Array();  //  tells whether is DIV showed or not  
var rollover_object_list = Array();  //  take an list of used DIVs container
var rollover_show_right = true;   // whether submenu shows on left side or down
var xxx=0;
function my_alert(text) {
	var obj = null;
	if (obj = document.getElementById('alertwnd')) {
		obj.innerHTML=text;
	}
} 
function getOffsetLeft(object) {
	var left = 0;
	while (object && object.nodeName!='BODY') {
		if ( object.nodeName!="TBODY" && object.nodeName!="TR") left+=object.offsetLeft;
		object = object.parentNode;
	}
	return left;
}
function getOffsetTop(object) {
	var top = 0;
	while (object && object.nodeName!='BODY') {
		if ( object.nodeName!="TBODY" && object.nodeName!="TR") top+=object.offsetTop;
		object = object.parentNode;
	}
	return top;
}
function rollover_show_menu_block(rollover_block_id) {
	var use_getxy = false;
	var obj = null;
	if (obj = document.getElementById(rollover_block_id)) {
		var menu_left = 0;
		var menu_top = 0;
		show_right = true;
		parentObj =  obj.parentNode;
		if (MSIE)
			if (parentDIV = parentObj.parentNode) 
				if (parentDIV = parentDIV.parentNode) 
					if ((parentDIV.className == 'rollover_menu') && (parentDIV.style.position != 'absolute')) {
						menu_top = parentDIV.offsetTop;
						menu_left = parentDIV.offsetLeft;
						if (!rollover_show_right) show_right=false;
					}
		
		if (parentDIV = parentObj.parentNode) 
			if (parentDIV = parentDIV.parentNode) 
				if (parentDIV.className == 'rollover_menu') use_getxy = true;
		if (show_right) {
			my_alert(use_getxy);
			obj.style.left =  (use_getxy?getOffsetLeft(parentObj):parentObj.offsetLeft) + parentObj.offsetWidth; // + parentObj.offsetLeft;//  ;//+;// + menu_left;
			obj.style.top = use_getxy?getOffsetTop(parentObj):parentObj.offsetTop;//+ menu_top;
		}
		else {
			obj.style.left = getOffsetLeft(parentObj) + menu_left;
			obj.style.top = getOffsetTop(parentObj) + parentObj.offsetHeight + menu_top;
		}
		obj.style.display = 'block';
		//alert(parentObj.nodeName);
		rollover_objects[obj.id] = true;
	}
}


function rollover_get_DIV_children(object) {
	var tmpobjects = Array();
	if (!object) return tmpobjects;
	if (object.nodeName=='DIV') {
		if (MSIE) obj=object.childNodes[0];
		else obj=object.childNodes[1];
	}
	if (object.nodeName=='UL') {
		i=0;
		while (object.childNodes[i]) {
			if (object.childNodes[i]=='LI'){
				if (MSIE) {
					 if (object.childNodes[i].childNodes[0].nodeName=='DIV') tmpobjects[tmpobjects.length]=object.childNodes[i].childNodes[0];
				}
				else {
					 if (object.childNodes[i].childNodes[1].nodeName=='DIV')  tmpobjects[tmpobjects.length]=object.childNodes[i].childNodes[1];
				}
			}
			i++;
		}
	}
	else if (object.nodeName=='LI') {
		if (MSIE) {
			if (object.childNodes[0].nodeName=='DIV') tmpobjects[tmpobjects.length]=object.childNodes[0];
		}
		else {
			if (object.childNodes[1])
				if (object.childNodes[1].nodeName=='DIV') tmpobjects[tmpobjects.length]=object.childNodes[1];
			
		}
	}
	return tmpobjects;
}
function rollover_hide_children(object,now_hide) {
	children = rollover_get_DIV_children(object);
	for(i=0;i<children.length;i++) {
		rollover_objects[children[i].id] = false;
		if (now_hide) children[i].style.display = 'none';
		rollover_hide_children(children[i],now_hide);
	}
}
function rollover_hide_menu_block(rollover_block_id, object) {
	var obj = null;
	if (obj = document.getElementById(rollover_block_id)) {
		rollover_set_showed (rollover_block_id, false);
		
		rollover_hide_children(object,false);
		
		window.setTimeout("rollover_hide_menu()", rollover_timeout);
	}
}
function rollover_hide_menu() {
	var tmp = "";
	
	for(i=0;i<rollover_object_list.length;i++) {
		
		if (!rollover_objects[rollover_object_list[i]])  {
			//document.getElementById(rollover_object_list[i]).style.border = '1px solid RED';
			document.getElementById(rollover_object_list[i]).style.visibility = 'hidden';
			document.getElementById(rollover_object_list[i]).style.display = 'none';
		}
		else {
			//document.getElementById(rollover_object_list[i]).style.	border = '1px solid navy';
			document.getElementById(rollover_object_list[i]).style.visibility = 'visible';
			document.getElementById(rollover_object_list[i]).style.display = 'block';
		}
		tmp += document.getElementById(rollover_object_list[i]).style.display+"("+document.getElementById(rollover_object_list[i]).id+", "+document.getElementById(rollover_object_list[i]).style.borderColor+") <br> "
	}
}
function rollover_set_showed (rollover_block_id, showed ) {
	
	var obj = null;
	if (obj = document.getElementById(rollover_block_id)) {
		rollover_objects[rollover_block_id] = showed?true:false;
		parentObj = obj;
		while (parentObj = parentObj.parentNode) {
			if (parentObj.nodeName=='DIV') rollover_objects[parentObj.id] =  showed?true:false;
		}		
	}
}