var pw_submitted = 0;

function checkForm(passwd) {
	var warningMsg = '';

	/* If the form has been subitted once, prevent it from submitting again. */
	if (pw_submitted)
		return (false);

	if (isEmpty (passwd.user)) {
		warningMsg += "You did not enter your Username\n";
	} else if (isWrongLength (passwd.user, 3, 34)) {
		warningMsg += "Username must be between 6 and 34 characters.\n";
	}

	if (isEmpty (passwd.curr)) {
		warningMsg += "You did not enter your Current Password.\n";
	} else if (isWrongLength (passwd.curr, 6, 32)) {
		warningMsg += "Current Password must be between 6 and 32 characters.\n";
// We weren't checking this on early passwds, so don't check it here!!!
//	} else if (! validPasswordChars (passwd.curr)) {
//		warningMsg += "Current Password contains invalid characters.\n";
	}

	if (isEmpty (passwd.pass)) {
		warningMsg += "You did not enter your Current Password.\n";
	} else if (isWrongLength (passwd.pass, 6, 32)) {
		warningMsg += "Current Password must be between 6 and 32 characters.\n";
	} else if (! validPasswordChars (passwd.pass)) {
		warningMsg += "Current Password contains invalid characters.\n";
	}

	if (isEmpty (passwd.conf)) {
		warningMsg += "You did not fill in Verify New Password.\n";
	} else if (passwd.pass.value != passwd.conf.value)  {
		warningMsg += "New Password and Verify New Password don't match.\n";
	} else if (passwd.pass.value == passwd.curr.value) {
		warningMsg += "New Password must be different from Current Password.\n";
	}

	if (warningMsg != '') {
		warningMsg  = "The following errors have occured:\n\n" + warningMsg
			+ "\n\nPlease correct these problems and re-submit.     \n\n";
		alert(warningMsg);
		return(false);
	}
	pw_submitted++;
	return(true);
}

function validPasswordChars (pass) {
	var pattern = /^[0-9A-Za-z_\-\@\.]+$/;
	return (pattern.test (pass.value));
}

function isEmpty (field) {
	if ((field.value == " ") || (field.value == ""))  {
		return (1);
	}
	return (0);
}

function isWrongLength (field, min, max) {
	return (field.value.length < min || field.value.length > max);
}









