$(function() { // run on page load using jQuery
    // validate add user form on keyup and submit
    $("#add_user").validate({
        //set the rules for the field names
        rules: {
            first_name: {
                required: true,
                minlength: 2
            },
            last_name: {
                required: true,
                minlength: 2
            },
            username: {
                required: true,
                minlength: 2
            },
            password: {
                required: true,
                minlength: 6
            },
            email: {
                required: true,
                email: true
            }
        },
        //set messages to appear inline
        messages: {
            username: "* The \"Username\" field must be > 2 characters",
            email: "* Please enter a valid email address",
            password: "* The \"Password\" field must be > 5 characters",
            first_name: "* The \"First Name\" field must be > 2 characters",
            last_name: "* The \"Last Name\" field must be > 2 characters"
        }
    });

    $("#login").validate({
        //set the rules for the field names
        rules: {

            username: {
                required: true,
                minlength: 2
            },
            password: {
                required: true,
                minlength: 6
            }
        },
        //set messages to appear inline
        messages: {
            username: "* The \"Username\" field must be > 2 characters",
            password: "* The \"Password\" field must be > 5 characters"
        }
    });

    $("#edit_email").validate({
        //set the rules for the field names
        rules: {
            subject: {
                required: true,
                minlength: 2
            },
            body: {
                required: true,
                minlength: 2
            },
            'cycle[]': {
                required: true
            },
            name: {
                required: true,
                minlenth: 2
            },
            description: {
                required: true,
                minlength: 2
            }
        },
        //set messages to appear inline
        messages: {
            subject: "* The \"Subject\" field must be > 2 characters",
            body: "* The \"Contents\" field cannot be empty ",
            'cycle[]': "* At least one cycle must be selected",
            name: "* The \"Name\" field must be > 2 characters",
            description: "* The \"Description\" field must be > 2 characters"
        }
    });

    $("#login").validate({
        //set the rules for the field names
        rules: {

            username: {
                required: true,
                minlength: 2
            },
            password: {
                required: true,
                minlength: 6
            }
        },
        //set messages to appear inline
        messages: {
            username: "* The \"Username\" field must be > 2 characters",
            password: "* The \"Password\" field must be > 5 characters"
        }
    });

    $("#change_password").validate({
        //set the rules for the field names
        rules: {

            old_password: {
                required: true,
                minlength: 6
            },
            new_password: {
                required: true,
                minlength: 6
            },
            confirm_password: {               
                equalTo: '#new_password'
            }
        },
        //set messages to appear inline
        messages: {
            old_password: "* The \"Old Password\" field is required",
            new_password: "* The \"New Password\" field must be > 5 characters",
            confirm_password: "* Passwords do not match"
        }
    });

   $("#change_email").validate({
        //set the rules for the field names
        rules: {

            email: {
                required: true,
                email: true
            }
        },
        //set messages to appear inline
        messages: {
           email: "* Must be a valid email address"         
        }
    });

    $("#change_email").validate({
        //set the rules for the field names
        rules: {

            email: {
                required: true,
                email: true
            }
        },
        //set messages to appear inline
        messages: {
           email: "* Must be a valid email address"
        }
    });

    $("#cycle_add_member").validate({
        //set the rules for the field names
        rules: {
            'user_id[]': {
                required: true              
            }
        },
        //set messages to appear inline
        messages: {
           'user_id[]': "* At least one user must be selected"
        }
    });
});


