/** *@file productos.js *@date 11/03/2020 *@author Cristina Caba García (cristinacaba1983@gmail.com) **/ function Productos() { //Definición de las variables de clases js útiles. this.iu = new Iu(); this.ajax = new Ajax(BASE_URL); //Combos fijos this.cantidadProductos = null; //Cantidad de chapas seleccionadas. this.numeroDisenho = null; //Número de diseños seleccionados. //Combo características imagen this.idCaracteristica = null; this.idValorCaracteristica = null; this.nombreValorCaracteristica = null; //Contedores this.contadorCarga = 0; //Contador de carga. this.contadorCargaSelectColores = 0; //Contador de carga del select de los colores de textil. //Identificadores. this.idCategoria = null; //Identificador de la caategoría. this.idProducto = null; //Identificador del producto. this.idPresupuesto = null; //identificador del presupuesto; this.idRangoMaximo = null; //Identificador del rango máximo de la categoría. this.idSubcategoria = null; //Identificador de la subcategoría. //Medidas this.medidaDefAlto = null; this.medidaDefAncho = null; this.medidaMinAlto = null; this.medidaMinAncho = null; this.medidaMaxAlto = null; this.medidaMaxAncho = null; //Objeto. this.caracteristicas = null; //Objeto contenedor de las características de las categorías. this.categorias = null; //Objeto contenedor de las categorías. this.imagenProducto = null; //Imagen del producto cargado. this.imagenesSubcategorias = null; //Objeto contenedor de las imágenes de las subcategorías this.imagenesProductos = null; //Objeto contenedor de las imágenes de los productos.. this.imagenPlantilla = null; //Imagen de la Plantilla del producto. this.preciosNDiseno = null; //Objeto contenedor de los precios por número de diseño. this.preciosRangosMetro = null; //Objeto contenedor de los precios por rangos por metro del producto. this.productos = null; //Objeto contenedor de los productos. this.subcategorias = null; //Objeto contenedor de las subcategorías. this.valores = null; //Objeto contenedor de los valores de las subcategorías de las características de las categorías. this.valorCategoria = null; //Valor de la categoría a la que pertenece el producto. //Precios. this.precio = 0; //Precio del producto sin IVA con las condiciones selaccionadas, es el precio sin iva final. this.precioSinIVA = 0; //Precio del producto sin IVA. this.precioSinIVAUnidad = 0; //Precio unitario del producto sin IVA. this.precioSinIVADiseno = 0; //Precio del producto sin IVA por disenos. this.precioSinIVADisenoUnidad = 0; //Precio unitario del producto sin IVA por disenos. this.precioSinIVADescuento = 0; //Precio del producto sin IVA con descuento del patrocinio. this.precioSinIVADescuentoUnidad = 0; //Precio unitario del producto sin IVA con descuento del patrocinio. this.precioSinIVAPersonalizado = 0; //Precio del producto sin IVA con personalización this.precioSinIVAPersonalizadoUnidad = 0; //Precio unitario del producto sin IVA con personalización this.precioSinIVADescuentoDiseno = 0; //Precio del producto sin IVA con descuento del patrocinio por diseños. this.precioSinIVADescuentoDisenoUnidad = 0; //Precio unitario del producto sin IVA con descuento del patrocinio por diseños. this.precioSinIVADescuentoPersonalizado = 0; //Precio del producto sin IVA con descuento de patocinio y personalización this.precioSinIVADescuentoPersonalizadoUnidad = 0; //Precio unitario del producto sin IVA con descuento de patocinio y personalización this.precioSinIVADisenoPersonalizado = 0; //Precio del producto sin IVA con diseño y personalización this.precioSinIVADisenoPersonalizadoUnidad = 0; //Precio unitario del producto sin IVA con diseño y personalización this.precioSinIVADescuentoDisenoPersonalizado = 0; //Precio del producto sin IVA con descuento de patrocinio, diseño y personalización. this.precioSinIVADescuentoDisenoPersonalizadoUnidad = 0;//Precio unitario del producto sin IVA con descuento de patrocinio, diseño y personalización. this.precioConIVA = 0; //Precio del producto con IVA. this.precioConIVA = 0; //Precio unitario del producto con IVA. this.precioConIVADiseno = 0; //Precio del producto con IVA por diseños. this.precioConIVADisenoUnidad = 0; //Precio unitario del producto con IVA por diseños. this.precioConIVADescuento = 0; //Precio del producto con IVA y con descuento del patrocinio. this.precioConIVADescuentoUnidad = 0; //Precio unitario del producto con IVA y con descuento del patrocinio. this.precioConIVAPersonalizado = 0; //Precio del producto con IVA y personalizado. this.precioConIVAPersonalizadoUnidad = 0; //Precio unitario del producto con IVA y personalizado. this.precioConIVADescuentoDiseno = 0; //Precio del producto con IVA y con descuento del patrocinio por diseños. this.precioConIVADescuentoDisenoUnidad = 0; //Precio unitario del producto con IVA y con descuento del patrocinio por diseños. this.precioConIVADescuentoPersonalizado = 0; //Precio del producto con IVA y con descuento de patrocinio y personalizado. this.precioConIVADescuentoPersonalizadoUnidad = 0; //Precio unitario del producto con IVA y con descuento de patrocinio y personalizado. this.precioConIVADisenoPersonalizado = 0; //Precio del producto con IVA y con diseño y personalizado. this.precioConIVADisenoPersonalizadoUnidad = 0; //Precio unitario del producto con IVA y con diseño y personalizado. this.precioConIVADescuentoDisenoPersonalizado = 0; //Precio del producto con IVA y con descuento de patrocinio, diseño y personalizado. this.precioConIVADescuentoDisenoPersonalizadoUnidad = 0;//Precio unitario del producto con IVA y con descuento de patrocinio, diseño y personalizado. this.precioUnitario = 0; //Precio de la del producto en su rango con las condiciones seleccionadas. //Totales this.totalCaracteristicas = 0; this.totalPreciosRangosMetro = 0; //Varios. this.caracteristicaDatoVariable = null; this.caracteristicaMontaje = null; this.caracteristicaPliego = null; this.caracteristicaTallaje = null; this.carrito = null; //Objeto contenedor del carrito de la sesión. this.fondoSeleccionado = "#000000"; //Fondo de la chapa en el diseñador. Valor hexadecimal #ffffff. this.hayStock = 0; //Control de botones en función de si hay o no stock del producto cargado. this.maximoRangoMetro = 0; //El máximo de los rangos, para validarlo. this.mensajePresupuesto = ""; //Mensaje del correo del presupuesto. this.mensajePresupuestoEspanol = ""; //Mensaje del correo del presupuesto en español. this.nPliegos = 0; this.pesoProducto = null; //Peso del producto. this.pliego = null; this.precioBaseReal = 0; //Precio base del producto unitario en su máximo rango, es decir, el más bajo. this.rangoMaximo = 0; //Rango máximo del producto. this.rangoMinimo = 0; //Rango mínimo del producto. this.referrer = null; //Página de la que se procede, si es menu es porque se ha accedido desde el menú y no seleccionanado un producto de algún carrusel. this.textoMensaje = ""; //Texto de aviso para el diseñador en función del valor de la característica. this.textoNombreSeo = null; //Texo del nmobre seo del producto seleccionado. this.tipoMedida = null; this.valorCaracteristicaTallaje = ""; this.valorCaracteristicaTallajeEspanol = ""; this.codigoIdioma = null; miCarrusel = null; this.arrayIdsSubcategoriasSinDisenos = []; this.arrayIdsProductosSinDisenos = []; //Funciones de clase this.iniciar = function() { this.arrayIdsSubcategoriasSinDisenos = []; this.arrayIdsProductosSinDisenos = []; //Limpiamos. $(".avisopequecaracteristicas").hide(); $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); $("#btn_dtf").hide(); $("#btn-menos-cantidadProducto").prop("disabled",true); $("#btn-menos-disenhoProducto").prop("disabled",true); $("#btn_presupuesto").prop("disabled",true); $("#precio").hide(); $("#rangoMaximo").hide(); $("#medidasMaximo").hide(); $("#ancho-error").hide(); $("#ancho-error-requerido").hide(); $("#alto-error-requerido").hide(); $("#medidas-error-nulo").hide(); //Busccamos al usuario this.buscarUsuario(); //Implementamos el dataLayer del carrusel de productos relacionedos this.dataLayerCarruselProductosRelacionados(); //Cargamos el carrito lo primero. this.cargarCarrito(); //Identificadores this.idCategoria = $("#idCategoriaProducto").val(); this.idProducto = $("#idProducto").val(); this.idProductoStock = $("#idProductoStock").val(); this.idSubcategoria = $("#idSubcategoriaProducto").val(); if(this.arrayIdsSubcategoriasSinDisenos.includes(parseInt(this.idSubcategoria)) || this.arrayIdsProductosSinDisenos.includes(parseInt(this.idProducto))) $(".dependientesDisenoPoducto").hide(); //Cargamos valores this.caracteristicaDatoVariable = $("#caracteristicaDatoVariable").val(); this.caracteristicaMontaje = $("#caracteristicaMontaje").val(); this.caracteristicaPliego = $("#caracteristicaPliego").val(); this.caracteristicaTallaje = $("#caracteristicaTallaje").val(); if(this.caracteristicaTallaje != null && this.caracteristicaTallaje != "") { this.cantidadProductos = 0; $("#cantidad").val("0"); $(".spanCantidadTallaje").html("0"); } else this.cantidadProductos = $("#cantidad").val(); this.codigoIdioma = $("#codigoIdioma").val(); this.medidaDefAlto = $("#medidaDefAlto").val(); this.medidaDefAncho = $("#medidaDefAncho").val(); this.medidaMinAlto = $("#medidaMinAlto").val(); this.medidaMinAncho = $("#medidaMinAncho").val(); this.medidaMaxAlto = $("#medidaMaxAlto").val(); this.medidaMaxAncho = $("#medidaMaxAncho").val(); this.numeroDisenho = $("#ndesigns").val(); this.pesoProducto = $("#pesoProducto").val(); this.precioBaseReal = $("#precioBaseRealProducto").val(); this.referrer = $("#referrerProducto").val(); this.textoNombreSeo = $("#textoNombreSeo").val(); this.valorCategoria = $("#valorCategoriaProducto").val(); //Cogemos el rango máximo y el rango mínimo del producto this.idRangoMaximo = $("#idRangoMaximo").val(); this.rangoMaximo = $("#rangoMaximoProducto").val(); this.rangoMinimo = $("#rangoMinimoProducto").val(); this.maximoRangoMetro = 0; //Cogemos el booleano del stock del producto this.hayStock = $("#hayStockProducto").val(); this.imagenProducto = $("#imagenSubcategoriaProducto").val(); this.imagenPlantilla = $("#imagenPlantillaProducto").val(); this.totalPreciosRangosMetro = $("#totalPreciosRangosMetro").val(); //Contador de carga this.contadorCarga = 0; this.contadorCargaSelectColores = 0; //Buscamos los objetos necesarios. this.cargarCategorias(); this.cargarCaracteristicas(); this.cargarImagenesSubcategorias(); this.cargarPrecioNDiseno(); this.cargarPreciosRangosMetro(); this.cargarProductos(); this.cargarSubcategorias(); this.cargarValoresCaracteristicas(); //Iniciamos la animación miCarrusel = new Carousel(); miCarrusel.constructor(); miCarrusel.iniciar(); } this.recargarImprescindibles = function(){ //Limpiamos. $(".avisopequecaracteristicas").hide(); //$("#btn_carrito").hide(); $("#btn_carrito").attr("disabled",true); //$("#btn_calculando").show(); $("#btn_presupuesto").hide(); $("#btn_presupuesto").attr("disabled",true); //$("#precio").hide(); $("#ancho-error").hide(); $("#ancho-error-requerido").hide(); $("#alto-error-requerido").hide(); $("#medidas-error-nulo").hide(); this.limpiarCamposMailPresupuestoProducto(); this.cargarCarrito(); //Identificadores this.idCategoria = $("#idCategoriaProducto").val(); this.idProducto = $("#idProducto").val(); this.idSubcategoria = $("#idSubcategoriaProducto").val(); if(this.arrayIdsSubcategoriasSinDisenos.includes(parseInt(this.idSubcategoria)) || this.arrayIdsProductosSinDisenos.includes(parseInt(this.idProducto))) $(".dependientesDisenoPoducto").hide(); this.buscarProducto(); this.buscarProductoEspanol(); this.buscarImagenPrincipal(); //Cogemos el rango máximo y el rango mínimo del producto this.rangoMaximo = $("#rangoMaximoProducto").val(); this.rangoMinimo = $("#rangoMinimoProducto").val(); //Cargamos valores this.caracteristicaDatoVariable = $("#caracteristicaDatoVariable").val(); this.caracteristicaMontaje = $("#caracteristicaMontaje").val(); this.caracteristicaPliego = $("#caracteristicaPliego").val(); this.caracteristicaTallaje = $("#caracteristicaTallaje").val(); if(this.caracteristicaTallaje != null && this.caracteristicaTallaje != "") { this.cantidadProductos = 0; $("#cantidad").val("0"); $(".spanCantidadTallaje").html("0"); } else this.cantidadProductos = $("#cantidad").val(); this.numeroDisenho = $("#ndesigns").val(); this.textoNombreSeo = $("#textoNombreSeo").val(); this.medidaDefAlto = $("#medidaDefAlto").val(); this.medidaDefAncho = $("#medidaDefAncho").val(); this.medidaMinAlto = $("#medidaMinAlto").val(); this.medidaMinAncho = $("#medidaMinAncho").val(); this.medidaMaxAlto = $("#medidaMaxAlto").val(); this.medidaMaxAncho = $("#medidaMaxAncho").val(); this.buscarImagenPlantilla(); this.contadorCarga = 6; this.contadorCargaSelectColores = 2; //Controlamos los botones this.cargarPreciosRangosMetro(); //Aqui controlamos la visualización de determinados botones y calculamos el precio. //Cargamos las imágenes this.cargarImagenesProductos(); } this.recargarImprescindiblesActualizarPrecio = function(){ //Limpiamos. $(".avisopequecaracteristicas").hide(); //$("#btn_carrito").hide(); $("#btn_carrito").attr("disabled",true); //$("#btn_calculando").show(); //$("#btn_presupuesto").hide(); $("#btn_presupuesto").attr("disabled",true); //$("#precio").hide(); $("#ancho-error").hide(); $("#ancho-error-requerido").hide(); $("#alto-error-requerido").hide(); $("#medidas-error-nulo").hide(); this.limpiarCamposMailPresupuestoProducto(); this.cargarCarrito(); //Identificadores this.idCategoria = $("#idCategoriaProducto").val(); this.idProducto = $("#idProducto").val(); this.idSubcategoria = $("#idSubcategoriaProducto").val(); //Cargamos valores this.caracteristicaDatoVariable = $("#caracteristicaDatoVariable").val(); this.caracteristicaMontaje = $("#caracteristicaMontaje").val(); this.caracteristicaPliego = $("#caracteristicaPliego").val(); this.caracteristicaTallaje = $("#caracteristicaTallaje").val(); if(this.caracteristicaTallaje != null && this.caracteristicaTallaje != "") { this.cantidadProductos = 0; $("#cantidad").val("0"); $(".spanCantidadTallaje").html("0"); } else this.cantidadProductos = $("#cantidad").val(); this.numeroDisenho = $("#ndesigns").val(); this.medidaDefAlto = $("#medidaDefAlto").val(); this.medidaDefAncho = $("#medidaDefAncho").val(); this.medidaMinAlto = $("#medidaMinAlto").val(); this.medidaMinAncho = $("#medidaMinAncho").val(); this.medidaMaxAlto = $("#medidaMaxAlto").val(); this.medidaMaxAncho = $("#medidaMaxAncho").val(); this.contadorCarga = 6; //Controlamos los botones this.cargarPreciosRangosMetro(); //Aqui controlamos la visualización de determinados botones y calculamos el precio. } //Funciones de trabajo. this.limpiarCamposMailPresupuestoProducto = function() { /**- Función que limpia los errores de los campos de error del formulario del presupuesto **/ $(".idsGrupoLimpiarCamposUsuarioProducto").each(function(){ switch(this){ default: $(this).val(""); $(this).html(""); break; } }); } this.modalPresupuesto = function() { /**- Función que visuliza la ventana para pedir presupuesto, con la información relevante para ello Necesitamos: la categoría, el producto, el número de diseños y la cantidad. **/ this.mensajePresupuesto = $("#nombreCategoriaProducto").val()+" "+$("#nombreSubcategoriaProducto").val()+" "+$("#nombreProducto").val()+" / "; this.mensajePresupuestoEspanol = $("#nombreCategoriaProducto_es").val()+" "+$("#nombreSubcategoriaProducto_es").val()+" "+$("#nombreProducto_es").val()+" / "; $.each(this.caracteristicas,function(index,value){ if(eco_productos.idCategoria == value.iddependiente) { if(eco_productos.valores != null) { $.each(eco_productos.valores,function(indexVal,valueVal){ if(valueVal.idcaracteristica == value.id) { if(eco_productos.idSubcategoria == valueVal.iddependiente) { if($("#caracteristica_"+value.id).val() == valueVal.id) { if(eco_productos.caracteristicaTallaje != value.id) { eco_productos.mensajePresupuesto += value.nombreCaracteristica+": "+valueVal.nombreValorCaracteristica+" / "; eco_productos.mensajePresupuestoEspanol += value.nombreCaracteristicaEspanol+": "+valueVal.nombreValorCaracteristicaEspanol+" / "; } else { var partes = eco_productos.valorCaracteristicaTallaje.split("_"); eco_productos.mensajePresupuesto += value.nombreCaracteristica+": "+partes[0]+" / "; eco_productos.mensajePresupuestoEspanol += value.nombreCaracteristicaEspanol+": "+partes[1]+" / "; } } } } }); } } }); this.numeroDisenho = $("#ndesigns").val(); this.cantidadProductos = $("#cantidad").val(); this.mensajePresupuestoEspanol += "Número de diseños: "+this.numeroDisenho+" / Cantidad: "+this.cantidadProductos+" / Patrocinado: "; if($("#patrocinio").prop("checked")) this.mensajePresupuestoEspanol += "sí"; else this.mensajePresupuestoEspanol += "no"; if($("#diseno").prop("checked")) this.mensajePresupuestoEspanol += " / Diseñado por Createlow"; if($("#personalizacion").prop("checked")) this.mensajePresupuestoEspanol += " / Producto personalizado"; if($("#ancho").val() != "" && $("#ancho").val() != undefined) this.mensajePresupuestoEspanol += " / Ancho x Alto = "+$("#ancho").val()+" x "+$("#alto").val() +" ("+this.tipoMedida+") "; switch(this.codigoIdioma) { case "es": this.mensajePresupuesto = this.mensajePresupuestoEspanol; break; case "fr": this.mensajePresupuesto += "Nombre de designs: "+this.numeroDisenho+" / Quantité: "+this.cantidadProductos+" / Sponsorisé: "; if($("#patrocinio").prop("checked")) this.mensajePresupuesto += "oui"; else this.mensajePresupuesto += "non"; if($("#diseno").prop("checked")) this.mensajePresupuesto += " / Conçu par Createlow"; if($("#personalizacion").prop("checked")) this.mensajePresupuesto += " / Produit personnalisé"; if($("#ancho").val() != "" && $("#ancho").val() != undefined) this.mensajePresupuesto += " / Large x Haut = "+$("#ancho").val()+" x "+$("#alto").val()+" ("+this.tipoMedida+") "; break; case "it": this.mensajePresupuesto += "Numero di design: "+this.numeroDisenho+" / Quantità: "+this.cantidadProductos+" / Sponsorizzato: "; if($("#patrocinio").prop("checked")) this.mensajePresupuesto += "sì"; else this.mensajePresupuesto += "no"; if($("#diseno").prop("checked")) this.mensajePresupuesto += " / Progettato da Createlow"; if($("#personalizacion").prop("checked")) this.mensajePresupuesto += " / Prodotto personalizzato"; if($("#ancho").val() != "" && $("#ancho").val() != undefined) this.mensajePresupuesto += " / Ampio x Alto = "+$("#ancho").val()+" x "+$("#alto").val()+" ("+this.tipoMedida+") "; break; case "pt": this.mensajePresupuesto += "Número de designs: "+this.numeroDisenho+" / Quantidade: "+this.cantidadProductos+" / Patrocinado: "; if($("#patrocinio").prop("checked")) this.mensajePresupuesto += "sim"; else this.mensajePresupuesto += "não"; if($("#diseno").prop("checked")) this.mensajePresupuesto += " / Projetado por Createlow"; if($("#personalizacion").prop("checked")) this.mensajePresupuesto += " / Produto personalizado"; if($("#ancho").val() != "" && $("#ancho").val() != undefined) this.mensajePresupuesto += " / Largo x Alto = "+$("#ancho").val()+" x "+$("#alto").val()+" ("+this.tipoMedida+") "; break; default: break; } $("#infoPresupuesto").show(); $("#errorPresupuesto").hide(); $("#avisosPresupuesto").html(this.mensajePresupuesto); $("#presupuestoModal").modal('show'); $("#presupuestoModal").show(); } this.actualizarCondicionesProducto = function(){ /**- Función que recoge el valor del check de diseno, patrocinio y producto personalizado e imprime el precio en función de si el check está a true o no. **/ if($("#diseno").prop("checked")) { if($("#patrocinio").prop("checked")) { if($("#personalizacion").prop("checked")) { this.precio = this.precioSinIVADescuentoDisenoPersonalizado; this.precioUnitario = this.precioSinIVADescuentoDisenoPersonalizadoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADescuentoDisenoPersonalizado)); $(".iva").html(formatoPrecioHTML(this.precioConIVADescuentoDisenoPersonalizado)+" TVA incluse"); } else { this.precio = this.precioSinIVADescuentoDiseno; this.precioUnitario = this.precioSinIVADescuentoDisenoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADescuentoDiseno)); $(".iva").html(formatoPrecioHTML(this.precioConIVADescuentoDiseno)+" TVA incluse"); } } else { if($("#personalizacion").prop("checked")) { this.precio = this.precioSinIVADisenoPersonalizado; this.precioUnitario = this.precioSinIVADisenoPersonalizadoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADisenoPersonalizado)); $(".iva").html(formatoPrecioHTML(this.precioConIVADisenoPersonalizado))+" TVA incluse"; } else { this.precio = this.precioSinIVADiseno; this.precioUnitario = this.precioSinIVADisenoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADiseno)); $(".iva").html(formatoPrecioHTML(this.precioConIVADiseno)+" TVA incluse"); } } } else { if($("#patrocinio").prop("checked")) { if($("#personalizacion").prop("checked")) { this.precio = this.precioSinIVADescuentoPersonalizado; this.precioUnitario = this.precioSinIVADescuentoPersonalizadoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADescuentoPersonalizado)); $(".iva").html(formatoPrecioHTML(this.precioConIVADescuentoPersonalizado)+" TVA incluse"); } else { this.precio = this.precioSinIVADescuento; this.precioUnitario = this.precioSinIVADescuentoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADescuento)); $(".iva").html(formatoPrecioHTML(this.precioConIVADescuento)+" TVA incluse"); } } else { if($("#personalizacion").prop("checked")) { this.precio = this.precioSinIVAPersonalizado; this.precioUnitario = this.precioSinIVAPersonalizadoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVAPersonalizado)); $(".iva").html(formatoPrecioHTML(this.precioConIVAPersonalizado)+" TVA incluse"); } else { this.precio = this.precioSinIVA; this.precioUnitario = this.precioSinIVAUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVA)); $(".iva").html(formatoPrecioHTML(this.precioConIVA)+" TVA incluse"); } } } $("#precioUnitario").val(this.precioUnitario); this.dataLayerDetallesProducto(); } this.actualizarPrecio = function(id,operacion) { /**- Función que actualiza el precio. Esta función también llamara a recalcular el precio del producto en función de su cantidad. @param idFila, identificador del input. @param operacion, String mas o menos. **/ $("#btn_carrito").prop("disabled",true); //$("#btn_carrito").hide(); //$("#btn_calculando").show(); if(id == "cantidad") { // Cantidad de productos o de diseños var cantidad = parseInt($("#"+id).val().trim()); if(operacion == "menos" && cantidad > 1) cantidad -= parseInt(this.rangoMinimo); if(operacion == "mas" ) cantidad += parseInt(this.rangoMinimo); if(operacion == "menos" && cantidad == 1) { cantidad = 1; $("#btn-menos-cantidadProducto").prop("disabled",true); } this.cantidadProductos = cantidad; $("#"+id).val(this.cantidadProductos); } else { // Cantidad de productos o de diseños var cantidad = parseInt($("#"+id).val().trim()); if(operacion == "menos" && cantidad > 1) cantidad -= 1; if(operacion == "mas" ) cantidad += 1; if(operacion == "menos" && cantidad == 1) { cantidad = 1; $("#btn-menos-disenhoProducto").prop("disabled",true); } this.numeroDisenho = cantidad; $("#"+id).val(this.numeroDisenho); } this.recargarImprescindiblesActualizarPrecio(); } this.anadirProductoSesion = function(){ /**- Función que coge los datos de la última selección y los mete en sesion. **/ $("#medidas-error-minimas").html(""); $("#medidas-error-minimas").hide(); if(!this.validarMedidas()) return; if(parseInt(this.cantidadProductos) < parseInt(this.rangoMinimo)) { $("#btn_carrito").prop("disabled",true); $("#btn_carrito").show(); $("#btn_calculando").hide(); return; } //Array de parámetros var parametros = new Array(); if(parseInt(this.totalPreciosRangosMetro) > 0) { parametros.push(new ParametroFormulario("numeroObligatorio","anchoProducto","anchoProducto",$("#ancho").val().trim(),"ancho-error-requerido")); parametros.push(new ParametroFormulario("numeroObligatorio","altoProducto","altoProducto",$("#alto").val().trim(),"alto-error-requerido")); } if(!camposObligatorios(parametros)) return; parametros.push(new ParametroFormulario("numeroNoNulo","anchoProducto","anchoProducto",$("#ancho").val().trim(),"medidas-error-nulo")); parametros.push(new ParametroFormulario("numeroNoNulo","altoProducto","altoProducto",$("#alto").val().trim(),"medidas-error-nulo")); if(!formateoCampos(parametros)) return; var medida = 0; if(this.maximoRangoMetro != 0) { switch(this.tipoMedida.toLowerCase()) { case 'mm': medida = $("#ancho").val()/1000 * $("#alto").val()/1000; break; case 'cm': medida = $("#ancho").val()/100 * $("#alto").val()/100; break; case 'dm': medida = $("#ancho").val()/10 * $("#alto").val()/10; break; case 'm': medida = $("#ancho").val() * $("#alto").val(); break; default: break; } } if(medida > this.maximoRangoMetro) { $("#ancho-error").show(); return; } parametros.push(new Parametro("idCategoria",this.idCategoria)); parametros.push(new Parametro("referrerProducto",this.referrer)); parametros.push(new Parametro("valorCategoria",this.valorCategoria)); parametros.push(new Parametro("nombreCategoria",$("#nombreCategoriaProducto").val())); parametros.push(new Parametro("nombreCategoriaEspanol",$("#nombreCategoriaProducto_es").val())); parametros.push(new Parametro("idSubcategoria",this.idSubcategoria)); parametros.push(new Parametro("nombreSubcategoria",$("#nombreSubcategoriaProducto").val())); parametros.push(new Parametro("nombreSubcategoriaEspanol",$("#nombreSubcategoriaProducto_es").val())); parametros.push(new Parametro("idProducto",this.idProducto)); parametros.push(new Parametro("idProductoStock",this.idProductoStock)); parametros.push(new Parametro("imagenSubcategoria",this.imagenProducto)); parametros.push(new Parametro("nombreProducto",$("#nombreProducto").val())); parametros.push(new Parametro("nombreProductoEspanol",$("#nombreProducto_es").val())); parametros.push(new Parametro("cantidadTotal",this.cantidadProductos)); parametros.push(new Parametro("cantidadDisenhos",this.numeroDisenho)); parametros.push(new Parametro("rangoMaximoProducto",this.rangoMaximo)); parametros.push(new Parametro("rangoMinimoProducto",this.rangoMinimo)); if($("#patrocinio").prop("checked")) parametros.push(new Parametro("patrocinio",1)); else parametros.push(new Parametro("patrocinio",0)); if($("#diseno").prop("checked")) parametros.push(new Parametro("disenhadoEmpresa",1)); else parametros.push(new Parametro("disenhadoEmpresa",0)); if($("#personalizacion").prop("checked")) parametros.push(new Parametro("productosPersonalizados",1)); else parametros.push(new Parametro("productosPersonalizados",0)); parametros.push(new Parametro("precioSinIvaPersonalizacion",this.precioSinIvaPersonalizacion)); parametros.push(new Parametro("cantidadesCambiadas",0)); parametros.push(new Parametro("pesoProducto",this.pesoProducto)); parametros.push(new Parametro("tipoMedida",this.tipoMedida)); parametros.push(new Parametro("idCaracteristicaPliego",this.caracteristicaPliego)); parametros.push(new Parametro("idCaracteristicaMontaje",this.caracteristicaMontaje)); //Características if(eco_productos.caracteristicas != null) { $.each(eco_productos.caracteristicas,function(index,value){ if(eco_productos.idCategoria == value.iddependiente) { if($("#caracteristica_"+value.id).val() != null && $("#caracteristica_"+value.id).val() != undefined && $("#caracteristica_"+value.id).val() != "") { if(eco_productos.caracteristicaTallaje != value.id) parametros.push(new Parametro("idValorCaracteristicaProducto_"+value.id,$("#caracteristica_"+value.id).val())); } if(eco_productos.caracteristicaTallaje == value.id) parametros.push(new Parametro("idValorCaracteristicaProducto_"+value.id,$("#caracteristica_"+value.id).val()+"_"+eco_productos.valorCaracteristicaTallaje)); } }); } //Petición por ajax. this.ajax.pedir("productosControl.anadirDatosSesion",parametros,XJSON,ASYNC,"eco_productos.postAnadirDatosSesion"); } this.buscarImagenPlantilla = function() { /**- Función que busca la imagen de la plantilla del producto **/ var parametros = new Array(); parametros.push(new Parametro("idProducto",this.idProducto)); parametros.push(new Parametro("tipoImagen",TIPO_IMAGEN_PRODUCTOS)); parametros.push(new Parametro("principalImagen",IMAGEN_PLANTILLA)); //Petición ajax. this.ajax.pedir("productosControl.buscarImagenes",parametros,XJSON,ASYNC,"eco_productos.postBuscarImagenPlantilla"); } this.buscarImagenPrincipal = function() { /**- Función que busca la imagen principal del producto seleccionado. **/ var parametros = new Array(); parametros.push(new Parametro("idProducto",this.idProducto)); parametros.push(new Parametro("tipoImagen",TIPO_IMAGEN_PRODUCTOS)); parametros.push(new Parametro("principalImagen",IMAGEN_PRINCAPAL)); //Petición ajax. this.ajax.pedir("productosControl.buscarImagenes",parametros,XJSON,ASYNC,"eco_productos.postBuscarImagenPrincipal"); } this.buscarProducto = function() { /**- Función que busca el producto redirigido a través del combo de productos. Esto es para no recargar la página. **/ var parametros = new Array(); parametros.push(new Parametro("idProducto",this.idProducto)); //Petición por ajax. this.ajax.pedir("productosControl.buscar",parametros,XJSON,ASYNC,"eco_productos.postBuscarProducto"); } this.buscarProductoEspanol = function() { /**- Función que busca el producto redirigido a través del combo de productos. Esto es para no recargar la página. **/ var parametros = new Array(); parametros.push(new Parametro("idProducto",this.idProducto)); parametros.push(new Parametro("codigoIdioma",'es')); //Petición por ajax. this.ajax.pedir("productosControl.buscar",parametros,XJSON,ASYNC,"eco_productos.postBuscarProductoEspanol"); } this.buscarUsuario = function() { /**- Función que busca si el usuario está logueado **/ this.ajax.pedir("usuarioControl.buscarUsuarioSesion",null,XJSON,ASYNC,"eco_productos.postBuscarUsuario"); } this.cargarCarrito = function() { /**- Función que coge el carrito de la sesión. **/ this.ajax.pedir("productosControl.cargarCarrito",null,XJSON,ASYNC,"eco_productos.postCargarCarrito"); } this.cargarCategorias = function() { /**- Función que busca las categorías. **/ //Petición ajax. this.ajax.pedir("categoriasControl.buscar",null,XJSON,ASYNC,"eco_productos.postCargarCategorias"); } this.cargarCaracteristicas= function() { /**- Función que busca las características de las categorías. **/ //Petición ajax. this.ajax.pedir("categoriasControl.buscarCaracteristicas",null,XJSON,ASYNC,"eco_productos.postCargarCaracteristicas"); } this.cargarImagenesSubcategorias = function() { /**- Función que busca las imágenes de las subcategorías. **/ //Array de parámetros. var parametros = new Array(); parametros.push(new Parametro("tipoImagen",TIPO_IMAGEN_SUBCATEGORIAS)); //Petición ajax. this.ajax.pedir("subcategoriasControl.buscarImagenes",parametros,XJSON,ASYNC,"eco_productos.postCargarImagenesSubcategorias"); } this.cargarImagenesProductos = function() { /**- Función que busca las imágenes de los productos. **/ //Array de parámetros. var parametros = new Array(); parametros.push(new Parametro("tipoImagen",TIPO_IMAGEN_PRODUCTOS)); //Petición ajax. this.ajax.pedir("productosControl.buscarImagenes",parametros,XJSON,ASYNC,"eco_productos.postCargarImagenesProductos"); } this.cargarPrecioNDiseno = function() { /**- Función que carga todos los precios a incrementar por cantiades de diseños de la categoría seleccionada. **/ var parametros = new Array(); parametros.push(new Parametro("idCategoria",this.idCategoria)); //Petición this.ajax.pedir("categoriasControl.buscarPrecioNDisenos",parametros,XJSON,ASYNC,"eco_productos.postCargarPrecioNDiseno"); } this.cargarPreciosRangosMetro = function() { /**- Fucnión que carga de la sesión los precios por rango por metros **/ var parametros = new Array(); parametros.push(new Parametro("idProducto",this.idProducto)); this.ajax.pedir("productosControl.buscarPreciosRangosMetro",parametros,XJSON,ASYNC,"eco_productos.postCargarPreciosRangosMetro"); } this.cargarProductos = function() { /**- Función que busca los productos. **/ //Petición ajax. this.ajax.pedir("productosControl.buscar",null,XJSON,ASYNC,"eco_productos.postCargarProductos"); } this.cargarSubcategorias = function() { /**- Función que busca las subcategorías. **/ //Petición ajax. this.ajax.pedir("subcategoriasControl.buscar",null,XJSON,ASYNC,"eco_productos.postCargarSubcategorias"); } this.cargarValoresCaracteristicas = function() { /**- Función que busca los valores de las características de las subcategorías. **/ //Petición ajax. this.ajax.pedir("subcategoriasControl.buscarValoresCaracteristicas",null,XJSON,ASYNC,"eco_productos.postCargarValoresCaracteristicas"); } this.calcularDTFModal = function() { /**- Función que calcula la longitud del pliego a imprimir en función de las variables correspondientes **/ $("#errorCalculadoraDTFModal").html(""); var altoDefecto = null; var anchoDefecto = null; if(this.pliego != "") { var partesPalabra = this.pliego.split(" "); var partesMedida = partesPalabra[0].split("x"); altoDefecto = partesMedida[1]; anchoDefecto = partesMedida[0]; } var alto = $("#altoCalculadoraDTFModal").val(); var ancho = $("#anchoCalculadoraDTFModal").val(); var cantidad = $("#cantidadCalculadoraDTFModal").val(); if(ancho == "" || ancho == null) { $("#errorCalculadoraDTFModal").html("Vous devez saisir les dimensions"); return; } if(alto == "" || alto == null) { $("#errorCalculadoraDTFModal").html("Vous devez saisir les dimensions"); return; } if(parseFloat(ancho) > parseInt(anchoDefecto)) { $("#errorCalculadoraDTFModal").html("Nous utiliserons "+anchoDefecto+"cm. "+"Saisissez une largeur inférieure."); return; } if(parseFloat(alto) > parseInt(altoDefecto)) { $("#errorCalculadoraDTFModal").html("Nous utiliserons "+altoDefecto+"cm. "+"Saisissez une hauteur inférieure."); return; } if(cantidad == "" || cantidad == null) { $("#errorCalculadoraDTFModal").html("Vous devez saisir la quantité"); return; } ancho++; alto++; var unidadesAnchoPorPliego = Math.floor(anchoDefecto/ancho); var unidadesAltoPorPliego = Math.floor(altoDefecto/alto); var unidadesPorPliego = unidadesAnchoPorPliego*unidadesAltoPorPliego; this.nPliegos = 1; if(parseInt(cantidad) > unidadesPorPliego) this.nPliegos = Math.ceil(parseInt(cantidad)/unidadesPorPliego); //$("#alto").val((alto-1)*10); //$("#ancho").val((ancho-1)*10); this.cantidadProductos = parseInt(this.nPliegos); $("#cantidad").val(parseInt(this.nPliegos)); if(this.nPliegos == 1) var texto = "Vous avez besoin de "+this.nPliegos+" u."; else var texto = "Vous avez besoin de "+this.nPliegos+" u."; $("#avisoscalculadoraDTF").html(texto); } this.calcularPrecio = function(){ /**- Función que recoge los valores de las variables necesarias para consultar el precio en bbdd. **/ //Array de parámetros. if(this.cantidadProductos != 0) { var parametros = new Array(); parametros.push(new Parametro("cantidadTotal",this.cantidadProductos)); parametros.push(new Parametro("cantidadDisenhos",this.numeroDisenho)); parametros.push(new Parametro("idCategoria",this.idCategoria)); parametros.push(new Parametro("idProducto",this.idProducto)); parametros.push(new Parametro("idSubcategoria",this.idSubcategoria)); parametros.push(new Parametro("anchoProducto",$("#ancho").val())); parametros.push(new Parametro("altoProducto",$("#alto").val())); parametros.push(new Parametro("tipoMedida",this.tipoMedida)); //Recorremos las características para obtener los nombres de los combos de las caracteristicas. var numCaras = 0; if(this.totalCaracteristicas > 0) { $.each(eco_productos.caracteristicas,function(index,value){ if(eco_productos.idCategoria == value.iddependiente){ if(eco_productos.valores != null) { $.each(eco_productos.valores,function(indexVal,valueVal){ if(eco_productos.idSubcategoria == valueVal.iddependiente) { if(valueVal.idcaracteristica == value.id) { if($("#caracteristica_"+value.id).val() == valueVal.id) { parametros.push(new Parametro("valorCaracteristica_"+value['id'],$("#caracteristica_"+value['id']).val().trim())); var caras = valueVal.caras; if(caras != null) numCaras += parseInt(caras); } } } }); } } }); } if(numCaras == 0) numCaras = 1; parametros.push(new Parametro("numCarasProducto",numCaras)); //Petición por ajax. this.ajax.pedir("productosControl.buscarPrecio",parametros,XJSON,ASYNC,"eco_productos.postBuscarPrecio"); } else { $("#btn_calculando").hide(); $("#precio").hide(); } } this.cogerValoresCaracteristicasTallaje = function() { /**- Función que carga los valores de la característica cuyo tipo es Tallaje y los pasa como un único valor en un campo de texto **/ this.valorCaracteristicaTallaje = ""; var i = 0; var cantidad = 0; var valorCaracteristicaTallajeEspanol = ""; $.each(eco_productos.caracteristicas,function(index,value){ if(eco_productos.idCategoria == value.iddependiente && value.id == eco_productos.caracteristicaTallaje) { $.each(eco_productos.valores,function(indexVal,valueVal){ if(valueVal.idcaracteristica == value.id) { i++; if(i == 1) $("#cantidadCaracteristica_"+value.id+"_"+valueVal.id).val($("#idCantidadCaracteristica_"+value.id+"_"+valueVal.id).val()); if($("#idCantidadCaracteristica_"+value.id+"_"+valueVal.id).val() != null && $("#idCantidadCaracteristica_"+value.id+"_"+valueVal.id).val() != undefined && $("#idCantidadCaracteristica_"+value.id+"_"+valueVal.id).val() != "") { cantidad += parseInt($("#idCantidadCaracteristica_"+value.id+"_"+valueVal.id).val()); eco_productos.valorCaracteristicaTallaje += valueVal.nombreValorCaracteristica+": "+$("#idCantidadCaracteristica_"+value.id+"_"+valueVal.id).val()+" / "; valorCaracteristicaTallajeEspanol += valueVal.nombreValorCaracteristicaEspanol+": "+$("#idCantidadCaracteristica_"+value.id+"_"+valueVal.id).val()+" / "; } } }); } }); this.valorCaracteristicaTallaje = this.valorCaracteristicaTallaje.substr(0,this.valorCaracteristicaTallaje.length-3); valorCaracteristicaTallajeEspanol = valorCaracteristicaTallajeEspanol.substr(0,valorCaracteristicaTallajeEspanol.length-3); this.valorCaracteristicaTallaje += "_"+valorCaracteristicaTallajeEspanol; if(this.caracteristicaTallaje != null && this.caracteristicaTallaje != "") { this.cantidadProductos = cantidad; $("#cantidad").val(cantidad); $(".spanCantidadTallaje").html(cantidad); } this.calcularPrecio(); } this.controlDependientesDatoVariable = function() { /**- Función que controla la visualización de elementos y ejecución de acciones que dependen de si hay o no características relacionadas con el dato variable **/ if(this.caracteristicaDatoVariable == null || this.caracteristicaDatoVariable == "") { $(".dependientesDatoVariable").show(); } else $(".dependientesDatoVariable").hide(); } this.controlDependientesMontaje = function() { /**- Función que controla la visualización de elementos y ejecución de acciones que dependen de si hay o no caracteristicas relativas al montaje y cual de los valores está seleccionado. **/ if((this.caracteristicaMontaje == null || this.caracteristicaMontaje == "") && (this.caracteristicaPliego == null || this.caracteristicaPliego == "") && (this.caracteristicaTallaje == null && this.caracteristicaTallaje == "")) { $(".dependientesMontaje").show(); } if(this.caracteristicaMontaje != null && this.caracteristicaMontaje != "") { var partes = this.caracteristicaMontaje.split("_"); var idValorCaracteristicaMontajeSeleccionado = partes[0]; var ordenCaracteristicaMontajeSeleccionado = partes[1]; if(parseInt(ordenCaracteristicaMontajeSeleccionado) != 1) $(".dependientesMontaje").show(); else $(".dependientesMontaje").hide(); } } this.controlDependientesPliego = function() { /**- Función que controla la visualización de elementos y ejecución de acciones que dependen de si hay o no características relacionadas con el pliego **/ if(this.caracteristicaPliego != null && this.caracteristicaPliego != "") { $("#btn_dtf").show(); $(".btn_dtf_abajo").show(); } else { $("#btn_dtf").hide(); $(".btn_dtf_abajo").hide(); } } this.controlDependientesTallaje = function() { /**- Función que controla la visualización de elementos y ejecución de acciones en función de la característica Tallaje **/ $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); $("#btn_tallas").hide(); $("#btn_tallas").prop("disabled",true); $("#spanBtnTallas").hide(); $("#btn_calculando").hide(); $("#btn_presupuesto").hide(); $("#btn_presupuesto").prop("disabled",true); $("#precio").hide(); $("#textoRangoMaximo").html(""); $("#rangoMaximo").hide(); $("#medidasMaximo").hide(); $(".solicita-presupuesto").hide(); if(this.caracteristicaTallaje != null && this.caracteristicaTallaje != "") { if(this.cantidadProductos == 0 || this.cantidadProductos == null) { $(".dependientesTallaje").hide(); this.numeroDisenho = 1; $("#btn-mas-cantidadProducto").prop("disabled",true); $("#comboCantidad").hide(); $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); if(parseInt(eco_productos.hayStock)) { $("#spanBtnTallas").show(); $("#btn_tallas").show(); $("#btn_tallas").prop("disabled",false); } else { $("#btn_tallas").hide(); $("#btn_tallas").prop("disabled",true); $("#spanBtnTallas").hide(); } $("#btn_calculando").hide(); $("#btn_presupuesto").hide(); $("#btn_presupuesto").prop("disabled",true); $("#precio").hide(); $("#textoRangoMaximo").html(""); $("#rangoMaximo").hide(); $("#medidasMaximo").hide(); $(".solicita-presupuesto").hide(); } else { $(".dependientesTallaje").hide(); $("#btn-mas-cantidadProducto").prop("disabled",true); $("#btn-menos-cantidadProducto").prop("disabled",true); $("#btn-mas-disenhoProducto").prop("disabled",true); $("#btn-menos-disenhoProducto").prop("disabled",true); $("#cantidad").prop("disabled",true); $("#comboCantidad").show(); $("#ndesigns").prop("disabled",true); if(parseInt(eco_productos.hayStock)) { $("#btn_carrito").show(); $("#btn_carrito").prop("disabled",false); $("#btn_stock").hide(); } else { $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); $("#btn_stock").show(); } $("#precio").show(); $("#textoRangoMaximo").html(""); $("#rangoMaximo").hide(); $("#medidasMaximo").hide(); $("#cantidad-error").hide(); } } else { if(this.arrayIdsSubcategoriasSinDisenos.includes(parseInt(this.idSubcategoria)) || this.arrayIdsProductosSinDisenos.includes(parseInt(this.idProducto))) $(".dependientesTallaje").hide(); else $(".dependientesTallaje").show(); $("#cantidad").prop("disabled",false); $("#comboCantidad").show(); if(parseInt(eco_productos.hayStock)) { $("#btn_carrito").show(); $("#btn_carrito").prop("disabled",false); $("#btn_stock").hide(); } else { $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); $("#btn_stock").show(); } $("#precio").show(); } if(parseInt(eco_productos.cantidadProductos) > parseInt(eco_productos.rangoMaximo)) { $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); $("#btn_calculando").hide(); $("#btn_presupuesto").show(); $("#btn_presupuesto").prop("disabled",false); $("#precio").hide(); $("#textoRangoMaximo").html(eco_productos.rangoMaximo); $("#rangoMaximo").show(); $(".solicita-presupuesto").show(); } if(this.preciosRangosMetro != null && !this.validarMedidas()) { $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); $("#btn_calculando").hide(); $("#btn_presupuesto").show(); $("#btn_presupuesto").prop("disabled",false); $("#precio").hide(); $("#rangoMaximo").hide(); $("#medidasMaximo").show(); $(".solicita-presupuesto").show(); } } this.controlDependientesRangoMaxStock = function() { /**- Función que controla los elementos que dependen del rango máximo de un producto **/ $("#ancho-error").hide(); if(parseInt(eco_productos.hayStock)) { $("#btn_stock").hide(); //Con respecto al rango máximo. if(parseInt(eco_productos.cantidadProductos) <= parseInt(eco_productos.rangoMaximo)) { //Mirar el rango máximo de este producto $("#btn-mas-cantidadProducto").prop("disabled",false); $("#btn_carrito").show(); $("#btn_carrito").prop("disabled",false); $("#btn_calculando").hide(); $("#btn_presupuesto").hide(); $("#btn_presupuesto").prop("disabled",true); $("#precio").show(); $("#rangoMaximo").hide(); } else { $("#btn-mas-cantidadProducto").prop("disabled",false); $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); $("#btn_calculando").hide(); $("#btn_presupuesto").show(); $("#btn_presupuesto").prop("disabled",false); $("#precio").hide(); $("#textoRangoMaximo").html(eco_productos.rangoMaximo); $("#rangoMaximo").show(); $(".solicita-presupuesto").show(); } //Con respecto al rango mínimo if(parseInt(eco_productos.cantidadProductos) <= parseInt(eco_productos.rangoMinimo)) { $("#btn-menos-cantidadProducto").prop("disabled",true); if(parseInt(eco_productos.cantidadProductos) < parseInt(eco_productos.rangoMinimo)) { $("#cantidad-error").html("Mínimo: "+eco_productos.rangoMinimo); } } else { $("#btn-menos-cantidadProducto").attr("disabled",false); $("#cantidad-error").html(""); } } else {//No hay stock $("#btn_stock").show(); $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); $("#btn_calculando").hide(); $("#btn_presupuesto").hide(); $("#btn_presupuesto").prop("disabled",true); $("#precio").show(); $("#rangoMaximo").hide(); $("#medidasMaximo").hide(); //Con respecto al rango máximo. if(parseInt(eco_productos.cantidadProductos) <= parseInt(eco_productos.rangoMaximo)) { //Mirar el rango máximo de este producto $("#btn-mas-cantidadProducto").prop("disabled",false); $("#btn_calculando").hide(); $("#btn_presupuesto").hide(); $("#btn_presupuesto").prop("disabled",true); $("#precio").show(); $("#rangoMaximo").hide(); $("#medidasMaximo").hide(); } else { $("#btn-mas-cantidadProducto").prop("disabled",false); $("#btn_carrito").hide(); $("#btn_carrito").prop("disabled",true); $("#btn_calculando").hide(); $("#btn_presupuesto").show(); $("#btn_presupuesto").prop("disabled",false); $("#precio").hide(); $("#textoRangoMaximo").html(eco_productos.rangoMaximo); $("#rangoMaximo").show(); $(".solicita-presupuesto").show(); } //Con respecto al rango mínimo if(parseInt(eco_productos.cantidadProductos) <= parseInt(eco_productos.rangoMinimo)) { $("#btn-menos-cantidadProducto").prop("disabled",true); if(parseInt(eco_productos.cantidadProductos) < parseInt(eco_productos.rangoMinimo)) { $("#cantidad-error").html("Mínimo: "+eco_productos.rangoMinimo); } } else { $("#btn-menos-cantidadProducto").attr("disabled",false); $("#cantidad-error").html(""); } } } this.controlHabilitarDeshabilitar = function(){ /**- Función que controla la edición de los inputs de cantidad y disenho **/ if(!this.arrayIdsSubcategoriasSinDisenos.includes(parseInt(this.idSubcategoria)) && !this.arrayIdsProductosSinDisenos.includes(parseInt(this.idProducto))) { if(this.numeroDisenho <= 1) { $("#btn-menos-disenhoProducto").attr("disabled",true); if(this.numeroDisenho < 1) { $("#ndesigns").val(1); $("#disenho-error").html("Minimum: 1"); this.numeroDisenho = 1; } } else { $("#btn-menos-disenhoProducto").prop("disabled",false); $("#disenho-error").html(""); } } if(parseInt(this.totalPreciosRangosMetro) > 0 && this.preciosRangosMetro != null) { $(".medidasProducto").show(); this.tipoMedida = this.preciosRangosMetro[0].medida; $("#tipoMedida").html("Mesures"+' ('+this.tipoMedida+')'); } else { $(".medidasProducto").hide(); } if(this.maximoRangoMetro != 0) { switch(this.tipoMedida.toLowerCase()) { case 'mm': medida = $("#ancho").val()/1000 * $("#alto").val()/1000; break; case 'cm': medida = $("#ancho").val()/100 * $("#alto").val()/100; break; case 'dm': medida = $("#ancho").val()/10 * $("#alto").val()/10; break; case 'm': medida = $("#ancho").val() * $("#alto").val(); break; default: break; } if(medida > this.maximoRangoMetro) $("#ancho-error").show(); } if(parseInt($("#ndesigns").val()) >= parseInt($("#cantidad").val())) { if(this.caracteristicaTallaje == null || this.caracteristicaTallaje == "") { $("#cantidad").val($("#ndesigns").val()); $(".spanCantidadTallaje").html($("#ndesigns").val()); } this.cantidadProductos = $("#cantidad").val(); } if(this.imagenPlantilla != null && this.imagenPlantilla != "" && this.imagenPlantilla != undefined) $(".btn_plantilla").show(); else $(".btn_plantilla").hide(); } this.dataLayerAnadirProductoCarrito = function() { /**- Función que implementa el dataLayer de añadir producto al carrito **/ if($("#patrocinio").prop("checked")) var patrocinio = true; else var patrocinio = false; if($("#diseno").prop("checked")) var disenado = true; else var disenado = false; if($("#personalizacion").prop("checked")) var personalizado = true; else var personalizado = false; var ref = eco_productos.referrer; if(ref == "Menu" || ref == undefined) ref = "Null"; //Recorremos las características para insertarlas en el dataLayer var item_custom_parameters_f = { tipo: $("#nombreSubcategoriaProducto_es").val(), modelo: $("#nombreProducto_es").val(), disenos: $("#ndesigns").val(), descuento_patrocinio: patrocinio, disenado_por_createlow: disenado, dato_variable: personalizado, } $.each(this.caracteristicas,function(index,value) { if(eco_productos.idCategoria == value.iddependiente) { if(eco_productos.valores != null) { $.each(eco_productos.valores,function(indexVal,valueVal){ if(valueVal.idcaracteristica == value.id) { if(eco_productos.idSubcategoria == valueVal.iddependiente) { if($("#caracteristica_"+value.id).val() == valueVal.id) { var texto = value.nombreCaracteristicaEspanol.replace(/ /g,"_"); texto = reemplazarCaracteresEspeciales(texto); var clave = texto.toLowerCase(); var valor = valueVal.nombreValorCaracteristicaEspanol; item_custom_parameters_f[clave] = valor; } } } }); } } }); dataLayer.push({ ecommerce: null}); var cantidad = $("#cantidad").val(); var cantidad = $(".spanCantidadTallaje").html(); dataLayer.push({ event: "add_to_cart", ecommerce: { item_list_id: ref.toLowerCase(), item_list_name: ref, currency: "EUR", value: eco_productos.precio, items: [ { item_id: eco_productos.idProducto, item_name: $("#nombreCategoriaProducto_es").val()+" "+$("#nombreSubcategoriaProducto_es").val()+" "+$("#nombreProducto_es").val(), index: 0, item_category: $("#nombreCategoriaProducto_es").val(), price: eco_productos.precioUnitario, quantity: cantidad, item_custom_parameters: item_custom_parameters_f } ] } }); } this.dataLayerCarruselProductosRelacionados = function() { /**- Función que implementa el dataLayer del carrusel de los productos relacionados **/ //Limpiamos el dataLayer de eventoas anteriores dataLayer.push({ ecommerce: null }); //Creamos un array vacío var items = []; //Llenamos el array de items $.each($(".productosCarrusel"),function(i,value){ var precio = parseFloat(value.dataset.price); precio = Math.round(precio*100)/100; items.push({ item_id: value.dataset.id, item_name: value.dataset.name, index: i, item_category: value.dataset.category, price: precio }); }); //Construimos el dataLayer de elementos encontrados en el carrusel. dataLayer.push({ event: "view_item_list", ecommerce : { item_list_id: "productos_relacionados", item_list_name: "Productos relacionados", items: items } }); } this.dataLayerDetallesProducto = function() { /**- Función que implementa el dataLayer de la calculadora. **/ dataLayer.push({ ecommerce: null}); var ref = eco_productos.referrer; if(ref == "Menu" || ref == undefined) ref = "Null"; dataLayer.push({ event: "view_item", ecommerce: { item_list_id: ref.toLowerCase(), item_list_name: ref, items: [ { item_id: eco_productos.idProducto, item_name: $("#nombreCategoriaProducto_es").val()+" "+$("#nombreSubcategoriaProducto_es").val()+" "+$("#nombreProducto_es").val(), index: 0, item_category: $("#nombreCategoriaProducto_es").val(), price: parseFloat($("#precioUnitario").val()) } ] } }); } this.dataLayerSelectItem = function() { /**- Función que implementa el dataLayer de la calculadora. **/ dataLayer.push({ ecommerce: null}); var ref = eco_productos.referrer; if(ref == "Menu" || ref == undefined) ref = "Null"; dataLayer.push({ event: "select_item", ecommerce: { item_list_id: ref.toLowerCase(), item_list_name: ref, items: [ { item_id: eco_productos.idProducto, item_name: $("#nombreCategoriaProducto_es").val()+" "+$("#nombreSubcategoriaProducto_es").val()+" "+$("#nombreProducto_es").val(), index: 0, item_category: $("#nombreCategoriaProducto_es").val(), price: parseFloat($("#precioUnitario").val()) } ] } }); } this.dibujarComboCaracteristicaImagen = function(tipoCaracteristica) { /**- Función que dibuja el combo de las características de las imágenes cuando estas han cambiado **/ //Vaciamos el combo de los destinos. var combo = $("#comboCaracteristica_"+this.idCaracteristica); combo.empty(); var divFlechaDonw = crearElementoClasesTexto("div","flechita-abajo",null,null); combo.append(divFlechaDonw); var iDonw = crearElementoClasesTexto("i","fas fa-chevron-down",null,null); divFlechaDonw.appendChild(iDonw); var divListadoPaises = crearElementoClasesTexto("div","listado-paises listado-paises_"+this.idCaracteristica,null,null); combo.append(divListadoPaises); $.each(this.valores,function(index,valor) { if(parseInt(valor.activa) == 1) { if(valor.idcaracteristica == eco_productos.idCaracteristica && valor.iddependiente == eco_productos.idSubcategoria) { if(valor.id == eco_productos.idValorCaracteristica) { //Si es un color, colorear la imagen principal del color seleccionado if(tipoCaracteristica != null && tipoCaracteristica != "" && tipoCaracteristica.indexOf("SelectorColores") != -1) { eco_productos.fondoSeleccionado = valor.fondo; $("#imagenPrincipalProducto").css("background", valor.fondo); $("#slide_0").css("background", valor.fondo); miCarrusel.irADiapositiva("slide_0"); } var div0 = crearElementoClasesTexto("div","activo pais pais_"+valor.idcaracteristica,null,null); combo.append(div0); var div1 = crearElementoClasesTexto("div","bandera",null,null); div0.appendChild(div1); if(valor.imagen != null) { var img = crearElementoClasesTexto("img","imagen imagenCaracteristica_"+valor.idcaracteristica,null,null); img.setAttribute("src",valor.imagen); img.setAttribute("id","imagenPrincipalProducto"); div1.appendChild(img); } var divNombre = crearElementoClasesTexto("div","nombre nombreCaracteristica_"+valor.idcaracteristica,valor.nombreValorCaracteristica,null); div0.appendChild(divNombre); div0.addEventListener("click",function(e) { e.stopPropagation(); var partesId = e.currentTarget.classList[2].split("_"); var idCaracteristica = partesId[1]; var $actual = $(".listado-paises_" + idCaracteristica); $(".listado-paises").not($actual).hide(); $actual.toggle(); },false); } if(valor.id == eco_productos.idValorCaracteristica) var div0 = crearElementoClasesTexto("div","inactivo pais con-tooltip caracteristicaSeleccionada pais_"+valor.idcaracteristica,null,null); else var div0 = crearElementoClasesTexto("div","inactivo pais con-tooltip pais_"+valor.idcaracteristica,null,null); divListadoPaises.appendChild(div0); if(valor.textoToolTip != undefined && valor.textoToolTip != null && valor.textoToolTip != "") { var divToolTip = crearElementoClasesTexto("div","tooltip",valor.textoToolTip,null); div0.appendChild(divToolTip); } var div1 = crearElementoClasesTexto("div","bandera",null,null); div0.appendChild(div1); if(valor.imagen != null) { var img = crearElementoClasesTexto("img","imagen imagenCaracteristica_"+valor.idcaracteristica,null,null); img.setAttribute("src",valor.imagen); div1.appendChild(img); } var divNombre = crearElementoClasesTexto("div","nombre nombreCaracteristica_"+valor.idcaracteristica,valor.nombreValorCaracteristica,null); div0.appendChild(divNombre); div0.addEventListener("click",function(e){eco_productos.seleccionarCaracteristica(valor.idcaracteristica,valor.id,valor.tipoCaracteristica);},false); } } }); } this.dibujarImagenesProductos = function() { /**- Función que dibuja las imágenes del producto **/ var principales = $(".carousel__track"); var miniaturas = $(".carousel-thumbnails"); //Vaciamos los contenedores principales.empty(); miniaturas.empty(); //Dibujamos $.each(this.imagenesProductos,function(index,value) { if(value.iddependiente == eco_productos.idProducto && value.principal == IMAGEN_PRINCAPAL) { var div = crearElementoClasesTexto("div","carousel__slide active",null,null); div.setAttribute("id","slide_0"); div.setAttribute("loading","lazy"); div.setAttribute("alt",eco_productos.textoNombreSeo); div.setAttribute("title",eco_productos.textoNombreSeo); //div.setAttribute("style","background: url("+value.imagen+"); background-size: cover;"); div.setAttribute("data",value.imagen); principales.append(div); var img = crearElementoClasesTexto("img",null,null,null); img.setAttribute("alt",eco_productos.textoNombreSeo); img.setAttribute("title",eco_productos.textoNombreSeo); img.setAttribute("src",value.imagen); div.appendChild(img); var div = crearElementoClasesTexto("div","carousel-thumbnails__item active",null,null); div.setAttribute("id","tn_0"); miniaturas.append(div); var imagen = crearElementoClasesTexto("img",null,null,null); imagen.setAttribute("id","imagenPrincipalProducto"); imagen.setAttribute("src",value.imagen); imagen.setAttribute("loading","lazy"); div.appendChild(imagen); if(eco_productos.fondoSeleccionado != null) { $("#imagenPrincipalProducto").css("background",eco_productos.fondoSeleccionado); $("#slide_0").css("background", eco_productos.fondoSeleccionado); miCarrusel.irADiapositiva("slide_0"); } } }); var i = 1; $.each(this.imagenesProductos,function(index,value) { if(value.iddependiente == eco_productos.idProducto && value.principal == IMAGEN_SECUNDARIA) { var div = crearElementoClasesTexto("div","carousel__slide",null,null); div.setAttribute("id","slide_"+i); div.setAttribute("alt",eco_productos.textoNombreSeo); div.setAttribute("title",eco_productos.textoNombreSeo); div.setAttribute("style","background: url("+value.imagen+"); background-size: cover;"); div.setAttribute("data",value.imagen); principales.append(div); var div = crearElementoClasesTexto("div","carousel-thumbnails__item",null,null); div.setAttribute("id","tn_"+i); miniaturas.append(div); var imagen = crearElementoClasesTexto("img",null,null,null); imagen.setAttribute("src",value.imagen); imagen.setAttribute("loading","lazy"); div.appendChild(imagen); i++; } }); miCarrusel.destroyCarousel(); miCarrusel = new Carousel(); miCarrusel.constructor(); miCarrusel.iniciar(); } this.enviarMailPresupuesto = function() { /**- Función que envía un mail a picazo sobre un presupuesto pedido **/ var parametros = new Array(); parametros.push(new Parametro("correoUsuarioProducto",$("#correoUsuarioProducto").val().trim())); parametros.push(new Parametro("mensajeUsuario",this.mensajePresupuesto)); parametros.push(new Parametro("mensajeAdmin",this.mensajePresupuestoEspanol)); parametros.push(new Parametro("idPresupuesto",this.idPresupuesto)); this.ajax.pedir("productosControl.enviarMailPresupuesto",parametros,XJSON,ASYNC,"eco_productos.postEnviarMailPresupuesto"); } this.mensajeAvisoCierre = function(tipoCaracteristica,idCaracteristica) { /**- Función que muestra un mensaje de aviso condicionado por los parametros, @param tipoCaracteristica, el campo tipo de una característica. @param idCaracteristica, el identificador de la característica de la que depende el valor sobre el que se ejecuta la acción. **/ var valorValorCaracteristica = $("#"+idCaracteristica+" option:selected").val(); if(tipoCaracteristica == "Cierre" && parseInt(valorValorCaracteristica) == 85) { $(".avisopequecaracteristicas").show(); } else $(".avisopequecaracteristicas").hide(); } this.redirigirProducto = function(valor) { /**- Función que redirige la página en función del parámetros seleccionados. Seleccionaremos la primera opción de los productos. **/ $("#idProducto").val(valor); var nombreCategoriaEs = null; var nombreSubcategoriaEs = null; var nombreProductoEs = null; $.each(this.productos,function(index,value){ if(value.id == valor) { nombreCategoriaEs = value.nombreCategoria_es; nombreSubcategoriaEs = value.nombreSubcategoria_es; nombreProductoEs = value.nombreProducto_es; $("#cantidadDefectoProducto").val(value.cantidad); $("#cantidad").val(value.cantidad); $(".spanCantidadTallaje").html(value.cantidad); $("#medidaDefAlto").val(value.medidadefalto); $("#medidaDefAncho").val(value.medidadefancho); $("#medidaMinAlto").val(value.medidaminalto); $("#medidaMinAncho").val(value.medidaminancho); $("#medidaMaxAlto").val(value.medidamaxalto); $("#medidaMaxAncho").val(value.medidamaxancho); $("#alto").val(value.medidadefalto); $("#ancho").val(value.medidadefancho); } }); var precioBaseReal = null; var parametros = new Array(); parametros.push(new Parametro("idProducto",valor)); parametros.push(new Parametro("idRango",eco_productos.idRangoMaximo)); var resultado = iu.ajax.pedir("productosControl.buscarPrecioBase",parametros,XJSON,SYNC,null); if(resultado.tipo == "Respuesta" && resultado.total > 0) { precioBaseReal = parseFloat(resultado.lista[0].precio).toFixed(2); precioBaseReal = precioBaseReal*100; precioBaseReal = precioBaseReal/100; } var parametros = new Array(); parametros.push(new Parametro("referrer","Product")); this.ajax.pedir("controlador.guardarSeleccionProducto",parametros,XJSON,ASYNC,"eco_productos.postGuardarSeleccionProducto"); dataLayer.push({ ecommerce: null}); dataLayer.push({ event: "select_item", ecommerce: { item_list_id: "product", item_list_name: "Product", items: [ { item_id: valor, item_name: nombreCategoriaEs+" "+nombreSubcategoriaEs+" "+nombreProductoEs, index: 0, item_category: nombreCategoriaEs, price: precioBaseReal } ] } }); this.recargarImprescindibles(); } this.redirigirSubcategoria = function() { /**- Función que redirige la página en función del parámetros seleccionados. Vamos a pedir el primer tamaño o producto de la categoría seleccionada, y recargaremos la página. **/ //Cogemos la url amigable var url = $("#modelo option:selected").attr("data-link"); var idSubcategoria = $("#modelo").val(); var idProductoDL = null; var nombreCategoriaEs = null; var nombreSubcategoriaEs = null; var nombreProductoEs = null; $.each(this.productos,function(index,value){ if(value.idsubcategoria == idSubcategoria) { if(value.defecto) { idProductoDL = value.id; nombreCategoriaEs = value.nombreCategoria_es; nombreSubcategoriaEs = value.nombreSubcategoria_es; nombreProductoEs = value.nombreProducto_es; } } }); var precioBaseReal = null; var parametros = new Array(); parametros.push(new Parametro("idProducto",idProductoDL)); parametros.push(new Parametro("idRango",eco_productos.idRangoMaximo)); var resultado = iu.ajax.pedir("productosControl.buscarPrecioBase",parametros,XJSON,SYNC,null); if(resultado.tipo == "Respuesta" && resultado.total > 0) { precioBaseReal = parseFloat(resultado.lista[0].precio).toFixed(2); precioBaseReal = precioBaseReal*100; precioBaseReal = precioBaseReal/100; } var parametros = new Array(); parametros.push(new Parametro("referrer","Product")); this.ajax.pedir("controlador.guardarSeleccionProducto",parametros,XJSON,ASYNC,"eco_productos.postGuardarSeleccionProducto"); dataLayer.push({ ecommerce: null}); dataLayer.push({ event: "select_item", ecommerce: { item_list_id: "product", item_list_name: "Product", items: [ { item_id: idProductoDL, item_name: nombreCategoriaEs+" "+nombreSubcategoriaEs+" "+nombreProductoEs, index: 0, item_category: nombreCategoriaEs, price: precioBaseReal } ] } }); //Redirigimos la web window.location.href = url; } this.seleccionarCaracteristica = function(idCaracteristica,idValorCaracteristica,tipoCaracteristica) { /**- Función que recoje el identificador de la característica seleccionada cuando el combo padre es el de las características con imagen. @param idCaracteristica, identificador de la característica cuyo valor estamos modificando. @param idValorCaracteristica, identificador del valor de la caracteristica. @param tipoCaracteristica, tipo de caracteristica. **/ this.idCaracteristica = idCaracteristica; if(this.caracteristicaTallaje != idCaracteristica) { this.idValorCaracteristica = idValorCaracteristica; //Seleccionamos el valor de la característica correspondiente $("#caracteristica_"+idCaracteristica).val(idValorCaracteristica); $("#caracteristica_"+idCaracteristica).prop('selected', false).eq(idValorCaracteristica).prop('selected', true); if(tipoCaracteristica == "Montaje") { $.each(eco_productos.caracteristicas,function(index,value){ if(value.iddependiente == eco_productos.idCategoria && value.tipoCaracteristica == tipoCaracteristica) { $.each(eco_productos.valores,function(indexVal,valueVal) { if(valueVal.id == idValorCaracteristica) { $("#caracteristicaMontaje").val(idCaracteristica+"_"+valueVal.orden); eco_productos.caracteristicaMontaje = idCaracteristica+"_"+valueVal.orden; } }); } }); } this.dibujarComboCaracteristicaImagen(tipoCaracteristica); this.recargarImprescindiblesActualizarPrecio(); } else { this.cogerValoresCaracteristicasTallaje(); } } this.validarMedidas = function() { /**- Función que valida el mínimo de las medidas cuando tenemos un producto a medida @return true o false en función de si las medidas pasan o no los controles de validación definidos. **/ if((this.medidaMinAlto != null && parseInt($("#alto").val()) < parseInt(this.medidaMinAlto))) { $("#medidas-error-minimas").html("Minimum : "+this.medidaMinAlto+this.tipoMedida); $("#medidas-error-minimas").show(); return false; } if((this.medidaMinAncho != null && parseInt($("#ancho").val()) < parseInt(this.medidaMinAncho))) { $("#medidas-error-minimas").html("Minimum : "+this.medidaMinAncho+this.tipoMedida); $("#medidas-error-minimas").show(); return false; } if((this.medidaMaxAlto != null && parseInt($("#alto").val()) > parseInt(this.medidaMaxAlto))) { $("#medidas-error-minimas").html("Maximum : "+this.medidaMaxAlto+this.tipoMedida); $("#medidas-error-minimas").show(); return false; } if((this.medidaMaxAncho != null && parseInt($("#ancho").val()) > parseInt(this.medidaMaxAncho))) { $("#medidas-error-minimas").html("Maximum : "+this.medidaMaxAncho+this.tipoMedida); $("#medidas-error-minimas").show(); return false; } return true; } this.validarNumeroEntero = function(nombre) { /**- Función que valida el número entero en un input #param nombre, identificador del input. **/ return "1234567890".indexOf($("#"+nombre).val().fromCharCode($("#"+nombre).which)) >= 0; } /**MÉTODOS PORST**/ this.postAnadirDatosSesion = function(respuesta) { /**- Función que procesa el resultado de una petición. @param respuesta, ok **/ //funcion que repinte el minicarrito //ahora está puesto a PELO var precio = 0; if(respuesta.lista.producto['descuento'] != undefined && respuesta.lista.producto['descuento'] == 1) { if(respuesta.lista.producto['disenhadoEmpresa'] != undefined && respuesta.lista.producto['disenhadoEmpresa'] == 1) { if(respuesta.lista.producto['productosPersonalizados'] != undefined && respuesta.lista.producto['productosPersonalizados'] == 1) { precio = respuesta.lista.producto['precioSinIVADescuentoDisenoPersonalizado']; } else { precio = respuesta.lista.producto['precioSinIVADescuentoDiseno']; } } else { precio = respuesta.lista.producto['precioSinIVADescuento']; } } else { if(respuesta.lista.producto['disenhadoEmpresa'] != undefined && respuesta.lista.producto['disenhadoEmpresa'] == 1) { if(respuesta.lista.producto['productosPersonalizados'] != undefined && respuesta.lista.producto['productosPersonalizados'] == 1) { precio = respuesta.lista.producto['precioSinIVADisenoPersonalizado']; } else { precio = respuesta.lista.producto['precioSinIVADiseno']; } } else { if(respuesta.lista.producto['productosPersonalizados'] != undefined && respuesta.lista.producto['productosPersonalizados'] == 1) { precio = respuesta.lista.producto['precioSinIVAPersonalizado']; } else { precio = respuesta.lista.producto['precioSinIVA']; } } } this.dataLayerAnadirProductoCarrito(); var caracteristicas_nuevo = ''; var fondo = null; var textoToolTip = null; if(respuesta.lista.producto.caracteristicas != undefined) { $.each(respuesta.lista.producto.caracteristicas, function(index,value){ if(value.valorCaracteristica != "") caracteristicas_nuevo += value.valorCaracteristica; if(value.tipoCaracteristica != null && value.tipoCaracteristica.indexOf("SelectorColores") != -1 && value.textoToolTip != "") { textoToolTip = value.textoToolTip; caracteristicas_nuevo += ' - ' + textoToolTip; } if(value.tipoCaracteristica != null && value.tipoCaracteristica.indexOf("SelectorColores") != -1 && value.fondo != "") fondo = value.fondo; caracteristicas_nuevo += ' / '; }); //caracteristicas_nuevo = caracteristicas_nuevo.substr(0, caracteristicas_nuevo.length-3); } if(respuesta.lista.producto['ancho'] != undefined && respuesta.lista.producto['ancho'] != null && respuesta.lista.producto['ancho'] != "") caracteristicas_nuevo += respuesta.lista.producto['ancho']+" x "+respuesta.lista.producto['alto']+" ("+respuesta.lista.producto['tipoMedida']+") / "; caracteristicas_nuevo += "Conceptions: "+respuesta.lista.producto['cantidadDisenhos']; if(fondo != null) $(".tabla-listado-productos-minicarrito table").append(''+respuesta.lista.producto.nombre_categoria+' '+respuesta.lista.producto.nombre_subcategoria+' '+respuesta.lista.producto.nombre_producto+'
'+caracteristicas_nuevo+''+respuesta.lista.producto.cantidadTotal+' u.'+formatoPrecioHTML(precio)+''); else $(".tabla-listado-productos-minicarrito table").append(''+respuesta.lista.producto.nombre_categoria+' '+respuesta.lista.producto.nombre_subcategoria+' '+respuesta.lista.producto.nombre_producto+'
'+caracteristicas_nuevo+''+respuesta.lista.producto.cantidadTotal+' u.'+formatoPrecioHTML(precio)+''); $(".dropdown-carrito").addClass("movido"); if(respuesta.lista.total < 120) { $(".mensaje-carrito-tefalta span").html(formatoPrecioHTML((120)-respuesta.lista.total)); $(".mensaje-carrito-tefalta").show(); $(".mensaje-carrito-enviogratis").hide(); } else { $(".mensaje-carrito-tefalta").hide(); $(".mensaje-carrito-enviogratis").show(); } $("#carritoPrecioTotal").html(formatoPrecioHTML(respuesta.lista.total)); $("#cantidadProductosCarritoMenu").html(parseInt(respuesta.lista.cuantos)); $(".dropdown-carrito").addClass("movido"); $(".page-cover").show(); } this.postBuscarImagenPlantilla = function(respuesta) { /**- Función que procesa el resultado de una petición. @param respuesta, Objeto Respuesta. **/ //Procesamos la respuesta if(respuesta.tipo == "Respuesta" && respuesta.total == 1) { this.imagenPlantilla = respuesta.lista[0]['imagen']; $(".btn_plantilla").attr("src",this.imagenPlantilla); $(".btn_plantilla").attr("href",this.imagenPlantilla); } else this.imagenPlantilla = null; } this.postBuscarImagenPrincipal = function(respuesta) { /**- Función que procesa el resultado de una petición. @param respuesta, Objeto Respuesta. **/ //Procesamos la respuesta if(respuesta.tipo == "Respuesta" && respuesta.total == 1) { this.imagenProducto = respuesta.lista[0]['imagen']; $("#imagenSubcategoriaProducto").attr("src",this.imagenProducto); } } this.postBuscarPrecio = function(respuesta) { /**- Función que procesa el resultado de una petición. @param respuesta, Objeto Respuesta. **/ //Procesamos la respuesta if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { this.precioConIVA = respuesta.lista['precioConIVA']; this.precioConIVAUnidad = respuesta.lista['precioConIVAUnidad']; this.precioConIVADescuento = respuesta.lista['precioConIVADescuento']; this.precioConIVADescuentoUnidad = respuesta.lista['precioConIVADescuentoUnidad']; this.precioConIVADiseno = respuesta.lista['precioConIVADiseno']; this.precioConIVADisenoUnidad = respuesta.lista['precioConIVADisenoUnidad']; this.precioConIVAPersonalizado = respuesta.lista['precioConIVAPersonalizado']; this.precioConIVAPersonalizadoUnidad = respuesta.lista['precioConIVAPersonalizadoUnidad']; this.precioConIVADescuentoDiseno = respuesta.lista['precioConIVADescuentoDiseno']; this.precioConIVADescuentoDisenoUnidad = respuesta.lista['precioConIVADescuentoDisenoUnidad']; this.precioConIVADescuentoPersonalizado = respuesta.lista['precioConIVADescuentoPersonalizado']; this.precioConIVADescuentoPersonalizadoUnidad = respuesta.lista['precioConIVADescuentoPersonalizadoUnidad']; this.precioConIVADisenoPersonalizado = respuesta.lista['precioConIVADisenoPersonalizado']; this.precioConIVADisenoPersonalizadoUnidad = respuesta.lista['precioConIVADisenoPersonalizadoUnidad']; this.precioConIVADescuentoDisenoPersonalizado = respuesta.lista['precioConIVADescuentoDisenoPersonalizado']; this.precioConIVADescuentoDisenoPersonalizadoUnidad = respuesta.lista['precioConIVADescuentoDisenoPersonalizadoUnidad']; this.precioSinIVA = respuesta.lista['precioSinIVA']; this.precioSinIVAUnidad = respuesta.lista['precioSinIVAUnidad']; this.precioSinIVADescuento = respuesta.lista['precioSinIVADescuento']; this.precioSinIVADescuentoUnidad = respuesta.lista['precioSinIVADescuentoUnidad']; this.precioSinIVADiseno = respuesta.lista['precioSinIVADiseno']; this.precioSinIVADisenoUnidad = respuesta.lista['precioSinIVADisenoUnidad']; this.precioSinIVAPersonalizado = respuesta.lista['precioSinIVAPersonalizado']; this.precioSinIVAPersonalizadoUnidad = respuesta.lista['precioSinIVAPersonalizadoUnidad']; this.precioSinIVADescuentoDiseno = respuesta.lista['precioSinIVADescuentoDiseno']; this.precioSinIVADescuentoDisenoUnidad = respuesta.lista['precioSinIVADescuentoDisenoUnidad']; this.precioSinIVADescuentoPersonalizado = respuesta.lista['precioSinIVADescuentoPersonalizado']; this.precioSinIVADescuentoPersonalizadoUnidad = respuesta.lista['precioSinIVADescuentoPersonalizadoUnidad']; this.precioSinIVADisenoPersonalizado = respuesta.lista['precioSinIVADisenoPersonalizado']; this.precioSinIVADisenoPersonalizadoUnidad = respuesta.lista['precioSinIVADisenoPersonalizadoUnidad']; this.precioSinIVADescuentoDisenoPersonalizado = respuesta.lista['precioSinIVADescuentoDisenoPersonalizado']; this.precioSinIVADescuentoDisenoPersonalizadoUnidad = respuesta.lista['precioSinIVADescuentoDisenoPersonalizadoUnidad']; this.actualizarCondicionesProducto(); this.controlDependientesRangoMaxStock(); this.controlHabilitarDeshabilitar(); this.controlDependientesTallaje(); this.controlDependientesPliego(); this.controlDependientesDatoVariable(); this.controlDependientesMontaje(); } else { iu.comunicarMio(respuesta.valor,respuesta.mensaje,"productos"); } } this.postBuscarProducto = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { this.pesoProducto = respuesta.lista[0].peso; $("#pesoProducto").val(this.pesoProducto); this.defectoProducto = respuesta.lista[0].defecto; $("#defectoProducto").val(this.defectoProducto); this.hayStock = respuesta.lista[0].stock; $("#hayStockProducto").val(this.hayStock); this.nombreProducto = respuesta.lista[0].nombreProducto; $("#nombreProducto").val(respuesta.lista[0].nombreProducto); this.idProductoStock = respuesta.lista[0].idproductostock; $("#idProductoStock").val(respuesta.lista[0].idproductostock); this.textoNombreSeo = respuesta.lista[0].textoNombreSeo; } } this.postBuscarProductoEspanol = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { $("#nombreProducto_es").val(respuesta.lista[0].nombreProducto); } } this.postBuscarUsuario = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta") { dataLayer.push({ user_id: respuesta.lista }); } } this.postCargarCarrito = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { this.carrito = respuesta.lista; } else { this.carrito = null; } } this.postCargarCategorias = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { //Cargamos las variables de clase de lós paneles this.categorias = respuesta.lista; this.contadorCarga++; //Calculamos los precios con la cantidad de productos mínima. if(this.contadorCarga == 7) { if(this.caracteristicaTallaje == null || this.caracteristicaTallaje == "") this.calcularPrecio(); else { this.controlHabilitarDeshabilitar(); this.controlDependientesRangoMaxStock(); this.controlDependientesTallaje(); this.controlDependientesPliego(); this.controlDependientesDatoVariable(); this.controlDependientesMontaje(); } } } else this.categorias = null; } this.postCargarCaracteristicas = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { //Cargamos las variables de clase de lós paneles this.caracteristicas = respuesta.lista; this.totalCaracteristicas = respuesta.total; this.contadorCarga++; //Calculamos los precios con la cantidad de productos mínima. if(this.contadorCarga == 7) { if(this.caracteristicaTallaje == null || this.caracteristicaTallaje == "") this.calcularPrecio(); else { this.controlHabilitarDeshabilitar(); this.controlDependientesRangoMaxStock(); this.controlDependientesTallaje(); this.controlDependientesPliego(); this.controlDependientesDatoVariable(); this.controlDependientesMontaje(); } } this.contadorCargaSelectColores++; if(this.contadorCargaSelectColores == 2) { $("#imagenPrincipalProducto").css("background",this.fondoSeleccionado); $("#slide_0").css("background", this.fondoSeleccionado); miCarrusel.irADiapositiva("slide_0"); } } else { this.caracteristicas = null; this.totalCaracteristicas = 0; } } this.postCargarImagenesSubcategorias = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { //Cargamos las variables de clase de lós paneles this.imagenesSubcategorias = respuesta.lista; } else this.imagenesSubcategorias = null; } this.postCargarImagenesProductos = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { //Cargamos las variables de clase de lós paneles this.imagenesProductos = respuesta.lista; this.dibujarImagenesProductos(); } else this.imagenesProductos = null; } this.postCargarPrecioNDiseno = function(respuesta) { /**- Función que procesa la respuesta de un apetición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { //Cargamos las variables de clase. this.preciosNDiseno = respuesta.lista; this.contadorCarga++; //Calculamos los precios con la cantidad de productos mínima. if(this.contadorCarga == 7) { if(this.caracteristicaTallaje == null || this.caracteristicaTallaje == "") this.calcularPrecio(); else { this.controlHabilitarDeshabilitar(); this.controlDependientesRangoMaxStock(); this.controlDependientesTallaje(); this.controlDependientesPliego(); this.controlDependientesDatoVariable(); this.controlDependientesMontaje(); } } } else this.preciosNDiseno = null; } this.postCargarPreciosRangosMetro = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, objeto Respuesta. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { this.preciosRangosMetro = respuesta.lista; this.totalPreciosRangosMetro = respuesta.total; this.maximoRangoMetro = respuesta.lista[((respuesta.total)-1)].maximo; this.minimoRangoMetro = respuesta.lista[0].minimo; this.controlHabilitarDeshabilitar(); this.contadorCarga++; //Calculamos los precios con la cantidad de productos mínima. if(this.contadorCarga == 7) { if(this.caracteristicaTallaje == null || this.caracteristicaTallaje == "") this.calcularPrecio(); else { this.controlHabilitarDeshabilitar(); this.controlDependientesRangoMaxStock(); this.controlDependientesTallaje(); this.controlDependientesPliego(); this.controlDependientesDatoVariable(); this.controlDependientesMontaje(); } } } else { this.preciosRangosMetro = null; this.totalPreciosRangosMetro = 0; this.controlHabilitarDeshabilitar(); this.contadorCarga++; //Calculamos los precios con la cantidad de productos mínima. if(this.contadorCarga == 7) { if(this.caracteristicaTallaje == null || this.caracteristicaTallaje == "") this.calcularPrecio(); else { this.controlHabilitarDeshabilitar(); this.controlDependientesRangoMaxStock(); this.controlDependientesTallaje(); this.controlDependientesPliego(); this.controlDependientesDatoVariable(); this.controlDependientesMontaje(); } } } } this.postCargarProductos = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { //Cargamos las variables de clase de lós paneles this.productos = respuesta.lista; this.contadorCarga++; //Calculamos los precios con la cantidad de productos mínima. if(this.contadorCarga == 7) { if(this.caracteristicaTallaje == null || this.caracteristicaTallaje == "") this.calcularPrecio(); else { this.controlHabilitarDeshabilitar(); this.controlDependientesRangoMaxStock(); this.controlDependientesTallaje(); this.controlDependientesPliego(); this.controlDependientesDatoVariable(); this.controlDependientesMontaje(); } } } else this.productos = null; } this.postCargarSubcategorias = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { //Cargamos las variables de clase de lós paneles this.subcategorias = respuesta.lista; this.contadorCarga++; //Calculamos los precios con la cantidad de productos mínima. if(this.contadorCarga == 7) { if(this.caracteristicaTallaje == null || this.caracteristicaTallaje == "") this.calcularPrecio(); else { this.controlHabilitarDeshabilitar(); this.controlDependientesRangoMaxStock(); this.controlDependientesTallaje(); this.controlDependientesPliego(); this.controlDependientesDatoVariable(); this.controlDependientesMontaje(); } } } else this.subcategorias = null; } this.postCargarValoresCaracteristicas = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Respuesta con los resultados de la petición. **/ if(respuesta.tipo == "Respuesta" && respuesta.total > 0) { //Cargamos las variables de clase de lós paneles this.valores = respuesta.lista; this.contadorCarga++; //Calculamos los precios con la cantidad de productos mínima. if(this.contadorCarga == 7) { if(this.caracteristicaTallaje == null || this.caracteristicaTallaje == "") this.calcularPrecio(); else { this.controlHabilitarDeshabilitar(); this.controlDependientesRangoMaxStock(); this.controlDependientesTallaje(); this.controlDependientesPliego(); this.controlDependientesDatoVariable(); this.controlDependientesMontaje(); } } this.contadorCargaSelectColores++; if(this.contadorCargaSelectColores == 2) { $("#imagenPrincipalProducto").css("background",this.fondoSeleccionado); $("#slide_0").css("background", this.fondoSeleccionado); miCarrusel.irADiapositiva("slide_0"); } } else this.valores = null; } this.postEnviarMailPresupuesto = function(respuesta) { /**- Función que procesa la respuesta de una petición ajax asíncrona. @respuesta, Objeto Resultado con los resultados de la petición. **/ $("#presupuestoModal").hide(); iu.comunicarMio(respuesta.valor, respuesta.mensaje, "presupuestoEnviado"); } this.postGuardarPresupuesto = function(respuesta) { /**- Función que procesa el resultado de una petición asíncrona. @param respuesta, Objeto Resultado. **/ if(respuesta.tipo == "Resultado" && respuesta.valor == "Ok") { eco_productos.idPresupuesto = respuesta.idregistro; eco_productos.enviarMailPresupuesto(); $("#presupuestoModal").hide(); } else { //Ocultamos el modal y mostramos error $("#presupuestoModal").hide(); iu.comunicarMio(respuesta.valor, respuesta.mensaje,"productos"); } } this.postGuardarSeleccionProducto = function(respuesta) { /**- Función que procesa el resultado de una petición asíncrona. @param respuesta, Objeto Resultado. **/ if(!(respuesta.tipo == "Resultado" && respuesta.valor == "Ok")) iu.comunicarMio(respuesta.valor, respuesta.mensaje,"productos"); } } var eco_productos = new Productos(); $(document).ready(function(){ eco_productos.iniciar(); $(document).on('click', function(e){ e.stopPropagation(); if(e.target.id != "btn_tallas") { if(e.target.id != undefined && e.target.id != "") { var partesId = e.target.id.split("_"); var idCaracteristica = partesId[1]; var $actual = $(".listado-paises_" + idCaracteristica); $(".listado-paises").not($actual).hide(); if(idCaracteristica != eco_productos.caracteristicaTallaje) { $('.listado-paises:visible').hide(); // cierra todos los dropdowns abiertos } } else $('.listado-paises:visible').hide(); // cierra todos los dropdowns abiertos } eco_productos.cogerValoresCaracteristicasTallaje(); }); $("#aceptarBotonQueEsEstoProducto").click(function(){ $("#patrocinio").prop("checked",true); $("#que-es-esto").modal("hide"); eco_productos.actualizarCondicionesProducto(); }); $("#aceptarBtnPersonalizacionIndividual").click(function(){ $("#personalizacion").prop("checked",true); $("#personalizacion-individual").modal("hide"); eco_productos.actualizarCondicionesProducto(); }); $(".activo.pais").click(function(e) { e.stopPropagation(); var partesId = e.currentTarget.classList[2].split("_"); var idCaracteristica = partesId[1]; var $actual = $(".listado-paises_" + idCaracteristica); $(".listado-paises").not($actual).hide(); $actual.toggle(); eco_productos.cogerValoresCaracteristicasTallaje(); }); $("#alto").change(function() { $("#medidas-error-minimas").html(""); $("#medidas-error-minimas").hide(); eco_productos.validarMedidas(); }); $("#ancho").change(function() { $("#medidas-error-minimas").html(""); $("#medidas-error-minimas").hide(); eco_productos.validarMedidas(); }); $("#btn_calculadoraDTFModal").click(function(){ eco_productos.calcularDTFModal(); }); $("#btn_carrito").click(function(){ $("#btn_calculando").hide(); $("#btn_carrito").prop("disabled",true); eco_productos.anadirProductoSesion(); setTimeout(function(){ $("#btn_carrito").prop("disabled",false); },1000); }); $("#btn_dtf").click(function() { $("#errorCalculadoraDTFModal").html(""); $("#anchoCalculadoraDTFModal").val(""); $("#altoCalculadoraDTFModal").val(""); $("#cantidadCalculadoraDTFModal").val(""); $("#avisoscalculadoraDTF").html(""); if(eco_productos.caracteristicas != null) { $.each(eco_productos.caracteristicas,function(index,value){ if(value.tipoCaracteristica == "Pliego") { if(eco_productos.valores != null) { $.each(eco_productos.valores,function(indexVal,valueVal){ if(valueVal.idcaracteristica == value.id) { if($("#caracteristica_"+value.id).val() == valueVal.id) eco_productos.pliego = valueVal.nombreValorCaracteristica; } }); } } }); } $("#tituloDTFModal").html("Taille de la feuille sélectionnée : "+eco_productos.pliego); $("#calculadoraDTFModal").modal("show"); }); $(".btn_dtf_abajo").click(function() { $("#errorCalculadoraDTFModal").html(""); $("#anchoCalculadoraDTFModal").val(""); $("#altoCalculadoraDTFModal").val(""); $("#cantidadCalculadoraDTFModal").val(""); $("#avisoscalculadoraDTF").html(""); if(eco_productos.caracteristicas != null) { $.each(eco_productos.caracteristicas,function(index,value){ if(value.tipoCaracteristica == "Pliego") { if(eco_productos.valores != null) { $.each(eco_productos.valores,function(indexVal,valueVal){ if(valueVal.idcaracteristica == value.id) { if($("#caracteristica_"+value.id).val() == valueVal.id) eco_productos.pliego = valueVal.nombreValorCaracteristica; } }); } } }); } $("#tituloDTFModal").html("Taille de la feuille sélectionnée : "+eco_productos.pliego); $("#calculadoraDTFModal").modal("show"); }); $("#btn_enviarMailPresupuesto").click(function(){ eco_productos.enviarMailPresupuesto(); }); $("#btn-mas-cantidadProducto").click(function(){ $("#btn_carrito").prop("disabled",true); //$("#btn_carrito").hide(); //$("#btn_calculando").show(); eco_productos.actualizarPrecio("cantidad","mas"); }); $("#btn-mas-disenhoProducto").click(function(){ $("#btn_carrito").prop("disabled",true); //$("#btn_carrito").hide(); //$("#btn_calculando").show(); eco_productos.actualizarPrecio("ndesigns","mas"); }); $("#btn-menos-cantidadProducto").click(function(){ $("#btn_carrito").prop("disabled",true); //$("#btn_carrito").hide(); //$("#btn_calculando").show(); eco_productos.actualizarPrecio("cantidad","menos"); }); $("#btn-menos-disenhoProducto").click(function(){ $("#btn_carrito").prop("disabled",true); //$("#btn_carrito").hide(); //$("#btn_calculando").show(); eco_productos.actualizarPrecio("ndesigns","menos"); }); $("#btn_presupuesto").click(function(){ eco_productos.modalPresupuesto(); }); $("#btn_tallas").click(function(){ $(".listado-paises").hide(); $(".listado-paises_"+eco_productos.caracteristicaTallaje+":hidden").toggle(); }); $(".calculadoraDTF").on("input",function(){ this.value = this.value .replace(/[^0-9]/g, '') .replace(/^0+/, ''); }); $(".cantidades").on("input", function () { this.value = this.value .replace(/[^0-9]/g, '') .replace(/^0+/, ''); if (this.value.length > 5) { this.value = '99999'; } }); $(".cantidades").change(function () { eco_productos.cogerValoresCaracteristicasTallaje(); }); $("#diseno").change(function(){ eco_productos.actualizarCondicionesProducto(); }); $("#enlaceModalImagenesCierresPulseras").click(function(){ iu.comunicarMio("","
Sans FermetureRéglable à Bille
Réglable à Bille
Réglable en Métal
Réglable en Métal
Réglable à Ressort
Réglable à Ressort
Sécurité en Plastique
Sécurité en Plastique
Sécurité en Métal
Sécurité en Métal
Économique / Satiné 10mm
Économique / Satiné 15mm
Économique / Satiné 20mm
Épais 10mm
Épais 15mm
Épais 20mm
","productos"); }); $("#enlaceModalDisenoMontaje").click(function(){ iu.comunicarMio("","

Nombre total de designs

Indiquez ici le nombre total de designs différents dont vous avez besoin.

Lors des prochaines étapes du processus d’achat, vous pourrez télécharger les fichiers et indiquer la taille d’impression de chaque design, ainsi que la quantité d’impressions nécessaire pour chacun.

Veuillez noter que la quantité finale d’impressions sera ajustée aux unités pouvant tenir sur la feuille, en fonction de la taille d’impression de chaque design et du format de feuille choisi. Cette quantité pourra donc être inférieure ou supérieure à celle demandée.

","productos"); }); $("#enlaceModalMontaje").click(function(){ iu.comunicarMio("","

Montage du fichier

Si votre fichier d’impression est monté au format de la feuille choisie, prêt à être imprimé, sélectionnez l’option Prêt à imprimer. Nous imprimerons le fichier reçu, sans retouches ni modifications.

Si vous avez votre ou vos designs séparément et souhaitez que nous les montions au format de la feuille d’impression, sélectionnez J’ai besoin du montage. Vous devrez nous indiquer la taille de chaque design et nous les disposerons de manière optimisée sur une feuille du format choisi, dont seront imprimées autant de copies que vous avez sélectionnées. Utilisez notre calculateur de feuilles pour calculer combien de copies vous avez besoin afin d’obtenir un nombre d’unités précis.

Contactez-nous si vous avez besoin d’options de design supplémentaires ou d’assistance pour l’impression.

","productos"); }); $("#enlaceModalModalPliego").click(function(){ iu.comunicarMio("","Comment calculer le nombre de feuilles nécessaires pour mon impression DTF ?

Utilisez notre calculateur de feuilles (sous le bouton d’achat)
et obtenez facilement et rapidement les unités idéales pour votre commande.","productos"); }); $("#enlaceModalModalSemitonos").click(function(){ iu.comunicarMio("","","productos"); }); $("#patrocinio").change(function(){ if($("#patrocinio").prop("checked")) { if(window.innerWidth < 992) { $('html, body').animate({ scrollTop: $("#patrocinio").offset().top - 500 }); } $("#que-es-esto").modal("show"); } $("#patrocinio").prop("checked",false); eco_productos.actualizarCondicionesProducto(); }); $("#personalizacion").change(function(){ if($("#personalizacion").prop("checked")) { if(window.innerWidth < 992) { $('html, body').animate({ scrollTop: $("#patrocinio").offset().top - 500 }); } $("#personalizacion-individual").modal("show"); } $("#personalizacion").prop("checked",false); eco_productos.actualizarCondicionesProducto(); }); });