// declare the error array
// we're declaring it here so that it can be accessed anywhere just like a global variable
var errorArray = new Array();

// This function displays errors
function showErrors() {

	var alertString = "Please correct the following errors before subscribing:\n\n";

	for (var i=0; i<errorArray.length; i++) {
		alertString += " - " + errorArray[i] + "\n\n";
	};

	// show the user what they need to fix
	alert(alertString);	
}

function validate_required(field,alerttxt) {
	with (field) {
		if (value==null||value=="") {
			//alert(alerttxt);
			errorArray.push(alerttxt);
			return false;
		} else {
			return true;
		}

		
		
	}
}


function validate_email(field,alerttxt) {
	with (field) {
		apos=value.indexOf("@")
		dotpos=value.lastIndexOf(".")
		if (apos<1||dotpos-apos<2) {
			//alert(alerttxt);
			errorArray.push(alerttxt);
			return false;
		} else {
		 	return true;
		}
	}
}



function validate_checkExt(field,alerttxt) {//use in a form event or ina input
	
	with (field) {
			   value=field.value;
			if( !value.match(/\.(doc)|(docx)|(ppt)|(pptx)|(pdf)$/) ){//here your extensions
				//alert("wrong extension");	//actions like focus, not validate...
				errorArray.push(alerttxt);
				return false;
			}
			else {//right extension
				//alert("nice!");	//actions
				return true;
			}
	}
}


//-------------------------- Following functions are exclusive to subscribe_test.php ---------------------------



function validate_subscribe(thisform) {
	with (thisform) {
		
		//functions for validating subscription
		validate_required(fromSFName,"Please enter your first name");
		validate_required(fromSLName,"Please enter your last name");
		validate_email(fromSEmail,"Not a valid e-mail address");
		validate_checkboxAll("You must select at least one area of interest to subscribe.");
		//validate_subcategory(subscribecategory,"Please specify at leat one program that interest you")
		
		/* Run the error array check */
		if (errorArray.length > 0) {
			showErrors();		// calls show error function
			errorArray = [];	// clears errory Array
			return false;
		} else {
			thisform.submit();
		}
	}
}

function validate_checkboxAll(alerttxt) {

		var allChkBox = document.getElementsByName("subscribecategory[]");
		var chkTrue = 0;
			
		for (var i=0; i<allChkBox.length; i++) {		
			// next we narrow the checkboxes down to the ones that are checked
			if (allChkBox[i].checked == true) {
				chkTrue = 1;		
			}	
		}
		
		if (chkTrue == 0) {
			errorArray.push(alerttxt);
			return false;
		} else {
			return true;	
		}
}




function validate_checkboxSingle(chkid,chknum) {
	
	var interestchk = document.getElementById(chkid);
	
	
	if (interestchk.checked == true) {
		var specialtybox = document.getElementById("specialty"+chknum);
		specialtybox.disabled = false;
		specialtybox.focus();
	}
	
		
}

function validate_radio(alerttxt) {
	
		var FeedbackChkRadio = document.getElementsByName("feedbacktype");
		var chkRadioTrue = 0;
			
		for (var i=0; i<FeedbackChkRadio.length; i++) {		
			// next we narrow the checkboxes down to the ones that are checked
			if (FeedbackChkRadio[i].checked == true) {
				chkRadioTrue = 1;		
			}	
		}
		
		if (chkRadioTrue == 0) {
			errorArray.push(alerttxt);
			return false;
		} else {
			return true;	
		}
	
		
}

//-------------------------- validate RSVP ---------------------------


function validate_radiorsvp(alerttxt) {
	
		var RSVPChkRadio = document.getElementsByName("travelrequired");
		var chkRadioRSVPTrue = 0;
			
		for (var i=0; i<RSVPChkRadio.length; i++) {		
			// next we narrow the checkboxes down to the ones that are checked
			if (RSVPChkRadio[i].checked == true) {
				chkRadioRSVPTrue = 1;		
			}	
		}
		
		if (chkRadioRSVPTrue == 0) {
			errorArray.push(alerttxt);
			return false;
		} else {
			return true;	
		}
	
		
}



function validate_rsvp(thisform) {
	with (thisform) {
		
		//functions for validating subscription
		validate_required(firstname,"Please enter your first name");
		validate_required(lastname,"Please enter your last name");
		validate_required(title,"Please enter your title");
		validate_required(organization,"Please enter your organization");
		validate_required(address,"Please enter your address");
		validate_required(city,"Please enter your city");
		validate_required(selectState,"Please select State");
		validate_email(email,"Not a valid e-mail address");
		validate_required(phone,"Please enter your phone number");
		validate_radiorsvp("Please indicate travel subsidy")
		
		
		//validate_required(lastname,"Please enter your last name");
		
		
		
		
		
		//validate_checkboxAll("You must select at least one area of interest to subscribe.");
		//validate_subcategory(subscribecategory,"Please specify at leat one program that interest you")
		
		/* Run the error array check */
		if (errorArray.length > 0) {
			showErrors();		// calls show error function
			errorArray = [];	// clears errory Array
			return false;
		} else {
			thisform.submit();
		}
	}
}


//---------------------------------------------------------------------------------------------------------------



//-------------------------- validate upload form ---------------------------





function validate_uploadpresentation(thisform) {
	with (thisform) {
		
		//functions for validating subscription
		validate_required(firstname,"Please enter your first name");
		validate_required(lastname,"Please enter your last name");
		validate_email(email,"Not a valid e-mail address");
		validate_required(organization,"Please enter your organization");
		validate_required(titlepresentation,"Please enter title of presentation");
		validate_checkExt(documentpathname,"The file extension is not allow");
		
		
		//validate_required(lastname,"Please enter your last name");
		
		
		//validate_checkboxAll("You must select at least one area of interest to subscribe.");
		//validate_subcategory(subscribecategory,"Please specify at leat one program that interest you")
		
		/* Run the error array check */
		if (errorArray.length > 0) {
			showErrors();		// calls show error function
			errorArray = [];	// clears errory Array
			return false;
		} else {
			thisform.submit();
		}
		
		
	}
}




//---------------------------------------------------------------------------------------------------------------


function validate_fdback(thisform) {
	with (thisform) {
		
		//functions for validating tell a friend
		validate_radio("Please select type of feedback")
		validate_required(name,"Please enter your name")
		validate_required(organization,"Please enter your organization")
		validate_email(email,"Not a valid e-mail address")
		validate_required(comments,"Please enter your comments")
		
		
		
		
		
		/* Run the error array check */
		if (errorArray.length > 0) {
			showErrors();		// calls show error function
			errorArray = [];	// clears errory Array
			return false;
		};
		
		thisform.submit();
	}
}




function validate_tellafriend(thisform) {
	with (thisform) {
		
		/*
		//functions for validating tell a friend
		validate_required(fromFName,"Please enter your first name!")
		validate_required(fromLName,"Please enter your last name!")
		validate_email(fromEmail,"Not a valid e-mail address!")
		*/
		
		var emailValue = false;
		var emailEmpty = new Array();
		
		if (toEmail1.value != "") {
			if(validate_email(toEmail1,"Email address 1 is not a valid e-mail address!") == true)
				emailValue = true;
		} else {
			emailEmpty.push(true);
		}
		
		if (toEmail2.value != "") {
			if(validate_email(toEmail2,"Email address 2 is not a valid e-mail address!") == true)
				emailValue = true;
		} else {
			emailEmpty.push(true);
		}
		
		if (toEmail3.value != "") {
			if(validate_email(toEmail3,"Email address 3 is not a valid e-mail address!") == true)
				emailValue = true;	
		} else {
			emailEmpty.push(true);
		}
		
		if (toEmail4.value != "") {
			if(validate_email(toEmail4,"Email address 4 is not a valid e-mail address!") == true)
				emailValue = true;
		} else {
			emailEmpty.push(true);
		}
		
		if (toEmail5.value != "") {
			if(validate_email(toEmail5,"Email address 5 is not a valid e-mail address!") == true)
				emailValue = true;
		} else {
			emailEmpty.push(true);
		}
		
		if (toEmail6.value != "") {
			if(validate_email(toEmail6,"Email address 6 is not a valid e-mail address!") == true)
				emailValue = true;
		} else {
			emailEmpty.push(true);
		}
	

		
		
		
		
		if (emailEmpty.length == 6) {
			errorArray.push("You did not enter an email address of a friend/colleague that you wish to send information to.");
			showErrors();
			errorArray = [];
			return false;
		} else {
			/* Run the error array check */		
			if ((errorArray.length > 0) || (emailValue == false)) {
				showErrors();		// calls show error function
				errorArray = [];	// clears errory Array
				return false;
			};
		}

		thisform.submit();
		
		
	}
}


function validate_enteremailtofriend(thisform) {
	with (thisform) {
		
		//functions for validating tell a friend
		validate_email(email,"Not a valid e-mail address!")
		
				
		/* Run the error array check */
		if (errorArray.length > 0) {
			showErrors();		// calls show error function
			errorArray = [];	// clears errory Array
			return false;
		};
		
		thisform.submit();
	}
	
}
