var jqueryMenu = {

	buildMenu: function(menuid) {
		jQuery(document).ready(function($){
			var elMenu = $("#"+menuid);
			var $headers = elMenu.find("ul").parent();
			$headers.each(function(i) {
				var $curobj = $(this);
				var $subul = $(this).find('ul:eq(0)');
				this._dimensions = { w: this.offsetWidth, h: this.offsetHeight, subulw: $subul.outerWidth(), subulh: $subul.outerHeight() };
				this.isTopHeader = ($curobj.parents("ul").length == 1);
				$subul.css( { top: this.isTopHeader ? this._dimensions.h + "px" : 0 } );
				$curobj.hover(
					function (e){
						var $targetul = $(this).children("ul:eq(0)");
						this._offsets = { left: $(this).offset().left, top: $(this).offset().top };
						var menuleft = this.isTopHeader ? 0 : ($(this).parent()[0].offsetWidth - 2);
						menuleft = (this._offsets.left + menuleft + this._dimensions.subulw > $(window).width()) 
						           ? (this.isTopHeader 
						        	  ? -this._dimensions.subulw + this._dimensions.w 
						        	  : -this._dimensions.w)
						           : menuleft;
						if (this.isTopHeader) $targetul.css( { minWidth: this._dimensions.w } );
						$targetul.css( { left: menuleft+"px" } ).fadeIn(200);
					},
					function (e){
						$(this).children("ul:eq(0)").fadeOut(200);
					}
				);
			});
			elMenu.find("ul").css( { display: 'none', visibility: 'visible' } );
		});
	}
}

