/*********************
//* jQuery Drop Line Menu- By Dynamic Drive: http://www.dynamicdrive.com/
//* Last updated: June 27th, 09'
//* Menu avaiable at DD CSS Library: http://www.dynamicdrive.com/style/
*********************/

var droplinemenu = {

	arrowimage: { classname: 'downarrowclass', src: scriptPath + 'droplinemenu/down.gif', leftpadding: 5 }, //customize down arrow image
	animateduration: { over: 200, out: 200 }, //duration of slide in/ out animation, in milliseconds
	mainMenuId: '',

	buildmenu: function(menuid) {
		mainMenuId = menuid;

		jQuery(document).ready(function($) {
			var $mainmenu = $("#" + menuid + ">ul");
			var $headers = $mainmenu.find("ul").parent();
			$headers.each(function(i) {
				var $curobj = $(this);
				var $subul = $(this).find('ul:eq(0)');
				this._dimensions = { h: $curobj.find('a:eq(0)').outerHeight() };
				this.istopheader = $curobj.parents("ul").length == 1 ? true : false;
				if (!this.istopheader) {
					$subul.css({ left: 0, top: this._dimensions.h });
				}
				var $innerheader = $curobj.children('a').eq(0);
				$innerheader = ($innerheader.children().eq(0).is('span')) ? $innerheader.children().eq(0) : $innerheader; //if header contains inner SPAN, use that
				$innerheader.append(
					'<img src="' + droplinemenu.arrowimage.src
					+ '" class="' + droplinemenu.arrowimage.classname
					+ '" style="border:0; padding-left: ' + droplinemenu.arrowimage.leftpadding + 'px" />'
				);

				$curobj.hover(
					function(e) {
						var $targetul = $(this).children("ul:eq(0)");
						if ($targetul.queue().length <= 1) {//if 1 or less queued animations
							if (this.istopheader) {
								//$targetul.css({ left: $mainmenu.offset().left - $mainmenu.parent().offset().left, top: $mainmenu.offset().top + this._dimensions.h })
								//$targetul.css({ left: $mainmenu.offset().left - $mainmenu.parent().offset().left, top: this._dimensions.h })

								var marBot = $(mainMenuId).css('margin-bottom');
								if (isNaN(marBot)) {
									marBot = 0;
								}
								var mainTop = $(mainMenuId).offset().top - marBot;
								//alert(mainTop);
								var parentTop = $mainmenu.offset().top;

								$targetul.css({ left: $mainmenu.offset().left - $mainmenu.parent().offset().left, top: parentTop - mainTop + this._dimensions.h });
							}
						}
						if (document.all && !window.XMLHttpRequest) //detect IE6 or less, fix issue with overflow
						{
							$mainmenu.find('ul').css({ overflow: (this.istopheader) ? 'hidden' : 'visible' });
						}
						$targetul.slideDown(droplinemenu.animateduration.over);
					},
					function(e) {
						var $targetul = $(this).children("ul:eq(0)");
						$targetul.slideUp(droplinemenu.animateduration.out);
					}
				); //end hover
			}); //end $headers.each()
			//alert('$mainmenu.width()": ' + $mainmenu.width());
			$mainmenu.find("ul").css({ display: 'none', visibility: 'visible', width: $mainmenu.width() });
		}); //end document.ready
	}
}


