function checkForm(formItem) {
	var validated = 1;

	if (!hasValue(formItem.name, "TEXT" )) {
		formItem.name.className = "invalid";
		validated = 0;
	}
	else {
		formItem.name.className = "";
	}

	if (!emailCheck(formItem.email.value)) {
		formItem.email.className = "invalid";
		validated = 2;
	}
	else {
		formItem.email.className = "";
	}

	if (!hasValue(formItem.comment, "TEXT" )) {
		formItem.comment.className = "invalid";
		validated = 0;
	}
	else {
		formItem.comment.className = "";
	}

	if (validated == 0) {
		alertBox = document.getElementById("form_message");
		alertBox.innerHTML = 'The highlighted fields are required.';
		return false;
	}
	else if (validated == 2) {
		alertBox = document.getElementById("form_message");
		alertBox.innerHTML = 'Please enter a valid Email address.';
		return false;
	}
	else {
		return true;
	}
}

function checkSubForm(formItem) {
	var validated = 1;

	if (!hasValue(formItem.name, "TEXT" )) {
		formItem.name.className = "invalid";
		validated = 0;
	}
	else {
		formItem.name.className = "";
	}

	if (!emailCheck(formItem.email.value)) {
		formItem.email.className = "invalid";
		validated = 2;
	}
	else {
		formItem.email.className = "";
	}

	if (validated == 0) {
		alertBox = document.getElementById("subform_message");
		alertBox.innerHTML = 'The highlighted fields are required.';
		return false;
	}
	else if (validated == 2) {
		alertBox = document.getElementById("subform_message");
		alertBox.innerHTML = 'Please enter a valid Email address.';
		return false;
	}
	else {
		return true;
	}
}

function checkUnsubForm(formItem) {
	var validated = 1;

	if (!emailCheck(formItem.email.value)) {
		formItem.email.className = "invalid";
		validated = 2;
	}
	else {
		formItem.email.className = "";
	}

	if (validated == 0) {
		alertBox = document.getElementById("unsubform_message");
		alertBox.innerHTML = 'The highlighted fields are required.';
		return false;
	}
	else if (validated == 2) {
		alertBox = document.getElementById("unsubform_message");
		alertBox.innerHTML = 'Please enter a valid Email address.';
		return false;
	}
	else {
		return true;
	}
}

function hasValue(obj, obj_type) {
	if (obj_type == "TEXT" || obj_type == "PASSWORD") {
		if (obj.value.length == 0)
			return false;
		else
			return true;
	}
	else if (obj_type == "SELECT") {
		for (i=0; i < obj.length; i++) {
			if (obj.options[i].selected)
				return true;
		}
		return false;
	}
	else if (obj_type == "SINGLE_VALUE_RADIO" || obj_type == "SINGLE_VALUE_CHECKBOX") {
		if (obj.checked)
			return true;
		else
			return false;
	}
	else if (obj_type == "RADIO" || obj_type == "CHECKBOX")	{
		for (i=0; i < obj.length; i++) {
			if (obj[i].checked)
				return true;
		}
		return false;
	}
}

function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {
		return false;
	}

	var user=matchArray[1];
	var domain=matchArray[2];

	var domArr=domain.split(".");
	var len=domArr.length;

	if (user==null) {
		return false;
	}

	if ((domArr[0]==null) || (domArr[0]=='')) {
		return false;
	}

	if ((domArr[1]==null) || (domArr[1]=='')) {
		return false;
	}

	if (len<2) {
		return false;
	}

	var invalid = " ";
	if (emailStr.indexOf(invalid) > -1) {
		return false;
	}
	return true;
}
