/*
 * jQuery UI Watermark @VERSION
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Watermark
 *
 * Depends:
 *	ui.core.js
 */
(function($) {

    $.widget("ui.watermark", {

        _init: function() {

            var o = this.options, self = this;
            var input = this.element;
            //var placeholder = $.isFunction(o.placeholder) ? o.placeholder.apply(this.element[0]) : o.placeholder;
            var placeholder = input.attr('placeholder');
            this.element.wrap("<span/>").parent().addClass("ui-watermark-container ui-watermark-" + input[0].tagName.toLowerCase());
            var label = (this.label = $('<label for="' + input.attr("id") + '">' + placeholder + '</label>').insertBefore(input));
            label.addClass("ui-watermark-label");
            /*label.css({
            left: parseInt(input.css("borderLeftWidth")) + parseInt(input.css("paddingLeft")),
            top: parseInt(input.css("borderTopWidth")) + parseInt(input.css("paddingTop"))
            });*/
            if (input.val()) {
                label.hide();
            }
            input.bind("focus." + this.widgetName, function() {
                if (!o.disabled && !this.value)
                    o.animate ? label.fadeOut("fast") : label.hide();
            }).bind("blur." + this.widgetName, function() {
                if (!o.disabled && !this.value)
                    o.animate ? label.fadeIn("fast") : label.show();
            });
        },

        destroy: function() {
            if (this.element.data("placeholder")) {
                this.element.attr("placeholder", this.element.data("placeholder"));
            }
            // TODO remove this once replaceWith handles a disconnected element (see core #3940)
            if (this.element.parent().parent().length)
                this.element.parent().replaceWith(this.element);
            this.label.remove();
            $.widget.prototype.destroy.apply(this, arguments);
        },
        focus: function() {
            alert('Hej');
        }
    });


    $.extend($.ui.watermark, {
        version: "@VERSION",
        defaults: {
            placeholder: function() {
                var result = $(this).attr("placeholder");
                $(this).data("placeholder", result);
                $(this).removeAttr("placeholder");
                return result;
            },
            animate: true
        }
    });

})(jQuery);

