function BillingStateList()
{
    var _Self = this; //handles scope for contructor vars in function, ie this in function !=  this in constructor
    this._StateList = new Array();
    this._State = '';
    this._Country = '';
    this._DrawDiv = '';
    this._TagName = '';
    this._CountryDDObjectName = '';
    this._CountryHash = new Array();
    this._ObjectName = '';
    this._CityTagName = '';
    this._ZipCodeTagName = '';
    this._Delimeter = ''
    this._StateCodeIdx = 0, this._TotalTaxIdx = 0, this._TaxTypeIdx = 0, this._ZipCodeIdx = 0, this._CountyNameIdx = 0, this._CityNameIdx = 0;
    this._IDIdx = 0, this._TaxShippingIdx = 0, this._TaxShippingHandlingIdx = 0;
    this.Init = function(objDef)
        {
            _Self._StateCodeIdx = 0
            _Self._TotalTaxIdx = 1
            _Self._TaxTypeIdx = 2
            _Self._ZipCodeIdx = 3
            _Self._CountyNameIdx = 4
            _Self._CityNameIdx = 5
            _Self._IDIdx = 6
            _Self._TaxShippingIdx = 7
            _Self._TaxShippingHandlingIdx = 8
            _Self._State = objDef._State;
            _Self._Country = objDef._Country;
            _Self._DrawDiv = objDef._DrawDiv;
            _Self._TagName = objDef._TagName;
            _Self._ObjectName = objDef._ObjectName;
            _Self._CityTagName = objDef._CityTagName;
            _Self._ZipCodeTagName = objDef._ZipCodeTagName;
            _Self._Delimeter = objDef._Delimeter;
            _Self._CountryDDObjectName = objDef._CountryDDObjectName;
            _Self._CountryHash['Alabama'] = 'US';
            _Self._CountryHash['Alaska'] = 'US';
            _Self._CountryHash['American Samoa'] = 'US';
            _Self._CountryHash['Arizona'] = 'US';
            _Self._CountryHash['Arkansas'] = 'US';
            _Self._CountryHash['California'] = 'US';
            _Self._CountryHash['Colorado'] = 'US';
            _Self._CountryHash['Connecticut'] = 'US';
            _Self._CountryHash['Delaware'] = 'US';
            _Self._CountryHash['District of Columbia'] = 'US';
            _Self._CountryHash['Federated States of Micronesia'] = 'US';
            _Self._CountryHash['Florida'] = 'US';
            _Self._CountryHash['Georgia'] = 'US';
            _Self._CountryHash['Guam'] = 'US';
            _Self._CountryHash['Hawaii'] = 'US';
            _Self._CountryHash['Idaho'] = 'US';
            _Self._CountryHash['Illinois'] = 'US';
            _Self._CountryHash['Indiana'] = 'US';
            _Self._CountryHash['Iowa'] = 'US';
            _Self._CountryHash['Kansas'] = 'US';
            _Self._CountryHash['Kentucky'] = 'US';
            _Self._CountryHash['Louisiana'] = 'US';
            _Self._CountryHash['Maine'] = 'US';
            _Self._CountryHash['Marshall Islands'] = 'US';
            _Self._CountryHash['Maryland'] = 'US';
            _Self._CountryHash['Massachusetts'] = 'US';
            _Self._CountryHash['Michigan'] = 'US';
            _Self._CountryHash['Minnesota'] = 'US';
            _Self._CountryHash['Mississippi'] = 'US';
            _Self._CountryHash['Missouri'] = 'US';
            _Self._CountryHash['Montana'] = 'US';
            _Self._CountryHash['Nebraska'] = 'US';
            _Self._CountryHash['Nevada'] = 'US';
            _Self._CountryHash['New Hampshire'] = 'US';
            _Self._CountryHash['New Jersey'] = 'US';
            _Self._CountryHash['New Mexico'] = 'US';
            _Self._CountryHash['New York'] = 'US';
            _Self._CountryHash['North Carolina'] = 'US';
            _Self._CountryHash['North Dakota'] = 'US';
            _Self._CountryHash['Northern Mariana Islands'] = 'US';
            _Self._CountryHash['Ohio'] = 'US';
            _Self._CountryHash['Oklahoma'] = 'US';
            _Self._CountryHash['Oregon'] = 'US';
            _Self._CountryHash['Palau'] = 'US';
            _Self._CountryHash['Pennsylvania'] = 'US';
            _Self._CountryHash['Puerto Rico'] = 'US';
            _Self._CountryHash['Rhode Island'] = 'US';
            _Self._CountryHash['South Carolina'] = 'US';
            _Self._CountryHash['South Dakota'] = 'US';
            _Self._CountryHash['Tennessee'] = 'US';
            _Self._CountryHash['Texas'] = 'US';
            _Self._CountryHash['Utah'] = 'US';
            _Self._CountryHash['Vermont'] = 'US';
            _Self._CountryHash['Virgin Islands'] = 'US';
            _Self._CountryHash['Virginia'] = 'US';
            _Self._CountryHash['Washington'] = 'US';
            _Self._CountryHash['West Virginia'] = 'US';
            _Self._CountryHash['Wisconsin'] = 'US';
            _Self._CountryHash['Wyoming'] = 'US';
            _Self._CountryHash['Alberta'] = 'CA';
            _Self._CountryHash['British Columbia'] = 'CA';
            _Self._CountryHash['Manitoba'] = 'CA';
            _Self._CountryHash['New Brunswick'] = 'CA';
            _Self._CountryHash['Newfoundland and Labrador'] = 'CA';
            _Self._CountryHash['Nova Scotia'] = 'CA';
            _Self._CountryHash['Northwest Territories'] = 'CA';
            _Self._CountryHash['Nunavut'] = 'CA';
            _Self._CountryHash['Ontario'] = 'CA';
            _Self._CountryHash['Prince Edward Island'] = 'CA';
            _Self._CountryHash['Quebec'] = 'CA';
            _Self._CountryHash['Saskatchewan'] = 'CA';
            _Self._CountryHash['Yukon'] = 'CA';
            _Self._StateList = [{_Country:'US',_States:[
                                            {_Value:'AL' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Alabama'},
                                            {_Value:'AK' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Alaska'},
                                            {_Value:'AS' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'American Samoa'},
                                            {_Value:'AZ' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Arizona'},
                                            {_Value:'AR' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Arkansas'},
                                            {_Value:'CA' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'California'},
                                            {_Value:'CO' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Colorado'},
                                            {_Value:'CT' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Connecticut'},
                                            {_Value:'DE' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Delaware'},
                                            {_Value:'DC' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'District of Columbia'},
                                            {_Value:'FM' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Federated States of Micronesia'},
                                            {_Value:'FL' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Florida'},
                                            {_Value:'GA' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Georgia'},
                                            {_Value:'GU' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Guam'},
                                            {_Value:'HI' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Hawaii'},
                                            {_Value:'ID' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Idaho'},
                                            {_Value:'IL' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Illinois'},
                                            {_Value:'IN' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Indiana'},
                                            {_Value:'IA' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Iowa'},
                                            {_Value:'KS' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Kansas'},
                                            {_Value:'KY' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Kentucky'},
                                            {_Value:'LA' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Louisiana'},
                                            {_Value:'ME' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Maine'},
                                            {_Value:'MH' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Marshall Islands'},
                                            {_Value:'MD' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Maryland'},
                                            {_Value:'MA' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Massachusetts'},
                                            {_Value:'MI' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Michigan'},
                                            {_Value:'MN' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Minnesota'},
                                            {_Value:'MS' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Mississippi'},
                                            {_Value:'MO' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Missouri'},
                                            {_Value:'MT' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Montana'},
                                            {_Value:'NE' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Nebraska'},
                                            {_Value:'NV' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Nevada'},
                                            {_Value:'NH' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'New Hampshire'},
                                            {_Value:'NJ' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'New Jersey'},
                                            {_Value:'NM' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'New Mexico'},
                                            {_Value:'NY' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'New York'},
                                            {_Value:'NC' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'North Carolina'},
                                            {_Value:'ND' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'North Dakota'},
                                            {_Value:'MP' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Northern Mariana Islands'},
                                            {_Value:'OH' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Ohio'},
                                            {_Value:'OK' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Oklahoma'},
                                            {_Value:'OR' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Oregon'},
                                            {_Value:'PW' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Palau'},
                                            {_Value:'PA' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Pennsylvania'},
                                            {_Value:'PR' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Puerto Rico'},
                                            {_Value:'RI' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Rhode Island'},
                                            {_Value:'SC' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'South Carolina'},
                                            {_Value:'SD' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'South Dakota'},
                                            {_Value:'TN' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Tennessee'},
                                            {_Value:'TX' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Texas'},
                                            {_Value:'UT' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Utah'},
                                            {_Value:'VT' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Vermont'},
                                            {_Value:'VI' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Virgin Islands'},
                                            {_Value:'VA' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Virginia'},
                                            {_Value:'WA' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Washington'},
                                            {_Value:'WV' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'West Virginia'},
                                            {_Value:'WI' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Wisconsin'},
                                            {_Value:'WY' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Wyoming'}
                                        ]},
                            {_Country:'CA',_States:[{_Value:'AB' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + 'CITY' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Alberta'},
                                            {_Value:'BC' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'British Columbia'},
                                            {_Value:'MB' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Manitoba'},
                                            {_Value:'NB' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'New Brunswick'},
                                            {_Value:'NL' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Newfoundland and Labrador'},
                                            {_Value:'NS' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Nova Scotia'},
                                            {_Value:'NT' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Northwest Territories'},
                                            {_Value:'NU' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Nunavut'},
                                            {_Value:'ON' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Ontario'},
                                            {_Value:'PE' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Prince Edward Island'},
                                            {_Value:'QC' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Quebec'},
                                            {_Value:'SK' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Saskatchewan'},
                                            {_Value:'YT' + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + '' + _Self._Delimeter + 'COUNTY' + _Self._Delimeter + '' + _Self._Delimeter + '' + _Self._Delimeter + 'True' + _Self._Delimeter + 'True' + String.fromCharCode(29),_Display:'Yukon'}
                                        ]}
            ];
        };
    this.SetSelection = function(objDef)
        {
            if(typeof(objDef) == 'object')
            {
                if(objDef._State)
                    _Self._State = objDef._State;
                else
                    _Self._State = '';
                if(objDef._Country)
                    _Self._Country = objDef._Country;
                else
                    _Self._Country = '';
            }
        };
    this.Draw = function()
    {
        if(arguments[0]) _Self.SetSelection(arguments[0])
        GetTag(_Self._DrawDiv).innerHTML = _Self.ReturnSateSelect();
    }
    this.ReturnSateSelect = function()
		{
			var aHTML = new Array();
			var bFound = false;
			for(var i = 0; i< _Self._StateList.length; i++)
			{
			    if(_Self._StateList[i]._Country.trim().toLowerCase() == _Self._Country.trim().toLowerCase())
			    {
			        aHTML.push('<select name="' + _Self._TagName + '" id="' + _Self._TagName + '"><option value="">Select a ' + ((_Self._Country.trim().toLowerCase() == 'us')?'State':'Province') + '</option>');
			        for(var j=0; j<_Self._StateList[i]._States.length; j++)
			        {
			                var sSelect = (_Self._State.trim().toLowerCase() == _Self._StateList[i]._States[j]._Value.split(_Self._Delimeter)[_Self._StateCodeIdx].trim().toLowerCase())?' selected="selected"':'';
				            aHTML.push('<option value="' + _Self._StateList[i]._States[j]._Value + '"' + sSelect + '>' + _Self._StateList[i]._States[j]._Display + '</option>');
                    }
			        aHTML.push('</select>');
			        return aHTML.join('');
                }
            }
            return '<input name="' + _Self._TagName + '" id="' + _Self._TagName + '" value="" class="FormElementInput" maxlength="20" />';
		};
	this.SetStateData = function(TargetTagName)
	{
	    if(_Self._Country.trim().toLowerCase() == 'us' || _Self._Country.trim().toLowerCase() == 'ca')
	    {
	        var aValues = GetTag(_Self._TagName).options[GetTag(_Self._TagName).selectedIndex].value.split(_Self._Delimeter);
	        GetTag(TargetTagName).value = aValues[_Self._StateCodeIdx];
	        GetTag(_Self._TagName).options[GetTag(_Self._TagName).selectedIndex].value = aValues[_Self._StateCodeIdx] + _Self._Delimeter + aValues[_Self._TotalTaxIdx] + _Self._Delimeter + aValues[_Self._TaxTypeIdx] + _Self._Delimeter + GetTag(_Self._ZipCodeTagName).value + _Self._Delimeter + aValues[_Self._CountyNameIdx] + _Self._Delimeter + GetTag(_Self._CityTagName).value + _Self._Delimeter + aValues[_Self._IDIdx] + _Self._Delimeter + aValues[_Self._TaxShippingIdx] + _Self._Delimeter + aValues[_Self._TaxShippingHandlingIdx];
        }
        else
        {
            GetTag(TargetTagName).value = GetTag(_Self._TagName).value;
            GetTag(_Self._TagName).value = GetTag(_Self._TagName).value + _Self._Delimeter + '0' + _Self._Delimeter + 'PRODUCT' + _Self._Delimeter + GetTag(_Self._ZipCodeTagName).value + _Self._Delimeter + '' + _Self._Delimeter + GetTag(_Self._CityTagName).value + _Self._Delimeter + '' + _Self._Delimeter + 'False' + _Self._Delimeter + 'False';
        }
	}
}