var xmlHttp
var xmlHttp1
var out
var out1

// pre cargamos la imagen de espera para ajax
loader = new Image(30,30);
loader.src = "images/loader.gif";

function ajax(opt,output,url,var1,var2,var3,var4,var5,var6,var7)
{
    //alert(var7);
    //alert(var7.length);
    if (is_array(var7))
    {
        // asuminos que tiene solo 2 datos
        var7ok=var7[0];
        var7[1].estado=true;
        var8=var7[2];
    }
    else
    {
        var7ok=var7;
        var8='';
    }
    out = output;
    xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
  	{
	  	alert ("El navegador no soporta AJAX!");
	  	return;
  	}

	//var url="qrcode/php/delete.php";

    var data = encodeURIComponent(opt);
	var data1 = encodeURIComponent(var1);
    var data2 = encodeURIComponent(var2);
    var data3 = encodeURIComponent(var3);
    var data4 = encodeURIComponent(var4);
    var data5 = encodeURIComponent(var5);
    var data6 = encodeURIComponent(var6);
    var data7 = encodeURIComponent(var7ok);
    var data8 = encodeURIComponent(var8);


	url=url+"?opt="+data;
	url=url+"&var1="+data1;
    url=url+"&var2="+data2;
    url=url+"&var3="+data3;
    url=url+"&var4="+data4;
    url=url+"&var5="+data5;
    url=url+"&var6="+data6;
    url=url+"&var7="+data7;
    url=url+"&var8="+data8;

	//alert (str);
	//url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function kajax(unico)
{
    // Enviar (opcion,layer_to_output_data,url_del_script,variables....)
    // Minimo 4 valores
 
    if (is_array(unico))
    {
        opt = unico[0]; // Por defecto el primer dato debe de ser la opcion
        out1 = unico[1]; // Por defecto el segundo dato debe de ser el layer_to_output_data
        url = unico[2]; // Por defecto el tercer dato debe de ser el url_del_script

        url=url+"?opt="+encodeURIComponent(opt); // Agregamos al url la opcion opt

        for (i=0,j=1;i<unico.length;i++) // Agregamos al url las demas variables de acuerdo al lenght del array
        {
            if (i!=0 & i!=1 & i!=2)
            {
                url=url+"&var"+j+"="+encodeURIComponent(unico[i]);
                j++;
            }
        }
    }
    else
    {
        alert("Es necesario enviar mas datos !!!!");
    }
    xmlHttp1=GetXmlHttpObject1();
	if (xmlHttp1==null)
  	{
	  	alert ("El navegador no soporta AJAX!");
	  	return;
  	}
	xmlHttp1.onreadystatechange=stateChanged1;
	xmlHttp1.open("GET",url,true);
	xmlHttp1.send(null);
}
function qrcode(opt,output,url,var1,var2,var3)
{
    out = output;
    xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
  	{
	  	alert ("El navegador no soporta AJAX!");
	  	return;
  	}

	//var url="qrcode/php/delete.php";

    var data = encodeURIComponent(opt);
	var data1 = encodeURIComponent(var1);
    var data2 = encodeURIComponent(var2);
    var data3 = encodeURIComponent(var3);


	url=url+"?opt="+data;
	url=url+"&d="+data1;
    url=url+"&s="+data2;
    url=url+"&t="+data3;

	//alert (str);
	//url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function matricular(opt,output,str,str1,str2,str3,str4)
{
	out = output;

	if (opt=="search")
    {
        if (str.length==0)
        {
            document.getElementById(out).innerHTML="";
            return;
        }
    }
    if (opt=="extract")
    {
        limpiar("cursos_span","");
        limpiar("pensiones_span","");
        limpiar("prorrogas_span","");
        limpiar("libros_span","");
        limpiar("otros_span","");
        limpiar("deudas_span","");

        aparecerdivsi('div_resultadocursos','div_cursos');
        aparecerdivsi('div_resultadopensiones','div_pensiones');
        aparecerdivsi('div_resultadoprorrogas','div_prorrogas');
        aparecerdivsi('div_resultadolibros','div_libros');
        aparecerdivsi('div_resultadootros','div_otros');
        aparecerdivsi('div_resultadodeudas','div_deudas');

        aparecerdivsi('total_submit','');
        
        cero("resultadopensiones");
        cero("resultadoprorrogas");
        cero("resultadolibros");
        cero("resultadootros");
        cero("resultadodeudas");
        cero("total");
    }

    // In Observation
    //
    //if (opt=="pensiones")
    //{
        //limpiar("pensiones_span","");
        //cero("resultadopensiones");
    //}



	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
  	{
	  	alert ("El navegador no soporta AJAX!");
	  	return;
  	}
	var url="admin/ajax.script.php";

	var data = encodeURIComponent(str);
	var data1 = encodeURIComponent(str1);
	var data2 = encodeURIComponent(str2);

    var data3 = encodeURIComponent(str3);
    var data4 = encodeURIComponent(str4);

	url=url+"?var="+data;
	url=url+"&opt="+opt;
	url=url+"&var1="+data1;
	url=url+"&var2="+data2;
    url=url+"&var3="+data3;
    url=url+"&var4="+data4;

	//alert (str);
	//url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged()
{
    // 1 > loading / 2 > loaded (the object model is not yet available) / 3 > interactive (the object model is read-only) / 4 > completed
    if (xmlHttp.readyState!=4)
    {
        document.getElementById(out).innerHTML="<div style='height: 50px; width: 50px; vertical-align: middle; text-align: center; margin: auto;'><img width='25px' src='"+loader.src+"'></img></div>";
    }
	else if (xmlHttp.readyState==4)
	{
		//document.getElementById(out).innerHTML=decodeURIComponent(xmlHttp.responseText);
        document.getElementById(out).innerHTML=xmlHttp.responseText;
	}
}

function stateChanged1()
{
    // 1 > loading / 2 > loaded (the object model is not yet available) / 3 > interactive (the object model is read-only) / 4 > completed
    if (xmlHttp1.readyState!=4)
    {
        //document.getElementById(out1).innerHTML="Cargando ...";
        document.getElementById(out1).innerHTML="<div style='height: 50px; width: 50px; vertical-align: middle; text-align: center; margin: auto;'><img width='25px' src='"+loader.src+"'></img></div>";
    }
	else if (xmlHttp1.readyState==4)
	{
		//document.getElementById(out).innerHTML=decodeURIComponent(xmlHttp.responseText);
            document.getElementById(out1).innerHTML=xmlHttp1.responseText;
	}
}

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
  	{
  		// Firefox, Opera 8.0+, Safari
  		xmlHttp=new XMLHttpRequest();
  	}
	catch (e)
  	{
  		// Internet Explorer
  		try
    	{
    		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    	}
  		catch (e)
    	{
    		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    	}
  	}
	return xmlHttp;
}
function GetXmlHttpObject1()
{
	var xmlHttp1=null;
	try
  	{
  		// Firefox, Opera 8.0+, Safari
  		xmlHttp1=new XMLHttpRequest();
  	}
	catch (e)
  	{
  		// Internet Explorer
  		try
    	{
    		xmlHttp1=new ActiveXObject("Msxml2.XMLHTTP");
    	}
  		catch (e)
    	{
    		xmlHttp1=new ActiveXObject("Microsoft.XMLHTTP");
    	}
  	}
	return xmlHttp1;
}
// evalua si la variabl es un array : used in ajax(); or kajax :)
function is_array(input)
{
    return typeof(input)=='object'&&(input instanceof Array);
}
