/*  Author : AB, Date : 09/23/10, Purpose : Share Bar javascript */
;(function($){
 var _ = {
  general: {
   init: function(){
    _.general.setState();
   },
   setState: function(){
    $.shareBar.settings.state = $.cookie('shareBar') || 'expanded';
    if($.shareBar.settings.state == 'collapsed'){
     $("#shareBar .toolbar, #collapsedBar").toggle();
    }
   }
  },
  listeners: {
   init: function(){
    _.listeners.collapse();
    _.listeners.linkPage();
    _.listeners.urlBox();
    _.listeners.hoverMenu();
   },
    collapse: function(){
     $("#shareBar .collapse").click(function(event){
      $.shareBar.settings.state = $.cookie('shareBar') || $.shareBar.settings.state;
      $("#shareBar .toolbar, #collapsedBar").slideToggle("fast");
      $.cookie('shareBar', (($.shareBar.settings.state == 'expanded') ? 'collapsed' : 'expanded'), {expires: 30, path: '/'});
     });
    },
    linkPage: function(){
     $("#shareBar .toolbar div.linkPage").click(function(event){
      $("#emptyDiv, #currentURL").toggle();
      $("#shareBar .toolbar input.urlBox").focus();
     });
    },
    urlBox: function(){
     $("#shareBar .toolbar input.urlBox").focus(function(event){
      this.select(); // Select field contents
     });
    },
    hoverMenu: function(){
     $('#shareBar .toolbar .custom_button, #addThisToolbox .hover_menu')
      .mouseenter(function(){
       var $menu = $('div.hover_menu'),
              $shareBtn = $('span.custom_button');
       $menu.fadeIn('fast').css('left', $shareBtn.offset().left);
       $shareBtn.addClass('active');
       $(this).data('in', true);
       $menu.data('hidden', false);
      })
      .mouseleave(function(){
       $(this).data('in', false);
       setTimeout($.shareBar.hideMenu, $.shareBar.settings.delay);
      });
    }
   }
 };
 $.shareBar = {
  settings: {
   site: '',
   delay: 400,
   state: 'expanded'
  },
  init: function(options){
   $.extend($.shareBar.settings, options);
   _.listeners.init();
   _.general.init();
  },
  hideMenu: function(){
   if(!$('#shareBar .custom_button').data('in') && !$('#shareBar .hover_menu').data('in') && !$('#shareBar .hover_menu').data('hidden')){
    $('#shareBar .hover_menu').fadeOut('fast');
    $('#shareBar .custom_button').removeClass('active');
    $('#shareBar .hover_menu').data('hidden', true);
   }
  }
 };
})(jQuery);
