﻿/// <reference path="jq/jquery.js" />
/// <reference path="jq/jq-extras.js" />

$(document).ready(function() {
    var validations = {};
    //get all required items
    $('.required').each(function(_, itm) {
        var id = itm.id;
        if (!id) return;
        var validator = new LiveValidation(id, { validMessage: 'ok', wait: 500 });
        validator.add(Validate.Presence, { failureMessage: '*required' });
        //check the other properties of the items
        validations[id] = validator;
        itm.validator = validator;
    });
    //fix all emails
    $('.email').each(function(_, itm) {
        if (!itm.id) return;
        var validator;
        if (itm.validator) {
            validator = itm.validator;
        } else {
            validator = new LiveValidation(itm.id, { validMessage: 'ok', wait: 500 });
            validations[itm.id] = validator;
            itm.validator = validator;
        }
        validator.add(Validate.Email, { failureMessage: 'Invalid email address' });
    });
    //fix the accept
    $('.accept').each(function(_, itm) {
        if (!itm.id) return;
        var validator;
        if (itm.validator)
            validator = itm.validator;
        else {
            validator = new LiveValidation(itm.id, { validMessage: 'ok', wait: 500 });
            validations[itm.id] = validator;
            itm.validator = validator;
        }
        validator.add(Validate.Acceptance, { failureMessage: 'You must accept this before proceeding.' });
    });
    $('.date').each(function(_, itm) {
        itm = $(itm);
        var opts = { onClose: function(date) { $(itm).focus(); }, changeMonth: true, changeYear: true };
        if (itm.attr('yearRange')) opts.yearRange = itm.attr('yearRange');
        if (itm.attr('maxDate')) opts.maxDate = itm.attr('maxDate');
        if (itm.attr('minDate')) opts.minDate = itm.attr('minDate');
        $(itm).datepicker(opts);
    });
});

var log = function(msg) {
    if (window.console)
        if (window.console.log)
            window.console.log(msg);
}