function StayUpdated() {
    var numPatients_showing = 0;
    
    this.start = function() {
        var select_numPatients = $('#ctl00_ctl00_cphMain_cphCenter_ddlNumPatients');
        select_numPatients.bind('change', function(event) {
            stayUpdated.select_numPatients_changed(event.target);
        });
    }
    
    this.select_numPatients_changed = function(element) {
        var numPatients = element.options[element.selectedIndex].value;
        numPatients_showing = numPatients;
        // get all patient fields
        var element_patientDetails = $('#ctl00_ctl00_cphMain_cphCenter_patientDetails');
        var element_p1 = $('#p_1');
        var element_p2 = $('#p_2');
        var element_p3 = $('#p_3');
        var element_p4 = $('#p_4');
        var element_p5 = $('#p_5');
        if(numPatients > 0) {
            // show patients panel
            element_p1.show();
            element_patientDetails.show("slow");
            // show child elements incrementally
            if(numPatients > 1)
                element_p2.show();
            else {
                element_p2.hide();
                element_p3.hide();
                element_p4.hide();
                element_p5.hide();
            }
            if(numPatients > 2)
                element_p3.show();
            else {
                element_p3.hide();
                element_p4.hide();
                element_p5.hide();
            }
            if(numPatients > 3)
                element_p4.show();
            else {
                element_p4.hide();
                element_p4.hide();
                element_p5.hide();
            }
            if(numPatients > 4)
                element_p5.show();
            else {
                element_p5.hide();
            }
        }
        else {
            // hide patients panel
            element_patientDetails.hide("slow", function() {
                // hide child elements
                element_p1.hide();
                element_p2.hide();
                element_p3.hide();
                element_p4.hide();
                element_p5.hide();
            });
        }
        
    }
}

var stayUpdated = new StayUpdated();
$(document).ready(
    function(){ stayUpdated.start(); }
);


function chxAge_validation(source, arguments)
{
    if (document.getElementById('ctl00_ctl00_cphMain_cphCenter_chxAge').checked)
    {
        arguments.IsValid = true;
    }
    else
    {
        arguments.IsValid = false;
    }
}

function chxPrivacy_validation(source, arguments)
{
    if (document.getElementById('ctl00_ctl00_cphMain_cphCenter_chxPrivacy').checked)
    {
        arguments.IsValid = true;
    }
    else
    {
        arguments.IsValid = false;
    }
}

function patients_validation(source, arguments)
{
    if (validatRelationship(arguments.Value) && validatDOB(arguments.Value))
    {
        arguments.IsValid = true;
    }
    else
    {
        arguments.IsValid = false;
    }
}

function validatRelationship(num)
{
    for (var i = 1; i < (parseFloat(num) + 1); i++)
    {
        if (document.getElementById('ctl00_ctl00_cphMain_cphCenter_ddlRelationship_Patient' + i).value == '-select-')
        {
            return false;
        }
    }
    return true;
}

function validatDOB(num)
{
    for (var i = 1; i < (parseFloat(num) + 1); i++)
    {
        if (!validateDate(document.getElementById('ctl00_ctl00_cphMain_cphCenter_tbxDOB_Patient' + i)))
        {
            return false;
        }
    }
    return true;
}


function validateDate(fld)
{
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
    
    if ((fld.value.match(RegExPattern)) && (fld.value!=''))
    {
        return true;
    }
    else
    {
        return false;
    }
}