		function submitForm() {
			frm = document.forms.mainForm;
			if (!checkForm()) {
				frm.submit()
			}
		}

		function fieldValue(id) {
			return document.getElementById(id).value;
		}

		function verifyEmail(email) {
			var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
			var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
			if (!reg1.test(email) && reg2.test(email)) { // if syntax is valid
				return true;
			}
			return false;

		}

		function checkField(field) {
			val = fieldValue(field);
			if (!val) {
				verifyField(field, "error");
				return 1;
			} else {
				verifyField(field, "checkmark");
				return 0;
			}
		}

        function checkSelect(field) {
			sel = document.getElementById(field);
			val = sel.options[sel.selectedIndex].value;
			if (!val) {
				verifyField(field, "error");
				return 1;
			} else {
				verifyField(field, "checkmark");
				return 0;
			}
		}

		var password2prev = "";
		function checkFieldPassword() {
            passError = false;

			password = fieldValue("password");
			password2 = fieldValue("password2");
			if (password2) password2prev = password2;
			if (!password || password.length < 6) {
				verifyField("password", "error");
				passError = true;
			}
			if (password != password2 && password2prev) {
				verifyField("password", "error");
				if (password2 || password2prev) verifyField("password2", "error");
				passError = true;
			}
			if (!passError) {
                verifyField("password", "checkmark");
				if (password2 || password2prev) verifyField("password2", "checkmark");
				if (password2) return 0;
				return 1;
			}
			return 1;
		}

		var email2prev = "";
		function checkFieldEmail() {
            emailError = false;

			email = fieldValue("email");
			email2 = fieldValue("email2");
			if (email2) email2prev = email2;
			if (!email) {
				verifyField("email", "error");
				emailError = true;
			}
			if (email != email2 && email2prev) {
				verifyField("email", "error");
				if (email2 || email2prev) verifyField("email2", "error");
				emailError = true;
			}
			if (!verifyEmail(email)) {
                verifyField("email", "error");
				if (email2 || email2prev) verifyField("email2", "error");
				emailError = true;
			}
			if (!emailError) {
                verifyField("email", "checkmark");
				if (email2 || email2prev) verifyField("email2", "checkmark");
				if (email2) return 0;
				return 1;
			}
			return 1;
		}

		function verifyField(field, mark) {
			document.getElementById(field + "Verify").src = "images/"+mark+".gif";
		}