﻿

function validateTimeFormat(time) {
    
    var re = new RegExp(/^\d{1,2}:\d{2}\s(AM|PM|am|pm)$/);

    return re.test(time);
}

function parseTimeString(time) {
    var firstParts = time.split(' ');
    var hoursMins = firstParts[0].split(':');
    var hours = parseInt(hoursMins[0]);
    var mins = parseInt(hoursMins[1]);
    var AMPM = firstParts[1];
    return new Array( (AMPM.toLowerCase() == "am" ? hours : hours + 12) , hoursMins[1]);
}


function validateForm(container) {
    var _reqFields = $('#' + container + ' .required');

    // required fields
    for (var i = 0; i < _reqFields.length; i++) {
        if ($('#' + _reqFields[i].id).val() == '') {
            alert(_reqFields[i].name + " is a required field");
            _reqFields[i].focus();
            return false;
        }
    }

    // compare validators
    var _compareFields = $('.compareValidator');
    var _retVal = true;
    for (var i = 0; i < _compareFields.length; i++) {
        var field1 = $('#' + $(_compareFields[i]).attr('controlToValidate')).val();
        var field2 = $('#' + $(_compareFields[i]).attr('controlToCompare')).val();

        switch ($(_compareFields[i]).attr('operator').toLowerCase()) {
            case "equal":
                if (field1 != field2) {
                    alert('Fields must be equal');
                    $(_compareFields[i]).html("*");
                    _retVal = false;
                }
                break;
            case "notequal":
                if (field1 == field2) {
                    alert("Fields cannot be equal");
                    $(_compareFields[i]).html("*");
                    _retVal = false;
                }
                break;
        }
        if (_retVal == false)
            break;

    }

    if (_retVal == true)
        return true;
    else
        return false;
}
