function findPos(obj) { var curtop = 0; if (obj.offsetParent) { do { curtop += obj.offsetTop; } while (obj = obj.offsetParent); return [curtop]; } } class Web { static init() { Web.warningMessage = "Si abandonas ahora la web se perderán los cambios realizados."; Web.warningMessageActivated = false; $(document).ready(function () { $("form.check-change").on("change", "select, input, textarea", function() { Web.activateDeactivateWarning(true); }); }); } static activateDeactivateWarning(activateWarning) { if(activateWarning) { if(!Web.warningMessageActivated) { $(window).bind("beforeunload", Web.warning); } } else { $(window).unbind('beforeunload'); } Web.warningMessageActivated = activateWarning; } static warning() { if(/Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) { alert(Web.warningMessage); return 1; } else { return Web.warningMessage; } } static refrescaTabla(idTabla) { $(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true}); $(".inputIconLupa, .inputMostrar").removeClass("d-none"); $(".form-control").removeClass().addClass("form-control-b"); var numItems = 0; let tabla = eval("tabla"+idTabla); if (typeof tabla != "undefined") { numItems = tabla.page.info().recordsDisplay; } else if ($.fn.dataTable.isDataTable( '#'+idTabla )) { tabla = $('#'+idTabla).DataTable(); numItems = tabla.page.info().recordsDisplay; } if (numItems > $("#"+idTabla+"_length select").val()) { $("#"+idTabla+"_wrapper .pagination-footer").removeClass("d-none"); } else { $("#"+idTabla+"_wrapper .pagination-footer").addClass("d-none"); } //Formato movil const numColumnaMv = 1; const numColumnas = tabla.columns()[0].length; if ($("#"+idTabla).hasClass("tablaMovil")) { const w = $(window).outerWidth(); if (w <= 767) //Ocultar { for(let i = 0; i < numColumnas; i++) { tabla.column(i).visible((numColumnaMv == i ? true : false)); } } else //Mostrar { for(let i = 0; i < numColumnas; i++) { let txt = $(tabla.columns(i).header()).text(); tabla.column(i).visible((txt == "oculto" || numColumnaMv == i ? false : true)); } } } } } $(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": "Contactar con soporte técnico", "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 = ""; textoSelect = ""; } //var textoSelectLoc = ""; 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(); } } }); } var idModeloSeleccionado = 0; function confirmarModelo(item) { //idModeloSeleccionado = item.id; //Esto ya lo hace Utils $("#selectorPotencia").val((item !== undefined && item.potencia !== undefined) ? item.potencia : ""); } function mensajeConfirmarCambiarModelo(caller) { let confirm = ClassBlockUI.abrirBlockUIConfirm("¿Deseas cambiar el modelo seleccionado?", "Aceptar", function () { idModeloSeleccionado = 0; caller.autocomplete("option", "clear")(); confirm.modal("hide"); }, "Cancelar", null, "", "Aviso"); } /* 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 = "
Espera por favor...
"; }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalEspere"); } }; var ClassUsuarios = { 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://selector.garciacamara.com/es/inicio.html"}); }, enviarOlvido: function() { Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php", {successCallback: null, resetFormOnSuccess: true}); }, initAcceso: function() { let validacionLogin; $(document).ready(function() { $("#btnAcceder").click(login); $("#emailLogin").pressEnter(login); $("#passwordLogin").pressEnter(login); const opciones_validacion_login = {showLabels: false}; validacionLogin = $("#frmLogin").validate(opciones_validacion_login); $(".btnAbreLogin").click(abreLogin); }); function abreLogin() { ClassBlockUI.abrirBlockUIEstandar("bloqueLogin", undefined, "Acceso", "modalLogin modal356"); } function login() { var validation = $("#frmLogin").valid(); if(!validation) { ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores

"+validacionLogin.invalidMessages("
"), true, undefined, ""); return; } var opcionesDatos = { type:"POST", dataType:"json", url:"ajax/Usuarios.login.php", data: $("#frmLogin").serialize(), success: function(data, textStatus, XMLHttpRequest) { //Registro a mitad if(data["error_number"]>=0) { window.location = data["urlOnLogin"].replace(/&/,"&"); } //Login error else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, ""); $("#passwordLogin").val(""); } } }; ClassBlockUI.abrirBlockUIEsperePorFavor(); $.ajax(opcionesDatos); } }, };