
//**************************
// Frequently used stuff
//**************************
<!-- field empty -->
function fieldempty(field, fieldname) {
	if (field.value == "") {
		alert('You cannot leave the '+fieldname+' field empty!');
		field.focus(); return false;
	} 
}
<!-- field maxlength -->
function fieldmaxlen(field, fieldname, maxlen) {
	if (field.value.length > maxlen) {
		alert('The '+fieldname+' field is too long! (max '+maxlen+' characters)');
		field.focus(); return false;
	} 
}
<!-- field minlength -->
function fieldminlen(field, fieldname, minlen) {
	if (field.value.length < minlen) {
		alert('The '+fieldname+' field is too short! (min '+minlen+' characters)');
		field.focus(); return false;
	} 
}

<!-- username allowed chars -->
function unamechars(theform) {
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-"
	var ok = "yes"; var temp;
	for (var i=0; i < theform.username.value.length; i++) {
		temp = "" + theform.username.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Only letters, numbers dashes and underscores allowed in usernames.");
		theform.username.focus(); theform.username.select(); return false;
   }
}


//******************
// Forms 
//******************
<!-- login form -->
function loginval(theform) {
	var username = theform.username;
	var password = theform.password;
	if (fieldempty(username, 'username') == false || fieldempty(password, 'password') == false) { return false; }
}

<!-- registration form -->
function regval(theform) {
	//define vars
	var username = theform.username;
	var password = theform.password;
	//username
	if (fieldempty(username, 'username') == false) { return false; }
	else if (fieldmaxlen(username, 'username', 25) == false) { return false; }
	else if (unamechars(theform) == false) { return false; }
	//pass
	else if (fieldempty(password, 'password') == false) { return false; }
	else if (fieldminlen(password, 'password', 7) == false) { return false; }
	else if (password.value != theform.confirmpass.value) {
		alert('The two passwords are not the same!');
		theform.confirmpass.focus(); return false;
	}
	//email
	else if (fieldempty(theform.email, 'email address') == false) { return false; }
	//image verification
	else if (fieldempty(theform.verify, 'verification code') == false) { return false; }
}

<!-- lostpass form -->
function lostpassval(theform) {
	<!-- just checks one or the other is filled) -->
	if (theform.username.value == "" && theform.email.value == "") {
		alert('Please enter either a username or an email address!');
		theform.username.focus(); return false;
	}
}

<!-- changepass form -->
function cpassval(theform) {
	<!-- just do new passes as may not have old pass field -->
	//new password
	if (fieldempty(theform.newpassword, 'new password') == false) { return false; }
	else if (fieldminlen(theform.newpassword, 'new password', 7) == false) { return false; }
	else if (theform.newpassword.value != theform.confirmnewpass.value) {
		alert('The two new passwords are not the same!');
		theform.confirmnewpass.focus(); return false;
	}
}

	