
function EmailValidate(address)
{
	var regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
	
	return regex.test(address);
}

if (!Array.prototype.push) {
  Array.prototype.push = function() {
		var startLength = this.length;
		for (var i = 0; i < arguments.length; i++)
      this[startLength + i] = arguments[i];
	  return this.length;
  }
}

function clientLoginValidate() {
	if (document.forms.clientLogin.username.value == '' || document.forms.clientLogin.password.value == '') {
		alert("Please enter both your username and password to sign in.");
		return false;
	}
	else {
		return true;
	}
}

function caseStudyFormValidate() {
	var passes = true;
	var errors = new Array();
	var focusElement = null;
	
	if (document.forms.caseStudy.firstName.value == '') {
		passes = false;
		errors.push("'First Name' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.caseStudy.firstName;
		}
	}
	
	if (document.forms.caseStudy.lastName.value == '') {
		passes = false;
		errors.push("'Last Name' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.caseStudy.lastName;
		}
	}
	
	if (document.forms.caseStudy.organization.value == '') {
		passes = false;
		errors.push("'Organization' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.caseStudy.organization;
		}
	}
		
	if (document.forms.caseStudy.emailAddress.value == '') {
		passes = false;
		errors.push("'Email Address' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.caseStudy.emailAddress;
		}
	}
	else if (!EmailValidate(document.forms.caseStudy.emailAddress.value)) {
		passes = false;
		errors.push("'Email Address' must be a valid email address");
		
		if (focusElement == null) {
			focusElement = document.forms.caseStudy.emailAddress;
		}
	}
		
	if (document.forms.caseStudy.phone.value == '') {
		passes = false;
		errors.push("'Phone Number' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.caseStudy.phone;
		}
	}
	
	var errorMessage = "We're sorry; the following problems were found with your submission:\n\n";
	
	for (i = 0; i < errors.length; i++) {
		errorMessage += "*  " + errors[i] + "\n";
	}
	
	errorMessage += "\nPlease correct these problems and submit again.";
	
	if (passes) {
		return true;
	} else {
		alert(errorMessage);
		
		if (focusElement != null) {
			focusElement.focus();
		}
		
		return false;
	}
	
	return false;
}

function contactFormValidate() {
	var passes = true;
	var errors = new Array();
	var focusElement = null;
	
	if (document.forms.contactUs.firstName.value == '') {
		passes = false;
		errors.push("'First Name' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.contactUs.firstName;
		}
	}
	
	if (document.forms.contactUs.lastName.value == '') {
		passes = false;
		errors.push("'Last Name' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.contactUs.lastName;
		}
	}
	
	if (document.forms.contactUs.organization.value == '') {
		passes = false;
		errors.push("'Organization' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.contactUs.organization;
		}
	}
		
	if (document.forms.contactUs.emailAddress.value == '') {
		passes = false;
		errors.push("'Email Address' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.contactUs.emailAddress;
		}
	}
	else if (!EmailValidate(document.forms.contactUs.emailAddress.value)) {
		passes = false;
		errors.push("'Email Address' must be a valid email address");
		
		if (focusElement == null) {
			focusElement = document.forms.contactUs.emailAddress;
		}
	}
		
	if (document.forms.contactUs.phone.value == '') {
		passes = false;
		errors.push("'Phone Number' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.contactUs.phone;
		}
	}
	
	if (document.forms.contactUs.subject.value == '') {
		passes = false;
		errors.push("'Subject' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.contactUs.subject;
		}
	}
	/*
	if (document.forms.contactUs.message.value == '') {
		passes = false;
		errors.push("'Message' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.contactUs.message;
		}
	}
	*/
	var errorMessage = "We're sorry; the following problems were found with your submission:\n\n";
	
	for (i = 0; i < errors.length; i++) {
		errorMessage += "*  " + errors[i] + "\n";
	}
	
	errorMessage += "\nPlease correct these problems and submit again.";
	
	if (passes) {
		return true;
	}
	else {
		alert(errorMessage);
		
		if (focusElement != null) {
			focusElement.focus();
		}
		
		return false;
	}
}

function emailColleagueFormValidate() {
	var passes = true;
	var errors = new Array();
	var focusElement = null;
	
	if (document.forms.emailColleague.senderName.value == '') {
		passes = false;
		errors.push("'Your Name' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.emailColleague.firstName;
		}
	}
	
	if (document.forms.emailColleague.senderAddress.value == '') {
		passes = false;
		errors.push("'Your Email' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.emailColleague.lastName;
		}
	}
	else if (!EmailValidate(document.forms.emailColleague.senderAddress.value)) {
		passes = false;
		errors.push("'Your Email' must be a valid email address");
		
		if (focusElement == null) {
			focusElement = document.forms.emailColleague.emailAddress;
		}
	}
	
	if (document.forms.emailColleague.emailAddress.value == '') {
		passes = false;
		errors.push("'Recipient's Email' is a required field");
		
		if (focusElement == null) {
			focusElement = document.forms.emailColleague.emailAddress;
		}
	}
	else if (!EmailValidate(document.forms.emailColleague.emailAddress.value)) {
		passes = false;
		errors.push("'Recipient's Email' must be a valid email address");
		
		if (focusElement == null) {
			focusElement = document.forms.emailColleague.emailAddress;
		}
	}
	
	var errorMessage = "We're sorry; the following problems were found with your submission:\n\n";
	
	for (i = 0; i < errors.length; i++) {
		errorMessage += "*  " + errors[i] + "\n";
	}
	
	errorMessage += "\nPlease correct these problems and submit again.";
	
	if (passes) {
		return true;
	}
	else {
		alert(errorMessage);
		
		if (focusElement != null) {
			focusElement.focus();
		}
		
		return false;
	}
}

function AtLeastOneChecked(group)
{
	for(i = 0; i < group.length; i++)
	{
		if(group[i].checked)
		{
			return true;
		}
	}
	
	return false;
}