function checkFields() 
{
 missinginfo = "";

 if (document.app.fname.value == "") 
 {
  missinginfo += "\n - First Name";
 }

 if (document.app.lname.value == "")
 {
  missinginfo += "\n - Last Name";
 }

 if (document.app.address.value == "")
 {
  missinginfo += "\n - Address";
 }

 if (document.app.city.value == "")
 {
  missinginfo += "\n - City";
 }

 if (document.app.state.value == "")
 {
  missinginfo += "\n - State";
 }

 if (document.app.zip.value == "")
 {
  missinginfo += "\n - Zip Code";
 }

 if (document.app.phone.value == "")
 {
  missinginfo += "\n - Day Phone";
 }

 if (!validEmail(document.app.email.value)) 
 {
  missinginfo += "\n - Valid Email Address";
 }

 if (document.app.experience.value == "")
 {
  missinginfo += "\n - Type of Experience";
 }

 if (document.app.qualifications.value == "")
 {
  missinginfo += "\n - Special Qualifications";
 }

var misdemeanorSelected = false;
for (i = 0;  i < document.app.misdemeanor.length;  i++)
{
if (document.app.misdemeanor[i].checked)
misdemeanorSelected = true;
}
if (!misdemeanorSelected)
{
  missinginfo += "\n - Misdemeanor Convictions";
}

misdemeanorButton = -1;
 for (i=0; i<document.app.misdemeanor.length; i++) 
 {
  if (document.app.misdemeanor[i].checked) 
  {
   misdemeanorButton = i;
  }
 }

 if (misdemeanorButton == 0 && document.app.expmisdemeanor.value == "")  
 {
  missinginfo += "\n - Explain Misdemeanor Conviction";
 }

var felonySelected = false;
for (i = 0;  i < document.app.felony.length;  i++)
{
if (document.app.felony[i].checked)
felonySelected = true;
}
if (!felonySelected)
{
  missinginfo += "\n - Felony Convictions";
}

felonyButton = -1;
 for (i=0; i<document.app.felony.length; i++) 
 {
  if (document.app.felony[i].checked) 
  {
   felonyButton = i;
  }
 }

 if (felonyButton == 0 && document.app.expfelony.value == "")  
 {
  missinginfo += "\n - Explain Felony Conviction";
 }

var drugtestSelected = false;
for (i = 0;  i < document.app.drugtest.length;  i++)
{
if (document.app.drugtest[i].checked)
drugtestSelected = true;
}
if (!drugtestSelected)
{
  missinginfo += "\n - Drug Screen";
}

var recordSelected = false;
for (i = 0;  i < document.app.record.length;  i++)
{
if (document.app.record[i].checked)
recordSelected = true;
}
if (!recordSelected)
{
  missinginfo += "\n - Accidents or Infractions";
}

recordButton = -1;
 for (i=0; i<document.app.record.length; i++) 
 {
  if (document.app.record[i].checked) 
  {
   recordButton = i;
  }
 }

 if (recordButton == 0 && document.app.exprecord.value == "")  
 {
  missinginfo += "\n - Explain Accident or Infraction";
 }

var employedSelected = false;
for (i = 0;  i < document.app.employed.length;  i++)
{
if (document.app.employed[i].checked)
employedSelected = true;
}
if (!employedSelected)
{
  missinginfo += "\n - Currently Employed";
}

var appliedSelected = false;
for (i = 0;  i < document.app.applied.length;  i++)
{
if (document.app.applied[i].checked)
appliedSelected = true;
}
if (!appliedSelected)
{
  missinginfo += "\n - Applied Before";
}

 if (document.app.position.value == "")
 {
  missinginfo += "\n - Position";
 }

 if (document.app.hours.value == "")
 {
  missinginfo += "\n - Hours";
 }

var weekendsSelected = false;
for (i = 0;  i < document.app.weekends.length;  i++)
{
if (document.app.weekends[i].checked)
weekendsSelected = true;
}
if (!weekendsSelected)
{
  missinginfo += "\n - Available Weekends";
}

var educationSection = false;
for (i = 0;  i < document.app.education.length;  i++)
{
if (document.app.education[i].checked)
educationSection = true;
}
if (!educationSection)
{
  missinginfo += "\n - Education";
}

 if (document.app.empname1.value == "")
 {
  missinginfo += "\n - Employer Name";
 }

 if (document.app.empaddress1.value == "")
 {
  missinginfo += "\n - Employer Address";
 }

 if (document.app.empcity1.value == "")
 {
  missinginfo += "\n - Employer City";
 }

 if (document.app.empstate1.value == "")
 {
  missinginfo += "\n - Employer State";
 }

 if (document.app.empstart1.value == "")
 {
  missinginfo += "\n - Start Date";
 } 
 else if (!checkDate(document.app.empstart1.value)) 
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for start date (Employer 1)";
 }

 if (document.app.empstart2.value != "" && !checkDate(document.app.empstart2.value))
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for start date (Employer 2)";
 }

 if (document.app.empstart3.value != "" && !checkDate(document.app.empstart3.value))
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for start date (Employer 3)";
 }

 if (document.app.empstart4.value != "" && !checkDate(document.app.empstart4.value))
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for start date (Employer 4)";
 }

 if (document.app.empstart5.value != "" && !checkDate(document.app.empstart5.value))
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for start date (Employer 5)";
 }

 if (document.app.empend1.value == "")
 {
  missinginfo += "\n - End Date";
 }
 else if (!checkDate(document.app.empend1.value)) 
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for end date (Employer 1)";
 }

if (document.app.empend2.value != "" && !checkDate(document.app.empend2.value))
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for end date (Employer 2)";
 }

 if (document.app.empend3.value != "" && !checkDate(document.app.empend3.value))
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for end date (Employer 3)";
 }

 if (document.app.empend4.value != "" && !checkDate(document.app.empend4.value))
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for end date (Employer 4)";
 }

 if (document.app.empend5.value != "" && !checkDate(document.app.empend5.value))
 {
  missinginfo += "\n - Please enter a valid date as mm/yyyy for end date (Employer 5)";
 }

 if (document.app.empposition1.value == "")
 {
  missinginfo += "\n - Position Held";
 }

 if (document.app.reason1.value == "")
 {
  missinginfo += "\n - Reason for Leaving";
 }

 if (missinginfo != "") 
 {
  missinginfo ="Missing Information\n" + missinginfo;
 alert(missinginfo);
 return false;
 }

 else return true;

}

function validEmail(email)
{
 invalidChars = " /:,;"
 if (email == "") 
 {
  return false;
 }
  
 for (i=0; i<invalidChars.length; i++) 
 {
  badChar = invalidChars.charAt(i)
  
  if (email.indexOf(badChar,0) > -1) 
  {
   return false;
  }
 }

 atPos = email.indexOf("@",1)
 if (atPos == -1) 
 {
  return false;
 }
   
 if (email.indexOf("@",atPos+1) > -1) 
 {
  return false;
 }
 
 periodPos = email.indexOf(".",atPos)
 if (periodPos == -1) 
 {
  return false;
 }
 
 if (periodPos+3 > email.length)	
 {
  return false;
 }

 return true;

}

function checkDate(date) {
   var validformat = /^\d{2}\/\d{4}$/;
   
   if (!validformat.test(date)) {
      return false;
   }
   else if (validformat.test(date)) {
      var fullDate = date;
      var month = fullDate.split("/")[0];
      var day = 15;
      var year = fullDate.split("/")[1];
      var dayObject = new Date(year, month - 1, day);

      if ((dayObject.getMonth() + 1 != month) || (dayObject.getDate() != day) || (dayObject.getFullYear() != year)) {
         return false;
      }
   }
   return true;
}

