function onYouTubePlayerAPIReady() { Web.YTInit = true; } class Web { static initInicio() { $(document).ready(function () { let itemCarousel = $('#carousel-categorias'); const numItems = $('#carousel-categorias').find(".item-categoria-owl").length; if (itemCarousel.length) { itemCarousel.owlCarousel({ loop: false, margin: 0, items: 2, dots: true, dotsEach: 1, nav: true, navText: [ '', '', ], stagePadding: 0, lazyLoad:true, smartSpeed: 600, /*autoplay: true, autoplayTimeout: 5000,*/ responsive: { 0: { items: 1, margin: 0, mouseDrag: true, loop: true, }, 768: { mouseDrag: numItems > 2 ? true : false, loop: numItems > 2 ? true : false, items: 2, }, }, onInitialized: function () { var num = 0; $.each($('#carousel-categorias .item-categoria-owl'), function(i, e) { $('#carousel-categorias .owl-dot').eq(num).addClass("bg-color-"+$(e).attr("data-color")).addClass("border-color-"+$(e).attr("data-color")); num++; }); }, }); } }); } static initProducto(idCat, color) { $(document).ready(function() { $("#nav-tabs-caracteristicas .nav-link").eq(0).trigger("click"); $(".nav-item-categoria-"+idCat).addClass("menu-seleccionado"); let itemCarousel = $('#carousel-fotos'); const numItems = $('#carousel-fotos').find(".item-foto").length; if (itemCarousel.length) { itemCarousel.owlCarousel({ loop: false, margin: 2, items: 1, dots: true, nav: false, stagePadding: 0, onInitialized: function() { Utils.applyAspectRatio(); $('#carousel-fotos .owl-dot').addClass("bg-color-"+color).addClass("border-color-"+color); $(".item-foto").simpleLightbox(); }, onResized: Utils.applyAspectRatio, }); } $(".masInfoProducto").click(function() { $([document.documentElement, document.body]).animate({ scrollTop: $("#contacto").offset().top-200 }, 300); }); let h = $("#f-producto-descripcion").height(); console.log(h); if (h > 200) { $(".ver-descripcion").removeClass("d-none"); $("#f-producto-descripcion").addClass("bg-prod"); } }); } static initCategorias() { function inViewport($el) { var elH = $el.outerHeight(), H = $(window).height(), r = $el[0].getBoundingClientRect(), t=r.top, b=r.bottom; return (Math.max(0, t>0? Math.min(elH, H-t) : Math.min(b, H)).toFixed(2)); } $(document).scroll(function() { checkOffset(); }); function checkOffset() { let element = $("#menu-categorias"); /*if(element.offset().top + element.height() >= $('footer').offset().top ) element.addClass('con-footer'); if($(document).scrollTop() + window.innerHeight < $('footer').offset().top) element.removeClass('con-footer');*/ element.css("height", "calc(100vh - "+inViewport($("footer"))+"px)"); } $("body").on("click", ".nav-link", checkOffset); $("#menu-categorias").on("click", "#cerrar-menu-categorias", function() { $("#menu-categorias").removeClass("open"); }); $("body").on("click", "#abrir-menu-categorias", function() { $("#menu-categorias").addClass("open"); }); } static initVideos(tipo) { $("body").on("click", ".item-video-texto", function() { ClassBlockUI.abrirBlockUIEstandar("bloqueVideo", undefined, undefined, "modalVideo modal1050"); $("#bloqueVideo").html(''); }); if (tipo === 1) { $(".caja-video").on("mouseenter", ".item-video", function () { if ($(this).find("iframe").length != 0) return false; const codigo = $(this).attr("data-codigo"); const ruta = 'https://www.youtube-nocookie.com/embed/'+codigo+'?autoplay=1&mute=1'; if ($(this).find("iframe").length > 0) $(this).find("iframe").attr("src", ruta); else $(this).find(".item-video-hover").html(''); }); } else { Web.player = null; $(".caja-video").on("click", ".item-video .relative", function (e) { e.preventDefault(); $(".btnAbreCookies").trigger("click"); }); } /*$(".caja-video").on("mouseleave", ".item-video", function () { console.log("mouseleave"); $(this).find("iframe").remove(); });*/ } static initContacto() { var validacion; $(document).ready(function(e) { $("#btnEnviarContacto").click(enviarFormulario); var opciones_validacion = {showLabels: false}; validacion = $("#formContacto").validate(opciones_validacion); $("input[name='frmTipo']").change(function () { if($(this).val() == 2) { $(".frm-contacto-empresa").removeClass("d-none"); } else { $(".frm-contacto-empresa").addClass("d-none"); } }); $("input[name='frmTipo']:checked").trigger("change"); $("#frmRegistroPais").attr("data-title", ""); }); 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 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, margin:0, nav:false, dots:true, mouseDrag: false, smartSpeed: 1200, autoplay: true, autoplayTimeout: 7000, items:1 }); } }); } static initRegistroUsuario() { $(document).ready(function () { $("#frmRegistro").validate( { showLabels: false, rules: { "frmRegistroRepiteEmail": { equalTo:"#frmRegistroEmail" }, "frmRegistroPassword": { minlength: 6 }, "frmRegistroRepitePassword": { equalTo:"#frmRegistroPassword" } } }); $("input[name='registroTipo']").change(function () { if($(this).val() == 2) { $(".contieneNombreEmpresa").show(); } else { $(".contieneNombreEmpresa").hide(); } }); $("#frmRegistroPais").attr("data-title", ""); $("#btnAltaUsuario").click(function () { Utils.sendStandardAjax("frmRegistro", "ajax/Usuarios.registro.php", {"successCallback": "data-location"}); }); }); } static initLoginUsuario() { $(document).ready(function () { $("#btnLoginUsuario").click(function () { Utils.sendStandardAjax("frmLogin", "ajax/Usuarios.login.php", {"successCallback": "data-location"}); }); }); } static abreLogin() { $(".modal").modal("hide"); ClassBlockUI.abrirBlockUIEstandar("bloqueLogin", undefined, "Acceso de Usuario", "modal360") } static abreRegistro() { $(".modal").modal("hide"); ClassBlockUI.abrirBlockUIEstandar("bloqueRegistro", undefined, "Registro de Usuario", "modal620") } static init() { $(document).ready(function () { $(".btnAbrirAcceso").makeTagLink(Web.abreLogin); $(".btnAbrirRegistro").makeTagLink(Web.abreRegistro); }); }; } $(document).ready(function () { if($.fn.dataTable != undefined) { $.extend($.fn.dataTable.defaults, { "language": { "sProcessing": "", "sLengthMenu": "", "sZeroRecords": "", "sEmptyTable": "", "sInfo": "", "sInfoEmpty": "", "sInfoFiltered": "()", "sSearchPlaceholder": "", "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).change(function() { actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia); }); if(provincia > 0) { actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais,poblacion, pais, provincia, poblacion, $("#"+idInputProvincia).val()*1); } $("#"+idInputProvincia).change(function() { actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1); }); } function actualizaProvincias(idCampoLocalidad, idCampoRegion, idCampoPais, idRegionPreEstablecida, 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 = ""; } if(textoLoading == undefined) { textoLoading = ""; } var data = { idPais: forceIdPais }; $("#"+idCampoRegion).empty(); $("#"+idCampoRegion).append( ""); 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( "" ); } if(idRegionPreEstablecida!=undefined && idRegionPreEstablecida !="") { $("#"+idCampoRegion).val(idRegionPreEstablecida); } else { $("#"+idCampoRegion).val(0); } 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 = ""; } if(textoLoading == undefined) { textoLoading = ""; } var data = { idPais: forceIdPais, idRegion: forceIdRegion }; $("#"+idCampoLocalidad).empty(); $("#"+idCampoLocalidad).append( ""); 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( "" ); } if(idLocalidadPreEstablecida!=undefined) { $("#"+idCampoLocalidad).val(idLocalidadPreEstablecida); } 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 += ''; $("body").append(message); var modal = $("#"+blockUIId); modal.find(".modal-dialog").addClass("zoomInDown"); 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 { if(onClose.indexOf("/") !=0 && onClose.indexOf("http") !=0) { onClose = "/"+onClose; } 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 = "
Espere por favor...
"; }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalEspere"); } }; var ClassUsuarios = { 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.biocanpets.es/es/inicio.html"}); }, enviarOlvido: function() { Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php", {successCallback: null, resetFormOnSuccess: true}); }, };