/*
 * Depend Class v0.1b : attach class based on first class in list of current element
 * File: jquery.dependClass.js
 * Copyright (c) 2009 Egor Hmelyoff, hmelyoff@gmail.com
 */


(function($) {
	// Init plugin function
	jQuery.baseClass = function(obj){
	  obj = jQuery(obj);
	  return obj.get(0).className.match(/([^ ]+)/)[1];
	};
	
	jQuery.fn.addDependClass = function(className, delimiter){
		var options = {
		  delimiter: delimiter ? delimiter : '-'
		}
		return this.each(function(){
		  var baseClass = jQuery.baseClass(this);
		  if(baseClass)
    		jQuery(this).addClass(baseClass + options.delimiter + className);
		});
	};

	jQuery.fn.removeDependClass = function(className, delimiter){
		var options = {
		  delimiter: delimiter ? delimiter : '-'
		}
		return this.each(function(){
		  var baseClass = jQuery.baseClass(this);
		  if(baseClass)
    		jQuery(this).removeClass(baseClass + options.delimiter + className);
		});
	};

	jQuery.fn.toggleDependClass = function(className, delimiter){
		var options = {
		  delimiter: delimiter ? delimiter : '-'
		}
		return this.each(function(){
		  var baseClass = jQuery.baseClass(this);
		  if(baseClass)
		    if(jQuery(this).is("." + baseClass + options.delimiter + className))
    		  jQuery(this).removeClass(baseClass + options.delimiter + className);
    		else
    		  jQuery(this).addClass(baseClass + options.delimiter + className);
		});
	};

	// end of closure
})(jQuery);
