	/* 
		AUTOCOMPLETE CLASS
	*/
	
	Ajax.AutocompleterCustom = Class.create(Autocompleter.Base, {
	initialize: function(element, update, url, options) {
	this.baseInitialize(element, update, options);
	this.options.asynchronous  = true;
	this.options.onComplete    = this.onComplete.bind(this);
	this.options.defaultParams = this.options.parameters || null;
	this.url                   = url;
	this.elem                  = element;
	},

	getUpdatedChoices: function() {
	this.startIndicator();

	var entry = encodeURIComponent(this.options.paramName) + '=' +
	  encodeURIComponent(this.getToken());

	this.options.parameters = this.options.callback ?
	  this.options.callback(this.element, entry) : entry;

	if(this.options.defaultParams)
	  this.options.parameters += '&' + this.options.defaultParams;

	new Ajax.Request(this.url, this.options);
	},

	onComplete: function(request) {
	var data      = request.responseText.evalJSON();
	var data_json = eval('data.' + this.options.json);
	var stri 	  = eval('data.stri');
	var data_val  = '';
	var value     = '';
	var strCap 	  = '';
	var hdnFromAutosuggest	= $('hdn_from_autoselect');
	var hdnToAutosuggest	= $('hdn_to_autoselect');
	
		if(data_json.length > 0)
		{	
			if(this.options.hdnAutoSuggest == 'hdn_from_autoselect'){ hdnFromAutosuggest.value = ''; }
			if(this.options.hdnAutoSuggest == 'hdn_to_autoselect'){ hdnToAutosuggest.value = ''; }
			//use for autosuggest
			if(data_json.length >= 1 && data_json.length < 5)
			{	
				if(this.options.hdnAutoSuggest == 'hdn_from_autoselect'){ $('hdn_from_stats').value = '0';$('hdn_from_autoselect').value = data_json[0];}
				if(this.options.hdnAutoSuggest == 'hdn_to_autoselect'){ $('hdn_to_stats').value = '0'; $('hdn_to_autoselect').value = data_json[0];}
			}
			
			data_val += '<ul>';
			for(x=0;x<data_json.length;x++) 
			{
				value 	= data_json[x].replace(stri,'<u>'+stri+'</u>');
				value 	= value.replace(stri.toUpperCase(),'<u>'+stri.toUpperCase()+'</u>');
				strCap 	= stri.substr(0, 1).toUpperCase() + stri.substr(1);
				value 	= value.replace(strCap,'<u>'+strCap+'</u>');

				data_val += '<li><span style="display:none;">'+data_json[x]+'</span>' + value + '</li>';
				//data_val += '<li onclick=\'autocomplete_currency("'+data_json[x]+'","'+ this.element.id +'")\'>' + value + '</li>';
			} 
			data_val += '</ul>';
			this.update.style.position = 'relative';
			this.update.style.display = 'none';
			this.updateChoices(data_val);
			this.update.style.position = 'absolute';
		}
		else{
			if(this.options.hdnAutoSuggest == 'hdn_from_autoselect'){ $('hdn_from_stats').value = '1';}
			if(this.options.hdnAutoSuggest == 'hdn_to_autoselect'){ $('hdn_to_stats').value = '1';}
			this.update.style.display = 'none';
		}
	
	}//oncomplete
	});


