class Web
{
static init()
{
$(document).ready(function(e) {
$(".tooltipster-left, .tooltipStandardLeft").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'left'});
$(".whatsapp .tooltipster-left").click(function(){$("#bloque-whatsapp").addClass("open")});
$("#bloque-whatsapp-cerrar").click(function(){$("#bloque-whatsapp").removeClass("open")});
ClassTiendaVirtualProductos.initAgregarProductoCarrito();
$(".btnMenuUsuario").not(".tooltipstered").tooltipster({theme: ['tooltipster-grow', 'tooltip-menu-usuario'], animation: 'grow', interactive:true, position:'bottom', contentAsHTML: true, trigger: "click"});
});
}
static initGaleria()
{
$(document).ready(function(e) {
let elementCarousel = $("#carousel-galeria");
if (elementCarousel.length)
{
const items = elementCarousel.find(".item-galeria").length;
elementCarousel.owlCarousel({
loop: false,
margin: 30,
items: 1,
dots: false,
nav: true,
navText: [
'',
'',
],
lazyLoad: true,
responsive: {
0: {
items: 2,
loop: items > 2,
mouseDrag: items > 2,
},
768: {
loop: items > 3,
mouseDrag: items > 3,
items: 2,
stagePadding: 50
},
992: {
loop: items > 3,
mouseDrag: items > 3,
items: 3,
},
1200: {
loop: items > 4,
mouseDrag: items > 4,
items: 4,
},
},
});
}
});
$("#carousel-galeria").on("click", ".item-galeria", function()
{
var myAElement = document.getElementById(`photo_${$(this).attr("data-position")}`);
dimbox.open(myAElement);
});
}
static initMuestras(provincia, localidad)
{
$(document).ready(function(e) {
preparaLugar(28, provincia, localidad, "formEnvioPais", "formEnvioProvincia", "formEnvioLocalidad");
$("#btn-solicitar").click(enviarFormulario);
$(".eliminar-muestra").click(function(){
const id = $(this).attr("data-id");
ClassBlockUI.abrirBlockUIConfirm("Va a eliminar una muestra, ¿Desea continuar?", "Aceptar", function (){eliminarMuestra(id)}, "Cancelar");
});
});
function eliminarMuestra(id)
{
const successCallback = function (data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
if (data["error_number"] >= 0) {
$(".btn-muestras .contadorNumItems").text(data["numMuestras"]);
$(".eliminar-muestra[data-id='"+id+"']").parents(".item-muestra").remove();
}
};
Utils.sendStandardAjax(undefined, "https://www.tusestoresenrollables.es/ajax/Muestra.eliminar.php?id="+id, {
successCallback: successCallback,
});
}
function enviarFormulario(event) {
event.preventDefault();
var extraMsg = "";
if (!$("#politicaMuestras").is(":checked")) {
extraMsg = $("#politicaMuestras").attr("title");
}
Utils.sendStandardAjax("form-entrega", "https://www.tusestoresenrollables.es/ajax/Muestras.pedir.php", {
extraErroresForm: extraMsg,
successCallback: "location",
resetFormOnSuccess: true,
});
}
}
static initInicio()
{
$(document).ready(function(e) {
let elementCarousel = $("#carousel-productos");
if (elementCarousel.length)
{
const items = elementCarousel.find(".itemProducto").length;
elementCarousel.owlCarousel({
loop: false,
margin: 30,
items: 1,
dots: false,
nav: false,
lazyLoad: true,
responsive: {
0: {
items: 2,
loop: items > 2,
mouseDrag: items > 2,
},
768: {
loop: items > 3,
mouseDrag: items > 3,
items: 2,
stagePadding: 50
},
992: {
loop: items > 3,
mouseDrag: items > 3,
items: 3,
},
1200: {
loop: items > 4,
mouseDrag: items > 4,
items: 4,
},
},
});
}
});
}
static initCarouselMedidas()
{
$(document).ready(function(e) {
let elementCarousel = $("#carousel-medidas");
if (elementCarousel.length)
{
const items = elementCarousel.find(".itemProducto").length;
elementCarousel.owlCarousel({
loop: false,
margin: 30,
items: 1,
dots: false,
nav: false,
lazyLoad: true,
responsive: {
0: {
items: 2,
loop: items > 2,
mouseDrag: items > 2,
},
768: {
loop: items > 3,
mouseDrag: items > 3,
items: 2,
stagePadding: 50
},
992: {
loop: items > 3,
mouseDrag: items > 3,
items: 3,
},
1200: {
loop: items > 4,
mouseDrag: items > 4,
items: 4,
},
},
});
}
});
}
static initTexto()
{
$("document").ready(function()
{
//$(".textoSeccion a").attr("target", "_blank");
$(".textoSeccion a[href^='tel']").removeAttr("target");
$(".textoSeccion img[style^='float: left'], .textoSeccion img[style^='float:left']").addClass("margin-right-20 margin-bottom-20 img-float");
$(".textoSeccion img[style^='float: right'], .textoSeccion img[style^='float:right']").addClass("margin-left-20 margin-bottom-20 img-float");
$(".textoSeccion img:not(.imagenDerecha)").addClass("img-fluid").css("max-width", "100%").css("height", "auto").css("object-fit", "cover");
});
}
static initBanner()
{
$(document).ready(function () {
if ($('#carousel-banner').length) {
$('#carousel-banner').owlCarousel({
animateOut: 'fadeOut',
animateIn: 'fadeIn',
loop:true,
lazyLoad:true,
margin:0,
nav:false,
dots:true,
mouseDrag: false,
smartSpeed: 900,
autoplay: true,
autoplayTimeout: 7000,
items:1,
});
}
});
}
static initProducto(page, medidas)
{
Web.medidas = medidas;
const OPCS_OCULTAR = {"3":[6,3,4,5],"4":[7,13],"46":[18,19],"47":[]};
$(document).ready(function () {
let slickFotos = $("#carousel-fotos-producto");
if (slickFotos.length) {
slickFotos.slick({
vertical: true,
verticalSwiping: true,
slidesToShow: 4,
slidesToScroll: 1,
speed: 400,
infinite: false,
prevArrow: "",
nextArrow: "",
responsive: [
{
breakpoint: 576,
settings: {
slidesToShow: 1,
vertical: false,
verticalSwiping: false,
}
},
]
});
}
//Web.gallery = $(".enlace-foto").simpleLightbox();
$("body").on("click", "#img-principal", function ()
{
//Web.gallery.open(Web.gallery.elements[$(this).attr("data-pos")]);
var myAElement = document.getElementById(`photo_${$(this).attr("data-pos")}`);
dimbox.open(myAElement);
});
$("body").on("click", ".item-foto", function ()
{
$(".item-foto img.seleccionada").removeClass("seleccionada");
$("#img-principal").attr("src", $(this).find("img").attr("data-big")).attr("data-pos", $(this).attr("data-pos"));
$(this).find("img").addClass("seleccionada");
const itemFoto = $(`#photo_${$(this).attr("data-pos")}`);
if (itemFoto.attr("data-tipo")*1 === 2)
$("#foto-principal").addClass("img-video");
else
$("#foto-principal").removeClass("img-video");
const w = $(window).innerWidth();
if (w >= 567 && w <=767)
{
//Web.gallery.open(Web.gallery.elements[$(this).attr("data-pos")]);
dimbox.open(itemFoto[0]);
}
});
if (page > 1)
{
$([document.documentElement, document.body]).animate({
scrollTop: $("#valoraciones-usuarios").offset().top - 110
}, 0);
}
$("#ancho, #alto").keyup(function (){
$(this).val($(this).val().replace(",", "."));
const max = $(this).attr("data-max");
if ($(this).val()*1 > max)
$(this).val(max);
ClassTiendaVirtualProductos.actualizarTotal();
});
$("#ancho, #alto").change(function (){
const min = $(this).attr("data-min");
if ($(this).val()*1 < min)
$(this).val(min);
ClassTiendaVirtualProductos.actualizarTotal();
});
$(".opcs-img button:not(.dropdown-toggle), .opcs-color button:not(.dropdown-toggle)").click(function(){
buttonSelected(this);
});
$(".opcs-producto select, .opcs-producto input[type='radio']").change(function(){
mostrarOcultarBloques($(this).attr("data-atr"));
ClassTiendaVirtualProductos.actualizarTotal();
});
$(".caja-atr[data-prefix='atributos_"+2+"'] input:checked").trigger("change");
$(".btn-escuadra").click(function() {
let btn = $(this).parent().children("button");
buttonSelected(btn);
});
ClassTiendaVirtualProductos.actualizarTotal();
moveDescription();
$(window).resize(function(){
moveDescription();
});
});
var positionDescription = "";
function moveDescription(){
if(window.innerWidth <= 1199 && positionDescription !== "movil"){
$(".fichaProductoBreve").appendTo("#frmDatosProducto");
positionDescription = "movil";
} else if (window.innerWidth > 1199 && positionDescription !== "desktop") {
$(".fichaProductoBreve").appendTo("#fichaProductoDatos");
positionDescription = "desktop";
}
}
function buttonSelected(btn)
{
$(btn).parents(".opcs-producto").find("button").removeClass("selected");
$(btn).addClass("selected");
mostrarOcultarBloques($(btn).attr("data-atr"));
ClassTiendaVirtualProductos.actualizarTotal();
}
function mostrarOcultarBloques(id)
{
if (OPCS_OCULTAR[id]) {
$(".caja-atr.d-none").removeClass("d-none");
$.each(OPCS_OCULTAR[id], function (i, e) {
$(".caja-atr[data-prefix='atributos_"+e+"']").addClass("d-none");
});
}
}
}
static initContacto()
{
$(document).ready(function(e) {
$("#btnEnviarContacto").click(enviarFormulario);
});
function enviarFormulario(event) {
event.preventDefault();
var extraMsg = "";
if (!$("#politica").is(":checked")) {
extraMsg = $("#politica").attr("title");
}
Utils.sendStandardAjax("formContacto", "https://www.tusestoresenrollables.es/ajax/Contacto.enviar.php", {
extraErroresForm: extraMsg,
successCallback: null,
resetFormOnSuccess: true,
});
}
}
}
function findPos(obj) {
var curtop = 0;
if (obj.offsetParent) {
do {
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return [curtop];
}
}
$(document).ready(function()
{
if ($.fn.dataTable != undefined) {
$.fn.dataTable.ext.errMode = function ( settings, helpPage, message ) {
$.notify(
{
title: "Error: ",
message: "Se ha producido un error inesperado",
},
{
type: 'danger',
placement: {
from: "top",
align: "center"
},
delay: 10000
});
};
$.extend($.fn.dataTable.defaults,
{
"language":
{
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_",
"sZeroRecords": "No se han encontrado resultados",
"sEmptyTable": "Sin datos todavía",
"sInfo": "Mostrando de la entrada _START_ a la _END_ de un total de _TOTAL_ entradas",
"sInfoEmpty": "Todavía no hay datos",
"sInfoFiltered": "()",
"sSearchPlaceholder": "Buscar",
"sInfoPostFix": "",
"sSearch": "",
"sUrl": "",
"oPaginate": {
"sFirst": " ",
"sPrevious": " ",
"sNext": " ",
"sLast": " "
}
}
});
}
});
function preparaLugar(pais, provincia, poblacion, idInputPais,idInputProvincia, idInputLocalidad)
{
if(pais > 0)
{
actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia, pais, provincia, poblacion, undefined);
}
$('#'+idInputPais).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
//console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val"));
actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia, undefined, undefined, undefined, undefined, undefined, undefined, true);
});
/*$("body").on("change", "#"+idInputPais, function()
{
actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia);
});*/
if(provincia > 0)
{
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais,poblacion, pais, provincia, poblacion, $("#"+idInputProvincia).val()*1);
}
$('#'+idInputProvincia).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
//console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val"));
if (isSelected === null)
return;
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1);
});
/*
$("body").on("change", "#"+idInputProvincia, function()
{
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1);
});*/
}
function actualizaProvincias(idCampoLocalidad, idCampoRegion, idCampoPais, idRegionPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading, actualizarLocalidad)
{
if(forceIdPais == undefined)
{
forceIdPais = $("#"+idCampoPais).val();
}
if(forceIdRegion == undefined)
{
forceIdRegion = $("#"+idCampoRegion).val();
}
if(forceIdLocalidad == undefined)
{
forceIdLocalidad = $("#"+idCampoLocalidad).val();
}
if(textoSelect == undefined)
{
//textoSelect = "Provincia";
textoSelect = "";
}
//var textoSelectLoc = "Localidad";
var textoSelectLoc = "";
if(textoLoading == undefined)
{
textoLoading = "Cargando...";
}
var data = {idPais: forceIdPais};
$("#"+idCampoRegion).empty();
$("#"+idCampoRegion).append( "");
$("#"+idCampoRegion).selectpicker("refresh");
$("#"+idCampoRegion).selectpicker('val', 0);
if (actualizarLocalidad) {
$("#" + idCampoLocalidad).empty();
$("#" + idCampoLocalidad).append("");
$("#" + idCampoLocalidad).selectpicker("refresh");
$("#" + idCampoLocalidad).selectpicker('val', 0);
}
var returned = $.ajax(
{
url: "https://www.tusestoresenrollables.es/ajax/Ubicacion.listadoRegiones.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : data,
error: function(XMLHttpRequest, textStatus, errorThrown)
{
//ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true);
},
success: function(data)
{
$("#"+idCampoRegion).empty();
$("#"+idCampoRegion).append( "");
for(var index in data)
{
$("#"+idCampoRegion).append( "" );
}
$("#" + idCampoRegion).selectpicker("refresh");
if(idRegionPreEstablecida!=undefined && idRegionPreEstablecida !="")
{
$("#"+idCampoRegion).val(idRegionPreEstablecida);
}
else
{
$("#"+idCampoRegion).val(0);
}
$("#"+idCampoRegion).selectpicker("refresh");
if (actualizarLocalidad) {
$("#" + idCampoLocalidad).empty();
$("#" + idCampoLocalidad).append("");
$("#" + idCampoLocalidad).val(0);
$("#" + idCampoLocalidad).selectpicker("refresh");
}
if(onFinish != undefined && typeof(onFinish) == "function")
{
onFinish();
}
}
});
}
function actualizaCiudades(idCampoLocalidad, idCampoRegion, idCampoPais, idLocalidadPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading)
{
if(forceIdPais == undefined)
{
forceIdPais = $("#"+idCampoPais).val();
}
if(forceIdRegion == undefined)
{
forceIdRegion = $("#"+idCampoRegion).val();
}
if(forceIdLocalidad == undefined)
{
forceIdLocalidad = $("#"+idCampoLocalidad).val();
}
if(textoSelect == undefined)
{
//textoSelect = "";
textoSelect = "";
}
if(textoLoading == undefined)
{
textoLoading = "Cargando...";
}
var data =
{
idPais: forceIdPais,
idRegion: forceIdRegion
};
$("#"+idCampoLocalidad).empty();
$("#"+idCampoLocalidad).append( "");
$("#"+idCampoLocalidad).selectpicker("refresh");
$("#"+idCampoLocalidad).selectpicker('val', 0);
var returned = $.ajax(
{
url: "https://www.tusestoresenrollables.es/ajax/Ubicacion.listadoCiudades.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : data,
error: function(XMLHttpRequest, textStatus, errorThrown)
{
//ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true);
},
success: function(data)
{
$("#"+idCampoLocalidad).empty();
$("#"+idCampoLocalidad).append( "");
for(var index in data)
{
$("#"+idCampoLocalidad).append( "" );
}
$("#"+idCampoLocalidad).selectpicker("refresh");
if(idLocalidadPreEstablecida!=undefined)
{
$("#"+idCampoLocalidad).val(idLocalidadPreEstablecida);
}
else
{
$("#"+idCampoLocalidad).val(0);
}
$("#"+idCampoLocalidad).selectpicker("refresh");
if(onFinish != undefined && typeof(onFinish) == "function")
{
onFinish();
}
}
});
}
/*
ClassBlockUI.abrirBlockUIEstandar(contenedorIDAMostrar[, accionCerrar, headerText, extraClass, restaurarElemento]);
ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje[, isAlertOrButtons, onClose]);
ClassBlockUI.abrirBlockUIConfirm(mensaje, textoBotonAceptar, accionBotonAceptar, textoBotonCancelar[, accionBotonCancelar]); //accionBotonCancelar="close"
ClassBlockUI.abrirBlockUIEsperePorFavor:([mensaje]);
*/
var ClassBlockUI =
{
restaurarElemento: function()
{
var data = $("body").data('blockUIEstandar.history');
if (data)
{
data.el.style.display = data.display;
data.el.style.position = data.position;
if (data.parent)
data.parent.appendChild(data.el);
$("body").removeData('blockUIEstandar.history');
$("#"+data.generatedId).remove();
}
},
abrirBlockUIEstandar: function(contenedorIDAMostrar, accionCerrar, headerText, extraClass, restaurarElemento)
{
if(restaurarElemento || restaurarElemento == undefined)
{
ClassBlockUI.restaurarElemento();
}
$(".modalAutoHide").modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
if(contenedorIDAMostrar == undefined || $("#"+contenedorIDAMostrar).length == 0){return;}
//var blockUIId="blockUI_"+new Date().getTime();
var blockUIId="blockUI_"+contenedorIDAMostrar;
extraClass = extraClass == undefined ? "" : extraClass; //modal-lg
var object = $("#"+contenedorIDAMostrar);
var node = object[0];
var data = {};
$("body").data('blockUIEstandar.history', data);
data.el = node;
data.parent = node.parentNode;
data.display = node.style.display;
data.position = node.style.position;
data.generatedId = blockUIId;
data.object = object;
if (data.parent)
data.parent.removeChild(node);
var header = headerText != undefined ? headerText : "";
var message = ''+
'
'+
' '+
'
';
$("body").append(message);
var modal = $("#"+blockUIId);
modal.find(".modal-body").append(node);
modal.find(".modal-dialog").addClass("zoomIn");
modal.on('hidden.bs.modal', function () {
ClassBlockUI.restaurarElemento();
})
var myModal = new bootstrap.Modal($(modal)[0], {
keyboard: false
})
myModal.show();
if(accionCerrar==undefined) //boton cerrar tiene accion por defecto
{
$("#"+blockUIId+" .btnCerrarModalEquis").click(function(){
myModal.hide();
if($(".modal").length>0){$("body").addClass("modal-open")}
});
}
else if(accionCerrar==false) //oculta el boton cerrar
{
$("#"+blockUIId+" .btnCerrarModalEquis").hide();
}
else //boton cerrar con accion especial
{
$("#"+blockUIId+" .btnCerrarModalEquis").click(accionCerrar);
}
return modal;
},
abrirBlockUIEstandarMensaje: function(mensaje, isAlertOrButtons, onClose, extraClass, title)
{
$(".modalAutoHide").modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
var blockUIId="blockUI_"+new Date().getTime();
extraClass = extraClass == null || extraClass == undefined ? "" : extraClass; //modal-lg
title = title == null || title == undefined ? "Aviso" : title;
if(isAlertOrButtons==undefined) isAlertOrButtons=false;
if(onClose==undefined) onClose=false;
var botonera = "";
var botoneraEspecial = false;
if(isAlertOrButtons === false)
{
botonera = "";
}
else if (isAlertOrButtons === true)
{
botonera = "Aceptar
";
}
else
{
botoneraEspecial = true;
botonera = "";
for(var index in isAlertOrButtons)
{
botonera += " "+isAlertOrButtons[index]["text"]+" ";
}
botonera += "
";
}
var message = '';
message += '';
message += ' ';
message += '
';
$("body").append(message);
var modal = $("#"+blockUIId);
modal.find(".modal-dialog").css("animation-duration", "500ms").addClass("zoomIn");
modal.on('hidden.bs.modal', function () {
modal.remove();
})
var myModal = new bootstrap.Modal($(modal)[0], {
keyboard: false
});
myModal.show();
//Acciones de los botones especiales
if(botoneraEspecial)
{
for(var index in isAlertOrButtons)
{
if(isAlertOrButtons[index]["action"] == "close")
{
isAlertOrButtons[index]["action"] = function(){
myModal.hide();
if($(".modal").length>0){$("body").addClass("modal-open")}
};
}
$("#"+blockUIId+" ."+index).unbind("click").click(isAlertOrButtons[index]["action"]);
}
}
var fnOnClose;
if(onClose==false)
{
fnOnClose = function(){
myModal.hide();
if($(".modal").length>0){$("body").addClass("modal-open")}
};
}
else if (typeof onClose === "function")
{
fnOnClose = function(){onClose()};
}
else if (onClose == "location")
{
fnOnClose = function(){window.location.reload()};
}
else if (onClose == "back")
{
fnOnClose = function(){history.go(-1);};
}
else
{
fnOnClose = function(){window.location = onClose};
}
$("#"+blockUIId+" .btnCerrarBlockUIAlert, #"+blockUIId+" .btnCerrarModalEquis").unbind("click").click(fnOnClose);
return modal;
},
abrirBlockUIConfirm: function(mensaje, textoAceptar, accionAceptar, textoCancelar, accionCancelar, extraClass, title)
{
accionCancelar = accionCancelar == undefined ? "close" : accionCancelar;
extraClass = extraClass == null || extraClass == undefined ? "" : extraClass;
var buttons =
{
"btnAceptarBUI_CONFIRM":
{
"text": textoAceptar,
"action": accionAceptar
},
"btnCancelarBUI_CONFIRM":
{
"text": textoCancelar,
"action": accionCancelar
}
};
return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, buttons, false, extraClass, title);
},
abrirBlockUIEsperePorFavor: function(mensaje)
{
if(mensaje == undefined){ mensaje = "Espera por favor...
"; };
return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalEspere");
}
};
var ClassDirecciones =
{
initModificarDirecciones: function(opciones_validacion)
{
ClassUsuarios.validacionModificarDatos = $("#formModificarDatos").validate(opciones_validacion);
$("#guardarDatos").unbind("click").makeTagLink(ClassDirecciones.guardarDirecciones);
$("#form_compra_copiar_direccion").change(function()
{
if($("#form_compra_copiar_direccion").val()*1 == 1)
{
$("#datosFacturacion").addClass("d-none");
$("#textoFacturacion").removeClass("d-none");
/*var bloqueID = "datosEntrega";
var nombre = $("#"+bloqueID+" .nombreDireccion").html();
var nif = $("#"+bloqueID+" .nifDireccion").html();
var telefono = $("#"+bloqueID+" .telefonoDireccion").html();
var direccion = $("#"+bloqueID+" .direccionDireccion").html();
var cp = $("#"+bloqueID+" .codigoPostalDireccion").html();
var poblacionID = $("#"+bloqueID+" .poblacionDireccion").attr("data-id");
var provinciaID = $("#"+bloqueID+" .provinciaDireccion").attr("data-id");
var poblacion = $("#"+bloqueID+" .poblacionDireccion").html();
var provincia = $("#"+bloqueID+" .provinciaDireccion").html();
bloqueID = "datosFacturacion";
$("#"+bloqueID+" .nombreDireccion").html(nombre);
$("#"+bloqueID+" .nifDireccion").html(nif);
$("#"+bloqueID+" .telefonoDireccion").html(telefono);
$("#"+bloqueID+" .direccionDireccion").html(direccion);
$("#"+bloqueID+" .codigoPostalDireccion").html(cp);
$("#"+bloqueID+" .poblacionDireccion").attr("data-id",poblacionID);
$("#"+bloqueID+" .provinciaDireccion").attr("data-id",provinciaID);
$("#"+bloqueID+" .poblacionDireccion").html(poblacion);
$("#"+bloqueID+" .provinciaDireccion").html(provincia);*/
}
else
{
$("#textoFacturacion").addClass("d-none");
$("#datosFacturacion").removeClass("d-none");
}
});
$(".modificarDatos").unbind("click").makeTagLink(function(){
var bloqueID = $(this).parents(".padreDatos").attr("id");
var tipo = $(this).attr("data-id");
var nombre = $("#"+bloqueID+" .nombreDireccion").html();
var nif = $("#"+bloqueID+" .nifDireccion").html();
var telefono = $("#"+bloqueID+" .telefonoDireccion").html();
var direccion = $("#"+bloqueID+" .direccionDireccion").html();
var cp = $("#"+bloqueID+" .codigoPostalDireccion").html();
var poblacion = $("#"+bloqueID+" .poblacionDireccion").attr("data-id");
var provincia = $("#"+bloqueID+" .provinciaDireccion").attr("data-id");
var pais = $("#"+bloqueID+" .paisDireccion").attr("data-id");
ClassDirecciones.setDatosForm(tipo,nombre,nif,telefono,direccion,cp,poblacion,provincia,pais);
ClassBlockUI.abrirBlockUIEstandar("modificarDatos", undefined, tipo == 1 ? "Modificar datos de entrega" : "Modificar datos de facturación", "modal-md")
});
},
guardarDirecciones: function()
{
if(!$("#formModificarDatos").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores
"+ClassUsuarios.validacionModificarDatos.invalidMessages("
"), true, false);
return;
}
var opcionesDatos =
{
url: "https://www.tusestoresenrollables.es/ajax/Direcciones.modificarDatos.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : $("#formModificarDatos").serialize(),
success: function(data)
{
if(data["error_number"]*1 >= 0)
{
window.location = window.location;
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
}
}
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
setDatosForm: function(tipo,nombre,nif,telefono,direccion,cp,poblacion,provincia,pais)
{
$("#formModificarDatos #form_tipo").val(tipo);
$("#formModificarDatos #form_nombre").val(nombre);
$("#formModificarDatos #form_dni").val(nif);
$("#formModificarDatos #form_telefono").val(telefono);
$("#formModificarDatos #form_direccion").val(direccion);
$("#formModificarDatos #form_codigo_postal").val(cp);
preparaLugar(pais, provincia, poblacion, "form_pais", "form_provincia", "form_poblacion");
/*$("#formModificarDatos #form_poblacion").val(poblacion);
$("#formModificarDatos #form_provincia").val(provincia);*/
}
};
var ClassTiendaVirtualCarrito=
{
initReactivaClicks:function()
{
ClassTiendaVirtualCarrito.refrescarTabla();
$("body").on("click", ".alert-info", function()
{
$(".btnAbreCarrito").trigger("click");
});
$("body").on("click", ".btnAbreCarrito", function()
{
$(".overlay, #previewCarrito").addClass("active");
$("html, body").addClass("no-scroll");
});
$("#previewCarrito").on("click", "#previewCarritoCerrar", function()
{
$(".overlay, #previewCarrito").removeClass("active");
$("html, body").removeClass("no-scroll");
});
$("body").on("click", ".itemCarritoMas", function () {
var input = $(this).parent().find("input");
var form = $(this).parents("form").attr("id");
var cantidad = $(input).val();
var nuevaCantidad = 1;
if (!isNaN(cantidad)) {
nuevaCantidad = cantidad*1+1;
}
$(input).val(nuevaCantidad);
if (cantidad != nuevaCantidad && form)
ClassTiendaVirtualCarrito.actualizar("#"+form);
});
$("body").on("click", ".itemCarritoMenos", function () {
var input = $(this).parent().find("input");
var form = $(this).parents("form").attr("id");
var cantidad = $(input).val();
var nuevaCantidad = 1;
if (!isNaN(cantidad) && cantidad > 1) {
nuevaCantidad = cantidad*1-1;
}
$(input).val(nuevaCantidad);
if (cantidad != nuevaCantidad && form)
ClassTiendaVirtualCarrito.actualizar("#"+form);
});
$("body").on("click", ".itemPreviewCarritoEliminar, .itemCarritoEliminar", function (event) {event.preventDefault(); ClassTiendaVirtualCarrito.eliminarLineaProducto($(this).attr("data-id"))});
$("body").on("click", "#btnValidarCupon", ClassTiendaVirtualCarrito.validarCupon);
},
refrescarTabla: function ()
{
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
var numProductosCarrito = 0;
if (typeof tablatablaCarrito != "undefined") {
numProductosCarrito = tablatablaCarrito.page.info().recordsDisplay;
var width = $(window).width();
if (width <= 575)
{
$(".dataTableCenter > .itemCarritoBloqueCantidad").remove();
$(".carritoMovil").removeClass("d-none");
tablatablaCarrito.column(2).visible(false);
tablatablaCarrito.column(3).visible(false);
tablatablaCarrito.column(4).visible(false);
tablatablaCarrito.column(5).visible(false);
}
else if (width >= 972 && width <= 1199)
{
$(".carritoMovil").remove();
tablatablaCarrito.column(4).visible(false);
tablatablaCarrito.column(5).visible(false);
}
else
{
$(".carritoMovil").remove();
}
}
if (numProductosCarrito > 10) {
$("#tablaCarrito_wrapper .paginationFooter").removeClass("d-none");
}
},
mostrarMensajeBorrarCarrito: function(e, tipo)
{
ClassBlockUI.abrirBlockUIConfirm("¿Estás seguro de que deseas borrar este producto de tu compra?", "Confirmar",
function(){
if(tipo==1)
{
ClassTiendaVirtualCarrito.eliminarProductoCarrito(e);
}
else
{
ClassTiendaVirtualCarrito.eliminarProductoCarritoBloque(e);
}
}, "Cancelar");
},
eliminarProductoCarrito:function(e)
{
var idProducto = e.attr("data-idCarrito");
if(isNaN(idProducto))
return;
$("#actualizar_cantidad_"+idProducto).val(0);
ClassTiendaVirtualCarrito.actualizar();
},
eliminarProductoCarritoBloque:function(e)
{
var idProducto = e.attr("data-idCarrito");
if(isNaN(idProducto))
return;
ClassTiendaVirtualCarrito.eliminarLineaProducto(idProducto);
},
cantidadModificada:function(e)
{
var idProducto = e.attr("data-idCarrito");
if(isNaN(idProducto))
return;
$("input[name='actualizar_cantidad_"+idProducto+"']").each(function(){$(this).val(e.val())});
//$("#actualizar_cantidad_"+idProducto).val(e.val());
ClassTiendaVirtualCarrito.cantidadModificadaActualizarInfo(idProducto);
},
cantidadModificadaActualizarInfo:function(idProducto)
{
if(!$("#cantidades").valid())
return;
$(".pvpMostrarTotal[data-id="+idProducto+"]").each(function(){$(this).html("-");});
$(".total_compra_numero").html(" - ");
$(".btnActualizarCantidades[data-idCarrito="+idProducto+"]").each(function(){$(this).removeClass("ocultarActualizarCantidades")});
$(".btnActualizarCantidades").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.actualizar()});
$("#btn_comprar").addClass("hidden");
},
actualizar: function(idFormulario, desdePais)
{
idFormulario = idFormulario == undefined ? "#cantidades" : idFormulario;
if(!$(idFormulario).valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Revisa las cantidades", true);
return;
}
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(
{
url: "https://www.tusestoresenrollables.es/ajax/TiendaVirtualCarrito.actualizarCantidades.php",
type: "POST",
dataType : "json",
data : $(idFormulario).serialize()+"&idPais="+$("#formEnvioPais").val(),
success: function(data)
{
if(data["error_number"] < 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
ClassTiendaVirtualCarrito.actualizarPreviewCarrito(data);
$(".modal").modal("hide");
if (desdePais && !data["envioValido"])
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por el momento no hacemos envíos a su país, contacte con nosotros para continuar con el pedido.", true, "https://www.tusestoresenrollables.es/contacto/");
}
if (data["errorStock"]) {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["errorStock"], true, undefined);
}
//window.location = window.location;
}
}
});
//cargar de nuevo el carrito si esta abierto
},
eliminarLineaProducto:function(idProducto)
{
$.ajax(
{
url: "https://www.tusestoresenrollables.es/ajax/TiendaVirtualCarrito.eliminarProducto.php?idProducto="+idProducto,
type: "POST",
dataType : "json",
success: function(data)
{
if(data["error_number"] < 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
ClassTiendaVirtualCarrito.actualizarPreviewCarrito(data);
$(".modal").modal("hide");
//window.location = window.location;
}
}
});
ClassBlockUI.abrirBlockUIEsperePorFavor();
//cargar de nuevo el carrito si esta abierto
},
renderTablaCarrito: function(data, type, row, meta){
if(type === 'display'){
var api = new $.fn.dataTable.Api(meta.settings);
var $el = $('input, select, textarea', api.cell({ row: meta.row, column: meta.col }).node());
//var $html = $(data).wrap('').parent();
var $html = $("").html(data);
if($el.prop('tagName') === 'INPUT'){
$('input', $html).attr('value', $el.val());
if($el.prop('checked')){
$('input', $html).attr('checked', 'checked');
}
} else if ($el.prop('tagName') === 'TEXTAREA'){
$('textarea', $html).html($el.val());
} else if ($el.prop('tagName') === 'SELECT'){
$('option:selected', $html).removeAttr('selected');
$('option', $html).filter(function(){
return ($(this).attr('value') === $el.val());
}).attr('selected', 'selected');
}
data = $html.html();
//console.log("Antes habia: "+data);
//console.log("Ahroa quiere poner: "+$html.html());
}
return data;
},
actualizarPreviewCarrito: function (data) {
$("#previewCarritoProductos").html(data["productos"]);
$(".btnAbreCarrito .contadorNumItems").html(data["numProductos"]);
$("#previewCarritoAhorras span, #teAhorrasCarrito span").html_formated(data["teAhorras"]);
$("#previewCarritoAhorras, #teAhorrasCarrito").removeClass("opacity-0");
if (data["teAhorras"] == 0)
{
$("#previewCarritoAhorras, #teAhorrasCarrito").addClass("opacity-0");
}
$("#previewCarritoSubtotal span").html_formated(data["subtotal"], {thousandSeparator: "."});
$(".previewCarritoTotal span").html_formated(data["totalPedido"]);
$(".previewCarritoEnvioTitulo").html(data["textoEnvio"]);
$(".previewCarritoEnvioProgreso span").css("width", data["progreso"]+"%");
if(data["gastosEnvio"][1]*1==0) {
$("#precioEntrega_1").html("
¡Gratis!");
$(".previewCarritoEnvio").addClass("gratis");
} else
{
$("#precioEntrega_1").html("
"+data["gastosEnvio"][3]+"€ ("+data["gastosEnvio"][0]+"% IVA incluido)");
$(".previewCarritoEnvio").removeClass("gratis");
}
if (typeof tablatablaCarrito !== 'undefined' && tablatablaCarrito != null && tablatablaCarrito != undefined) {
tablatablaCarrito.ajax.reload(null, false);
ClassTiendaVirtualCarrito.actualizaTotales();
}
},
validarCupon: function () {
$.ajax(
{
url: "https://www.tusestoresenrollables.es/ajax/TiendaVirtualCupon.enviar.php",
type: "POST",
dataType : "json",
data : {
"cuponDescuento": $("#cuponDescuento").val(),
"CSRF": CSRF
},
success: function(data)
{
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
$(".modal").modal("hide");
$("#cuponDescuento").val("");
ClassTiendaVirtualCarrito.actualizaTotales();
}
}
});
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
actualizaTotales: function ()
{
var transporte = $("input[name=tipo_entrega]:checked").val();
var pais = $("#formEnvioPais").val();
var provincia = $("#formEnvioProvincia").val();
var localidad = $('#formEnvioLocalidad').val();
var vat = $("#frmCofirmarPedidoVat").val();
if (typeof tablatablaTotales != "undefined") {
tablatablaTotales.ajax.url('https://www.tusestoresenrollables.es/ajax/TiendaVirtualCarrito.getTotales.php?CSRF=' + CSRF + '&pais=' + pais + '&provincia=' + provincia + '&localidad=' + localidad + "&idTransporte=" + transporte+"&vat="+vat).load();
}
},
is_numeric_char: function (c)
{
return /\d/.test(c);
},
cierraModalAutoHide: function ()
{
$(".modalAutoHide").modal("hide");
}
};
var ClassTiendaVirtualPedidos =
{
initReactivaClicks: function(){
$(".iconoDetallePedido, .iconoImprimirFactura").tooltipster({animation: 'grow',interactive:true, position:'bottom'});
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
var numItems = 0;
if (typeof tablatablaHistoricoPedidos != "undefined") {
numItems = tablatablaHistoricoPedidos.page.info().recordsDisplay;
}
if (numItems > 10) {
$("#tablaHistoricoPedidos_wrapper .paginationFooter").removeClass("d-none");
}
},
initConfirmarPedido: function(paisEnvio, provinciaEnvio, poblacionEnvio, paisFacturacion, provinciaFacturacion, poblacionFacturacion)
{
ClassTiendaVirtualPedidos.validacion_pedido = $("#frmCofirmarPedido").validate({showLabels: false});
$("body").on("click", "#btn_confirmar_compra, #btn_confirmar_compra2", function()
{
if (!$(this).hasClass("disabled"))
ClassTiendaVirtualPedidos.confirmarPedido();
});
preparaLugar(paisEnvio, provinciaEnvio, poblacionEnvio, "formEnvioPais", "formEnvioProvincia", "formEnvioLocalidad");
preparaLugar(paisFacturacion, provinciaFacturacion, poblacionFacturacion, "formFacturacionPais", "formFacturacionProvincia", "formFacturacionLocalidad");
$('#formEnvioLocalidad').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
//console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val"));
if (isSelected === null)
return;
ClassTiendaVirtualCarrito.actualizaTotales();
});
$("#btnGuardarDireccion").click(guardarDirecciones);
$("#btnGuardarFormaPago").click(function(){
$(".checks-forma-pago > div").addClass("d-none");
$(".checks-forma-pago input:checked").parents(".form-check").removeClass("d-none");
$("#bloque-carrito-forma-pago .cambiar-datos, #bloque-carrito-observaciones .datos-bloque-carrito").removeClass("d-none");
$("#btn_confirmar_compra").removeClass("disabled");
});
ClassTiendaVirtualPedidos.opciones_validacion_direccion = {
showLabels: false,
rules:
{
formEnvioProvincia: {min:1},
formEnvioLocalidad: {min:1},
formFacturacionProvincia: {min:1},
formFacturacionLocalidad: {min:1}
}
};
$("#btnLoginCarrito").click(loginCarrito);
$("#frmCarritoLoginEmail").pressEnter(loginCarrito);
$("#frmCarritoLoginContrasena").pressEnter(loginCarrito);
ClassTiendaVirtualPedidos.validacionLogin = $("#frmCarritoLogin").validate({showLabels: false});
$("#btnRegistroCarrito").click(registroCarrito);
ClassTiendaVirtualPedidos.opciones_validacion_registro =
{
showLabels: false,
rules: {frmCarritoRegistroPassword: {minlength: 6, required: true}, frmCarritoRegistroPassword2: {minlength: 6, required: true, equalTo: "#frmCarritoRegistroPassword"}, frmCarritoRegistroEmail2: {required: true, equalTo: "#frmCarritoRegistroEmail", email: true},}
};
ClassTiendaVirtualPedidos.validacionRegistro = $("#frmCarritoRegistro").validate(ClassTiendaVirtualPedidos.opciones_validacion_registro);
$("#resumen-direccion").on("click", ".cambiar-datos", function()
{
$("#inputs-direccion").removeClass("d-none");
$("#resumen-direccion").html("");
$("#resumen-direccion").addClass("d-none");
});
$("#bloque-carrito-forma-pago").on("click", ".cambiar-datos", function()
{
$(".checks-forma-pago > div").removeClass("d-none");
$("#bloque-carrito-forma-pago .cambiar-datos").addClass("d-none");
});
$("#frmDireccionCarrito").on("change", "#copiarDireccionesCarrito", function()
{
if (!$(this).is(":checked")) {
$("#formDireccionFacturacion").css("display", "flex");
$(".formFacturacionTitulo").css("display", "block");
} else {
$.each($("input[name^='formEnvio'], select[name^='formEnvio']"), function (i, element) {
var value = $(element).val();
var inputFact = $("#"+$(element).attr("id").replace("Envio", "Facturacion"));
$(inputFact).val(value);
});
$("#formDireccionFacturacion").css("display", "none");
$(".formFacturacionTitulo").css("display", "none");
}
});
$("#copiarDireccionesCarrito").trigger("change");
function guardarDirecciones()
{
const successCallback = function (data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
if (data["error_number"] >= 0) {
$("#inputs-direccion").addClass("d-none");
$("#resumen-direccion").html("");
$("#resumen-direccion, #bloque-carrito-forma-pago .datos-bloque-carrito").removeClass("d-none");
if (data["envio"])
resumenDireccion("Envio");
if (!$("#copiarDireccionesCarrito").is(":checked") || $("#copiarDireccionesCarrito").length == 0)
resumenDireccion("Facturacion");
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
}
};
Utils.sendStandardAjax("frmDireccionCarrito", "https://www.tusestoresenrollables.es/ajax/Usuarios.modificarDatos.php?carrito=1", {
successCallback: successCallback,
opcionesValidacion: ClassTiendaVirtualPedidos.opciones_validacion_direccion
});
}
function resumenDireccion(tipo)
{
let nombre = $("#form"+tipo+"Nombre").val();
let dni = $("#form"+tipo+"DNI").val();
let telefono = $("#form"+tipo+"Telefono").val();
let pais = $("#form"+tipo+"Pais option:selected").text();
let provincia = $("#form"+tipo+"Provincia option:selected").text();
let localidad = $("#form"+tipo+"Localidad option:selected").text();
let codPostal = $("#form"+tipo+"CodPostal").val();
let direccion = $("#form"+tipo+"Direccion").val();
let datos = "
"+nombre+"
Teléfono: "+telefono+"
CIF/DNI: "+dni+"
"+direccion+"
"+codPostal+" "+localidad+"
"+provincia+"
"+pais+"Cambiar datos
";
if (tipo == "Facturacion")
{
datos = '
Datos de Facturación'+datos;
}
$("#resumen-direccion").append(datos);
}
function registroCarrito()
{
var errores = "";
if(!$("#politicaCarrito").is(":checked"))
{
errores += "Debe aceptar la Política de Privacidad de Datos y la Política de Cookies.";
}
const successCallback = function (data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
if (data["error_number"] >= 0) {
window.location.reload();
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
}
};
Utils.sendStandardAjax("frmCarritoRegistro", "https://www.tusestoresenrollables.es/ajax/Usuarios.altaUsuario.php?carrito=1", {
extraErroresForm: errores,
successCallback: successCallback,
opcionesValidacion: ClassTiendaVirtualPedidos.opciones_validacion_registro
});
}
function loginCarrito()
{
const successCallback = function (data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
if (data["error_number"] >= 0) {
window.location.reload();
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
}
};
Utils.sendStandardAjax("frmCarritoLogin", "https://www.tusestoresenrollables.es/ajax/Usuarios.login.php?carrito=1", {
successCallback: successCallback
});
}
},
envioValido: function(esValido)
{
if(esValido)
{
$(".finalizarPedido").show();
}
else
{
$(".finalizarPedido").hide();
ClassBlockUI.abrirBlockUIEstandarMensaje("Gastos de envío incorrectos, no hemos podido calcular los gastos de envío, disculpe las molestias.", true, false);
}
},
initDetallePedido:function ()
{
$("body").on("click", ".itemPedidoProdValorar", function()
{
const datos = JSON.parse($(this).attr("data-datos"));
$("#frmValorarValoracion").val(datos.comentario);
marcarEstrellas(datos.puntuacion);
$("#frmValorarPuntos").val(datos.puntuacion);
$("#frmValorarID").val($(this).attr("data-id"));
$(".img-producto-valorar").attr("src", datos.img);
$(".titulo-producto-valorar").text(datos.titulo)
let titulo = "Valorar Producto";
if (datos.puntuacion > 0)
{
titulo = "Ver Valoración";
$("#btnValorar").addClass("d-none");
$("#frmValorarValoracion").prop("readonly", true);
$("#realizarValoracion .estrella").removeClass("activa");
}
else
{
$("#btnValorar").removeClass("d-none");
$("#frmValorarValoracion").prop("readonly", false);
$("#realizarValoracion .estrella").addClass("activa");
}
ClassBlockUI.abrirBlockUIEstandar("bloqueValorar", undefined, titulo, "modal681");
});
$("body").on("click", "#devolverProductos", function(e)
{
e.preventDefault();
ClassBlockUI.abrirBlockUIEstandar("bloqueDevolver", undefined, "", "modal750")
});
$("body").on("click", "#btnDevolver", function(e)
{
e.preventDefault();
let errores = "";
let algunProductoDevolver = false;
$.each($(".inp-cantidad-devolucion"), function(i, e)
{
let maxCantidad = parseInt($(e).attr("max")) || 0;
let cantidad = parseInt($(e).val()) || 0;
if (cantidad > maxCantidad)
{
errores += errores ? "
" : "";
errores += $(e).attr("title");
}
if (cantidad > 0)
{
algunProductoDevolver = true;
}
});
if (!algunProductoDevolver)
{
errores = "";
}
if (errores != "")
{
ClassBlockUI.abrirBlockUIEstandarMensaje(errores, true, undefined);
return;
}
Utils.sendStandardAjax("frmDevolver", "https://www.tusestoresenrollables.es/ajax/TiendaVirtualPedidos.devolver.php", {successCallback: "location"});
});
$("body").on("keyup", ".inp-cantidad-devolucion", function()
{
const maximo = $(this).attr("max")*1;
let cantidad = parseInt($(this).val()) || 0;
if (cantidad > maximo)
{
$(this).val(maximo);
}
});
},
confirmarPedido: function()
{
if ($("#btn_confirmar_compra").hasClass("disabled"))
return;
$(".modal").modal("hide");
var extraMsg = "";
if(!$("#condicionesUso").is(":checked"))
{
extraMsg += $("#condicionesUso").attr("title");
}
/*if ($("input[name='forma_pago']:checked").length == 0)
{
extraMsg += extraMsg ? "
" : "";
extraMsg += "Seleccione la forma de pago";
}*/
if (extraMsg != "")
{
ClassBlockUI.abrirBlockUIEstandarMensaje(extraMsg, true, false);
return;
}
var opcionesDatos =
{
url: "https://www.tusestoresenrollables.es/ajax/TiendaVirtualPedidos.procesarPedido.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : $("#frmDireccionCarrito").serialize()+"&observaciones="+$("#observaciones").val()+"&forma_pago="+$("input[name='forma_pago']:checked").val(),
success: function(data)
{
if(data["error_number"] < 0 )
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
$("#procesaPagoExterno").html(data["formularioFormaPago"]);
switch(data["forma_pago"]*1)
{
case 5:
case 1:
{
ClassTiendaVirtualPedidos.pagoBanco();
break;
}
case 3:
default:
{
window.location = "https://www.tusestoresenrollables.es/tienda/pedido-realizado/?pedido="+data["idPedido"];
break;
}
}
}
}
};
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
pagoPaypal:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor("");
$("#pagoPaypal").submit();
},
pagoBanco:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor();
$("#pagoBanco").submit();
}
};
var opciones = {};
var modalAtributos=false;
var modalMensaje = false;
/*var opcionesPeso = false;
var opcionesPaquetes = false;*/
var ClassTiendaVirtualProductos =
{
initAgregarProductoCarrito:function()
{
$(".cantidad").unbind("keyup").keyup(function()
{
ClassTiendaVirtualProductos.actualizarTotal($("#atributos_1").attr("id"), $("#atributos_1").find("option:selected").attr("data-suplemento")*1);
});
$(".cantidad").pressEnter(function(){
return;
});
$(".ficha_producto_atributos select").change(function()
{
ClassTiendaVirtualProductos.actualizarTotal($(this).attr("id"), $(this).find("option:selected").attr("data-suplemento")*1);
});
$(".btnAgregarCarrito").unbind("click").makeTagLink(function()
{
ClassTiendaVirtualProductos.agregarAlCarrito(true, $(this));
});
$(".btnAnadeCarrito").unbind("click").makeTagLink(function()
{
ClassTiendaVirtualProductos.agregarAlCarrito(false, $(this));
});
$(".btnAgregarCarritoListado").unbind("click").makeTagLink(function()
{
ClassTiendaVirtualProductos.agregarAlCarritoCompruebaAtributos(false, $(this));
});
$("body").on("click", ".inputCantidadMas", function () {
var input = $(this).parent().find("input");
var cantidad = $(input).val();
var nuevaCantidad = 1;
if (!isNaN(cantidad)) {
nuevaCantidad = cantidad*1+1;
}
$(input).val(nuevaCantidad)
ClassTiendaVirtualProductos.actualizarTotal($("#atributos_1").attr("id"), $("#atributos_1").find("option:selected").attr("data-suplemento")*1);
});
$("body").on("click", ".inputCantidadMenos", function () {
var input = $(this).parent().find("input");
var cantidad = $(input).val();
var nuevaCantidad = 1;
if (!isNaN(cantidad) && cantidad > 1) {
nuevaCantidad = cantidad*1-1;
}
$(input).val(nuevaCantidad)
ClassTiendaVirtualProductos.actualizarTotal($("#atributos_1").attr("id"), $("#atributos_1").find("option:selected").attr("data-suplemento")*1);
});
$("body").on("click", "#itemPreviewFotos span", function () {
$("#itemPreviewFotos span").removeClass("seleccionada");
$(this).addClass("seleccionada");
var src = $(this).find("img").attr("src");
$("#itemPreviewFotoPrincipal").attr("src", src);
});
$(".ficha_producto_atributos select").trigger("change");
},
actualizarTotal:function(idAtributo, valorAtributo)
{
if(idAtributo!=undefined)
{
opciones[idAtributo] = valorAtributo;
}
var subtotal = ($("#ficha_producto_precio").val()*1);
const ancho = $("#ancho").val() * 1 || 0;
const alto = $("#alto").val() * 1 || 0;
let medida = null;
let pvpMedida = 0;
//Get medidas
if (ancho > 0 && alto > 0)
{
const frase = "Tu estor medirá %1% cm de ancho total, incluyendo los soportes El ancho del tejido será %2% cm. Con el estor extendido, el tejido medirá %3% cm de alto.";
$(".txt-medidas").text(frase.replace("%1%", ancho).replace("%2%", $(".txt-medidas").attr("data-extra")*1 + ancho).replace("%3%", alto));
$.each(Web.medidas, function(i, e){
if (e.ancho >= ancho && e.alto >= alto && medida == null) {
medida = e;
return true;
}
});
if (medida)
{
subtotal = medida.PVP;
pvpMedida = medida.PVP;
}
}
if (pvpMedida == 0)
pvpMedida = $("#ficha_producto_precio").val()*1;
$("*[data-suplemento-tipo='2']").each(function (i, e)
{
const suplemento = $(e).attr("data-suplemento")*1 || 0;
$(e).find(".suplemento").html_formated(pvpMedida * (suplemento / 100), {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', symbol: '€'});
$(e).find(".suplemento").html("+"+$(e).find(".suplemento").html());
});
for(var index in opciones)
{
if(index.match(/atributo_*/i) == null)
continue;
subtotal += opciones[index];
}
$(".caja-atr:not(.d-none) button.selected, .caja-atr:not(.d-none) input:checked, .caja-atr:not(.d-none) .opcs-select select option:selected").each(function (i, e){
const tipoSuplemento = $(e).attr("data-suplemento-tipo")*1 || 1;
const suplemento = $(e).attr("data-suplemento")*1 || 0;
let suplementoEuros = tipoSuplemento == 1 ? suplemento : pvpMedida * (suplemento / 100);
subtotal += suplementoEuros;
if ($(e).parents(".caja-atr").attr("data-id") == 18 && $(e).parent().find(".b-select select option:selected").length > 0) {
const tipoSuplemento2 = $(e).parent().find(".b-select select option:selected").attr("data-suplemento-tipo")*1 || 1;
const suplemento2 = $(e).parent().find(".b-select select option:selected").attr("data-suplemento")*1 || 0;
let suplementoEuros2 = tipoSuplemento2 == 1 ? suplemento2 : pvpMedida * (suplemento2 / 100);
subtotal += suplementoEuros2;
}
});
const cantidad = $(".cantidad").val()*1 || 1;
$("#productos_detalles_subtotal").html_formated((cantidad*subtotal), {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', symbol: '€'});
},
agregarAlCarritoCompruebaAtributos: function(mostrandoAtributos, este){
if(!usuarioIdentificado && !1)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Tienes que identificarse para poder añadir el producto al carrito", true, false);
return;
}
/*var tieneAtributos = este.attr("data-atributos");
if(mostrandoAtributos || !tieneAtributos)
{
ClassTiendaVirtualProductos.agregarAlCarrito(mostrandoAtributos, este);
}
else*/
{
ClassTiendaVirtualProductos.mostrarAtributosParaAgregarAlCarrito(este);
}
},
mostrarAtributosParaAgregarAlCarrito: function(este){
idProducto = este.attr("data-id");
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"https://www.tusestoresenrollables.es/ajax/TiendaVirtualCarrito.seleccionaAtributos.php?CSRF="+CSRF,
data:
{
id: idProducto
},
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
/*if(Object.keys(data["atributos"]).length == 0)
{
ClassTiendaVirtualProductos.agregarAlCarrito(false, este);
}
else
*/
$("#itemPreviewDatos .itemPreviewContieneAtributos").html("");
if(Object.keys(data["atributos"]).length > 0)
{
var seleccionaAtributos = "
";
for(var idAtributo in data["atributos"])
{
seleccionaAtributos += '';
seleccionaAtributos += '';
}
seleccionaAtributos += '';
seleccionaAtributos += '
';
$("#itemPreviewDatos .itemPreviewContieneAtributos").html(seleccionaAtributos);
}
$("#itemPreviewDatos .itemPreviewMarca").html(data["producto"]["marca"]);
$("#itemPreviewDatos .itemPreviewProducto").html(data["producto"]["producto"]);
if (!data["producto"]["esOferta"]) {
$("#itemPreviewDatos .itemPreviewPrecio").addClass("d-none");
} else {
$("#itemPreviewDatos .itemPreviewPrecio").removeClass("d-none");
}
$("#itemPreviewDatos .itemPreviewPrecio").html(data["producto"]["precio"]);
$("#itemPreviewDatos .itemPreviewPrecioOferta").html(data["producto"]["precioOferta"]);
$("#itemPreviewFotoPrincipal").attr("src", data["producto"]["fotoPrincipal"]);
$("#itemPreviewFotos").html("");
$.each(data["producto"]["fotos"], function (i, e) {
var claseSeleccionada = e == data["producto"]["fotoPrincipal"] ? "seleccionada" : "";
$("#itemPreviewFotos").append('
');
});
if (data["producto"]["porcentajeDescuento"] > 0) {
$("#itemPreviewDatos .itemPreviewPorcDescuento").css({opacity: 1, visibility: "visible"});
} else {
$("#itemPreviewDatos .itemPreviewPorcDescuento").css({opacity: 0, visibility: "hidden"});
}
$("#itemPreviewDatos .itemPreviewPorcDescuento").html(data["producto"]["porcentajeDescuento"]+"%");
$("#itemPreviewDatos .itemPreviewCantidad").val(1);
$("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").tooltipster("destroy");
$("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").attr("data-id", idProducto);
$("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").removeClass("deseo").addClass(data["producto"]["claseDeseo"]);
$("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").attr("title", data["producto"]["tooltipDeseo"]);
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
$("#itemPreviewDatos #btnCatalogoComprarAgregarAhoraAtributos").attr("data-id", idProducto);
$("#itemPreviewDatos .itemPreviewAvisame").attr("data-id", idProducto);
$("#itemPreviewDatos #btnCatalogoComprarAgregarAhoraAtributos").attr("data-atributos", 1);
$(".inputCantidad .cantidad").val(1);
modalAtributos = ClassBlockUI.abrirBlockUIEstandar("selectAtributos", undefined, "", "modal-lg");
}
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
agregarAlCarrito: function(mostrandoAtributos, este)
{
if(!usuarioIdentificado && !1)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Tienes que identificarse para poder añadir el producto al carrito", true, false);
}
else
{
var idProducto = este.attr("data-id");
var tieneAtributos = este.attr("data-atributos");
let datos = ClassTiendaVirtualProductos.validaProducto(tieneAtributos);
if (datos.hayError)
return;
var data = datos.atributos;//atributos;
data["idProducto"] = idProducto;
if(!mostrandoAtributos)
{
data["cantidad"] = $("#cantidad_"+idProducto).val(); //porque estamos agregando desde el listado del producto
}
else
{
data["cantidad"] = $(".cantidad").val();
}
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"https://www.tusestoresenrollables.es/ajax/TiendaVirtualCarrito.agregar.php?CSRF="+CSRF,
data: data,
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
ClassTiendaVirtualCarrito.actualizarPreviewCarrito(data);
$(".modalAutoHide").modal("hide");
$(".btnAbreCarrito").trigger("click");
$.notify(
{
title: "
Aviso: ",
message: data["error_message"],
allow_dismiss: false
},
{
placement: {
from: "top",
align: "center"
},
delay: 2000,
//timer: 100000
});
}
}
};
$.ajax(opcionesDatos);
modalMensaje = ClassBlockUI.abrirBlockUIEsperePorFavor();
}
},
validaProducto: function (tieneAtributos){
const ancho = $("#ancho").val() * 1 || 0;
const alto = $("#alto").val() * 1 || 0;
let atributos = {};
let ret = {hayError: false, atributos: atributos};
if (ancho == 0 || alto == 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Debe escribir las medidas", true, false);
ret.hayError = true;
return ret;
}
let hayError = false;
if(tieneAtributos == 1) {
$(".caja-atr:not(.d-none)").each(function (i, e) {
const title = $(e).attr("data-title");
const name = "atributos_"+$(e).attr("data-id");
if ($(e).find("button:not(.dropdown-toggle)").length > 0)
{
const selected = $(e).find("button.selected");
if (selected.length == 0)
{
hayError = true;
ClassBlockUI.abrirBlockUIEstandarMensaje(title, true, false);
return false;
}
else if ($(e).attr("data-id") == 18 && selected.parent().find(".b-select select option:selected").length > 0)
{
atributos["atributos_19"] = selected.parent().find(".b-select select option:selected").val();
}
atributos[name] = selected.attr("data-id");
}
else if ($(e).find("input[type='radio']").length > 0)
{
const selected = $(e).find("input[type='radio']:checked");
atributos[name] = selected.attr("data-id");
}
else if ($(e).find("select").length > 0)
{
const selected = $(e).find("select option:selected");
if (selected.length == 0 || selected.val() == "")
{
hayError = true;
ClassBlockUI.abrirBlockUIEstandarMensaje(title, true, false);
return false;
}
atributos[name] = selected.attr("data-id");
}
});
}
atributos["ancho"] = ancho;
atributos["alto"] = alto;
ret.hayError = hayError;
ret.atributos = atributos;
return ret;
}
};
var ClassUsuarios =
{
initModificarDatosPerfil: function(opciones_validacion, opciones_validacion_modificar_password, paisEnvio, provinciaEnvio, poblacionEnvio, paisFacturacion, provinciaFacturacion, poblacionFacturacion)
{
ClassUsuarios.opcValidacionModificarPassword = opciones_validacion_modificar_password;
ClassUsuarios.opcValidacionModificarDatosPerfil = opciones_validacion;
ClassUsuarios.validacionModificarDatosPerfil=$("#frmModificarDatosPerfil").validate(opciones_validacion);
$(document).ready(function()
{
$(".btnGuardarContrasena").unbind("click").makeTagLink(ClassUsuarios.modificarDatosPassword);
$(".btnGuardarCambios").unbind("click").makeTagLink(ClassUsuarios.modificarDatosPerfil);
$("#btnBaja").unbind("click").makeTagLink(ClassUsuarios.confirmacionBaja);
preparaLugar(paisEnvio, provinciaEnvio, poblacionEnvio, "formEnvioPais", "formEnvioProvincia", "formEnvioLocalidad");
preparaLugar(paisFacturacion, provinciaFacturacion, poblacionFacturacion, "formFacturacionPais", "formFacturacionProvincia", "formFacturacionLocalidad");
ClassUsuarios.actualizarDatos(true);
$("#copiarDirecciones").click(function()
{
ClassUsuarios.actualizarDatos(true);
});
});
},
actualizarDatos:function(actualizarSelects)
{
if($("#generarFactura").val() == 0 || $("#copiarDirecciones").is(":checked") == 1)
{
$("#formDireccionFacturacion, #formFacturacionGuardarCambios, .formFacturacionTitulo").addClass("d-none");
$("#formEnvioGuardarCambios").removeClass("d-none");
if (actualizarSelects)
{
$("#formDireccionFacturacion").removeClass("d-flex");
$("#formFacturacionProvincia").html($("#formEnvioProvincia").html());
$("#formFacturacionLocalidad").html($("#formEnvioLocalidad").html());
$("#formFacturacionProvincia .bs-title-option").remove();
$("#formFacturacionLocalidad .bs-title-option").remove();
$("#formFacturacionProvincia").selectpicker('refresh');
$("#formFacturacionLocalidad").selectpicker('refresh');
$("#formFacturacionProvincia").selectpicker('val', $("#formEnvioProvincia").val());
$("#formFacturacionLocalidad").selectpicker('val', $("#formEnvioLocalidad").val());
}
$.each($("input[name^='formEnvio']"), function (i, element) {
var value = $(element).val();
var inputFact = $("#"+$(element).attr("id").replace("Envio", "Facturacion"));
$(inputFact).val(value);
});
}
else
{
$("#formDireccionFacturacion").addClass("d-flex");
$("#formFacturacionGuardarCambios, .formFacturacionTitulo, #formDireccionFacturacion").removeClass("d-none");
$("#formEnvioGuardarCambios").addClass("d-none");
}
},
modificarDatosPerfil:function()
{
ClassUsuarios.validacionModificarDatosPerfil.resetForm();
$(".bootstrap-select").removeClass("error");
Utils.sendStandardAjax("frmModificarDatosPerfil", "https://www.tusestoresenrollables.es/ajax/Usuarios.modificarDatos.php?CSRF="+CSRF, {opcionesValidacion: ClassUsuarios.opcValidacionModificarDatosPerfil, successCallback: null});
},
modificarDatosPassword: function()
{
Utils.sendStandardAjax("frmModificarContrasena", "https://www.tusestoresenrollables.es/ajax/Usuarios.modificarPassword.php?CSRF="+CSRF, {opcionesValidacion: ClassUsuarios.opcValidacionModificarPassword, successCallback: null, resetFormOnSuccess: true});
},
guardaClaveOlvidoPass: function ()
{
var opciones_validacion=
{
showLabels: false,
rules: {
passwordOlvido:
{
required: true,
minlength: 6
},
password2: {
equalTo: "#passwordOlvido"
}
}
};
Utils.sendStandardAjax("form_olvido", "https://www.tusestoresenrollables.es/ajax/Usuarios.guardaClave.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion, successCallback: "https://www.tusestoresenrollables.es/"});
},
enviarOlvido: function()
{
Utils.sendStandardAjax("frmEnviarOlvido", "https://www.tusestoresenrollables.es/ajax/Usuarios.olvidarContrasena.php", {successCallback: null, resetFormOnSuccess: true});
},
confirmacionBaja: function()
{
ClassBlockUI.abrirBlockUIConfirm("Si te das de baja perderás tu acceso, el historial de los pedidos realizados con las facturas correspondientes, ¿estas seguro de que quieres darte de baja?", "SÍ, DARME DE BAJA", ClassUsuarios.enviarBaja, "NO, CONTINUAR", undefined, "modal681 modalDarBaja", "VAS A DARTE BAJA");
},
enviarBaja: function()
{
$(".modal").modal("hide");
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"https://www.tusestoresenrollables.es/ajax/Usuarios.baja.php?CSRF="+CSRF,
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"] >= 0) {
ClassBlockUI.abrirBlockUIEstandarMensaje("Te vamos a echar mucho de menos. Puedes volver a registrarte cuando quieras, nos vemos pronto", true, "https://www.tusestoresenrollables.es/logout.php", "modal681 modalDarBaja", "TE HAS DADO DE BAJA");
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
actualizaDni: function () {
//$("#formEnvioDNI").removeClass("required").removeClass("valid").removeClass("error");
//$("#formFacturacionDNI").removeClass("required").removeClass("valid").removeClass("error");
}
};