/* 
 * Cross-browser event handling, by Scott Andrew
 */
function addEvent(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } else {
        return false;
    }
}

/* 
 * Kills an event's propagation and default action
 */
function knackerEvent(eventObject) {
    if (eventObject && eventObject.stopPropagation) {
        eventObject.stopPropagation();
    }
    if (window.event && window.event.cancelBubble ) {
        window.event.cancelBubble = true;
    }
    
    if (eventObject && eventObject.preventDefault) {
        eventObject.preventDefault();
    }
    if (window.event) {
        window.event.returnValue = false;
    }
}

/*
			 * Clear Default Text: functions for clearing and replacing default text in
			 * <input> elements.
			 *
			 * by Ross Shannon, http://www.yourhtmlsource.com/
			 */

			addEvent(window, 'load', init, false);

			function init() {
				var formInputs = document.getElementsByTagName('input');
				for (var i = 0; i < formInputs.length; i++) {
					var theInput = formInputs[i];
					
					if (theInput.type == 'text' && theInput.className.match(/\bcleardefault\b/)) {  
						/* Add event handlers */          
						addEvent(theInput, 'focus', clearDefaultText, false);
						addEvent(theInput, 'blur', replaceDefaultText, false);
						
						/* Save the current value */
						if (theInput.value != '') {
							theInput.defaultText = theInput.value;
						}
					}
				}
			}

			function clearDefaultText(e) {
				var target = window.event ? window.event.srcElement : e ? e.target : null;
				if (!target) return;
				
				if (target.value == target.defaultText) {
					target.value = '';
				}
			}

			function replaceDefaultText(e) {
				var target = window.event ? window.event.srcElement : e ? e.target : null;
				if (!target) return;
				
				if (target.value == '' && target.defaultText) {
					target.value = target.defaultText;
				}
			}
