function validateWorkStudyradio(theForm,field,message){
	for (var i=0;i<theForm[field].length;i++){
	
		if(theForm[field][i].checked){
				return true
  		}
  	}
	alert(message)
	theForm[field][0].focus();
 	return false

}
function validateCheckDate(theForm,tagDay,tagMonth,tagYear,message)
{

 		//credit: http://www.csua.berkeley.edu/~jgwang/jsfunc02.htm
		var myDayStr = theForm[tagDay].value;
		var myMonthStr = theForm[tagMonth].value;
		var myYearStr = theForm[tagYear].value;
		var myDateStr = myDayStr + ' ' + myMonthStr + ' ' + myYearStr;
		var myDate = new Date( myDateStr );
		var myDate_string = myDate.toGMTString();
		var myDate_array = myDate_string.split( ' ' );
		if ( myDate_array[2] != myMonthStr) {
			  alert(message);
	    		  theForm[tagDay].focus();
			  return false;
		} else {
		 	  return true;
		}
}
function validateZIP(theform,field,lang){
		var valid = "0123456789-";
		var hyphencount = 0;
		var strValue = theform[field].value
		if (strValue == ""){
			switch(lang){
				case 'F':
					return confirmText(theform,field,"Voulez-vous continuer sans avoir entré de Zip Code?  Cliquez Cancel pour entrer un Zip Code ou Ok pour sauvegarder.")
				break;
				default:
					//return confirmText(theform,field,"Do you want to continue without entering Zip code information ? Click cancel to enter Zip Code, click O.K to save !")
					theform[field].focus();
					return alert("Please enter a valid Zip code.")
					
			}
			
		}
		if (strValue.length!=5 && strValue.length!=10) {
			switch(lang){
				case 'F':
					alert("Svp entrez un Zip Code de 5 chiffres ou de 5+4 chiffres.");
				break;
				default:
					alert("Please enter your 5 digit or 5+4 digit zip code.");
			
			}
			
			theform[field].value = "";
			theform[field].focus();
			return false;
		}
		for (var i=0; i < strValue.length; i++) {
			temp = "" + strValue.substring(i, i+1);
			if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1") {
				switch(lang){
					case 'F':
						alert("Caractères invalides dans votre Zip Code.");
					break;
					default:
						alert("Invalid characters in your zip code.  Please try again.");
				}
			
			theform[field].value = "";
			theform[field].focus();
			return false;
		}
		if ((hyphencount > 1) || ((strValue.length==10) && ""+strValue.charAt(5)!="-")) {
			switch(lang){
				case 'F':
					alert("Le trait d'union devrais être utilisé dans un Zip Code correctement formaté, par exemple '12345-6789'.");
				break;
				default:
					alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
				
			}
			
			return false;
		   }
		}
		return true;
}

function PostalCode(theForm,field,lang){
	
	var strValue = String(theForm[field].value);
	var checked = false;
	if (strValue == ""){
		switch(lang){
			case 'F':
				return confirmText(theForm,field,"Voulez-vous continuer sans avoir entré de Code Postal?  Cliquez Cancel pour entrer un Code Postal  ou Ok pour sauvegarder.")
			break;
			
			default:
				//return confirmText(theForm,field,"Do you want to continue without entering Pos Code information ? Click cancel to enter Zip Code, click O.K to save !")
				theForm[field].focus();
				return alert("Please enter a valid Postal code.")
		}
		
		
	}
	strValue = strValue.replace(/[()\s\-]/g, "");
			var re = /^\w\d\w\d\w\d$/;
			checked = re.test(strValue);
			if (!checked){
				switch(lang){
					case 'F':
						alert("Code Postal invalide.")
					break;
					default:
						alert("Invalid Postal Code ")
				}
				
				theForm[field].value="";;
				theForm[field].focus();
			}
			return checked;
}
function validatePostalZIP(theForm,txtfield,DDField,lang) {
	var strField = String(theForm[txtfield].value)
	switch(theForm[DDField].options[theForm[DDField].selectedIndex].value)
		
		{
			case '35':
				return PostalCode(theForm,txtfield,lang);
			break;
		
			case '1':
				return validateZIP(theForm,txtfield,lang);
			break;
		
			default:
				if (strField==""){
					var language = lang;
					if(language=='F'){
					return confirmText(theForm,txtfield,"Voulez-vous continuer sans avoir entré de code postal?  Cliquez Cancel pour entrer un code postal  ou Ok pour sauvegarder.");
					}else{
					//return confirmText(theForm,txtfield,"Do you want to continue without entering zip code information ? Click cancel to enter Zip Code, click O.K to save !");
					theForm[txtfield].focus();
					return alert("Please enter a valid Postal code.")
					}
				}
				
				return true;
				
		}
	
}

function validEmail(theForm,tagName,message){
	var theEmail=theForm[tagName].value;
	var emailReg = /^\s*[\w\.\-]+@[\w\.\-]+\.[\w\-]+\s*$/;
	if (!emailReg.test(theEmail)) {
   		alert(message)
   		theForm[tagName].focus();
        	return false;
    	}
    return true;
}

function validTextLength(theForm,tagName,length,condition,message)
{
	if(condition=="!="){
		flag=theForm[tagName].value.length!=length
	}else if(condition=="<"){
		flag=theForm[tagName].value.length<length
	}else if(condition==">"){
		flag=theForm[tagName].value.length>length
	}
		
	if(flag){
   		alert(message)
   		theForm[tagName].focus();
   		return false
  	}
 	return true
}
function TextLength(obj,DesLen,lang){
	var strLen=obj.value.length;
	var nCount = 0;
    for (var i = 0; i < obj.value.length; i++) {
        if (obj.value.charAt(i) == "\n" && (i == 0 || obj.value.charAt(i - 1) != "\r")) {
            nCount ++;
        }
    }
	if(strLen > (DesLen - nCount)){
		obj.value = obj.value.substring(0, DesLen - nCount);
		switch(lang){
			case 'F':
				alert("Il n'est pas permit d'avoir plus de " + DesLen + " caractères dans ce champ tous les caractères supplémentaires ont été tronqués.")
			break;
			default:
				alert("A maximum of " + DesLen +" characters are allowed in this field, any extra characters will be deleted.")
		}
	}
}
function validDigits(theForm,tagName,message)
{
	for(i=0;i<theForm[tagName].value.length;i++){
	   if(theForm[tagName].value.charAt(i)<'0' || theForm[tagName].value.charAt(i)>'9'){
	  	alert(message) 
		return false	
	   }
	}
	return true

}

function validText(theForm,tagName,message)
{
	if( theForm[tagName] && theForm[tagName].value==""){
    		alert(message)
    		theForm[tagName].focus();
    		return false
  	}
 	return true
}
function validText1(theForm,tagName,message)
{
	if(theForm[tagName] && theForm[tagName].value=="" ){
		alert(message)
		theForm[tagName].focus();
		return false
  	}
 	return true
	
}

function validTextEqual(theForm,tagName1,tagName2,message)
{
  if(theForm[tagName1].value!=theForm[tagName2].value){
    alert(message)
    theForm[tagName1].value=""
    theForm[tagName2].value=""
    theForm[tagName1].focus();
    return false
   }
  return true
}
function validTextDiffer(theForm,tagName1,tagName2,tagName3,message)
{
  if(theForm[tagName1].value==theForm[tagName2].value){
    alert(message)
    theForm[tagName2].value=""
    theForm[tagName3].value=""
    theForm[tagName2].focus();
    return false
   }
  return true
}

function validDropDown(theForm,tagName,message, theValue)
{
  if(theForm[tagName].options[theForm[tagName].selectedIndex].value==theValue){
    alert(message)
    theForm[tagName].focus();
    return false
   }
  return true
}
function validPhonenumber(theForm,tagName,message){
	var strValue = String(theForm[tagName].value);
	var checked = true;
	strValue = strValue.replace(/[()\s\-]/g, "");
	//var re = /^\/((1-)?(\(\d\d\d\)|\d\d\d\-))?\d{3}\-?\d{4}\s*(ext.?\s*\d+)?/$/
	//checked = re.test(strValue);
	//if (!checked){
	//	alert(message)
		//theForm[tagName].value="";
	//	theForm[tagName].focus();
	//}
	return checked;
}
function validDropDownwithTextBox(theForm,DDtagName,TxttagName,message,lang)
{
	var strValue = String(theForm[TxttagName].value);
	var checked = false;
	switch(theForm[DDtagName].options[theForm[DDtagName].selectedIndex].value)
	{
		case '1': // cell phone
		case '2': // Phone
		case '3': // Fax
			
			return validPhonenumber(theForm,TxttagName,message)
		break;
		case '4': //Email
		case '6': //Email Mobile
		case '7': //Permanent Email
			if (strValue != ""){
				return validEmail(theForm,TxttagName,lang);
			}else {
			
				return true;
			
			}
			break;
		case '5': //url
			
			//var url = /(http//:)?\/\/([\w.]+)\/(\S*)/;
			var re1 = /\w{3,}/;
			var re2 = /[\s\(\)]/
			checked = (strValue.length && re1.test(strValue) && !re2.test(strValue));
			if (!checked){
				switch(lang){
					case 'F':
						alert("Svp entrez un URL valide.")
					break;
					default:
						alert("Please enter a valid URL address")
				}
				
				 theForm[TxttagName].value="";
				 theForm[TxttagName].focus();
				
			}
			return checked;
		break;
		default:
			//alert(theForm[DDtagName].options[theForm[DDtagName].selectedIndex].value)
			return checked;
	}
  
}
function validDropDownText(theForm,cTagName,tTagName,message)
{
  if((theForm[cTagName].options[theForm[cTagName].selectedIndex].value=="-1") || (theForm[cTagName].options[theForm[cTagName].selectedIndex].value=="")){//|| theForm[tTagName].value==""){
    alert(message)
    theForm[tTagName].focus();
    return false
 }

  return true
}

function validRadio(theForm,tagName,message)
{
  checkedFlag=0
  for(i=0;i<theForm[tagName].length;i++){
    if(theForm[tagName][i].checked ) checkedFlag=1
  }
  if(checkedFlag==0){
	alert(message)
	return false
  }
  return true
}

function validRadioText(theForm,rTagName,tTagName,message,i)
{
  if(theForm[rTagName][i].checked && theForm[tTagName].value==""){
    alert(message)
    return false
  }
  return true
}

function confirmText(theForm,tagName,message){
  if(theForm[tagName].value==""){
	if(confirm(message)){//ok
		
    		return true
	}
  }
  theForm[tagName].focus();
  return false
}

//Purpose: This simply checks that the checkbox was checked
function validCheckbox(theForm,tagName,message){
	if(!theForm[tagName].checked){
			alert(message);
			theForm[tagName].focus();
			return false;
  	}
  return true;
}

//Purpose: Checks array of checkbox items 
function validCheckboxArray(theForm,tagName,message) {
  var chkflag = 0;
  for(var i=0; i< theForm[tagName].length; i++) {
     if (theForm[tagName][i].checked) {
        chkflag = 1;
     }
  }
  if (chkflag == 0) {
     alert(message);
     theForm[tagName][0].focus();     
     return false;
  }
  return true;
}



// refer a friend validation
function referafriend(theForm){
	if(!validText(theForm,"fromName","Please enter your name.")){
		return false
	} 
	if(!validTextLength(theForm,"fromName","50",">", "Your name only can be 50 characters or less in length.")){
		return false
	} 
	if(!validText(theForm,"fromEmail","Please enter your e-mail.")){
		return false
	} 
	if(!validEmail(theForm,"fromEmail","Please re-enter your e-mail, it appears invalid.")) {
		return false	
	}
	if(!validTextLength(theForm,"fromEmail","250",">", "Your e-mail only can be 250 characters or less in length.")){
		return false
	} 
	if(!validText(theForm,"toEmail","Please enter your friend's e-mail.")){
		return false
	} 
	if(!validEmail(theForm,"toEmail","Please re-enter your friend's e-mail, it appears invalid.")) {
		return false	
	}
	if(!validTextLength(theForm,"toEmail","250",">", "Your friends e-mail only can be 250 characters or less in length.")){
		return false
	} 
	if(!validTextLength(theForm,"subject","50",">", "The subject only can be 50 characters or less in length.")){
		return false;
	} 	
	if(!validTextLength(theForm,"message","100",">", "The message only can be 100 characters or less in length.")){
		return false;
	} 		 
			 		
	return true;
}

// employer contact validation
function employerContact(theForm){
	if(!validText(theForm,"first_name","Please enter your first name.")){
		return false
	} 
	if(!validText(theForm,"last_name","Please enter your last name.")){
		return false
	} 
	if(!validText(theForm,"phone","Please enter your phone number.")){
		return false
	} 
	if(!validText(theForm,"email","Please enter your e-mail address.")){
		return false
	} 
  		
	return true;
}

// employer contact validation
function coopPosition(theForm){
        if(!validText(theForm,"organization","Please enter your organization.")){
		return false
	} 
	if(!validText(theForm,"address1","Please enter your organization's address.")){
		return false
	} 
	if(!validText(theForm,"city","Please enter your organization's city.")){
		return false
	} 
	if(!validText(theForm,"zip","Please enter your organization's zip code / postal code.")){
		return false
	} 
	if(!validText(theForm,"country","Please enter your organization's country.")){
		return false
	} 
	if(!validText(theForm,"county","Please enter your organization's county.")){
		return false
	} 
	if(!validText(theForm,"first_name","Please enter your first name.")){
		return false
	} 
	if(!validText(theForm,"last_name","Please enter your last name.")){
		return false
	} 
	if(!validText(theForm,"title","Please enter your title.")){
		return false
	} 
	if(!validText(theForm,"phone","Please enter your phone number.")){
		return false
	} 
	if(!validText(theForm,"email","Please enter your e-mail address.")){
		return false
	} 
	if(!validEmail(theForm,"email","Your e-mail address is not in a valid format (i.e. user@kettering.edu).")){
		return false
	}

        if(document.getElementById("class_required").checked) {
                if(!validCheckboxArray(theForm,"class","Please select the required class standings for this job posting?")) {
                  return false;
                } 
	}		
	return true;
}

//Author: Dan Buckley
//Purpose: This is to be called by the graduate application to check all required fields.
function graduateApplication(theForm){
	if(!validRadio(theForm,"program","Please pick one program of study.")){
		return false
	}
	if(!validDropDownText(theForm,"term","term","Please pick your expected starting term.")){
		return false
	}
	if(!validText(theForm,"first_name","Please enter your first name.")){
		return false
	}
	if(!validText(theForm,"middle_name","Please enter your middle name.")){
		return false
	}
	if(!validText(theForm,"last_name","Please enter your last name.")){
		return false
	}
	if(!validText(theForm,"idnum","Please enter your social security number.")){
		return false
	}
	if(!validText(theForm,"daytimephone","Please enter your daytime phone.")){
		return false
	}
	if(!validText(theForm,"addressLine1","Please enter your address.")){
		return false
	}
	if(!validText(theForm,"city","Please enter your city.")){
		return false
	}
	if(!validText(theForm,"state","Please enter your state.")){
		return false
	}
	if(!validText(theForm,"zip","Please enter your zip code.")){
		return false
	}
	if(!validText(theForm,"residencytime","Please enter the time at your current residence.")){
		return false
	}
	if(!validText(theForm,"legalstate","Please enter your state of legal residence.")){
		return false
	}
	if(!validEmail(theForm,"email","Your e-mail address is not in a valid format (i.e. user@kettering.edu).")){
		return false
	}
  	if(!validText(theForm,"dob","Please enter your date of birth.")){
		return false
	}
	if(!validText(theForm,"residencyphone","Please enter residence phone number.")){
		return false
	}
	if(!validText(theForm,"birthcity","Please enter your birth city.")){
		return false
	}
	if(!validText(theForm,"birthstate","Please enter your birth state or province.")){
		return false
	}
	if(!validText(theForm,"citizencountry","Please enter your country of citizenship.")){
		return false
	}
	if(!validText(theForm,"col1degree","Please enter your last degree information.")){
		return false
	} 
	if(!validCheckbox(theForm,"icertify","Please certify your responses.")){
		return false
	}
	return true;
}
//Author: Dan Buckley
//Purpose: This is to be called by the undergraduate application to check all required fields.
function undergraduateAppValid(theForm){
	if(!validText(theForm,"lastname","Please enter your last name.")){
		return false
	}
	if(!validText(theForm,"firstname","Please enter your first name.")){
		return false
	}
	if(!validText(theForm,"home_street1","Please enter your street.")){
		return false
	}
	if(!validText(theForm,"home_city","Please enter your city.")){
		return false
	}
	if(!validText(theForm,"home_state","Please enter your state.")){
		return false
	}
	if(!validText(theForm,"home_zip1","Please enter zipcode.")){
		return false
	}
	if(!validText(theForm,"home_natn","Please enter your nation.")){
		return false
	}
	if(!validEmail(theForm,"email","Your e-mail address is not in a valid format (i.e. user@kettering.edu).")){
		return false
	}
	if(!validDropDown(theForm,"gender","gender","Please enter your gender.")){
		return false
	}
	if(!validEmail(theForm,"verify_email","Your e-mail address is not in a valid format (i.e. user@kettering.edu).")){
		return false
	}
  	if(!validText(theForm,"dob","Please enter your date of birth.")){
		return false
	}
	if(!validText(theForm,"hs_city","Please enter your high school's city.")){
		return false
	}
	if(!validText(theForm,"hs_state","Please enter your high school's state.")){
		return false
	}
	/*if(!validCheckbox(theForm,"icertify","Please certify your responses.")){
		return false
	}*/
	return true;
}

// graduate contact validation
function gradContact(theForm){
        if(!validText(theForm,"first_name","Please enter your first name.")){
                return false
        } 
        if(!validText(theForm,"last_name","Please enter your last name.")){
                return false
        } 
        if(!validText(theForm,"email","Please enter your e-mail address.")){
                return false
        } 
                
        return true;
}



