﻿/**
* jQuery-Plugin "clearField"
* 
* @version: 1.1, 04.12.2010
* 
* @author: Stijn Van Minnebruggen
*          stijn@donotfold.be
*          http://www.donotfold.be
* 
* @example: $('selector').clearField();
* @example: $('selector').clearField({ blurClass: 'myBlurredClass', activeClass: 'myActiveClass' });
* 
*/

(function ($) {

    $.fn.clearField = function (settings) {

        /**
        * Settings
        * 
        */

        settings = jQuery.extend({
            blurClass: 'clearFieldBlurred',
            activeClass: 'clearFieldActive',
            attribute: 'rel',
            value: ''
        }, settings);


        /**
        * loop each element
        * 
        */

        return $(this).each(function () {

            /**
            * Set element
            * 
            */

            var el = $(this);


            /**
            * Get starting value
            * 
            */

            settings.value = el.val();


            /**
            * Add or get attribute
            * 
            */

            if (el.attr(settings.attribute) == undefined) {
                el.attr(settings.attribute, el.val()).addClass(settings.blurClass);
            } else {
                settings.value = el.attr(settings.attribute);
            }


            /**
            * Set focus action
            * 
            */

            el.focus(function () {

                if (el.val() == el.attr(settings.attribute)) {
                    el.val('').removeClass(settings.blurClass).addClass(settings.activeClass);
                }

            });


            /**
            * Set blur action
            * 
            */

            el.blur(function () {

                if (el.val() == '') {
                    el.val(el.attr(settings.attribute)).removeClass(settings.activeClass).addClass(settings.blurClass);
                }

            });


        });

    };

})(jQuery);

