(function( $ ){

  $.fn.cabdrop = function( options ) {  

    var settings = {
      'timeout': 500,
      'trigger': 'mouseenter',
      'canceltimer':0,
      'dropdowndelay': 0,
      'parentactive_class': 'active',
      'dropitem': 0,
      'offsetX': 0,
      'offsetY': 0,
      'slideDownTime': 'fast',
      'parent_obj': ''
    };

    return this.each(function() {        
      if ( options ) { 
        $.extend( settings, options );
      }
     
        var action_container = jQuery(this);
        var action = jQuery(this).find('>li');
        

        action.bind(settings.trigger, function() {
            dropdown_canceltimer();
            dropdown_close();
                var p = jQuery(this).position();
                settings.parent_obj = jQuery(this);
                settings.parent_obj.addClass(settings.parentactive_class);
                
                if(!settings.parent_obj.find('ul').eq(0).find('li').hasClass('loginbox')){

                    settings.dropitem = jQuery(this).find('ul').eq(0).delay(settings.dropdowndelay).css(
                    {
                        'visibility': 'visible',
                        'display': 'none',
                        top : (p.top + $(action_container).height()) + settings.offsetY,
                        left : (p.left + settings.offsetX)
                    }).slideDown(settings.slideDownTime); 
                
               }
                return false;    
          });
          
//          action.bind('click', function() {
//              if(settings.parent_obj.find('ul').eq(0).find('li').hasClass('loginbox')){
//                   var p = jQuery(this).position();
//               
//                   
//                   if(jQuery(this).find('ul').eq(0).hasClass('open')){
//                        jQuery(this).find('ul').eq(0).removeClass('open');
//                        jQuery(this).find('ul').eq(0).removeClass(settings.parentactive_class);
//                        jQuery(this).find('ul').eq(0).css('visibility', 'hidden');     
//                   } else {
//                        jQuery(this).find('ul').eq(0).addClass('open');
//                        jQuery(this).find('ul').eq(0).delay(settings.dropdowndelay).css(
//                        {
//                            'visibility': 'visible',
//                            'display': 'none',
//                            top : (p.top + $(action_container).height()) + settings.offsetY,
//                            left : (p.left + settings.offsetX)
//                        }).slideDown(settings.slideDownTime); 
//                        jQuery(this).find('form').bind('click', function() {
//                                jQuery(this).submit();
//                        });
//                        
//                        
//                        
//                   }
//                    return false;     
//              } else {
//                   return true;
//              }
//             
//
//          });
          
          action.mouseleave(function() {
                dropdown_close();
          });
   
         $(document).bind('click', function(){
             dropdown_close();
         })   
   
   
        function dropdown_close(){
                if(settings.dropitem){
                      
                        
                         if(settings.parent_obj.find('ul').eq(0).find('li').hasClass('loginbox')){
                             if(!settings.parent_obj.find('ul').eq(0).find('li').hasClass('open')){
                                 settings.parent_obj.removeClass(settings.parentactive_class);
                             }      
                         } else{
                                settings.parent_obj.removeClass(settings.parentactive_class);
                                settings.dropitem.css('visibility', 'hidden'); 
                         }
                        

                }
        }

        function dropdown_timer(){
                settings.canceltimer = window.setTimeout(dropdown_close, settings.timeout);
        }

        function dropdown_canceltimer()
        {if(settings.canceltimer){
                        window.clearTimeout(settings.canceltimer);
                        settings.canceltimer = null;
                }
        }



    });
  };
})( jQuery );
