﻿(function($) {
    $.fn.textboxWatermark = function(settings) {
        var defaults = {
            className: 'watermarkText',
            text: this.val()
        };
 
        settings = $.extend({}, defaults, settings);
 
        if ($(this).val().length == 0 || $(this).val() === settings.text) {
            $(this).addClass(settings.className);
            $(this).val(settings.text);
            $(this).attr('watermarkText',settings.text);
        }
 
        this.focus(function() {
            $(this).removeWatermark({
                className: settings.className,
                text: settings.text
            });
        });
 
        this.blur(function() {
            if ($(this).attr('watermarkText') === $(this).val() || $(this).val() == "") {
                $(this).addWatermark({
                    className: settings.className,
                    text: $(this).attr('watermarkText')
                });
            }            
        });
 
        var id = this.attr("id");
 
        // Clear the watermark text when the form is submitted. 
        this.parents("form:first").submit(function() {
            $("#" + id).removeWatermark({
                className: settings.className,
                text: settings.text
            });
        });
    }
    
    $.fn.addWatermark = function(settings) {
        var defaults = {
            className: 'watermarkText',
            text: this.val()            
        };
 
        settings = $.extend({}, defaults, settings);
         
        this.addClass(settings.className);
        this.val(settings.text);
        this.attr('watermarkText',settings.text);
        this.attr("WatermarkSet",'1');
    }
 
    $.fn.removeWatermark = function(settings) {
        var defaults = {
            className: 'watermarkText',
            text: settings.text
        };
 
        settings = $.extend({}, defaults, settings);
 
        if (this.hasClass(settings.className)) {
            this.removeClass(settings.className);
            this.val("");
            //this.removeAttr('watermarkText');
        }
    }
})(jQuery);