﻿// Archivo JScript

function fnComboCargar(oCombo, oMenu, iSlt1, iSlt2){

    // limpiamos primero antes de cargar
    for (i = oCombo.options.length - 1; i >= 0; i--)
        oCombo.options[i] = null
        
    // cargamos el combo con los datos seleccionados
    if (iSlt2 == null){
        for (j = 0; j < oMenu[iSlt1].length; j++)
            oCombo.options[j] = new Option(oMenu[iSlt1][j].text, oMenu[iSlt1][j].value);
    }else{
        for (j = 0; j < oMenu[iSlt1][iSlt2].length; j++)
            oCombo.options[j] = new Option(oMenu[iSlt1][iSlt2][j].text, oMenu[iSlt1][iSlt2][j].value);
    }

    if (oCombo.selectedIndex == -1)
	    oCombo.options[0].selected = true;
	    
}

function fnEtapaCargar(){

    var iNumero = 4;
    var mnuEtapa = new Array(iNumero);
    
    var oEtapa = $("select_Etapa");
    
    var iSelect = 0;
    
    for (i = 0; i < iNumero; i++)
        mnuEtapa[i] = new Array();
    
    mnuEtapa[0][0] = new Option("Infantil", "Educación Infantil");
    mnuEtapa[0][1] = new Option("Primària", "Educación Primaria");
	mnuEtapa[0][2] = new Option("ESO", "Educación Secundaria Obligatoria");
	mnuEtapa[0][3] = new Option("Batxillerat", "Bachillerato");
    
    // cargamos el combo con los datos seleccionados
    fnComboCargar(oEtapa, mnuEtapa, iSelect);
    
    // cargamos los datos según etapa seleccionada
	fnCursoCargar();
	
	// cargamos las asignaturas según curso seleccionado
	fnAsignaturaCargar();
	
}

function fnCursoCargar(){
    
    var iNumero = 10;
    var mnuCurso = new Array(iNumero);
    
    var oEtapa = $("select_Etapa");
    var oCurso = $("select_Curso");
    
    oCurso.selectedIndex = -1;
    
    var iSelect = oEtapa.selectedIndex;   
    
    for (i = 0; i< iNumero; i++)
        mnuCurso[i] = new Array();

    mnuCurso[0][0] = new Option("3 anys", "Segundo ciclo / 3 años");
    mnuCurso[0][1] = new Option("4 anys", "Segundo ciclo / 4 años");
    mnuCurso[0][2] = new Option("5 anys", "Segundo ciclo / 5 años");
        
    mnuCurso[1][0] = new Option("Primer", "Primer ciclo / Primer curso (6-7 años)");
    mnuCurso[1][1] = new Option("Segon", "Primer ciclo / Segundo curso (7-8 años)");
    mnuCurso[1][2] = new Option("Tercer", "Segundo ciclo / Tercer curso (8-9 años)");
    mnuCurso[1][3] = new Option("Quart", "Segundo ciclo / Cuarto curso (9-10 años)");
    mnuCurso[1][4] = new Option("Cinquè", "Tercer ciclo / Quinto curso (10-11 años)");
    mnuCurso[1][5] = new Option("Sisè", "Tercer ciclo / Sexto curso (11-12 años)");

    mnuCurso[2][0] = new Option("Primer", "1º ESO");
    mnuCurso[2][1] = new Option("Segon", "2º ESO");
    mnuCurso[2][2] = new Option("Tercer", "3º ESO");
    mnuCurso[2][3] = new Option("Quart", "4º ESO");
    
    mnuCurso[3][0] = new Option("Primer", "1º Bachillerato");
    mnuCurso[3][1] = new Option("Segon", "2º Bachillerato");

    // cargamos el combo con los datos seleccionados
    fnComboCargar(oCurso, mnuCurso, iSelect);

}

function fnAsignaturaCargar(){
    
    var iEtapa = 4;
    var iCurso = 10;
    var mnuAsignatura = new Array(iEtapa);
    
    var oEtapa = $("select_Etapa");
    var oCurso = $("select_Curso");
    var oAsignatura = $("select_Asignatura");
    
    var iSelectEtapa = oEtapa.selectedIndex
    var iSelectCurso = oCurso.selectedIndex;   
    
    for (i = 0; i < iEtapa; i++){
        mnuAsignatura[i] = new Array();
        for (j = 0; j < iCurso; j++){
            mnuAsignatura[i][j] = new Array();
        }
    }
    
    // inicio infantil ---  
    mnuAsignatura[0][0][0] = new Option("Material bàsic", "Segundo ciclo / 3 años / Conocimiento de sí mismo y autonomía personal#Segundo ciclo / 3 años / Conocimiento del entorno#Segundo ciclo / 3 años / Lenguajes: comunicación y representación");
    mnuAsignatura[0][0][1] = new Option("Material complementari", "PAI / 3 años#Segundo ciclo / 3 años / Religión#Matemáticas / Nivel 1#Iniciación a la lectura / Nivel 1");
    mnuAsignatura[0][0][2] = new Option("Lectoescriptura", "Lectoescritura / Nivel 1");
    mnuAsignatura[0][0][3] = new Option("Grafomotricitat", "Grafomotricidad / Nivel 1");
    //mnuAsignatura[0][0][4] = new Option("Anglès", "Segundo ciclo / 3 años / Lenguas extranjeras / Inglés");
    
    mnuAsignatura[0][1][0] = new Option("Material bàsic", "Segundo ciclo / 4 años / Conocimiento de sí mismo y autonomía personal#Segundo ciclo / 4 años / Conocimiento del entorno#Segundo ciclo / 4 años / Lenguajes: comunicación y representación");
    mnuAsignatura[0][1][1] = new Option("Material complementari", "PAI / 4 años#Segundo ciclo / 4 años / Religión#Matemáticas / Nivel 2#Iniciación a la lectura / Nivel 2");
    mnuAsignatura[0][1][2] = new Option("Lectoescriptura", "Lectoescritura / Nivel 2");
    mnuAsignatura[0][1][3] = new Option("Grafomotricitat", "Grafomotricidad / Nivel 2");
    //mnuAsignatura[0][1][4] = new Option("Anglès", "Segundo ciclo / 4 años / Lenguas extranjeras / Inglés");
    
    mnuAsignatura[0][2][0] = new Option("Material bàsic", "Segundo ciclo / 5 años / Conocimiento de sí mismo y autonomía personal#Segundo ciclo / 5 años / Conocimiento del entorno#Segundo ciclo / 5 años / Lenguajes: comunicación y representación");
    mnuAsignatura[0][2][1] = new Option("Material complementari", "PAI / 5 años#Segundo ciclo / 5 años / Religión#Matemáticas / Nivel 3#Iniciación a la lectura / Nivel 3");
    mnuAsignatura[0][2][2] = new Option("Lectoescriptura", "Lectoescritura / Nivel 3");
    mnuAsignatura[0][2][3] = new Option("Grafomotricitat", "Grafomotricidad / Nivel 3");
    //mnuAsignatura[0][2][4] = new Option("Anglès", "Segundo ciclo / 5 años / Lenguas extranjeras / Inglés");


    // inicio primaria ---  
    mnuAsignatura[1][0][0] = new Option("Llengua catalana", "Primer ciclo / Primer curso (6-7 años) / Lenguas autonómicas / cooficiales / Lengua catalana y literatura");
    mnuAsignatura[1][0][1] = new Option("Lengua castellana", "Primer ciclo / Primer curso (6-7 años) / Lengua castellana y literatura");
    mnuAsignatura[1][0][2] = new Option("Matemàtiques", "Primer ciclo / Primer curso (6-7 años) / Matemáticas");
    mnuAsignatura[1][0][3] = new Option("Coneixement del medi", "Primer ciclo / Primer curso (6-7 años) / Conocimiento del medio natural social y cultural");
    mnuAsignatura[1][0][4] = new Option("Música i dansa", "Primer ciclo / Primer curso (6-7 años) / Educación artística / Audición interpretación y creación musical");
    mnuAsignatura[1][0][5] = new Option("Plàstica", "Primer ciclo / Primer curso (6-7 años) / Educación artística / Observación plástica#Primer ciclo / Primer curso (6-7 años) / Educación artística / Expresión y creación plástica; su experiencia y disfrute");
    mnuAsignatura[1][0][6] = new Option("Religió catòlica", "Primer ciclo / Primer curso (6-7 años) / Religión");
    mnuAsignatura[1][0][7] = new Option("Material complementari", "Primer ciclo / Primer curso (6-7 años) / Competencias básicas / Competencia social y ciudadana");
    
    mnuAsignatura[1][1][0] = new Option("Llengua catalana", "Primer ciclo / Segundo curso (7-8 años) / Lenguas autonómicas / cooficiales / Lengua catalana y literatura");
    mnuAsignatura[1][1][1] = new Option("Lengua castellana", "Primer ciclo / Segundo curso (7-8 años) / Lengua castellana y literatura");
    mnuAsignatura[1][1][2] = new Option("Matemàtiques", "Primer ciclo / Segundo curso (7-8 años) / Matemáticas");
    mnuAsignatura[1][1][3] = new Option("Coneixement del medi", "Primer ciclo / Segundo curso (7-8 años) / Conocimiento del medio natural social y cultural");
    mnuAsignatura[1][1][4] = new Option("Música i dansa", "Primer ciclo / Segundo curso (7-8 años) / Educación artística / Audición interpretación y creación musical");
    mnuAsignatura[1][1][5] = new Option("Plàstica", "Primer ciclo / Segundo curso (7-8 años) / Educación artística / Observación plástica#Primer ciclo / Segundo curso (7-8 años) / Educación artística / Expresión y creación plástica; su experiencia y disfrute");
    mnuAsignatura[1][1][6] = new Option("Religió catòlica", "Primer ciclo / Segundo curso (7-8 años) / Religión");
    mnuAsignatura[1][1][7] = new Option("Material complementari", "Primer ciclo / Segundo curso (7-8 años) / Competencias básicas / Competencia social y ciudadana");
    
    mnuAsignatura[1][2][0] = new Option("Llengua catalana", "Segundo ciclo / Tercer curso (8-9 años) / Lenguas autonómicas / cooficiales / Lengua catalana y literatura");
    mnuAsignatura[1][2][1] = new Option("Lengua castellana", "Segundo ciclo / Tercer curso (8-9 años) / Lengua castellana y literatura");
    mnuAsignatura[1][2][2] = new Option("Matemàtiques", "Segundo ciclo / Tercer curso (8-9 años) / Matemáticas");
    mnuAsignatura[1][2][3] = new Option("Coneixement del medi", "Segundo ciclo / Tercer curso (8-9 años) / Conocimiento del medio natural social y cultural");
    mnuAsignatura[1][2][4] = new Option("Música i dansa", "Segundo ciclo / Tercer curso (8-9 años) / Educación artística / Escucha#Segundo ciclo / Tercer curso (8-9 años) / Educación artística / Audición interpretación y creación musical");
    mnuAsignatura[1][2][5] = new Option("Plàstica", "Segundo ciclo / Tercer curso (8-9 años) / Educación artística / Observación plástica");
    mnuAsignatura[1][2][6] = new Option("Religió catòlica", "Segundo ciclo / Tercer curso (8-9 años) / Religión");
    mnuAsignatura[1][2][7] = new Option("Material complementari", "Segundo ciclo / Tercer curso (8-9 años) / Competencias básicas / Competencia social y ciudadana");
       
    mnuAsignatura[1][3][0] = new Option("Llengua catalana", "Segundo ciclo / Cuarto curso (9-10 años) / Lenguas autonómicas / cooficiales / Lengua catalana y literatura");
    mnuAsignatura[1][3][1] = new Option("Lengua castellana", "Segundo ciclo / Cuarto curso (9-10 años) / Lengua castellana y literatura");
    mnuAsignatura[1][3][2] = new Option("Matemàtiques", "Segundo ciclo / Cuarto curso (9-10 años) / Matemáticas");
    mnuAsignatura[1][3][3] = new Option("Coneixement del medi", "Segundo ciclo / Cuarto curso (9-10 años) / Conocimiento del medio natural social y cultural");
    mnuAsignatura[1][3][4] = new Option("Música i dansa", "Segundo ciclo / Cuarto curso (9-10 años) / Educación artística / Escucha#Segundo ciclo / Cuarto curso (9-10 años) / Educación artística / Audición interpretación y creación musical");
    mnuAsignatura[1][3][5] = new Option("Plàstica", "Segundo ciclo / Cuarto curso (9-10 años) / Educación artística / Observación plástica");
    mnuAsignatura[1][3][6] = new Option("Religió catòlica", "Segundo ciclo / Cuarto curso (9-10 años) / Religión");
    mnuAsignatura[1][3][7] = new Option("Material complementari", "Segundo ciclo / Cuarto curso (9-10 años) / Competencias básicas / Competencia social y ciudadana");
    
    mnuAsignatura[1][4][0] = new Option("Llengua catalana", "Tercer ciclo / Quinto curso (10-11 años) / Lenguas autonómicas / cooficiales / Lengua catalana y literatura");
    mnuAsignatura[1][4][1] = new Option("Lengua castellana", "Tercer ciclo / Quinto curso (10-11 años) / Lengua castellana y literatura");
    mnuAsignatura[1][4][2] = new Option("Matemàtiques", "Tercer ciclo / Quinto curso (10-11 años) / Matemáticas");
    mnuAsignatura[1][4][3] = new Option("Coneixement del medi", "Tercer ciclo / Quinto curso (10-11 años) / Conocimiento del medio natural social y cultural");
    mnuAsignatura[1][4][4] = new Option("Música", "Tercer ciclo / Quinto curso (10-11 años) / Educación artística / Música");
    mnuAsignatura[1][4][5] = new Option("Plàstica", "Tercer ciclo / Quinto curso (10-11 años) / Educación artística / Educación plástica");
    mnuAsignatura[1][4][6] = new Option("Religió catòlica", "Tercer ciclo / Quinto curso (10-11 años) / Religión");
    mnuAsignatura[1][4][7] = new Option("Educació per al desenvolupament personal i la ciutadania", "Tercer ciclo / Quinto curso (10-11 años) / Educación para la ciudadanía");
    
    mnuAsignatura[1][5][0] = new Option("Llengua catalana", "Tercer ciclo / Sexto curso (11-12 años) / Lenguas autonómicas / cooficiales / Lengua catalana y literatura");
    mnuAsignatura[1][5][1] = new Option("Lengua castellana", "Tercer ciclo / Sexto curso (11-12 años) / Lengua castellana y literatura");
    mnuAsignatura[1][5][2] = new Option("Matemàtiques", "Tercer ciclo / Sexto curso (11-12 años) / Matemáticas");
    mnuAsignatura[1][5][3] = new Option("Coneixement del medi", "Tercer ciclo / Sexto curso (11-12 años) / Conocimiento del medio natural social y cultural");
    mnuAsignatura[1][5][4] = new Option("Música", "Tercer ciclo / Sexto curso (11-12 años) / Educación artística / Escucha#Tercer ciclo / Sexto curso (11-12 años) / Educación artística / Interpretación y creación musical");
    mnuAsignatura[1][5][5] = new Option("Plàstica", "Tercer ciclo / Sexto curso (11-12 años) / Educación artística / Observación plástica#Tercer ciclo / Sexto curso (11-12 años) / Educación artística / Expresión y creación plástica");
    mnuAsignatura[1][5][6] = new Option("Religió catòlica", "Tercer ciclo / Sexto curso (11-12 años) / Religión");
    mnuAsignatura[1][5][7] = new Option("Educació per al desenvolupament personal i la ciutadania", "Tercer ciclo / Sexto curso (11-12 años) / Educación para la ciudadanía");
    
    // inicio eso ---    
    mnuAsignatura[2][0][0] = new Option("Llengua catalana i literatura", "1º ESO / Lenguas autonómicas / cooficiales / Catalá");
    mnuAsignatura[2][0][1] = new Option("Lengua castellana y literatura", "1º ESO / Lengua castellana y literatura");
    mnuAsignatura[2][0][2] = new Option("Matemàtiques", "1º ESO / Matemáticas");
    mnuAsignatura[2][0][3] = new Option("Ciències de la naturalesa", "1º ESO / Ciencias de la naturaleza");
    mnuAsignatura[2][0][4] = new Option("Ciències socials", "1º ESO / Ciencias sociales geografía e historia");
    mnuAsignatura[2][0][5] = new Option("Tecnologies", "1º ESO / Tecnología");
    mnuAsignatura[2][0][6] = new Option("Música", "1º ESO / Música");
    mnuAsignatura[2][0][7] = new Option("Religió catòlica", "1º ESO / Religión");
    mnuAsignatura[2][0][8] = new Option("Educació visual i plàstica", "1º ESO / Educación plástica y visual");
    
    
    mnuAsignatura[2][1][0] = new Option("Llengua catalana i literatura", "2º ESO / Lenguas autonómicas / cooficiales / Catalá");
    mnuAsignatura[2][1][1] = new Option("Lengua castellana y literatura", "2º ESO / Lengua castellana y Literatura");
    mnuAsignatura[2][1][2] = new Option("Matemàtiques", "2º ESO / Matemáticas");
    mnuAsignatura[2][1][3] = new Option("Ciències de la naturalesa", "2º ESO / Ciencias de la naturaleza");
    mnuAsignatura[2][1][4] = new Option("Ciències socials", "2º ESO / Ciencias sociales geografía e historia");
    mnuAsignatura[2][1][5] = new Option("Tecnologies", "2º ESO / Tecnología");
    mnuAsignatura[2][1][6] = new Option("Música", "2º ESO / Música");
    mnuAsignatura[2][1][7] = new Option("Religió catòlica", "2º ESO / Religión");
    mnuAsignatura[2][1][8] = new Option("Educació visual i plàstica", "2º ESO / Educación plástica y visual");
    
    mnuAsignatura[2][2][0] = new Option("Llengua catalana i literatura", "3º ESO / Lenguas autonómicas / cooficiales / Catalá");
    mnuAsignatura[2][2][1] = new Option("Lengua castellana y literatura", "3º ESO / Lengua castellana y Literatura");
    mnuAsignatura[2][2][2] = new Option("Matemàtiques", "3º ESO / Matemáticas");
    mnuAsignatura[2][2][3] = new Option("Geografia", "3º ESO / Ciencias Sociales Geografía e Historia");
    mnuAsignatura[2][2][4] = new Option("Biologia i geologia", "3º ESO / Biología y Geología");
    mnuAsignatura[2][2][5] = new Option("Física i química", "3º ESO / Física y Química");
    mnuAsignatura[2][2][6] = new Option("Educació per a la ciutadania", "3º ESO / Educación para la ciudadanía y derechos humanos");
    mnuAsignatura[2][2][7] = new Option("Tecnologies", "3º ESO / Tecnología");
    mnuAsignatura[2][2][8] = new Option("Educació visual i plàstica", "3º ESO / Educación plástica y visual");
    mnuAsignatura[2][2][9] = new Option("Música", "3º ESO / Música");
    mnuAsignatura[2][2][10] = new Option("Religió catòlica", "3º ESO / Religión");
    
    mnuAsignatura[2][3][0] = new Option("Llengua catalana i literatura", "4º ESO / Lenguas autonómicas / cooficiales / Catalá");
    mnuAsignatura[2][3][1] = new Option("Lengua castellana y literatura", "4º ESO / Lengua castellana y literatura");
    mnuAsignatura[2][3][2] = new Option("Matemàtiques", "4º ESO / Matemáticas");
    mnuAsignatura[2][3][3] = new Option("Biologia i geologia", "4º ESO / Biología y Geología");
    mnuAsignatura[2][3][4] = new Option("Física i química", "4º ESO / Física y Química");
    mnuAsignatura[2][3][5] = new Option("Història", "4º ESO / Ciencias Sociales Geografía e Historia");
    mnuAsignatura[2][3][6] = new Option("Educació eticocívica", "4º ESO / Educación ético-cívica");
    mnuAsignatura[2][3][7] = new Option("Tecnologies", "4º ESO / Tecnología");
    mnuAsignatura[2][3][8] = new Option("Música", "4º ESO / Música");
    mnuAsignatura[2][3][9] = new Option("Educació visual i plàstica", "4º ESO / Educación plástica y visual");
    mnuAsignatura[2][3][10] = new Option("Religió catòlica", "4º ESO / Religión");
    
    // inicio batxillerat ---
    mnuAsignatura[3][0][0] = new Option("Llengua catalana i literatura", "1º Bachillerato / Lenguas autonómicas /cooficiales / Catalá");
    mnuAsignatura[3][0][1] = new Option("Lengua castellana y literatura", "1º Bachillerato / Lengua castellana");
    mnuAsignatura[3][0][2] = new Option("Filosofia", "1º Bachillerato / Filosofía y Ciudadanía");
    mnuAsignatura[3][0][3] = new Option("Religió", "1º Bachillerato / Religión");
    
    mnuAsignatura[3][1][0] = new Option("Llengua catalana i literatura", "2º Bachillerato / Lenguas autonómicas / cooficiales / Catalá");
    mnuAsignatura[3][1][1] = new Option("Matemàtiques", "2º Bachillerato / Matemáticas Ciencias Naturales");
    mnuAsignatura[3][1][2] = new Option("Matemàtiques aplicades a les CCSS", "2º Bachillerato / Matemáticas aplicadas a las Ciencias Sociales");
    mnuAsignatura[3][1][3] = new Option("Història", "2º Bachillerato / Historia");
    mnuAsignatura[3][1][4] = new Option("Filosofia", "2º Bachillerato / Filosofía");
    mnuAsignatura[3][1][5] = new Option("Lengua castellana y literatura", "2º Bachillerato / Lengua castellana y Literatura");
    
    // cargamos el combo con los datos seleccionados
    fnComboCargar(oAsignatura, mnuAsignatura, iSelectEtapa, iSelectCurso);
       
}

// --- sección de administración de menus de registro etapa - curso - asignatura

function fnCursoActualizar(oEtapa, oCurso, oAsignatura){

    if (oEtapa != null && oCurso == null){
        
        oCurso = $('sltCursoPrincipal');
        oCurso.innerHTML = '';
    
        if (oEtapa.selectedIndex == 0 ){
            alert('Debe seleccionar Etapa');
        }else{
            var id = oEtapa.options[oEtapa.selectedIndex].id;
            var valor = oEtapa.options[oEtapa.selectedIndex].value;
            
            fnSelect(id, valor, oCurso, msgCurso);
            fnCursoActualizar(oEtapa, oCurso);
        }
    }else if (oEtapa != null && oCurso != null){
    
        if (oAsignatura == null)
            var oAsignatura = $('sltAsignaturaPrincipal');
        
        oAsignatura.innerHTML = '';
        
        var id = oEtapa.options[oEtapa.selectedIndex].id;
        var valor = oCurso.options[oCurso.selectedIndex].value;
            
        fnSelect(id, valor, oAsignatura, msgAsignatura);
    }
}

function fnSelect(id, valor, oObjeto, msg){
    var sReturn = '';
    var selects = $('etapa_curso_asignatura').getElementsByTagName("select"); 

    oObjeto.innerHTML = '';
    for (i=0; i < selects.length; i++){
	    if (selects[i].id == id && selects[i].name == valor){
	        var opc = document.createElement("OPTION");
	        oObjeto.options.add(opc);

            if (msg !=''){
	            opc.innerText = '<option>' + msg + '</option>';	        
	            opc.innerHTML = '<option>' + msg + '</option>';
	        }
	    
		    for (j=0; j< selects[i].length; j++){
		        var opcion = document.createElement("OPTION");
                oObjeto.options.add(opcion);
                
                opcion.id = selects[i].options[j].id;
                opcion.value = selects[i].options[j].value;
                opcion.innerText = selects[i].options[j].innerText;
                opcion.innerHTML = selects[i].options[j].innerHTML;
		    }
		}
	}
	
	//oObjeto.options[1].selected = true;
	
	return sReturn;
}


// ------------------ lógica de agregado de filas de tabla de asignaturas -----------------------------
var sEtapa = 'sltEta';
var sCurso = "sltCro";
var sAsignatura = "sltAsg";

function fnAgregarNodoTabla(oEtapa, oCurso, oAsignatura){
			
    if (nCursoAsignatura == 0){
	    nCursoAsignatura = parseInt($("nregistro").value);
		nInicio = $('nregistro').value;
	}
	
	if (oEtapa.id != sEtapa)
	    fnEliminarNodoTabla(oEtapa);
	else if (oCurso.id != sCurso)
	    fnEliminarNodoTabla(oCurso);    
	else if (oAsignatura.id != sAsignatura)
	    fnEliminarNodoTabla(oAsignatura);
	else{
	
	    // no se permiten más de 10 registros opcionales de asignaturas
	    nCursoAsignatura += 1;
		$("nregistro").value = nCursoAsignatura;
						
		if (nCursoAsignatura > 4){
		    alert(msgCursoAsignaturaMaximo);
			oEtapa.options[0].selected = true;
			oCurso.options[0].selected = true;
			oAsignatura.options[0].selected = true;
		    return false;							
		}
			
        // para clonar, se verifica que los dos tres controles esten seleccionados
		if (oEtapa.options[oEtapa.selectedIndex].text != '' && 
		    oCurso.options[oCurso.selectedIndex].text != '' && 
		    oAsignatura.options[oAsignatura.selectedIndex].text != '' ){
						
			// capturamos la tabla en la cual vamos a trabajar
			var objAbuelo = oCurso.parentNode; //parentNode.parentNode;
						
			for (i=0; i<10; i++){
			    objAbuelo = objAbuelo.parentNode;								
				if (objAbuelo.tagName=='TBODY'){ break; }
			}							
					
			var ooEtapa = document.createElement("SELECT");
			var ooCurso = document.createElement("SELECT");	
			var ooAsignatura = document.createElement("SELECT");
						
			var tr = document.createElement("TR");
				
			var tdEtapa = document.createElement("TD");
			var tdCurso = document.createElement("TD");		
			var tdAsignatura = document.createElement("TD");
						
			// creación del nuevo nodo
			ooEtapa = oEtapa.cloneNode(true);
			ooCurso = oCurso.cloneNode(true);
			ooAsignatura = oAsignatura.cloneNode(true);
				
			tdEtapa.appendChild(ooEtapa);
			tdCurso.appendChild(ooCurso);	
			tdAsignatura.appendChild(ooAsignatura);

            tr.appendChild(tdEtapa);
			tr.appendChild(tdCurso);			
			tr.appendChild(tdAsignatura);
						
			objAbuelo.appendChild(tr);
						
			// reasignación de parametros para el nodo seleccionado
			// ya que el nuevo tiene las mismas características
			var idEtapa = oEtapa.options[oEtapa.selectedIndex].id;
			var idCurso = oCurso.options[oCurso.selectedIndex].id;
			var idAsignatura = oAsignatura.options[oAsignatura.selectedIndex].id;
						
			// esto lo hacemos para buscar el parametro 
			// asociado cuando construllamos el xml
			oEtapa.id = "Etapa-" + idEtapa + "-" + idCurso + "-" + idAsignatura;
			oCurso.id = "Curso-" + idEtapa + "-" + idCurso + "-" + idAsignatura;
			oAsignatura.id = "Asignatura-" + idEtapa + "-" + idCurso + "-" + idAsignatura;
        }
	}
}

// ------------------ lógica de eliminación de filas de tabla de asiganturas -----------------------------
function fnEliminarNodoTabla(oSelect){
				
    if (nCursoAsignatura==0){
	    nCursoAsignatura = parseInt($("nregistro").value);
		nInicio = $('nregistro').value;
	}
			
	if (oSelect.options[oSelect.selectedIndex].text == ''){
					
	    // si se está seleccionando blanco se elimina el nodo de la tabla
		var objPadre = oSelect.parentNode.parentNode;
		var objAbuelo = oSelect.parentNode.parentNode.parentNode;
					
		objAbuelo.removeChild(objPadre);
					
		nCursoAsignatura -= 1;
		$("nregistro").value = nCursoAsignatura;
					
	}
}

// rescata el objeto deseado
function fnObjetoObtener(str, sObjeto){
    var oObjeto;
	var oLista = document.getElementsByTagName(sObjeto);
						
	for (i=0; i < oLista.length; i++){
	    if (oLista[i].id.indexOf(str) != -1){
		    oObjeto = oLista[i];
			break;
		}
	}
				
	return oObjeto;
}

// logica de cambio de datos de cursos opcionales 
function fnSelectOpcional(oSelect){
    
    var oEtapa;
    var oCurso;
    var oAsignatura;
    
    if (oSelect.id.split('Etapa-')[1] == null && 
        oSelect.id.split('Curso-')[1] == null && 
        oSelect.id.split('Asignatura-')[1] == null ){
        oEtapa = $('sltEta'); 
        oCurso = $('sltCro'); 
        oAsignatura = $('sltAsg');
    }else{
        var id = '';
        if (oSelect.id.split('Etapa-')[1] != null) id = oSelect.id.split('Etapa-')[1];
        if (oSelect.id.split('Curso-')[1] != null) id = oSelect.id.split('Curso-')[1];
        if (oSelect.id.split('Asignatura-')[1] != null) id = oSelect.id.split('Asignatura-')[1];
        
        oEtapa = $('Etapa-' + id);
        oCurso = $('Curso-' + id);
        oAsignatura = $('Asignatura-' + id);
        
    }
    
	if (oSelect.id.split('Etapa-')[1] != null || oSelect.id == 'sltEta'){
        var id = oSelect.options[oSelect.selectedIndex].id;
        var valor = oSelect.options[oSelect.selectedIndex].value;

	    fnSelect(id, valor, oCurso, '');
	    fnSelectOpcional(oCurso);
		
	}else if (oSelect.id.split('Curso-')[1] != null || oSelect.id == 'sltCro'){
		
		var id = oEtapa.options[oEtapa.selectedIndex].id;
        var valor = oCurso.options[oCurso.selectedIndex].value;
		
		fnSelect(id, valor, oAsignatura, '');
    }
}


// --------------------------  Llamada a ajax para la carga de centros --------------------------------

function fnCentroCargar(){
    if (valCodigoPostal($('txtCP'))){
        $('lnkCentro').style.display = 'none';
        $('lnkCentroTmp').style.display = 'block';
        
        AJAXPro.PortalWeb.Frontal.fnCentroCargar($('txtCP').value, fnCentroCargar_callback);
    }
}

function fnCentroCargar_callback(res){
    if (res.error != null){
        alert(res.error.Message);
    }else{
        rellenarSelect($('sltCentro'), res.value);
        
        //solo cuando se está modificando y existe input
        if ($('hdCentro')!=null){
            fnCentroSeleccion();
        }
        
        var tbl = $('tblCuerpo');
        
        try { 
        
            $('lnkCentro').style.display = 'block';
            $('lnkCentroTmp').style.display = 'none';
            
        } catch(err){ 
            alert(err); 
        }
    }
}

function fnCentroSeleccion(){
    var oOpcion = $('hdCentro');
    var oCentro = $('sltCentro');
    
    for (i=0; i<oCentro.options.length; i++){
        if (oCentro.options[i].value == oOpcion.value){
           oCentro.options[i].selected = true; 
           break;
        }
    }
    
    var idx = oCentro.options[oCentro.selectedIndex].value;
    if (idx != idxOtro){
        fnCentroSeleccionar();
    }else{
        $('txtCentro').disabled = false;
        $('txtDireccion').disabled = false;
        $('txtPoblacion').disabled = false;
        $('txtProvincia').disabled = false; 
    }
    
}

function fnCentroSeleccionar(){
    var idx = $('sltCentro').options[$('sltCentro').selectedIndex].value;

    fnControlHabilitar(true);
    if (idx != -1){
        if (idx == idxOtro)
            fnControlHabilitar(false);
        else
            AJAXPro.PortalWeb.Frontal.fnCentroInfoCargar(idx, fnCentroSeleccionar_callback);
    }
}

function fnCentroSeleccionar_callback(res){
    if (res.error != null){
        alert(res.error.Message);
    }else{
       $('txtCentro').value = res.value.centro;
       $('txtDireccion').value = res.value.direccion;
       $('txtPoblacion').value = res.value.poblacion;
       $('txtProvincia').value = res.value.provincia;
    }
}

function fnControlHabilitar(bOk){
    $('txtCentro').value = '';
    $('txtDireccion').value = '';
    $('txtPoblacion').value = '';
    $('txtProvincia').value = '';

    $('txtCentro').disabled = bOk;
    $('txtDireccion').disabled = bOk;
    $('txtPoblacion').disabled = bOk;
    $('txtProvincia').disabled = bOk;
}

function rellenarSelect(oSelect, oArray) {	
	// primero vaciamos el select
	var i ;
	for(i=oSelect.options.length-1;i>=0;i--)
		{oSelect.remove(i);}
	
	// segundo recorremos el array y rellenamos el select
	for(i=0; i< oArray.length;i++) {
		var oOption = document.createElement("OPTION");
		oOption.text = oArray[i].texto;
		oOption.value = oArray[i].valor;
		oSelect.options.add(oOption);
	}
}


// -------------------------  validación de datos de registro de inserción de mestres -----------------