(function($){if(typeof($d)!="function"){$d=function(param){var node=jQuery(param)[0];var id=jQuery.data(node);jQuery.cache[id]||(jQuery.cache[id]={});jQuery.cache[id].node=node;return jQuery.cache[id];}}
$.fn.hint=function(blurClass){if(!blurClass){blurClass='blur';}
return this.each(function(){var $input=$(this),title=$input.attr('title'),isPassword=$input.attr('type')=='password',$form=$(this.form),$win=$(window);var strategies={changeValue:{init:function(){},add:function(){if($input.val()===''){$input.addClass(blurClass).val(title);}},remove:function(){if($input.val()===title&&$input.hasClass(blurClass)){$input.val('').removeClass(blurClass);}},submit:function(){this.remove();}},replaceElement:{init:function(){var $alt=$input.clone();$input.addClass("replaced-for-title");$alt.attr("id",null).attr("type","text").val(title).insertBefore($input).addClass("password-title").addClass(blurClass).hide().focus(function(){$d($alt).original.focus();});$d($input).alternative=$alt;$d($alt).original=$input;},add:function(){if($input.val()===''){$input.hide();var id=$input.attr("id");$input.attr("id",null);$d($input).alternative.attr("id",id).show();}},remove:function(){if($input.is(":hidden")){var id=$d($input).alternative.attr("id");$d($input).alternative.attr("id",null).hide();$input.attr("id",id).show();}},submit:function(){$d($input).alternative.remove();}}}
if(title){var strategyName=isPassword?"replaceElement":"changeValue";var strategy=strategies[strategyName];strategy.init();$input.blur(strategy.add).focus(strategy.remove).blur();$form.submit(strategy.submit);$win.unload(strategy.submit);}});};})(jQuery);