/**
 * amiPro utils
 */

'use strict';

function setI18NText(i18n_map){
  for (const key of i18n_map.keys()) {
    const elm = $("#"+key);
    if(elm){
      const lang = window.navigator.language;
      var elem = i18n_map.get(key) 
      var msg = null
      if(elem){
        msg = elem.get(lang)
        if(!msg && lang && lang.indexOf('-') > -1) msg = elem.get(lang.split('-')[0]);
        if(!msg) msg = elem.get('en-US');
      }
      if(!msg)msg = key+"-"+lang
      
      $("#"+key).html(msg);
    }
  }
}

function getI18NText(i18n_map, key){
  const lang = window.navigator.language;
  var elem = i18n_map.get(key) 
  var msg = null
  if(elem){
    msg = elem.get(lang)
    if(!msg && lang && lang.indexOf('-') > -1) msg = elem.get(lang.split('-')[0]);
    if(!msg) msg = elem.get('en-US');
  }
  if(!msg)msg = key+"-"+lang
  
  return msg  
}

function initRevealAnimations(){
  const animated = document.querySelectorAll('.reveal, [data-animate]');
  if(!animated || animated.length === 0){
    return;
  }
  if(!('IntersectionObserver' in globalThis)){
    for (const el of animated) {
      el.classList.add('is-visible');
    }
    return;
  }
  const observer = new IntersectionObserver(function(entries){
    for (const entry of entries) {
      if(entry.isIntersecting){
        entry.target.classList.add('is-visible');
        observer.unobserve(entry.target);
      }
    }
  }, {threshold: 0.18});
  for (const el of animated) {
    el.classList.add('reveal');
    observer.observe(el);
  }
}
