function resetBorder()
{
	this.style.border = "1px solid #999";
}

function validateTextFields()
{
	var frm = document.getElementById('frmMembership');
	var reqItems = frm.getAttribute('required');
	var inputFields = frm.getElementsByTagName('input');
	
	var fieldAlert = false;
	
	for (ct=0; ct<inputFields.length; ct++)
	{
		var field = inputFields[ct];
		
		if ((field.getAttribute('required') == 'true') && (field.value.length < 1))
		{
			field.style.border = "2px solid #f33";
			field.onchange = resetBorder;	// register event handler
			
			if (! fieldAlert) 
			{
				field.focus();	// set focus on first empty required field
				fieldAlert = true;	// flag to show alert
			}
			field.style.border = "2px solid #f33";
		}
		else if (field.id != 'btnSubmit')
		{
			field.style.border = "1px solid #999";
		}
	}
	
	if (fieldAlert) 
	{
		alert ('Some required fields are not filled in.');
		return false;
	}
	else return true;
}


function validatePhone()
{
	var field = document.getElementById('phone');
	str = field.value;
	str = str.replace(/\D/g,'');
	var reg = /^[1]?[0-9]{10}$/
	var bool = reg.test(str);
	if (! bool)
	{
		alert('The telephone number format is not correct.\nPlease use the following format: xxx-xxx-xxxx.');
		field.focus();
		field.select();
		field.style.border = "2px solid #f33";
		field.onchange = resetBorder;	// register event handler
		return false;
	}
	else return true;
}

function validateEmail()
{
	var field = document.getElementById('email');
	str = field.value;
	var reg = /.+@.*\..+/;  //match emali address
	var bool = reg.test(str);
	if (! bool)
	{
		alert('The email address is not correct.');
		field.focus();
		field.select();
		field.style.border = "2px solid #f33";
		field.onchange = resetBorder;	// register event handler
		return false;
	}
	else return true;
}

function validateState()
{
	var menu = document.getElementById('feed_state');
	if (menu.value == -1)
	{
		alert('Please select your state of residence.');
		menu.focus();
		return false;
	}
	else return true;
}

function validateMembershipLevel()
{
	var menu = document.getElementById('membershipLevel');
	if (menu.value == 'none')
	{
		alert('Please select a membership level.');
		menu.focus();
		return false;
	}
	else return true;
}

function validateForm()
{
	if (! validateTextFields()) {return false}
	if (! validatePhone()) {return false}
	if (! validateEmail()) {return false}
	if (! validateState()) {return false}
	if (! validateMembershipLevel()) {return false}
}
