    if (typeof(PHP2Controls) == 'undefined') PHP2Controls = new Object();

    PHP2Controls.CountryStateSelector = function()
    {
        this.defaultOptionID = '0';
        this.defaultOptionName = " ------- None ------- ";
        this.rootUrl = "/";
        this.selectStateControlID = 'ddlState';
    }
    
    
    /**
     * On City select change Event Handler
     */
    PHP2Controls.CountryStateSelector.prototype.on_CountryChange = function(countryId)
    {
        if (countryId == 0)
        {
            document.getElementById(this.selectStateControlID).innerHTML = "";
            document.getElementById(this.selectStateControlID).disabled = true;

            return false;
        }

        serverResponse = new AjaxRequest(this.rootUrl + "wsdl/country.xml.php");
        serverResponse.add("action", 'getCountryData');
        serverResponse.add("country", countryId);
        serverResponse.setHandler(on_CountryDataXMLPosted);

        /**
         * On start Loading Data
         */
        document.getElementById(this.selectStateControlID).innerHTML = "";
        document.getElementById(this.selectStateControlID).disabled = true;
        
        window.ajaxStateCountrySelectorObjectPointer = this;
        // --- End of start Loading Data --- //
        response = serverResponse.execute();


    }

    on_CountryDataXMLPosted = function(currentObject)
    {
		try
		{
			var resultXML = currentObject.resultXML;
	        statesData = resultXML.getElementsByTagName('States')[0];
	        if ((statesData != undefined) && (typeof(statesData) == "object"))
	        {
	            window.ajaxStateCountrySelectorObjectPointer.loadStatesData(statesData);
	        }
		}catch(e)
		{
			
		}

        document.getElementById('cityDataLoading').style.display = "none";
        return true;
    }

    PHP2Controls.CountryStateSelector.prototype.loadStatesData = function(statesData)
    {
        statesList = statesData.getElementsByTagName('State');
        statesControl = document.getElementById(this.selectStateControlID);
            /**
             * Loading empy cell for city
             */
            var tmpOption = document.createElement("OPTION");
            tmpOption.value = this.defaultOptionID;
            tmpOption.text = this.defaultOptionName;
            //statesControl.options.add(tmpOption);
            statesControl.options[statesControl.options.length] = tmpOption;

        for(i=0; i < statesList.length; i++)
        {
            if ((statesList[i].firstChild != null) && (statesList[i].firstChild.data != null))
            {
                var tmpOption = document.createElement("OPTION");
                tmpOption.value = statesList[i].getAttribute('StateID');
                tmpOption.text = statesList[i].firstChild.data;
                statesControl.options[statesControl.options.length] = tmpOption;
            }
        }

        /**
         * Enabling States List and Disabling Cities List
         */
        statesControl.disabled = false;
    }
