function get_by_id(id)
{
	element = null;

	if ( document.getElementById )
	{
		element = document.getElementById(id);
	}
	else if ( document.all )
	{
		element = document.all[id];
	}
	else if ( document.layers )
	{
		element = document.layers[id];
	}

	return element;
}

function show_id(elmtid)
{
	var refelmtid = get_by_id(elmtid);
	
	if ( refelmtid )
	{
		refelmtid.style.display = 'inline';
	}
}

function hide_id(elmtid)
{
	var refelmtid = get_by_id(elmtid);
	
	if ( refelmtid )
	{
		refelmtid.style.display = 'none';
	}
}

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++){
		// test to see if the hint span exists first
		if (inputs[i].parentNode.getElementsByTagName("div")[0]) {
			// the span exists!  on focus, show the hint
			inputs[i].onfocus = function () {
				this.parentNode.getElementsByTagName("div")[0].style.display = "inline";
			}
			// when the cursor moves away from the field, hide the hint
			inputs[i].onblur = function () {
				this.parentNode.getElementsByTagName("div")[0].style.display = "none";
			}
		}
	}
	// repeat the same tests as above for selects
	var selects = document.getElementsByTagName("select");
	for (var k=0; k<selects.length; k++){
		if (selects[k].parentNode.getElementsByTagName("div")[0]) {
			selects[k].onfocus = function () {
				this.parentNode.getElementsByTagName("div")[0].style.display = "inline";
			}
			selects[k].onblur = function () {
				this.parentNode.getElementsByTagName("div")[0].style.display = "none";
			}
		}
	}
}