<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/**
 * Created by alex on 30/01/2017.
 */

function CountryManager( type ) {
    var self = this;
    var country_element = "#" + type + "_country";
    var zip_element     = "#" + type + "_zip";

    self.getThis = function() {
        return this;
    };

    self.getCountrySelect = function() {
        return self.country;
    };

    self.getStateObject = function() {
        return self.state.getThis();
    };

    self.getCountry = function() {
        return self.country.val();
    };

    self.setCountry = function( country, cb ) {
        self.country.val( country );

        setSelectValue( self.country, country, cb );
    };

    self.getCountryStates = function( country ) {
        self.state.getStates( country );
    };

    self.stateChanged = function( state ) {
        self.state.stateChanged( state );
    };

    self.setState = function( state ) {
        self.state.setState( state );
    };

    self.getState = function() {
        return self.state.getState();
    };

    self.onCountryChange = function() {
        if(self.getCountry() &amp;&amp; self.getCountry().toLowerCase() === 'us' ) {
            $( zip_element ).attr( 'inputmode', 'numeric' );
            $( zip_element ).attr( 'pattern', '[0-9]*' );
        } else {
            $( zip_element ).removeAttr( 'inputmode' );
            $( zip_element ).removeAttr( 'pattern' );
        }
    };

    self.country = $( country_element );
    self.state = new StateManager( type, self );
}
</pre></body></html>