function validate_user_edit(form) {
    if (form.fullname.value=='') {
        alert("Please include the user's full name.");
        return false;
    }
    if (form.email.value=='') {
        alert("Please include the user's correct email address.");
        return false;
    }
    if (form.password.value != '') {
        if (_validate_password(form.password, form.password_compare)) {
            return true;
        }
        return false;
    }
    return true;
}

function _validate_password(password_field, password_field_compare) {

    if (password_field.value != '' && password_field.value != password_field_compare.value) {
        alert("Password fields were not identical. Please retype the password fields.");
        password_field.value = '';
        password_field_compare.value = '';
        password_field.focus();
        return false;
    }
    if (password_field.value.length < 6) {
        alert("The password must be at least 6 characters long.");
        password_field.value = '';
        password_field_compare.value = '';
        password_field.focus();
        return false;
    }
    return true;
}

function validate_user_add(form) {
    if (form.username.value=='') {
        alert("Please set a username for this account.");
        form.username.focus();
        return false;
    }
    if (form.fullname.value=='') {
        alert("Please include the user's full name.");
        form.fullname.focus();
        return false;
    }
    if (form.email.value=='') {
        alert("Please include the user's correct email address.");
        form.email.focus();
        return false;
    }
    if (form.password.value=='' || form.password_compare.value == '') {
        alert("Please set a password for this user in both password fields.");
        form.password.focus();
        return false;
    }
    if (_validate_password(form.password, form.password_compare)) {
        return true;
    }
    else {
        return false;
    }
}

function validate_role_add(form) {
    
    if (form.rolename.value=='') {
        alert('Please set a name for the role.');
        form.rolename.focus();
        return false;
    }
    
}

function validate_profile(form) {
    if (form.fullname.value=='') {
        alert("Please include your full name.");
        form.fullname.focus();
        return false;
    }
    if (form.email.value=='') {
        alert("Please include your correct email address.");
        form.email.focus();
        return false;
    }
    if (_validate_password(form.password, form.password_compare)) {
        return true;
    }
    else {
        return false;
    }  
}

function validate_compare() {
   compares = document.forms['compare'].version_ids;
   count_selected = 0;
   for (var i=0;i < compares.length;i++) {
     c = compares[i];
     if (c.checked == true) {
         count_selected++;
     }
   }
   if (count_selected == 0) {
       alert('You must select two versions via the "Compare" checkboxes.');
       return false;       
   }
   else if (count_selected == 1) {
       alert('You must select one more version to compare.');
       return false;
   }
   else if (count_selected > 2) {
       alert('Only two versions can be compared.');
       return false;
   }
   return true;
}

