﻿//pensar en un requerido if

//definiciones generales
/* ================================================================================================================================= */
var sImagenError       = '<img src="../imagenes/Iconos/ic_error.gif"         width="14" height="14" border=0/>';
var sImagenAdvertencia = '<img src="../imagenes/Iconos/ic_advertencia.gif"   width="16" height="14"         />';
var sImagenCargando    = '<img src="../imagenes/Iconos/ic_ani_cargando.gif"  width="20" height="20"         />';
var sImagenExito       = '<img src="../Imagenes/Iconos/ic_ok.gif"            width="15" height="15"         />';
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function esPaginaValida(sSeccion){
    var formatofecha            = "";
    var errorllenado            = false;
    var errorfecha              = false;
    var errorhora               = false;
    var errorSeqFecha           = false;
    var errorSeqHora            = false;
    var errorcorreo             = false;
    var errorusername           = false;
    var errornit                = false;
    var errornumeronit          = false;
    var errornombrearchivo      = false;
    
    
    var diverrorpagina          = "";
    var mensajeerrorpagina      = "";
    var hrefsubir               = "";
    var divexitopagina          = "";
    var req=false;
    var stag="";

    //alert('entro a esPaginaValida');
    for(var j=0;j<3;j++){
    
        if(j==0)stag='input';
        if(j==1)stag='textarea';
        if(j==2)stag='select';
        var arrctr = document.getElementsByTagName(stag);
        //alert(stag + ' ' + arrctr.length );
        
        for(var i=0;i < arrctr.length;i++){
            if(arrctr[i].getAttribute('tipoctr')!=null){
                req=false;
                if(arrctr[i].getAttribute('requerido')!=null){
                    if(arrctr[i].getAttribute('requerido')=='true'){
                        req=true;
                    }
                }
                
                //seccion de requeridos condicional
                if(arrctr[i].getAttribute('requeridoIfChecked')!=null){
                    if(document.getElementById(arrctr[i].getAttribute('requeridoIfChecked')).checked){
                        req=true;
                    }
                }

                if(arrctr[i].getAttribute('requeridoIfSelected')!=null){
                    if(document.getElementById(arrctr[i].getAttribute('requeridoIfSelected')).checked){
                        req=true;
                    }
                }

                if(arrctr[i].getAttribute('requeridoIfListChecked')!=null){
                    var ctr = arrctr[i].getAttribute('requeridoIfListChecked').split('|');
                    for(var ii=1;ii < ctr.length;ii++){
                        if(document.getElementById(ctr[0] + '_' + ctr[ii]).checked){
                            req=true;
                        }
                    }
                }
                
                
                if(arrctr[i].getAttribute('requeridoIfListSelected')!=null){
                    var ctr = arrctr[i].getAttribute('requeridoIfListSelected').split('|');
                    
                    for(var ii=1;ii < ctr.length;ii++){
                       
                        if(document.getElementById(ctr[0] + '_' + ctr[ii]).checked){
                            req=true;
                        }
                    }
                }
                
                if(arrctr[i].getAttribute('requeridoIfRadioSelected')!=null){
                    var ctr = arrctr[i].getAttribute('requeridoIfRadioSelected').split('|');
                    for(jj=0;jj<document.getElementsByName(ctr[0]).length;jj++)
                    {
                        if(document.getElementsByName(ctr[0])[jj].checked)
                        {
                            for(var ii=1;ii < ctr.length;ii++)
                            {
                                if(document.getElementsByName(ctr[0])[jj].value == ctr[ii])
                                    req=true;
                            }
                        } 
                    }
                }
                
                if(arrctr[i].getAttribute('requeridoIfDdlSelected')!=null){
                    var ctr = arrctr[i].getAttribute('requeridoIfDdlSelected').split('|');
                    for(var ii=1;ii < ctr.length;ii++){
                        var ddlctr = document.getElementById(ctr[0]);
                        if(ddlctr.options[ddlctr.selectedIndex].value==ctr[ii]){
                            req=true;
                        }
                    }
                }
                
                if(arrctr[i].getAttribute('requeridoIfDdlSelectedText')!=null){
                    var ctr = arrctr[i].getAttribute('requeridoIfDdlSelectedText').split('|');
                    if (document.getElementById(ctr[0]).value == ctr[1])
                        req=true;
                }
                
                if(arrctr[i].getAttribute('NumeroPorcRequeridoIfDdlSelectedText')!=null){
                
                    var ctr = arrctr[i].getAttribute('requeridoIfDdlSelectedText').split('|');
                    if (document.getElementById(ctr[0]).value == ctr[1])
                        req=true;
                }
                try{
	                    if(arrctr[i].getAttribute('diverror')!=null)
	                    {
	                        document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = '';
	                        document.getElementById(arrctr[i].getAttribute('diverror')).style.display = 'none';
	                    }
                    }catch(e){}
                
                if (req){
                    if(trimstr(arrctr[i].value)==''&&arrctr[i].getAttribute('tipoctr')!='ddl'&&arrctr[i].getAttribute('tipoctr')!='lbx' && arrctr[i].getAttribute('tipoctr').split('|')[0] != 'montoPorcentaje' && arrctr[i].getAttribute('tipoctr').split('|')[0] != 'nit'){
                     if(verifseccion(sSeccion,arrctr[i])){
                        errorllenado=true;
                        if(arrctr[i].getAttribute('diverror')!=null){
                            if(arrctr[i].getAttribute('mensajerequerido')!=null){
                                try{

                                    //ADD 20090204 adelgado
                                    var flgSgte = true
                                    if ((arrctr[i].getAttribute('tipoctr') == 'fecha') || (arrctr[i].getAttribute('tipoctr') == 'hora'))
                                    {
                                        if ((arrctr[i].getAttribute('requeridoOpcional') != null))
                                        {
                                            if ((arrctr[i].getAttribute('requeridoOpcional') == 'true')) 
                                            {
                                                //flgSgte = requeridoOpcional(i)
                                                flgSgte = requeridoOpcional_v2(arrctr[i].getAttribute('id'))
                                                if (!(flgSgte)) errorllenado = false;
                                            }
                                        }
                                    }       
                                    if (flgSgte)
                                    {
                                    //---- codigo anterior inicio ----//
                                    
                                    document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + arrctr[i].getAttribute('mensajerequerido') ;
                                    document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                    
                                    //---- codigo anterior fin   ----//
                                    }
                                    
                                }catch(e){}    
                            }
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='fecha'){

                            //ADD 20090204 adelgado
                            var flgSgte = true
                            if ((arrctr[i].getAttribute('tipoctr') == 'fecha') || (arrctr[i].getAttribute('tipoctr') == 'hora'))
                            {
                                if ((arrctr[i].getAttribute('requeridoOpcional') != null))
                                {
                                    if ((arrctr[i].getAttribute('requeridoOpcional') == 'true')) 
                                    {
                                        //flgSgte = requeridoOpcional(i)
                                        flgSgte = requeridoOpcional_v2(arrctr[i].getAttribute('id'))
                                    }
                                }
                            }       
                            if (flgSgte)
                            {
                            //---- codigo anterior inicio ----//

                            errorfecha=true;

                            //---- codigo anterior fin    ----//
                            }
                            
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='hora'){

                            //ADD 20090204 adelgado
                            var flgSgte = true
                            if ((arrctr[i].getAttribute('tipoctr') == 'fecha') || (arrctr[i].getAttribute('tipoctr') == 'hora'))
                            {
                                if ((arrctr[i].getAttribute('requeridoOpcional') != null))
                                {
                                    if ((arrctr[i].getAttribute('requeridoOpcional') == 'true')) 
                                    {
                                        //flgSgte = requeridoOpcional(i)
                                        flgSgte = requeridoOpcional_v2(arrctr[i].getAttribute('id'))
                                    }
                                }
                            }       
                            if (flgSgte)
                            {
                            //---- codigo anterior inicio ----//

                            errorhora=true;

                            //---- codigo anterior fin    ----//
                            }

                        }                       
                        if(arrctr[i].getAttribute('tipoctr')=='texto'){
                            errorllenado=true;
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='numero'){
                            errorllenado=true;
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='numeroDecimal'){
                            errorllenado=true;
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='NumeroPorcRequeridoIfDdlSelectedText'){
                            errorllenado=true;
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='correo'){
                            errorllenado=true;
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='username'){
                            errorllenado=true;
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='nit'){
                            errorllenado=true;
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='numeronit'){
                            errorllenado=true;
                        }
                        if(arrctr[i].getAttribute('tipoctr')=='nombrearchivo'){
                            errorllenado=true;
                        }
                        
                     }//if(verifseccion(sSeccion,arrctr[i])){   
                    }
                    else{
                        //dropDownList
                        if(arrctr[i].getAttribute('tipoctr')=='ddl'){
                            if(arrctr[i].getAttribute('ddlvalornull')!=null){
                                if(arrctr[i].options[arrctr[i].selectedIndex].value==arrctr[i].getAttribute('ddlvalornull')){
                                  if(verifseccion(sSeccion,arrctr[i])){
                                    if(arrctr[i].getAttribute('diverror')!=null){
                                        if(arrctr[i].getAttribute('mensajerequerido')!=null){
                                            document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + arrctr[i].getAttribute('mensajerequerido');
                                            document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                        }
                                    }
                                    errorllenado=true;    
                                  }//if(verifseccion(sSeccion,arrctr[i])){
                                }
                            }
                        }
                        else{
                            //listbox
                            if(arrctr[i].getAttribute('tipoctr')=='lbx'){
                                if(arrctr[i].length==0){
                                 if(verifseccion(sSeccion,arrctr[i])){
                                    if(arrctr[i].getAttribute('diverror')!=null){
                                        if(arrctr[i].getAttribute('mensajerequerido')!=null){
                                            document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + arrctr[i].getAttribute('mensajerequerido');
                                            document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                        }
                                    }
                                    errorllenado=true;    
                                 }//if(verifseccion(sSeccion,arrctr[i])){   
                                }
                            }
                            else{
                                //MontoPorcentaje
                                if(arrctr[i].getAttribute('tipoctr').split('|')[0] == 'montoPorcentaje')
                                {
                                    if (document.getElementById(arrctr[i].getAttribute('tipoctr').split('|')[1]).value == arrctr[i].getAttribute('tipoctr').split('|')[2]){
                                        if (parseFloat(arrctr[i].value,10) < 1 || parseFloat(arrctr[i].value,10) > 100 || !IsNumericDecimal(arrctr[i].value) ){
                                            if(verifseccion(sSeccion,arrctr[i])){
                                                if(arrctr[i].getAttribute('diverror')!=null){
                                                    if(arrctr[i].getAttribute('mensajerequerido')!=null){
                                                        document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' Verifique que el valor ingresado se encuentre en un rango de porcentaje de 1 hasta 100 (m'+ String.fromCharCode(225) +'ximo 2 decimales)' //+ arrctr[i].getAttribute('mensajerequerido');
                                                        document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                                    }
                                                }
                                                errorllenado=true;    
                                             }
                                        }  
                                    }
                                    else{
                                        if(!IsNumericDecimal(arrctr[i].value))
                                        {
                                            if(verifseccion(sSeccion,arrctr[i])){    
                                                if(arrctr[i].getAttribute('diverror')!=null&&arrctr[i].getAttribute('mensajerequerido')!=null){
                                                    document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' +  arrctr[i].getAttribute('mensajerequerido');
                                                    document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                                }
                                                else{
                                                    document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' Debe Ingresar Dato Correcto'  ;
                                                    document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                                }
                                                errorllenado=true;
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    
                                    if(arrctr[i].getAttribute('tipoctr').split('|')[0] == 'nit')
                                    {
                                        if(!esNitValido(arrctr[i].value + '-' + document.getElementById(arrctr[i].getAttribute('tipoctr').split('|')[1]).value))
                                        {
                                            document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' +  arrctr[i].getAttribute('mensajerequerido');
                                            document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';                   
                                            errorllenado=true;
                                        }
                                        
                                    }
                                }
                            }
                        }
                    }
                }
                
                if(arrctr[i].value!=''){
                    if(arrctr[i].getAttribute('tipoctr')=='fecha'&&(!ValidarFecha(arrctr[i].value,false))){
                     if(verifseccion(sSeccion,arrctr[i])){
                        if(arrctr[i].getAttribute('diverror')!=null){
                            var msg='';
                            if(arrctr[i].getAttribute('mensajerequerido')!=null)
                                msg=arrctr[i].getAttribute('mensajerequerido');
                            else
                                msg='Datos de Fecha No Valido.';
                                
                            document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + msg;
                            document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                        }
                        errorfecha=true;
                     }//if(verifseccion(sSeccion,arrctr[i])){   
                    }
                    
                    if((arrctr[i].getAttribute('tipoctr')=='hora')&&!ValidarHora(arrctr[i].value)){
                        if(verifseccion(sSeccion,arrctr[i])){ 
                            errorhora=true;
                            if(arrctr[i].getAttribute('diverror')!=null){
                                var msg='';
                                if(arrctr[i].getAttribute('mensajerequerido')!=null)
                                    msg=arrctr[i].getAttribute('mensajerequerido');
                                else
                                    msg='Datos de Hora No Valido.';
                                document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + msg;
                                document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                            }
                        }//if(verifseccion(sSeccion,arrctr[i])) 
                    }
                    
                    if((arrctr[i].getAttribute('tipoctr')=='correo')&&!validarcorreo(arrctr[i].value)){
                        if(verifseccion(sSeccion,arrctr[i])){ 
                            errorcorreo=true;
                            if(arrctr[i].getAttribute('diverror')!=null){
                                var msg='';
                                if(arrctr[i].getAttribute('mensajerequerido')!=null)
                                    msg=arrctr[i].getAttribute('mensajerequerido');
                                else
                                    msg='Datos de correo No Valido.';
                                document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + msg;
                                document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                            }
                        }//if(verifseccion(sSeccion,arrctr[i])) 
                    }
                    
                    if((arrctr[i].getAttribute('tipoctr')=='username')&&!IsValidUsername(arrctr[i].value)){
                        if(verifseccion(sSeccion,arrctr[i])){ 
                            errorusername=true;
                            if(arrctr[i].getAttribute('diverror')!=null){
                                var msg='';
                                if(arrctr[i].getAttribute('mensajerequerido')!=null)
                                    msg=arrctr[i].getAttribute('mensajerequerido');
                                else
                                    msg='Datos de Username No Valido.';
                                document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + msg;
                                document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                            }
                        }//if(verifseccion(sSeccion,arrctr[i])) 
                    }

                    if((arrctr[i].getAttribute('tipoctr')=='numeronit')&&!esFormatoNitValido(arrctr[i].value)){
                        if(verifseccion(sSeccion,arrctr[i])){ 
                            errornumeronit=true;
                            if(arrctr[i].getAttribute('diverror')!=null){
                                var msg='';
                                if(arrctr[i].getAttribute('mensajerequerido')!=null)
                                    msg=arrctr[i].getAttribute('mensajerequerido');
                                else
                                    msg='numero Nit con caracteres invalidos.';
                                document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + msg;
                                document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                            }
                        }//if(verifseccion(sSeccion,arrctr[i])) 
                    }


                    if((arrctr[i].getAttribute('tipoctr')=='nit')&&!esNitValido(arrctr[i].value)){
                        if(verifseccion(sSeccion,arrctr[i])){ 
                            errornit=true;
                            if(arrctr[i].getAttribute('diverror')!=null){
                                var msg='';
                                if(arrctr[i].getAttribute('mensajerequerido')!=null)
                                    msg=arrctr[i].getAttribute('mensajerequerido');
                                else
                                    msg='Nit No Valido.';
                                document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + msg;
                                document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                            }
                        }//if(verifseccion(sSeccion,arrctr[i])) 
                    }

                    //nombrearchivo
                    if((arrctr[i].getAttribute('tipoctr')=='nombrearchivo')&&!esValidaExtension(arrctr[i])){
                        if(verifseccion(sSeccion,arrctr[i])){ 
                            errornombrearchivo=true;
                            if(arrctr[i].getAttribute('diverror')!=null){
                                var msg='';
                                if(arrctr[i].getAttribute('mensajerequerido')!=null)
                                    msg=arrctr[i].getAttribute('mensajerequerido');
                                else
                                    msg='Archivo o extension no valido';//'Nit No Valido.';
                                document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + msg;
                                document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                            }
                        }//if(verifseccion(sSeccion,arrctr[i])) 
                    }//nombrearchivo
                    
                    if((arrctr[i].getAttribute('tipoctr')=='numeroDecimal'))
                    {
                        if(!IsNumericDecimal(arrctr[i].value))
                        {
                            if(verifseccion(sSeccion,arrctr[i])){    
                                if(arrctr[i].getAttribute('diverror')!=null&&arrctr[i].getAttribute('mensajerequerido')!=null){
                                    document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' +  arrctr[i].getAttribute('mensajerequerido');
                                    document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                }
                                else{
                                    document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' Debe Ingresar Dato Correcto'  ;
                                    document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                }
                                errorllenado=true;
                            }
                        }
                    }

                    if((arrctr[i].getAttribute('tipoctr')=='numero')){
                        if(typeof(arrctr[i].getAttribute('rango'))!=null&&arrctr[i].getAttribute('rango')!=null){
                            var rango = arrctr[i].getAttribute('rango').split('-');
                            if(SoloNumero(arrctr[i].value)){
                                if(!(parseInt(arrctr[i].value)>=parseInt(rango[0])&&parseInt(arrctr[i].value)<=parseInt(rango[1]))){
                                 if(verifseccion(sSeccion,arrctr[i])){    
                                    if(typeof(arrctr[i].getAttribute('mensajerango'))!=null){
                                        if(arrctr[i].getAttribute('diverror')!=null){
                                            document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' +  arrctr[i].getAttribute('mensajerango');
                                            document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                        }
                                    }
                                    errorllenado=true;
                                 }//if(verifseccion(sSeccion,arrctr[i])){ 
                                }
                            }
                            else{
                                if(verifseccion(sSeccion,arrctr[i])){    
                                    errorllenado=true;
                                }
                            }
                        }
                        else{// aqui estoy
                            if(!SoloNumero(arrctr[i].value)){
                                if(verifseccion(sSeccion,arrctr[i])){    
                                    if(arrctr[i].getAttribute('diverror')!=null&&arrctr[i].getAttribute('mensajerequerido')!=null){
                                        document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' +  arrctr[i].getAttribute('mensajerequerido');
                                        document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                    }
                                    else{
                                        document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' Debe Ingresar Dato Correcto'  ;
                                        document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                    }
                                    errorllenado=true;
                                }
                            }
                        }
                    }
                }
                
                if(arrctr[i].getAttribute('diverrorpagina')!=null){
                    if(diverrorpagina==''&&arrctr[i].getAttribute('diverrorpagina')!=''){
                        diverrorpagina = arrctr[i].getAttribute('diverrorpagina');
                    }
                    else{
                        document.getElementById(diverrorpagina).innerHTML     = '';
                        document.getElementById(diverrorpagina).style.display = 'none';
                    }
                }
                
                if(arrctr[i].getAttribute('mensajeerrorpagina')!=null){
                    if(mensajeerrorpagina==''&&arrctr[i].getAttribute('mensajeerrorpagina')!=''){
                        mensajeerrorpagina = arrctr[i].getAttribute('mensajeerrorpagina') ;
                    }
                }
                if(arrctr[i].getAttribute('hrefsubir')!=null){
                    if(hrefsubir==''&&arrctr[i].getAttribute('hrefsubir')!=''){
                        hrefsubir = arrctr[i].getAttribute('hrefsubir');
                    }
                }

                if(arrctr[i].getAttribute('divexitopagina')!=null){
                    if(divexitopagina==''&&arrctr[i].getAttribute('divexitopagina')!=''){
                        divexitopagina = arrctr[i].getAttribute('divexitopagina');
                    }
                }

                if(arrctr[i].getAttribute('formatofecha')!=null){
                    if(formatofecha==''&&arrctr[i].getAttribute('formatofecha')!=''){
                        formatofecha = arrctr[i].getAttribute('formatofecha');
                    }
                }
                
            }
        }    
    }
    
    /* implementar comparacion entre 2 campos
    if(!(errorllenado)){
        for(var j=0;j<3;j++){
            if(j==0)stag='input';
            if(j==1)stag='textarea';
            if(j==2)stag='select';
            var arrctr = document.getElementsByTagName(stag);
            for(var i=0;i < arrctr.length;i++){
            
            }
        }
    }
    */
         
    /// validar fechas por orden f1,f2,f3,f4,..
    //if(!(errorllenado || errorfecha || errorhora)&&1==2){
    if(!(errorfecha || errorhora)){
        var sSep="";
        var sSeq="";
        var sFec="";
        var sTmpSeq="";        
        var sTmpFec="";
        
        var sSepTime = ":";
        var sSeqTime="";
        var sHor="";
        var sTmpSeqTime="";        
        var sTmpHor="";        
        
        var arrFec="";
        var pd  =-1;
        var pm  =-1;
        var py  =-1; 
        var hasHoraAsociada = false;
        if(formatofecha=="")formatofecha="dd-mm-yyyy";
        if(formatofecha.indexOf("/")>-1)sSep = "/";
        if(formatofecha.indexOf("-")>-1)sSep = "-";
        var arrFmt = formatofecha.split(sSep);
        
        for(var i=0;i < arrFmt.length;i++)if(arrFmt[i]=='dd')  pd = i;
        for(var i=0;i < arrFmt.length;i++)if(arrFmt[i]=='mm')  pm = i;
        for(var i=0;i < arrFmt.length;i++)if(arrFmt[i]=='yyyy')py = i;
        
        var arrctr = document.getElementsByTagName('input');
        for(var i=0;i < arrctr.length;i++){
            if(arrctr[i].getAttribute('tipoctr')!=null&&arrctr[i].getAttribute('seqfecha')!=null){
                if(arrctr[i].getAttribute('tipoctr')=='fecha'){
                    var arrFec = arrctr[i].value.toString().split(sSep);

                    //ADD 20090204 adelgado
                    var flgSgte = true
                    if ((arrctr[i].getAttribute('tipoctr') == 'fecha') || (arrctr[i].getAttribute('tipoctr') == 'hora'))
                    {
                        if ((arrctr[i].getAttribute('requeridoOpcional') != null))
                        {
                            if ((arrctr[i].getAttribute('requeridoOpcional') == 'true')) 
                            {
                                //flgSgte = requeridoOpcional(i)
                                flgSgte = requeridoOpcional_v2(arrctr[i].getAttribute('id'))
                            }
                        }
                    }       
                    if (flgSgte)
                    {
                    //---- codigo anterior inicio ----//
                    
                    sSeq += arrctr[i].getAttribute('seqfecha') + '|';
                    sFec += arrFec[py].toString() + arrFec[pm].toString() + arrFec[pd].toString() + '|';
                    
                    //---- codigo anterior fin   ----//
                    }
                    
                }
            }
        }
        
        var arrctr = document.getElementsByTagName('input');
        for(var i=0;i < arrctr.length;i++){
            if(arrctr[i].getAttribute('tipoctr')!=null&&arrctr[i].getAttribute('seqhora')!=null){
                if(arrctr[i].getAttribute('tipoctr')=='hora'){
                    var arrHor = arrctr[i].value.toString().split(sSepTime);

                    //ADD 20090204 adelgado
                    var flgSgte = true
                    if ((arrctr[i].getAttribute('tipoctr') == 'fecha') || (arrctr[i].getAttribute('tipoctr') == 'hora'))
                    {
                        if ((arrctr[i].getAttribute('requeridoOpcional') != null))
                        {
                            if ((arrctr[i].getAttribute('requeridoOpcional') == 'true')) 
                            {
                                //flgSgte = requeridoOpcional(i)
                                flgSgte = requeridoOpcional_v2(arrctr[i].getAttribute('id'))
                            }
                        }
                    }       
                    if (flgSgte)
                    {
                    //---- codigo anterior inicio ----//

                    sSeqTime  += arrctr[i].getAttribute('seqhora') + '|';
                    sHor      += arrHor[0].toString() + arrHor[1].toString()  + '|';
                    
                    //---- codigo anterior fin    ----//
                    }

                }
            }
        }
        
        //var errorSeqFecha           = false;
        //var errorSeqHora            = false;
        var arrctr = document.getElementsByTagName('input');
        for(var i=0;i < arrctr.length;i++){
            if(arrctr[i].getAttribute('tipoctr')!=null&&arrctr[i].getAttribute('seqfecha')!=null){
                if(arrctr[i].getAttribute('tipoctr')=='fecha'){

                    //ADD 20090204 adelgado
                    var flgSgte = true
                    if ((arrctr[i].getAttribute('tipoctr') == 'fecha') || (arrctr[i].getAttribute('tipoctr') == 'hora'))
                    {
                        if ((arrctr[i].getAttribute('requeridoOpcional') != null))
                        {
                            if ((arrctr[i].getAttribute('requeridoOpcional') == 'true')) 
                            {
                                //flgSgte = requeridoOpcional(i)
                                flgSgte = requeridoOpcional_v2(arrctr[i].getAttribute('id'))
                            }
                        }
                    }       
                    if (flgSgte)
                    {
                    //---- codigo anterior inicio ----//
                    
                    var arrFec = arrctr[i].value.toString().split(sSep);
                    sTmpFec = arrFec[py].toString() + arrFec[pm].toString() + arrFec[pd].toString();
                    if(arrctr[i].getAttribute('seqfechamenor')!=null){
                        var seqfecmenor   = arrctr[i].getAttribute('seqfechamenor');
                        var arrTmpSeq     = sSeq.split('|');
                        var arrTmpFec     = sFec.split('|');
                        for(var j = 0;j < arrTmpSeq.length;j++){
                            if(arrTmpSeq[j]==seqfecmenor){
                                //fecha es menor de lo que deberia ser segun seqfecmenor
                                if(sTmpFec<arrTmpFec[j]){
                                    errorSeqFecha= true;
                                    if(arrctr[i].getAttribute('diverror')!=null){
                                        if(arrctr[i].getAttribute('mensajeseqfecha')!=null){
                                            document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + arrctr[i].getAttribute('mensajeseqfecha');
                                            document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                        }
                                    }
                                    else
                                        alert('Verifique secuencia de fechas');
                                    break;
                                }
                                
                                //fechas son iguales se verificara si la hora es menor
                                hasHoraAsociada=false;
                                if(sTmpFec==arrTmpFec[j]){
                                    var arrctrhora = document.getElementsByTagName('input');
                                    for(var k=0;k < arrctrhora.length;k++){
                                        //
                                        if(arrctrhora[k].getAttribute('seqhora')!=null&&arrctrhora[k].getAttribute('seqhora')==arrctr[i].getAttribute('seqfecha')){
                                            hasHoraAsociada=true;
                                            var seqhoramenor  = arrctrhora[k].getAttribute('seqhoramenor');
                                            var seqhoramenor  = arrctr[i].getAttribute('seqfechamenor');//para que se verifique segun lo definido en secuencias de fecha
                                            var arrTmpSeqTime = sSeqTime.split('|');
                                            var arrTmpHor     = sHor.split('|');
                                            sTmpHor=arrctrhora[k].value.toString().split(sSepTime)[0] + arrctrhora[k].value.toString().split(sSepTime)[1];
                                            for(var l = 0;l < arrTmpSeqTime.length;l++){
                                                if(arrTmpSeqTime[l]==seqhoramenor){
                                                    if(sTmpHor<=arrTmpHor[l]){
                                                        errorSeqHora = true;
                                                        errorSeqFecha= true;
                                                        if(arrctrhora[k].getAttribute('diverror')!=null){
                                                            if(arrctrhora[k].getAttribute('mensajeseqhora')!=null){
                                                                document.getElementById(arrctrhora[k].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + arrctrhora[k].getAttribute('mensajeseqhora');
                                                                document.getElementById(arrctrhora[k].getAttribute('diverror')).style.display = '';
                                                            }
                                                        }
                                                        else
                                                            alert('Verifique secuencia de fechas-horas');
                                                        break;
                                                    }
                                                }
                                            }
                                        }
                                        //
                                    }
                                }
                                if(sTmpFec==arrTmpFec[j]&&!hasHoraAsociada){
                                    errorSeqFecha= true;
                                    if(arrctr[i].getAttribute('diverror')!=null){
                                        if(arrctr[i].getAttribute('mensajeseqfecha')!=null){
                                            document.getElementById(arrctr[i].getAttribute('diverror')).innerHTML     = sImagenAdvertencia + ' ' + arrctr[i].getAttribute('mensajeseqfecha');
                                            document.getElementById(arrctr[i].getAttribute('diverror')).style.display = '';
                                        }
                                    }
                                    else
                                        alert('Verifique secuencia de fechas');
                                    break;
                                    
                                }
                            }//if(arrTmpSeq[j]==seqfecmenor){
                        }//for(var j = 0;j < arrTmpSeq.length;j++){
                    }//if(arrctr[i].getAttribute('seqfechamenor')!=null){
                    
                    //---- codigo anterior fin    ----//
                    }

                }
            }
        }
    }//if(!(errorllenado || errorfecha || errorhora)){
    /// validar fechas por orden
    
    
    //alert(errorllenado + ' ' +  errorfecha + ' ' + errorhora);
    //alert('diverrorpagina ' + diverrorpagina);
    if(errorllenado || errorfecha || errorhora || errorcorreo || errorusername||errornit||errorSeqFecha||errorSeqHora||errornombrearchivo){
        if(mensajeerrorpagina!=''){
            document.getElementById(diverrorpagina).innerHTML     = sImagenAdvertencia + ' ' + mensajeerrorpagina;
            document.getElementById(diverrorpagina).style.display = '';
            if(divexitopagina!='')document.getElementById(divexitopagina).style.display = 'none';
            if(hrefsubir!=''&&typeof(sSeccion)=='undefined')window.location.href=hrefsubir;
        }
        
        return false;
    }
    else{
        if(diverrorpagina!=''){
            document.getElementById(diverrorpagina).innerHTML     = '';
            document.getElementById(diverrorpagina).style.display = 'none';
        }
        return true;
    }
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function verifseccion(sSeccion,ctr){
    //alert('sSeccion=' + sSeccion + ' ctr.getAttribute(seccion)=' + ctr.getAttribute('seccion')   );
    if(typeof(sSeccion)=='undefined'&&ctr.getAttribute('seccion')==null){
        //alert('true');
        return true;
    }
    if(typeof(sSeccion)!='undefined'&&ctr.getAttribute('seccion')==null){
        //alert('false');
        return false;
    }
    if(typeof(sSeccion)=='undefined'&&ctr.getAttribute('seccion')!=null){
        return false;
    }
    if(ctr.getAttribute('seccion')==sSeccion){
        //alert('true');
        return true;
    }
    //alert('false');
    return false;
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function SoloNumero(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   if(sText.indexOf('.')!=sText.lastIndexOf('.'))IsNumber=false;
   return IsNumber;
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function IsNumericDecimal( numstr )
{
    
    if (numstr+"" == "undefined" || numstr+"" == "null" || numstr+"" == "") 
        return false;
    var MAX_DECIMALES = 2;
    var isValid = true;
    var decCount = 0; // number of decimal points in the string
    // convert to a string for performing string comparisons.
    var numdecimales = 0;
    numstr += ""; 
    var  numEntero = "";
    var numDecimal = "";
    
    
    
    // Loop through string and test each character. If any
    // character is not a number, return a false result.
    // Include special cases for negative numbers (first char == '-')
    // and a single decimal point (any one char in string == '.'). 
    for (i = 0; i < numstr.length; i++) 
    {
    // track number of decimal points
        if (decCount > 0) 
            numdecimales++;
            
        if (numstr.charAt(i) == ","){
            decCount++;
        }
        
        if (numdecimales > 0 && decCount > 0)
            numDecimal += numstr.charAt(i);
        
        if (numdecimales == 0 && decCount == 0)
            numEntero += numstr.charAt(i);
            
            
        if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9") || (numstr.charAt(i) == ","))) 
        {
            isValid = false;
            break;
        } else 
            if ((numstr.charAt(i) == "," && numstr.length == 1) ||(numstr.charAt(i) == "," && decCount > 1)) 
            {
                isValid = false;
                break;
            } 
    
    } // END for 
    
    
    if (numEntero.length > 18)
        return false;
        
        
    if (numdecimales > MAX_DECIMALES){
        isValid = false;
    }
    return isValid;
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function IsValidUsername(sText)
{
   var ValidChars = "0123456789_abcdefghijklmnopqrstuvwxyzñÑABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var Char;
   
   for (i = 0; i < sText.length; i++)
   {       
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1)return false;
      if (Char.charAt(0)== 32) return false;      
   }
   return true;
}

/* ================================================================================================================================= */
/* ================================================================================================================================= */
function trimstr(cadena)
{
  for(i=0; i<cadena.length; )
  {
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(i+1, cadena.length);
		else
			break;
	}

	for(i=cadena.length-1; i>=0; i=cadena.length-1)
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(0,i);
		else
			break;
	}
	return cadena;
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function showMsgExito(mensaje,divexito,diverror)
{
    document.getElementById(divexito).innerHTML =  sImagenExito + mensaje;
    document.getElementById(divexito).style.display = '';
    if (diverror!=''&&document.getElementById(diverror)!=null){
        document.getElementById(diverror).style.display = 'none';
    }
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function showMsgError(mensaje,divexito,diverror)
{
    document.getElementById(diverror).innerHTML =  sImagenError + mensaje;
    document.getElementById(diverror).style.display = '';
    if (divexito!=''&&document.getElementById(divexito)!=null){
        document.getElementById(divexito).style.display = 'none';
    }
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function ctrmaxlen(c,l) 
{
    if(c.value.toString().length==l)event.keyCode = 0;
    return true;
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function onChangeMaxLen(c,l,div,msg,diverror)
{
    if(c.value.toString().length>l&&l>0){
        if(div!=''){ 
            document.getElementById(div).style.display = '';
            document.getElementById(div).innerHTML= sImagenAdvertencia + ' ' + msg;
            document.getElementById(diverror).style.display = '';
            document.getElementById(diverror).innerHTML= sImagenError + ' Se encontraron errores o falta de información en algunos campos. Por favor verifique los datos indicados en rojo.';
        }
        c.value = c.value.toString().substr(0,l-1);
    }
    else{
        if(div!='')document.getElementById(div).style.display = 'none';
        if(diverror!='')document.getElementById(diverror).style.display = 'none';
    }
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function ctrmaxlenonchange(c,l,div,msg)
{
    if(c.value.toString().length>l&&l>0){
        if(div!=''){ 
            document.getElementById(div).style.display = '';
            document.getElementById(div).innerHTML= sImagenAdvertencia + ' ' + msg;
            mostrarError();
        }
        c.value = c.value.toString().substr(0,l-1);
    }
    else
        if(div!='')document.getElementById(div).style.display = 'none';
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function DarFormatoNumNit(c){
    var num= document.getElementById(c.id).value;
    var newnum = "";
    var j=-1;
    while(num.indexOf('.')>-1)num = num.replace('.','');
    
    for(i=num.length-1;i>-1;i--){
    	j++;
			if(j==3){
				newnum = num.charAt(i) + '.' + newnum;
				j=0;
			}
			else
    		newnum = num.charAt(i) + newnum;
    }
    document.getElementById(c.id).value= newnum;
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function onKPnumNit(evt)
{
	var key;
	if(window.event)
		key = evt.keyCode;
	else if(evt.which)
		key = evt.which; 
	else {
		return true;
	}
    if (key==8)return true;
    if (key==47)return true;
    if (!(key >= 46 && key <= 57)) return false;
    return true;
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function esFormatoNitValido(sNIT){
    //ini valida formato xxx.xxx.xxx
    if(sNIT.indexOf('.')>-1){
        var aSEP = sNIT.split('.');
        for(i=aSEP.length-1;i>0;i--)if(aSEP[i].length!=3)return false;
        var tmpval ='';
        tmpval = aSEP[0];
        
        if(typeof(tmpval)=='undefined'||tmpval==null)return false;
        if(tmpval.length>3||tmpval.length<1) return false;
        return true;
    }
    else
        return false;
    
    //fin valida formato xxx.xxx.xxx
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function esNitValido(sNIT){
    if(sNIT.indexOf('-')==-1)return false;
    var aNIT      = sNIT.split('-');
    //ini valida formato xxx.xxx.xxx y xx.xxx.xxx
    if(aNIT[0].indexOf('.')>-1){
        var aSEP = aNIT[0].split('.');
        for(i=aSEP.length-1;i>0;i--)if(aSEP[0].length!=3 && aSEP[0].length!=2)return false;
        var tmpval ='';
        tmpval = aSEP[0];
        
        if(typeof(tmpval)=='undefined'||tmpval==null)return false;
        if(tmpval.length>3||tmpval.length<1) return false;
    }
    //fin valida formato xxx.xxx.xxx y xx.xxx.xxx
    
	li_peso     = new Array();
	li_peso[0]  = 71;
	li_peso[1]  = 67;
	li_peso[2]  = 59;
	li_peso[3]  = 53;
	li_peso[4]  = 47;
	li_peso[5]  = 43;
	li_peso[6]  = 41;
	li_peso[7]  = 37;
	li_peso[8]  = 29;
	li_peso[9]  = 23; 
	li_peso[10] = 19; 
	li_peso[11] = 17; 
	li_peso[12] = 13; 
	li_peso[13] = 7; 
	li_peso[14] = 3; 
		
    var dig		  = 0;
    var i         = 0;

    while(aNIT[0].indexOf('.')>-1)aNIT[0] = aNIT[0].replace('.','');
    while(aNIT[0].length<15)aNIT[0] = '0' + aNIT[0];

	ls_str_nit = aNIT[0];
	li_suma = 0; 
	for(i = 0; i < 15; i++){ 
				li_suma += ls_str_nit.substring(i,i+1) * li_peso[i]; 
	}
	
	digito_chequeo = li_suma%11;
	if (digito_chequeo >= 2) 
		digito_chequeo = 11 - digito_chequeo; 
	if(parseInt(aNIT[1])!= digito_chequeo){ 
		return false; 
	} 
	else 
		return true;     
    
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function validarcorreo(valor){
    return (/^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$/.test(valor));
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function esValidaExtension(c){
    if(c.getAttribute('extensionesvalidas')==null)return false;
    if(c.getAttribute('extensionesvalidas')!=null){
        var extension = (c.value.substring(c.value.lastIndexOf("."))).toLowerCase();
        var ext = c.getAttribute('extensionesvalidas').split('|');
        for(var i=0;i < ext.length;i++){
            if (ext[i] == extension){
                return true;
            }
        }
    }
    return false;
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
function ValidarHora(Valor)
{
	var Validador= /\d{2}:\d{2}/;
	m = Validador.test(Valor)
	
	if (m) {
		 tiempo = (Valor.split(":"))
		
		 hora = parseInt(tiempo[0])
		 minuto = parseInt(tiempo[1])
		
		if (hora >=0 && hora<=24)
			if (minuto >=0 && minuto<=59)
				return true 
			else 
				return false 
		else 
		return false 
	    }
    return false 
}
/* ================================================================================================================================= */
/* ================================================================================================================================= */
//            modo de uso
//            lstTipoDocumento.Attributes.Add("diverrorpagina"      , "divErrorPagina");
//            lstTipoDocumento.Attributes.Add("mensajeerrorpagina"  , "Se encontraron errores o falta de informacion en algunos campos. Por favor verifique los datos indicados en rojo.");

//            lstTipoDocumento.Attributes.Add("requerido"           , "true");
//            lstTipoDocumento.Attributes.Add("mensajerequerido"    , "Debe Seleccionar Tipo Documento");
//            lstTipoDocumento.Attributes.Add("tipoctr"             , "ddl");
//            lstTipoDocumento.Attributes.Add("diverror"            , "DivTipoDocumento");
//            lstTipoDocumento.Attributes.Add("ddlvalornull"        , "0");

//            txtBeneficiario.Attributes.Add("requerido"            , "true");
//            txtBeneficiario.Attributes.Add("mensajerequerido"     , "Debe Ingresar Beneficiario");
//            txtBeneficiario.Attributes.Add("tipoctr"              , "texto");
//            txtBeneficiario.Attributes.Add("diverror"             , "DivBeneficiario");

//            txtMonto.Attributes.Add("requerido"                   , "true");
//            txtMonto.Attributes.Add("mensajerequerido"            , "Debe ingresar Monto");
//            txtMonto.Attributes.Add("tipoctr"                     , "texto");
//            txtMonto.Attributes.Add("diverror"                    , "DivMonto");

//            lstMoneda.Attributes.Add("requerido"                  , "true");
//            lstMoneda.Attributes.Add("mensajerequerido"           , "Debe Seleccionar Moneda");
//            lstMoneda.Attributes.Add("tipoctr"                    , "ddl");
//            lstMoneda.Attributes.Add("diverror"                   , "DivMoneda");
//            lstMoneda.Attributes.Add("ddlvalornull"               , "0");

//            txtFecha.Attributes.Add("requerido"                   , "true");
//            txtFecha.Attributes.Add("mensajerequerido"            , "Debe ingresar Fecha");
//            txtFecha.Attributes.Add("tipoctr"                     , "fecha");
//            txtFecha.Attributes.Add("diverror"                    , "DivFecha");

//            txtRestitucion.Attributes.Add("requerido"             , "true");
//            txtRestitucion.Attributes.Add("mensajerequerido"      , "Debe Ingresar Forma Restitucion");
//            txtRestitucion.Attributes.Add("tipoctr"               , "texto");
//            txtRestitucion.Attributes.Add("diverror"              , "divRestitucion");

//            txtMonto.Attributes.Add("requerido"                   , "true");
//            txtMonto.Attributes.Add("mensajerequerido"            , "Debe ingresar Monto");
//            txtMonto.Attributes.Add("tipoctr"                     , "numero");
//            txtMonto.Attributes.Add("diverror"                    , "divErrorMonto");
//            txtMonto.Attributes.Add("rango"                       , "1-10");
//            txtMonto.Attributes.Add("mensajerango"                , "Cantidad debe Estar entre 1 y 100");

//==============================================================================================================//
//            Valiacion de secuencia de fechas y horas (en caso que tenga horas asociadas)
//            txtFec1.Attributes.Add("seqfecha", "1");
//            txtFec1.Attributes.Add("requerido", "true");
//            txtFec1.Attributes.Add("mensajerequerido", "Debe Ingresar Fecha");
//            txtFec1.Attributes.Add("tipoctr", "fecha");
//            txtFec1.Attributes.Add("diverror", "divtxtFec1");

//            txtFec2.Attributes.Add("seqfecha", "2");
//            txtFec2.Attributes.Add("seqfechamenor", "1");
//            txtFec2.Attributes.Add("mensajeseqfecha", "DEBE SER mayor QUE FECHA1");
//            txtFec2.Attributes.Add("requerido", "true");
//            txtFec2.Attributes.Add("mensajerequerido", "Debe Ingresar Fecha");
//            txtFec2.Attributes.Add("tipoctr", "fecha");
//            txtFec2.Attributes.Add("diverror", "divtxtFec2");

//            txtHora1.Attributes.Add("seqhora", "1");
//            txtHora1.Attributes.Add("requerido", "true");
//            txtHora1.Attributes.Add("mensajerequerido", "Debe Ingresar Hora");
//            txtHora1.Attributes.Add("tipoctr", "hora");
//            txtHora1.Attributes.Add("diverror", "divtxtHora1");

//            txtHora2.Attributes.Add("seqhora", "2");
//            //txtHora3.Attributes.Add("seqhoramenor", "1"); valida horas segun su relacion con seqFecha
//            txtHora2.Attributes.Add("requerido", "true");
//            txtHora2.Attributes.Add("mensajerequerido", "Debe Ingresar Hora");
//            txtHora2.Attributes.Add("mensajeseqhora", "DEBE SER mayor QUE hora1");
//            txtHora2.Attributes.Add("tipoctr", "hora");
//            txtHora2.Attributes.Add("diverror", "divtxtHora2");
//==============================================================================================================//
//            Validaciones condicionales REQUERIDOIF . . . si un control esta marcado valida al control 
//            con respecto a si es requerido o no
//            txtDescCheckbox.Attributes.Add("requeridoifchecked", this.CheckBox1.ClientID  );
//            txtDescCheckbox.Attributes.Add("mensajerequerido", "Debe Ingresar Descripcion ya que marco check");
//            txtDescCheckbox.Attributes.Add("tipoctr", "texto");
//            txtDescCheckbox.Attributes.Add("diverror", "divtxtDescCheckbox");

//            txtDescRadioButton.Attributes.Add("requeridoifselected", this.RadioButton2.ClientID);
//            txtDescRadioButton.Attributes.Add("mensajerequerido", "Debe Ingresar texto ya que selecciono 22");
//            txtDescRadioButton.Attributes.Add("tipoctr", "texto");
//            txtDescRadioButton.Attributes.Add("diverror", "divtxtDescRadioButton");

//            txtDescChkList.Attributes.Add("requeridoIfListChecked", this.CheckBoxList1.ClientID + "|0|2|4");
//            txtDescChkList.Attributes.Add("mensajerequerido", "Debe Ingresar texto ya que selecciono CheckBoxList1_0 y/0 CheckBoxList1_2 y/0 CheckBoxList1_4 y/0");
//            txtDescChkList.Attributes.Add("tipoctr", "texto");
//            txtDescChkList.Attributes.Add("diverror", "divtxtDescChkList");

//            txtDescRadioLst.Attributes.Add("requeridoIfListSelected", this.RadioButtonList1.ClientID + "|1|3|5");
//            txtDescRadioLst.Attributes.Add("mensajerequerido", "Debe Ingresar texto ya que selecciono RadioButtonList1_1 y/0 RadioButtonList1_3 y/0 RadioButtonList1_5 ");
//            txtDescRadioLst.Attributes.Add("tipoctr", "texto");
//            txtDescRadioLst.Attributes.Add("diverror", "divtxtDescRadioLst");

//            txtDescRadioLst.Attributes.Add("requeridoIfDdlSelected", this.DropDownList1.ClientID + "|CO|" );
//            txtDescRadioLst.Attributes.Add("mensajerequerido", "Debe Ingresar texto ya que selecciono DropDownList1 con valor CO ");
//            txtDescRadioLst.Attributes.Add("tipoctr", "texto");
//            txtDescRadioLst.Attributes.Add("diverror", "divtxtDescRadioLst");

//            lstMoneda.Attributes.Add("requeridoIfDdlSelected"     , this.DropDownList1.ClientID + "|CO|");
//            lstMoneda.Attributes.Add("mensajerequerido"           , "Debe Seleccionar Valor ya que selecciono DropDownList1 con valor CO ");
//            lstMoneda.Attributes.Add("tipoctr"                    , "ddl");
//            lstMoneda.Attributes.Add("diverror"                   , "DivMoneda");
//            lstMoneda.Attributes.Add("ddlvalornull"               , "0");


//            valida Extensiones de objetos upload 
//            objUpload.Attributes.Add("seccion", "archivoadj");
//            objUpload.Attributes.Add("requerido", "true");
//            objUpload.Attributes.Add("mensajerequerido", "Debe Seleccionar Archivo con extension valida.");
//            objUpload.Attributes.Add("tipoctr","nombrearchivo");// "texto");
//            objUpload.Attributes.Add("extensionesvalidas", ".p7z|");
//            objUpload.Attributes.Add("diverror", "divarchivo");


//            luego invocar desde js esPaginaValida o esPaginaValida('NombreSeccion') y si es true realizar __doPostBack . . . 
//==============================================================================================================//
//            Para validar un NIT

//            Txtrut1.Attributes.Add("requerido", "true");
//            Txtrut1.Attributes.Add("mensajerequerido", "Verifique que el NIT ingresado sea correcto");
//            Txtrut1.Attributes.Add("tipoctr", "nit|Txtrut2"); Txtrut2 corresponde al id del campo que contiene el digito verificador
                
//            Txtrut1.Attributes.Add("diverror", "divNitExpide");
//            Txtrut1.Attributes.Add("onkeypress", "return onKPnumNit(event);");
//            Txtrut1.Attributes.Add("onblur", "return DarFormatoNumNit(this);");




/* ================================================================================================================================= */
/* ================================================================================================================================= */
//ADD 20090204 adelgado
//se trata de un tipo que en caso de Fecha && Hora != '' se comportar similar a requerido == true
//de lo contrario se ignora con Fecha && Hora == '' como dato valido para este tipo de controles
//teniendo en cuenta los ADQT.

function requeridoOpcional(item)
{
    var arrctr = document.getElementsByTagName('input');
    
    for(var i = 0; i < arrctr.length; i++)
    {
        if (i == item)
        {
            if (arrctr[i].getAttribute('requeridoOpcional') != null)
            {
                if (arrctr[i].getAttribute('requeridoOpcional') == 'true')
                {
                    if ((arrctr[i].getAttribute('tipoctr') == 'fecha') || (arrctr[i].getAttribute('tipoctr') == 'hora'))
                    {
                        var j = i
                        if (arrctr[i].getAttribute('tipoctr') == 'fecha') j = i + 1
                        if (arrctr[i].getAttribute('tipoctr') == 'hora') j = i - 1                     
                        if (((arrctr[i].Value == '') || (arrctr[i].Value == null)) && ((arrctr[j].Value == '') || (arrctr[j].Value == null))) {return false}
                        else {return true}
                    } else {return true}
                } else {return true}
            } else {return true}
        }
    }
    return true
}

function requeridoOpcional_v2(item)
{
    var arrctr = document.getElementById(item);
    
    if (arrctr.getAttribute('requeridoOpcional') != null)
    {
        if (arrctr.getAttribute('requeridoOpcional') == 'true')
        {
            if ((arrctr.getAttribute('tipoctr') == 'fecha') || (arrctr.getAttribute('tipoctr') == 'hora'))
            {
                var j = i
                if (arrctr.getAttribute('tipoctr') == 'fecha') j = i + 1
                if (arrctr.getAttribute('tipoctr') == 'hora') j = i - 1                     
                if (((arrctr.Value == '') || (arrctr.Value == null)) && ((arrctr.Value == '') || (arrctr.Value == null))) {return false}
                else {return true}
            } else {return true}
        } else {return true}
    } else {return true}
    return true
}

