/*!
 * jquery.ui.potato.menu
 * 
 * Copyright (c) 2009-2010 makoto_kw, http://www.makotokw.com
 * Licensed under the MIT license.
 * 
 * @author makoto_kw
 * @version 1.0
 */
(function($) {
	$.fn.extend({
		ptMenu:function(arg) {
			var defaltOption = {
				vertical:false,
				menuItemSelector: 'li',
				menuGroupSelector: 'ul',
				firstClass:'potato-menu',
				menuItemClass:'potato-menu-item',
				menuGroupClass:'potato-menu-group',
				verticalClass:'potato-menu-vertical',
				holizontalClass:'potato-menu-holizontal',
				hasVerticalClass:'potato-menu-has-vertical',
				hasHolizontalClass:'potato-menu-has-holizontal',
				showDuration: 400,
				hideDuration: 100,
				offsetTop:'-45px',
				offsetLeft:'0px'
			}
			
			var option = (typeof(arg)!='string') ? $.extend(defaltOption,arg) : $.extend(defaltOption,{});
			var $menu = $(this).addClass(option.firstClass).addClass((option.vertical) ? option.verticalClass : option.holizontalClass);
			var $menuItems = $menu.find(option.menuItemSelector).addClass(option.menuItemClass);
			var $menuGroups = $menu.find(option.menuGroupSelector).addClass(option.menuGroupClass);
			
			$menuGroups.parent().each(function(index){
				var bottom = $(this).parent(option.menuGroupSelector+'.'+option.firstClass).length == 1 && !option.vertical;
				var $menuGroup = $(this).addClass((bottom) ? option.hasVerticalClass : option.hasHolizontalClass)
					.children(option.menuGroupSelector+':first').addClass(option.verticalClass)
				
				//jQuery("ul[id='navigation']")
				
				jQuery(this)
					.hover(
						function(e) {
							
							var offset = (bottom) ? {left:option.offsetLeft,top:option.offsetTop} : {left:$(this).width()+'px',top:'0'};
							
							var counter = 1;
							
							
							var s = navigator.userAgent.toLowerCase();
							var isIE7 = /*@cc_on!@*/false && ( parseInt( s.match( /msie (\d+)/ )[1] ) >= 7 );
							
							if(isIE7)
							{
								$menuGroup.css({left:offset.left,top:offset.top}).fadeIn(option.showDuration);
								
							} else { $menuGroup.css({left:offset.left,top:offset.top}).animate({ top: "toggle"},option.showDuration); }
						
							
						},
						function(e) {
							$menuGroup.fadeOut(option.hideDuration);
						}
					)
				;
			});
			
			/*$menu.find('a[href^="#"]').click(function() {
				
				$menuGroups.fadeOut(option.hideDuration);
				
				return ($(this).attr('href')=='#') ? false : true;
			});*/
			return this;
		}
	})
})(jQuery);
