(function($) {
    $.fn.watermark = function(options) {
        var defaults = {
            color: '#999',
            psw: 'password'
        };
        var options = $.extend(defaults, options);
        return this.each(function() {
            var obj = $(this);
            var p = obj.parents('form');
            if (p.length != 0) p.bind('submit', function() {
                if (obj.val() == obj.attr('base')) obj.val('');
            });
            obj.attr('baseColor', obj.css('color'));
            if (obj.attr('type') == 'password') obj.val(options.psw);
            //if(!obj.attr('base')) obj.attr('base', obj.val());
            if (!obj.attr('base')) {
                obj.attr('base', obj.attr('title'));
                obj.val(obj.attr('base'));
            }
            obj.attr('isWatermark', 1);
            obj.css('color', options.color);
            obj.bind('focus', function() {
                var o = $(this);
                if (o.val() != o.attr('base') && o.val() != '') {
                    o.attr("isWatermark", 0);
                }
                if (o.attr('isWatermark') == 1) {
                    o.val('');
                    o.attr('isWatermark', 0);
                    o.css('color', o.attr('baseColor'));
                }
            }).bind('blur', function() {
                var o = $(this);
                if (o.val() != o.attr('base') && o.val() != '') {
                    o.attr('isWatermark', 1);
                }
                if (o.attr('isWatermark') == 0) {
                    o.css("color", options.color);
                    if (o.val() == '') {
                        o.attr('isWatermark', 1);
                        o.val(o.attr('base'));
                    }
                }
            });
        });
    };
})(jQuery);