var whichaction;
function validateForm(form)
{	
	if (this.whichaction != 'unsub' && this.whichaction != 'sub'){
		var returnFlag = true;
		var requireTextingFields = false;
		var returnMsg = '';
		var passwd1 = '';
		var mobileNumber = '';
		var mobileProvider = '';
		for(var i=0; i<form.elements.length; i++)
		{
			if (hasClassName(form.elements[i], 'required') === true)
			{
				if (getTypeValue(form.elements[i]))
					returnMsg += getTypeValue(form.elements[i])+'\n';
				if (returnMsg != '')
					returnFlag = false;
			}
			if(form.elements[i].name == 'eMail') {
				var reg = /^([A-Za-z0-9_\+\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
				if(reg.test(form.elements[i].value) == false) {
					returnMsg += 'Please enter a valid email address.\n';
					returnFlag = false;
				}
			}
			if(form.elements[i].name == 'password' || form.elements[i].name == 'password2') {
				if(passwd1 == '') {
					passwd1 = form.elements[i].value;
					if(form.elements[i].name == 'password' && passwd1.length < 3 || passwd1.length > 30) {
						returnMsg += 'Password must be between 3 and 30 characters.\n';
						returnFlag = false;
					}
				} else {
					if(form.elements[i].value != passwd1) {
						returnMsg += 'Passwords must match.\n';
						returnFlag = false;
					}
				}
			}
			if(form.elements[i].name == 'TextMessage_Active')
				if(form.elements[i].value == 1)
					requireTextingFields = true;
			if(form.elements[i].name == 'TextMessage_Phone')
				mobileNumber = form.elements[i].value;
			if(form.elements[i].name == 'TextMessage_Provider_Id')
				mobileProvider = form.elements[i].value;
		}
		if(requireTextingFields) {
			if(mobileNumber == '' || mobileProvider == 0) {
				returnMsg += 'If Texting Active is set to Yes, you must provide a Mobile Phone No. and select your Mobile Provider.\n';
				returnFlag = false;
			}
		}
		if (returnMsg != '')
			alert(returnMsg);
	return returnFlag;	
	}
}

function getTypeValue(objElement)
{
	switch (objElement.type)
	{
		case 'text':
		case 'textarea':
		case 'file':
		case 'hidden':
		case 'button':
		case 'password':
		case 'reset':
		case 'submit':
			if (objElement.value == '')
				return getError(objElement);
			break;
		case 'checkbox':
		case 'radio':
			if (objElement.checked == '')
				return getError(objElement);
			break;
		case 'select-one':
			if (objElement.options[objElement.selectedIndex].text == 'Select One' || objElement.options[objElement.selectedIndex].text == '')
				return getError(objElement);
			break;
		case 'select-multiple':
			if (objElement.selectedIndex < 0)
				return getError(objElement);
			break;
	}
}

function getError(objElement)
{
	if (objElement.title)
		return objElement.title;
	else
		return 'You did not enter the required information for the '+objElement.name+' field.';
}

function hasClassName(objElement, strClass)
{
	if (objElement.className)
	{
		var arrList = objElement.className.split(' ');
		var strClassUpper = strClass.toUpperCase();
		for ( var i = 0; i < arrList.length; i++ )
		{
			if (arrList[i].toUpperCase() == strClassUpper)
				return true;
		}
	}
	return false;
}

