/**
 * 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);
