
/**Z:\WEBSITES\shaaditimes.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);


};