(function($) {
  $.fn.tabs = function( options ) {
  	var jQueryMatchedObj = this;
  	var selected = null;
  	
  	this.find("li").bind( "click", _click );
  	this.find("li a").bind( "click", _linkClick );
  	this.find("li a").bind( "focus", _resetFocus );
  	
  	this.find("li").hover( function(){
  	  $(this).addClass("active").find("a")
                                .addClass("active");
    }, function(){
    	if( selected != $(this).attr("id") ) {
  		  $(this).removeClass("active").find("a")
                                     .removeClass("active");
    	}
  	});
  	
  	this.find("li").each( function ( index ) {
  	  $(this).attr("id", "tab-" + index);
  	});
  	
  	this.find("li:first").click();
  	
  	function _click() {
  		jQueryMatchedObj.find("li, li a").removeClass("active");
  		$(this).addClass("active").find("a")
  		                          .addClass("active");
  		                            		  
      selected = $(this).attr("id");
  		var id = $(this).find("a").attr("href");
  		jQueryMatchedObj.find("div").hide();
  		jQueryMatchedObj.find(id + ", " + id + " div").show();
  	}
  	
  	function _hover() {
      jQueryMatchedObj.find("li, li a").removeClass("active");
      $(this).addClass("active").find("a")
                                .addClass("active");
    }
  	
  	function _linkClick() {
  		$(this).parent().click();
      return false;
    }
    
    function _resetFocus() {
    	$(this).blur();
    	return false;
    }
  }
})(jQuery);
