

var marque1 = document.recherche.elements['nouv_marque1'];
var modele1 = document.recherche.elements['nouv_modele1'];
var marque2 = document.recherche.elements['nouv_marque2'];
var modele2 = document.recherche.elements['nouv_modele2'];

var ajaxRequest = null;




marque1.onchange = function() {
	var url = main_url+marque1.value;
	if (ajaxRequest) {
		ajaxRequest.cancel();
		ajaxRequest = null;
	}
	ajaxRequest = new Request.JSON({
		url: url,
		onRequest: function() {
			this._ajaxLoader = new Element('img', {src:'<?php echo addslashes($IMG_SRC_AJAX_LOADER) ?>'});
			this._ajaxLoader.inject(modele1, 'after');
			// Vide les modèles
			modele1.options.length = 0;
			modele1.options[0] = new Option('Chargement...', '');
			modele1.disabled = 'disabled';
		},
		onSuccess: function(o) {
			var i, s;

			if (o['error']) {
				//console.log('Error: '+o['error']);
				alert(o ? o['error'] : 'Erreur inconnue !');
				modele1.options[0] = new Option('Erreur !', '');
				if (this._ajaxLoader) this._ajaxLoader.dispose();
				ajaxRequest = null;
				return;
			} else if (o) {
				// Ajoute les modèles correspondants à la marque séléctionée
				for (var i = 0; i < o.length; i++) {
					s = o[i]['model'];
					modele1.options[i] = new Option(s, s);
				}
			}
			if (this._ajaxLoader) this._ajaxLoader.dispose();
			modele1.disabled = null;
			ajaxRequest = null;
		},
		onCancel: function() {
			//console.log('CANCELLED');
			if (this._ajaxLoader) this._ajaxLoader.dispose();
			modele1.disabled = null;
			ajaxRequest = null;
		},
		onFailure: function() {
			modele1.options.length = 0;
			modele1.options[0] = new Option('Erreur !', '');
			if (this._ajaxLoader) this._ajaxLoader.dispose();
			modele1.disabled = 'disabled';
		}
	}).get();
};










marque2.onchange = function() {
	var url = main_url+marque2.value;
	if (ajaxRequest) {
		ajaxRequest.cancel();
		ajaxRequest = null;
	}
	ajaxRequest = new Request.JSON({
		url: url,
		onRequest: function() {
			this._ajaxLoader = new Element('img', {src:img.src});
			this._ajaxLoader.inject(modele2, 'after');
			// Vide les modèles
			modele2.options.length = 0;
			modele2.options[0] = new Option('Chargement...', '');
			modele2.disabled = 'disabled';
		},
		onSuccess: function(o) {
			var i, s;

			if (o['error']) {
				//console.log('Error: '+o['error']);
				alert(o ? o['error'] : 'Erreur inconnue !');
				modele2.options[0] = new Option('Erreur !', '');
				if (this._ajaxLoader) this._ajaxLoader.dispose();
				ajaxRequest = null;
				return;
			} else if (o) {
				// Ajoute les modèles correspondants à la marque séléctionée
				for (var i = 0; i < o.length; i++) {
					s = o[i]['model'];
					modele2.options[i] = new Option(s, s);
				}
			}
			if (this._ajaxLoader) this._ajaxLoader.dispose();
			modele2.disabled = null;
			ajaxRequest = null;
		},
		onCancel: function() {
			//console.log('CANCELLED');
			if (this._ajaxLoader) this._ajaxLoader.dispose();
			modele2.disabled = null;
			ajaxRequest = null;
		},
		onFailure: function() {
			modele2.options.length = 0;
			modele2.options[0] = new Option('Erreur !', '');
			if (this._ajaxLoader) this._ajaxLoader.dispose();
			modele2.disabled = 'disabled';
		}
	}).get();
};


