//inicializa el select tipo vehículo
function inicia(volver){
	//document.mantenimiento.tipo_vehiculo.options[0].selected = true;
	var volver = volver;
	if (volver == '-1' ) {
		cambiaSelect1 ();		
	}else{
		inicializarSelectores ();
	}
}
//función que muestra las operaciones del select de operacion dependiendo del tipo de vehículo seleccionado
//0 - particular
//1 - industrial
function cambiaSelect1(){
	
	//oculta todo por si se cambia de tipo de vehículo
	ocultaTodo();

	//inicializa el select de operacion
	document.mantenimiento.operacion.length = 1;
	document.mantenimiento.operacion.options[0].value = "";
	muestraSelect('tr_operacion');

	//valor del tipo de vehículo elegido
	var tipoVehiculo = '0';//document.mantenimiento.tipo_vehiculo[document.mantenimiento.tipo_vehiculo.selectedIndex].value

	//valida si el tipo esta elegido
	//si está seleccionado muestra el select de operaciones
	//con las operaciones del tipo de vehículo elegido
	if (tipoVehiculo != "") {	
		inicializaOperaciones(tipoVehiculo)
		
	}else{
		//si no se ha seleccionado un tipo de vehículo el select se queda con una opcion unicamente
		document.mantenimiento.operacion.length = 1;
		document.mantenimiento.operacion.options[0].value = "";
	    document.mantenimiento.operacion.options[0].text = "Elija un tipo de vehículo";
	}	
	document.mantenimiento.operacion.options[0].selected = true;	
}



//función que cambia las operaciones del select de operacion dependiendo del tipo de vehículo seleccionado
//0 - particular
//1 - industrial
function cambiaSelect2(){
	var operacionValue = document.mantenimiento.operacion[document.mantenimiento.operacion.selectedIndex].value;

	if ((operacionValue == "")||(operacionValue == "0"))
	{
		alert("Por favor, selecciona la operación que deseas realizar");
		ocultaTodo();

	}else
	{
		var operaciones = operacionValue.split('_');
		var operacion = operaciones[0];
		var presentacion = operaciones[1];

		//muestra el select de niveles: modelos de coche
		if (presentacion == 1) 
		{
			ocultaTodo();
			muestraSelect('tr_niveles');
			//recupera el valor de operacion para saber el array de nivel a utilizar
			var niveles = eval('niv_' + operacion);
			inicializaNiveles(niveles);			
		}
		else if (presentacion == 2) //busqueda de provincias
		{
			ocultaTodo();
			muestraSelect('tr_provincia');
			icicializaProvincias();			
		}
		else if (presentacion == 3)  //busqueda avanzada
		{
			ocultaTodo();
			muestraSelect('tr_busqueda');
			inicializaBusqueda(operacion);
		}
	}
}


//muestra el select de localidad segun el valor seleccionado en la provincia*******************************************************
function cambiaSelect3(){
	var provinciaValue = document.mantenimiento.provincia[document.mantenimiento.provincia.selectedIndex].value
	var localidades = eval('prov_' + provinciaValue);		
	inicializaLocalidades(localidades);	
	ocultaSelect('tr_envio');
}

//muestra el boton de envío
function cambiaSelect4(){	
	muestraSelect('tr_envio');
}


//muestra select provincias cuando se haya seleccionado un nivel********************************************************************
function cambiaSelect5(){
	var nivelValue = document.mantenimiento.niveles[document.mantenimiento.niveles.selectedIndex].value;
	if ((nivelValue == "")||(nivelValue == "0"))
	{
		alert("Por favor, selecciona un modelo");
		muestraSelect('tr_niveles');
	}else
	{
		muestraSelect('tr_provincia');
		icicializaProvincias(1);
	}
}

//muestra select provincias cuando se haya seleccionado un criterio de busqueda***************************************************************
function cambiaSelect6(){
	var busqValue = document.mantenimiento.busqueda[document.mantenimiento.busqueda.selectedIndex].value;
	if ((busqValue == "")||(busqValue == "0"))
	{
		alert("Por favor, selecciona la cilindrada");
		muestraSelect('tr_busqueda');
	}else
	{
		muestraSelect('tr_provincia');
		icicializaProvincias(1);
	}
}




//inicializa el select de operaciones********************************************************************************************
function inicializaOperaciones(tipoVehiculo){
	
	//inicializacion del select de operaciones
	operacionesElegidas = eval("operaciones_" + tipoVehiculo)		//array de operaciones en funcion del tipo de vehiculo seleccionado
	numOperaciones = operacionesElegidas.length;					//contador de array operaciones
	document.mantenimiento.operacion.length = numOperaciones/3+1;	//numero de opciones en el select (agrupado de 3 en 3)
																	
	
	//recorrido del array elegido para rellenar el select
	//primera opcion
	document.mantenimiento.operacion.options['0'].value = "0";
	document.mantenimiento.operacion.options['0'].text = "Elige la operación que deseas realizar..."
	j = 1;
	for( i = 0 ; i < numOperaciones ; i=i+3){
		if (operacionesElegidas[i] == "@") //titulo de seccion
		{
			document.mantenimiento.operacion.options[j].value = operacionesElegidas[i+1];
			document.mantenimiento.operacion.options[j].text = operacionesElegidas[i+2];
			document.mantenimiento.operacion.options[j].id = "amarillo";
			document.mantenimiento.operacion.options[j].disabled;
		}else{								//titulo operacion
			document.mantenimiento.operacion.options[j].value = operacionesElegidas[i]+"_"+operacionesElegidas[i+1];
			document.mantenimiento.operacion.options[j].text = ' · '+operacionesElegidas[i+2];
			document.mantenimiento.operacion.options[j].id = "gris";
			
		}
		j++;
	}	
}

//inicializa el select de busqueda********************************************************************************************
function icicializaBusqueda(busqueda){

	numOpciones = opciones.length;								//contador de opciones de busqueda
	document.mantenimiento.busqueda.length = numOpciones/2+1;	//numero de opciones en el select
	
	//recorrido del array elegido para rellenar el select
	//primera opcion
	document.mantenimiento.busqueda.options['0'].value = "0";
	document.mantenimiento.busqueda.options['0'].text = "Elige una opción..."
	document.mantenimiento.busqueda.options['0'].selected = true;

	j = 1;
	for( i = 0 ; i < numOpciones ; i=i+2){			
		document.mantenimiento.busqueda.options[j].value = opciones[i];
		document.mantenimiento.busqueda.options[j].text = opciones[i+1];			
		j++;
	}		
}

//inicializa el select de niveles********************************************************************************************
function inicializaNiveles(niveles){

	numNiveles = niveles.length;								//contador de provincias
	document.mantenimiento.niveles.length = numNiveles/2+1;	//numero de opciones en el select

	//recorrido del array elegido para rellenar el select
	//primera opcion
	document.mantenimiento.niveles.options['0'].value = "0";
	document.mantenimiento.niveles.options['0'].text = "Elige modelo..."
	document.mantenimiento.niveles.options['0'].selected = true;
	j = 1;
	for( i = 0 ; i < numNiveles ; i=i+2){			
		document.mantenimiento.niveles.options[j].value = niveles[i]
		document.mantenimiento.niveles.options[j].text = niveles[i+1]			
		j++;
	}	

}

//inicializa el select de provincias********************************************************************************************
function icicializaProvincias(tipo){

	numProvincias = provincias.length;								//contador de provincias
	document.mantenimiento.provincia.length = numProvincias/2+1;	//numero de opciones en el select
	
	//recorrido del array elegido para rellenar el select
	//primera opcion
	document.mantenimiento.provincia.options['0'].value = "0";
	document.mantenimiento.provincia.options['0'].text = "Elige tu provincia..."

	if (tipo != 1) 
	{
		document.mantenimiento.provincia.options['0'].selected = true;
		ocultaSelect('tr_localidad');
	}

	j = 1;
	for( i = 0 ; i < numProvincias ; i=i+2){			
		document.mantenimiento.provincia.options[j].value = provincias[i]
		document.mantenimiento.provincia.options[j].text = provincias[i+1]			
		j++;
	}	
	
}

//inicializa el select de localidades********************************************************************************************
function inicializaLocalidades(localidades){

	numLocalidades = localidades.length;						//contador de provincias
	document.mantenimiento.localidad.length = numLocalidades/2+1;	//numero de opciones en el select
	muestraSelect('tr_localidad');

	//recorrido del array elegido para rellenar el select
	//primera opcion
	document.mantenimiento.localidad.options['0'].value = "0";
	document.mantenimiento.localidad.options['0'].text = "Elige tu localidad...";
	document.mantenimiento.localidad.options['0'].selected = true;
	
	j = 1;
	for( i = 0 ; i < numLocalidades ; i=i+2){			
		document.mantenimiento.localidad.options[j].value = localidades[i]
		document.mantenimiento.localidad.options[j].text = localidades[i+1]			
		j++;
	}	

}

//inicializa el select de Busqueda********************************************************************************************
function inicializaBusqueda(operacion){
	
	criterioBusqueda = eval("busq_av_" + operacion);	
	criterioOpciones = eval("busq_val_" + operacion);	
	

	//tipo de campo select
	if (criterioBusqueda[1] == '1') //inicializa tipo select
	{
		numOpciones = criterioOpciones.length;					//contador de opciones
		document.mantenimiento.busqueda.length = numOpciones/2+1;	//numero de opciones en el select
	
		//recorrido del array elegido para rellenar el select
		//primera opcion
		document.mantenimiento.busqueda.options['0'].value = "0";
		document.mantenimiento.busqueda.options['0'].text = "Elige "+ criterioBusqueda[0] +"...";
		document.mantenimiento.busqueda.options['0'].selected  = true;
	
		j = 1;
		for( i = 0 ; i < numOpciones ; i=i+2){			
			document.mantenimiento.busqueda.options[j].value = criterioOpciones[i];
			document.mantenimiento.busqueda.options[j].text = criterioOpciones[i+1]			
			j++;
		}	
	}

}



//hace visibles las filas de los select********************************************************************************************
function muestraSelect(selectName, tipo){

	if(document.getElementById(selectName) != null){
		document.getElementById(selectName).style.display = '';
	}
	if (tipo == 1) 
	{
		eval("document.mantenimiento." + tipo + ".options[0].selected = true");
	}

}
//oculta las filas de los selects********************************************************************************************
function ocultaSelect(selectName){

	if(document.getElementById(selectName) != null){
		document.getElementById(selectName).style.display = 'none';
	}
}

//oculta todos los select para empezar desde el principio**************************************************************************
function ocultaTodo(){
	ocultaSelect('tr_busqueda');
	ocultaSelect('tr_localidad');
	ocultaSelect('tr_provincia');
	ocultaSelect('tr_niveles');
	ocultaSelect('tr_envio');
}

//comprueba la coherencia de los datos y envia el formulario
function enviarDatos(){
	// por defecto el tipo de vehiculo se pone a 0 (particular e industrial)
	var tipoVehiculo = '0'; // document.mantenimiento.tipo_vehiculo[document.mantenimiento.tipo_vehiculo.selectedIndex].value
	var operacionValue = document.mantenimiento.operacion[document.mantenimiento.operacion.selectedIndex].value;
	var desc_presentacion = document.mantenimiento.operacion[document.mantenimiento.operacion.selectedIndex].text;
	var operaciones = operacionValue.split('_');
	var operacion = operaciones[0];
	var presentacion = operaciones[1];
	var busqueda = document.mantenimiento.busqueda[document.mantenimiento.busqueda.selectedIndex].value;
	var desc_busqueda = document.mantenimiento.busqueda[document.mantenimiento.busqueda.selectedIndex].text;
	var niveles = document.mantenimiento.niveles[document.mantenimiento.niveles.selectedIndex].value;
	var desc_niveles = document.mantenimiento.niveles[document.mantenimiento.niveles.selectedIndex].text;
	var provincia = document.mantenimiento.provincia[document.mantenimiento.provincia.selectedIndex].value;
	var localidad = document.mantenimiento.localidad[document.mantenimiento.localidad.selectedIndex].value;
	var error = 0;

	if ((tipoVehiculo != 0)&&(tipoVehiculo != 1) )
	{
		alert("Por favor, elige el tipo de vehiculo")
		error = 1;
	}
	
	
	if (presentacion < 1) 
	{
		alert("Por favor, elige la operacion que quieres realizar")
		error = 1;
	}else if(presentacion == 1)
	{
		if ((niveles == "")||(niveles == 0))
		{
			alert("Por favor selecciona tu modelo de coche")
			error = 1;
		}
		
	}else if (presentacion == 3) 
	{
		if ((busqueda == "")||(busqueda == 0))
		{
			alert("Por favor selecciona tu modelo de coche")
			error = 1;
		}
	}

	if ((provincia == "")||(localidad == "")) 
	{
		error = 1;
	}
	
	if (error == 0) 
	{
		document.mantenimiento.desc_operacion.value = desc_presentacion;
		document.mantenimiento.desc_busqueda.value = desc_busqueda;
		document.mantenimiento.desc_niveles.value = desc_niveles;
		document.mantenimiento.id_presentacion.value = presentacion;
		document.mantenimiento.id_operacion.value = operacion;		
		document.mantenimiento.submit();
	}
}
	