
//------------------------------------------------------------------

function isRequired(obj, sName)
{
  var validExp = /\s/;
  var bResult = obj.value.replace(validExp, "").length > 0;

  obj.style.backgroundColor = (bResult)? "white" : "pink";
  if (!bResult && sName != "") alert(sName + " is a required field.");

  return bResult;
}

//------------------------------------------------------------------

function isValidSelectOption(obj, sName)
{
  var bResult = obj.selectedIndex > 0;

  bResult = bResult && obj[obj.selectedIndex].value != "";
  obj.style.backgroundColor = (bResult)? "white" : "pink";
  if (!bResult && sName != "") alert("Please select a " + sName + ".");

  return bResult;
}

//------------------------------------------------------------------

function isValidEmailAddress(obj, bShowAlert)
{
  var objValue = obj.value;
  obj.value = objValue.replace(/^\s*/, "").replace(/\s*$/, "");  //trim()

  var validExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
  var bResult = obj.value.match(validExp) != null;

  obj.style.backgroundColor = (bResult)? "white" : "pink";
  if (!bResult && bShowAlert) alert("Please enter a valid email address.");

  return bResult;
}

//------------------------------------------------------------------

function isPosFloat(obj, bShowAlert)
{
  var num = parseFloat(obj.value);
  var bResult = (num != null && num >= 0);
  
  if (!bResult) {
    if (bShowAlert) alert("Please enter a non-negative number.");
    obj.style.backgroundColor = "pink";
  }
  else {
    var str = new String(num);
    var decimalPlace = str.indexOf(".");
    
    if (decimalPlace < 0)
      obj.value = str + ".00";
    else if ((str.length - decimalPlace) == 2)
      obj.value = str + "0";
    else
      obj.value = num;
      
    obj.style.backgroundColor = "white";
  }
    
  return bResult;
}

//------------------------------------------------------------------
  
function isPosInt(obj, bShowAlert)
{
  var num = parseInt(obj.value);
  var bResult = (num != null && num >= 0);
  
  if (!bResult) {
    if (bShowAlert) alert("Please enter a non-negative integer.");
    obj.style.backgroundColor = "pink";
  }
  else {
    obj.value = num;
    obj.style.backgroundColor = "white";
  }
    
  return bResult;
}
  
//------------------------------------------------------------------
  
function isPosIntWithMinimum( obj, minimum, bShowAlert )
{
	minimum = ( minimum )? minimum : 0;
  var num = parseInt( obj.value );
  var bResult = ( num !== null && num >= minimum );
  
  if ( !bResult ) {
    if ( bShowAlert ) alert( "Please enter an integer that is greater than or equal to " + minimum + "." );
    obj.style.backgroundColor = "pink";
  }
  else {
    obj.value = num;
    obj.style.backgroundColor = "white";
  }
    
  return bResult;
}
  
//------------------------------------------------------------------
