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;			
			if (object.className=='ro_block') return left;
			//window.alert(object.nodeName + ' / ' + object.className + ' / ' + 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;
			if (object.className=='ro_block') return top;
		}
		object = object.parentNode;
	}
	return top;
}
function ro_show(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;
		parentObj =  obj.parentNode;
		show_right = true; 
		
		if (parentDIV = parentObj.parentNode) 
			if (parentDIV = parentDIV.parentNode) 
				if (parentDIV.className == 'ro_main') {
					use_getxy = true;
					show_right = rollover_show_right;
				}
		use_getxy = MSIE;
		if (show_right) {
			obj.style.left = (use_getxy?getOffsetLeft(parentObj):parentObj.offsetLeft) + parentObj.offsetWidth-30; // + parentObj.offsetLeft;//  ;//+;// + menu_left;
			obj.style.top = (use_getxy?getOffsetTop(parentObj):parentObj.offsetTop)+5;//+ menu_top;
		}
		else {			
			obj.style.left = (use_getxy?getOffsetLeft(parentObj):parentObj.offsetLeft) ; // + parentObj.offsetLeft;//  ;//+;// + menu_left;
			obj.style.top = (use_getxy?getOffsetTop(parentObj):parentObj.offsetTop) + parentObj.offsetHeight;
		}
		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 ro_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';
		ro_hide_children(children[i],now_hide);
	}
}
function ro_hide_block(rollover_block_id, object) {
	var obj = null;
	if (obj = document.getElementById(rollover_block_id)) {
		ro_set_showed (rollover_block_id, false);
		
		ro_hide_children(object,false);
		
		window.setTimeout("ro_hide()", rollover_timeout);
	}
}
function ro_hide() {
	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 ro_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;
		}		
	}
}