function addEvent(elm, evType, fn, useCapture)
	// cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko
   // By Scott Andrew
   {
   if (elm.addEventListener) {
   	elm.addEventListener(evType, fn, useCapture); 
      return true; 
	} else if (elm.attachEvent) {
   	var r = elm.attachEvent('on' + evType, fn); 
      return r; 
   } else {
      elm['on' + evType] = fn;
   }
}

function clearFields(e){
	// Clears text fields of default text when focus is there. If the user doesn't
	// type anything it refills the fields with default text when focus is lost.
	var field;
	if (window.event && window.event.srcElement)
		field = window.event.srcElement;
	if (e && e.target)
		field = e.target;
	if (!field)
		return;
		
	if (field.value == field.defaultValue){
			field.value = '';
	} else if(field.value == ''){
			field.value = field.defaultValue;
	}
}

function addListeners(e){
	if (!document.getElementsByTagName || !document.getElementById)
		return;
	var all_inputs = document.getElementsByTagName('input');
	for (var i = 0; i < all_inputs.length; i++){
		if (all_inputs[i].type == 'text'){
			addEvent(all_inputs[i], 'focus', clearFields, false);
			addEvent(all_inputs[i], 'blur', clearFields, false);
		}
	}
}

addEvent(window, 'load', addListeners, false);