var ventana = null;
var timer;

manejadorAjax = new Array;
function getAjax() {
    var xmlhttp=false;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function cargaAjax(divId, url, mensajeError) {
    var n=manejadorAjax.length;
    manejadorAjax[n] = getAjax();

    document.getElementById(divId).innerHTML = "<div class=\"cargandoLleno\"><img src=\"img/cargando.gif\"></div>";

    if (manejadorAjax[n]) {
        manejadorAjax[n].open("GET", url,true);

        manejadorAjax[n].onreadystatechange=function() {
            if (manejadorAjax[n].readyState==4) {
                document.getElementById(divId).innerHTML = manejadorAjax[n].responseText;
                manejadorAjax[n]="";
            }
        }
        manejadorAjax[n].send(null);
    } else {
        if (mensajeError) {
            contenedor.innerHTML = mensajeError;
        }
    }
    document.getElementById(divId).scrollTop = 0;
}

function cargaAjaxPost(divId, url, datos, mensajeError) {
    var n=manejadorAjax.length;
    manejadorAjax[n] = getAjax();

    document.getElementById(divId).innerHTML = "<div class=\"cargandoLleno\"><img src=\"img/cargando.gif\"></div>";

    if (manejadorAjax[n]) {
        manejadorAjax[n].open("POST", url,true);

        manejadorAjax[n].onreadystatechange=function() {
            if (manejadorAjax[n].readyState==4) {
                document.getElementById(divId).innerHTML = manejadorAjax[n].responseText;
                manejadorAjax[n]="";
            }
        }
        manejadorAjax[n].setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        manejadorAjax[n].send(datos);
    } else {
        if (mensajeError) {
            contenedor.innerHTML = mensajeError;
        }
    }
}

function crearVentana(nombre, ancho, alto) {
    if (ventana != null && ventana.closed == false) {
        ventana.close();
    }

    var caracteristicas = "menubar=no, width=" + ancho + ", height=" + alto + ", resizable=yes, scrollbars=yes";

    ventana = window.open("", nombre, caracteristicas);

    ventana.focus();
}

function enviaformulario(formulario) {
    win = window.open('','myWin','toolbars=0');
    formulario.target='myWin';
    formulario.submit();
}

function ajaxForm(formulario, capa) {
    var datos = '';
    var checks = new Array;
    for (i = 0; i < formulario.elements.length; i++) {
        if (formulario.elements[i].type=='checkbox' && formulario.elements[i].checked) {
            for (x = 0; x < checks.length; x++) {
                var hayDato = false;
                if (checks[x]) {
                    if (checks[x][0] == formulario.elements[i].name) {
                        hayDato = checks[x][2];
                    }
                }
            }
            if (!hayDato) {
                checks[i] = new Array();
                checks[i][0] = formulario.elements[i].name;
                checks[i][1] = formulario.elements[i].value;
                checks[i][2] = i;
            } else {
                var datoNuevo = checks[hayDato][1] + "," + formulario.elements[i].value;
                checks[hayDato] = new Array();
                checks[hayDato][0] = formulario.elements[i].name;
                checks[hayDato][1] = datoNuevo;
                checks[hayDato][2] = hayDato;
            }
        } else if (formulario.elements[i].type=='text' || formulario.elements[i].type=='password' || formulario.elements[i].type=='textarea' || formulario.elements[i].type=='select-one') {
            datos = datos + "&" + formulario.elements[i].name + "=" + formulario.elements[i].value;
        }
    }
    if (checks.length > 0) {
        for (i = 0; i < checks.length; i++) {
            if (checks[i]) {
                datos = datos + "&" + checks[i][0] + "=" + checks[i][1];
            }
        }
    }
    cargaAjaxPost(capa, formulario.action, datos, 'No se pudo cargar');
    return false;
}

function ocultarCapa(divId) {
    var div = document.getElementById(divId);
    div.style.display='none';
}

function ocultarCapaRetardo(divId) {
    timer = setTimeout("ocultarCapa('" + divId + "');", 1000);
}

function mostrarCapa(divId) {
    /*clearTimeout(timer);*/
    /*setTimeout("hideCapa('" + divId + "');", 25)*/
    var div = document.getElementById(divId);
    div.style.display='block';
}

function hideCapa(divId) {
    var div = document.getElementById(divId);
    div.style.display='block';
}

