function showPosition(id){
	position = document.getElementById(id);
	if (position.tagName=='TD') {
		position.style.display='table-cell';
	} else {
		position.style.display='block';
	}
}

var menuIndex = -1;
var menus = new Array();

function createMenu(openRight){
	
	if (!currentMenuId) {
		return;
	} else {
		menus[++menuIndex] = new DynamicMenu('menu_'+currentMenuId,menuIndex,openRight);
		delete currentMenuId;
	}
}


function DynamicMenu(menuId,menuIndex,openRight){
	
	
	var interval=null;
	var menuIndex=menuIndex;
	
	this.menu = document.getElementById(menuId);

	this.menu.id='menu_'+menuIndex;

	this.buttons = this.menu.childNodes;
	var children = new Array();
	
	var submenusWidth = new Array();
	
	for (var i=0;i<this.buttons.length;i++){
		if (!isNaN(this.buttons[i].id) && this.buttons[i].id>0 ){
			children.push(this.buttons[i]);
		}
	}
	this.showSubMenu = function(){
		
		currentItems = new Array();
		var regulated = true;
		
		clearTimeout(interval);
		this.hideAll(this.menuLevel);
		
		var prevHeight = 0;
		for (var i=0;i<children.length;i++){

			if (children[i].getAttribute('parent_id')==this.id){
				
				children[i].style.display='block';
				
				
				
				children[i].menuLevel = this.menuLevel+1;
				
				var offsetLeft=this.offsetLeft;
				var offsetTop=this.offsetTop;
				
				children[i].originalWidth=children[i].offsetWidth;
				
				if (!this.getAttribute('parent_id')>0 && document.all && getIEVersion()<8){
					offsetLeft=getOffsetPropertyInIE(this,'offsetLeft');
					offsetTop=getOffsetPropertyInIE(this,'offsetTop');
				}
				
				if (this.getAttribute('parent_id')>0 || openRight){
					children[i].style.left=(offsetLeft + this.offsetWidth) + 'px';
					children[i].style.top=(offsetTop + prevHeight) +'px';
				} else {
					children[i].style.left=offsetLeft + 'px';
					children[i].style.top=(offsetTop + this.offsetHeight + prevHeight) +'px';
				}
				prevHeight+=children[i].offsetHeight;
				
				currentItems.push(children[i]);
			}
		}
		this.regulateWidths(currentItems);
		
	}
	
	this.regulateWidths = function(items){
		if (items.length<=0) return;
		if (items[0].regulated) return;
				
		var maxWidth=0;
		
		for (var i=0;i<items.length;i++){
			if (maxWidth < items[i].originalWidth){
				maxWidth = items[i].originalWidth;
			}
		}
		
		if (maxWidth<100) maxWidth=100;
		
		for (var i=0;i<items.length;i++){
			items[i].style.width=maxWidth+'px';
			items[i].regulated=true;
		}
	}
	
	this.hideAll = function(level){
		for (var i=0;i<children.length;i++){
			if (children[i].menuLevel>level){
				children[i].style.display='none';
			}
		}
	}
	
	this.hideSubMenu = function(){
		interval = setTimeout("menus["+menuIndex+"].hideAll(0)",1000);
	}

	for (var i=0;i<children.length;i++){
		children[i].menuLevel=0;
		children[i].style.zIndex=1000000+i;
		children[i].hideAll=this.hideAll;
		children[i].regulateWidths=this.regulateWidths;
		children[i].onmouseover = this.showSubMenu;
		children[i].onmouseout = this.hideSubMenu;
	}
}

function getOffsetPropertyInIE(node,property){
	var n = node;
	
	var val = n[property];
	
	while (n.offsetParent){
		
		n = n.offsetParent;
		if (!isNaN(n[property])){
			val+=n[property];
		}
	}
	return val;
}
function getIEVersion() {
    var rv = -1;
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
    return rv;
}
