function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function prepareInputsForHints() {
	var inputs = document.getElementsByTagName("input");
	for (var i=0; i<inputs.length; i++) {
		inputs[i].onfocus = function () {
			var spans = this.parentNode.getElementsByTagName("span");
			if(spans.length > 0) {
				for(var j=0; j<spans.length; j++) {
					if(spans[j].className == "hint") {
						spans[j].style.display = "inline";
						break;
					}
				}
			}
		}
		inputs[i].onblur = function () {
			var spans = this.parentNode.getElementsByTagName("span");
			if(spans.length > 0) {
				for(var j=0; j<spans.length; j++) {
					if(spans[j].className == "hint") {
						spans[j].style.display = "none";
						break;
					}
				}
			}
		}
	}
	var texts = document.getElementsByTagName("textarea");
	for (var i=0; i<texts.length; i++) {
		texts[i].onfocus = function () {
			var spans = this.parentNode.getElementsByTagName("span");
			if(spans.length > 0) {
				for(var j=0; j<spans.length; j++) {
					if(spans[j].className == "hint") {
						spans[j].style.display = "inline";
						break;
					}
				}
			}
		}
		texts[i].onblur = function () {
			var spans = this.parentNode.getElementsByTagName("span");
			if(spans.length > 0) {
				for(var j=0; j<spans.length; j++) {
					if(spans[j].className == "hint") {
						spans[j].style.display = "none";
						break;
					}
				}
			}
		}
	}
}

addLoadEvent(prepareInputsForHints);