/**
 * @author jallen
 */
(function($) {
  $.fn.extend({
    
    svLstngDrwrAction: function(options) {
      var defaults = {
        topParent: '.lstng-extras',
        drwrSel: '.lstng-drwr',
        handleSel: 'h2',
        contentSel: '.lstng-drwr-content',
        closeClass: 'closed',
        openClass: 'open'
      };
      
      var options = $.extend(defaults, options);
      
      return this.each(function() {
        var o = options;
        if ( $(this).siblings(o.contentSel).hasClass(o.openClass)) return;
        $(this).parents(o.topParent).find(o.contentSel).not($(this).siblings(o.contentSel)).slideUp(500, function() {
          $(this).removeClass('open');
          $(this).addClass('closed');
          $(this).removeAttr('style');
        });
        $(this).siblings(o.contentSel).slideDown(500, function() {
          $(this).addClass('open');
          $(this).removeClass('closed');
          $(this).removeAttr('style');
        });
        $(this).parents(o.topParent).find(o.drwrSel + '>' + o.handleSel).removeClass('open');
        $(this).parents(o.topParent).find(o.drwrSel + '>' + o.handleSel).addClass('closed');
        $(this).addClass('open');
        $(this).removeClass('closed');
      });
    },
        
    svLstngDrwr: function(options) {
      var defaults = {
        topParent: '.lstng-extras',
        drwrSel: '.lstng-drwr',
        handleSel: 'h2',
        contentSel: '.lstng-drwr-content',
        closeClass: 'closed',
        openClass: 'open'
      };
      
      var options = $.extend(defaults, options);
      
      return this.each(function() {
        var o = options;
        
        var drawers = $(this).find(o.drwrSel + ' ' + o.contentSel);
        drawers.addClass(o.closeClass);
        drawers.eq(0).removeClass(o.closeClass);
        drawers.eq(0).addClass(o.openClass);
        var handles = $(this).find(o.drwrSel + ' ' + o.handleSel);
        handles.addClass(o.closeClass);
        handles.eq(0).removeClass(o.closeClass);
        handles.eq(0).addClass(o.openClass);
        $(this).find(o.drwrSel + ' ' + o.handleSel).click(function() {
          $(this).svLstngDrwrAction();
        });
      });
    }
    
  });
})(jQuery);

$(document).ready(function() {
  $('.lstng-extras').svLstngDrwr();
});

