function Initialize() { if (HasRuntimeVersion(runtimeVersion, false) || (checkClient && HasRuntimeVersion(runtimeVersion, checkClient))) { InstallButton.href = directLink; BootstrapperSection.style.display = "none"; } } function HasRuntimeVersion(v, c) { var va = GetVersion(v); var i; var a = navigator.userAgent.match(/\.NET CLR [0-9.]+/g); if (va[0] == 4) a = navigator.userAgent.match(/\.NET[0-9.]+E/g); if (c) { a = navigator.userAgent.match(/\.NET Client [0-9.]+/g); if (va[0] == 4) a = navigator.userAgent.match(/\.NET[0-9.]+C/g); } if (a != null) for (i = 0; i < a.length; ++i) if (CompareVersions(va, GetVersion(a[i])) <= 0) return true; return false; } function GetVersion(v) { var a = v.match(/([0-9]+)\.([0-9]+)\.([0-9]+)/i); if (a == null) a = v.match(/([0-9]+)\.([0-9]+)/i); return a.slice(1); } function CompareVersions(v1, v2) { if (v1.length > v2.length) { v2[v2.length] = 0; } else if (v1.length < v2.length) { v1[v1.length] = 0; } for (i = 0; i < v1.length; ++i) { var n1 = new Number(v1[i]); var n2 = new Number(v2[i]); if (n1 < n2) return -1; if (n1 > n2) return 1; } return 0; } function setLaunchUrl() { var language = document.getElementById("language"); var selectedLanguage = language.options[language.selectedIndex].value; setLaunchUrlLang(selectedLanguage); } function setLaunchUrlLang(lang) { lang = lang ? lang.toLowerCase() : ''; var language = document.getElementById("language"); var selectedLang; for (var i = 0; i < language.options.length; i++) { if (language.options[i].value === lang) { language.selectedIndex = i; selectedLang = lang; break; } } translate(selectedLang); var button = document.getElementById("LaunchButton"); button.href = directLink.replace('.application', (selectedLang ? '-' + selectedLang : '') + '.application'); button = document.getElementById("InstallButton"); button.href = 'setup' + (selectedLang ? '-' + selectedLang : '') + ".exe"; button = document.getElementById("ServiceInstallButton"); button.href = getServiceInstallerPath(selectedLang); updateOlderVersionDownloadButton(selectedLang); var yr = document.getElementById("TY"); yr.innerText = new Date().getFullYear(); } function getServiceInstallerLang(lang) { if (!lang) return 'en-US'; return serviceInstallerLangMap[lang] || "en-US"; } function getServiceInstallerPath(lang) { return 'ServiceInstaller/master/latest/' + getServiceInstallerLang(lang) + '/InfomediaDMSiServiceSetup.msi'; } function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, '\\$&'); var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, ' ')); } function docReady(fn) { // see if DOM is already available if (document.readyState === "complete" || document.readyState === "interactive") { // call on next available tick setTimeout(fn, 1); } else { document.addEventListener("DOMContentLoaded", fn); } } function translate(lang) { lang = !lang ? "en" : lang.toLowerCase().replace(' ', ''); var items = document.getElementsByClassName('lex'); for (var i = 0; i < items.length; i++) { translateOne(items[i], lang); } var items = document.getElementsByClassName('lexAdv'); for (var i = 0; i < items.length; i++) { translateAdvOne(items[i], lang); } } function getTranslation(lang, id) { if (!id) { return; } var lex = lexicons[lang]; if (!lex) { if (lang === "en") { return ''; } return getTranslation("en", id); } lexItem = lex[id]; if (!lexItem || !lexItem.Translation) { if (lang === "en") { return ''; } return getTranslation("en", id); } return lexItem.Translation; } function translateOne(item, lang) { if (!item || !item.dataset.id) { return; } item.innerText = getTranslation(lang, item.dataset.id) || item.innerText; } function translateAdvOne(item, lang) { if (!item || !item.dataset.id) { return; } var translatedLexicon = getTranslation(lang, item.dataset.id); if (translatedLexicon) { item.innerHtml = translatedLexicon .replace('', '') .replace('', ''); } } function updateOlderVersionDownloadButton(selectedLang) { var zipPath = $('.zip-version option:selected').val(); if (!zipPath) { $('#zip-download').attr('href', '#'); } else { selectedLang = selectedLang || $('#language option:selected').val() || 'EN'; $('#zip-download').attr('href', 'zip/' + zipPath + '/DMSi-' + selectedLang.toUpperCase() + '.zip'); } } jQuery(function () { var branchDropDown = $('.branch-name'); versions .map(x=>x.split('/')[0]) .filter((x,i,t)=>t.indexOf(x) === i) .forEach(name => branchDropDown.append(new Option(name, name))); function branchChanged () { var currentBranch = $('.branch-name option:selected').val(); $('.zip-version option').remove(); var zipDownload = $('.zip-version'); versions.forEach(path => { var arr = path.split('/'); var branch = arr.shift(); if (branch !== currentBranch) return; zipDownload.append(new Option(arr.join('-'), path)); }); updateOlderVersionDownloadButton(); } branchDropDown.on('change', branchChanged); $('.zip-version').on('change', ()=>updateOlderVersionDownloadButton()); $('.branch-name option:selected').removeAttr('selected'); $(`.branch-name option[value='${branchName}'`).attr('selected', true); branchChanged(); setLaunchUrlLang(getParameterByName('language')); });