﻿function postback(url, requestParams) {
    $jq('#hidUri').val(url + (requestParams != null && requestParams != "" ? "?"+ requestParams : ""));
    $('formPrincipal').submit();
}
    
// Archivo JScript
function tieneError(res) {
    if(res.error != null) {
        //alert("DESARROLLO - ERROR:\n\n"+ res.error.Message);
        //debugger;
        if(res.error.Type == "System.NotSupportedException") {
            // Probablemente se ha reiniciado el servicio, procedemos a recardar la pagina
            // para restablecer el estado de la sesión del usuario
            window.location.reload(true);
        }
        else {
            return true;
        }
    }
    else {
        return false;
    }
}

function crearPaginador(idContenedor, totalTopHits, pagNum, resultadosPorPagina) {
    var totalPags = Math.ceil(totalTopHits / resultadosPorPagina);

	if(totalPags > 1) {
	    $jq(idContenedor).show();
	}
	else {
		$jq(idContenedor).hide();
	}
	
	if(pagNum > 1) {
		$jq(idContenedor +' .pagAnt').show();
	}
	else {
		$jq(idContenedor +' .pagAnt').hide();
	}
	
	if(pagNum < totalPags) {
		$jq(idContenedor +' .pagSig').show();
	}
	else {
		$jq(idContenedor +' .pagSig').hide();
	}
	
    if(totalPags > 1) {
        var maxSig = 5;
        var maxAnt = 5;
        var maxPags = 10;
        
        var divPaginas = $jq(idContenedor +' .pags');
        divPaginas.empty();
        
        if(pagNum == 1) {
            for(var i=1; i<=maxPags && i<=totalPags; i++) {
                divPaginas.append(
                    crearEtiquetaPagina(i, pagNum)
                );
            }
            if(maxPags < totalPags) {
                divPaginas.append(
                    crearEtiquetaPagina(totalPags, pagNum, "... "+ totalPags)
                );
            }
        }
        else {
            var iniPag = Math.min(1, (totalPags - maxAnt));
            iniPag = Math.max(1, (pagNum - maxAnt));
            
            if(iniPag > 1) {
                divPaginas.append(
                    crearEtiquetaPagina(1, pagNum, "1 ...")
                );
            }
            
            var finPag = Math.max((pagNum + maxSig), maxPags);
            finPag = Math.min(finPag, totalPags);
            for(var i=iniPag; i<=finPag; i++) {
                divPaginas.append(
                    crearEtiquetaPagina(i, pagNum)
                );
            }
            if(finPag < totalPags) {
                divPaginas.append(
                    crearEtiquetaPagina(totalPags, pagNum, "... "+ totalPags)
                );
            }
        }
        
        $jq(idContenedor +' .pags > a:first').css('border', '0px solid green');
        $jq(idContenedor +' .pags > span + a').css('border-left', '0px solid green');
    }
}

function crearEtiquetaPagina(num, pagActual, texto) {
    var e;
    
    if(texto == null) {
        texto = num;
    }
    if(num != pagActual) {
        e = $jq('<a href="javascript:void(0);" />').text(texto).attr('pag', num);
        e.click(function () {
            verPag(parseInt($jq(this).attr('pag')));
        });
        e.addClass('navSep');
    }
    else {
        e = $jq('<span />').text(num);
        e.addClass('pagSep');
    }
    return e;
}

function mostrarAyuda(url) {
    window.open(url, "Ayuda", "width=640px, height=480px, resizable");
}

function esNumerico(val) {
    var regex = /\D/gi; // Tiene un valor no numerico
    return !regex.test(val);
}

function vacio(val) {
    var vacio = (jQuery.trim(val).length == 0);
    return vacio;
}

function noVacio(val) {
    return (!vacio(val));
}

function esTextoValido(val) {
    var regex = /[<>%]/gi;
    return !regex.test(val);
}

function esIndetificadorValido(val) {
    //var regex = /[^\w|^\d]|ñ/gi; // Tiene un valor no alfabético (letras acentuadas son consideradas no validas)
    var regex = new RegExp('[^\\w|^\\d]|ñ', 'gi');
    return !regex.test(val);
}


function esEmailValido(email) {
    var regex = /^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/i;
    
    return regex.test(email);
}

function abrirPopup(url, w, h) {
    if(w == null) {
        w = 640;
    }
    if(h == null) {
        h = 480;
    }
    
    window.open(url, 'popup', "width="+ w +"px, height="+h+"px, resizable, scrollbars");
}
