/*
 *
 * Copyright (c) 2009 C. F., Wong (<a href="http://cloudgen.w0ng.hk">Cloudgen Examplet Store</a>)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * See details in: <a href="http://cloudgen.w0ng.hk/javascript/javascript.php">Javascript Examplet</a>
 *
 */
﻿(function($){
	var className="DefaultText";
	function DefaultText(target){
		if(target){
			this.className=className;
			this.target=$(target).data(className,this);
			this.init();
		}
	}
	DefaultText.prototype.init=function(){
		this.defaultText=this.target.attr("rel");
		if(this.isDefault()) this.setDefault();
		else this.setNormal();
		this.target.closest("form").submit(function(){
			$("input:text",this).each(function(){
				if(typeof $(this).data(className)!="undefined" && $(this).data(className).isDefault()) 
					$(this).data(className).clear();
			})
		})
	}
	DefaultText.prototype.setDefault=function(){
		this.target.css({color:"#000"}).val(this.defaultText)
		this.target.css({color:"#AAA"})
	};
	DefaultText.prototype.setNormal=function(){
		this.target.css({color:"#000"})
	};
	DefaultText.prototype.clear=function(){
			if(this.target.attr("value")==this.target.attr("rel"))
				this.target.css({color:"#000"}).attr("value","")
	};
	DefaultText.prototype.isDefault=function(){
			return (this.target.attr("value")==this.target.attr("rel") || this.target.attr("value")=="")
	};
	$.fn.addDefaultText=function(){
		this.each(function(){
			new DefaultText(this)
		}).click(function(){
			$(this).data(className).clear();
		}).keydown(function(){
			$(this).data(className).clear();
		}).blur(function(){
			if($(this).data(className).isDefault()) $(this).data(className).setDefault();
			else $(this).data(className).setNormal();
		});
		return this
	};
})(jQuery);
