/*
 * Plugin jQuery que implementa placeholder de campos.
 * options: {
 *      color: null,       // Cor do campo quando possuir um valor informado (default: null)
 *      colorHolder: null  // Cor do campo quando possuir o valor de holder (default: null)
 * }
 * @date 30/06/2010
 * @author André Garlini
 */
jQuery.fn.placeholder = function(options) {
    var $this = this;

    var settings = jQuery.extend({
            color: null,
            colorHolder: null
        }, options);

    $this.each(function(){
        var $campo = $(this);

        var color = settings.color || $campo.css('color');
        var colorholder = settings.colorHolder || $campo.css('color');

        function isHolder(){
            return ($campo.attr('title') == $campo.attr('value'));
        }

        function updateColor(){
            if (isHolder()){
                $campo.css('color', colorholder);
            } else {
                $campo.css('color', color);
            }
        }

        $campo.focus(function(){
            if (isHolder()){
                $campo.attr('value','');
            }
        }).blur(function(){
            if ($campo.attr('value') == ''){
                $campo.attr('value', $campo.attr('title'));
            }
            updateColor();
        }).change(updateColor);

        if ($campo.attr('value') == ''){
            $campo.attr('value', $campo.attr('title'));
        }

        updateColor();

    });

    return this;
}
