var module_subtype_filter = new Class(
	{
	Implements: [Chain],
	originalDD: null,
	typeDD: null,
	subtypeDD: null,
	initialize: function() {
		$$('.newSearchBox, .usedSearchBox').each(function(box) {
			var originalDD = box.getElement('select.soustype');
			originalDD.erase('id').erase('name');
			
			originalDD.setStyle('display', 'none');
			
			var typeDD = new Element('select', {'class': 'half',name: 'JtypeSL'});
			typeDD.store('originalDD', originalDD);
			typeDD.inject(originalDD, 'after');
//			alert(originalDD.getChildren('option')[0]);
			typeDD.grab(originalDD.getChildren('option')[0]);
/*
			typeDD.grab(new Element('option',
				{
				label: 'Tous',
				text: '-= Type de VR =-',
				value: ''
				}));
			*/
			originalDD.getChildren('optgroup').each(function(el) {
				var vehiculeCountNode = (el.getChildren())[0];

				var nodeText = vehiculeCountNode.get('text');
				var optlabel = el.get('label');

				var option = new Element('option',
					{
					label: optlabel,
					text: optlabel,
					value: el.get('label')
					});

				typeDD.grab(option);
			}, this);
			
			var subtypeDD = new Element('select',
				{
				'class': 'half',
				name: 'JsubtypeSL'
				});
			typeDD.store('subtypeDD', subtypeDD);
			
			subtypeDD.inject(typeDD, 'after');
			
			typeDD.addEvent('change', this.updateSubtypes.pass([typeDD], this));
		}, this);
	},
	clearSelect: function(select) {
		select.getChildren().each(function(el) {
			el.dispose();
		});
	},
	updateSubtypes: function(typeDD) {
		var originalDD = typeDD.retrieve('originalDD');
		var subtypeDD = typeDD.retrieve('subtypeDD');
		var selectedType = typeDD.get('value');

		var currentSelected = subtypeDD.get('value');

		if (currentSelected) {
			currentSelected = currentSelected.split('|');
		}
		else {
			currentSelected = [''];
		}

		this.clearSelect(subtypeDD);

		if (selectedType == '') {
			subtypeDD.set('value', '');
		}
		else {
			originalDD.getChildren('optgroup').each(function(el) {
				if (el.get('label') == selectedType) {
					el.getChildren().each(function(opt) { subtypeDD.adopt(opt.clone()); }, this);
				}
			}, this);

			subtypeDD.set('value', selectedType);
		}
	}
	});

window.addEvent('domready', function() {
	new module_subtype_filter();
});
