$(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 = "Cargando..."; } 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 = "Cargando..."; } 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(); } } }); } class Web { static initContador() { $(document).ready(function() { var wowContador = new WOW( { boxClass: 'contadores', // animated element css class (default is wow) animateClass: 'animated', // animation css class (default is animated) offset: 0, // distance to the element when triggering the animation (default is 0) callback: function(box) { //To-do va a durar 1 segundo, si tiene 4 lo hara mas lento const duracion = 1500; $.each($(".item-contador"), function (i, e) { const max = $(e).attr("data-num")*1; let interva = setInterval(function () { const numMax = $(e).attr("data-num")*1; const numActual = $(e).attr("data-actual")*1; if (numActual+1 >= numMax) clearInterval(interva); $(e).find(".item-contador-num").text(numActual+1); $(e).attr("data-actual", numActual+1); }, Math.round(duracion/max)); }); }, }); wowContador.init(); }); } static initContacto() { let validacion; $(document).ready(function(e) { $("#btnEnviarContacto").click(enviarFormulario); var opciones_validacion = {showLabels: false}; validacion = $("#formContacto").validate(opciones_validacion); }); function enviarFormulario(event) { event.preventDefault(); var extraMsg = ""; if (!$("#politica").is(":checked")) { extraMsg = $("#politica").attr("title"); } var successCallback = function (data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); if (data["error_number"] < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); $("#formContacto")[0].reset(); validacion.resetForm(); } }; Utils.sendStandardAjax("formContacto", "ajax/Contacto.enviar.php", { extraErroresForm: extraMsg, successCallback: successCallback }); } } static initTienda() { $(document).ready(function () { if ($("#carousel-fotos").length) { $("#carousel-fotos").owlCarousel({ loop: true, margin: 0, items: 1, dots: false, nav: false, autoplay: true, autoplayTimeout: 4000, onInitialized: function () { Utils.applyAspectRatio(); }, onResized: function () { Utils.applyAspectRatio(); }, }); } Web.gallery = $(".enlace-foto").simpleLightbox(); $("body").on("click", ".item-foto", function () { Web.gallery.open(Web.gallery.elements[$(this).attr("data-pos")]); }); }); } static initObra() { $(document).ready(function () { if ($("#carousel-fotos").length) { $("#carousel-fotos").owlCarousel({ loop: false, margin: 7, items: 1, dots: false, nav: true, stagePadding: 1, navText: [ '', '', ], responsive: { 0: { items: 1, mouseDrag: true, loop: true }, 576: { loop: ($("#carousel-fotos .item-foto").length > 3) ? true: false, mouseDrag: ($("#carousel-fotos .item-foto").length > 3) ? true: false, items: 3, margin: 15, }, 768: { loop: ($("#carousel-fotos .item-foto").length > 4) ? true: false, mouseDrag: ($("#carousel-fotos .item-foto").length > 4) ? true: false, items: 4, margin: 45, }, 992: { loop: ($("#carousel-fotos .item-foto").length > 3) ? true: false, mouseDrag: ($("#carousel-fotos .item-foto").length > 3) ? true: false, items: 3, }, 1200: { loop: ($("#carousel-fotos .item-foto").length > 4) ? true: false, mouseDrag: ($("#carousel-fotos .item-foto").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 () { 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 initPresupuesto() { let validacion; const precioM2 = 120; const precioLimpiezaM2 = 123; $(document).ready(function() { const opciones_validacion = {showLabels: false}; validacion = $("#frmPresupuesto").validate(opciones_validacion); $("#paso-actual").val(1); $(".inp-metro input").keyup(function() { $(this).val($(this).val().replace(",", ".")); }); $("#quiero-limpieza").click(function() { $(this).toggleClass("checked"); $("#servicio-limpieza").val(($(this).hasClass("checked") ? 1 : 0)); actualizaPrecios(); }); $("#frmPresupuestoAnchoSuelo, #frmPresupuestoAlturaTecho, #frmPresupuestoMetrosParedes").pressEnter(function() { $(".btnPasoSiguiente").eq(0).trigger("click"); }); $("#btnEnviarPresupuesto").click(function() { Utils.sendStandardAjax("frmPresupuesto", "ajax/Presupuesto.enviar.php", { successCallback: "https://www.ideatureforma.com/inicio.html" }); }); }); $("body").on("click", ".btnPasoSiguiente", function() { const paso = $("#paso-actual").val(); const siguientePaso = Math.max(1, paso*1+1); const valid = validaPresupuesto(); if (!valid) return; cambiaPaso(siguientePaso); $(".item-paso-presupuesto[data-paso='"+siguientePaso+"']").addClass("activo"); }); $("body").on("click", ".btnPasoAnterior", function() { const paso = $("#paso-actual").val(); const pasoAnterior = Math.max(1, paso*1-1); cambiaPaso(pasoAnterior); }); $("body").on("click", ".item-paso-presupuesto.activo", function() { const paso = $(this).attr("data-paso"); //const valid = validaPresupuesto(); // //if (!valid) // return; cambiaPaso(paso); }); function cambiaPaso(paso) { $(".paso-presupuesto").addClass("d-none"); $("#paso-presupuesto-"+paso).removeClass("d-none"); $("#paso-actual").val(paso); $(".item-paso-presupuesto").removeClass("actual"); $(".item-paso-presupuesto[data-paso='"+paso+"']").addClass("actual"); if (paso == 4) { actualizaPrecios(); } else { $("#paso-presupuesto-"+paso+" .inp-metro input").eq(0).focus(); } } function actualizaPrecios() { const largoSuelo = $("#frmPresupuestoLargoSuelo").val()*1; const anchoSuelo = $("#frmPresupuestoAnchoSuelo").val()*1; const alturaTecho = $("#frmPresupuestoAlturaTecho").val()*1; const metrosParedes = $("#frmPresupuestoMetrosParedes").val()*1; const limpieza = $("#servicio-limpieza").val(); if (isNaN(largoSuelo) || largoSuelo <= 0 || isNaN(anchoSuelo) || anchoSuelo <= 0) { cambiaPaso(1); return; } if (isNaN(alturaTecho) || alturaTecho <= 0) { cambiaPaso(2); return; } if (isNaN(metrosParedes) || metrosParedes <= 0) { cambiaPaso(3); return; } const precio = limpieza == 1 ? precioLimpiezaM2 : precioM2; const mTotales = (largoSuelo*anchoSuelo) + (alturaTecho*metrosParedes); $("#presupuesto-resumen-total span").html(Utils.number_format(mTotales*precio, {decimalSeparator: ",", thousandSeparator: ".", symbol: "€"}).replace(",00", "")); $("#presupuesto-resumen-total-txt").html(mTotales+" metros ("+precio+" €/m + IVA)"); } function validaPresupuesto() { let extraMsg = ""; if (!$("#frmPresupuesto").valid() || extraMsg != "") { ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado los siguientes errores

"+validacion.invalidMessages("
")+extraMsg, true, false); return false; } return true; } } } /* 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 { 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 = "
Loading ... Espere por favor...
"; }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalEspere"); } };