﻿function ClearStateControls(ddlCanadianStates, ddlUSStates, tbxInternationalState) {
    ddlCanadianStates.val("-1");
    tbxInternationalState.val("");
    ddlUSStates.val("-1");
}

function HideShowStateControls(ddlCountry, ddlCanadianStates, ddlUSStates, tbxInternationalState) {
    if (ddlCountry.val() == "United States") {
        ddlUSStates.show();
        ddlCanadianStates.hide();
        tbxInternationalState.hide();
    }
    else if (ddlCountry.val() == "Canada") {
        ddlUSStates.hide();
        ddlCanadianStates.show();
        tbxInternationalState.hide();
    }
    else {
        ddlUSStates.hide();
        ddlCanadianStates.hide();
        tbxInternationalState.show();
    }
}

function InitStateValidator() {
    var ddlCountry = $("[id$='_ddlCountry']");
    var ddlCanadianStates = $("[id$='_ddlCanadianStates']");
    var ddlUSStates = $("[id$='_ddlUSStates']");
    var tbxInternationalState = $("[id$='_tbxInternationalState']");
    var cvStateValidator = $("[id$='_cvStateValidator']");

    $(document).ready(function() {

        HideShowStateControls(ddlCountry, ddlCanadianStates, ddlUSStates, tbxInternationalState);

        ddlCountry.change(function() {
            ClearStateControls(ddlCanadianStates, ddlUSStates, tbxInternationalState);
            HideShowStateControls(ddlCountry, ddlCanadianStates, ddlUSStates, tbxInternationalState);
        });
        ddlUSStates.change(function() {
            if ($(this).val() != "-1") {
                if (cvStateValidator) {
                    cvStateValidator.hide();
                }
            }
        });
        ddlCanadianStates.change(function() {
            if ($(this).val() != "-1") {
                if (cvStateValidator) {
                    cvStateValidator.hide();
                }
            }
        });
        tbxInternationalState.change(function() {
            if ($(this).val() != "") {
                if (cvStateValidator) {
                    cvStateValidator.hide();
                }
            }
        });
    });
}