var jslidemenu = {
	buildmenu:function(menuid)
	{
		jQuery(document).ready(function($j)
		{
			var jmainmenu = $j("#"+menuid+">ul");
			var jheaders = jmainmenu.find("ul").parent();
			jheaders.each(function(i)
			{
				var jcurobj = $j(this);
				var jsubul = $j(this).find('ul:eq(0)');
				this._dimensions = {
					w: this.offsetWidth, 
					h: this.offsetHeight, 
					subulw: jsubul.outerWidth(), 
					subulh: jsubul.outerHeight()
				};
				this.isTopHeader = jcurobj.parents("ul").length==1? true : false;
				jsubul.css({top: this.isTopHeader? this._dimensions.h+"px" : 0});
				jcurobj.children("a:eq(0)").addClass("arrow");
				jcurobj.hover
				(
					function(e)
					{
						//$j(this).parents("li:first").find("a").addClass("mainnavi-over");
						var jtargetul = $j(this).children("ul:eq(0)");
						this._offsets = {left: $j(this).offset().left, top: $j(this).offset().top};
						var menuleft = this.isTopHeader? 0 : this._dimensions.w;
						menuleft = (this._offsets.left+menuleft+this._dimensions.subulw > $j(window).width())? (this.isTopHeader? -this._dimensions.subulw+this._dimensions.w : -this._dimensions.w) : menuleft;
						if (jtargetul.queue().length <= 1) //if 1 or less queued animations
						{
							jtargetul.css({left: menuleft+"px", width:this._dimensions.subulw+'px'}).toggle();
						}
					},
					function(e)
					{
						var jtargetul = $j(this).children("ul:eq(0)");
						jtargetul.toggle();
					}
				); //end hover
			}); //end jheaders.each()
			
			jmainmenu.find("ul").css({display:'none', visibility:'visible'});
			
		}); //end document.ready
	}
};

//build menu with ID="myslidemenu" on page:
jslidemenu.buildmenu("mainnavi");
