/* text input default text (stored in <label for="" title="default text"/>*/
var DefaultText = Class.create({
	initialize: function(labels){
		var elLabels = $A(labels);

		if(!elLabels){return;}
		
		var clearHandler = this.clearDefaultText.bindAsEventListener(this);
		var replaceHandler = this.replaceDefaultText.bindAsEventListener(this);
		
		elLabels.each(function(lbl){
			var txtInput = $(lbl.readAttribute('for'));
			if(txtInput){
				// add default text to text input from label's title
				txtInput.defaultText = lbl.readAttribute('title');
				txtInput.observe('focus', clearHandler);
				txtInput.observe('blur', replaceHandler);
				
				//set the initial default text
				if(txtInput.value == ''){
					txtInput.value = txtInput.defaultText;
				}
			}
		});
	},
	
	clearDefaultText: function(e){
		var elTxtInput = e.element();
		if (elTxtInput.value == elTxtInput.defaultText) {
			elTxtInput.value = '';
		}
	},
	
	replaceDefaultText: function(e){
		var elTxtInput = e.element();
		if (elTxtInput.value == '' && elTxtInput.defaultText) {
		  elTxtInput.value = elTxtInput.defaultText;
		}	
	}
});
/*
sample usage:
// Search for google search textbox
document.observe('dom:loaded', function(){
	// default text
	if($('google_search')){
		var defaultText = new DefaultText($$('div#google_search label'));
	}
});
*/

