Skip to content
Proyecto inmobiliario

LA ARBOLEDA GARDENS

ZONA 6 JUMAJ · Huehuetenango · Huehuetenango
Precio desde
$104,947 USD
Tipo
Casa

Sobre el proyecto

// Variables globales para guardar los IDs de cada widget var widgetId_interes; var widgetId_bienvenida; var widgetId_solicita; var widgetId_calc; const SECRET_KEY_STRING = "XmNmy(tqNM(W]AZr0^kxtR^D0!?=App1"; const ALGORITHM = "aes-256-gcm"; const strToBuf = (str) => new TextEncoder().encode(str); async function encryptValue(text) { try { const keyData = strToBuf(SECRET_KEY_STRING); const key = await window.crypto.subtle.importKey('raw', keyData, { name: 'AES-GCM' }, false, ['encrypt']); const iv = window.crypto.getRandomValues(new Uint8Array(12)); const encodedText = strToBuf(text); const encryptedBuffer = await window.crypto.subtle.encrypt( { name: 'AES-GCM', iv: iv }, key, encodedText ); const ivHex = Array.from(iv).map(b => b.toString(16).padStart(2, '0')).join(''); const encryptedHex = Array.from(new Uint8Array(encryptedBuffer)).map(b => b.toString(16).padStart(2, '0')).join(''); return `${ivHex}:${encryptedHex}`; } catch (error) { console.error('Encryption Error:', error); return text; } } // Esta función es llamada por el script de Google cuando termina de cargar var onRecaptchaLoad = function() {          // Renderiza el widget para el formulario de interés si el contenedor existe en la página actual     if (document.getElementById('recaptcha-container-interes')) {         widgetId_interes = grecaptcha.render('recaptcha-container-interes', {             'sitekey' : '6LfwanYrAAAAANN4IENZLaBA2UKXoAL-YRJRXmDJ'         });     }     // Renderiza el widget para el formulario de bienvenida si el contenedor existe en la página actual     if (document.getElementById('recaptcha-container-bienvenida')) {         widgetId_bienvenida = grecaptcha.render('recaptcha-container-bienvenida', {             'sitekey' : '6LfwanYrAAAAANN4IENZLaBA2UKXoAL-YRJRXmDJ'         });     }          // Renderiza el widget para el formulario de bienvenida si el contenedor existe en la página actual     if (document.getElementById('recaptcha-container-solicita')) {         widgetId_solicita = grecaptcha.render('recaptcha-container-solicita', {             'sitekey' : '6LfwanYrAAAAANN4IENZLaBA2UKXoAL-YRJRXmDJ'         });     } /* Renderiza el widget para el formulario de calc si el contenedor existe en la página actual     if (document.getElementById('recaptcha-container-solicita')) {         widgetId_solicita = grecaptcha.render('recaptcha-container-solicita', {             'sitekey' : '6LfwanYrAAAAANN4IENZLaBA2UKXoAL-YRJRXmDJ'         });     } */ };   document.addEventListener("DOMContentLoaded", function() {     const previewModalOverlay = document.getElementById('previewModalOverlayB');     if(!previewModalOverlay) return; // Si el modal no existe, no ejecuta nada.     const closeModalBtn = document.getElementById('closeModalBtnB');     const modalTitle = document.getElementById('modalTitleB');     const bienvenidaForm = document.getElementById('form-bienvenida'); $('#form-bienvenida').on('input', 'input, textarea', function(e) { var $input = $(this); var name = $input.attr('name'); var value = $input.val(); if (name === 'email') { // Sin espacios ni caracteres peligrosos value = value.replace(/[\s<>,:;+/*~^%()=?!¡¿?\$#|[\]{}''"]|'|`/g, ""); } $input.val(value); });     function showWelcomeModalB() {         modalTitle.textContent = "Bienvenido al portal de Viviendas";         previewModalOverlay.style.display = 'flex';     }     function closeWelcomeModalB() {         previewModalOverlay.style.display = "none"; localStorage.setItem('modalClosedTimestampV', Date.now());         if (bienvenidaForm) bienvenidaForm.reset();         $(bienvenidaForm).find('.welcome-form-input').removeClass('error').next('label.error').remove();     }     closeModalBtn.addEventListener('click', closeWelcomeModalB);     previewModalOverlay.addEventListener('click', function(event) {         if (event.target === previewModalOverlay) closeWelcomeModalB();     });     $(document).ready(function() {         const formElement = $("#form-bienvenida");         if(!formElement.length) return;         formElement.validate({             rules: { email: { required: true, email: true } },             messages: {                 email: {                     required: "El correo electrónico es obligatorio.",                     email: "Por favor, ingresa un correo electrónico válido."                 }             },             errorPlacement: function(error, element) {                 error.addClass('error-message');                 error.insertAfter(element);             }         });         formElement.on('submit',async function(e) {             e.preventDefault();             if (!$(this).valid()) return;             const recaptchaResponse = grecaptcha.getResponse(widgetId_bienvenida);             const errorLabel = $('#bienvenida-recaptcha-error');             if (recaptchaResponse.length === 0) {                 errorLabel.removeClass('captcha-error-hidden');                 return;             }             errorLabel.addClass('captcha-error-hidden');                          var fieldPromises = $(this).serializeArray().map(async field => { console.log('Original:', field.name, field.value); if(field.name === "g-recaptcha-response") { return { name: field.name, value: field.value } } else { const encryptedName = await encryptValue(field.name); const encryptedValue = await encryptValue(field.value); console.log('Encrypted:', encryptedName, encryptedValue); return { name: encryptedName, value: encryptedValue }; } }); var fields = await Promise.all(fieldPromises); console.log('Encrypted Fields:', fields);             var submissionData = {                 submittedAt: Date.now(),                 fields: fields,                 context: {                     pageUri: window.location.href,                     pageName: document.title                 },                 recaptchaResponse: recaptchaResponse             };                          formElement.find('.btn-enviar').prop('disabled', true).text('Enviando...');             $.ajax({                 url: 'https://vivienda.banrural.com.gt/_hcms/api/envio-forms-v?tipo=bienvenida',                 type: 'POST',                 contentType: 'application/json',                 data: JSON.stringify(submissionData),                 success: function(response) {                     grecaptcha.reset(widgetId_bienvenida);                     errorLabel.addClass('captcha-error-hidden');                     localStorage.setItem('emailBienvenidaV', 'true');                     formElement.find('.btn-enviar').prop('disabled', false).text('Suscribirse');                     closeWelcomeModalB();                     Swal.fire('Éxito', '¡Gracias por suscribirte!', 'success');                 },                 error: function(xhr, status, error) {                     grecaptcha.reset(widgetId_bienvenida);                     errorLabel.addClass('captcha-error-hidden');                     const errorData = xhr.responseJSON;                     if (xhr.status === 403 && errorData && errorData.message) {                         errorLabel.text(errorData.message).removeClass('captcha-error-hidden');                     } else {                         errorLabel.text('Hubo un problema. Inténtalo de nuevo.').removeClass('captcha-error-hidden');                     }                     formElement.find('.btn-enviar').prop('disabled', false).text('Suscribirse');                 }             });         }); const emailBienvenidaV = localStorage.getItem('emailBienvenidaV'); if (!emailBienvenidaV) { const modalClosedTimestamp = localStorage.getItem('modalClosedTimestampV'); const oneWeekInMillis = 7 * 24 * 60 * 60 * 1000; const currentTime = Date.now(); if (!modalClosedTimestamp || (currentTime - parseInt(modalClosedTimestamp)) > oneWeekInMillis) { setTimeout(showWelcomeModalB, 60000); } }     }); });

REAL NOW aggregates new development projects from public market sources so you can track new inventory in one place. Prices and availability may change without notice. To reserve or confirm updated prices, request information and our team will connect you with the developer or broker.