class Web
{
static initBanner()
{
$(document).ready(function () {
if ($('#carousel-banner').length) {
$('#carousel-banner').owlCarousel({
animateOut: 'fadeOut',
animateIn: 'fadeIn',
loop:true,
margin:0,
nav:false,
dots:true,
mouseDrag: false,
smartSpeed: 900,
autoplay: true,
autoplayTimeout: 7000,
items:1,
});
}
});
}
static initInicio()
{
$(document).ready(function()
{
let validacion_defuncion = $("#frm-buscar-defuncion").validate({showLabels: false});
$("#buscar-defuncion-btn").click(function(e)
{
if (!$("#frm-buscar-defuncion").valid())
{
e.preventDefault();
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores
"+validacion_defuncion.invalidMessages("
"), true, false);
}
});
let itemCarousel = $('#carousel-valoraciones');
const numItems = itemCarousel.find(".item-valoracion").length;
itemCarousel.owlCarousel({
loop: 0,
margin: 30,
nav: false,
dots: true,
smartSpeed: 500,
responsive: {
0: {
items: 1,
mouseDrag: numItems > 1 ? true : false,
loop: numItems > 1 ? true : false,
},
1200: {
items: 2,
mouseDrag: numItems > 2 ? true : false,
loop: numItems > 2 ? true : false,
},
}
});
});
}
static initInfoPlan()
{
$(".item-plan").on("click", ".item-plan-btn", function ()
{
$("#frmMasInfoID").val($(this).attr("data-id"));
ClassBlockUI.abrirBlockUIEstandar("bloqueMasInfo", undefined, "Solicitar Información", "modalLogin modal622");
});
$("#bloqueMasInfo").on("click", "#btnEnviarMasInfo", function ()
{
var extraErrores = "";
if(!$("#politicaInfo").is(":checked"))
{
extraErrores += "Debe aceptar la Política de Privacidad de Datos y la Política de Cookies";
}
const successCallback = function (data, textStatus, XMLHttpRequest) {
if (data["error_number"] >= 0) {
$(".modal").modal("hide");
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
};
Utils.sendStandardAjax("frmMasInfo", "ajax/Planes.masInfo.php", {
extraErroresForm: extraErrores,
successCallback: successCallback
});
});
}
static initPesame()
{
$("body").on("click", "#btn-enviar-pesame", function ()
{
ClassBlockUI.abrirBlockUIEstandar("bloquePesame", undefined, "Enviar pésame", "modalLogin modal622");
});
$("#bloquePesame").on("click", "#btnEnviarPesame", function ()
{
var extraErrores = "";
if(!$("#politicaPesame").is(":checked"))
{
extraErrores += "Debe aceptar la Política de Privacidad de Datos y la Política de Cookies";
}
const successCallback = function (data, textStatus, XMLHttpRequest) {
if (data["error_number"] >= 0) {
$(".modal").modal("hide");
$("#frmPesame")[0].reset();
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
};
Utils.sendStandardAjax("frmPesame", "ajax/Pesame.enviar.php", {
extraErroresForm: extraErrores,
successCallback: successCallback
});
});
}
static initSugerencias()
{
$(".menu-legales").on("click", ".abreQuejas", function ()
{
ClassBlockUI.abrirBlockUIEstandar("bloqueSugerencias", undefined, "Buzón de quejas y sugerencias", "modalLogin modal622");
});
$("#bloqueSugerencias").on("click", "#btnEnviarSugerencias", function ()
{
var extraErrores = "";
if(!$("#politicaSugerencias").is(":checked"))
{
extraErrores += "Debe aceptar la Política de Privacidad de Datos y la Política de Cookies";
}
const successCallback = function (data, textStatus, XMLHttpRequest) {
if (data["error_number"] >= 0) {
$(".modal").modal("hide");
$("#frmSugerencias")[0].reset();
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
};
Utils.sendStandardAjax("frmSugerencias", "ajax/BuzonSugerencias.enviar.php", {
extraErroresForm: extraErrores,
successCallback: successCallback
});
});
}
static initFotos()
{
$(document).ready(function () {
let itemCarousel = $('#carousel-fotos');
const numItems = itemCarousel.find(".item-foto").length;
if (itemCarousel.length) {
itemCarousel.owlCarousel({
loop: false,
margin: 14,
items: 1,
dots: false,
nav: true,
stagePadding: 1,
navText: [
'',
'',
],
responsive: {
0: {
items: 1,
mouseDrag: true,
loop: true
},
576: {
loop: numItems > 3 ? true: false,
mouseDrag: numItems > 3 ? true: false,
items: 3,
margin: 15,
},
768: {
loop: numItems > 4 ? true: false,
mouseDrag: numItems > 4 ? true: false,
items: 4,
},
},
onInitialized: Utils.applyAspectRatio,
onResized: Utils.applyAspectRatio
});
}
Web.gallery = $(".enlace-foto").simpleLightbox();
$("body").on("click", "#img-principal", function ()
{
const w = $(window).innerWidth();
if (w >= 567)
Web.gallery.open(Web.gallery.elements[$(this).attr("data-pos")]);
});
$("body").on("click", ".item-foto", function ()
{
$(".item-foto img.seleccionada").removeClass("seleccionada");
$("#img-principal").attr("src", $(this).find("img").attr("src").replace("M.webp", "G.webp")).attr("data-pos", $(this).attr("data-pos"));
$(this).find("img").addClass("seleccionada");
const w = $(window).innerWidth();
if (w >= 567 && w <=767)
{
Web.gallery.open(Web.gallery.elements[$(this).attr("data-pos")]);
}
});
});
}
static initCarouselEsquelas()
{
$(document).ready(function()
{
$.each($(".carousel-tanatorio"), function (i, e)
{
let itemCarousel = $(e);
const numItems = itemCarousel.find(".caja-esquela").length;
if (itemCarousel.length) {
itemCarousel.owlCarousel({
loop: false,
margin: 30,
dots: false,
nav: true,
stagePadding: 1,
mouseDrag: false,
navText: [
'',
'',
],
responsive: {
0: {
loop: numItems > 1 ? true: false,
items: 1,
},
600: {
loop: numItems > 2 ? true: false,
items: 2,
},
992: {
loop: numItems > 3 ? true: false,
items: 3,
},
1200: {
loop: numItems > 4 ? true: false,
items: 4,
},
}
});
}
});
});
}
static initProducto()
{
$(document).ready(function () {
if ($("#carousel-fotos").length) {
$("#carousel-fotos").owlCarousel({
loop: false,
margin: 6,
items: 1,
dots: false,
nav: true,
stagePadding: 1,
navText: [
'',
'',
],
responsive: {
0: {
items: 1,
mouseDrag: true,
loop: true
},
576: {
loop: ($("#carousel-fotos .item").length > 4) ? true: false,
mouseDrag: ($("#carousel-fotos .item").length > 4) ? true: false,
items:4,
},
1200: {
loop: ($("#carousel-fotos .item").length > 5) ? true: false,
mouseDrag: ($("#carousel-fotos .item").length > 5) ? true: false,
items:5,
},
},
onInitialized: function ()
{
Utils.applyAspectRatio();
},
onResized: function ()
{
Utils.applyAspectRatio();
},
});
}
if ($("#carousel-relacionados").length) {
$("#carousel-relacionados").owlCarousel({
loop: false,
margin: 30,
items: 1,
dots: false,
nav: true,
navText: [
'',
'',
],
responsive: {
0: {
items: 1,
mouseDrag: true,
loop: true
},
576: {
loop: ($("#carousel-relacionados .cajaProducto").length > 2) ? true: false,
mouseDrag: ($("#carousel-relacionados .cajaProducto").length > 2) ? true: false,
items:2,
},
992: {
loop: ($("#carousel-relacionados .cajaProducto").length > 3) ? true: false,
mouseDrag: ($("#carousel-relacionados .cajaProducto").length > 3) ? true: false,
items:3,
},
1200: {
loop: ($("#carousel-relacionados .cajaProducto").length > 4) ? true: false,
mouseDrag: ($("#carousel-relacionados .cajaProducto").length > 4) ? true: false,
items:4,
},
},
onInitialized: function ()
{
Utils.applyAspectRatio();
},
onResized: function ()
{
Utils.applyAspectRatio();
},
});
}
Web.gallery = $(".enlace-foto").simpleLightbox();
$("body").on("click", "#img-principal", function ()
{
Web.gallery.open(Web.gallery.elements[$(this).attr("data-pos")]);
});
$("body").on("click", ".item-foto", function ()
{
$(".item-foto img.seleccionada").removeClass("seleccionada");
$("#img-principal").attr("src", $(this).find("img").attr("src").replace("M", "G")).attr("data-pos", $(this).attr("data-pos"));
$(this).find("img").addClass("seleccionada");
const w = $(window).innerWidth();
if (w >= 567 && w <=767)
{
Web.gallery.open(Web.gallery.elements[$(this).attr("data-pos")]);
}
});
});
$("body").on("click", ".goTo", function(event)
{
event.preventDefault();
window.scroll(0,findPos(document.getElementById($(this).attr("data-id")))-80);
});
}
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", "ajax/Contacto.enviar.php", {
extraErroresForm: extraMsg,
successCallback: null,
resetFormOnSuccess: true,
});
}
}
static refrescaTablaDefunciones()
{
$(".inputIconLupa, .inputMostrar").removeClass("d-none");
$(".form-control").removeClass().addClass("form-control-b");
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
var numItems = 0;
if (typeof tablatablaDefunciones != "undefined") {
numItems = tablatablaDefunciones.page.info().recordsDisplay;
}
if (numItems > $("#tablaDefunciones_length select").val()) {
$("#tablaDefunciones_wrapper .paginationFooter").removeClass("d-none");
} else {
$("#tablaDefunciones_wrapper .paginationFooter").addClass("d-none");
}
}
static initCarouselProductos()
{
$(document).ready(function()
{
$.each($(".carousel-productos"), function (i, e)
{
let itemCarousel = $(e);
const numItems = itemCarousel.find(".cajaProducto ").length;
if (itemCarousel.length) {
itemCarousel.owlCarousel({
loop: false,
margin: 30,
dots: false,
nav: true,
stagePadding: 1,
mouseDrag: false,
navText: [
'',
'',
],
responsive: {
0: {
items: 1,
loop: true
},
576: {
loop: numItems > 2 ? true: false,
items: 2,
},
992: {
loop: numItems > 3 ? true: false,
items: 3,
},
1200: {
loop: numItems > 4 ? true: false,
items: 4,
},
},
onInitialized: Utils.applyAspectRatio,
onResized: Utils.applyAspectRatio
});
}
});
});
}
}
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: "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: "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("jackInTheBox");
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: "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: "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("", true, "https://www.funerariavadis.com/contacto.html");
}
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: "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"]);
$(".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: "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 vat = $("#frmCofirmarPedidoVat").val();
if (typeof tablatablaTotales != "undefined") {
tablatablaTotales.ajax.url('ajax/TiendaVirtualCarrito.getTotales.php?CSRF=' + CSRF + '&pais=' + pais + '&provincia=' + provincia + "&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");
$("input[name='tipo_entrega']").change(function ()
{
if ($(this).val() == 1)
{
$(".tipo-entrega-tanatorio").removeClass("d-none");
$(".tipo-entrega-otra-direccion").addClass("d-none");
}
else
{
$(".tipo-entrega-tanatorio").addClass("d-none");
$(".tipo-entrega-otra-direccion").removeClass("d-none");
}
});
$("input[name='tipo_entrega']:checked").trigger("change");
$('#formEnvioTanatorio').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;
var returned = $.ajax(
{
url: "ajax/Difuntos.listado.php",
type: "POST",
dataType : "json",
data : {
tanatorio: $('#formEnvioTanatorio').val(),
enVelatorio: 1
},
success: function(data)
{
$("#formEnvioDifunto").empty();
$("#formEnvioDifunto").append( "
");
$.each(data["difuntos"], function (i, e)
{
$("#formEnvioDifunto").append( "
" );
});
$("#formEnvioDifunto").selectpicker("refresh");
}
});
});
$("#btnGuardarDireccion").click(guardarEntrega);
$("#btnGuardarDireccionFacturacion").click(guardarFacturacion);
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-envio").on("click", ".cambiar-datos", function()
{
$("#inputs-direccion-envio").removeClass("d-none");
$("#resumen-direccion-envio").html("");
$("#resumen-direccion-envio").addClass("d-none"); //#bloque-carrito-facturacion .datos-bloque-carrito
});
$("#resumen-direccion-facturacion").on("click", ".cambiar-datos", function()
{
$("#inputs-direccion-facturacion").removeClass("d-none");
$("#resumen-direccion-facturacion").html("");
$("#resumen-direccion-facturacion").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 guardarEntrega()
{
/*const successCallback = function (data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
if (data["error_number"] >= 0) {
$("#inputs-direccion-envio").addClass("d-none");
$("#resumen-direccion-envio").html("");
$("#resumen-direccion-envio, #bloque-carrito-facturacion .datos-bloque-carrito").removeClass("d-none");
$("#btn_confirmar_compra").removeClass("disabled");
resumenDireccion("Envio");
if (!$("#copiarDireccionesCarrito").is(":checked"))
resumenDireccion("Facturacion");
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
}
};
Utils.sendStandardAjax("frmDireccionCarrito", "ajax/Usuarios.modificarDatos.php?carrito=1", {
successCallback: successCallback,
opcionesValidacion: ClassTiendaVirtualPedidos.opciones_validacion_direccion
});
var opciones_validacion = {showLabels: false};*/
let validacion = $("#frmDireccionCarrito").validate(ClassTiendaVirtualPedidos.opciones_validacion_direccion);
if(!$("#frmDireccionCarrito").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores
"+validacion.invalidMessages("
"), true, undefined, "");
return;
}
$("#inputs-direccion-envio").addClass("d-none");
$("#resumen-direccion-envio").html("");
$("#resumen-direccion-envio, #bloque-carrito-facturacion .datos-bloque-carrito").removeClass("d-none");
//$("#btn_confirmar_compra").removeClass("disabled");
resumenDireccion("Envio");
}
function guardarFacturacion()
{
const successCallback = function (data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
if (data["error_number"] >= 0) {
$("#inputs-direccion-facturacion").addClass("d-none");
$("#resumen-direccion-facturacion").html("");
$("#resumen-direccion-facturacion").removeClass("d-none");
$("#btn_confirmar_compra").removeClass("disabled");
resumenDireccion("Facturacion");
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
}
};
Utils.sendStandardAjax("frmDireccionFacturacionCarrito", "ajax/Usuarios.modificarDatos.php?carrito=1&facturacion=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 = "";
if (tipo == "Envio")
{
let tipoEntrega = $("input[name='tipo_entrega']:checked").val();
if (tipoEntrega == 1)
{
let tanatorio = $("#form"+tipo+"Tanatorio option:selected").text();
let difunto = $("#form"+tipo+"Difunto option:selected").text();
datos = "
" + tanatorio + "
" + difunto + "Cambiar datos
";
}
else
{
let difunto = $("#formEnvioNombreDifunto").val();
datos = "
" + nombre + "
" + difunto + "
"+ direccion + "
" + codPostal+" "+ localidad + "
"+provincia+"Cambiar datos
";
}
}
else
{
datos = "
" + nombre + "
Teléfono: " + telefono + "
CIF/DNI: " + dni + "
" + direccion + "
" + codPostal + " " + localidad + "
" + provincia + "
" + pais + "Cambiar datos
";
}
$("#resumen-direccion-"+tipo.toLowerCase()).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", "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", "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"));
$("#frmValorar .textoSeccion").removeClass("d-none");
let titulo = "";
if (datos.puntuacion > 0)
{
$("#frmValorar .textoSeccion").addClass("d-none");
titulo = "";
}
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", "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: "ajax/TiendaVirtualPedidos.procesarPedido.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : $("#frmDireccionCarrito").serialize(),
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;
}
default:
{
window.location = ("/tienda/pedido-realizado.html?idPedido=%idPedido%").replace("%idPedido%", 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;
}
//le anadido dividir entre 100 para que lo haga bien, sino suma decimales
var subtotal = ($("#ficha_producto_precio").val()*1);
var subtotal_sin_iva = ($("#ficha_producto_precio_sin_iva").val()*1);
var subtotal_original = ($("#ficha_producto_precio_original").val()*1);
var subtotal_original_sin_iva = ($("#ficha_producto_precio_original_sin_iva").val()*1);
for(var index in opciones)
{
if(index.match(/atributo_*/i) == null)
continue;
subtotal += opciones[index];
subtotal_original += opciones[index];
subtotal_sin_iva += opciones[index];
subtotal_original_sin_iva += opciones[index];
}
var cantidad = $(".cantidad").val()*1;
if(!isNaN(cantidad))
{
$("#productos_detalles_subtotal").html_formated((cantidad*subtotal), {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', symbol: ' €'});
$("#productos_detalles_subtotal_original").html_formated((cantidad*subtotal_original), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: ' €'});
}
else
{
$("#productos_detalles_subtotal").html_formated(subtotal, {symbol: ' €'});
$("#productos_detalles_subtotal_original").html_formated(subtotal_original, {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:"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");
var atributos = {};
var atributosOk = true;
if(tieneAtributos == 1) {
$(".ficha_producto_atributos select").each(function()
{
atributos[$(this).attr("id")] = $(this).val();
if($(this).val() == "")
{
atributosOk=false;
}
});
}
if(!atributosOk)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("", true, false);
return;
}
var data = atributos;//atributos;
data["idProducto"] = idProducto;
data["condolencias"] = $("#condolencias").length > 0 ? $("#condolencias").val() : "";
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:"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();
}
},
};
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);
});
$("#generarFactura").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", "ajax/Usuarios.modificarDatos.php?CSRF="+CSRF, {opcionesValidacion: ClassUsuarios.opcValidacionModificarDatosPerfil, successCallback: null});
},
modificarDatosPassword: function()
{
Utils.sendStandardAjax("frmModificarContrasena", "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", "ajax/Usuarios.guardaClave.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion, successCallback: "https://www.funerariavadis.com/inicio.html"});
},
enviarOlvido: function()
{
Utils.sendStandardAjax("frmEnviarOlvido", "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 los presupuestos 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:"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, "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");
}
};