(function(H){var F,B="watermark",J="watermarkClass",E="watermarkFocus",K="watermarkSubmit",G="watermarkMaxLength",I="watermarkPassword",C="watermarkText",D=":data("+B+")",A=":text,:password,textarea";H.extend(H.expr[":"],{data:function(L,Q,N,O){var M,P=/^((?:[^=!^$*]|[!^$*](?!=))+)(?:([!^$*]?=)(.*))?$/.exec(N[3]);if(P){M=H(L).data(P[1]);if(M!==F){if(P[2]){M=""+M;switch(P[2]){case"=":return(M==P[3]);case"!=":return(M!=P[3]);case"^=":return(M.slice(0,P[3].length)==P[3]);case"$=":return(M.slice(-P[3].length)==P[3]);case"*=":return(M.indexOf(P[3])!==-1)}}return true}}return false}});H.watermark={className:"watermark",hide:function(L){H(L).filter(D).each(function(){H.watermark._hide(H(this))})},_hide:function(N,L){if(N.val()==N.data(C)){N.val("");if(N.data(I)){if(N.attr("type")==="text"){var M=N.data(I),O=N.parent();O[0].removeChild(N[0]);O[0].appendChild(M[0]);N=M}}if(N.data(G)){N.attr("maxLength",N.data(G));N.removeData(G)}if(L){N.attr("autocomplete","off");window.setTimeout(function(){N.select()},0)}}N.removeClass(N.data(J))},show:function(L){H(L).filter(D).each(function(){H.watermark._show(H(this))})},_show:function(Q){var P=Q.val(),N=Q.data(C);if(((P.length==0)||(P==N))&&(!Q.data(E))){if(Q.data(I)){if(Q.attr("type")==="password"){var M=Q.data(I),L=Q.parent();L[0].removeChild(Q[0]);L[0].appendChild(M[0]);Q=M}}if(Q.attr("type")==="text"){var O=Q.attr("maxLength");if((O>0)&&(N.length>O)){Q.data(G,O);Q.attr("maxLength",N.length)}}Q.val(N);Q.addClass(Q.data(J))}else{H.watermark._hide(Q)}},hideAll:function(){H.watermark.hide(A)},showAll:function(){H.watermark.show(A)}};H.fn.watermark=function(N,M){var L=(typeof(N)==="string"),O=(typeof(M)==="string");return this.filter(A).each(function(){var Q=H(this);if(Q.data(B)){if(L||O){H.watermark._hide(Q);if(L){Q.data(C,N)}if(O){Q.data(J,M)}}}else{Q.data(C,L?N:"");Q.data(J,O?M:H.watermark.className);Q.data(B,1);if(Q.attr("type")==="password"){var R=Q.wrap("<span>").parent();var P=H(R.html().replace(/type=["']?password["']?/i,'type="text"'));P.data(C,Q.data(C));P.data(J,Q.data(J));P.data(B,1);P.focus(function(){H.watermark._hide(P,true)});Q.blur(function(){H.watermark._show(Q)});P.data(I,Q);Q.data(I,P)}else{Q.focus(function(){Q.data(E,1);H.watermark._hide(Q,true)}).blur(function(){Q.data(E,0);H.watermark._show(Q)})}var S=H(this.form);if(!S.data(K)){S.data(K,this.form.submit);S.submit(H.watermark.hideAll);this.form.submit=function(){H.watermark.hideAll();S.data(K).apply(S[0],arguments)}}}H.watermark._show(Q)}).end()}})(jQuery);
