	var blankRE=/^\s*$/;
	
	function selectField(field) {
		field.select();
	}	
	
	function restoreField(field) {
		if (blankRE.test(field.value)) {
			field.value = field.defaultValue;
		}
	}
	
	function switchToPassword(fakeElement,realElement) {
		fakeElement.style.display = 'none';
		realElement.style.display = 'block';
		realElement.focus();
	}
	
	function checkPassword(realElement,fakeElement) {
		if (blankRE.test(realElement.value)) {
			realElement.style.display = 'none';
			fakeElement.style.display = 'block';
		}
	}
	
	function checkDotsubForm() {
		var firstName = document.getElementById("firstName");
		var lastName = document.getElementById("lastName");
		var username = document.getElementById("username");
		var email = document.getElementById("email");
		var password = document.getElementById("password");
		var confirmPassword = document.getElementById("confirmPassword");
		var hint = document.getElementById("passwordHint");
		var termsOfUse = document.getElementById("agreement");
		var isValidForm = true;
		var errorMessage = '';

		if (blankRE(firstName.value)) {
			errorMessage += 'Please provide your first name\n';
			isValidForm = false;
		}
		if (blankRE(lastName.value)) {
			errorMessage += 'Please provide your last name\n';
			isValidForm = false;
		}
		if (!validInput(username)) {
			errorMessage += 'Please provide a dotSUB username\n';
			isValidForm = false;
		}
		else {
			document.cookie = 'dotsubusername=' + escape(username.value);
		}
		if (blankRE(email.value)) {
			errorMessage += 'Please provide your email address\n';
			isValidForm = false;
		}
		if (!validInput(password)) {
			errorMessage += 'Please provide a password for your doSUB account.\n';
			isValidForm = false;
		}
		if (password.value !== confirmPassword.value) {
			errorMessage += 'Your two passwords do not match. Please re-enter your passwords.\n';
			isValidForm = false;
		}
		if (!validInput(hint)) {
			errorMessage += 'Please provide a password hint.\n';
			isValidForm = false;
		}
		if (! termsOfUse.checked) {
			errorMessage += 'You must agree to the dotSUB Terms of Use.\n';
			isValidForm = false;
		}
		if (!isValidForm) {
			alert (errorMessage);
			return false;
		}
		else {
			return true;
		}
	}
	
	function validInput(field) {
		if ( (! blankRE.test(field.value)) && (field.value != field.defaultValue) ) {
			return true;
		}
		else {
			return false;
		}
	}
