 function checkEmail(strEmail) 
 {
	 if (strEmail.indexOf('@',0)==-1 ||
       strEmail.indexOf('@',0)== 0 ||
       strEmail.indexOf('.',0)==-1) 
	{
		alert('Please type a valid e-mail address!')
		return false;
	}
	return true;
}

function checkPhone(strPhone) 
 {
	var goodChars = "0123456789()-+ "
	var i = 0
	
	for (i =0; i < strPhone.length; i++)
	{
		if (goodChars.indexOf(strPhone.charAt(i)) == -1)
		{
			alert('Please type a valid phone number!')
			return false;
		} 
	}
	
	if (strPhone.length < 6)
	{
		alert('Please type a full phone number!')
		return false;
	}
	return true;
}

function showAlert()
{
	strAlert = 'Please provide all required information';
	alert(strAlert);
}

function checkForm(frmName)
{
	var found;
	var i, ii;
	var curName;
	var strReq = '_req';
	var curType;
	var returnValue = true;
	var isFilled;
	var isRequired;
	var passCounter = 0;
	var passName1;

	with(document.forms[frmName])
	{
		for (i = 0; i < elements.length; i++)
		{
			curName = elements[i].name;
			curType = elements[i].type;
			isFilled = (elements[i].value != '') ? true : false;
			isRequired = (curName.indexOf(strReq) != -1) ? true : false;

			if((curType == 'text') && isFilled && (curName.indexOf('Email') != -1))
			{
				if (!checkEmail(elements[i].value))
				{
					elements[curName].focus();
					elements[curName].select();
					returnValue = false;
					break;
				}
			}
			if(((curType == 'text') && isFilled) && ((curName.indexOf('Phone') != -1) || (curName.indexOf('Fax') != -1)))
			{
				if (!checkPhone(elements[i].value))
				{
					elements[curName].focus();
					elements[curName].select();
					returnValue = false;
					break;
				}
			}
			else if ((curType == 'radio') && isRequired)
			{	
				found = 0;

				for (ii = 0; ii < elements[curName].length; ii++)
				{
					if (elements[curName][ii].checked)
					{
						found = 1;
						break;
					}
				}
				if (found == 0)
				{	
					showAlert();
					elements[curName][0].focus();	
					elements[curName][0].click();
					returnValue = false;
					break;
				}
			}
			else if (((curType == 'select-one') || (curType == 'select-multiple')) && isRequired)
			{
				if (elements[i].selectedIndex == 0)
				{
					showAlert();
					elements[curName].focus();
					returnValue = false;
					break;
				}
			}
			else if (((curType == 'text') || (curType == 'textarea') || (curType == 'password')) && isRequired)
			{
				if (!isFilled)
				{
					showAlert();
					elements[curName].focus();
					returnValue = false;
					break;
				}
			}
			if (curType == 'password' && passCounter == 0)
			{
				passCounter++;
				passName1 = curName;
			}
			else if (curType == 'password' && passCounter == 1)
			{
				if (elements[passName1].value != elements[curName].value)
				{
					alert('The entered passwords do not match.\nPlease re enter them.');
					elements[curName].value = "";
					elements[passName1].focus();
					elements[passName1].select();
					returnValue = false;
					break;
				}
				
			}
		}		
	}
	
	return returnValue;
}								