function SF_validateForm(myform, errmsg)
{
//alert("Date needed: " + myform.elements[16].value);
//alert("Comments:  " +  myform.elements[18].value);
  function imageElementFromFieldElement(fieldElem)
  {
    return $(fieldElem).previous('img');
  }
  
  var image_required_src = '/images/form-required.gif';
  var image_missing_src = '/images/form-missing.gif';
  var OKForm = true;
  var firstBadElement = null;
  var TodaysDate = new Date()

  for (var x = 0; x < myform.length; x++)   //look thru fields for fields with required images
  {
    var fieldElement = myform.elements[x];
    var imageElement = imageElementFromFieldElement(fieldElement);
    if (imageElement != null)
    {
      var fieldError = false;
      if ((fieldElement.name == 'email') && (fieldElement.value.search(/^.+@.+\..+$/) == -1))
        fieldError = true;
      if ((fieldElement.value == "") || (fieldElement.value == "-") || fieldError)  //missing data?
      {
        if (firstBadElement == null)
        {
          //remember the first missing one
          firstBadElement = fieldElement;
        }
        OKForm = false;

        imageElement.src = image_missing_src; //change pictures
      }
      else
      {
        imageElement.src = image_required_src; //change pictures
      }
    }
  }
  if (firstBadElement != null)
  {
    if (errmsg != null)
    {
      alert(errmsg);
      //alert(myform.elements[16].value);
      //OKForm = true; //this line needs to be removed after testing
    }
    firstBadElement.focus();   //point us to the first missing data
  }
  	

if (false && OKForm == true)
{
 var IsDateValid = true;
		 
re = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/; 

if(myform.elements[16].value != '') 
{ 
   if(regs = myform.elements[16].value.match(re)) 
   { 
     if(regs[1] < 1 || regs[1] > 12) 
     { 
     alert("You entered an invalid month value."); 
     myform.elements[16].focus();
     IsDateValid = false; 
     OKForm =  false; 
     } 
       if(regs[2] < 1 || regs[2] > 31) 
       { 
       alert("You entered an invalid day value."); 
       myform.elements[16].focus();
       IsDateValid = false; 
       OKForm =  false; 
       } 
         if(regs[3] < (new Date()).getFullYear() || regs[3] > 2050) 
         { 
         alert("You entered an invalid year value It must be between " + (new Date()).getFullYear() + " and 2050.");
         myform.elements[16].focus(); 
         IsDateValid = false;
         OKForm =  false; 
         } 
   } else { 
   alert("The date format you entered is incorrect. The format must be MM/DD/YYYY"); 
   myform.elements[16].focus();
   IsDateValid = false; 
   OKForm =  false; 
   } 
}
      if (IsDateValid == true)
      {
	var TwoWeeksFromNow = new Date();
	TwoWeeksFromNow.setDate(TodaysDate.getDate()+14);

	if (Date.parse(myform.elements[16].value) > Date.parse(TwoWeeksFromNow))
	{
        //alert("this is valid no confirm box")
	OKForm = true;
	} else {
         
if(myform.elements[18].value == '')
{
var ChangeDate= confirm("The date you entered is not past the required two week time frame. You must enter a reason for expediting this request in the comments box. Click Ok if you want enter comments. If you would like to change this date click cancel");
} else {
var ChangeDate= confirm("The date you entered is not past the required two week time frame. Click Ok if you want to submit the form. If you would like to change this date click cancel");
}
		
		if(ChangeDate == true)
		{
			//alert(myform.elements[21].value);
			if(myform.elements[18].value != '')
			{
			OKForm = true;
			} else {
			OKForm = false;
			}
		} else {
		//alert("you canceled and want to change the date")
		OKForm = false;
		}
	
	}
      }
	
}






  return OKForm;                //return and continue processing if needed.
}

