/** jQuery Placeholder 1.1 **/

(function($) {
	$.fn.placeholder = function() {  
		return this.each( function() {  
			
			var input1 		= $(this);
			var input2 		= $("<input type='text' />");
			var inputHold 	= false;
			
			var attrs = input1[0].attributes;
			
			for(var i=0; i<attrs.length; i++) {
				if (attrs[i].nodeName != "type" && attrs[i].nodeValue != "") {
					input2.attr(attrs[i].nodeName, attrs[i].nodeValue);
				}
			}
			
			if (!input1.attr("title")) {
				input1.attr("title", input1.attr("alt"));
			}
			
			input2.insertAfter(input1);
			input2.attr({
				"alt": "",
				"readonly": "readonly",
				"name":	"",
				"value": input1.attr("alt")
			});
			
			input1.hide();
			input2.show();
			
			var handleFocus1 = function () {
				if (!inputHold) {
					input2.hide();
					input1.show();
					inputHold = true;
				}
			}
			
			var handleFocus2 = function () {
				if (!inputHold) {
					input2.hide();
					input1.show().focus();
				}
			}
			
			var handleBlur1 = function () {
				if (inputHold) {
					if (input1.is("textarea") && input1.html() == "") {
						input2.show();
						input1.html("").hide();
						inputHold = false;
					} else if (input1.val() == "") {
						input2.show();
						input1.val("").hide();
						inputHold = false;
					}
				}
			}
			
			input2.unbind("focus", handleFocus2);
			input1.unbind("focus", handleFocus1);
			input1.unbind("blur", handleBlur1);
			
			input2.bind("focus", handleFocus2);
			input1.bind("focus", handleFocus1);
			input1.bind("blur", handleBlur1);
			
			handleFocus1();
			handleBlur1();
			
		});
	};  
})(jQuery);  

$(function() {
	$("input[type=text][alt!=''], input[type=password][alt!='']").placeholder();
});
