var antesInner = "";
var contaArticulos = 0;
var DireccionCarrito = 0;
var NumeroImagenesCarrito = 0;

function CarritoAJAX(url, id_contenedor)
{    
    var PaginaRequerida = null;

    if(id_contenedor == "id_spanenviar" || id_contenedor == "id_anadircarrito" || id_contenedor == "id_recogertienda" || id_contenedor.indexOf("id_borraarticulo") != -1) {
        antesInner = document.getElementById(id_contenedor).innerHTML;
        document.getElementById(id_contenedor).innerHTML = "<img src='resources/imagenes/ajax.gif'>";
    }
    
    if(window.XMLHttpRequest)
    {
        PaginaRequerida = new XMLHttpRequest();        
    }
    else if (window.ActiveXObject)
    {
        try
        {
            PaginaRequerida = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
            try
            {
                PaginaRequerida = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(e)
            {
                PonVisible(id_contenedor, true);
                document.getElementById(id_contenedor).innerHTML = "AJAX no soportado 1";
                return false;
            }
        }
    }
    else
    {
        PonVisible(id_contenedor, true);
        document.getElementById(id_contenedor).innerHTML = "AJAX no soportado 2";
        return false;
    }    
    PaginaRequerida.onreadystatechange = function()
    {
        CargaPaginaCarrito(PaginaRequerida, id_contenedor);
    }
    PaginaRequerida.open('GET', url, true);
    PaginaRequerida.send(null);    
}

function CargaPaginaCarrito(PaginaRequerida, id_contenedor)
{
    if(PaginaRequerida.readyState == 1)
    {
        
    }    
    if(PaginaRequerida.readyState == 4)
    {
        if(PaginaRequerida.status == 200)
        {   
            if(id_contenedor == "id_tablamensajeDentro3") {
                document.getElementById(id_contenedor).innerHTML = PaginaRequerida.responseText;
            }
            if(id_contenedor == "aver_totalfinal") {
                if(PaginaRequerida.responseText == "0.00") {
                    PonMensaje("Imposible realizar el pago, el carrito de la compra no contiene ningún artículo. Añada artículos al carrito de la compra.")
                } else {
                    document.formpaypal.submit();
                }
            }
            if(id_contenedor == "id_spanenviar") {                
                document.getElementById(id_contenedor).innerHTML = antesInner;                
                if(PaginaRequerida.responseText == "1") {                    
                    CierraPedir();
                    PonMensaje("Solicitud de información enviada correctamente. Te contestaremos en la mayor prontitud posible.");
                } else {
                    PonMensaje("Ha ocurrido un error en el servidor al enviar la solicitud de información. Inténtalo de nuevo más tarde.");                    
                    document.getElementById("id_enviar").disabled = false;        
                    document.getElementById("id_cancelar").disabled = false;                            
                }
            }
            if(id_contenedor == "id_anadircarrito") {                
                document.getElementById(id_contenedor).innerHTML = antesInner;                
                if(PaginaRequerida.responseText.substring(0, 1) == "0") {
                    OcultaMenu("lineart");
                    var dondePipe = PaginaRequerida.responseText.indexOf("|");
                    document.getElementById("id_total").innerHTML = PaginaRequerida.responseText.substring(1, dondePipe);
                    var dondePipe2 = PaginaRequerida.responseText.indexOf("|", dondePipe + 1);
                    document.getElementById("id_portes").innerHTML = PaginaRequerida.responseText.substring(dondePipe + 1, dondePipe2);
                    dondePipe = PaginaRequerida.responseText.indexOf("|", dondePipe2 + 1);
                    document.getElementById("id_totalgeneral").innerHTML = PaginaRequerida.responseText.substring(dondePipe2 + 1, dondePipe);
                    document.getElementById("id_listacompras").innerHTML += PaginaRequerida.responseText.substring(dondePipe + 1, PaginaRequerida.responseText.length);
                    document.getElementById("id_textoayuda").innerHTML = "Puedes borrar artículos del carrito de la compra haciendo click en el botón rojo <img src='resources/carrito/borrar.gif'><br>Si recoges el paquete en la tienda no tendrás que pagar gastos de envío (portes).";
                    var numeroarticulos = parseInt(document.getElementById("id_numeroarticulos").innerHTML);
                    document.getElementById("id_numeroarticulos").innerHTML = numeroarticulos + 1;
                    document.getElementById("id_articulosescondidos").innerHTML = numeroarticulos + 1;
                    contaArticulos = 0;
                    flashNumero();
                } else {
                    if(PaginaRequerida.responseText.substring(0, 1) == "1") {
                        PonMensaje("El artículo seleccionado no se ha encontrado en la tienda.");                        
                    } else {
                        if(PaginaRequerida.responseText.substring(0, 1) == "2") {
                            PonMensaje("Error interno del servidor.");
                        } else {
                            if(PaginaRequerida.responseText.substring(0, 1) == "3") {
                                PonMensaje("No hay stock disponible para este artículo.");
                            }
                        }
                    }
                }
            }   
            if(id_contenedor == "id_recogertienda") {
                document.getElementById(id_contenedor).innerHTML = antesInner;                  
                if(PaginaRequerida.responseText.substring(0, 1) == "t")
                    document.getElementById("id_recogerlocal").checked = true;
                else
                    document.getElementById("id_recogerlocal").checked = false;                
                var dondePipe = PaginaRequerida.responseText.indexOf("|");
                document.getElementById("id_total").innerHTML = PaginaRequerida.responseText.substring(1, dondePipe);
                var dondePipe2 = PaginaRequerida.responseText.indexOf("|", dondePipe + 1);
                document.getElementById("id_portes").innerHTML = PaginaRequerida.responseText.substring(dondePipe + 1, dondePipe2);
                document.getElementById("id_totalgeneral").innerHTML = PaginaRequerida.responseText.substring(dondePipe2 + 1, PaginaRequerida.responseText.length);
            }
            if(id_contenedor.indexOf("id_borraarticulo") != -1) {
                document.getElementById(id_contenedor).innerHTML = antesInner;
                if(PaginaRequerida.responseText.substring(0, 1) == "1")
                    PonMensaje(PaginaRequerida.responseText.substring(1, PaginaRequerida.responseText.length));
                else {
                    var dondePipe = PaginaRequerida.responseText.indexOf("|");
                    document.getElementById("id_total").innerHTML = PaginaRequerida.responseText.substring(1, dondePipe);
                    var dondePipe2 = PaginaRequerida.responseText.indexOf("|", dondePipe + 1);
                    document.getElementById("id_portes").innerHTML = PaginaRequerida.responseText.substring(dondePipe + 1, dondePipe2);
                    dondePipe = PaginaRequerida.responseText.indexOf("|", dondePipe2 + 1);
                    document.getElementById("id_totalgeneral").innerHTML = PaginaRequerida.responseText.substring(dondePipe2 + 1, dondePipe);
                    setTimeout("MoverListaArriba('" + PaginaRequerida.responseText + "', " + dondePipe + ")", 15);                    
                }
            }
        }
        if(PaginaRequerida.status == 404)
        {
            alert("Página no encontrada!!");
        }
    }
}

function PonNuevoObjeto2(Nombre)
{
    var NuevoEnlace = document.createElement("input");
    NuevoEnlace.setAttribute("type", "button");
    NuevoEnlace.setAttribute("value", "va, quita ese bolso ridiela");
    NuevoEnlace.setAttribute("onclick" , "javascript:PonVisible('foto' + '1', false)");
    
    //lo de antes pero para el internet explorer:
    NuevoEnlace.onclick = function() {javascript:PonVisible('foto' + '1', false);}
    
    var NodoTexto = document.createTextNode(Nombre);
    NuevoEnlace.title = NodoTexto;
    //NuevoEnlace.appendChild(NodoTexto);
    var Cuerpo = document.getElementById("miLista");    
    Cuerpo.appendChild(NuevoEnlace);
}

function BorraArticulo(queArticulo) 
{
    var donde = queArticulo.substring(7, queArticulo.length);
    var iddonde = "id_borraarticulo";
    CarritoAJAX("borraarticulo?id=" + queArticulo + "&codigobarras=" + document.getElementById(iddonde.concat(donde)).title, iddonde.concat(donde));    
}

function AnadirCarrito() {
    var Fin = false;
    var Cuenta = 1;
    var Variable = "lineart";
    var numero = "00";
    while(Fin == false) {
        var Objeto = document.getElementById(Variable.concat(Cuenta));
        if(Objeto == null) {
            Fin = true;
        } else {
            Cuenta++;     
        }
    }
    var PosY = (Cuenta == 1 ? "-80px" : document.getElementById(Variable.concat(Cuenta - 1)).style.top);    
    if(document.formulario.numero != null) {
        var indice = document.formulario.numero.selectedIndex;
        numero = document.formulario.numero.options[indice].text;
    }
    var codigoBarras = document.getElementById("id_codigobarras").value;
    NumeroImagenesCarrito = 0;
    CarritoAJAX("anadearticulo?numero=" + numero +"&codigobarras=" + codigoBarras + "&cuenta=" + Cuenta + "&posy=" + PosY, "id_anadircarrito");
}

function flashNumero() {    
    contaArticulos++;
    var Objeto = document.getElementById("id_numeroarticulos").style;
    if(navigator.appName.indexOf("Microsoft") != -1) {               
        if(Objeto.color == "#ffff00") {            
            Objeto.color = "#660000";
        } else {
            Objeto.color = "#ffff00";
        }
        if(contaArticulos < 4) {
           setTimeout("flashNumero()", 500);
        } else {
            if(Objeto.color == "#660000") {
                setTimeout("flashNumero()", 500);
            }
        }
    } else {
        if(Objeto.visibility == "visible") {            
            Objeto.visibility = "hidden";
        } else {
            Objeto.visibility = "visible";
        }
        if(contaArticulos < 4) {
           setTimeout("flashNumero()", 500);
        } else {
            if(Objeto.visibility == "hidden") {
                setTimeout("flashNumero()", 500);
            }
        }
    }
}

function MueveCarrito()
{
    if(DireccionCarrito != 0) {          
        var Variable = "lineart";
        if(NumeroImagenesCarrito == 0) {
            var Fin = false;
            var Cuenta = 1;
            while(Fin == false) {
                var Objeto = document.getElementById(Variable.concat(Cuenta));
                if(Objeto == null) {
                    Fin = true;
                } else {
                    NumeroImagenesCarrito++;
                }
                Cuenta++;
                //alert(Variable.concat(Cuenta));
            }
        }
        var Fin = false;
        var Cuenta = 1;
        if(DireccionCarrito == 1) {
            Cuenta = NumeroImagenesCarrito;
            PosImagenAhora += 5;
        } 
        if(DireccionCarrito == -1) {
            PosImagenAhora -= 5;
        }        
        while(Fin == false) {
            var Sigue = true;                        
            var Numero = 0;
            if(DireccionCarrito == 1) {
                Numero = Cuenta--;            
            } else {
                Numero = Cuenta++;
            }                        
            var Objeto = document.getElementById(Variable.concat(Numero));
            if(Objeto != null) {    
                var IzquierdaS = Objeto.style;
                var Izquierda = 0;
                Izquierda = IzquierdaS.top.substring(0, IzquierdaS.top.length - 2);
                if(((parseInt(Izquierda) + PosImagenAhora > 285)) && DireccionCarrito == 1) {
                    Sigue = false;
                }                    
                if(Sigue) {                
                    if(((parseInt(Izquierda) + PosImagenAhora < -85) && DireccionCarrito == -1)) {
                        Sigue = false;                                            
                    }
                }
                if((parseInt(Izquierda) + PosImagenAhora > 200) && DireccionCarrito == -1) {
                    Fin = true;                    
                }
                if((parseInt(Izquierda) + PosImagenAhora < 0) && DireccionCarrito == 1) {
                    Fin = true;                    
                }
                if(Sigue)
                {
                    VariableNum = parseInt(Izquierda) + PosImagenAhora;
                    var Variable2 = String(VariableNum);
                    Objeto.style.top = Variable2.concat("px");
                }
            } else {
                Fin = true;
            }
        }
        if(NumeroImagenesCarrito > 0) {
            var Objeto = null;
            if(DireccionCarrito == -1)
                Objeto = document.getElementById(Variable.concat(NumeroImagenesCarrito)).style.top;
            else
                Objeto = document.getElementById(Variable.concat(1)).style.top;
            var posicion = parseInt(Objeto.substring(0, Objeto.indexOf("p")));                
            if((posicion <= -80 && DireccionCarrito == -1) || (posicion >= 210 && DireccionCarrito == 1)) {
                document.getElementById("id_tablaartescondidos").style.visibility = "visible";
            } else {
                document.getElementById("id_tablaartescondidos").style.visibility = "hidden";
            }
        }
        
        PosImagenAhora = 0;     
        setTimeout("MueveCarrito()", 15);
    } 
}

function CarritoAbajo()
{
    DireccionCarrito = 1;
    setTimeout("MueveCarrito()", 15);
}

function CarritoArriba()
{
    DireccionCarrito = -1;
    setTimeout("MueveCarrito()", 15);
}

function CarritoNada()
{
    DireccionCarrito = 0;
}

function ActivaFinalizarCompra(tipo) {
    var Objeto = document.getElementById("id_finalizarcompra").style;
    if(tipo == "true") {
        if(document.getElementById("lineart1") == null) {
            Objeto.color = "#cccccc";
        } else {
            Objeto.textDecoration = "underline";
            Objeto.color = "#009900";
        }
    } else {
        Objeto.color = "#000099";
        Objeto.textDecoration = "";
    }
}

function FinalizarCompra() {
    if(document.getElementById("lineart1") != null) {
        document.location = "finalizarcompra.jsp";
    }
}

function RecogerTienda() {
    CarritoAJAX("recogertienda?chequeado=" + document.getElementById("id_recogerlocal").checked, "id_recogertienda");
}

function MoverListaArriba(PaginaRequerida, dondePipe) {
    //mover hacia arriba la lista de artículos
    var queArticulo = PaginaRequerida.substring(dondePipe + 1, PaginaRequerida.length)
    var cuenta = parseInt(queArticulo.substring(7, queArticulo.length));
    var cuenta2 = cuenta;
    var fin = false;
    var Variable = "lineart";
    var Variable2 = "id_borraarticulo";
    while(!fin) {
        var Objeto = document.getElementById(Variable.concat(cuenta2));
        if(Objeto == null)
            fin = true;
        else {
            cuenta2++;
        }
    }                      
    cuenta2--;
    if(cuenta2 == 1) {
        document.getElementById("id_textoayuda").innerHTML = "Puedes introducir artículos en el carrito de la compra desde el menú superior (calzado, bolsos, complementos).<br>Si recoges el paquete en la tienda no tendrás que pagar gastos de envío (portes).";
    }
    while(cuenta != cuenta2) {
        var objetoPadre = document.getElementById(Variable2.concat(cuenta2));
        var Objeto = document.getElementById(Variable.concat(cuenta2));
        objetoPadre.setAttribute("id", Variable2.concat(cuenta2 - 1));
        Objeto.setAttribute("id", Variable.concat(cuenta2 - 1));
        objetoPadre.innerHTML = "<img src='resources/carrito/borrar.gif' alt='Borrar este artículo del carrito' title='Borrar este artículo del carrito' onclick=\"BorraArticulo('lineart" + (cuenta2 - 1) + "');\">";
        Objeto.style.top = document.getElementById(Variable.concat(cuenta2 - 1)).style.top;
        cuenta2--;                       
    }
    
    NumeroImagenesCarrito = 0;

    //borrar hijo
    var hijo = document.getElementById(PaginaRequerida.substring(dondePipe + 1, PaginaRequerida.length));
    var padre = hijo.parentNode;
    padre.removeChild(hijo);                    

    //displayar numero parpadeante
    var numeroarticulos = parseInt(document.getElementById("id_numeroarticulos").innerHTML);
    document.getElementById("id_numeroarticulos").innerHTML = numeroarticulos - 1;
    document.getElementById("id_articulosescondidos").innerHTML = numeroarticulos - 1;
    contaArticulos = 0;
    flashNumero();                    
}

function PonMensaje(queMsg) {
    if(document.getElementById("id_selectnumero") != null) {
        document.getElementById("id_selectnumero").style.visibility = "hidden";
    }
    if(document.getElementById("id_selectprovincia") != null) {
        document.getElementById("id_selectprovincia").style.visibility = "hidden";
    }
    document.getElementById("id_mensaje").style.width = String(parseInt(window.document.body.clientWidth) + 15) + "px";
    document.getElementById("id_mensaje").style.height = window.document.body.clientHeight + "px";
    //document.getElementById("id_mensaje").style.width = (parseInt(window.document.body.clientWidth) + 10) + "px";
    document.getElementById("id_mensaje").style.visibility = "visible";
    document.getElementById("id_tablamensajeDentro").innerHTML = "<br>" + queMsg + "<br>";
    document.getElementById("id_tablamensaje").style.left = ((parseInt(window.document.body.clientWidth) / 2) - 175) + "px";
    document.getElementById("id_tablamensaje").style.visibility = "visible";
    setTimeout("PonFocoBoton()", 50);
}

function PonFocoBoton() {
    document.getElementById("id_aceptaremail").focus();
}

function PonLey() {
    if(document.getElementById("id_selectprovincia") != null) {
        document.getElementById("id_selectprovincia").style.visibility = "hidden";
    }
    document.getElementById("id_mensaje").style.width = String(parseInt(window.document.body.clientWidth) + 15) + "px";
    document.getElementById("id_mensaje").style.height = window.document.body.clientHeight + "px";
    document.getElementById("id_mensaje").style.visibility = "visible";
    //document.getElementById("id_tablamensaje3").style.left = ((parseInt(window.document.body.clientWidth) / 2) - 275) + "px";
    document.getElementById("id_tablamensaje3").style.width = window.document.body.clientWidth + "px";
    document.getElementById("id_tablamensaje3").style.visibility = "visible";
    window.scrollTo(1, 1);
    //CarritoAJAX("leyproteccion.jsp", "id_tablamensajeDentro3");
}

function PideInformacion(articulo, imagen, subfamilia) {
    if(document.getElementById("id_selectnumero") != null) {
        document.getElementById("id_selectnumero").style.visibility = "hidden";
    }
    document.getElementById("id_mensajepedir").style.height = window.document.body.clientHeight + "px";
    document.getElementById("id_mensajepedir").style.width = String(parseInt(window.document.body.clientWidth) + 15) + "px";
    document.getElementById("id_mensajepedir").style.visibility = "visible";
    document.getElementById("id_tablapedirDentro").innerHTML = "<br>Información del artículo " + articulo + " (" + subfamilia + ")<div align='center'><img class='articulogrande' src='" + imagen + "' alt='Artículo de " + subfamilia + "' title='Artículo de " + subfamilia + "'></div>";
    document.getElementById("id_tablapedir").style.zIndex = "9";
    document.getElementById("id_tablapedir").style.visibility = "visible";
    document.getElementById("id_tablapedir").style.left = ((parseInt(window.document.body.clientWidth) / 2) - 175) + "px";
    document.getElementById("id_tablapedir").style.top = "200px";
    document.getElementById("id_texto").value = "";
    document.getElementById("id_enviar").disabled = false;
    document.getElementById("id_cancelar").disabled = false;
    document.getElementById("id_email").value = GetCookie("emailcomprador", document.cookie);
    document.getElementById("id_email").focus();
}

function CierraMensaje() {
    document.getElementById("id_mensaje").style.visibility = "hidden";
    document.getElementById("id_tablamensaje").style.visibility = "hidden";
    if(document.getElementById("id_tablapedir") == null || (document.getElementById("id_tablapedir") != null && document.getElementById("id_tablapedir").style.visibility == "hidden")) {
        if(document.getElementById("id_selectnumero") != null) {
            document.getElementById("id_selectnumero").style.visibility = "visible";
        }
        if(document.getElementById("id_selectprovincia") != null) {
            document.getElementById("id_selectprovincia").style.visibility = "visible";
        }
    } else {
        if(document.getElementById("id_tablapedir").style.visibility == "visible") {
            document.getElementById("id_email").focus();
        }
    }
}

function CierraLey() {
    document.getElementById("id_mensaje").style.visibility = "hidden";
    document.getElementById("id_tablamensaje3").style.visibility = "hidden";
    if(document.getElementById("id_selectprovincia") != null) {
        document.getElementById("id_selectprovincia").style.visibility = "visible";
    }
}

function CierraPedir() {
    document.getElementById("id_mensajepedir").style.visibility = "hidden";
    document.getElementById("id_tablapedir").style.visibility = "hidden";    
    if(document.getElementById("id_selectnumero") != null) {
        document.getElementById("id_selectnumero").style.visibility = "visible";
    }
}

function EnviaPedir() {    
    var email = document.getElementById("id_email");
    var Texto = document.getElementById("id_texto");    
    var Sigue = true;
    var a = 0;
    var CuentaArroba = 0;
    var PosArroba = -1;
    var CuentaPunto = 0;
    var PosPunto = -1;
    var CuentaDominio = 0;
    
    document.getElementById("id_enviar").disabled = true;
    document.getElementById("id_cancelar").disabled = true;
    
    if(email == null || email.value == "") {
        PonMensaje("Por favor, introduce una dirección de email.");
        Sigue = false;
    }
    if(Sigue) {
        //comprobar que la direccion esté bien introducida
        if(email.value.charAt(0) == '@') {
            Sigue = false;
        }
        for(a = 0; a < email.value.length; a++) {
            if(email.value.charAt(a) == '@') {
                CuentaArroba++;
                PosArroba = a;
            }
        }
        if(CuentaArroba != 1) {
            Sigue = false;
        }
        
        //mirar si el nombre de usuario está bien
        if(Sigue) {
            Sigue = false;
            for(a = 0; a < PosArroba; a++) {
                if(email.value.charAt(a) >= 'a' && email.value.charAt(a) <= 'z') {
                    Sigue = true;
                }
            }
        }

        if(PosArroba != -1) {
            for(a = PosArroba; a < email.value.length; a++) {
                if(email.value.charAt(a) == '.') {
                    CuentaPunto++;
                    PosPunto = a;
                }
            }
        }
        if(CuentaPunto != 1) {
            Sigue = false;            
        }

        if(PosPunto != -1) {
            for(a = PosPunto + 1; a < email.value.length; a++) {
                CuentaDominio++;
            }
        }
        if(CuentaDominio < 2) {
            Sigue = false;
        }
        
        if(!Sigue) {
            PonMensaje("El email no es válido. Introduce una dirección de email válida.")
        }
    }
    
    //si no introdujo o introdujo mal el email poner el cursor en ese campo
    if(!Sigue) {
        email.focus();
    }
    
    //enviar finalmente el formulario al servidor
    if(Sigue) {
        CarritoAJAX("preguntaarticulo?articulo=" + document.getElementById("id_articuloactual").value + "&asterisco=" + document.getElementById("id_asteriscoactual").value + "&texto=" + Texto.value + "&email=" + email.value, "id_spanenviar");
    } else {        
        document.getElementById("id_enviar").disabled = false;        
        document.getElementById("id_cancelar").disabled = false;        
    }
}

function GetCookie (name, InCookie) {
    var prop = name + "="; 
    var plen = prop.length;
    var clen = InCookie.length;
    var i=0;
    if (clen>0) { 
        i = InCookie.indexOf(prop,0); 
        if (i!=-1) { 
            // Buscamos el valor correspondiente
            j = InCookie.indexOf(";",i+plen);
            if(j!=-1) 
                return unescape(InCookie.substring(i+plen,j));
            else 
                return unescape(InCookie.substring(i+plen,clen));
        }
        else {
            return "";
        }
    }
    else {
        return "";
    }
}

function MiraCarrito() {
    if(document.getElementById("llevaprecio") != null && document.getElementById("llevaprecio").value == "0") {
        PonMensaje("ATENCION: Los artículos de su carrito de la compra que tienen la descripción tachada no están actualmente en venta. Disculpe la inconveniencia.<br><br>Puede borrarlos del carrito de la compra si no desea ver más veces este mensaje.")
    }
}

function RedireccionaPayPal() {
    CarritoAJAX("novacache?paso=4", "aver_totalfinal");
}
