function showHintForInput(ev2) {
  var elem = Event.element(ev2?ev2:event);
	var spanlist = elem.parentNode.getElementsByTagName("span");
	for (var ii = 0; ii < spanlist.length; ii++) { 
    	var ele = $(spanlist[ii]);
		if(ele.hasClassName('hint') && ele.parentNode==elem.parentNode) {
            ele.style.display = 'inline';
		}
	}
}
function hideHintForInput(ev2) {
  var elem = Event.element(ev2?ev2:event);
	var spanlist = elem.parentNode.getElementsByTagName("span");
	for (var ii = 0; ii < spanlist.length; ii++) { 
    	var ele = $(spanlist[ii]);
		if(ele.hasClassName('hint') && ele.parentNode==elem.parentNode) {
            ele.style.display = 'none';
		}
	}
}
function prepareInputsForHints() {
	var inputs = document.getElementsByTagName("input");
	for (var i=0; i<inputs.length; i++){
		var spanlist = inputs[i].parentNode.getElementsByTagName("span");
		for (var ii = 0; ii < spanlist.length; ii++) { 
			var ele = $(spanlist[ii]);
			if(ele.hasClassName('hint') && ele.parentNode==inputs[i].parentNode) {
				//alert("ele id = "+ele.identify());
			 Position.prepare();
			 var ip = Element.positionedOffset(inputs[i]);
			 ele.setStyle({
              left: ($(inputs[i].identify()+"_stat") ? ip[0]+Element.getWidth(inputs[i])+30 + 'px' : ip[0]+Element.getWidth(inputs[i])+10 + 'px'),
              top: ip[1] + 'px'
             });
             inputs[i].onfocus = showHintForInput;
             inputs[i].onblur = hideHintForInput;
			}
		}
	}
	// repeat the same tests as above for selects
	var selects = document.getElementsByTagName("select");
	for (var k=0; k<selects.length; k++){
		var spanlist = selects[k].parentNode.getElementsByTagName("span");
		for (var ii = 0; ii < spanlist.length; ii++) { 
			var ele = $(spanlist[ii]);
		    if (ele.hasClassName('hint') && ele.parentNode==inputs[i].parentNode) {
			 Position.prepare();
			 var ip = Position.cumulativeOffset(selects[k]);
			 ele.setStyle({
              left: ip[0]+Element.getWidth(selects[k])+10 + 'px',
              top: ip[1] + 'px'
             });
             selects[k].onfocus = showHintForInput;
             selects[k].onblur = hideHintForInput;
		    }
		}
	}
}
Event.observe(window,'load',prepareInputsForHints);
