

function optionSet(fnct,subItems) {
	this.fnct = fnct
 	if(typeof subItems=='undefined')	{
  	this.subItems=new Array
  }
  else	{
  	this.subItems=subItems
  }
}

function showNoInfo(oAutoSuggestControl)  {
		if($(oAutoSuggestControl.textbox.id+"_noInfo"))	{
			$(oAutoSuggestControl.textbox.id+"_noInfo").style.display=''
		}
		else	{
			new Insertion.After(oAutoSuggestControl.textbox,"<img style=\"vertical-align:bottom\" id=\""+oAutoSuggestControl.textbox.id+"_noInfo\" src=\"http://iops.e2save.com/e2internal/iconset/icons/bullet_error.png\">")
		}
}

function hideNoInfo(oAutoSuggestControl)	{
	if($(oAutoSuggestControl.textbox.id+"_noInfo"))	{
		$(oAutoSuggestControl.textbox.id+"_noInfo").style.display='none'
	}
}

optionSet.prototype.ajaxHandler = function(phpFunc,pars,fnct,oAutoSuggestControl,bTypeAhead)  {
		var pars=pars+'&library=/include/autosuggest/suggestFunctions.php&phpFunc='+phpFunc
		var pars=pars+'&sid='+Math.random();
			var myAjax = new Ajax.Request(
			"/include/autosuggest/ajaxWrapper.php", 
			{
				method: 'post', 
				parameters: pars, 
				onComplete: function(request)	{
					var aSuggestions = new Array
					if(request.responseText.charAt(0)=="[")	{
						aSuggestions = eval(request.responseText)
					}
					if(aSuggestions.length==0)	{
						showNoInfo(oAutoSuggestControl)
					}
					else {
						hideNoInfo(oAutoSuggestControl)
					}
					oAutoSuggestControl.autosuggest(aSuggestions, 0);
					
				}
			});
	}
    		                                      

/**
 * Request suggestions for the given autosuggest control. 
 * @scope protected
 * @param oAutoSuggestControl The autosuggest control to provide suggestions for.
 */
optionSet.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
     		                                                  bTypeAhead /*:boolean*/) {                                          	
    var sTextboxValue = oAutoSuggestControl.textbox.value;
    if (sTextboxValue.length > 0){
    		var pars = '&textboxValue='+sTextboxValue
    		for ( var i=0; i < this.subItems.length; i++ )	{
    			if($(this.subItems[i]))	{
    				pars += "&"+this.subItems[i]+"="+$F(this.subItems[i])
    			}
    		}
    		this.ajaxHandler(this.fnct,pars,'this.suggestions(request).bindAsEventListener(this)',oAutoSuggestControl,0)
    }
    else	{
    	hideNoInfo(oAutoSuggestControl)
    	oAutoSuggestControl.autosuggest(new Array, 0);
    } 

};