/*
(c) Teamrubber 2008
Author: Owen Curtis-Quick
Description:
	• takes default text from css class - e.g. prevents: search for "monkeys", page reloads, "monkeys" becomes the default text
	• default input text is in a different colour
	• onfocus - clears input if default
	• onblur - restores default if blank

auto example - better for lazy coders, and code seperation purists 
	<input type="text" class="default-text-MY-MESSAGE" />
	
manual example - better for progressive loading 
	<input type="text" id="search" /><script text="text/javascript">addInputHelp(search, 'enter message')</script>

sever side code is still needed to ignore default text
*/

function addInputHelp(element_or_id, msg) {
	ele = (element_or_id.id == null) ? document.getElementById(element_or_id) : element_or_id

	default_colour = "#8D8D8D" // grey
	
	if (msg){ // msg is optional parameter
		ele.default_text = msg // store override default value // incases where user input is already filled
		if (msg == ele.value){
			ele.style.color = default_colour
		}
	} else {
		ele.style.color = default_colour
		ele.default_text = ele.value // store default value 
	}
	
	ele.onfocus = function (){ // on focus
		if (this.value == this.default_text){ // is default
			this.value = '' // blank input
			this.style.color = null // remove help styling
		}
	}

	ele.onblur = function (){ // on blur
		if (this.value == '' || this.value == this.default_text){ // if blank or default value
			this.value = this.default_text // revert to default value
			this.style.color = default_colour
		}
	}
}	

function addInputHelp_init() {
	inputs = document.getElementsByTagName('input')
	num_inputs = inputs.length 
	
	for (var i = 0; i < num_inputs; i++) {
		
		ar = inputs[i].className.split('default-text-')

		default_text = null // extracted from class name
		if (ar.length == 2){
			ar = ar[1].split(' ') // ignore class after
			default_text = ar[0].replace(/-/g, ' ') // remove spaces
		}   
		
		if (inputs[i].type == 'text' && default_text) {  
			addInputHelp(inputs[i], default_text)
		}
	}
}

// cross browser on load event
if (window.attachEvent){
	window.attachEvent('load',addInputHelp_init)
} else {
	window.addEventListener('load',addInputHelp_init,false);
}