jQuery.fn.initExpCollapse = function( settings ) {
  settings = jQuery.extend({
    speed: 'fast',
    ctrlExpand: 'expandAll',
    ctrlCollapse: 'collapseAll'		
  },
  settings ? settings : {});
  
  
  var globalControls = jQuery('> div.expControl span', this);
  
  var expPanes = jQuery('> div', this).not('.expControl');
  var expContents = jQuery('div:eq(1)', expPanes);
  var expTriggers = jQuery('div:first', expPanes);
  var expHit = jQuery('a:first', expTriggers);
  
  
  globalControls.click(function() {
    if (jQuery(this).hasClass(settings.ctrlExpand)){
      expTriggers.addClass('active');
      expContents.slideDown(settings.speed);
    }
  
    if (jQuery(this).hasClass(settings.ctrlCollapse)){
      expTriggers.removeClass('active')
      expContents.slideUp(settings.speed);
    }
    
    else {return false;}
  });
  
  expTriggers.click(function() {
    jQuery(this).toggleClass('active');
    jQuery(this).next().slideToggle(settings.speed);
  });
  
  expTriggers.hover(
    function() {
      jQuery('> a', this).addClass("current");
    }, 
    function() {
      jQuery('> a', this).removeClass("current");
    }
  );	
  return this;
};