﻿//
//====================================================================================================
// Versión Navegador
//====================================================================================================
//
function EsMSIE7() {
    if (window.navigator.appVersion.indexOf('MSIE 7') != -1)
        return true;
    else
        return false;
}

//
//====================================================================================================
// Validaciones comunes
//====================================================================================================
//
//function CustomValidaSeleccionDropDownList(source, arguments, pNombreControl) {
//    arguments.IsValid = false;

//    var _DropDownList = document.getElementById(pNombreControl);
//    if (null != _DropDownList) {
//        _valor = String(_DropDownList[_DropDownList.selectedIndex].value)
//        arguments.IsValid = (_valor > "0");        
//    }
//}

//function CustomValidaCampoRequerido(source, arguments, pNombreControl) {
//    arguments.IsValid = false;

//    var _ObjetoControl = document.getElementById(pNombreControl);
//    if (_ObjetoControl != null) {
//        var _Texto = allTrim(_ObjetoControl.value);
//        arguments.IsValid = (_Texto != '');
//        AplicarEstiloControlA3TrasValidacion(arguments.IsValid, _ObjetoControl);
//        //AplicarEstiloControlStandardTrasValidacion(arguments.IsValid, _ObjetoControl);
//    }
//}

//function CustomValidaCampoRequeridoYMayorACero(source, arguments, pNombreControl) {
//    arguments.IsValid = false;

//    var _ObjetoControl = document.getElementById(pNombreControl);
//    if (_ObjetoControl != null) {
//        var _Texto = allTrim(_ObjetoControl.value);
//        arguments.IsValid = ((_Texto != '') && (TextoEsNumericoMayorACero(_Texto)));
//        AplicarEstiloControlA3TrasValidacion(arguments.IsValid, _ObjetoControl);
//        //AplicarEstiloControlStandardTrasValidacion(arguments.IsValid, _ObjetoControl);
//    }
//}

//function CustomValidaCampoRequeridoMayorACeroConLongitud(source, arguments, pNombreControl, lmin, lmax) {
//    arguments.IsValid = false;
//    var _ObjetoControl = document.getElementById(pNombreControl);
//    if (_ObjetoControl != null) {
//        var _Texto = allTrim(_ObjetoControl.value);
//        arguments.IsValid = ((_Texto != '') && (TextoEsNumericoMayorACero(_Texto)) && (TextoCumpleLongitud(_Texto, lmin, lmax)));
//        AplicarEstiloControlA3TrasValidacion(arguments.IsValid, _ObjetoControl);
//        //AplicarEstiloControlStandardTrasValidacion(arguments.IsValid, _ObjetoControl);
//    }
//}

//function CustomValidaCampoNumerico(source, arguments, pNombreControl) {
//    arguments.IsValid = false;
//    var _ObjetoControl = document.getElementById(pNombreControl);
//    if (_ObjetoControl != null) {
//        var _Texto = allTrim(_ObjetoControl.value);
//        arguments.IsValid = ((_Texto == '') || (TextoEsNumerico(_Texto)));
//        AplicarEstiloControlA3TrasValidacion(arguments.IsValid, _ObjetoControl);
//        //AplicarEstiloControlStandardTrasValidacion(arguments.IsValid, _ObjetoControl);
//    }
//}

//function CustomValidaCampoParteCuentaBancaria(source, arguments, pNombreControl, pLongitud) {
//    arguments.IsValid = false;

//    var _ObjetoControl = document.getElementById(pNombreControl);
//    if (_ObjetoControl != null) {
//        var _Texto = allTrim(_ObjetoControl.value);
//        //arguments.IsValid = ((_Texto != '') && (TextoEsNumericoMayorACero(_Texto)) && (TextoCumpleLongitud(_Texto, pLongitud, pLongitud)));
//        arguments.IsValid = ((_Texto != '') && (TextoCumpleLongitud(_Texto, pLongitud, pLongitud)));
//        AplicarEstiloControlA3TrasValidacion(arguments.IsValid, _ObjetoControl);
//        //AplicarEstiloControlStandardTrasValidacion(arguments.IsValid, _ObjetoControl);
//    }
//}

//function CustomValidaEmail(source, arguments, pNombreControl) {
//    arguments.IsValid = false;

//    var _ObjetoControl = document.getElementById(pNombreControl);
//    if (_ObjetoControl != null) {
//        var _Texto = allTrim(_ObjetoControl.value);
//        //var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+.[A-Za-z0-9_.]+[A-za-z]$/;
//        //            var filter=/(^[(a-z|0-9)]([(a-z|0_9)_\.]*)@([[a-z|0-9]_\.]*)([.][(a-z|0-9)]{3})$)|(^[(a-z|0-9)]([(a-z|0-9)_\.]*)@([(a-z|0-9)_\.]*)(\.[(a-z|0-9)]{3})(\.[(a-z|0-9)]{<2})*$)/i; 
//        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,3})*$/;

//        arguments.IsValid = filter.test(_Texto);
//        AplicarEstiloControlA3TrasValidacion(arguments.IsValid, _ObjetoControl);
//    }
//}

function ControlConContenido(pNombreControl) {
    var _Resultado = false;

    var _Control = document.getElementById(pNombreControl);
    if (_Control != null) {
        if (allTrim(_Control.value) != null && allTrim(_Control.value) != undefined && allTrim(_Control.value) != '')
            _Resultado = true;
    }

    return _Resultado;
}

function TextoEsNumericoMayorACero(pTexto) {    
    var _Valido = false;
    pTexto = allTrim(pTexto);   
    var _NoEsUnNumero = isNaN(pTexto);
    if (_NoEsUnNumero == false) {
        var _Numero = parseInt(pTexto, 10);
        _Valido = (_Numero > 0);
    }
    return _Valido;
}

function TextoEsNumericoNegativo(pTexto) {
    var _Valido = false;
    pTexto = allTrim(pTexto);
    var _NoEsUnNumero = isNaN(pTexto);
    if (_NoEsUnNumero == false) {
        var _Numero = parseInt(pTexto, 10);
        _Valido = (_Numero < 0);
    }
    return _Valido;
}


function TextoEsNumerico(pTexto) {
    var _Valido = false;
    pTexto = allTrim(pTexto);
    var _NoEsUnNumero = isNaN(pTexto);
    if (_NoEsUnNumero == false) {
        return true;
    }
    return _Valido;
}

function TextoCumpleLongitud(pTexto, pMinima, pMaxima) {
    var _Valido = false;
    if (pTexto != undefined) {
        pTexto = allTrim(pTexto);
        if ((pTexto.length >= pMinima) && (pTexto.length <= pMaxima))
            _Valido = true;    
    }
    return _Valido;
}

function SoloNumeros() {
    if (event.keyCode < 48 || event.keyCode > 57)
        event.returnValue = false;
}

function SoloNumerosAndDecimal() {
    if (event.keyCode < 48 || event.keyCode > 57)
        if (event.keyCode != 46) { event.returnValue = false; }
}

function SoloNumeros_KeyDown() {
    if (event.keyCode < 48 || event.keyCode > 57)
        event.returnValue = false;
}

function SoloNumerosAndDecimal_KeyDown() {    
    if ((event.keyCode < 96 || event.keyCode > 105) && (event.keyCode < 48 || event.keyCode > 57))
        if (event.keyCode != 110 && event.keyCode != 190 && event.keyCode != 8 && event.keyCode != 46) { event.returnValue = false; }
}

function SoloNumeros2(ConDecimal) {
    //96-105 - Números teclado numérico
    //48-57 - Números teclado normal
    //110 - Punto teclado numérico
    //190 - Punto teclado normal  
    //8 - Retroceso
    //9 - Tab
    //46 - Supr
    //37 y 39 - Flechas desplazamiento
    var OK = true
    if ((event.keyCode < 96 || event.keyCode > 105) && (event.keyCode < 48 || event.keyCode > 57)) {
        if (event.keyCode != 8 && event.keyCode != 9 && event.keyCode != 46 && event.keyCode != 37 && event.keyCode != 39) { OK = false; }
        if (ConDecimal) {
            if (event.keyCode == 110 || event.keyCode == 190) { OK = true; }    
        }
    }
    event.returnValue = OK;
}

function SoloNumerosCompatible(e) {
    var key;

    if (window.event) {
        key = e.keyCode;    // IE
    }
    else if (e.which) {
        key = e.which;      // Netscape/Firefox/Opera
    }
    if (key < 48 || key > 57) {
        return false;
    } 
    return true;
}


//function FormatNumerosAndDecimal(fld, milSep, decSep, maxlenght, e) {
//    var sep = 0;
//    var key = '';
//    var i = j = 0;
//    var len = len2 = 0;
//    var strCheck = '0123456789';
//    var aux = aux2 = '';
//    var whichCode = (window.Event) ? e.which : e.keyCode;
//    if (whichCode == 13) return true; // Enter 
//    key = String.fromCharCode(whichCode); // Get key value from key code 
//    if (strCheck.indexOf(key) == -1) return false; // Not a valid key 
//    len = fld.value.length;

//    if (len <= maxlenght) {
//        for (i = 0; i < len; i++)
//            if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
//        aux = '';
//        for (; i < len; i++)
//            if (strCheck.indexOf(fld.value.charAt(i)) != -1) aux += fld.value.charAt(i);
//        aux += key;
//        len = aux.length;
//        if (len == 0) fld.value = '';
//        if (len == 1) fld.value = '0' + decSep + '0' + aux;
//        if (len == 2) fld.value = '0' + decSep + aux;
//        if (len > 2) {
//            aux2 = '';
//            for (j = 0, i = len - 3; i >= 0; i--) {
//                if (j == 3) {
//                    aux2 += milSep;
//                    j = 0;
//                }
//                aux2 += aux.charAt(i);
//                j++;
//            }
//            fld.value = '';
//            len2 = aux2.length;
//            for (i = len2 - 1; i >= 0; i--)
//                fld.value += aux2.charAt(i);
//            fld.value += decSep + aux.substr(len - 2, len);
//        }
//        if (parseFloat(fld.value) > 100) { fld.value = 100.00; }
//    }
//    
//    return false;
//    
//}

function SetMascara(Objeto, Separador, Pattern, SoloNumeros) {
    if (Objeto.valant != Objeto.value) {
        val = Objeto.value
        largo = val.length
        val = val.split(Separador)
        val2 = ''
        for (r = 0; r < val.length; r++) {
            val2 += val[r]
        }
        if (SoloNumeros) {
            for (z = 0; z < val2.length; z++) {
                if (isNaN(val2.charAt(z))) {
                    letra = new RegExp(val2.charAt(z), "g")
                    val2 = val2.replace(letra, "")
                }
            }
        }
        val = ''
        val3 = new Array()
        for (s = 0; s < Pattern.length; s++) {
            val3[s] = val2.substring(0, Pattern[s])
            val2 = val2.substr(Pattern[s])
        }
        for (q = 0; q < val3.length; q++) {
            if (q == 0) {
                val = val3[q]
            }
            else {
                if (val3[q] != "") {
                    val += Separador + val3[q]
                }
            }
        }
        Objeto.value = val;
        Objeto.valant = val;
    }
}


function lTrim(sStr) {
    while (sStr.charAt(0) == " ")
        sStr = sStr.substr(1, sStr.length - 1);
    return sStr;
}

function rTrim(sStr) {
    while (sStr.charAt(sStr.length - 1) == " ")
        sStr = sStr.substr(0, sStr.length - 1);
    return sStr;
}

function allTrim(sStr) {    
    return rTrim(lTrim(sStr));
}

function TextoEsEmail(pTexto) {
    var _Valido = false;
    pTexto = allTrim(pTexto);
    //var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+.[A-Za-z0-9_.]+[A-za-z]$/;
    //            var filter=/(^[(a-z|0-9)]([(a-z|0_9)_\.]*)@([[a-z|0-9]_\.]*)([.][(a-z|0-9)]{3})$)|(^[(a-z|0-9)]([(a-z|0-9)_\.]*)@([(a-z|0-9)_\.]*)(\.[(a-z|0-9)]{3})(\.[(a-z|0-9)]{<2})*$)/i; 
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,3})*$/;
    _Valido = filter.test(pTexto);    
    return _Valido;   
}


