// JavaScript Document

// www.soldados.com
// webdeveloperchis - 07.05.2010
// Hace uso del framework "jquery-1.4.2.min.js"


// Variables

var notasCanales=[];
var notasCuerpos=[];
var notasEspecialidades=[];
var formJSactivo,SelectCuerpos,Selectespecialidades;
var miOptionCanales,miOptionCuerpos;


// Funciones

function extraemosCanales(){
	// Leemos los Canales y los almacenamos en un Array
	notasCanales.push( $(this).html() );
}


function extraemosCuerpos(){
	// Leemos los Cuerpos y almacenamos en un Array los Option ya construidos para rellenar el Select de Cuerpos
	var misLi="";
	var contadorStrong=0;
	$(this)
		.find('li')
		.each(function(){
									if( $(this).parent().parent().parent().hasClass('accesible') ){
										if( $(this).find('strong').length > 0 ){
											var miLIprimario= $('ul.accesible > li').index( $(this).parent().parent());
											misLi+='<option label="'+$(this).find("strong").html()+'" value="#seleccionable-'+contadorStrong+'nivel'+miLIprimario+'">'+$(this).find("strong").html()+'</option>';
											contadorStrong++;
										}else{
											misLi+='<option label="'+$(this).find("a").html()+'" value="'+$(this).find("a").attr('href')+'">'+$(this).find("a").html()+'</option>';
										}
									}
								 		});
	notasCuerpos.push(misLi);
}

function extraemosEspecialidades(){
	// Leemos las Especialidades y almacenamos en un Array los Option ya construidos para rellenar el Select de Especialidades
	var misLiEs="";
	$(this).find('li').each(function(){
								 		misLiEs+='<option label="'+$(this).find("a").html()+'" value="'+$(this).find("a").attr('href')+'">'+$(this).find("a").html()+'</option>';
								 		
										});
				
	//alert('XXXXX'+misLiEs+'XXXX');
	notasEspecialidades.push(misLiEs);
}

function creaSelectCanales(){
	// Construimos una variable que guarde un Form con un Select con los Canales como Option
	formJSactivo='<form id="buscadornotasselector">';
	formJSactivo+='<fieldset>';
	formJSactivo+='<legend>Buscador de notas</legend>';
	formJSactivo+='<label class="fueradepantalla" for="buscadornotasselectorcategoria">Seleciona Canal</label>';
	formJSactivo+='<select id="buscadornotasselectorcanal">';
	formJSactivo+='<option label="Selecciona Canal">Selecciona Canal</option>';
	
	// Recorremos el Array con los Canales para crear los Option con sus valores

	for(i=0; i<notasCanales.length; i++){
		formJSactivo+='<option label="'+notasCanales[i]+'">'+notasCanales[i]+'</option>';
	}
	
	formJSactivo+='</select>';
	formJSactivo+='</fieldset>';
	formJSactivo+='</form>';
} 
			


function creaSelectCuerpos(){
	// Primeramente eliminamos todo posible Select de Cuerpos y Select de Especialidades existentes
	$('#buscadornotasselectorcuerpo,#buscadornotasselectorespecialidad').remove();
	
	
	// Leemos el Option seleccionado del Select de Canales
	var miOption=this.selectedIndex-1;
	
	// Construimos una variable que guarde un Select con los Cuerpos como Option
	SelectCuerpos='&nbsp;';
	SelectCuerpos+='<label class="fueradepantalla" for="buscadornotasselectorsubcategoria">Seleciona Cuerpo</label>';
	SelectCuerpos+='<select id="buscadornotasselectorcuerpo">';
	SelectCuerpos+='<option label="Selecciona Cuerpo">Selecciona Cuerpo</option>';
	
	// Creamos los Option leyendo el Array de Cuerpos
	SelectCuerpos+=notasCuerpos[miOption];
	
	SelectCuerpos+='</select>';
	
	// Pintamos un segundo Select para los Cuerpos en base al Option seleccionado en el primer Select de Canales
	$('#buscadornotasselectorcanal').after( SelectCuerpos );
	
	// Mostramos el listado de notas correspondiente si el Select recien construido solo tiene 1 Option
	if($('#buscadornotasselectorcuerpo option').length == 1){
			var miListadoPDF = $('#buscadornotasselectorcuerpo option:selected').val();
			$('#buscadornotascontenedor div.buscadornotaslistadopdf').hide();
			$(miListadoPDF).show();
			iniciarBuscadornotascontenedor();
		}

	// Mostramos el listado de notas correspondiente en base al Option seleccionado en el Select de Cuerpos
	$('#buscadornotasselectorcuerpo').change(muestraListadoPDF);

}



function creaSelectEspecialidades(cuerpo,nivel){
	// Primeramente eliminamos todo posible Select de Especialidades existente
	$('#buscadornotasselectorespecialidad').remove();
	
	// Construimos una variable que guarde un Select con las especialidades como Option
	SelectEspecialidades='&nbsp;';
	SelectEspecialidades+='<label class="fueradepantalla" for="buscadornotasselectorsubcategoriaespecialidad">Seleciona</label>';
	SelectEspecialidades+='<select id="buscadornotasselectorespecialidad">';
	SelectEspecialidades+='<option label="Selecciona">Selecciona</option>';
	
	// Convertimos a numero las variables nivel y cuerpo
	nivel=parseFloat(nivel);
	cuerpo=parseFloat(cuerpo);

	
	/*
	alert('Nivel:'+nivel+', Cuerpo:'+cuerpo);
	
	alert("XXX  1"+notasEspecialidades[cuerpo+nivel]+"XXX");
	alert("XXX  2"+notasEspecialidades[cuerpo+nivel+2]+"XXX");
	alert("XXX  3"+notasEspecialidades[cuerpo+nivel+3]+"XXX");
	alert("XXX  4"+notasEspecialidades[cuerpo+nivel+4]+"XXX");
	alert("XXX  5"+notasEspecialidades[cuerpo+nivel+5]+"XXX");
	alert("XXX  6"+notasEspecialidades[cuerpo+nivel+6]+"XXX");
	*/
	
	// Creamos los Option leyendo el Array de Cuerpos
	
	/*
	alert('Nivel:'+nivel+', Cuerpo:'+cuerpo);
	alert("XXX  1"+notasEspecialidades[cuerpo+nivel]+"XXX");
	alert("XXX  2"+notasEspecialidades[cuerpo+nivel+2]+"XXX");
	alert("XXX  3"+notasEspecialidades[cuerpo+nivel+3]+"XXX");
	alert("XXX  4"+notasEspecialidades[cuerpo+nivel+4]+"XXX");
	alert("XXX  5"+notasEspecialidades[cuerpo+nivel+5]+"XXX");
	alert("XXX  6"+notasEspecialidades[cuerpo+nivel+6]+"XXX");
	alert("XXX  7"+notasEspecialidades[cuerpo+nivel+7]+"XXX");
	alert("XXX  8"+notasEspecialidades[cuerpo+nivel+8]+"XXX");
	alert("XXX  9"+notasEspecialidades[cuerpo+nivel+9]+"XXX");
	alert("XXX  10"+notasEspecialidades[cuerpo+nivel+10]+"XXX");
	
	
	//alert("XX"+this.value);
	var i=0;
	for(i=0; i<notasEspecialidades.length; i++){
		
		alert("DD"+notasEspecialidades[i]+"FFF"+id);
	}
	*/
	
	switch(nivel)
	{
		case 5:
			SelectEspecialidades+=notasEspecialidades[cuerpo+nivel+8];
			break;
		case 4:
			SelectEspecialidades+=notasEspecialidades[cuerpo+nivel+5];
			break;
		case 3:
			SelectEspecialidades+=notasEspecialidades[cuerpo+nivel+4];
			break;
		case 2:
			SelectEspecialidades+=notasEspecialidades[cuerpo+nivel+2];
			break;
		default:
			SelectEspecialidades+=notasEspecialidades[cuerpo+nivel];
			break;	
	}
	
	
	
	/*
	if (nivel == 3){
		// tercer LI del Ul.accesible
		SelectEspecialidades+=notasEspecialidades[cuerpo+nivel+4];
	}else if ( nivel == 2){
		//resto de LI del Ul.accesible
		SelectEspecialidades+=notasEspecialidades[cuerpo+nivel+2];
	}else{
		//resto de LI del Ul.accesible
		SelectEspecialidades+=notasEspecialidades[cuerpo+nivel];
	}
	*/
	
	/*
	if( nivel == 2){
		// tercer LI del Ul.accesible
		SelectEspecialidades+=notasEspecialidades[cuerpo+nivel+2];
	}else{
		//resto de LI del Ul.accesible
		SelectEspecialidades+=notasEspecialidades[cuerpo+nivel];
	}
	*/
	
	SelectEspecialidades+='</select>';
	
	
	
	// Pintamos un segundo Select para las Especialidades en base al Option seleccionado en el primer Select de Cuerpos
	$('#buscadornotasselectorcuerpo').after( SelectEspecialidades );
	
	// Mostramos el listado de notas correspondiente si el Select recien construido solo tiene 1 Option
	if($('#buscadornotasselectorespecialidad option').length == 1){
			var miListadoPDFES = $('#buscadornotasselectorespecialidad option:selected').val();
			$('#buscadornotascontenedor div.buscadornotaslistadopdf').hide();
			$(miListadoPDFES).show();
			iniciarBuscadornotascontenedor();
		}

	// Mostramos el listado de notas correspondiente en base al Option seleccionado en el Select de Cuerpos
	$('#buscadornotasselectorespecialidad').change(muestraListadoPDF);

}



function muestraListadoPDF(){
	
	if( $(this).attr('id')=='buscadornotasselectorcuerpo' ){
		//alert( $(this).attr('id'));
		// Primeramente eliminamos todo posible Select de Especialidades existente
		$('#buscadornotasselectorespecialidad').remove();
	}
	
	// Recogemos el value del Option seleccionado en el Select de Cuerpos
	var miListadoPDF=this.value;
	//alert("XXX"+miListadoPDF+"XXX");
	// Comprobamos si el Option elegido no contiene mas subsecciones
	if( miListadoPDF.split('#')[1].split('-')[0] != 'seleccionable' ){

		// Primero ocultamos todos los listados de notas existentes
		$('#buscadornotascontenedor div.buscadornotaslistadopdf').hide();

		// Mostramos el listados de notas con id igual al value del Option seleccionado en el Select de Cuerpos
		$(miListadoPDF).show();
		iniciarBuscadornotascontenedor();
	}else{
		creaSelectEspecialidades(miListadoPDF.split('#')[1].split('-')[1].split('nivel')[0],miListadoPDF.split('nivel')[1]);
	}
}

function iniciarBuscadornotascontenedor(){
	// Eliminamos el border-bottom del contenedor de notas pues ya lo lleban cada listado de notas.
	$('#buscadornotascontenedor').removeClass('reseteado').addClass('iniciado');
	
	// Correccion por si se elige el primer Option del Select Cuerpos
	if( $('#buscadornotasselectorcuerpo').attr("selectedIndex") == 0 ){
		$('#buscadornotascontenedor').removeClass('iniciado').addClass('reseteado');
	}
}

//------------------------------------------------------------------

$(document).ready(function(){
						   
  // Ocultamos los titulares de cada listado efectivos si no se dispone JavaScript
  //$('div.buscadornotaslistadopdf h4').addClass('fueradepantalla');
						   
  // Leemos los Canales
  $('#buscadornotascontenedor ul.accesible > li > strong').each(extraemosCanales);

  // Leemos los Cuerpos
  $('#buscadornotascontenedor ul.accesible > li > ul').each(extraemosCuerpos);
	
	// Leemos las Especialidades
  $('#buscadornotascontenedor ul.accesible > li > ul > li ul').each(extraemosEspecialidades);
  
  // Construimos una variable que guarde un Form con un Select con los Canales como Option
  creaSelectCanales();
  
  // Pintamos el Form
  $('#buscadornotascontenedor ul.accesible').removeClass('accesible').addClass('fueradepantalla').after( formJSactivo );
  
  // Pintamos un segundo Select para los Cuerpos en base al Option seleccionado en el primer Select de Canales
  $('#buscadornotasselectorcanal').change(creaSelectCuerpos);
	
	// Pintamos un tercer Select para las Especialidades en base al Option seleccionado en el segundo Select de Cuerpos
  //$('#buscadornotasselectorcuerpo').change(creaSelectEspecialidades);
  
  // Ocultamos todos los listados de notas a la espera de la eleccion del usuario
  $('#buscadornotascontenedor div.buscadornotaslistadopdf').hide();
	
});

/*
<form id="buscadornotasselector">
<fieldset>
<legend>Buscador de notas</legend>
<label class="fueradepantalla" for="buscadornotasselectorcategoria">Seleciona Canal</label>
<select id="buscadornotasselectorcanal">
<option label="Selecciona Canal">Selecciona Canal</option>
<option label="Suboficiales">Suboficiales</option>
<option label="Oficiales - Sin titulación universitaria">Oficiales - Sin titulación universitaria</option>
<option label="Oficiales - Con titulación universitaria">Oficiales - Con titulación universitaria</option>
</select>
&nbsp;
<label class="fueradepantalla" for="buscadornotasselectorsubcategoria">Seleciona Cuerpo</label>
<select id="buscadornotasselectorcuerpo">
<option label="Selecciona Cuerpo">Selecciona Cuerpo</option>
</select>
&nbsp;
<label class="fueradepantalla" for="buscadornotasselectorsubcategoriaespecialidad">Seleciona</label>
<select id="buscadornotasselectorespecialidad">
<option label="Selecciona">Selecciona</option>
</select>
</fieldset>
</form>
*/
