/**
 * @author Maarten Molenschot
 * prijs autocomplete
**/

StarcqSuggestPrijzen = new Class({
	
	options: {
		prijzen: ['0','50000','75000','100000','125000','150000','175000','200000','225000','250000','275000','300000','325000','350000','375000','400000','450000','500000','550000','600000','650000','700000','750000','800000','900000','1000000','1250000','1500000','2000000'],
		usePrijsmin: true,
		usePrijsmax: true
	},
	
	initialize: function(prijsmin, prijsmax, options){
		this.setOptions(options);
		this.prijsmin = $(prijsmin);
		this.prijsmax = $(prijsmax);
		
		if(this.options.usePrijsmin && this.prijsmin){
			this.validateField(this.prijsmin);
			this.startSuggest(this.prijsmin);
		}
		if(this.options.usePrijsmax && this.prijsmax){
			this.validateField(this.prijsmax);
			this.startSuggest(this.prijsmax);
		}
	},
	
	validateField: function(element){
		element.addEvent('keyup', function(){
			if(!element.getValue().test(/^[0-9]*$/)){
				element.setProperty('value', element.getValue().replace(/[^0-9]/g, ''));
			}
		});
	},
	
	startSuggest: function(element){
		this.autocompleter = new Autocompleter.Local(element, this.options.prijzen, {
			'minLength': 1,
			'inheritWidth': false,
			'markQuery': false,
			'injectChoice': function(choice) {
				var el = new Element('li').setHTML(this.markQueryValue(choice.toInt().numberFormat(0,',','.')));
				el.inputValue = choice;
				this.addChoiceEvents(el).injectInside(this.choices);
			},
			'multiple': false,
			'zIndex': 10000000
		});
	}
	
});

StarcqSuggestPrijzen.implement(new Options);
StarcqSuggestPrijzen.implement(new Events);
