NEW_USER_NAME_LABEL = "New User Name"
NEW_PASSWORD_LABEL = "New Password"

function initPage() {
	document.loginForm.userName.focus()
}

String.prototype.trim = function() { 
	return this.replace(/^\s+|\s+$/, '')
}

function alertFocus(msg, fieldObj) {
	alert(msg)
	with (fieldObj) {
		focus()
		select()
	}				
}

function checkRequired(fieldObj, fieldName) {
	with (fieldObj)
	if (value.trim() == "") {
		alertFocus(fieldName + " is required.", fieldObj)
		return false
	}
	return true
}

function checkLength(fieldObj, minLen, maxLen, fieldName) {
	with (fieldObj) {
		fieldValueLength = value.length
		if ((fieldValueLength < minLen) || (maxLen < fieldValueLength)) {
			alertFocus(fieldName + " must be from " + minLen + " to " + maxLen + " characters in length."
					, fieldObj)
			return false
		}
	}
	return true
}

function trimFormField(formField) {
	with (formField) {
		value = value.trim()
	}
}

function validateLogin() {
	with (document.loginForm) {
		trimFormField(userName)
		trimFormField(password)

		if (!checkRequired(userName, "User Name")) return false
		if (!checkRequired(password, "Password")) return false
	}
	return true
}

function validateNewLogin() {
	with (document.newLoginForm) {
		trimFormField(newUserName)
		trimFormField(newPassword)
		trimFormField(retypePassword)

		if (!checkRequired(newUserName, NEW_USER_NAME_LABEL)) return false
		if (!checkLength(newUserName, MIN_USER_NAME_LENGTH, MAX_USER_NAME_LENGTH, NEW_USER_NAME_LABEL)) return false

		if (!checkRequired(newPassword, NEW_PASSWORD_LABEL)) return false
		if (!checkLength(newPassword, MIN_PASSWORD_LENGTH, MAX_PASSWORD_LENGTH, NEW_PASSWORD_LABEL)) return false

		if (retypePassword.value.trim() == "") {
			alertFocus("You must retype the password.", retypePassword)
			return false
		}

		if (newPassword.value != retypePassword.value) {
			alertFocus("Passwords typed in do not match.", newPassword)
			return false
		}
	}
	return true
}		


