/**
 *	Envía un comando a la cesta de la compra para actualizar el contenido
 *	de ésta.
 */
function updateBasket(parameter, id, lang, value, theme) {
	var request = new Ajax.Request(
			'/'+BASE_PATH+'modules/_catalog_update_basket.php',
			{
				method: 'post',
				parameters: parameter + '=' + id + '&lang=' + lang + '&value=' + value,
				onComplete: function(originalRequest) {
					var reply = originalRequest.responseText.parseJSON();
					if (reply) {
						switch (reply.action) {
							case 'load':
								openWebService('/'+BASE_PATH+'modules/_catalog_basket', '/'+BASE_PATH+'themes/' + theme + '/styles/catalog/basket_popin.css', theme, lang);
								break;
							case 'delete':
								itemToDelete = document.getElementById(reply.target);
								if (itemToDelete) {
									itemToDelete.parentNode.removeChild(itemToDelete);
								}
							case 'update':
								for(i=0; i<reply.replace.length; i++) {
									itemToUpdate = document.getElementById(reply.replace[i].target);
									if (itemToUpdate.tagName == 'INPUT') {
										itemToUpdate.value = reply.replace[i].value;
									} else {
										itemToUpdate.innerHTML = reply.replace[i].value;
									}
								}
								break;
							case 'open':
								window.location.href = window.location.href + '&add=1&id_product=' + id;
								break;
						}
					} else if (parameter == 'id_product') {
						window.location.href = window.location.href + '&add=1&id_product=' + id;
					}
				}
			}
	);
}

function command(id, scriptPath, command, callback, param) {
	var request = new Ajax.Request(
		'/' + BASE_PATH + scriptPath,
		{
			method: 'get',
			parameters: 'id=' + id + '&command=' + command,
			onComplete: function(originalRequest) {
				if (callback && (typeof(callback) == 'function')) {
					callback(originalRequest,param);
				}
			}
		}
	);
}


function getModels(id, idModel) {
	$('models').value = 0;
	$('models').disabled = 'disabled';
	$('motos').value = 0;
	$('motos').disabled = 'disabled';
	command(id,'_get_motorizations.php','model',fillSelectModel, idModel);
}

function getMotorizations(id, idMoto) {
	command(id,'_get_motorizations.php','moto',fillSelectMotorization, idMoto);
}

function fillSelectModel(originalRequest, idModel) {
	var data = eval('(' + originalRequest.responseText + ')');
	var selectOption = 'Seleccione un modelo...';
	if(lang == 'en') {
		selectOption = 'Choose an option...';
	}

	$('models').options.length = 0;
	var opt_select = document.createElement('option');

	opt_select.text = selectOption;
	opt_select.value = '0';
	$('models').options.add(opt_select);
	for(var i = 0; i < data.length; i++) {
		var opt = document.createElement('option');
		opt.text = data[i].name;
		opt.value = data[i].id;
		$('models').options.add(opt);
	}
	$('models').disabled = '';
	if(idModel) {
		$('models').value = idModel;
	}
}

function fillSelectMotorization(originalRequest, idMoto) {
	var data = eval('(' + originalRequest.responseText + ')');
	var selectOption = 'Seleccione una motorización...';
	if(lang == 'en') {
		selectOption = 'Choose an option...';
	}
	$('motos').options.length = 0;
	var opt_select = document.createElement('option');
	opt_select.text = selectOption;
	opt_select.value = '0';
	$('motos').options.add(opt_select);
	for(var i = 0; i < data.length; i++) {
		var optM = document.createElement('option');
		optM.text = data[i].name;
		optM.value = data[i].id;
		$('motos').options.add(optM);
	}
	$('motos').disabled = '';
	if(idMoto) {
		$('motos').value = idMoto;
	}
}
function toggleAdvanced() {
	/*
	var showButton = 'Búsqueda avanzada';
	var hiddenButton = 'Ocultar avanzada';
	if(lang == 'en') {
		showButton = 'Search advanced';
		hiddenButton = 'Hide advanced';
	}
	new Effect.toggle('search_advanced');
	var displaySearch = $('search_advanced').style.display;
	if(displaySearch != '') {
		$('buttonAdvanced').innerHTML = hiddenButton;
	} else {
		$('buttonAdvanced').innerHTML = showButton;
	}
	*/
}

function fillSelect(idBrand, idModel, idMoto) {
	if(idBrand > 0) {
		getModels(idBrand, idModel);
	}
	if(idModel > 0) {
		getMotorizations(idModel, idMoto);
	}
}