/**
 * jQuery-Plugin "clearLabel"
 *
 * (Based on clearField created by Stijn Van Minnebruggen - http://labs.thesedays.com/projects/jquery/clearfield/)
 * 
 * @version: 1.0, 15.03.2010
 * 
 * @author: Filip Vanderstappen
 *          filip@codeincolor.be
 *          http://www.codeincolor.be
 * 
 * @example: $('selector').clearLabel();
 * @example: $('selector').clearLabel({ blurClass: 'myBlurredClass', activeClass: 'myActiveClass', hideClass: 'myHideClass' });
 * 
 */

(function($) {

jQuery.fn.clearLabel = function(settings) {
	
	/**
	 * Settings
	 * 
	 */
	
	settings = jQuery.extend({
		blurClass: 'clearLabelBlurred',
		activeClass: 'clearLabelActive',
		hideClass: 'clearLabelHide'
	}, settings);
	
	
	/**
	 * loop each element
	 * 
	 */
	
	jQuery(this).each(function() {
		
		/**
		 * Set element
		 * 
		 */
		
		var el = jQuery(this);
		var elField = jQuery("#" + jQuery(this).attr('for'));
		
		
    /**
     * Check for attribute and el existance
     * 
     */
     
    if(el.attr('for') != undefined && elField != undefined) {
      
      /**
       * Hide label
       * 
       */
      
      el.addClass(settings.hideClass);
      
      
      /**
       * Set value
       * 
       */
      
      if(elField.val() == '' || elField.val() == el.text()) {
      	elField.val(el.text()).addClass(settings.blurClass);
      }


      /**
       * Set focus action
       * 
       */
      
      elField.focus(function() {
      	
      	if(elField.val() == el.text()) {
      		elField.val('').removeClass(settings.blurClass).addClass(settings.activeClass);
      	}
      	
      });
      
      
      /**
       * Set blur action
       * 
       */
      
      elField.blur(function() {
      	
      	if(elField.val() == '') {
      		elField.val(el.text()).removeClass(settings.activeClass).addClass(settings.blurClass);
      	}
      	
      });
      
    }		
		
	});
	
	return jQuery;
	
};

})(jQuery);
