<?php
/**
 * Site Footer Reveal Scroll Virtual
 *
 * @package far_loop
 */

$legal   = get_page_by_path( 'aviso-legal' );
$archive = get_page_by_path( 'archive' );
?>




<!-- Trigger para activar el reveal -->
<div id="footer-trigger"></div>

<footer class="reveal-footer">



	<!-- Main footer -->
	<div class="main-footer">
		<div class="l_container">
			<div class="grid">


				<div class="col--md--one--half menu-footer-wrapper">
					<div class="grid">

						<div class="menu-footer-new">
              <?php
              wp_nav_menu([
                  'menu'       => 'Lateral',
                  'container'  => false,
                  'menu_class' => 'footer__list',
                  'fallback_cb'=> false
              ]);
              ?>
						</div>

					</div>
				</div>




				<div class="col--md--one--half social-footer-wrapper">

					<div class="grid">
						<div class="col--xs--one--third main-footer__social_new">
								<a href="https://www.facebook.com/loopbarcelona" class="main-footer__social-link-new">Facebook</a>
								<a href="https://twitter.com/LOOPBarcelona" class="main-footer__social-link-new">Twitter</a>
								<a href="https://www.instagram.com/loopbarcelona/" class="main-footer__social-link-new">Instagram</a>
								<a href="https://www.youtube.com/channel/UCStM53MFVoslCZ3LbLBwS0A" class="main-footer__social-link-new">Youtube</a>
							
						</div>
						<!-- 
						<div class="col--xs--two--third u_ph-1">
							<p class="main-footer__contact_new">C/Àngels 16, 08001 Barcelona, Spain +34 932 155 260
							</p>
						</div>
				        -->

						<div class="col--xs--two--third">
							<a href="#" class="main-footer__social-link-new footer-newsletter-link">Sign up to our Mailing List</a>
              <div class="newsletter-wrapper-footer">
                  <div id="mc_embed_shell">
 

                      <div id="mc_embed_signup">
                        <form action="https://loop-barcelona.us6.list-manage.com/subscribe/post?u=a68aef0dae1dbd827770ab352&amp;id=07c394ed12&amp;f_id=00b4a7e3f0"
                              method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
                          <div id="mc_embed_signup_scroll">
                            

                            <div class="mc-field-group mc-field-mail">
                              <!-- <label for="mce-EMAIL"><?php _e( 'Email', 'far_loop' );?><span class="asterisk">*</span></label> -->
                              <input type="email" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="<?php _e( 'Email', 'far_loop' );?> *" required value="">
                            </div>

                            <div class="mc-fields-names">
                                <div class="mc-field-group mc-field-name">
                                  <!-- <label for="mce-FNAME"><?php _e( 'Name', 'far_loop' );?><span class="asterisk">*</span></label> -->
                                  <input type="text" name="FNAME" class="required text" id="mce-FNAME" placeholder="<?php _e( 'Name', 'far_loop' );?> *" required value="">
                                </div>

                                <div class="mc-field-group  mc-field-name">
                                  <!-- <label for="mce-LNAME"><?php _e( 'Surname', 'far_loop' );?><span class="asterisk">*</span></label> -->
                                  <input type="text" name="LNAME" class="required text" id="mce-LNAME" placeholder="<?php _e( 'Surname', 'far_loop' );?> *" required value="">
                                </div>
                            </div>

                            <!-- Mantén tu merge field si quieres guardar también el idioma como dato -->
                            <div class="mc-field-group mc-field-select">
                              <!-- <label for="mce-IDIOMA"><?php _e( 'Language', 'far_loop' );?><span class="asterisk">*</span></label> -->
                              <select name="IDIOMA" class="required" id="mce-IDIOMA" required>
                     
                                <option value="English">English</option>
                                <option value="Spanish">Spanish</option>
                                <option value="Catalan">Catalan</option>
                              </select>
                            </div>


                            <input type="hidden" name="tags" id="mc-tags" value="10174">

                            <div id="mce-responses" class="clear">
                              <div class="response" id="mce-error-response" style="display:none;"></div>
                              <div class="response" id="mce-success-response" style="display:none;"></div>
                            </div>

                            <div aria-hidden="true" style="position:absolute;left:-5000px;">
                              <input type="text" name="b_a68aef0dae1dbd827770ab352_07c394ed12" tabindex="-1" value="">
                            </div>

                            <div class="clear">
                              <input type="submit" name="subscribe" id="mc-embedded-subscribe" class="button mc-field-subscribe" value="Subscribe">
                            </div>
                          </div>
                        </form>
                      </div>

                      <script type="text/javascript" src="//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js"></script>
                      
                    </div>
              </div>
						</div>
					</div>

				</div>
			</div>




			<div class="grid">

				<div class="col--md--one--half col--xl--three--seventh">
					<div class="lang-footer-new"><?php if(function_exists('custom_language_switcher')) custom_language_switcher();?></div>
				</div>	

				<div class="col--md--one--half col--xl--four--seventh">
					<div class="grid adress-footer-new">
						<div class="col--xs--two--third"><p class="main-footer__contact_new">C/Àngels 16, 08001 Barcelona, Spain +34 932 155 260</p></div>

						<div class="col--xs--one--third"><span class="main-footer__legal-item_new">© LOOP <?php echo date("Y"); ?></span></div>
					</div>
			    </div>


			</div>



			
		</div>
	</div>



</footer>

<style>
#footer-trigger {
    height: 1px; /* Marca el final del contenido */
}

.reveal-footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #fff;
    transform: translateY(100%);
    will-change: transform;
    z-index: 100;
}
.main-footer-inner {
    padding: 60px 0;
}
body.freeze-scroll {
    overflow: hidden;
}
</style>



<script>
(function(){
  const modal   = document.getElementById('site-search-modal');
  const toggle  = document.getElementById('site-search-toggle');
  const input   = document.getElementById('site-search-input');
  const closers = modal ? modal.querySelectorAll('[data-close-search]') : [];

  if (!modal || !toggle) return;

  function openSearch(){
    modal.classList.add('is-open');
    document.body.classList.add('search-open');
    toggle.setAttribute('aria-expanded','true');
    modal.setAttribute('aria-hidden','false');
    setTimeout(()=> input && input.focus(), 50);
  }

  function closeSearch(){
    modal.classList.remove('is-open');
    document.body.classList.remove('search-open');
    toggle.setAttribute('aria-expanded','false');
    modal.setAttribute('aria-hidden','true');
    toggle.focus();
  }

  // Abrir
  toggle.addEventListener('click', (e)=> {
    e.preventDefault();
    openSearch();
  });

  // Cerrar con fondo o botón X
  closers.forEach(el => el.addEventListener('click', closeSearch));

  // Cerrar con Escape
  document.addEventListener('keydown', (e)=>{
    if (e.key === 'Escape' && modal.classList.contains('is-open')) {
      closeSearch();
    }
  });

  // Cerrar si se envía el form (opcional)
  modal.querySelector('.site-search-form')?.addEventListener('submit', ()=> {
    // closeSearch(); // comenta si prefieres mantener overlay hasta cargar resultados
  });
})();
</script>







<script>
                        (function($) {
                          window.fnames = []; window.ftypes = [];
                          fnames[0]='EMAIL';ftypes[0]='email';
                          fnames[1]='FNAME';ftypes[1]='text';
                          fnames[2]='LNAME';ftypes[2]='text';
                          fnames[12]='IDIOMA';ftypes[12]='dropdown';
                        }(jQuery));
                        var $mcj = jQuery.noConflict(true);
                      </script>

                      <!-- ====== Mapeo idioma → Tag IDs (SUSTITUYE POR TUS IDs REALES) ====== -->
                      <script>
                        (function() {
                          // Mapea el valor del select a los IDs de tag de Mailchimp
                          // PON AQUÍ TUS IDs REALES
                          var TAG_MAP = {
                            'Spanish': '10182', 
                            'Catalan': '10190',
                            'English': '10174' 
                          };

                          var form    = document.getElementById('mc-embedded-subscribe-form');
                          var select  = document.getElementById('mce-IDIOMA');
                          var tagsInp = document.getElementById('mc-tags');

                          var BASE_TAG_ID = ''; 

                          function computeTagsValue(selected) {
                            var langTag = TAG_MAP[selected] || '';
                            if (BASE_TAG_ID && langTag) return BASE_TAG_ID + ',' + langTag;
                            if (BASE_TAG_ID) return BASE_TAG_ID;
                            return langTag;
                          }

                          // Actualiza en change por UX (opcional)
                          if (select) {
                            select.addEventListener('change', function() {
                              tagsInp.value = computeTagsValue(select.value);
                            });
                          }

                          // Asegura el valor justo antes de enviar
                          if (form) {
                            form.addEventListener('submit', function() {
                              tagsInp.value = computeTagsValue(select ? select.value : '');
                            });
                          }
                        })();
</script>




<script>



jQuery(function ($) {
  var $menu = $('#menu-new-1');
  if (!$menu.length) return;

  var last = 0;
  var visible = true;
  var threshold = 50;
  var ticking = false;

  function handle() {
    var y = Math.max(window.pageYOffset || $(this).scrollTop() || 0, 0);
    var goingDown = y > last;

    if (goingDown && y > threshold && visible) {
      $menu.stop(true, true).fadeOut(160);
      visible = false;
    } else if (!goingDown && !visible) {
      $menu.stop(true, true).fadeIn(160);
      visible = true;
    }

    last = y;
    ticking = false;
  }

  $(window).on('scroll', function () {
    if (!ticking) {
      ticking = true;
      requestAnimationFrame(handle);
    }
  });
});





document.addEventListener("DOMContentLoaded", function () {
  const footer  = document.querySelector(".reveal-footer");
  const trigger = document.getElementById("footer-trigger");
  if (!footer || !trigger) return;

  // === 1) Detectar dispositivos táctiles / móviles y desactivar reveal ===
  const isTouch =
    (window.matchMedia && window.matchMedia("(pointer: coarse)").matches) ||
    "ontouchstart" in window ||
    (navigator.maxTouchPoints || 0) > 0 ||
    (navigator.msMaxTouchPoints || 0) > 0;

  if (isTouch) {
    // Footer normal (sin reveal)
    footer.classList.add("reveal-footer--static");
    footer.style.transform = "none";
    document.body.classList.remove("footer-reveal-active");
    return; // <-- salimos, no montamos el comportamiento de reveal
  }

  // === 2) Desktop: reveal normal con rueda ===
  let footerHeight = footer.offsetHeight;
  let isRevealing = false;
  let revealScroll = 0;

  function lockBodyScroll()   { document.body.style.overflow = "hidden"; }
  function unlockBodyScroll() { document.body.style.overflow = ""; }
  function updateFooterHeight(){ footerHeight = footer.offsetHeight; }

  updateFooterHeight();
  window.addEventListener("resize", updateFooterHeight);

  window.addEventListener("wheel", function (e) {
    const triggerTop     = trigger.getBoundingClientRect().top;
    const viewportHeight = window.innerHeight;

    // Entrar en modo reveal al pasar el trigger y haciendo scroll hacia abajo
    if (!isRevealing && triggerTop <= viewportHeight && e.deltaY > 0) {
      isRevealing = true;
      lockBodyScroll();
      revealScroll = 0;
    }

    if (isRevealing) {
      e.preventDefault();

      // acumular progreso (limitado a la altura del footer)
      if (e.deltaY > 0 && revealScroll >= footerHeight) {
        revealScroll = footerHeight;
      } else {
        revealScroll += e.deltaY;
      }

      const progress = Math.min(Math.max(revealScroll / footerHeight, 0), 1);
      footer.style.transform = `translateY(${(1 - progress) * 100}%)`;

      // Si el usuario hace scroll hacia arriba y el footer ya está oculto → liberar
      if (progress <= 0 && e.deltaY < 0) {
        isRevealing = false;
        unlockBodyScroll();
      }
    }
  }, { passive: false });
});






</script>





<?php wp_footer(); ?>
</body>
</html>
