;(function($) {

  $.fn.ggeLoginBox = function(js, options) {
    if (typeof js == 'object') {
      options = js;
      js = null;
    }
    
    var wrapper = $(this);
    var pos = wrapper.offset();
    var panel   = $("#ggeLoginBox");
    var panelH  = panel.height();
    
    panel.css({
      'position'  : 'absolute',
      'top'       : pos.top + 35,
      'left'      : pos.left - 100
    });
    
    panel.ggeShow = function() {
      panel.addClass('ggeLBHover');
      panel.css('height', '0px');
      panel.animate({ height: panelH + 20 }).animate({ height: panelH }, "fast")
    }
    panel.ggeHide = function() {
      panel.removeClass('ggeLBHover');
      //panel.animate({ height: "0px" }, "fast", '');
      panel.hide();
    }
    
    wrapper.bind('mouseenter', function() {
      wrapper.addClass('ggeLBHover');
      panel.ggeShow();
      clearTimeout(wrapper.lbTimer);
    });
    wrapper.bind('mouseleave', function() {
      wrapper.lbTimer = setTimeout( function() { 
        wrapper.removeClass('ggeLBHover'); 
        panel.ggeHide(); 
      }, 1000);
    });

    panel.bind('mouseenter', function() {
      panel.addClass('ggeLBHover');
      clearTimeout(wrapper.lbTimer);
    });
    panel.bind('mouseleave', function() {
      wrapper.lbTimer = setTimeout( function() { 
        wrapper.removeClass('ggeLBHover'); 
        panel.ggeHide(); 
      }, 1000);
    });

  };
  
})(jQuery);
