// contiene una instancia de XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
var carpeta="";
var Mes='';
var Anio='';

function Anio(pVal){
    return Anio=pVal;
}
// crea una instancia de XMLHttpRequest
function createXmlHttpRequestObject() 
{
    // almacena la referencia al objeto XMLHttpRequest
    var xmlHttp;
    // debería funcionar en cualquier navegador excepto Explorer 6 y anteriores
    try
    {
        // intentar crear un objeto XMLHttpRequest
        xmlHttp = new XMLHttpRequest();
    }
    catch(e)
    {
        // suponemos que se trata de Explorer 6 o anteriores
        var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
            "MSXML2.XMLHTTP.5.0",
            "MSXML2.XMLHTTP.4.0",
            "MSXML2.XMLHTTP.3.0",
            "MSXML2.XMLHTTP",
            "Microsoft.XMLHTTP");
        // probar todas las versiones hasta que una funcione
 
        for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
        {
            try
 
            {
                // intentar crear el objeto XMLHttpRequest
                xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
            }
            catch (e) {}
        }
    }
    // devolver el objeto creado o mostrar mensaje de error
    if (!xmlHttp)
        alert("Error creando el objeto XMLHttpRequest.");
    else
        return xmlHttp;
}

function getURL()

{

    urlMain = window.location.href;

    pos = urlMain.indexOf(carpeta);

    return urlMain.substr(0,pos);

}
// Mensaje de espera al cargar datos
function espera()
{
    document.getElementById("myDivElement").innerHTML ="";
    imagen = "<table><tr><td align='center'><img src='"+getURL()+carpeta+"/images/wait.gif'/></td></tr>";
    document.getElementById("myDivElement").innerHTML += imagen+"<tr><td align='center'  style='font-size:10px; font-family: Verdana; font-weight:bold'>Loading...<br>Connecting to INC-CUSCO</td></tr></table>";
}
// se llama a esta función para leer un fichero del servidor
function procesar(pMes,pAnio)
{
    // continuar sólo si xmlHttp no es void
    if (xmlHttp)
    {
        // intentar conectar al servidor
        try
        {
            //--
            espera();
            url = "&Mes="+pMes+"&Anio="+pAnio;
            url = getURL()+carpeta+'/lib/super.php?' + url;
            // iniciar la lectura de un fichero del servidor
            xmlHttp.open("GET", url, true);
            xmlHttp.onreadystatechange = handleRequestStateChange;
            xmlHttp.send(null);
            Anio=pAnio;
            Mes=pMes;
        }
        // mostrar el error en caso de fallo
        catch (e)
        {
            alert("Cannot connect to Data Base from INC: " + e.toString());
        //alert("Failed with the INC - CUSCO Connection");
        }
    }
}
//funcion mandar mes y anio a otra funcion

// funcion para gestionar la respuesta HTTP
function handleRequestStateChange() 
{
    // cuando readyState es 4, estamos listos para leer la respuesta
    if (xmlHttp.readyState == 4)
    {
        // continuar sólo si el HTTP status es "OK"
        if (xmlHttp.status == 200)
        {
            try
            {
                // hacer algo con la respuesta del servidor
                handleServerResponse();
            }
            catch(e)
            {
                // mostrar mensaje de error
                alert("Cannot connect to Data Base from INC:: " + e.toString());
            }
        }
        else
        {
            // mostrar mensaje de estado
            alert("Ha ocurrido un problema al recibir los datos:\n" +
                xmlHttp.statusText);
        }
    }
}
function Valor(dato){if(dato<0)	{	 if((dato+500)==0)		{return "<p style='color: red;'> Sold Out! </p>";}		else{	   return ((dato+500).toString()+' spaces');	   }	}	else	{	if(dato==0){		return "<p style='color: red;'> Sold Out! </p>";	  }	  else	  {	    return (dato.toString()+' spaces');	  }	}}
 
// gestiona la respuesta recibida del servidor
function handleServerResponse()
{
    var j;
    // leer el mensaje del servidor
    var xmlResponse = xmlHttp.responseXML;
    // obtener el elemento "document" del XML
    if (!xmlResponse || !xmlResponse.documentElement)
        throw("Estructura XML no válida:\n" + xmlHttp.responseText);
    // evitar potenciales problemas con Firefox
    var rootNodeName = xmlResponse.documentElement.nodeName;
    if (rootNodeName == "parsererror") throw("Invalid XML structure");
    // obtener el elemento document del XML
    xmlRoot = xmlResponse.documentElement;
    // obtener arrays con los dia y capacidad de los libros
    diaArray = xmlRoot.getElementsByTagName("dia");
    capacidadArray = xmlRoot.getElementsByTagName("capacidad");
    // generar la salida HTML
    html = "<table style='font-family:Verdana, Geneva, sans-serif; font-size:12px; align='center'><tr bgcolor='#FFDAC1'><th style='border: 1px solid #C60;'>Day:</th><th style='border: 1px solid #C60;'>Availability</th>";
    html += "</tr>";
    // iterar sobre los arrays y crear una estructura HTML  
    for (var i=0; (i<diaArray.length); i++)
    {
        if((i%2)!=0)
        {
            html+="<tr bgcolor='#DFFF7D'>";
        }
        else{
            html+="<tr>";			}
            html += "<td style='border: 1px solid #C60;'>"+diaArray.item(i).firstChild.data +
            "</td><td style='border: 1px solid #C60;'>" + Valor(parseInt(capacidadArray.item(i).firstChild.data)) + "</td></tr>";
    }
    html+="</table>"
    // obtener una referencia al elemento <div> de la página
    myDiv = document.getElementById("myDivElement");
    // mostrar la salida HTML
    myDiv.innerHTML = html;
}

