function ValidateForm(vform) {
	var i, j, el, v, vary;
	for (i = 0;i < vform.elements.length; ++i) {
		el = vform.elements[i];
		var v = el.getAttribute("validate");
		if (v) {
			vary = v.split(",");
			if (vary.length > 0) {
				switch (vary[0].toLowerCase()) {
					case 'text':
						if (ValidateText(el,vary[1],vary[2],vary[3]) == false)
							return false;
						break;
					case 'alphanumeric':
						if (ValidateAlphaNum(el,vary[1],vary[2],vary[3]) == false)
							return false;
						break;
					case 'integer':
						if (ValidateInteger(el,vary[1],vary[2],vary[3]) == false)
							return false;
						break;
					case 'integeronly':
						if (ValidateIntegerOnly(el,vary[1],vary[2],vary[3]) == false)
							return false;
						break;
					case 'number':
						if (ValidateNumber(el,vary[1],vary[2],vary[3]) == false)
							return false;
						break;
					case 'email':
						if (ValidateEmail(el,vary[1],vary[2],vary[3]) == false)
							return false;
						break;
					case 'password':
						if (ValidatePassword(el,vary[1],vary[2],vary[3]) == false)
							return false;
						if (vary.length == 5) {
							var pw = document.getElementById(vary[4]);
							if (pw && pw.value != el.value) {
								alert("Passwords don't match");
								return false;
							}
						}
						break;
					case 'size':
						if (ValidateSize(el,vary[1],vary[2],vary[3]) == false)
							return false;
						break;
					case 'select':
						if (el.selectedIndex < parseInt(vary[1],10)) {
							alert(vary[2]);
							return false;
						}
				}
			}
		}
	}
	submitOnce(vform);
	return true;
}
//
