/**
 * @autor Carlos Canela
 * caja creado el:05-jul-2010
 * www.designomexico.com
 */
function getXmlHttpRequestObject() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest(); //Not IE
    } else if(window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP"); //IE
    } else {
        //Display your error message here.
        alert("Su navegador no soporta el objeto XmlHttpRequest. Le sugerimos actualizar su navegador.");
    }
}
var req1 = getXmlHttpRequestObject();
var requests = [req1];
function getRequestVar(){
    var reqDisponible=-1;
    for(var i=0;i<requests.length;i++){
        if(requests[i].readyState==0 ||requests[i].readyState==4){
            //este request esta disponible
            if(reqDisponible==-1){
                reqDisponible=i;
            }
        }
    }
    if(reqDisponible>=0){
        return requests[reqDisponible];
    }else{
        var newReq = getXmlHttpRequestObject();
        var newLength = requests.push(newReq);
        return requests[(newLength-1)];
    }
}

function actualizaCarrito(campo,clave) {	//If our XmlHttpRequest object is not in the middle of a request, start the new asyncronous call.
    var thisRequest = getRequestVar();
    if (thisRequest.readyState == 4 || thisRequest.readyState == 0) {
        //True explicity sets the request to asyncronous (default).
        var noCacheTime = new Date();
        noCacheTime = noCacheTime.getTime();
        var cantidad=((campo!=0)?campo.value:0);
        thisRequest.open("GET", "ajax/actualizaCarrito.php?nct="+noCacheTime+"&cantidad="+cantidad+"&clave="+clave, true);
        //Set the function that will be called when the XmlHttpRequest objects state changes.
        thisRequest.onreadystatechange = function (){
            handleTotalCarrito(thisRequest,cantidad,clave,campo);
        }
        //Make the actual request.
        thisRequest.send(null);
    }
}
function handleTotalCarrito(thisRequest,cantidad,clave,campo) {
    //Check to see if the XmlHttpRequests state is finished.
    if(thisRequest.readyState!=4){
        document.getElementById("areaTotal").innerHTML="<img src='../images/loading16.gif' border=0/>";
    }
    if(thisRequest.readyState==4)
    {
        if(thisRequest.status==200)
        {
            //Set the contents of our span element to the result of the asyncronous call.
            var respuesta=thisRequest.responseText;
            if(respuesta!="ERR"){
                var respuestaArr=respuesta.split(":");
                if(respuestaArr.length==1){
                    document.getElementById("areaSubTotal").innerHTML = respuestaArr[0];
                    document.getElementById("areaIva").innerHTML = (respuestaArr[0]*1)*0.16;
                    document.getElementById("areaTotal").innerHTML = (respuestaArr[0]*1)*1.16;
                    document.getElementById('aviso_art'+clave).innerHTML = "";
                }else{
                    campo.value = respuestaArr[1];
                    document.getElementById('aviso_art'+clave).innerHTML = respuestaArr[2];
                    document.getElementById("areaSubTotal").innerHTML = respuestaArr[0];
                    document.getElementById("areaIva").innerHTML = (respuestaArr[0]*1)*0.16;
                    document.getElementById("areaTotal").innerHTML = (respuestaArr[0]*1)*1.16;
                }
                //document.getElementById("areaTotal").innerHTML = respuesta;
                if(cantidad==0){
                    $('#divArt_'+clave).fadeOut();
                    setTimeout("limpiaDivsArticulos()",1000);
                }
            }else{
                alert("Ocurrió un error al actualizar tu carrito de compras\nIntenta actualizando esta página");
            }
        }
        else
        {
            alert("Error al cargar la página "+ thisRequest.status + ":"+thisRequest.statusText);
        }
        thisRequest.onreadystatechange = function (){};
    }
}

function limpiaDivsArticulos(){
    var divsListado = document.getElementById('articulos-cart').getElementsByTagName("div");
    var contDesaparecidos=0;
    var contRenglonesArt=0;
    for(var i=0;i<divsListado.length;i++){
        if(divsListado[i].className=="articulo"){
            contRenglonesArt++;
            if(divsListado[i].style.visibility=="hidden"||divsListado[i].style.opacity=="0"){
                //es un div que se desapareció, lo limpio
                divsListado[i].style.display='none';
                contDesaparecidos++;
            }
        }
    }
    if(contDesaparecidos>=contRenglonesArt){
        //location.href='index.php';
        //carrito vacio
    }
}
