

/**Z:\WEBSITES\shaadispice.com\dev\wedding-directory\ssi\remotesuggestions.js

 * Provides suggestions for state names (USA).

 * @class

 * @scope public

 */

function RemoteStateSuggestions() {



    if (typeof XMLHttpRequest != "undefined") {

        this.http = new XMLHttpRequest();

    } else if (typeof ActiveXObject != "undefined") {

        this.http = new ActiveXObject("MSXML2.XmlHttp");

    } else {

        alert("No XMLHttpRequest object available. This functionality will not work.");

    }



}



/**

 * Request suggestions for the given autosuggest control.

 * @scope protected

 * @param oAutoSuggestControl The autosuggest control to provide suggestions for.

 */

RemoteStateSuggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,

                                                          bTypeAhead /*:boolean*/) {

    var oHttp = this.http;



    //if there is already a live request, cancel it

    if (oHttp.readyState != 0) {

        oHttp.abort();

    }



	//build the URL

    var sURL = "/wedding-directory/ssi/suggestions.php";

    var params = "userInput=" + encodeURIComponent(oAutoSuggestControl.textbox.value)+"&catval="+encodeURIComponent(oAutoSuggestControl.category.value)+"&type="+encodeURIComponent(oAutoSuggestControl.select.value)+"&country="+encodeURIComponent(oAutoSuggestControl.country.value);



    //open connection to states.txt file

    oHttp.open("POST", sURL , true);

	oHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	oHttp.setRequestHeader("Content-length", params.length);

	oHttp.setRequestHeader("Connection", "close");

    oHttp.onreadystatechange = function () {

        if (oHttp.readyState == 4) {

            //evaluate the returned text JavaScript (an array)

            var aSuggestions = eval(oHttp.responseText);



            //provide suggestions to the control

            oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);

        }

    };

    oHttp.send(params);





};
