// JavaScript Document

function validate(form)
{
	var text = "";
	var reltype = 0

// Check the Contact Us Page
 if (form.Authentication.value != "xrTest") {
	if (form.Type.value == "ContactUpdate"){
		if (form.FirstName.value.length < 2)
			text += "\nFirst Name is required";
		if (form.LastName.value.length < 2)
			text += "\nLast Name is required";
		if (form.ClassYear.value.length < 2)
			text += "\nClass Year Name is required";
		if (form.Major.value.length < 2)
			text += "\nMajor Name is required";
		if (form.Email.value.length > 0){	
			if (echeck(form.Email.value) != true) {text += "\nEmail Address is invalid";}
		}
		if (form.HomePhone.value.length > 0){		
			if (checkInternationalPhone(form.HomePhone.value)==false){text += "\nHome Phone is invalid";}
		}
		if (form.CellPhone.value.length > 0){		
			if (checkInternationalPhone(form.CellPhone.value)==false){text += "\nCell Phone is invalid";}
		}
		if (form.BusPhone.value.length > 0){		
			if (checkInternationalPhone(form.BusPhone.value)==false){text += "\nWork Phone is invalid";}
		}		
		
		if (text != ""){
			sendmsg(text);
			return false;
		}
		if (text == ""){
			return true;
		}
	}

// Check the Online Interest Page
if (form.Type.value == "OnlineInterest3"){
		
		var	vbvol
		vbvol = 0
		if (form.Type1.checked != false) {vbvol++;}
		if (form.Type2.checked != false) {vbvol++;}
		if (form.Type3.checked != false) {vbvol++;}
		if (form.Type4.checked != false) {vbvol++;}
		if (form.Type5.checked != false) {vbvol++;}
		if (form.Type6.checked != false) {vbvol++;}
		if (vbvol == 0){text += "\nPlease choose a University Affiliate";}


		if (form.Name.value.length < 2)
			text += "\nName is required";
		if (form.Address.value.length < 2)
			text += "\nAddress is required";
		if (form.Email.value.length < 2)
			text += "\nEmail is required";
		if (form.Email.value.length > 2){	
			if (echeck(form.Email.value) != true) {text += "\nEmail Address is invalid";}
		}
/*		if (form.Phone.value.length < 2)
			text += "\nHome Phone is required";
		if (form.WorkPhone.value.length < 2)
			text += "\nWork Phone is required";*/
		if (form.Phone.value.length > 0){
			if (checkInternationalPhone(form.Phone.value)==false){text += "\nHome Phone (xxx-xxx-xxxx) is invalid";}	
		}
		if (form.WorkPhone.value.length > 0){
			if (checkInternationalPhone(form.WorkPhone.value)==false){text += "\nWork Phone (xxx-xxx-xxxx) is invalid";}	
		}		

		
		var	vbvol2
		vbvol2 = 0
		if (form.Interest1.checked != false) {vbvol2++;}
		if (form.Interest2.checked != false) {vbvol2++;}
		if (form.Interest3.checked != false) {vbvol2++;}
		if (form.Interest4.checked != false) {vbvol2++;}
		if (form.Interest5.checked != false) {vbvol2++;}
		if (form.Interest6.checked != false) {vbvol2++;}
		if (vbvol2 == 0){text += "\nPlease choose an interest";}	
		
		if (text != ""){
			sendmsg(text);
			return false;
		}
		if (text == ""){
			return true;
		}

 	}
	
// Check the Online Interest Page Version 2
if (form.Type.value == "OnlineInterest"){
		
		var	vbvol
		vbvol = 0
		if (form.Type1.checked != false) {vbvol++;}
		if (form.Type2.checked != false) {vbvol++;}
		if (form.Type3.checked != false) {vbvol++;}
		if (form.Type4.checked != false) {vbvol++;}
		if (form.Type5.checked != false) {vbvol++;}
		if (form.Type6.checked != false) {vbvol++;}
		
		if (vbvol == 0){text += "\nPlease choose a University Affiliate";}


		if (form.Name.value.length < 2)
			text += "\nName is required";
		if (form.Address.value.length < 2)
			text += "\nAddress is required";
		if (form.City.value.length < 2)
			text += "\nCity is required";
		if (form.State.value.length < 2)
			text += "\nState is required";
		if (form.Zip.value.length < 2)
			text += "\nZip is required";			
		if (form.Email.value.length < 2)
			text += "\nEmail is required";
		if (form.Email.value.length > 2){	
			if (echeck(form.Email.value) != true) {text += "\nEmail Address is invalid";}
		}
		if (form.Phone.value.length < 2)
			text += "\nHome Phone is required";
		if (form.WorkPhone.value.length < 2)
			text += "\nWork Phone is required";
		if (form.Phone.value.length > 0){
			if (checkInternationalPhone(form.Phone.value)==false){text += "\nHome Phone (xxx-xxx-xxxx) is invalid";}	
		}
		if (form.WorkPhone.value.length > 0){
			if (checkInternationalPhone(form.WorkPhone.value)==false){text += "\nWork Phone (xxx-xxx-xxxx) is invalid";}	
		}		

		var	vbvol2
		vbvol2 = 0
		for(var i=0; i < form.Interest.length; i++){
		if(form.Interest[i].checked != false)
			vbvol2++;
		}

		if (vbvol2 == 0){text += "\nPlease choose an interest";}	
		
		if (text != ""){
			sendmsg(text);
			return false;
		}
		if (text == ""){
			return true;
		}

 	}	
 
// Checks the Data Request Form
	if (form.Type.value == "DataInsert"){
		if (form.First.value.length < 2)
			text += "\nFirst Name is required";
		if (form.Last.value.length < 2)
			text += "\nLast Name is required";
		if (form.Department.value.length < 2)
			text += "\nDepartment is required";
		if (form.Email.value.length < 2)
			text += "\nEmail is required";
		if (form.Email.value.length > 2){	
			if (echeck(form.Email.value) != true) {text += "\nEmail Address is invalid";}
		}
		if (form.ProjectTitle.value.length < 2)
			text += "\nProject Title is required";
		if (form.NeedDay.value.length < 1)
			text += "\nDate Needed (Day) is required";
		if (form.NeedMonth.value.length < 1)
			text += "\nDate Needed (Month) is required";
		if (form.NeedYear.value.length < 4 )
			text += "\nDate Needed (Year YYYY) is required";
		if (isInteger(form.NeedMonth.value) != true || isInteger(form.NeedDay.value) != true || isInteger(form.NeedYear.value) != true) {text += "\nNeed Date is invalid (mm/dd/yyyy)";}
		if (form.Purpose.value.length < 2)
			text += "\nPrimary Purpose is required";

		if (form.Description.value.length < 2)
			text += "\nWhen, Where, and Why is required";	
		if (form.Audience.value.length < 2)
			text += "\nWho or What is required";
		if (form.AudStatus.value.length < 2)
			text += "\nAudience Staus is required";	
			
			
	var	vbvol
	vbvol = 0
		if (document.form1.AudCategory1.checked != false) {vbvol++;}
		if (document.form1.AudCategory2.checked != false) {vbvol++;}
		if (document.form1.AudCategory3.checked != false) {vbvol++;}
		if (document.form1.AudCategory4.checked != false) {vbvol++;}
		if (document.form1.AudCategory5.checked != false) {vbvol++;}
		if (document.form1.AudCategory6.checked != false) {vbvol++;}
		if (vbvol == 0){text += "\nConstituent Category is requried";}

	
		if (text != ""){
			sendmsg(text);
			return false;
		}
		if (text == ""){
			return true;
		}
	}
	
// Checks the Research Request Form
	if (form.Type.value == "ResearchInsert"){
		if (form.First.value.length < 2)
			text += "\nFirst Name is required";
		if (form.Last.value.length < 2)
			text += "\nLast Name is required";
		if (form.Department.value.length < 2)
			text += "\nDepartment is required";
		if (form.Email.value.length < 2)
			text += "\nEmail is required";
		if (form.Email.value.length > 2){	
			if (echeck(form.Email.value) != true) {text += "\nEmail Address is invalid";}
		}
		if (form.NeedDay.value.length < 1)
			text += "\nDate Needed (Day) is required";
		if (form.NeedMonth.value.length < 1)
			text += "\nDate Needed (Month) is required";
		if (form.NeedYear.value.length < 4 )
			text += "\nDate Needed (Year XXXX) is required";			
		if (isInteger(form.NeedMonth.value) != true || isInteger(form.NeedDay.value) != true || isInteger(form.NeedYear.value) != true) {text += "\nNeed Date is invalid (mm/dd/yyyy)";}
		if (form.Particular.value.length < 10)
			text += "\nParticular Information is required";
		if (form.AddBackground.value.length < 10)
			text += "\nAdditional Background is required";
		if (form.Researched.value.length < 2)
			text += "\nConstituent Name is required";
		if (text != ""){
			sendmsg(text);
			return false;
		}
		if (text == ""){
			return true;
		}
	}

// Checks the Lost Alumni Form
	if (form.Type.value == "Found"){
		for (var e = 0; e < 4; e++){
			if (document.form1.Relation[e].checked){
		  		reltype = 1;
		  	}
		}
		if (reltype != 1){text += "\nRelationship is required";}
//		if (form.YourName.value.length < 2)
//			text += "\nMy Name is required";
//		if (form.YourEmail.value.length < 2)
//			text += "\nMy Email is required";
//		if (form.YourEmail.value.length > 2){	
//			if (echeck(form.YourEmail.value) != true) {text += "\nMy Email is invalid";}
//		}
		if (form.City.value.length < 2)
			text += "\nCity is required";
		if (form.State.value.length < 2)
			text += "\nState is required";
		if (form.Zip.value.length < 1)
			text += "\nZip is required";
		if (text != ""){
			sendmsg(text);
			return false;
		}
		if (text == ""){
			return true;
		}
	}
	
	if (form.Type.value == "StaffGift"){
		if (form.BearID.value.length < 2)
			text += "\nBear ID is required";
		if (form.FirstName.value.length < 2)
			text += "\nFirst Name is required";
		if (form.LastName.value.length < 2)
			text += "\nLast Name is required";
		if (form.School.value.length < 2)
			text += "\nDivision/School is required";
		if (form.Address1.value.length < 2)
			text += "\nAddress is required";
		if (form.City.value.length < 2)
			text += "\nCity is required";
		if (form.State.value.length < 1)
			text += "\nState is required";
		if (form.Zip.value.length < 2)
			text += "\nZip is required";
		if (form.Email.value.length < 1)
			text += "\nEmail is required";	
		if (form.Email.value.length > 0){	
			if (echeck(form.Email.value) != true) {text += "\nEmail Address is invalid";}
		}
		if (form.HomePhone.value.length > 0){		
			if (checkInternationalPhone(form.HomePhone.value)==false){text += "\nHome Phone (xxx-xxx-xxxx) is invalid";}
		}	
		if (form.CellPhone.value.length > 0){		
			if (checkInternationalPhone(form.CellPhone.value)==false){text += "\nCell Phone (xxx-xxx-xxxx) is invalid";}
		}	
		if (form.OfficePhone.value.length < 2)
			text += "\nOffice Phone is required";
		if (form.OfficePhone.value.length > 0){		
			if (checkInternationalPhone(form.OfficePhone.value)==false){text += "\nOffice Phone (xxx-xxx-xxxx) is invalid";}
		}
		if (form.Gift1.checked == false && form.Gift2.checked == false  && form.Gift3.checked == false){		
			text += "\nPlease select a gift fund";	
		}
		if (form.Gift1.checked != false && form.Fund1.value == "") {
			text += "\nPlease select a gift amount";	
		}
		if (form.Gift2.checked != false && form.Fund2.value == "") {
			text += "\nPlease select a gift amount";	
		}
		if (form.Gift3.checked != false && form.Fund3.value == "") {
			text += "\nPlease select a gift amount";	
		}		
		if (document.form1.Method[0].checked && form.PayrollMonth.value == ""){
			text += "\nPlease enter a deduction amount";	
		}			
		if (form.Pay2.checked != false && form.PayrollStart.value == "") {
			text += "\nPlease enter a deducation begin date";	
		}
		if (form.Pay3.checked != false && form.PayrollGo.value == "") {
			text += "\nPlease enter the months to continue";	
		}
		if (form.Pay1.checked != false && form.Pay3.checked != false) {
			text += "\nPlease selected 1 continue deduct option";	
		}
		
		if (text != ""){
			sendmsg(text);
			return false;
		}
		if (text == ""){
			return true;
		}
	}
	
 // Checks the Class Notes Submission
	if (form.Type.value == "ClassNote"){
		if (form.Name.value.length < 2)
			text += "\nName is required";
		if (form.Email.value.length < 2)
			text += "\nEmail is required";
		if (form.ClassYear.value.length < 2)
			text += "\nClass Year is required";
		if (form.Notes.value.length < 2)
			text += "\nClass Notes is required";
		if (text != ""){
			sendmsg(text);
			return false;
		}
		if (text == ""){
			return true;
		}
	}	

// End Bypass
 }
}


function validatedev(form)
{
	var text = "";

// Check the Contact Us Page
 if (form.Authentication.value != "xrTest") {
	if (form.Type.value == "ContactUpdate"){
		if (form.DevName.value.length < 2)
			text += "\nDevelopment Officer's Name is required";
		if (form.DevEmail.value.length <= 2)
			text += "\nDevelopment Officer's Email is required";
		if (form.DevEmail.value.length > 2)
			if (echeck(form.DevEmail.value) != true) {text += "\nDevelopment Officer's Email is invalid";}
		if (form.DevPhone.value.length < 2)
			text += "\nDevelopment Officer's Phone is required";			
		if (form.BearID.value.length < 2 && (form.FirstName.value.length < 2 || form.LastName.value.length < 2))
			text += "\nEither the BearID or the Persons' Name is required";	
		if (form.Email.value.length > 5){	
			if (echeck(form.Email.value) != true) {text += "\nEmail Address is invalid";}
		}
		if (form.HomePhone.value.length > 0){		
			if (checkInternationalPhone(form.HomePhone.value)==false){text += "\nHome Phone is invalid";}
		}
		if (form.CellPhone.value.length > 0){		
			if (checkInternationalPhone(form.CellPhone.value)==false){text += "\nCell Phone is invalid";}
		}
		if (form.BusPhone.value.length > 0){		
			if (checkInternationalPhone(form.BusPhone.value)==false){text += "\nWork Phone is invalid";}
		}		
		
		if (text != ""){
			sendmsg(text);
			return false;
		}
		if (text == ""){
			return true;
		}
	}
 }
}


function sendmsg(text)
{
		text = "Please correct the following:\n" + text
		alert(text);		
		}
		
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}
		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }
		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }
		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }	
		 if (str.indexOf(" ")!=-1){
		    return false
		 }
 		 return true					
	}

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
	var digits = "0123456789";
	// non-digit characters which are allowed in phone numbers
	var phoneNumberDelimiters = "()- .";
	// characters which are allowed in international phone numbers
	// (a leading + is OK)
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	// Minimum no of digits in an international phone no.
	var minDigitsInIPhoneNumber = 10;
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

