var kFirstName = "Please enter your first name.";
var kLastName = "Please enter your last name.";
var kEmailAddress = "Please enter a valid email address.";
var kPassword = "Please enter a password.";
var kPasswordMatch = "Passwords do not match.";
var kOldPassword = "Please enter your old password.";
var kTermsOfService = "You must agree to the Terms of Service to use this site."

function focus_form() {
	if(document.forms[0]) {
		var elements = document.forms[0].elements;
		for(i = 0; i < elements.length; i++) {
			if(elements[i].type != 'hidden' && elements[i].type != undefined) {
				elements[i].focus();
				break;
			}
		}
	}
}

function is_valid_id(str) {
	var re = new RegExp("^[A-Za-z][\\w_]*$");
	return re.test(str);
}

function validate_email(str) {
	var re = new RegExp("^\\w+((-\\w+)|(\.\\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]{2,}$");
	return re.test(trim(str));
}

function field_is_empty(f, prompt) {
	if (f.value == "") {
		alert(prompt);
		f.focus();
		return true;
	}
	else {
		return false;
	}
}

function encode_password(password) {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ";
	var r = "";
	for (var i = 0; i < password.length; i++) {
		var n = Math.floor(Math.random() * chars.length);
		r += chars.substring(n, n+1);
	}
	return r;
}

function trim(s) {
  while (s.substring(0, 1) == " ") {
    s = s.substring(1, s.length);
  }
  while (s.substring(s.length-1, s.length) == " ") {
    s = s.substring(0, s.length-1);
  }
  return s;
}