﻿
// Funcion para inicializar la pantalla de Escolaridad
function initRH02()
{
    var ctrlEv;
    
    ctrlEv = getControl(document, 'ddlEscNivelEstud', 'select');
    selNivelEstudios(ctrlEv, 'spnNivelEstudEsp');
    
    ctrlEv = getControl(document, 'ddlEscTitRecib', 'select');
    selTitRecib(ctrlEv);
    
    ctrlEv = getControl(document, 'ddlEscNivelEstudAct', 'select');
    selNivelEstudios(ctrlEv, 'spnNivelEstudActEsp');

}

// Funcion de comportamiento segun seleccion de Nivel de Estudios
// ctrl -> ddl sobre el cual se evalua el comportamiento de los controles
function selNivelEstudios(ctrl, spnId)
{
    var spanEspecifique = getControl(document, spnId, 'span');
    switch(ctrl.options[ctrl.selectedIndex].text)
	{
	    case 'Otro':
	    case 'Other':
                        {
                            spanEspecifique.style.display = '';
                            break;
                        }
        default:
                        {
                            spanEspecifique.style.display = 'none';
                            (getControl(spanEspecifique, 'txbxEscNivelEstud', 'input')).value = '';
                            break;
                        }
	}
}

// Funcion de comportamiento segun seleccion de Titulo Recibido
// ctrl -> ddl sobre el cual se evalua el comportamiento de los controles
function selTitRecib(ctrl)
{
    var spanEspecifique = getControl(document, 'spnTitRecibEsp', 'span');
    switch(ctrl.options[ctrl.selectedIndex].text)
	{
	    case 'Otro':
	    case 'Other':
                        {
                            spanEspecifique.style.display = '';
                            break;
                        }
        default:
                        {
                            spanEspecifique.style.display = 'none';
                            (getControl(spanEspecifique, 'txbxEscTitRecibEsp', 'input')).value = '';
                            break;
                        }
	}
}

// Funcion de comportamiento segun seleccion de Idioma
// ctrl -> ddl sobre el cual se evalua el comportamiento de los controles
function selIdioma(ctrl, padre)
{
    var spanEspecifique = getControl(padre, 'spnIdiomaEsp', 'span');
    switch(ctrl.options[ctrl.selectedIndex].text)
	{
	    case 'Otro':
	    case 'Other':
                        {
                            spanEspecifique.style.display = '';
                            break;
                        }
        default:
                        {
                            spanEspecifique.style.display = 'none';
                            (getControl(spanEspecifique, 'txbxIdIdiomaEsp', 'input')).value = '';
                            break;
                        }
	}
}

function valEscolaridad(showAlert)
{
    var err="", ctrlEv, i=0, errTmp;
    
    // Nivel de estudios
    ctrlEv = getControl(document, 'ddlEscNivelEstud', 'select');
    if(ctrlEv.options[ctrlEv.selectedIndex].text == 'Seleccione' ||
        ctrlEv.options[ctrlEv.selectedIndex].text == 'Select')
        err += " - " + obtieneTexto('val02NivelEstudios') + "\n";//***" - Nivel de Estudios \n";
    if(ctrlEv.options[ctrlEv.selectedIndex].text == 'Otro' ||
        ctrlEv.options[ctrlEv.selectedIndex].text == 'Other')
    {
        ctrlEv = getControl(document, 'txbxEscNivelEstudEsp', 'input');
        if(esTxbxVacio(ctrlEv))
        err += " - " + obtieneTexto('Especifique') + " " +obtieneTexto('val02NivelEstudios') + "\n";//***" - Especifique Nivel de Estudios \n";
    }
    
    // Estado del Nivel de Estudios
    ctrlEv = getControl(document, 'ddlEscNivelEstudEstat', 'select');
    if(ctrlEv.options[ctrlEv.selectedIndex].text == 'Seleccione' ||
        ctrlEv.options[ctrlEv.selectedIndex].text == 'Select')
        err += " - " + obtieneTexto('val02EstadoNivelEstudios') + "\n";//***" - Estado del Nivel de Estudios \n";
        
    // Titulo Recibido
    ctrlEv = getControl(document, 'ddlEscTitRecib', 'select');
    if(ctrlEv.options[ctrlEv.selectedIndex].text == 'Seleccione' ||
        ctrlEv.options[ctrlEv.selectedIndex].text == 'Select')
        err += " - " + obtieneTexto('val022TituloRecibido') + "\n";//***" - Titulo Recibido \n";
    if(ctrlEv.options[ctrlEv.selectedIndex].text == 'Otro' ||
        ctrlEv.options[ctrlEv.selectedIndex].text == 'Other')
    {
        ctrlEv = getControl(document, 'txbxEscTitRecibEsp', 'input');
        if(esTxbxVacio(ctrlEv))
        err += " - " + obtieneTexto('Especifique') + " " +obtieneTexto('val022TituloRecibido') + "\n";//***" - Especifique Titulo Recibido \n";
    }
    
    // Institución Educativa
    ctrlEv = getControl(document, 'txbxEscInstEduc', 'input');
    if(esTxbxVacio(ctrlEv))
        err += " - " + obtieneTexto('val02InstitucionEducativa') + "\n";//***" - Institucion Educativa \n";
    
    // Estudios q se efectuan en la actualidad
    //nivel de estudios
    var ddlNivEstAct = getControl(document, 'ddlEscNivelEstudAct', 'select');
    //especificacion de nivel de estudios
    var txbxNivEstActEsp = getControl(document, 'txbxEscNivelEstudActEsp', 'input')
    //institucion educativa
    var instEduc = getControl(document, 'txbxEscInstEducAct', 'input');
    //grado
    var grado = getControl(document, 'txbxEscGrado', 'input');
    //horario
    //dias
    var diasCont = getControl(document, 'spnDias', 'span');
    var ctrlsDias = diasCont.getElementsByTagName('input')
    var diasVal = "";
    for(i=0; i<ctrlsDias.length; i++)
    {
        if(ctrlsDias[i].type == 'checkbox')
        {
            if(ctrlsDias[i].checked)
                diasVal += '1';
            else
                diasVal += '0';
        }
    }
    //de-a
    var ddlDe = getControl(document, 'ddlEscHorarioDe', 'select');
    var ddlA = getControl(document, 'ddlEscHorarioA', 'select');
    
    //Evaluacion de Estudios q se efectuan en la Actualidad
    if( ddlNivEstAct.options[ddlNivEstAct.selectedIndex].text != obtieneTexto('Seleccione') ||
        !esTxbxVacio(instEduc) || !esTxbxVacio(grado) || diasVal != '0000000' ||
        ddlDe.options[ddlDe.selectedIndex].text != obtieneTexto('Seleccione') ||
        ddlA.options[ddlA.selectedIndex].text != obtieneTexto('Seleccione')  )
    {
        var errAct = "";
        
        if(ddlNivEstAct.options[ddlNivEstAct.selectedIndex].text == 'Seleccione' ||
            ddlNivEstAct.options[ddlNivEstAct.selectedIndex].text == 'Select')
            errAct += " - " + obtieneTexto('val02NivelEstudios') + "\n";//***" - Nivel de Estudios \n";
        if(ddlNivEstAct.options[ddlNivEstAct.selectedIndex].text == 'Otro' ||
            ddlNivEstAct.options[ddlNivEstAct.selectedIndex].text == 'Other')
        {
            if(esTxbxVacio(txbxNivEstActEsp))
                errAct += " - " + obtieneTexto('Especifique')+ " " + obtieneTexto('val02NivelEstudios') + "\n";//***" - Especifique Nivel de Estudios \n";
        }
        
        if(esTxbxVacio(instEduc))
            errAct += " - " + obtieneTexto('val02InstitucionEducativa') + "\n";//***" - Institucion Educativa \n";
        
        if(esTxbxVacio(grado))
            errAct += " - " + obtieneTexto('val02Grado') + "\n";//***" - Grado \n";
        
        if(diasVal == '0000000')
        {
            errAct += " - " + obtieneTexto('val02DiasEstudio') + "\n";//***" - Dias de Estudio \n";
        }
        
        if(ddlDe.options[ddlDe.selectedIndex].text == 'Seleccione' ||
            ddlDe.options[ddlDe.selectedIndex].text == 'Select')
            errAct += " - " + obtieneTexto('val02HorarioD') + "\n";//***" - Horario De \n";
        if(ddlA.options[ddlA.selectedIndex].text == 'Seleccione' ||
            ddlA.options[ddlA.selectedIndex].text == 'Select')
            errAct += " - " + obtieneTexto('val02HorarioA') + "\n";//***" - Horario A \n";
        
        if(errAct.length > 0)
            err += " = " + obtieneTexto('val02EstudiosActuales') + " = \n" + errAct;//***" = Estudios en la Actualidad = \n" + errAct;
    }
    
    //Cursos
    ctrlEv = getControl(document, 'solCursos', 'span');
    var cursos = new Array();
    var cursoId = new RegExp('(WucCurso){1,}');
    errTmp = "";
    
    for(i=0; i<ctrlEv.childNodes.length; i++)
    {
        if(ctrlEv.childNodes[i].tagName == "SPAN" &&
            cursoId.test(ctrlEv.childNodes[i].id))
        {
            cursos.push(ctrlEv.childNodes[i]);
        }
    }
    
    for(i=0; i<cursos.length; i++)
    {
        if(cursos[i].style.display == '' || cursos[i].style.display == 'block')
        {
            var ctrlTmp, _err="";
            var padre = cursos[i];
            _err = valCurso(padre);
            
            if(_err.length > 0)
            {
                errTmp += " = " + obtieneTexto('val02Curso') + " " + (i+1) + " =\n" + _err;//***'= Curso ' + (i+1) + ' =\n' + _err;
            }
        }
        else
        {
            var dividido = errTmp.split('-');
            if(dividido.length == 4 && i == 1)
            {
                errTmp = "";
            }
            break;
        }
    }
    err += errTmp;
    
    // lengua materna
    ctrlEv = getControl(document, 'IdiomaLenMat', 'span');
    errTmp = valIdioma(ctrlEv);
    if(errTmp.length > 0)
    {
        err += " = " + obtieneTexto('val02LenguaMaterna') + " =\n" + errTmp;//***'= Lengua Materna =\n' + errTmp;
    }
    
    //Idiomas
    ctrlEv = getControl(document, 'solIdiomas', 'span');
    var idiomas = new Array();
    var idiomaId = new RegExp('(WucIdioma){1,}');
    errTmp = "";
    
    for(i=0; i<ctrlEv.childNodes.length; i++)
    {
        if(ctrlEv.childNodes[i].tagName == "SPAN" &&
            idiomaId.test(ctrlEv.childNodes[i].id))
        {
            idiomas.push(ctrlEv.childNodes[i]);
        }
    }
    
    for(i=0; i<idiomas.length; i++)
    {
        if(idiomas[i].style.display == '' || idiomas[i].style.display == 'block')
        {
            var ctrlTmp, _err="";
            var padre = idiomas[i];
            _err = valIdioma(padre);
            
            if(_err.length > 0)
            {
                errTmp += " = " + obtieneTexto('val02Idioma') + " " + (i+1) + " =\n" + _err;//***'= Idioma ' + (i+1) + ' =\n' + _err;
            }
        }
        else
        {
            var dividido = errTmp.split('-');
            var esp = new RegExp('(Especifique ){1,}');
            if(dividido.length == 3 && i==1 && !esp.test(errTmp))
            {
                errTmp = "";
            }
            break;
        }
    }
    err += errTmp;
    
    //Muestra de Errores posibles:
    if(err.length > 1)
    {
        var hdr = obtieneTexto('MsgVerifique') + "\n";//***'Verifique los siguientes campos:  \n';
        if(showAlert)
            alert(hdr + err);
        return hdr + err;
    }
    else
        return true;
}

//funcion para validar Curso
// padre -> span contenedor de curso
// regresa una cadena con la validacion de cada uno de los campos de curso
function valCurso(padre)
{
    var ctrlCur, _err = "";
    
    ctrlCur = getControl(padre, 'txbxCurNombre', 'input');
    if(esTxbxVacio(ctrlCur))
        _err += " - " + obtieneTexto('Nombre') + "\n";//***" - Nombre \n";
    
    ctrlCur = getControl(padre, 'txbxCurInstitEduc', 'input');
    if(esTxbxVacio(ctrlCur))
        _err += " - " + obtieneTexto('val02InstitucionEducativa') + "\n";//***" - Institucion Educativa \n";
    
    ctrlCur = getControl(padre, 'ddlCurNivel', 'select');
    if(ctrlCur.options[ctrlCur.selectedIndex].text == 'Seleccione' ||
        ctrlCur.options[ctrlCur.selectedIndex].text == 'Select')
        _err += " - " + obtieneTexto('val02Nivel') + "\n";//***" - Nivel \n";
    
    return _err;
}

//funcion para validar Idioma
// padre -> span contenedor de idioma
// regresa una cadena con la validacion de cada uno de los campos de idioma
function valIdioma(padre)
{
    var ctrlIdioma, _err = "";
    
    ctrlIdioma = getControl(padre, 'ddlIdIdioma', 'select');
    if(ctrlIdioma.options[ctrlIdioma.selectedIndex].text == 'Seleccione' ||
        ctrlIdioma.options[ctrlIdioma.selectedIndex].text == 'Select')
        _err += " - " + obtieneTexto('val02Idioma') + "\n";//***" - Idioma \n";
    if(ctrlIdioma.options[ctrlIdioma.selectedIndex].text == 'Otro' ||
        ctrlIdioma.options[ctrlIdioma.selectedIndex].text == 'Other')
    {
        ctrlIdioma = getControl(padre, 'txbxIdIdiomaEsp', 'input');
        if(esTxbxVacio(ctrlIdioma))
            _err += " - " + obtieneTexto('Especifique') + " " + obtieneTexto('val02Idioma') + "\n";//***" - Especifique Idioma \n";
    }
    
    ctrlIdioma = getControl(padre, 'ddlIdNivel', 'select');
    if(ctrlIdioma.options[ctrlIdioma.selectedIndex].text == 'Seleccione' ||
        ctrlIdioma.options[ctrlIdioma.selectedIndex].text == 'Select')
        _err += " - " + obtieneTexto('val02Nivel') + "\n";//***" - Nivel \n";
    
    return _err;
}


// funcion q agrega curso
// padre -> span contenedor de wucCurso
function addCurso(padre)
{
    var i=0;
    var cursos = new Array();
    var cursoId = new RegExp('(WucCurso){1,}');
    
    for(i=0; i<padre.childNodes.length; i++)
    {
        if(padre.childNodes[i].tagName == "SPAN" &&
            cursoId.test(padre.childNodes[i].id))
        {
            cursos.push(padre.childNodes[i]);
        }
    }
    
    for(i=0; i<cursos.length; i++)
    {
        if(cursos[i].style.display == "" || 
            cursos[i].style.display == "block" )
        {
            continue;
        }
        else
        {
            cursos[i].style.display = "";
            getControl(padre, 'CursosAdd', 'input').disabled = i < 4 ? false:true;
            getControl(padre, 'CursosRem', 'input').disabled = i < 1 ? true:false;
            break;
        }
    }
    return false;
}

// funcion q elimina curso
// padre -> span contenedor de wucCurso
function remCurso(padre)
{
    var i=0;
    var cursos = new Array();
    var cursoId = new RegExp('(WucCurso){1,}');
    
    for(i=0; i<padre.childNodes.length; i++)
    {
        if(padre.childNodes[i].tagName == "SPAN" &&
            cursoId.test(padre.childNodes[i].id))
        {
            cursos.push(padre.childNodes[i]);
        }
    }
    
    for(i=cursos.length-1; i>=0; i--)
    {
        if(cursos[i].style.display == "none")
        {
            continue;
        }
        else
        {
            cursos[i].style.display = "none";
            initCurso(cursos[i]);
            getControl(padre, 'CursosAdd', 'input').disabled = i < 5 ? false:true;
            getControl(padre, 'CursosRem', 'input').disabled = i <= 1 ? true:false;
            break;
            
        }
    }
    return false;
}

// funcion q inicializa un wucCurso
// padre -> span contenedor de wucCurso
function initCurso(padre)
{
    limpiaCtrls(padre);
}

// funcion q agrega Idioma
// padre -> span contenedor de wucIdioma
function addIdioma(padre)
{
    var i=0;
    var idiomas = new Array();
    var idiomaId = new RegExp('(WucIdioma){1,}');
    
    for(i=0; i<padre.childNodes.length; i++)
    {
        if(padre.childNodes[i].tagName == "SPAN" &&
            idiomaId.test(padre.childNodes[i].id))
        {
            idiomas.push(padre.childNodes[i]);
        }
    }
    
    for(i=0; i<idiomas.length; i++)
    {
        if(idiomas[i].style.display == "" || 
            idiomas[i].style.display == "block" )
        {
            continue;
        }
        else
        {
            idiomas[i].style.display = "";
            getControl(padre, 'IdiomasAdd', 'input').disabled = i < 4 ? false:true;
            getControl(padre, 'IdiomasRem', 'input').disabled = i < 1 ? true:false;
            break;
        }
    }
    return false;
}

// funcion q elimina idioma
// padre -> span contenedor de wucIdioma
function remIdioma(padre)
{
    var i=0;
    var idiomas = new Array();
    var idiomaId = new RegExp('(WucIdioma){1,}');
    
    for(i=0; i<padre.childNodes.length; i++)
    {
        if(padre.childNodes[i].tagName == "SPAN" &&
            idiomaId.test(padre.childNodes[i].id))
        {
            idiomas.push(padre.childNodes[i]);
        }
    }
    
    for(i=idiomas.length-1; i>=0; i--)
    {
        if(idiomas[i].style.display == "none")
        {
            continue;
        }
        else
        {
            idiomas[i].style.display = "none";
            initIdioma(idiomas[i]);
            getControl(padre, 'IdiomasAdd', 'input').disabled = i < 5 ? false:true;
            getControl(padre, 'IdiomasRem', 'input').disabled = i <= 1 ? true:false;
            break;
            
        }
    }
    return false;
}

// funcion q inicializa un wucIdioma
// padre -> span contenedor de wucIdioma
function initIdioma(padre)
{
    limpiaCtrls(padre);
    selIdioma(getControl(padre,'ddlIdIdioma','select'), padre);
}
