/** *@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)+" IVA incluído"); } else { this.precio = this.precioSinIVADescuentoDiseno; this.precioUnitario = this.precioSinIVADescuentoDisenoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADescuentoDiseno)); $(".iva").html(formatoPrecioHTML(this.precioConIVADescuentoDiseno)+" IVA incluído"); } } else { if($("#personalizacion").prop("checked")) { this.precio = this.precioSinIVADisenoPersonalizado; this.precioUnitario = this.precioSinIVADisenoPersonalizadoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADisenoPersonalizado)); $(".iva").html(formatoPrecioHTML(this.precioConIVADisenoPersonalizado))+" IVA incluído"; } else { this.precio = this.precioSinIVADiseno; this.precioUnitario = this.precioSinIVADisenoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADiseno)); $(".iva").html(formatoPrecioHTML(this.precioConIVADiseno)+" IVA incluído"); } } } 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)+" IVA incluído"); } else { this.precio = this.precioSinIVADescuento; this.precioUnitario = this.precioSinIVADescuentoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVADescuento)); $(".iva").html(formatoPrecioHTML(this.precioConIVADescuento)+" IVA incluído"); } } else { if($("#personalizacion").prop("checked")) { this.precio = this.precioSinIVAPersonalizado; this.precioUnitario = this.precioSinIVAPersonalizadoUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVAPersonalizado)); $(".iva").html(formatoPrecioHTML(this.precioConIVAPersonalizado)+" IVA incluído"); } else { this.precio = this.precioSinIVA; this.precioUnitario = this.precioSinIVAUnidad; $("#visual-price").html(formatoPrecioHTML(this.precioSinIVA)); $(".iva").html(formatoPrecioHTML(this.precioConIVA)+" IVA incluído"); } } } $("#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("Deve introduzir as medidas"); return; } if(alto == "" || alto == null) { $("#errorCalculadoraDTFModal").html("Deve introduzir as medidas"); return; } if(parseFloat(ancho) > parseInt(anchoDefecto)) { $("#errorCalculadoraDTFModal").html("Utilizaremos "+anchoDefecto+"cm. "+"Introduza uma largura inferior."); return; } if(parseFloat(alto) > parseInt(altoDefecto)) { $("#errorCalculadoraDTFModal").html("Utilizaremos "+altoDefecto+"cm. "+"Introduza uma altura inferior."); return; } if(cantidad == "" || cantidad == null) { $("#errorCalculadoraDTFModal").html("Deve introduzir a quantidade"); 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 = "Necessita de "+this.nPliegos+" un."; else var texto = "Necessita de "+this.nPliegos+" un."; $("#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("Mínimo: 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("Medidas"+' ('+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("Minimo: "+this.medidaMinAlto+this.tipoMedida); $("#medidas-error-minimas").show(); return false; } if((this.medidaMinAncho != null && parseInt($("#ancho").val()) < parseInt(this.medidaMinAncho))) { $("#medidas-error-minimas").html("Minimo: "+this.medidaMinAncho+this.tipoMedida); $("#medidas-error-minimas").show(); return false; } if((this.medidaMaxAlto != null && parseInt($("#alto").val()) > parseInt(this.medidaMaxAlto))) { $("#medidas-error-minimas").html("Massimo: "+this.medidaMaxAlto+this.tipoMedida); $("#medidas-error-minimas").show(); return false; } if((this.medidaMaxAncho != null && parseInt($("#ancho").val()) > parseInt(this.medidaMaxAncho))) { $("#medidas-error-minimas").html("Massimo: "+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 += "Designs: "+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 < 60) { $(".mensaje-carrito-tefalta span").html(formatoPrecioHTML((60)-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("Tamanho da folha selecionada: "+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("Tamanho da folha selecionada: "+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("","
Sem fechamentoAjustável de Bola
Ajustável de Bola
Ajustável Metálico
Ajustável Metálico
Ajustável de Mola
Ajustável de Mola
Segurança em Plástico
Segurança em Plástico
Segurança Metálico
Segurança Metálico
Econômico / Acetinado 10mm
Econômico / Acetinado 15mm
Econômico / Acetinado 20mm
Grosso 10mm
Grosso 15mm
Grosso 20mm
","productos"); }); $("#enlaceModalDisenoMontaje").click(function(){ iu.comunicarMio("","

Número total de designs

Indique aqui o número total de designs diferentes de que necessita.

Nos passos seguintes do processo de compra poderá carregar os ficheiros e indicar o tamanho de impressão de cada design, bem como a quantidade de impressões necessárias para cada um.

Tenha em conta que a quantidade final de impressões será ajustada às unidades que couberem na folha, dependendo do tamanho de impressão de cada design e do tamanho da folha escolhido. Assim, essa quantidade poderá ser inferior ou superior à solicitada.

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

Montagem do ficheiro

Se o seu ficheiro de impressão estiver montado com o tamanho da folha escolhida, pronto para imprimir, selecione a opção Pronto para imprimir. Imprimiremos o ficheiro recebido, sem retoques nem alterações.

Se tiver o seu design ou designs em separado e quiser que os montemos no tamanho da folha de impressão, selecione Preciso de montagem. Precisaremos que nos indique o tamanho de cada design e dispô-los-emos de forma otimizada numa folha do tamanho escolhido, da qual serão impressas tantas cópias quantas as selecionadas. Utilize a nossa calculadora de folhas para calcular quantas cópias necessita para obter um número específico de unidades.

Contacte-nos caso necessite de opções adicionais de design ou assistência à impressão.

","productos"); }); $("#enlaceModalModalPliego").click(function(){ iu.comunicarMio("","Como calcular o número de folhas necessárias para a minha impressão DTF?

Utilize a nossa calculadora de folhas (abaixo do botão de compra)
e obtenha de forma simples e rápida as unidades ideais para a sua encomenda.","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(); }); });