window.addEvent('domready',function() {
	DropDownMenu($('menu'),$$(".menuitem"),'','');
});

function isPositionedRelative(element){
	while(hasParent(element))
	{
		if(element.getStyle('position') != "static"){
			return true;		
			break;			
		}
		else
			element = element.getParent();	
	}		
	return false;
}

function hasParent(self) {
	var obj = self.parentNode;
		if (!obj) return false;
	return true;
}	


function DropDownMenu(menuelement,menuelements,level1ID,level2ID) {
	
	var isRelative = isPositionedRelative(menuelement);
	
	var menuheight = menuelement.getStyle('height');
	var menu_offset_left = menuelement.getCoordinates().left;
	
	menuelements.each(function(element,index){
								  
		//SELECTED?
		if(element.getProperty('id')=='li'+level1ID)
		{
			element.toggleClass('selected');
		}
		
		var children = element.getChildren();
		element.addEvent('mouseenter',function() {
			if(children.length>1)
			{
				var SubMenu = children[1];
				var SubMeuItems = SubMenu.getChildren();
				var SubMenuLength = 0;
				
				SubMeuItems.each(function(subelement,subindex){
					if(subelement.getCoordinates().width > SubMenuLength)
						SubMenuLength = subelement.getCoordinates().width;
				});
										
				if(element.getCoordinates().width>SubMenuLength)
				{
					SubMeuItems.each(function(subelement,subindex){
						//SELECT?
						if(subelement.getProperty('id')=='li'+level2ID){
							subelement.toggleClass('selected');
						}
						subelement.setStyle('width',element.getCoordinates().width-2);
//						$ES('li',SubMenu).setStyle('width',element.getCoordinates().width);
//						$ES('li',SubMenu).setStyle('width',element.getCoordinates().width);
					});
				} else {							
//					SubMenu.setStyle('width',SubMenuLength);	
					SubMenu.setStyle('width','180px');	
					$ES('li',SubMenu).setStyle('width','180px');
//						$ES('li',SubMenu).setStyle('width',element.getCoordinates().width);
				}
				
				this.toggleClass('hover-dropdown');
				if(window.ie && !isRelative)
				{
					var margin_left = this.getCoordinates().left;						
					SubMenu.setStyle('margin','0 0 0 0');
					SubMenu.setStyle('left',margin_left+'px');
				}
			}
			else
				this.toggleClass('hover');
		
		});				
		element.addEvent('mouseleave', function() {
												
			var SubMenu = children;
			if(SubMenu.length>1)
			{
				this.toggleClass('hover-dropdown');			
				
				if(window.ie && !isRelative)
					children[1].setStyle("left","-999em");
			}
			else
				this.toggleClass('hover');				
		});
	});		
}		