function cambiaProvincia(ctlProvincia, localidadSeleccionada)
{
	var c = 0, en = '';
	var provincia = ctlProvincia.value;
	
	if (ctlProvincia.selectedIndex){
		var en = ' en ' + ctlProvincia.options[ctlProvincia.selectedIndex].innerHTML;
	}
	
	var selectLocalidades = $(ctlProvincia.form.localidad);
	selectLocalidades.options.length = 0;
	selectLocalidades.insert(new Element('option',{value:''}).update('Todas' + en));

	var selectCategorias = $(ctlProvincia.form.categoria);	
	selectCategorias.options.length = 0;	
	selectCategorias.insert(new Element('option',{value:''}).update('Todas' + en));
	
	var categoriasProvincia = new Object();

	//for (var i in localidades[provincia])
	if (provincia != 0) {
		for (loc in localidades)
		{
			if (localidades[loc].provincia == provincia)
			{
				var newOption = selectLocalidades.insert(new Element('option', {value:localidades[loc].codigo_localidad}).update(localidades[loc].nombre_localidad));

				localidades[loc].categorias.each(function(cat) {
					if (!categoriasProvincia[cat])
					{
						categoriasProvincia[cat] = categorias[cat];
					}
				});
			}
		}

		for (cat in categoriasProvincia)
		{
			selectCategorias.insert(new Element('option',{value:cat}).update(categorias[cat]));
		}
	}
	if (localidadSeleccionada) selectLocalidades.value = localidadSeleccionada;
	selectLocalidades.focus();
}

function cambiaLocalidad(ctlLocalidad, categoriaSeleccionada) {
	var en = '';
	var localidad = ctlLocalidad.value;
	
	ctlProvincia = ctlLocalidad.form.provincia;
	
	if (ctlLocalidad.selectedIndex){
		var en = ' en ' + ctlLocalidad.options[ctlLocalidad.selectedIndex].innerHTML;
	}
	else if (ctlProvincia.selectedIndex) {
		var en = ' en ' + ctlProvincia.options[ctlProvincia.selectedIndex].innerHTML;
	}
	
	var selectCategorias = $(ctlLocalidad.form.categoria);	
	selectCategorias.options.length = 0;	
	selectCategorias.insert(new Element('option',{value:''}).update('Todas' + en));
	
	if (localidades[localidad])
	{
		for (cat in localidades[localidad].categorias)
		{
			var codigo_categoria = localidades[localidad].categorias[cat];
			if (categorias[codigo_categoria])
			{
				var nombre_categoria = categorias[codigo_categoria];
				var newOption = selectCategorias.insert(new Element('option',{value:codigo_categoria}).update(nombre_categoria));
				
			}				
		}
	}
	else {
		var categoriasProvincia = new Object();
		for (loc in localidades)
		{
			if (localidades[loc].provincia == ctlProvincia.value)
			{
				localidades[loc].categorias.each(function(cat) {
					if (!categoriasProvincia[cat])
					{
						categoriasProvincia[cat] = categorias[cat];
					}
				});
			}
		}

		for (cat in categoriasProvincia)
		{
			selectCategorias.insert(new Element('option',{value:cat}).update(categorias[cat]));
		}
	}
	
	if (categoriaSeleccionada) selectCategorias.value = categoriaSeleccionada;
	selectCategorias.focus();
}
