function validate_email(field,alerttxt) {
  with (field) {
	apos=value.indexOf("@")
	dotpos=value.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) {
	  alert(alerttxt);
	  return false
	} else {
	  return true
	}
  }
}

function validate_username(field,alerttxt) {
  with (field) {
    string = value;
    var illegalChars = /\W/; // allow only letters, numbers, and underscores
    if (illegalChars.test(string)) {
      alert(alerttxt);
	  return false
    } 
  }
}

function validate_region(field,alerttxt) {
  with (field) {
	if (value==null||value=="") {
	  alert(alerttxt);
	  return false
	} else {
	  return true
	}
  }
}

function validate_required(field,alerttxt) {
  with (field) {
	if (value==null||value=="") {
	  alert(alerttxt);
	  return false
	} else {
	  return true
	}
  }
}

function validate_registration_form(thisform) {
  with (thisform) {
	if (validate_region(region,"Please select a region!")==false) {
	  region.focus();
	  return false
	}
	if (validate_required(username,"Please enter a username!")==false) {
	  username.focus();
	  return false
	}
	if (validate_username(username,"Your username contains illegal characters!")==false) {
	  username.focus();
	  return false
	}
	if (validate_required(password,"Please enter a password!")==false) {
	  password.focus();
	  return false
	}
	if (validate_required(fname,"Please enter your first name!")==false) {
	  fname.focus();
	  return false
	}
	if (validate_required(lname,"Please enter your last name!")==false) {
	  lname.focus();
	  return false
	}
	if (validate_required(email,"Please enter your email address!")==false) {
	  email.focus();
	  return false
	}
	if (validate_email(email,"Not a valid email address!")==false) {
	  email.focus();
	  return false
	}
  }
}
