  


function botonCierreVentana(){
    //boton de cierre
    var botonCerrar = document.createElement("a");
    botonCerrar.href = "javascript:cerrarVentana()";
    botonCerrar.className = "boton botonCerrar";
    botonCerrar.title = "Cerrar ventana";
    botonCerrar.appendChild(document.createTextNode("Cerrar ventana"));
    return botonCerrar;
}

function previsualizarImagen(urlImagen){
    var img = new Image();
    img.onload = function(){
        var ancho=img.width;
        var alto=img.height;
        //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);
        ventana.appendChild(botonCierreVentana());
        ventana.appendChild(contenedor);
        abrirVentana(ventana);
    }
    img.onerror = function(){
        
    }
    img.src = urlImagen;
}

var ventanaTrabajo = null;
function previsualizarTrabajo(idOrig,idRetr,tecnica){
    ejecutarAjax(
                "/lib/ajax/mostrar-trabajo.php",
                "idOrig="+idOrig+"&idRetr="+idRetr+"&tecnica="+tecnica,
                "GET",
                function(respuesta){
                    if(!ventanaTrabajo){
                        //ventana
                        ventana = document.createElement("div");
                        ventana.className = "ventana trabajo";
                        var contenedor = document.createElement("div");
                        contenedor.className = "contenedor";
                        //abrimos la ventana
                        ventana.appendChild(botonCierreVentana());
                        ventana.appendChild(contenedor);
                        ventanaTrabajo = ventana;
                    }
                    ventanaTrabajo.childNodes[1].innerHTML = respuesta;
                    abrirVentana(ventanaTrabajo);
                }
    );
}

var ventanaPrivacidad = null;
function politicaPrivacidad(idioma){
    ejecutarAjax(
                "/lib/idioma/textos/textoLegal-"+idioma+".php",
                "",
                "POST",
                function(respuesta){
                    if(!ventanaPrivacidad){
                        //ventana
                        ventana = document.createElement("div");
                        ventana.className = "ventana privacidad";
                        var contenedor = document.createElement("div");
                        contenedor.className = "contenedor";
                        var botonCerrar=document.createElement("div");
                        botonCerrar.className = "btnCerrar";
                        //abrimos la ventana
                        botonCerrar.appendChild(botonCierreVentana());
                        ventana.appendChild(botonCerrar);
                        ventana.appendChild(contenedor);
                        ventanaPrivacidad = ventana;
                    }
                    ventanaPrivacidad.childNodes[1].innerHTML = respuesta;
                    abrirVentana(ventanaPrivacidad);
                }
    );
}

var ventanaDevoluciones = null;
function politicaDevoluciones(idioma){

    ejecutarAjax(
                "/lib/idioma/textos/politicaDevoluciones-"+idioma+".php",
                "",
                "POST",
                function(respuesta){
                    if(!ventanaDevoluciones){
                        //ventana
                        ventana = document.createElement("div");
                        ventana.className = "ventana privacidad politica";
                        var contenedor = document.createElement("div");
                        contenedor.className = "contenedor";
                        var botonCerrar=document.createElement("div");
                        botonCerrar.className = "btnCerrar";
                        //abrimos la ventana
                        botonCerrar.appendChild(botonCierreVentana());
                        ventana.appendChild(botonCerrar);
                        ventana.appendChild(contenedor);
                        ventanaDevoluciones = ventana;
                    }
                    ventanaDevoluciones.childNodes[1].innerHTML = respuesta;
                    abrirVentana(ventanaDevoluciones);
                }
    );
}

//Varible globales, para poder actualizar desde selector Ppt y Molduras
var tecnicaGlobal;
var pptGlobal;
var MedidaGlobal;

function generarMarco(tecnica,ppt){
    pptGlobal= ppt;
    tecnicaGlobal= tecnica; 
    
    if(!tecnica){
        var carboncillo = $('carboncillo');
        var lapizColor = $('color');
        if(carboncillo.checked)
            tecnica = carboncillo;                  
        else                                          
            tecnica = lapizColor;    
            
        var elPpt = $('elPpt');
            
        var marc = $$('.campoMarco dd');                 
        if(ppt.checked){  
            elPpt.style.display  = "block";                
            marc[0].style.display  = "block";
        }else{
            elPpt.style.display  = "none"; 
            marc[0].style.display  = "none";         
        }        
    }  
    var marco = $('marco');
    var moldura = $('Moldura'); 
                
    ejecutarAjaxHTML(
                "/lib/ajax/recarga-marco.php",
                "tecnica="+tecnica.value+"&ppt="+ppt.checked+"&p="+marco.value+"&m="+moldura.value,
                "POST",
                "marcoRecargable"
    );
}

function generarPrecio(medida,ppt){
    medidaGlobal=medida;
    var marco = $('marco');
    var moldura = $('Moldura');
    ejecutarAjaxHTML(
                "/lib/ajax/recarga-precio.php",
                "medida="+medida.value+"&ppt="+ppt.checked+"&p="+marco.value+"&m="+moldura.value,
                "POST",
                "precio"
    );
}
function activarTPV(){
   $('pagar').action='https://w3.grupobbva.com/TLPV/tlpv/TLPV_pub_RecepOpModeloServidor';
}
function desactivarTPV(idtransaccion){
   $('pagar').action='http://eng.grupo4t.com/pedidos/fin.php?t='+idtransaccion;
}

var ventanaMapa;
function verSituacion(latitud,longitud){
    //var url = "http://maps.google.com/staticmap?center="+latitud+","+longitud+"&zoom=14&size=512x512&markers="+latitud+","+longitud+",blue&key=ABQIAAAADlaR20-hu9WsPEOnY7-Z2BSPVPApElo7mCjn9geAdEx6gFcWvBTwBXrjG164_XFfyqrkrQyreQyrVA";
    //previsualizarImagen(url);

    //obtenemos/creamos la ventana para selectores
    var nuevo = false;
    if(!ventanaMapa){
        ventanaMapa = document.createElement("div");
        ventanaMapa.className = "previsualizacion popupMapa";
        var contenedor = document.createElement("div");
        contenedor.className = "popupMapaContenedor";
        contenedor.innerHTML = "<div id='mapaGM'>&nbsp;</div>";
        //una vez cargado, llamamos a la funcion load() para que lo cargue
        //abrimos la ventana
        ventanaMapa.appendChild(botonCierreVentana());
        ventanaMapa.appendChild(contenedor);
        nuevo = true;
    }
    abrirVentana(ventanaMapa);
    window.scrollTo(0,0);
    if(nuevo){
        cargarMapa(longitud,latitud);
    }else
        ponerLocalizacion(null,new GLatLng(latitud,longitud),false);
}

function cambiarPrecioMarco(idRec,idMol,idMed,ppt){
    ejecutarAjaxHTML(
                "/lib/ajax/cambiar-precio-recomendacion.php",
                "idMol="+idMol+"&idMed="+idMed+"&ppt="+ppt,
                "GET",
                "precio"+idRec
    );
}

function cambiarNumeroFiguras(idMed){//alert(idMed);
    ejecutarAjax(
                "/lib/ajax/cambiar-numero-figuras.php",
                "idMed="+idMed,
                "POST",
                function(respuesta){//alert(respuesta);
                    //$('figuras').innerHTML = respuesta;
                    
                    var elementos = eval(respuesta);
                    //var combo = $('figuras');
                    var codigo;
                    
                    //for(opcion in combo.childNodes)
                            //combo.remove(0);
                    var codigo = "<label for='figuras'>Elements on the portrait</label><select class='select' name='figuras' id='figuras'>";
                    for(var i=0;i<elementos.length;i++){
                        var opcion = document.createElement("option");  
                        codigo = codigo+"<option value='"+elementos[i].valor+"'>"+elementos[i].nombre+"</option>";
                    }
                    codigo = codigo+"</select>";
                    //alert(codigo);
                    $('campoFiguras').innerHTML = codigo;
                }
    );
}

//cancela el pedido actual
function cancelarPedido(){
    if(confirm("Do you want to cancel your current order?")){
        ejecutarAjax(
                    "/lib/ajax/cancelar-pedido.php",
                    "v=1",
                    "POST",
                    function(respuesta){
                        if(respuesta==1)
                            window.location = "/pedidos/";
                    }
        );
    }
}
function actualizarMolduraYPpt(){
    actualizarMoldura();
    actualizarPpt();
}

function actualizarMoldura(){
    moldura = $("Moldura");  
    generarMarco(tecnicaGlobal,pptGlobal); 
    generarPrecio(medidaGlobal,pptGlobal);
    
    ejecutarAjax(
                    "/lib/ajax/moldura-elegida.php",
                    "m="+moldura.value,
                    "POST",
                    function(respuesta){
                        $("laMoldura").innerHTML = respuesta;
                    }
    );   
}

function actualizarPpt(){
    ppt = $("marco"); 
    moldura = $("Moldura");   
    generarMarco(tecnicaGlobal,pptGlobal);
    ejecutarAjax(
                    "/lib/ajax/ppt-elegido.php",
                    "p="+ppt.value+"&m="+moldura.value,
                    "POST",
                    function(respuesta){
                        $("elPpt").innerHTML = respuesta;
                    }
    );   
}
//La siguiente funcion es para tratar el caso de que vienes de una recomendación sin ppt, es provisional
//ya que solo funciona para la primera vez
var primero=1;  
function actualizarPptEspecial(){
    ppt = $("marco"); 
    moldura = $("Moldura");   
    
    generarMarco(tecnicaGlobal,pptGlobal);
    if (primero>0){
        //alert("primero =1");
        primero=0;
        ejecutarAjax(
                        "/lib/ajax/ppt-elegido.php",
                        "p=1&m="+moldura.value,
                        "POST",
                        function(respuesta){
                            $("elPpt").innerHTML = respuesta;
                        }
        ); 
        }else{
        //alert("primero =0");
        ejecutarAjax(
                        "/lib/ajax/ppt-elegido.php",
                        "p="+ppt.value+"&m="+moldura.value,
                        "POST",
                        function(respuesta){
                            $("elPpt").innerHTML = respuesta;
                        }
        );
    }  
}

function obtenerIdMoldura(){
    moldura = $("Moldura").value; 
    return moldura;   
}
function obtenerIdPpt(){
    ppt = $("marco").value; 
    return ppt;   
}


function datosSeleccionados(idMol,idP,idMed,idT){
    ejecutarAjax(
                "/lib/ajax/datos-seleccionados.php",
                "idMol="+idMol+"&idP="+idP+"&idMed="+idMed+"&idT="+idT,
                "POST",
                function(respuesta){
                    window.location = respuesta;
                }
    );
}

function marcarPasoPedido(subS,sA,sS,idTec,idF,idTam,numM,idMol,idP){
    ejecutarAjax(
                "/lib/ajax/marcar-paso-pedido.php",
                "subS="+subS+"&sA="+sA+"&sS="+sS+"&idTec="+idTec+"&idF="+idF+"&idTam="+idTam+"&numM="+numM+"&idMol="+idMol+"&idP="+idP,
                "POST",
                function(respuesta){
                    window.location = respuesta;
                }
        );
}

function transferirRecomendacion(idR,idT,sS){
    ejecutarAjax(
                "/lib/ajax/transferir-recomendacion.php",
                "idR="+idR+"&idT="+idT+"&sS="+sS,
                "POST",
                function(respuesta){
                    window.location = respuesta;
                }
        );
}

function anadirLineaPedido(){
    ejecutarAjax(
                "/lib/ajax/anadir-linea-pedido.php",
                "",
                "POST",
                function(respuesta){
                    if(respuesta==1)
                        window.location = "/pedidos/";
                }
        );
}

function calcularPrecioNumeroMarcos(precio,cantidad){
    var valor = $('precioDin');
    
    if(cantidad.value.match(/^([0-9]+)$/)==null){
        valor.innerHTML = "-";
        $('btnEnviar').disabled = true;
    }
    else{
        valor.innerHTML = precio * cantidad.value+".00 &euro;";
        $('btnEnviar').disabled = false;
    }
}

/**                                   
@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 mostrarOcultarLinea(idTagHTML,visible){
    var detalles = $('detalles'+idTagHTML);
    var precio = $('precio'+idTagHTML);
    var btn = $('ver'+idTagHTML)
    if(detalles){
        if(visible==undefined){
            if(detalles.style.display=="none"){
                detalles.style.display = "block";
                precio.style.display = "block";
                btn.innerHTML = "Ocultar";
            }
            else{
                detalles.style.display = "none";
                precio.style.display = "none";
                btn.innerHTML = "Ver Detalles";
            }
        }else{ 
            if(visible){
                detalles.style.display = "block";
                precio.style.display = "block";
                btn.innerHTML = "Ocultar";
            }
            else{
                detalles.style.display = "none";
                precio.style.display = "none";
                btn.innerHTML = "Ver Detalles";
            }
        }   
    }         
}

function cambiarGastosEnvio(zona,pT){
    ejecutarAjax(
                "/lib/ajax/cambiar-gastos-envio.php",
                "zona="+zona+"&pT="+pT,
                "POST",
                function(respuesta){
                    $('precioGastos').innerHTML = parseFloat(pT) + parseFloat(respuesta);
                    $('soloGastos').innerHTML = respuesta;
                }
        );
}

function realizarPago(transferencia){

        ejecutarAjax(
                "/lib/ajax/realizar-pago.php",
                "transferencia="+transferencia,
                "POST",
                function(respuesta){
                    if(respuesta==1)
                        $("pagar").submit();
                    else
                        alert("Incorrect operation, try again");
                }
        );
    
}

function procesarDatosPersonales(condiciones,transferencia){
    if (condiciones.checked){ //acepta las condiciones      
                    
            ejecutarAjax(
                    "/lib/ajax/procesar-datos-personales.php",
                    "nombre="+$('nombre').value+
                    "&apellidos="+$('apellidos').value+
                    "&direccion="+$('direccion').value+
                    "&codPostal="+$('codPostal').value+
                    "&localidad="+$('localidad').value+
                    "&provincia="+$('provincia').value+
                    "&telefono="+$('telefono').value+
                    "&email="+$('email').value+
                    "&nif="+$('nif').value+
                    "&empresa="+$('empresa').value+
                    "&pais="+$('pais').value,
                    "POST",
                    function(respuesta){
                        if(respuesta==1){
                            realizarPago(transferencia.checked);
                        }
                        else
                            $("erroresForm").innerHTML = respuesta;
                    }
            );
            return false;
    }else //no acepta las condiciones
        alert (" In order to complete the order process you must accept the conditions.");
        
}

function imprimirPedido(){
    window.print();
}

//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;  
                }
    );
}
var ventana=null;
function verPrecios(){
    if(!ventana){
        ventana = document.createElement("div");
        ventana.className = "previsualizacion precios";
        var contenedor = document.createElement("div");
        contenedor.className = "previsualizacionContenedor";
        contenedor.id = "popupPrecios";
        //abrimos la ventana
        ventana.appendChild(botonCierreVentana());
        ventana.appendChild(contenedor);        
    }
    abrirVentana(ventana);

    ejecutarAjaxHTML("/lib/ajax/precios.php","","post","popupPrecios","");
}

function cambiarEstadoPedidoPorTransferencia(idP,idE){
    ejecutarAjax(
                "/lib/ajax/cambiar-estado-pedido-transferencia.php",
                "idP="+idP+"&idE="+idE,
                "POST",
                function(respuesta){
                    if(respuesta==1){
                        if(idE==5){
                            $('pedido'+idP).innerHTML = 'Pagado';
                            $('pedido'+idP).className = 'estadoPedido estadoPedido'+5;
                        }
                        if(idE==6){
                            $('pedido'+idP).innerHTML = 'Cancelado';
                            $('pedido'+idP).className = 'estadoPedido estadoPedido'+6;
                        }
                        var l = $$("td.acciones .boton.bce"+idP);
                        l[0].style.display = 'none';
                        l[1].style.display = 'none';
                    }
                    else
                        alert("No se ha podido cambiar el estado del pedido");
                }
    );
}
var ventanaPagoTarjeta = null;
function ayudaTarjeta(idioma){
    ejecutarAjax(
                "/lib/idioma/textos/pagoTarjeta-"+idioma+".php",
                "",
                "POST",
                function(respuesta){
                    if(!ventanaPagoTarjeta){
                        //ventana
                        ventana = document.createElement("div");
                        ventana.className = "ventana pagoTarjeta";
                        var contenedor = document.createElement("div");
                        contenedor.className = "contenedor";
                        var botonCerrar=document.createElement("div");
                        botonCerrar.className = "btnCerrar";
                        //abrimos la ventana
                        botonCerrar.appendChild(botonCierreVentana());
                        ventana.appendChild(botonCerrar);
                        ventana.appendChild(contenedor);
                        ventanaPagoTarjeta = ventana;
                    }
                    ventanaPagoTarjeta.childNodes[1].innerHTML = respuesta;
                    abrirVentana(ventanaPagoTarjeta);
                }
    );
}
var ventanaPagoTransferencia = null;
function ayudaTransferencia(idioma){
    ejecutarAjax(
                "/lib/idioma/textos/pagoTransferencia-"+idioma+".php",
                "",
                "POST",
                function(respuesta){
                    if(!ventanaPagoTransferencia){
                        //ventana
                        ventana = document.createElement("div");
                        ventana.className = "ventana pagoTransferencia";
                        var contenedor = document.createElement("div");
                        contenedor.className = "contenedor";
                        var botonCerrar=document.createElement("div");
                        botonCerrar.className = "btnCerrar";
                        //abrimos la ventana
                        botonCerrar.appendChild(botonCierreVentana());
                        ventana.appendChild(botonCerrar);
                        ventana.appendChild(contenedor);
                        ventanaPagoTransferencia = ventana;
                    }
                    ventanaPagoTransferencia.childNodes[1].innerHTML = respuesta;
                    abrirVentana(ventanaPagoTransferencia);
                }
    );
}
