// 同步加载 markers.json 文件
function loadJSONSync(url) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, false); // false 表示同步请求
    try {
        xhr.send(null);
        if (xhr.status === 200) {
            return JSON.parse(xhr.responseText);
        } else {
            // console.error('请求失败，状态码:', xhr.status);
            return null;
        }
    } catch (e) {
        // console.error('请求过程中出错:', e);
        return null;
    }
}
 // DOM元素
const elements = {
	htmlElement: document.documentElement,
	bodyElement: document.body
};
// 点击选择框时显示/隐藏选项
$(".select-selected").click(function() {
	$(this).toggleClass("select-arrow-active");
	$(this).next(".select-items").toggle();
});
// 点击页面其他位置时关闭下拉框
$(document).click(function(e) {
	if (!$(e.target).closest(".custom-select").length) {
		$(".select-selected").removeClass("select-arrow-active");
		$(".select-items").hide();
	}
});
const i18n = {
  currentLang: 'en', // 默认语言
  init: function() {
	  var that = this
    this.currentLang = localStorage.getItem('lang')?localStorage.getItem('lang'): 'en';
    this.loadLanguage(this.currentLang);
	if (this.currentLang === 'ar') {
		elements.htmlElement.lang = 'ar';
		elements.htmlElement.dir = 'rtl';
		elements.bodyElement.setAttribute('dir', 'rtl');
	} else {
		elements.htmlElement.lang = this.currentLang;
		elements.htmlElement.dir = 'ltr';
		elements.bodyElement.removeAttribute('dir');
	}
	// 点击选项时更新选择
	$(".select-items div").click(function() {
		// 更新显示文本
		const selectedText = $(this).text();
		// $(".select-selected").text(selectedText);
		
		// 更新选中状态样式
		$(".select-items div").removeClass("same-as-selected");
		$(this).addClass("same-as-selected");
		
		// 隐藏选项框
		$(".select-selected").removeClass("select-arrow-active");
		$(".select-items").hide();
		
		// 显示当前选择
		localStorage.setItem('langtext', selectedText);
		that.toggleLanguage($(this).attr('data-id'))
		localStorage.setItem('lang', $(this).attr('data-id'));
		location.reload(); 
		
	});
  },
  loadLanguage: function(lang) {
	 var data = loadJSONSync(`./assets/js/lang/${lang}.json`);  
	//  console.log(data)
	// $('[data-i18n]').each(function() {
	//    const key = $(this).data('i18n');
	//    $(this).text(data[key]); // 更新文本内容
	//  });
	 // 常规文本内容
	$('[data-i18n]').each(function() {
		 const keys = $(this).data('i18n').split('.');
		 let value = data;
		 
		 keys.forEach(key => {
			 value = value[key];
		 });
		 
		 $(this).text(value || '');
	 });
	  // placeholder翻译
	 $('[data-i18n-placeholder]').each(function() {
		 const keys = $(this).data('i18n-placeholder').split('.');
		 let value = data;
		 keys.forEach(key => {
			 value = value[key];
		 });
		$(this).attr('placeholder', value || '');
		// console.log($(this).attr('placeholder'))
	 });
	 
	 // option文本翻译
	 $('option[data-i18n]').each(function() {
		 const keys = $(this).data('i18n').split('.');
		 let value = data;
		 
		 keys.forEach(key => {
			 value = value[key];
		 });
		 
		 $(this).text(value || '');
	 });
  },
  toggleLanguage: function(selectedText) {
	// console.log(selectedText)
	// console.log('111')
	this.currentLang = selectedText;
    this.loadLanguage(this.currentLang);
	
	if (this.currentLang === 'ar') {
		elements.htmlElement.lang = 'ar';
		elements.htmlElement.dir = 'rtl';
		elements.bodyElement.setAttribute('dir', 'rtl');
	} else {
		elements.htmlElement.lang = this.currentLang;
		elements.htmlElement.dir = 'ltr';
		elements.bodyElement.removeAttribute('dir');
	}
  }
};
$(document).ready(() => i18n.init());
