function validEmail(email) 
{
        invalidChars = " /:,;"
        if (email == "") 
        { 
	        return true;
        }

    for (i=0; i<invalidChars.length; i++)  // does it contain any invalid characters?
        { 
        badChar = invalidChars.charAt(i)
        if (email.indexOf(badChar,0) > -1) 
                {
                         return false
        }
        }

        atPos = email.indexOf("@",1)                    // there must be one "@" symbol
                if (atPos == -1) 
                {       
                        return false                   
                }
        if (email.indexOf("@",atPos+1) != -1) // and only one "@" symbol
                { 
                return false                
                }

        periodPos = email.indexOf(".",atPos)
        if (periodPos == -1)                                            // and at least one "." after the "@"
                {                                  
                return false
                }

        if (periodPos+3 > email.length)                         // must be at least 2 characters after the "."
                {               
                        return false               
                }


     return true
}
                
function isNum(passedVal) 
{                                     
        if (passedVal == "") 
        {       
	        return false
	}
                        
        for (i=0; i<passedVal.length; i++) 
        {
                if (passedVal.charAt(i) < "0") {return false}                        
                if (passedVal.charAt(i) > "9") {return false}   
        }
        return true
}


function alphaNum(passedValue)
{
     passedVal = passedValue.toLowerCase();
     if (passedVal == "")
     {
        return false 
     } 
 
    for (i=0; i<passedVal.length; i++)
    {
       if((!((passedVal.charAt(i) <= "z")&&(passedVal.charAt(i) >= "a")))&&(!((passedVal.charAt(i) <= 9)&&(passedVal.charAt(i) >= 0)))) 
         {return false;}
    }
    return true
}

                
function rightLength(passedVal) 
{
        if (passedVal.length != 5) {return false}
        return true
}

function idLength(passedVal)
{
        if (passedVal.length < 9) {return false}
        return true
}

function validZip(inZip) 
        {                                      
                if (inZip == "") {return true}
	        if (isNum(inZip) && rightLength(inZip)) {return true}
                return false
        }

function valid2(num)
{ 
   if((num.length == 2) && (isNum(num))) {return true;}
   return false; 
} 


function valid3(num)
{
   if((num.length == 3) && (isNum(num))) {return true;}
   return false;
}

function valid4(num)
{
   if((num.length == 4) && (isNum(num))) {return true;}
   return false;
}

function vid2(str)
{ 
   if((str.length == 2) && (alphaNum(str))) {return true;}
   return false;
} 
 
 
function vid3(str)
{ 
   if((str.length == 3) && (alphaNum(str))) {return true;}
   return false;
} 
 
function vid4(str) 
{ 
   if((str.length == 4) && (alphaNum(str))) {return true;}
   return false;
}


function submitIt(form) 
{

        if (form.ST_FN.value == "") 
        {
        alert("Please enter youth's first name."); form.ST_FN.focus(); return false;
        }
        if (form.ST_LN.value == "") 
        {
        alert("Please enter youth's last name."); form.ST_LN.focus(); return false;
        }
        if (form.P1_FN.value == "") 
        {
        alert("Please enter parent/guardian's first name."); form.P1_FN.focus(); return false;
        }
        if (form.P1_LN.value == "") 
        {
        alert("Please enter parent/guardian's last name."); form.P1_LN.focus(); return false;
        }
        if (form.P1_STR.value == "") 
        {
        alert("Please enter youth's street address."); form.P1_STR.focus(); return false;
        }
        if (form.P1_CITY.value == "") 
        {
        alert("Please enter youth's city."); form.P1_CITY.focus(); return false;
        }
        if (form.P1_STATE.options[0].selected)
        {
        alert("Please enter youth's state."); form.P1_STATE.focus(); return false;
        }
        if (form.P1_ZIP.value == "") 
        {
        alert("Please enter youth's zip code."); form.P1_ZIP.focus(); return false;
        }

        // check to see if the email's valid
        if (!validEmail(form.P1_MAIL.value)) 
        {
	    alert("Invalid email address");
	    form.P1_MAIL.focus();
	    form.P1_MAIL.select();
	    return false;
        }
                                              
        if (!validZip(form.P1_ZIP.value)) 
        {
            alert("That is an invalid Zip code");
            form.P1_ZIP.focus();
            form.P1_ZIP.select();
            return false;
        }


       //check to see if the id nums are okay
        if(!(form.id1.value == "" && form.id2.value == "" && form.id3.value == ""))    // had to do it this way because can't return true in this part or it messes up the following stuff 
        { 
           if(!vid2(form.id1.value) || !vid4(form.id2.value) || !vid3(form.id3.value))
           {
              alert("Invalid ID number")
              form.id1.focus();
              form.id1.select();
              return false;
           }
        }

	//check to see if the youth phone number is ok
	if(!(form.yph1.value == "" && form.yph2.value == "" && form.yph3.value == ""))    // had to do it this way because can't return true in this part or it messes up the following stuff
	{	
	   if(!valid3(form.yph1.value) || !valid3(form.yph2.value) || !valid4(form.yph3.value))
	   {
	      alert("Invalid youth phone number")
	      form.yph1.focus();
	      form.yph1.select();
	      return false;
	   }
	}

	//check to see if the parent phone number is ok
	if(!(form.pph1.value == "" && form.pph2.value == "" && form.pph3.value == ""))
	{ 
	   if(!valid3(form.pph1.value) || !valid3(form.pph2.value) || !valid4(form.pph3.value))
	   {
	      alert("Invalid parent/guardian phone number")
	      form.pph1.focus();
	      form.pph1.select();
	      return false;
	   }
	}

	//check to see if the friend's phone number is ok
	if(!(form.fph1.value == "" && form.fph2.value == "" && form.fph3.value == ""))
	{ 
	   if(!valid3(form.fph1.value) || !valid3(form.fph2.value) || !valid4(form.fph3.value))
	   {
	      alert("Invalid message phone number")
	      form.fph1.focus();
	      form.fph1.select();
	      return false;
	   }
	}
// if you made it here, everything's relatively valid, so return true
    return true                
}



