    // Set backgroudn color
    function setBackgroundColor( obj, color ){
      if( obj.runtimeStyle )   // Damn IE vs mozilla
        obj.runtimeStyle.backgroundColor = color;
	   else
	     obj.style.backgroundColor = color;
    }
    /**
	 * Determine if given string contains only digits
	**/
	function isAllDigits(argvalue) {
		argvalue = argvalue.toString();
		var validChars = "0123456789";		
		for (var n = 0; n < argvalue.length; n++) {
			if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) {
				return false;
			}
		}
		return true;
	}

	/**
	 * Retrieve by class name
	**/
	function getElementsByStyleClass (className) {
	  var all = document.all ? document.all : document.getElementsByTagName('*');
	  var elements = new Array();
	  for (var e = 0; e < all.length; e++)
		if (all[e].className == className)
		  elements[elements.length] = all[e];
	  return elements;
	}

	/**
	 * Validate all required fields
	**/
	function validateRequiredFields() {
		var requiredFields = getElementsByStyleClass( 'required' );
		var foundError = false;
		// Validate!
		for(var i=0;i<requiredFields.length;i++)
		{
			if( requiredFields[i].value==null ||
				requiredFields[i].value=='' )
			{
				if( !foundError )
					requiredFields[i].focus();

				foundError = true;
				setBackgroundColor(requiredFields[i], '#FF0000');	// red
			}else{
                if( requiredFields[i].runtimeStyle )
				    requiredFields[i].runtimeStyle.backgroundColor = requiredFields[i].style.backgroundColor;
                else
                    requiredFields[i].style.backgroundColor = '#FFFFFF'; // white
            }

		}
		if( foundError ){
			alert("You must fill out all required fields.");
			return false;
		}
		return true;
	}
