const crispSupportedLanguages = [
  "ar",
  "ar-ma",
  "az",
  "eu",
  "be",
  "bn",
  "bs",
  "bg",
  "ca",
  "zh",
  "zh-CN",
  "zh-hk",
  "zh-TW",
  "hr",
  "cs",
  "da",
  "en-au",
  "en-gb",
  "en-us",
  "eo",
  "et",
  "fo",
  "fil",
  "fi",
  "nl-be",
  "fr",
  "gl",
  "lg",
  "de",
  "el",
  "gu",
  "hi",
  "hu",
  "is",
  "id",
  "ja",
  "km",
  "rw",
  "ko",
  "ku",
  "lv",
  "lt",
  "mk",
  "ms",
  "ml",
  "mn",
  "ne",
  "no",
  "nb",
  "nn",
  "pl",
  "pt",
  "pt-br",
  "ro",
  "ru",
  "sr-cyrl",
  "si",
  "sk",
  "sl",
  "es-ar",
  "es-co",
  "es-mx",
  "es-py",
  "es-ve",
  "sw",
  "sv",
  "ta",
  "th",
  "vi",
  "ar-sa",
  "nl",
  "en",
  "ka",
  "he",
  "it",
  "fa",
  "es",
  "tr",
  "uk",
];

const globalDefaultLanguage = "nl";

const defaultWebsitesConfigs = {
  "www.slimstock.com": { language: "en" },
  "www.nooteboom.com": { language: "en" },
  "www.nooteboomparts.com": { language: "en" },
  "www.pipstudio.com": { language: "en" },
  "www.pipstudio.de": { language: "de" },
  "www.pipstudio.fr": { language: "fr" },
  "www.hario-europe.com": { language: "en" },
  "tuursleep.de": { language: "de" },
  "www.henchman.eu": { language: "en" },
  "www.henchman.nl": { language: "nl" },
  "www.henchman.de": { language: "de" },
  "www.henchman.fr": { language: "fr" },
  "lu.mijnkoffieboetiek.nl": { language: "fr" },
  "www.henchman.co.uk": { language: "en" },
  "henchman.co.uk": { language: "en" },
};

// Used for Crisp design customisation
var DCC_CRISP_LANG = false;

const getLanguageFromURLandSetForCrisp = () => {
	
  //const websiteOrigin = window.origin;
  const websiteOrigin = window.location.hostname;
  const websiteDefaultLanguage = defaultWebsitesConfigs[websiteOrigin]?.language || globalDefaultLanguage;
  const websiteUrl = window.location.href;
  const websiteUrlParams = websiteUrl.split("/");
  const possibleLanguageCodes = websiteUrlParams.filter(
    (param) => param.length > 1 && param.length < 6
  );

  const locale = possibleLanguageCodes.reduce((defaultLanguage, language) => {
    // debugger
    // console.log("defaultLanguage: ", defaultLanguage, "language: ", language);
    const isLanguageCodeIncudesLocation = language.length === 5;
    const languageCodeAndLocationCode = language.split("-");
    const isCorrectDataOfLanguageCodeAndLocationCode = Array.isArray(languageCodeAndLocationCode) && languageCodeAndLocationCode.length === 2;
    const onlyTheLanguageCodeExcludedLocation = isCorrectDataOfLanguageCodeAndLocationCode ? languageCodeAndLocationCode[0] : null;
    if (crispSupportedLanguages.includes(language)) {
      // debugger
      // console.log("language: ", language);
      return language;
    } else if (crispSupportedLanguages.includes(onlyTheLanguageCodeExcludedLocation)) {
      // debugger
      // console.log('onlyTheLanguageCodeExcludedLocation: ', onlyTheLanguageCodeExcludedLocation);
      return onlyTheLanguageCodeExcludedLocation;
    } else {
      // debugger
      // console.log("defaultLanguage: ", defaultLanguage);
      return defaultLanguage;
    }
  }, websiteDefaultLanguage);

	////
	// Used for Crisp design customisation
	DCC_CRISP_LANG = locale;
	if (document.readyState === "complete") {
		DCC_CRISP_lang_init()
	}else{
		window.onload = function() { DCC_CRISP_lang_init() };
	}
	// Set Crisp chat to expire in 20 min
	CRISP_COOKIE_EXPIRE = 1200;
	////

  CRISP_RUNTIME_CONFIG = {
    locale: locale,
  };
};

getLanguageFromURLandSetForCrisp();

// debugger
// console.log('CRISP_RUNTIME_CONFIG', CRISP_RUNTIME_CONFIG);

// Used for Crisp design customisation
function DCC_CRISP_lang_init() {
	
	var dccCrispJs = document.createElement('script');
	dccCrispJs.src = 'https://chat.digitalcustomercare.eu/dcc_crisp/crisp_custom_init_ncns.js?v33=1';//&cf_action=purge_cache
	document.body.appendChild(dccCrispJs);
}
