/*

Usage:



Add to your classes the class name "required" and put the message you want to appear

in the title attribute.  If you want to validate an email address give it both classnames,

"required" and "email."

*/

var FormValidator = {

	

	validateTextField: function(field, message) {

		return field.value == "" ? message + "\r\n" : '';

	},

	

	validatePhone: function(field, message) {

		return field.value.length < "10" ? message + "\r\n" : '';

	},

	

	validateCheckbox: function(field, message) {

		return (!field.checked) ? message + "\r\n" : '';

	},

	

	validateRadioField: function(field, message){

		var checked = false;

		for(var i = 0; i < field.length; i++){

			if(field[i].checked){

				checked = true;

				return '';

			}

		}

		return message + "\r\n";

	},

	

	emailRegExp: /^[A-Z0-9_+.-]+@([A-Z0-9-]+\.)+[A-Z]+$/i,

	

	validateEmailAddress: function(field, message){

		return this.emailRegExp.test(field.value) ? '' : message + "\r\n";

	},

	

	validateForm: function(form, div){

		var errMsg = '';

		for(var i = 0; i < form.elements.length; i++){

			var field = form.elements[i];

			if(/\brequired\b/.test(field.className)){

				if(field.onvalidate){

					errMsg += field.onvalidate();

				}else if(/\bemail\b/.test(field.className)){

					errMsg += this.validateEmailAddress(field, field.title);

				}else if(/\bphone\b/.test(field.className)){

					errMsg += this.validatePhone(field, field.title);

				}else if(field.type == "checkbox"){

					errMsg += this.validateCheckbox(field, field.title);

				}else if(field.type == "radio"){

					errMsg += this.validateRadioField(form[field.name], field.title);

				}else{

					errMsg += this.validateTextField(field, field.title);

				}

			}

		}

		if (errMsg != "") {

			alert("Missing Required Fields:\r\n" + errMsg);

			//div.innerHTML = '<div class="errorHeader">Missing Required Fields</div>' + errMsg;

			//div.className = 'errorDiv';

			return false;

		}

		return true;

	}

};