(function($){
 $.fn.turbsmenu = function(options) {

  var defaults = {
   direction: 'right',
   effect	: 'fade'
  };
  var options = $.extend(defaults, options);
    
  return this.each(function() {
	  $('li ul',this).parent().addClass('has-dropdown');
		$('li',this).hover(function(){
			if( $('ul',this).length > 0 ){
			
				if( $('.selected').length != 0 && $('.selected').html() != $(this).html() ){
					$('.selected ul').stop(true,true).hide();
					$('.selected').removeClass('selected');
				}
			
				var pos = $(this).position();
				if( options.direction == 'right' ){
					$('ul',this).css({
						'position':'absolute',
						'left':pos.right,
						'top':pos.top
					});
				}else{
					$('ul',this).css({
						'position':'absolute',
						'left':pos.left,
						'top':pos.bottom
					});
				}
				$('ul',this).stop(true,true).toggleEffect({effect:options.effect,skip:'in'});
				$(this).addClass('selected');
				$('ul',this).addClass('extended-menu');
		
			}
		},function(){
			if( $('ul',this).length > 0 ){
				var selectedMenu = $(this);
				$('ul',selectedMenu).stop(true,true).delay(800).toggleEffect({
					effect:options.effect,
					skip:'out',
					complete:function(){
						$(selectedMenu).removeClass('selected');
						$('ul',selectedMenu).removeClass('extended-menu');
					}
				});
			}
		})
		
  });
 };
})(jQuery);





(function($){
 $.fn.toggleEffect = function(options) {
 
  var defaults = {
  	skip			: false,
	effect			: 'fade',
	speed			: 'fast',
	complete	: function(){}
  };
  var options = $.extend(defaults, options);
  
  return this.each(function(){
  	
  		switch(options.effect){
  			case 'fade':
	  			var inEffect  = function(el){$(el).fadeIn(options.speed,options.complete)};
	  			var outEffect = function(el){$(el).fadeOut(options.speed,options.complete)};
	  			break;	
  			case 'slide':
	  			var inEffect  = function(el){$(el).slideDown(options.speed,options.complete)};
	  			var outEffect = function(el){$(el).slideUp(options.speed,options.complete)};
	  			break;	
  		}
  		
		if( $(this).css('display') == 'none' || options.skip == 'in' ){
			inEffect( $(this) );
			return true;
		}
		if( $(this).css('display') != 'none' || options.skip == 'out' ){
			outEffect( $(this) );
			return true;
		}
  })
  }
})(jQuery);
