function getObjectLeft(obj) {
	var result = 0;
	while (obj) {
		result += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return result;
}

function getObjectTop(obj) {
	var result = 0;
	while (obj) {
		result += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return result;
}

function expandMainMenu(menu_name, item_id) {
	//try{
		if( _(menu_name).collapse != item_id && _(menu_name).collapse != null )
			collapseMainMenu(menu_name);
		_(menu_name).collapse = null;
		_(menu_name).current_id = item_id;
		_(menu_name + "_item_" + item_id).className = _(menu_name).css1 + ' ' + _(menu_name).css1a;
		if( _(menu_name + "_subitem_" + item_id) ) {
			var top=0;
			var left=0;
			_(menu_name + "_subitem_" + item_id).style.position = 'absolute';
			_(menu_name + "_subitem_" + item_id).style.height  = '';
			_(menu_name + "_subitem_" + item_id).style.display = 'block';
			if( _(menu_name).menu_type == "horizontal_bottom" ) {
				top=_(menu_name + "_item_" + item_id).offsetTop + _(menu_name + "_item_" + item_id).offsetHeight;
				left=_(menu_name + "_item_" + item_id).offsetLeft;
			}
			else if( _(menu_name).menu_type == "horizontal_top" ) {
				top=_(menu_name + "_item_" + item_id).offsetTop - _(menu_name + "_subitem_" + item_id).offsetHeight;
				left=_(menu_name + "_item_" + item_id).offsetLeft;
			} 
			else if( _(menu_name).menu_type == "vertical_left" ) {
				top=_(menu_name + "_item_" + item_id).offsetTop;
				left=_(menu_name + "_item_" + item_id).offsetLeft - _(menu_name + "_subitem_" + item_id).offsetWidth;
			} 
			else if( _(menu_name).menu_type == "vertical_right" ) {
				top=_(menu_name + "_item_" + item_id).offsetTop;
				left=_(menu_name + "_item_" + item_id).offsetLeft + _(menu_name + "_item_" + item_id).offsetWidth;
			} 
			else if( _(menu_name).menu_type == "two_rows" ) {
				top=_(menu_name + "_item_" + item_id).offsetTop + _(menu_name + "_item_" + item_id).offsetHeight;
			} 
			_(menu_name + "_subitem_" + item_id).style.left = left +'px';
			_(menu_name + "_subitem_" + item_id).style.top  = top +'px';
		} 
	//}
	//catch(e) {}		
}

function collapseMainMenu(menu_name) {
	//try{
		if( _(menu_name).collapse == null ) 
			return;
		item_id = _(menu_name).collapse;
		
		if( _(menu_name + "_item_" + item_id) != null ) {
			_(menu_name + "_item_" + item_id).className = _(menu_name).css1;
		}
			
		if( _(menu_name + "_subitem_" + item_id) != null ) {
			_(menu_name + "_subitem_" + item_id).style.display = 'none';
		}
		_(menu_name).collapse = null;
	//}
	//catch(e) { }		
}

function collapseMainMenuDelayed(menu_name, item_id) {
	_(menu_name).collapse = item_id;
	setTimeout("collapseMainMenu('" + menu_name + "')", 200);
}

function getSubitems(name) {
     var elem = document.getElementsByTagName('div');
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].id;
          if(att.indexOf(name) == 0 ) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
} 
function calculateSubmenuHeight(menu_name, item_id) {
	var parentHeight = 0;
	if( document.getElementById(menu_name + '_item_' + item_id) != null ) {
		var parentNode = document.getElementById(menu_name + '_item_' + item_id).parentNode;
		parentHeight = parentNode.offsetHeight;
	}
	var items = getSubitems(menu_name + '_item');
	var result = 0;
	
	for(var i = 0 ; i < items.length ; i ++ ) {
		result += items[i].offsetHeight;
	}
	var height = parentHeight-result;
	return height;
}

function hide_menu_subitem(menu_name, showing, hiding) {
	var hiding_subitem_id = _(menu_name).hiding;
	var showing_subitem_id = _(menu_name).showing;
	var step = Math.round((_(menu_name).expand_speed/100)*_(menu_name).submenu_height);
	var hiding_subitem = _(menu_name  + '_subitem_' + hiding_subitem_id);
	var showing_subitem = _(menu_name + '_subitem_' + showing_subitem_id);
	 
	if( hiding_subitem != null && hiding_subitem.offsetHeight > 0 ) {
		var new_height = (hiding_subitem.offsetHeight - step);
		if( new_height <= 0 ) {
			new_height = 0;
			_(menu_name).hiding = 0;
		}
		hiding_subitem.style.height = new_height + 'px';
	}
	else {
		_(menu_name).hiding = 0;
	}
	
	if( showing_subitem != null && showing_subitem.offsetHeight < _(menu_name).submenu_height ) {
		var new_height = (showing_subitem.offsetHeight + step);
		if( new_height >= _(menu_name).submenu_height ) {
			new_height = _(menu_name).submenu_height;
			_(menu_name).expanded_menu = _(menu_name).showing; 
			_(menu_name).showing = 0;
		}
		showing_subitem.style.height = new_height + 'px';
	}
	else {
		_(menu_name).showing = 0;
	}

	if( _(menu_name).showing != 0 || _(menu_name).hiding != 0 )
		_(menu_name).current_timer = setTimeout("hide_menu_subitem('" + menu_name +"', " + showing + ", " + hiding +" );", 5);
}

k=0;
function switchVertMenu(menu_name, item_id) {
	//try{		
		if(_(menu_name).submenu_height == undefined)
			_(menu_name).submenu_height = calculateSubmenuHeight(menu_name, item_id);

		var current_item_id = _(menu_name).current_id;
		var current_item    = _(menu_name + "_item_" + current_item_id);
		
		var new_item_id = item_id;
		var new_item    = _(menu_name + "_item_" + new_item_id);
		var new_subitem = _(menu_name + "_subitem_" + new_item_id);
		
		if( current_item != null && new_item_id != current_item_id ) {
			current_item.className = _(menu_name).css1;
		} 

		if( new_item != null && new_item_id != current_item_id) {
			new_item.className = _(menu_name).css1 + ' ' + _(menu_name).css1a;
		} 

		_(menu_name).current_id = new_item_id;
		
		if( (_(menu_name).showing == 0 && _(menu_name).hiding == 0) && new_item_id != _(menu_name).expanded_menu && new_subitem != null) {
			_(menu_name).showing = new_item_id;
			_(menu_name).hiding  = _(menu_name).expanded_menu;
			hide_menu_subitem(menu_name);
		}
	//}
	//catch(e) {alert(e.message)}
}

