/*
 * jQuery Vertical Dropdown Menu v0.1
 *
 * Copyright (c) 2009 Kiwi Creation
 * http://www.kiwicreation.ca/
 *
 * Author: David Arpin
 * Date: 2009-09-26
 */
 
(function($){  
	$.fn.dropdown = function(options) { 
		var settings = {
        	delay		: '100',
			direction	: 'right',
			defclass	: 'stdicon',
			hoverclass	: 'hovericon'
        };
		$.extend(settings, options);
        return this.each(function() {   
            $.dropdown(this, settings);
        });
	};
	
	$.dropdown = function(mainmenu, settings) {
		var menus = $(mainmenu).find("ul").parent();
		menus.each(function(i){
			var currentmenu = $(this);
			var submenu = $(this).find('ul:eq(0)');
			this.dimensions = {
				width 			: this.offsetWidth, 
				height 			: this.offsetHeight, 
				submenuwidth 	: submenu.outerWidth(), 
				submenuheight 	: submenu.outerHeight()
			};
			this.istopmenu = currentmenu.parents("ul").length == 1 ? true : false;
			this.icon = $('<span class="' + settings.defclass + '"></span>');
			currentmenu.children("a:eq(0)").append(this.icon);
			currentmenu.hover(function() {
				var targetmenu=$(this).children("ul:eq(0)");
				var position = {};
				if(this.istopmenu && settings.direction == "bottom") {
					position.left = 0;
					position.top = currentmenu.outerHeight();
				} else {
					position.left = currentmenu.outerWidth()-2;
					position.top = -1;					
				}
				if (targetmenu.queue().length <= 1) {
					targetmenu.css({
						left	: position.left + "px", 
						top		: position.top + "px"
					}).fadeIn(200);
					if(position.top > 0) {
						this.icon.removeClass(settings.defclass);
						this.icon.addClass(settings.hoverclass);
					}
				}
			}, function(e){
					var targetmenu = $(this).children("ul:eq(0)");
					targetmenu.fadeOut(200);
					this.icon.removeClass(settings.hoverclass);
					this.icon.addClass(settings.defclass);
				}
			)
		})
		$(mainmenu).find("ul").css({display:'none', visibility:'visible'})
	}; 
})(jQuery);