function val_field_length(field, min, max, error)
{
	if (field.value.length < min || field.value.length > max ) {
		alert(error);
		field.focus();
		return false;
	}
	return true;
}

function val_required(field, error)
{
	if (field.value.length==0) {
		alert(error);
		field.focus();
		return false;
	}
	return true;
}

function val_email(field, error)
{
	exp=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if (!(exp.test(field.value))) {
		alert("Invalid Email Format (user@domain.com)");
		field.focus();
		return false;
	}
	return true;
}

function val_alphanumeric(field, error) {

    var i;
    var chars;
    
    chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
    
    for(i = 0; i < field.value.length; i++) {
        if (chars.indexOf( field.value.charAt(i) ) < 0) {
            alert(error);
            field.focus();
	    return false;
        }
    }
    return true;
}

function val_password(field1, field2)
{
	if (!(field1.value==field2.value)) {
		alert("Please make sure the 2 passwords match.");
		field1.focus();
		return false;
	}
	return true;
}	

function val_checked(field, msg)
{
	if (field.checked==false) {
		alert(msg);
		field.focus();
		return false;
	}
	return true;
}

function val_expression(field, chars, min, max, error) {

    var i;

    if (field.value.length < min) {
        alert(error);
        field.focus();
	return false;
    }

    if ((field.value.length > max) && (max > 0)) {
        alert(error);
        field.focus();
		return false;
    }

    for(i = 0; i < field.value.length; i++) {
        if (chars.indexOf( field.value.charAt(i) ) < 0) {
            alert(error);
            field.focus();
			return false;
        }
    }
	return true;
}