(function(e) { var c, j = "watermark", g = "watermarkClass", b = "watermarkFocus", h = "watermarkSubmit", d = "watermarkMaxLength", f = "watermarkPassword", k = "watermarkText", a = ":data(" + j + ")", i = ":text,:password,:search,textarea"; e.extend(e.expr[":"], { data: function(m, l, o, q) { var n, p = /^((?:[^=!^$*]|[!^$*](?!=))+)(?:([!^$*]?=)(.*))?$/.exec(o[3]); if (p) { n = e(m).data(p[1]); if (n !== c) { if (p[2]) { n = "" + n; switch (p[2]) { case "=": return (n == p[3]); case "!=": return (n != p[3]); case "^=": return (n.slice(0, p[3].length) == p[3]); case "$=": return (n.slice(-p[3].length) == p[3]); case "*=": return (n.indexOf(p[3]) !== -1) } } return true } } return false } }); e.watermark = { version: "3.0", options: { className: "watermark", useNative: true }, hide: function(l) { e(l).filter(a).each(function() { e.watermark._hide(e(this)) }) }, _hide: function(o, m) { if (o.val() == o.data(k)) { o.val(""); if (o.data(f)) { if (o.attr("type") === "text") { var n = o.data(f), l = o.parent(); l[0].removeChild(o[0]); l[0].appendChild(n[0]); o = n } } if (o.data(d)) { o.attr("maxLength", o.data(d)); o.removeData(d) } if (m) { o.attr("autocomplete", "off"); window.setTimeout(function() { o.select() }, 0) } } o.removeClass(o.data(g)) }, show: function(l) { e(l).filter(a).each(function() { e.watermark._show(e(this)) }) }, _show: function(r) { var q = r.val(), p = r.data(k), n = r.attr("type"); if (((q.length == 0) || (q == p)) && (!r.data(b))) { if (r.data(f)) { if (n === "password") { var o = r.data(f), m = r.parent(); m[0].removeChild(r[0]); m[0].appendChild(o[0]); r = o; r.attr("maxLength", p.length) } } if ((n === "text") || (n === "search")) { var l = r.attr("maxLength"); if ((l > 0) && (p.length > l)) { r.data(d, l); r.attr("maxLength", p.length) } } r.addClass(r.data(g)); r.val(p) } else { e.watermark._hide(r) } }, hideAll: function() { e.watermark.hide(i) }, showAll: function() { e.watermark.show(i) } }; e.fn.watermark = function(o, l) { var n = (typeof (o) === "string"), m; if (typeof (l) === "object") { m = (typeof (l.className) === "string"); l = e.extend({}, e.watermark.options, l) } else { if (typeof (l) === "string") { m = true; l = e.extend({}, e.watermark.options, { className: l }) } else { l = e.watermark.options } } if (typeof (l.useNative) !== "function") { l.useNative = l.useNative ? function() { return true } : function() { return false } } return this.each(function() { var s = e(this); if (!s.is(i)) { return } if (s.data(j)) { if (n || m) { e.watermark._hide(s); if (n) { s.data(k, o) } if (m) { s.data(g, l.className) } } } else { if (l.useNative.call(this, s)) { if ((("" + s.css("-webkit-appearance")).replace("undefined", "") !== "") && (s.attr("tagName") !== "TEXTAREA")) { if (n) { s.attr("placeholder", o) } return } } s.data(k, n ? o : ""); s.data(g, l.className); s.data(j, 1); if (s.attr("type") === "password") { var p = s.wrap("<span>").parent(); var r = e(p.html().replace(/type=["']?password["']?/i, 'type="text"')); r.data(k, s.data(k)); r.data(g, s.data(g)); r.data(j, 1); r.attr("maxLength", o.length); r.focus(function() { e.watermark._hide(r, true) }).bind("dragenter", function() { e.watermark._hide(r) }).bind("dragend", function() { window.setTimeout(function() { r.blur() }, 1) }); s.blur(function() { e.watermark._show(s) }).bind("dragleave", function() { e.watermark._show(s) }); r.data(f, s); s.data(f, r) } else { s.focus(function() { s.data(b, 1); e.watermark._hide(s, true) }).blur(function() { s.data(b, 0); e.watermark._show(s) }).bind("dragenter", function() { e.watermark._hide(s) }).bind("dragleave", function() { e.watermark._show(s) }).bind("dragend", function() { window.setTimeout(function() { e.watermark._show(s) }, 1) }).bind("drop", function(t) { var u = t.originalEvent.dataTransfer.getData("Text"); if (s.val().replace(u, "") === s.data(k)) { s.val(u) } s.focus() }) } var q = e(this.form); if (!q.data(h)) { q.data(h, this.form.submit); q.submit(e.watermark.hideAll); this.form.submit = function() { var t = q.data(h); e.watermark.hideAll(); if (t.apply) { t.apply(q[0], arguments) } else { t() } } } } e.watermark._show(s) }).end() } })(jQuery);