
/**
 * Provides suggestions for state names (USA).
 * @class
 * @scope public
 */
function Suggestions() {
}

/**
 * Request suggestions for the given autosuggest control. 
 * @scope protected
 * @param oAutoSuggestControl The autosuggest control to provide suggestions for.
 */
Suggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
                                                          bTypeAhead /*:boolean*/) {
    var aSuggestions = [];
	var aSuggestionIds = [];
    var sTextboxValue = oAutoSuggestControl.textbox.value;
    
    if (sTextboxValue.length > 1){
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
		 
		} else if (window.ActiveXObject) { // IE
			try {http_request = new ActiveXObject("Msxml2.XMLHTTP");}
			catch (e) {
				try {http_request = new ActiveXObject("Microsoft.XMLHTTP");}
				catch (e) {}
			}
		}
		 
		if (!http_request) {
			alert('Giving up :( Cannot create an XMLHTTP instance');
			return false;
		}
		http_request.onreadystatechange = function(){
			var state = http_request.readyState;
		 
			//request completed and answered sucessfully
			if (state == 4 && http_request.status == 200) {
				var xmlDoc = http_request.responseXML;
				var ids = [];
				var texts = [];
				
				var leden = xmlDoc.getElementsByTagName("leden")[0].childNodes;
				for (var i=0;i<leden.length;i++) {
					var lid = leden[i];
					ids.push(lid.childNodes[0].firstChild.nodeValue);
					texts.push(lid.childNodes[1].firstChild.nodeValue);
					
				}
				//provide suggestions to the control
				oAutoSuggestControl.autosuggest(ids,texts, bTypeAhead);
			}
		}
		var url="/autosuggest/getsuggesties.php?text=" + sTextboxValue;
		http_request.open("GET", url, true);
		http_request.send(null);
		}

};