function esNulo(textbox,nombre)
{
    var texto = textbox.value;
    texto = trim(texto);
    if (texto == "")
    {
        alert("Escriba un valor para el campo " + nombre);
        textbox.focus();
        return (true);
    }
    return false;
}

function esSeleccion(combobox,nombre)
{
    if (combobox[combobox.selectedIndex].value == "")
    {
        alert("Debe seleccionar algun valor en el campo " + nombre);
        combobox.focus();
        return (false);
    }
    return true;
}

function esNumero(textbox,nombre)
{
    var checkOK = "0123456789-";
    var checkStr = textbox.value;
    var allValid = true;
    var allNum = "";
    for (i = 0;  i < checkStr.length;  i++)
    {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
            if (ch == checkOK.charAt(j))
                break;
        if (j == checkOK.length)
        {
            allValid = false;
            break;
        }
        allNum += ch;
    }
    if (!allValid)
    {
        alert("Escriba caracteres numericos en el campo "+nombre);
        textbox.focus();
        return (false);
    }
    return true;
}

function esPorcentaje(textbox,nombre)
{
    var txt = textbox.value;
    if(txt=='') return true;
    if(isNaN(txt))
    {
        alert("Formato numerico Erroneo en el campo " + nombre);
        textbox.focus();
        return (false);
    }
    return true;
}


function imagenesC(control)
{
    var popup = window.open("../../imagenes?campo=" + control,"popupc2","width=580,height=240,scrollbars=0,location=0,toolbars=0,menubar=0,resizable=0");
    var d = popup.document;
    d.close();
}

function imagenesCxB(control)
{
    var popup = window.open("../imagenes?botones=true&campo=" + control,"popupc2","width=580,height=240,scrollbars=0,location=0,toolbars=0,menubar=0,resizable=0");
    var d = popup.document;
    d.close();
}
function limpiarImagen(texto)
{
    texto.value=""; 
    document.getElementById('imagen').innerHTML ="";
}
function limpiarImagenCxB(texto)
{
    texto.value="";
    document.getElementById('imagenxx').innerHTML ="";
}
function enviaMultipleData(destino,Forma)
{
    var cadena = Forma.multidatacheck.value;
    if(cadena == '+'){
        alert("Debe hacer por lo menos una selección");
    }
    else {
        cadena = cadena.replace(/\+/g,"%2B");
        if(window.tuga_user_send_multidata){
            window.tuga_user_send_multidata(destino + cadena, Forma);
        } else {
            document.location.href=destino + cadena;
        }
    }
}
function ayuda(urlAyuda)
{
    var url = urlAyuda;
    if( url != "" )
    {
        var popupAyuda = window.open(urlAyuda,"popupAyuda","scrollbars=yes,width=250,height=200,resizable=yes");
    }
    else
    {
        alert("No hay ayuda disponible para esta página");
    }
}

function trim(texto)
{
    if(texto == null){
        return texto;
    }
    if (texto == "")
    {
        return "";
    }
    for (i = 0;  i < texto.length;  i++)
    {
        if (texto.charAt(i) == ' ' && (i+1) < texto.length ) 
        {
            texto = texto.substring(i+1,texto.length);
        }
        else
        {
            break;
        }
    }

    for (i = texto.length - 1;  i > 0;  i--)
    {
        if (texto.charAt(i) == ' ') 
        {
            texto = texto.substring(0,i);
        }
        else
        {
            break;
        }
    }
    if (texto.charAt(0) == ' ') return "";
    return texto;
}

function limpiar()
{
    for ( i = 0; i < document.forms.length; i ++)
    {
        for ( j = 0; j < document.forms[i].length; j ++)
        {
            if (document.forms[i][j].type == "hidden" || document.forms[i][j].type == "text" || document.forms[i][j].type == "textarea")
            {
                document.forms[i][j].value = "";
            }
            if (document.forms[i][j].type == "select-one")
            {
                document.forms[i][j].selectedIndex = 0;
            }
        }
    }
}

function checkAll(field)
{
    if(field.length){
        for (i = 0; i < field.length; i++){
            field[i].checked = true ;
        }
    } else {
        field.checked = true ;
    }
}

function uncheckAll(field)
{
    if(field.length){
        for (i = 0; i < field.length; i++){
            field[i].checked = false ;
        }
    } else {
        field.checked = false ;
    }
}

function doCheck(control1, control2){
    if(control1.checked == true){
        control2.value = 't';
    } else if(control1.checked == false){
        control2.value = 'f';
    }
}

function testCheck(control1, control2){
    if(control1.checked == true){
        checkAll(control2);
    } else if(control1.checked == false){
        uncheckAll(control2);
    }
}

function ltrim(s) {
    return s.replace(/^\s+/, "");
}

function rtrim(s) {
    return s.replace(/\s+$/, "");
}

function xtrim(s) {
    return rtrim(ltrim(s));
}

function numberBox(e)
{
    if (e.which)
    {
        if(e.which!=8 && e.which!=9 && (e.which<48 || e.which>57))
            return false;
    }
    else if(e.keyCode)
    {
        if(e.keyCode!=8 && e.keyCode!=9 && (e.keyCode<48 || e.keyCode>57))
            return false;
    }
    return true;
}

function columnBox(e)
{
    if (e.which)
    {
        if(e.which!=8 && e.which!=9 && e.which!=44 && (e.which<48 || e.which>57))
            return false;
    }
    else if(e.keyCode)
    {
        if(e.keyCode!=8 && e.keyCode!=9 && e.keyCode!=44 && (e.keyCode<48 || e.keyCode>57))
            return false;
    }
    return true;
}

function variableBox(e)
{
    if (e.which)
    {
        if(e.which == 46 || e.which == 37 || e.which == 39 || e.which == 95 || e.which == 8 || e.which == 9 || (e.which>=97 && e.which<=122) || (e.which>=65 && e.which<=90) || (e.which>=48 && e.which<=57) )
            return true;
    }
    else if(e.keyCode)
    {
        if(e.keyCode == 46 || e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 95 || e.keyCode == 8 || e.keyCode == 9 || (e.keyCode>=97 && e.keyCode<=122) || (e.keyCode>=65 && e.keyCode<=90) || (e.keyCode>=48 && e.keyCode<=57) )
            return true;
    }
    return false;
}

function jsBox(e)
{
    if (e.which)
    {
        if(e.which == 34)
            return false;
    }
    else if(e.keyCode)
    {
        if(e.keyCode ==34)
            return false;
    }
    return true;
}

function dateBox(e,control)
{
    /*
     * Enter : 13
     * Tab: 9
     * Backspace : 8
     * Delete: 46
     */
    if (e.which) /* Para FireFox */
    {
        if(e.which != 9 && e.which != 13 && e.which != 8 && e.which != 46){
            return false;
        }
        else if(e.which == 8 || e.which == 46){
            control.value = '';
        }else if(e.which == 9 || e.which == 13){
            /* Enter or Tab */
            closeCal();
        }
    }
    else if(e.keyCode) /* Para IE */
    {
        if(e.keyCode != 9 && e.keyCode != 13 && e.keyCode != 8 && e.keyCode != 46){
            return false;
        }
        else if(e.keyCode == 8 || e.keyCode == 46){
            control.value = '';
        }else if(e.keyCode == 9 || e.keyCode == 13){
            /* Enter or Tab */
            closeCal();
        }
    }
    return true;
}
function floatBox(e, obj){
    var temp;
    if (e.which){
        if(e.which == 46){
            temp = obj.value;
            if(temp.indexOf(".") != -1){
                return false;
            }else{
                return true;
            }
        }
        if(e.which != 8 && e.which != 9 && (e.which < 48 || e.which > 57)){
            return false;
        }
    }
    else if(e.keyCode){
        if(e.keyCode == 46){
            temp = obj.value;
            if(temp.indexOf(".") != -1){
                return false;
            }else{
                return true;
            }
        }
        if(e.keyCode != 8 && e.keyCode != 9 && (e.keyCode < 48 || e.keyCode > 57)){
            return false;
        }
    }
    return true;
}

function blurFloatBox(obj){
   var temp = obj.value;
   var tam;
   if(temp.charAt(0) == '.'){
       obj.value = "0" + obj.value;
   }
   temp = obj.value;
   tam = temp.length;
   if(temp.charAt(tam-1) == '.'){
       obj.value = obj.value + "0";
   }
}

function insertAtCursor(myField, myValue) {
    //IE support
    if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = myValue;
    }
    //MOZILLA/NETSCAPE support
    else if (myField.selectionStart || myField.selectionStart == '0') {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos)
        + myValue
        + myField.value.substring(endPos, myField.value.length);
    } else {
        myField.value += myValue;
    }
}

function creaListaMultiple(variable, vector){
    var tam = 1;
    var i = 0;
    var cadena = "+";
    if(vector.length){
        tam = vector.length;
        for(i=0; i < tam; i++){
            if(vector[i].checked == true)
                cadena = cadena + vector[i].value + "+";
        }
    } else {
        cadena = cadena + vector.value + "+";
    }
    variable.value = cadena;
}

function esListaMultiple(textbox,nombre){
    var texto = textbox.value;
    if (texto == "+"){
        alert("Debe seleccionar valores en " + nombre);
        return (false);
    }
    return true;
}

function setMaxAncho(area,ancho){
    area.style.width = ancho + "px";
}

function eliminaDato(tip,codigo){
    var entrar = confirm("Desea enviar este elemento a la papelera?")
    if ( entrar ){
        new Ajax.Request("GenReport.eliminaItems", { 
            method: "post",
            parameters: {
                papelera: codigo,
                tipo: tip
            }
        });
    }
    setTimeout('document.location.reload()',1000);
}

function eliminaDatoP(tip,codigo){
    var entrar = confirm("Desea enviar este elemento de forma permanente?")
    if ( entrar ){
        new Ajax.Request("../eliminaPantallaReporte", { 
            method: "post",
            parameters: {
                codigotabla: codigo,
                tipo: tip
            }
        });
    }
    setTimeout('document.location.reload()',1000);
}

function recuperaDato(tip,codigo){
    new Ajax.Request("../eliminaPantallaReporte", { 
        method: "post",
        parameters: {
            codigotabla: codigo,
            tipo: tip
        }
    });
    setTimeout('document.location.reload()',1000);
}

function vaciaPapelera(tip){
    var entrar = confirm("Desea enviar vaciar la papelera?")
    if ( entrar ){
        new Ajax.Request("../eliminaPantallaReporte", { 
            method: "post",
            parameters: {
                codigotabla: "x",
                tipo: tip
            }
        });
    }
    setTimeout('document.location.reload()',1000);
}

function agregaOpcionMenu(dir){
    window.open("../menu/tree/addnode.jsp?url=" + dir,"agregarMenu",'scrollbars=yes,width=550,height=250,resizable=yes');
}

function esEmail(textbox) {
    var str = textbox.value;
    var at="@";
    var dot=".";
    var lat=str.indexOf(at);
    var lstr=str.length;
    var ldot=str.indexOf(dot);
    if (str.indexOf(at)==-1){
        return false;
    }
    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
        return false;
    }
    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        return false;
    }
    if (str.indexOf(at,(lat+1))!=-1){
        return false;
    }
    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        return false;
    }
    if (str.indexOf(dot,(lat+2))==-1){
        return false;
    }		
    if (str.indexOf(" ")!=-1){
        return false;
    }
    return true;
}

function unEscapeTugaCharacters(s){
    var temp = s;
    temp = temp.replace("<<tuga_simple_cuote>>","'");
    return temp;
}
function doMachine(form, codbutton){
    form.action = '../maquinaEstados';
    form._boton_presionado.value=codbutton;
    form.encoding="application/x-www-form-urlencoded";
    form.method="post";
    form.target = window.name;
    form.submit();
    return;
}

function tuga_doMachine(campo){
    var form = campo.ownerDocument.forms[0];
    var codboton = campo.getAttribute("tugavalue");
    doMachine(form, codboton);
    return;
}

function tuga_focus(campo){
    var temp = document.getElementById(campo);
    temp.focus();
}
    
function tuga_blur(campo){
    campo.blur();
}
    
function tuga_disable(campo){
    var temp = document.getElementById(campo);
    if(temp.type != "button"){
        temp.readOnly = true;
        temp.tabIndex = -1;
        temp.style.backgroundColor = '#DBD9D9';
        temp.style.border = '1px solid';
        temp.style.borderColor = '#DBD9D9';
        temp.onfocus = function () {
            temp.blur();
        };
        if(temp.type == "select-one"){
            var cursel = temp.selectedIndex;
            temp.ondblclick = function(){
                alert('Control disabled');
                temp.blur();
            };
            temp.onchange = function(){
                temp.selectedIndex = cursel;
            };
        }
    } else {
        temp.disabled = true;
    }
}

   
function tuga_enable(campo){
    var temp = document.getElementById(campo);
    if(temp.type != "button"){
        temp.readOnly = false;
        temp.tabIndex = 1;
        temp.style.backgroundColor = '';
        temp.style.border = '';
        temp.style.borderColor = '';
        temp.onfocus = function () {
        };
        if(temp.type == "select-one"){
            temp.ondblclick = function(){
            };
            temp.onchange = function(){
            };
        }
    } else {
        temp.disabled = false;
    }
}

    
function tuga_isset(campo){
    var temp = document.getElementById(campo);
    if(temp.value == null){
        return false;
    }
    if(temp.value == ''){
        return false;
    }
    return true;
}
    
function tuga_getDate(){
    var cadena = "";
    var f = new Date();
    var dia = "" + f.getDate();
    var mes = "" + (f.getMonth() +1);
    if(dia.length == 1){
        dia = "0" + dia;
    }
    if(mes.length == 1){
        mes = "0" + mes;
    }
    cadena = dia + "-" + mes + "-" + f.getFullYear();
    return cadena;
}
  
function tuga_set(campo, valor){
    var temp = document.getElementById(campo);
    temp.value = valor;
}

function tuga_get(campo){
    var temp = document.getElementById(campo).value;
    return temp;
}

function tuga_getAjaxSql(parametros, asignaciones, funcion){
    new Ajax.Request("../ajaxSQL", {
        method: "post",
        parameters: parametros,
        onSuccess: function(transport, json){
            var jsonExpression = "(" + transport.responseText + ")";
            var customer = eval(jsonExpression);
            if(customer._tuga_ajaxsql_return_){
                for (var name in asignaciones) {
                    if (asignaciones.hasOwnProperty(name)) {
                        document.getElementById(name).value = customer[asignaciones[name]];
                    }
                }
                eval(funcion);
            }
        }
    });
}

function tuga_getAjaxFromSql(parametros, asignaciones, funcion1, funcion2){
    new Ajax.Request("../ajaxSQL", {
        method: "post",
        parameters: parametros,
        onSuccess: function(transport, json){
            var jsonExpression = "(" + transport.responseText + ")";
            var customer = eval(jsonExpression);
            if(customer._tuga_ajaxsql_return_){
                for (var name in asignaciones) {
                    if (asignaciones.hasOwnProperty(name)) {
                        document.getElementById(name).value = customer[asignaciones[name]];
                    }
                }
                eval(funcion1);
            }else{
                eval(funcion2);
            }
        }
    });
}

function tuga_onBlur(control, funcion){
    document.getElementById(control).onblur = funcion;
}

/*
 * Llena la lista destino que depende del valor de origen. Se debe especificar
 * el id de la coleccion de datos y el id de la conexion. Ei id de la conexion
 * viene de la variable tuga_current_con
 * ej: tuga_getAjaxList('cuadrilla', 'tecnico', 139);
 */
function tuga_getAjaxList(origen, destino, coleccion){
    getDestinoList(origen, destino, '../genColeccion', coleccion, '');
}

function tuga_autoTabIndex()
{
    var tabnumber = 1;
    for ( i = 0; i < document.forms.length; i ++)
    {
        for ( j = 0; j < document.forms[i].length; j ++)
        {
            if (document.forms[i][j].type != "hidden" 
                &&  document.forms[i][j].className != "tugagenseriesinput"
                &&  document.forms[i][j].className != "tugadbgridinput" )
            {
                document.forms[i][j].tabIndex = tabnumber;
                tabnumber++;
            }
        }
    }
}

function tuga_getNextFocus(curtab)
{
    var obj = null;
    for ( i = 0; i < document.forms.length; i ++)
    {
        for ( j = 0; j < document.forms[i].length; j ++)
        {
            if (document.forms[i][j].tabIndex == curtab)
            {
                for(k = (j+1); k < document.forms[i].length; k ++){
                    if(document.forms[i][k].type != "hidden" && document.forms[i][k].tabIndex != -1){
                        obj = document.forms[i][k];
                        break;
                    }
                }
                if(obj == null){
                    for(k = 0; k < document.forms[i].length; k ++){
                        if(document.forms[i][k].type != "hidden" && document.forms[i][k].tabIndex != -1){
                            obj = document.forms[i][k];
                            break;
                        }
                    }
                }
            }
        }
    }
    return obj;
}

function tuga_enterKeyEvent(e){
    /*
     * Enter : 13
     * Tab: 9
     */
    var obj = null;
    var browser=navigator.appName;
    if (browser=="Microsoft Internet Explorer") /* Para IE */
    {
        if(event.keyCode == 13){
            /* Enter or Tab */
            obj = tuga_getNextFocus(this.tabIndex);
        }
    }
    else if (e.which) /* Para FireFox */
    {
        if(e.which == 13){
            /* Enter or Tab */
            obj = tuga_getNextFocus(this.tabIndex);
        }
    }
    if(obj != null){
        obj.focus();
    }
}

function tuga_autoTabElements()
{
    for ( i = 0; i < document.forms.length; i ++)
    {
        for ( j = 0; j < document.forms[i].length; j ++)
        {
            if (document.forms[i][j].type != "hidden" && document.forms[i][j].type != "textarea"
                &&  document.forms[i][j].className != "tugagenseriesinput"
                &&  document.forms[i][j].className != "tugadbgridinput")
            {
                document.forms[i][j].onkeyup = tuga_enterKeyEvent;
            }
        }
    }
}

function tuga_disableBrowserAutoComplete(campo){
    document.getElementById(campo).autocomplete="off";
}

function tuga_clean(campo){
    /*limpia el contenido de un campo*/
    document.getElementById(campo).value = '';
}

function tuga_setFocus(campo){
    /*Otorga el foco al campo*/
    var obj = document.getElementById(campo);
    if(obj != null){
        obj.focus();
    }
}

function tuga_hide(bloq){
    document.getElementById(bloq).style.display = 'none';
}

function tuga_show(bloq){
    document.getElementById(bloq).style.display = '';
}

function tuga_htmlUnEscape(str){
    str = str.replace(/&#39;/gi, "'");
    str = str.replace(/&#60;/gi, "<");
    str = str.replace(/&#62;/gi, ">");
    return str;
}

function tuga_getFile(fileId){
    var url='/Tuga/DownloadFile?id=' + fileId;
    window.open(url,'Download');
//document.locationTuga/download?archivo=//install/error.jsp
}
