function validateFormPage3(theForm)
{

}

function checkPhone (theForm) 
{  var error = "";
   var result = true;
   strng = theForm.value;
   if (strng == "") {
      error = "You didn't enter a phone number.\n";
      alert(error);
      result = false;
      return result;
   }

   var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped, 10))) {
       error = "The phone number contains illegal characters.";
       alert(error);
       result = false;
       return result;
    }
    if (!(stripped.length == 10)) {
       error = "The phone number is the wrong length. Make sure you included an area code.";
       alert(error);
       result = false;
       return result;
    } 
    return result;
}



function validateForm(theForm)
{
        // Customize these calls for your form

        // Start ------->
        if (!validRequired(theForm.cname,"Name")) return false;
        if (!validRequired(theForm.pname,"Person Requesting")) return false;
        if (!validRequired(theForm.caddress1,"Address1")) return false;
        if (!validRequired(theForm.ccity,"City")) return false;
        if (!validRequired(theForm.cstate,"State")) return false;
        if (!validNum(theForm.czip,"ZIP",1)) return false;
        if (!checkPhone(theForm.chomephone)) 
        {  theForm.chomephone.focus();
           return false;
        }
        if (!validEmail(theForm.cemail,"Email Address",true))
                return false;

        // <--------- End

        return true;
}

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}

function Empty(formField)
{
	var result = false;
	
	if (formField.value == "")
	{ result = true; }
	
	return result;
}


function allDigits(str)
{
	return inValidCharSet(str,"0123456789-");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
   
  return result;

}

function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validDate(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var elems = formField.value.split("/");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
 			var month = parseInt(elems[0],10);
  			var day = parseInt(elems[1],10);
 			var year = parseInt(elems[2],10);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}
 		
  		if (!result)
 		{
 			alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
			formField.focus();		
		}
	} 
	
	return result;
}

function ValidateInteger(aElement, aiMin, aiMax, aiDefault)
{
  var lsElementValue = aElement.value
  if (lsElementValue == "")
  {
    alert("Enter a number in the field, please.")
    aElement.value = aiDefault
    return false
  }
  for (var i = 0; i < lsElementValue.length; i++)
  {
    var lsCh = lsElementValue.substring(i, i + 1)
    if ((lsCh < "0") || (lsCh > "9"))
    {
      
      alert("Enter a number, please.")
      aElement.value = aiDefault
      return false
    }
  }
  var liVal = parseInt(lsElementValue, 10)
  if ((liVal < aiMin) || (liVal > aiMax))
  {
    alert("Enter a number from " + aiMin + " to " + aiMax + ".")
    aElement.value = aiDefault
    return false
  }
  aElement.value = liVal
  return true
}

function ValidateDollar(aElement, arMin, arMax, asDefault)
{
  var lsElementValue = aElement.value
  if (lsElementValue == "")
  {
    alert("Enter a number in the field, please.")
    aElement.value = asDefault
    return false
  }
  var lsBuffer1 = ""
  for (var i = 0; i < lsElementValue.length; i++)
  {
    var lsCh = lsElementValue.substring(i, i + 1)
    if ((lsCh >= "0") && (lsCh <= "9"))
      lsBuffer1 += lsCh;
    else if ((lsCh != "$") && (lsCh != ","))
    {
      alert("Enter a number, please.")
      aElement.value = asDefault
      return false
    }
  }
  var lrVal = parseFloat(lsBuffer1)
  if ((lrVal < arMin) || (lrVal > arMax))
  {
    alert("Try a number from $" + arMin + " to $" + arMax + ".")
    aElement.value = asDefault
    return false
  }
  else
  {
    var liComma = 0
    var lsBuffer2 = ""
    for (var i = lsBuffer1.length; i > 0; i--)
    {
      if (liComma > 2)
      {
        lsBuffer2 += ","
        liComma = 0
      }
      lsBuffer2 += lsBuffer1.substring(i, i - 1);
      liComma += 1
    }
    lsBuffer1 = "$"
    for (var i = lsBuffer2.length; i > 0; i--)
      lsBuffer1 += lsBuffer2.substring(i, i - 1)
    aElement.value = lsBuffer1
  }
  return true
}

function ValidatePercent(aElement, arMin, arMax, asDefault)
{
  var lsElementValue = aElement.value
  if (lsElementValue == "")
  {
    alert("Enter a number in the field, please.")
    aElement.value = asDefault
    return false
  }
  var lsBuffer1 = ""
  for (var i = 0; i < lsElementValue.length; i++)
  {
    var lsCh = lsElementValue.substring(i, i + 1)
    if (((lsCh >= "0") && (lsCh <= "9")) || (lsCh =="."))
      lsBuffer1 += lsCh;
    else if (lsCh !="%")
    {
      alert("Enter a number, please.")
      aElement.value = asDefault
      return false
    }
  }
  var lrVal = parseFloat(lsBuffer1)
  if (lrVal >= 1)
    lrVal /= 100
  if ((lrVal < (arMin)) || (lrVal > (arMax)))
  {
    alert("Enter a number from " + (arMin * 100) + "% to " + (arMax * 100) + "%.")
    aElement.value = asDefault
    return false
  }
  else
  {
    lsBuffer = round(lrVal * 100, 2)
    aElement.value = lsBuffer + "%";
  }
  return true
}

function round(number,X) 
{
  // rounds number to X = (!X ? 3 : X);
  return Math.round(number*Math.pow(100,X))/Math.pow(100,X);
}
