﻿var errors;
var loc;
var RegisterControl = {
    PostalField: null,
    ProvinceField: null,
    CountryCodeElement: null,
    Highlight: function() {
        if (errors != null && errors.length > 0) {
            $.each(errors, function() {
                $("#" + this).css("border", "1px solid red");
            });
        }
    },
    TogglePostalCode: function() {
        var cc = $("#" + this.CountryCodeElement + " :selected").val();
        if (cc == "US") {
            $("#x-postalCode").show();
            $("#x-province").hide();
        } else {
            $("#x-province").show();
            $("#x-postalCode").hide();
        }
    },
    SetLocation: function() {
        if (loc != null) {

            if (loc.PostalCode != null) { $("#" + this.PostalField).val(loc.PostalCode); }
            if (loc.ProvinceRegion != null) { $("#" + this.ProvinceField).val(loc.ProvinceRegion); }
            switch (loc.Country) {
                case "CA":
                    $("#country").val("CA");
                    break;
                default:
                    $("#country").val("US");
                    break;
            }

        }
    },
    Init: function(zip, prov) {
        this.Highlight();
        this.TogglePostalCode();
        this.PostalField = zip;
        this.ProvinceField = prov;

        this.SetLocation();
        $("#" + this.CountryCodeElement).bind("change", function() {
            RegisterControl.TogglePostalCode();
        });
    }
}