function validate(frm) {
	var msg = "Atention!\n";
	var validity = true;
	
	if (frm.company_name.value == "") {
		validity = false;
		msg += "- Company name is required\n";
	}
	if (frm.contact_name.value == "") {
		validity = false;
		msg += "- Contact name is required\n";
	}
	if (frm.address1.value == "") {
		validity = false;
		msg += "- Address is required\n";
	}
	if (frm.city.value == "") {
		validity = false;
		msg += "- City is required\n";
	}
	if (frm.zip_code.value == "") {
		validity = false;
		msg += "- Zip code is required\n";
	}
	if ((frm.area_code.value == "") && (frm.prefix.value == "") && (frm.number.value == "")) {
		validity = false;
		msg += "- Phone number is required\n";
	}
	if (frm.email.value == "") {
		validity = false;
		msg += "- Email is required\n";
	}
	if ((frm.email.value != "") && (!checkEmail(frm.email.value))) {
		validity = false;
		msg += "- Email is not valid\n";
	}
	if (frm.comments.value == "") {
		validity = false;
		msg += "- Comments are required\n";
	}
	
	
	if (!validity) alert(msg);
	
	return validity;
}

function checkEmail(strEmail) {
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(strEmail)) {
		return true;
	} else {
		return false;
	}
}

function advance(currentField, nextField, Size) {
	if (currentField.value.length == Size)
	document.contact[nextField].focus();
}

/* only numbers validation rutine */
function onlyNumbers(e) {
	var charCode;
	if (navigator.appName == "Netscape")
		charCode = e.which;
	else
		charCode = e.keyCode;

	if (charCode > 31 && (charCode < 48 || charCode > 57)) {
		alert("Attention, only numbers go here.");
		return false;
	}
	return true;
}
