function inicializarPagina(){
    var enlaces = $$("a");
    for(var i=0;i<enlaces.length;i++)
        if(enlaces[i].href.indexOf("javascript")==-1 && enlaces[i].href.indexOf("descargar=")==-1 && !enlaces[i].onclick)
            enlaces[i].onclick = cargandoPagina;
}

function cargandoPagina(){
    $('middle').className='cargandoPagina';
}

//Previa producto
var ventanaProducto = null;
function previsualizarProducto(idP){
    ejecutarAjax(
                "/lib/ajax/previsualizar-producto.php",
                "idP="+idP,
                "POST",
                function(respuesta){
                    if(!ventanaProducto){
                        //ventana
                        ventana = document.createElement("div");
                        ventana.className = "ventana previsualizarProducto";
                        var contenedor = document.createElement("div");
                        contenedor.className = "contenedor";
                        //abrimos la ventana                       
                        //Top
                        var ventanaTop = document.createElement("div"); 
                        ventanaTop.className = "top";   
                        ventanaTop.appendChild(botonCierreVentana());
                        //titulo          
                        var tituloPopup = document.createElement("h2");  
                        tituloPopup.appendChild(document.createTextNode('Ver artículo del carro'));           
                        ventanaTop.appendChild(tituloPopup);  
                        
                        ventana.appendChild(ventanaTop);
                        ventana.appendChild(contenedor);
                        ventanaProducto = ventana;
                    }
                    ventanaProducto.childNodes[1].innerHTML = respuesta;
                    abrirVentana(ventanaProducto);
                }
    );
}

//Redondeo precios con dos decimales
function redondearPrecio(precio){
    return Math.round(precio*100)/100;
}

//insertar artículo en el carro de la compra
var ventanaPedido = null;  
function insertarArticuloCarro(idProducto, cantidad){
    var linea = $('numProductos');
    ejecutarAjax(
                "/lib/ajax/carroInsertarProducto.php",
                "id="+idProducto+"&c="+cantidad,
                "POST",
                function(respuesta){
                    var lista = eval(respuesta); 
                    //ventana
                    ventana = document.createElement("div");
                    ventana.className = "ventana insertarProducto";
                    var contenedor = document.createElement("div");
                    contenedor.className = "contenedor";
                    //abrimos la ventana                       
                    //Top
                    var ventanaTop = document.createElement("div"); 
                    ventanaTop.className = "top";   
                    ventanaTop.appendChild(botonCierreVentana());  
                    //titulo          
                    var tituloPopup = document.createElement("h2");  
                    tituloPopup.appendChild(document.createTextNode('Añadir a mi Carro'));
                    ventanaTop.appendChild(tituloPopup); 
                     
                    ventana.appendChild(ventanaTop); 
                    ventana.appendChild(contenedor);
                    ventanaPedido = ventana;
       
                    ventanaPedido.childNodes[1].innerHTML = lista[1];
                    abrirVentana(ventanaPedido);
                    linea.innerHTML = 'Hay '+lista[0]+' '+(lista[0]==1?'producto':'productos')+' en mi carro';
                }
    );
}       

//Quitar un producto del carro de compras
function eliminarArticuloCarro(idProducto,precio){                                         
    if (confirm('¿Seguro que desea quitar este producto?')){
        var linea = $('numProductos');
        if(idProducto){
            var producto = $('producto'+idProducto);
            var promo;
            var total = $('precioTotal'); 
            ejecutarAjax(
                        "/lib/ajax/carroEliminarProducto.php",
                        "id="+idProducto,
                        "POST",
                        function(respuesta){
                            //si quedan cero articulos, redirigimos al home para que no pueda pulsar boton "Pasar por caja"
                            if(respuesta=="0")
                                window.location = 'http://www.publipunto.com/';
                            else{
                                producto.style.display = "none";
                                //para eliminar las filas de las promociones asociadas
                                for(x=1;x<4;x++){
                                    promo = $('promo'+idProducto+'-'+x);
                                    if(promo!=null)
                                        promo.style.display = "none";
                                }
                                if(precio){
                                    var precioTotal = total.innerHTML;
                                    precioTotal = precioTotal - precio;   
                                    total.innerHTML = redondearPrecio(precioTotal);    
                                }
                            }
                            linea.innerHTML = respuesta==0?('Mi carro está vacío'):('Hay '+respuesta+' '+(respuesta==1?'producto':'productos')+' en mi carro');
                        }
            );
        }
    }
}

//Incrementa en una unidad el input de cantidad de productos
function incrementarContadorProducto(id){
    var caja = $(id);
    caja.value = parseInt(caja.value)+1;
}
//Decrementa en una unidad el input de cantidad de productos
function decrementarContadorProducto(id){
    var caja = $(id);
    if(caja.value>1)
        caja.value = parseInt(caja.value)-1;
}

function verificarCodigoPromocion(cod){
    var desc1 = $('descuentos1');
    var desc2 = $('descuentos2');
    var promos = $('promociones');
    var promos2 = $('promociones2');
    var totalDesc = $('totalDescuento');
    var precioTotal = $('precioTotal');
    var cajaPromo = $('divPromo');
    ejecutarAjax(
                "/lib/ajax/verificar-codigo-promocion.php",
                "c="+cod,
                "POST",
                function(respuesta){
                    lista = eval(respuesta);//alert(lista);
                    txt = '<div class="top"><h2>Código</h2></div><p>';
                    txt += '<span class="mensaje">'+lista[0]+'</span>';
                    if(lista.length>1){
                        txt +=      '<span class="resultado">'+lista[2]+'</span>';
                        switch(lista[1]){
                            case '1':
                                totalDesc.firstChild.innerHTML = lista[3];
                                precioTotal.firstChild.innerHTML = lista[4];
                                //deshabilitar input
                                cajaPromo.innerHTML = '<p>Gracias por usar el código de promoción</p>';
                                desc1.style.display = '';
                                desc2.style.display = '';
                            break;
                            case '2':
                                totalDesc.firstChild.innerHTML = lista[3];
                                precioTotal.firstChild.innerHTML = lista[4];
                                //deshabilitar input
                                cajaPromo.innerHTML = '<p>Gracias por usar el código de promoción</p>';
                                desc1.style.display = '';
                                desc2.style.display = '';
                            break;
                            case '3':
                                promos2.style.display = '';
                                promos2.firstChild.innerHTML = '<span class="pIcono picono2">+Regalo+</span>'+lista[2];
                                //deshabilitar input
                                cajaPromo.innerHTML = '<p>Gracias por usar el código de promoción</p>';
                            break;
                        }
                    }
                    txt += '</p>';
                    mostrarPopupHTML(txt,"ventana codigoPromocion");
                }
    );
}

//vuelve al home
function salirProcesoCompra(){
    ejecutarAjax(
                "/lib/ajax/salir-proceso-compra.php",
                "",
                "POST",
                function(respuesta){
                    if(respuesta==1)
                        window.location = 'http://www.publipunto.com/';
                }
    );
}

//Pone los gastos de envios seleccionado idGastosEnvio 
function cambiarGastoEnvio(idGastosEnvio,numArticulos){
    var gastos = $('gastosEnvio');
    var gastosTotal = $('gastosEnvioTotal');
    var frase = $('fraseGastosEnvioTotal');
    var precioTotal = $('precioTotal');
    var precioCarro = $('precioCarro');
    var mensajeIVA = $('conIVA');
    var tarjeta1 = $('campoTarjeta1');
    var tarjeta2 = $('campoTarjeta2');
    var tarjeta3 = $('campoTarjeta3');
    var tarjeta4 = $('campoTarjeta4');
    var producto;
    var precio;
    ejecutarAjax(
                "/lib/ajax/cambiarGastoEnvio.php",
                "id="+idGastosEnvio+"&t1="+tarjeta1.checked+"&t2="+tarjeta2.checked+"&t3="+tarjeta3.checked+"&t4="+tarjeta4.checked,
                "POST",
                function(respuesta){//alert(respuesta);
                    var lista = eval(respuesta);
                    
                    //actulizamos precios sin/con IVA
                    if(idGastosEnvio==3 || idGastosEnvio==4){
                        precioTotal.firstChild.innerHTML = lista[3];
                        precioCarro.innerHTML = lista[5];
                        var indice = 7;
                        mensajeIVA.innerHTML = "Exento de IVA";
                    }
                    else{
                        precioTotal.firstChild.innerHTML = lista[2];
                        precioCarro.innerHTML = lista[4];
                        var indice = 6;
                        mensajeIVA.innerHTML = "16% IVA incluido en productos";
                    }
                    for(x=0;x<numArticulos;x++){
                        precio = $('precio'+(x+1));
                        if(precio!=null)
                            precio.firstChild.innerHTML = lista[indice][x];
                    }
                    
                    if(lista[1]=='0' || lista[1]=='0.00')
                        frase.innerHTML = "Gratuitos por la compra del producto (excepto para envíos fuera de España y productos que así venga especificado en su ficha)";
                    else
                        frase.innerHTML = "";
                    gastos.innerHTML = lista[0]+'&euro;';
                    gastosTotal.firstChild.innerHTML = lista[1];
                }
    );    
}

//Pone caracteristicas de Forma de pago seleccionado idFormaPago 
function cambiarFormasPago(idFormaPago){
    var idGE = $('idGastosEnvio');
    var frase = $('fraseGastosEnvioTotal');
    var gastosTotal = $('gastosEnvioTotal');
    var precioTotal = $('precioTotal');
    var promos = $('promociones');
    var promos1 = $('promociones1');
    ejecutarAjax(
                "/lib/ajax/cambiarFormasPago.php",
                "idFP="+idFormaPago+"&idGE="+idGE.value,
                "POST",
                function(respuesta){
                    var lista = eval(respuesta);//alert(lista);
                    if(lista[0]=="forma"){
                        frase.innerHTML = "Gratuitos por la forma de pago (excepto para envíos fuera de España y productos que así venga especificado en su ficha)";
                        lista[0]='0.00';
                    }
                    else if(lista[0]=="producto"){
                        frase.innerHTML = "Gratuitos por la compra del producto (excepto para envíos fuera de España y productos que así venga especificado en su ficha)";
                        lista[0]='0.00';
                    }
                    else
                        frase.innerHTML = "";
                    gastosTotal.firstChild.innerHTML = lista[0];
                    precioTotal.firstChild.innerHTML = lista[1];
                    if(lista[2]!=0){
                        $icon = lista[4]=='1'?'<span class="pIcono picono2">Regalo</span>':'<span class="pIcono picono3">Regalo sorpresa</span>';
                        promos1.firstChild.innerHTML = $icon+'Producto '+(lista[3]!=''?lista[3]:'sorpresa')+' de regalo por la forma de pago';
                        promos1.style.display = '';
                    }
                    else
                        promos1.style.display = 'none';
                }
    );   
}

function volverPasoAnterior(pasoActual){
    ejecutarAjax(
                "/lib/ajax/volver-paso-anterior.php",
                "pA="+pasoActual,
                "POST",
                function(respuesta){
                    if(respuesta==1)
                        window.location = window.location;
                }
    );
}

function comprobarPaso1(){
    var combo = $('idGastosEnvio');
    var tarjeta1 = $('campoTarjeta1');
    var tarjeta2 = $('campoTarjeta2');
    var tarjeta3 = $('campoTarjeta3');
    var tarjeta4 = $('campoTarjeta4');
    var pT = $('precioTotal');
    
    ejecutarAjax(
                "/lib/ajax/comprobar-paso-1.php",
                "cV="+combo.value+"&t1="+tarjeta1.checked+"&t2="+tarjeta2.checked+"&t3="+tarjeta3.checked+"&t4="+tarjeta4.checked+"&pT="+pT.innerHTML,
                "POST",
                function(respuesta){
                    if(!ventanaProducto){
                        //ventana
                        ventana = document.createElement("div");
                        ventana.className = "ventana errorPasoPedido";
                        var contenedor = document.createElement("div");
                        contenedor.className = "contenedor";
                        //abrimos la ventana                       
                        //Top
                        var ventanaTop = document.createElement("div"); 
                        ventanaTop.className = "top";   
                        ventanaTop.appendChild(botonCierreVentana());
                        //titulo          
                        var tituloPopup = document.createElement("h2");  
                        tituloPopup.appendChild(document.createTextNode('Hay datos sin rellenar'));           
                        ventanaTop.appendChild(tituloPopup);  
                        
                        ventana.appendChild(ventanaTop);
                        ventana.appendChild(contenedor);
                        ventanaProducto = ventana;
                    }
                    if(respuesta==0)
                        window.location.reload();
                    else{
                        ventanaProducto.childNodes[1].innerHTML = respuesta;
                        abrirVentana(ventanaProducto);
                    }
                }
    );
}

function comprobarPaso2(logueado){
    var formCliente = $('formDatos');
    if(logueado==1)
        var campoEmail = $('campoEmail').select('.contenidoSoloLectura')[0].innerHTML;
    else
        var campoEmail = $('email').value;
        
    ejecutarAjax(
                "/lib/ajax/comprobar-paso-2.php",
                "cE="+campoEmail,
                "POST",
                function(respuesta){
                    var lista = eval(respuesta);
                    if(lista[0]==1)
                        formCliente.submit();
                    else
                        mostrarPopupHTML(lista[1],"ventana emailRepetido");
                }
    );
}

function verTarifas(){
    ejecutarAjax(
                "/lib/ajax/ver-tarifas.php",
                "",
                "POST",
                function(respuesta){
                    //alert(respuesta);
                    txt = '<div class="top"><h2>Tarifas</h2></div>';
                    txt += respuesta;
                    mostrarPopupHTML(txt,"ventana verTarifas");
                }
    );
}

/**
@desc   Muestra/oculta un elemento
@param  string   Id del tag HTML a ocultar/mostrar
@param  bool     Determina si hay que hacerlo visible o no, si no viene especificado se cambiará segun su display actual (si es display:block lo pasa a display:none y viceversa)
*/
function mostrarOcultarOpciones(idTagHTML,visible){
    var elemento = document.getElementById(idTagHTML);
    if(elemento){
        if(visible==undefined){
            if(elemento.style.display=="none")
                elemento.style.display = "block";
            else
                elemento.style.display = "none";
        }else{
            if(visible)
                elemento.style.display = "block";
            else
                elemento.style.display = "none";
        }
    }
}

/**                                   
@desc   Muestra/oculta secciones de la ficha extendida de un producto [Máximo 5 secciones]
@param  string   Id del tag HTML a ocultar/mostrar
@param  bool     Determina si hay que hacerlo visible o no, si no viene especificado se cambiará segun su display actual (si es display:block lo pasa a display:none y viceversa) 
*/
function mostrarOcultarSecciones(idTagHTML, idTagTexto){
    
    a=new Array(5);
    texto=new Array(5); 
    for(i=1;i<=5;i++){
        a[i]=document.getElementById('info'+i);
        if(a[i]){ 
            a[i].className = "";
            texto[i]=document.getElementById('texto'+i);
            texto[i].style.display= "none"; 
        }
    }                           
    var elemento = document.getElementById(idTagHTML);
    elemento.className = "selected";
    var textoElemento=document.getElementById(idTagTexto); 
    textoElemento.style.display= "block";
  
}

/*GALERIA DE IMAGENES EN LA FICHA*/
var galeriaIndiceActual = 0;

function recargarGaleria(idP,d,num){
    var galeria = $('listaImg');
    galeria.innerHTML = "<div class='cargandoGaleria'/></div>";
    //actualizamos el indice de galeria si pincha flecha IZQUIERDA
    if(d==1)
        galeriaIndiceActual = Math.max(parseInt(galeriaIndiceActual-1),0);
    //idem si pincha flecha DERECHA
    else
        galeriaIndiceActual = Math.min(galeriaIndiceActual+1,Math.ceil(num/4)-1);
    
    ejecutarAjax(
                "/lib/ajax/recargar-galeria.php",
                "idP="+idP+"&d="+d+"&iG="+galeriaIndiceActual,
                "POST",
                function(respuesta){
                    galeria.innerHTML = respuesta;
                }
    );
}

function verImagen(urlImagen,titulo){
    var img = new Image();
    img.onload = function(){
        var ancho=img.width;
        var alto=img.height+60;   
        if(ancho<300) ancho=300; 
        //ventana
        var ventana = document.createElement("div");
        ventana.className = "previsualizacion";
        var contenedor = document.createElement("div");
        contenedor.className = "previsualizacionContenedor";
        ventana.style.height = alto+"px";
        ventana.style.width = ancho+"px";
        //centramos la ventana
        ventana.style.marginTop = "-"+Math.round(alto/2)+"px";
        ventana.style.marginLeft = "-"+Math.round(ancho/2)+"px";
        //imagen
        var imagen = document.createElement("img");
        imagen.src = urlImagen;                        
        //abrimos la ventana
        contenedor.appendChild(imagen);          
        //Texto imagen                      
        if(titulo){          
            var texto = document.createElement("div"); 
            texto.className = "descripcion";      
            texto.appendChild(document.createTextNode(titulo));
            contenedor.appendChild(texto); 
        }
         
        ventana.appendChild(botonCierreVentana());
        ventana.appendChild(contenedor);
        abrirVentana(ventana);
    }
    img.onerror = function(){
        
    }
    img.src = urlImagen;      
}
 
/*FIN GALERIA DE IMAGENES EN LA FICHA*/

                               
//POPUP recordatorio contrasena
var ventanaRecordatorio = null;  
function recordarContrasena(){
    ejecutarAjax(
                "/lib/ajax/recordar-contrasena.php",
                "v=1",
                "POST",
                function(respuesta){
                    if(!ventanaRecordatorio){
                        //ventana
                        ventana = document.createElement("div");
                        ventana.className = "ventana recordarContrasena";
                        var contenedor = document.createElement("div");
                        contenedor.className = "contenedor";
                        //abrimos la ventana
                        ventana.appendChild(botonCierreVentana());
                        ventana.appendChild(contenedor);
                        ventanaRecordatorio = ventana;
                    }
                    ventanaRecordatorio.childNodes[1].innerHTML = respuesta;
                    abrirVentana(ventanaRecordatorio);
                }
    );
}
function realizarEnvioContrasena(){
    var usuario = document.getElementById("usuario").value;                

    ejecutarAjax(
                "/lib/ajax/recordar-contrasena.php",
                "usuario="+usuario,
                "POST",
                function(respuesta){
                    ventanaRecordatorio.childNodes[1].innerHTML = respuesta;  
                }
    );
}

function imprimirPedido(){
    window.print();
}