function validateForm(form)
{
	var returnFlag = true;
	var returnMsg = '';
	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 (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;
}
