	function TextAreaCheck() {
	 var max=2000;
	 var len = document.getElementById("sysdatform").p_description.value.length;
	 if(len>=max) {
	  alert("Symbols limit exeed !");
	  document.getElementById("sysdatform").p_description.value = document.getElementById("sysdatform").p_description.value.substring(0,max)
	 }
     var tmp = max-len;
	 var s="";
	 if(tmp>1)
	  s="s";
	 document.getElementById("WordCount").innerHTML=tmp+" symbol"+s+" left";
	}
	
	var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
	var exp=/\D/   
	
	function CheckTeamMembers(check,id,mode) {
   		var t = document.getElementById("sysdatform").getElementsByTagName("input");
		var err="";
		var haveData=0;
		for(var q=0;q<t.length;q++) { 		   
			if(t[q].title!="" && t[q].title!=null) {
			   var fieldName=t[q].name;
			   var FieldSplit = fieldName.split("_");			   
			   if(FieldSplit[0]==check) {			       
				   var teamNumber=fieldName.split("");	
 			       if(teamNumber[teamNumber.length-1]==id) {				       
					   document.getElementById("desc_"+fieldName).className="desc_ok";						   
					   if(!t[q].value) {  // <---- If field is empty set red font color						  					   
						  if(mode==1)
					       {document.getElementById("desc_"+fieldName).className="desc_empty";err=err+t[q].title+", ";}
					    }
						else {
						 if(mode==0)
						  return -1;
						}
					}	
				}	
		    }
		}
		// ====================================== CHECK SELECT FIELDS ========================================
   		var t = document.getElementById("sysdatform").getElementsByTagName("select");
		for(var q=0;q<t.length;q++) { 		   
			if(t[q].title!="" && t[q].title!=null) {
			   var fieldName=t[q].name;
			   var FieldSplit = fieldName.split("_");
			   if(FieldSplit[0]==check) {
				   var teamNumber=fieldName.split("");	
 			       if(teamNumber[teamNumber.length-1]==id) {
					   document.getElementById("desc_"+fieldName).className="desc_ok";			  
					   if(!t[q].value) {  // <---- If field is empty set red font color
						  
						  if(mode==1)
					       {document.getElementById("desc_"+fieldName).className="desc_empty";err=err+t[q].title+", ";}
					    }
						else {
						 if(mode==0)
						  return -1;
						}
					}	
				}	
		    }
		}
	 return err;
	}
	
	
    function CheckAndSubmit() {

	    var err="";
		var errMultiInfo = new Array(2);
		errMultiInfo["team"]= new Array();
		errMultiInfo["coach"]= new Array(10);
		for(var q=0;q<10;q++) {
		 errMultiInfo["team"][q]='';
		 errMultiInfo["coach"][q]='';
		}
		err=err+CheckTeamMembers("team",1,1);
		err=err+CheckTeamMembers("team",2,1);
		if(CheckTeamMembers("team",3,0)==-1)
		 err=err+CheckTeamMembers("team",3,1);
		if(CheckTeamMembers("team",4,0)==-1)
		 err=err+CheckTeamMembers("team",4,1);

		err=err+CheckTeamMembers("coach",1,1);
		if(CheckTeamMembers("coach",2,0)==-1)
		 err=err+CheckTeamMembers("coach",2,1);
 
		// ===============================     CHECK TEXTAREA    ==============================================
		if(!document.getElementById("sysdatform").p_description.value) {
		  err="Project Description, ";
		  document.getElementById("desc_p_description").className="desc_empty";
		 }
		 else
		  document.getElementById("desc_p_description").className="desc_ok";
		// =============================== CHECK INPUT FIELDS ==============================================
		var t = document.getElementById("sysdatform").getElementsByTagName("input");
		for(var q=0;q<t.length;q++) { 		   
			if(t[q].title!="" && t[q].title!=null) {
			   var fieldName=t[q].name;
			   var FieldSplit = fieldName.split("_");
			   if(FieldSplit[0]!="team" && FieldSplit[0]!="coach") {
				   document.getElementById("desc_"+fieldName).className="desc_ok";			  
				   if(!t[q].value) {  // <---- If field is empty set red font color
				 	  var FieldSplit = fieldName.split("_");						
				      document.getElementById("desc_"+fieldName).className="desc_empty";
					  err=err+t[q].title+", ";
				    }
				}	
		    }
		}
		// =============================== CHECK SELECT FIELDS ==============================================
		var t = document.getElementById("sysdatform").getElementsByTagName("select")
		for(var q=0;q<t.length;q++) { 		   
			if(t[q].title!="" && t[q].title!=null) {
			 var fieldName=t[q].name;	
			 var FieldSplit = fieldName.split("_");
			 if(FieldSplit[0]!="team" && FieldSplit[0]!="coach") {			 
				 document.getElementById("desc_"+fieldName).className="desc_ok";			  
				 if(!t[q].value){  // <---- If field is empty set red font color
				    document.getElementById("desc_"+fieldName).className="desc_empty";
				    err=err+t[q].title+", ";
				  }
				}  
		     }
		}	
		if(err) {
		 err=err+"#";
		 err=err.split(", #").join("");
		 // -------------------------------------------------------
		 alert("Please, fill up all required information:"+err);
		 return;
		}
		// ======================== Email validation ===================================
		 var returnval=emailfilter.test(document.getElementById("sysdatform").coach_email1.value);
		 if (returnval==false) { 
		  alert("Coach e-mail address is not valid !");
		  document.getElementById("desc_coach_email1").className="desc_empty";
		  return;
		 }	
		 else
		  document.getElementById("desc_coach_email1").className="desc_ok";
		 if(document.getElementById("sysdatform").coach_email2.value!="") { 
			  var returnval=emailfilter.test(document.getElementById("sysdatform").coach_email2.value);
			  if (returnval==false) { 
			   document.getElementById("desc_coach_email2").className="desc_empty";
			   alert("Co coach e-mail address is not valid !");
			   return;
			  }	
			  else
			   document.getElementById("desc_coach_email2").className="desc_ok";		  
		 }  

		// ======================== ZIP code validation ===================================
		 if(document.getElementById("sysdatform").sch_state.value=="") {
		  alert("Please, select state !");
		  return;
		 }
		 if(validstatezip(document.getElementById("sysdatform").sch_state.value , document.getElementById("sysdatform").sch_zip.value)=="FALSE") {
		  document.getElementById("desc_sch_zip").className="desc_empty";
		  alert("Invalid ZIP code !");		  
		  return;
		 }	


		 // ================== Check Box ===================================
		 if(document.getElementById("chb").checked==false) {
			 alert("You must agree with the terms and conditions in order to continue.")
			 return;
			}
	     document.getElementById("sysdatform").submit();
	}
	
	

function validstatezip(state, zip5)
{
 var allstates = new Array ();

   allstates[0] = new Array(); 
    allstates[0][0] = "0040000599";
	allstates[0][1] = "0639006390";
    allstates[0][2] = "0900014999"; 

   var zipI = parseInt(zip5);
   var valid = "FALSE";   
   var q = 0;
   
			if(allstates[q][0] && allstates[q][0].length>1) {
				  for(var w=0;w<allstates[q].length;w++) {
					  var ziprange = allstates[q][w];
					  if ((zipI >= parseInt(ziprange.substr(0, 5)) ) && (zipI <= parseInt(ziprange.substr(5,9))))
					    { valid="TRUE";return valid; }					
				  }
			 }
			 else {
				  var ziprange = allstates[q];
				  if ((zipI >= parseInt(ziprange.substr(0, 5)) ) && (zipI <= parseInt(ziprange.substr(5,9))))
				    { valid="TRUE";return valid; }
			 }	
   return (valid);
}