OBITUARIES
Elizabeth Ann "Betty" Beutke
Jun 21, 2024
Elizabeth Ann “Betty” Beutke (LeVelle), age 92, longtime resident of West Chicago, passed away peacefully on Friday, June 21, 2024. She was born on August 15, 1931, to Alonzo and Ella Mae LeVelle in Ransom, IL. Her father worked for the railroad, so her family traveled around central IL but she spent most of her childhood in Long Point, IL. Betty...
Myoung Koo (Mike) Lee
Jun 18, 2024
Myoung Koo (Mike) Lee, 84, passed away peacefully on June 18, 2024.
He was born on May 7, 1940, in what is now South Korea. He immigrated to the United States to pursue his education and met his wife Jhung Seon (Kim) Lee at college. They married and settled in Mt. Prospect, Illinois where they raised two sons, Canto and Santo.
Mike...
Mary H. Meyers
Jun 16, 2024
Mary H. Meyers (Kuhn), age 95, longtime resident of West Chicago, passed away peacefully on June 16, 2024. She was born August 9, 1928 in Naperville where she would spend her youth. Mary was united in marriage on October 19, 1946 to the late Joseph Meyers. She enjoyed singing and sang for weddings at St. Peter and Paul Church in...
Isaias Flores
May 31, 2024
Isaias Flores, age 27, passed away on May 31, 2024. Visitation will be held on Friday, June 14, 2024 from 3:00 p.m. to 8:00 p.m. at Visit Obituary
Timothy Michael Warning
May 31, 2024
Timothy Michael Warning, age 59, of Aurora, passed away suddenly on May 31, 2024. He was born on October 15, 1964 in Elmhurst, IL to Donald Thomas and Nancy Warning. Tim worked for Gerber Collision and Glass. Tim attended West Chicago Community High School where he was a member of the band, speech team and played football. Tim was a...
Humphrey "Lucho" Rodriguez
May 30, 2024
Humphrey "Lucho" Rodriguez, age 66, of Glendale Heights, passed away on May 30, 2024. Visitation will be held on Monday, June 3, 2024 from 3:00 p.m. to 8:00 p.m. at { const match = window.location.pathname.match(/^\/([a-z]{2,3})(?:-([a-z]{2}))?(?=\/|$)/i); if (!match) return null; const base = match[1].toLowerCase(); const region = (match[2] || '').toLowerCase(); if (base === TK_PAGE_LANG) return null; return { prefix: match[0].slice(1), code: base === 'zh' && region ? 'zh-' + region.toUpperCase() : base };};const TK_DEFAULT_FLAGS = { en: 'us', es: 'mx', fr: 'fr', de: 'de', it: 'it', pt: 'br', 'zh-cn': 'cn', 'zh-tw': 'tw', ja: 'jp', ko: 'kr', vi: 'vn', tl: 'ph', ar: 'sa', ru: 'ru', uk: 'ua', pl: 'pl', nl: 'nl', el: 'gr', tr: 'tr', hi: 'in', th: 'th', id: 'id', ht: 'ht', sm: 'ws', to: 'to', sv: 'se', no: 'no', da: 'dk', fi: 'fi', cs: 'cz', hu: 'hu', ro: 'ro'};const parseCustomLangs = (value) => { const seen = {}; const langs = []; String(value || '').split(',').forEach((raw) => { const code = raw.trim(); if (!code) return; const isChinese = /^zh-/i.test(code); const match = code.match(/^([a-z]{2,3})-([a-z]{2})$/i); const googleCode = isChinese || !match ? code : match[1]; const key = googleCode.toLowerCase(); if (seen[key]) return; seen[key] = true; langs.push({ code: googleCode, flag: match && !isChinese ? match[2].toLowerCase() : (TK_DEFAULT_FLAGS[key] || '') }); }); if (!seen[TK_PAGE_LANG]) { langs.unshift({ code: TK_PAGE_LANG, flag: TK_DEFAULT_FLAGS[TK_PAGE_LANG] }); } return langs;};const getLangName = (code) => { try { const name = new Intl.DisplayNames([code], { type: 'language' }).of(code); return name.charAt(0).toUpperCase() + name.slice(1); } catch (e) { return code.toUpperCase(); }};const getCurrentLang = () => { const match = document.cookie.match(/(?:^|;\s*)googtrans=\/[^\/]*\/([^;]+)/); return match ? decodeURIComponent(match[1]) : TK_PAGE_LANG;};const clearTranslateCookie = () => { const expired = 'googtrans=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/'; const parts = window.location.hostname.split('.'); document.cookie = expired; const urlLang = getUrlLang(); if (urlLang) document.cookie = expired.replace('path=/', 'path=/' + urlLang.prefix); while (parts.length > 1) { document.cookie = expired + '; domain=.' + parts.join('.'); parts.shift(); }};const createFlag = (lang) => { const badge = document.createElement('span'); badge.className = 'tk-translate__flag'; const showCode = () => { badge.textContent = lang.code.slice(0, 2).toUpperCase(); badge.classList.add('tk-translate__flag--text'); }; if (!lang.flag) { showCode(); return badge; } const img = document.createElement('img'); img.alt = ''; img.onerror = showCode; img.src = TK_FLAG_BASE + lang.flag + '.svg'; badge.append(img); return badge;};const buildCustomLook = (translateWidget) => { const langs = parseCustomLangs(data.config.availableLangs); const findLang = (code) => langs.find((lang) => lang.code.toLowerCase() === String(code).toLowerCase()); let current = findLang(getCurrentLang()) || findLang(TK_PAGE_LANG); const root = document.createElement('div'); root.className = 'tk-translate notranslate'; root.setAttribute('translate', 'no'); const button = document.createElement('button'); button.type = 'button'; button.className = 'tk-translate__toggle'; button.setAttribute('aria-haspopup', 'listbox'); button.setAttribute('aria-expanded', 'false'); const panel = document.createElement('div'); panel.className = 'tk-translate__panel'; panel.hidden = true; const list = document.createElement('ul'); list.className = 'tk-translate__list'; list.setAttribute('role', 'listbox'); list.setAttribute('aria-label', 'Select language'); langs.forEach((lang) => { const option = document.createElement('li'); option.className = 'tk-translate__option'; option.setAttribute('role', 'option'); option.setAttribute('tabindex', '-1'); option.setAttribute('data-lang', lang.code); option.setAttribute('lang', lang.code); const name = document.createElement('span'); name.className = 'tk-translate__name'; name.textContent = getLangName(lang.code); option.append(createFlag(lang), name); list.append(option); }); const attribution = document.createElement('div'); attribution.className = 'tk-translate__attribution'; attribution.innerHTML = 'Powered by Google Translate'; const getOptions = () => Array.from(list.querySelectorAll('.tk-translate__option')); const renderCurrent = () => { button.textContent = ''; button.append(createFlag(current)); button.setAttribute( 'aria-label', 'Select language. Current language: ' + getLangName(current.code) ); getOptions().forEach((option) => { option.setAttribute( 'aria-selected', option.getAttribute('data-lang') === current.code ? 'true' : 'false' ); }); }; const openPanel = () => { panel.classList.remove('tk-translate__panel--right'); panel.hidden = false; button.setAttribute('aria-expanded', 'true'); if (panel.getBoundingClientRect().right > window.innerWidth) { panel.classList.add('tk-translate__panel--right'); } (list.querySelector('[aria-selected="true"]') || getOptions()[0]).focus(); }; const closePanel = (returnFocus) => { if (panel.hidden) return; panel.hidden = true; button.setAttribute('aria-expanded', 'false'); if (returnFocus) button.focus(); }; const selectLang = (code) => { const lang = findLang(code); closePanel(true); if (!lang || lang.code === current.code) return; if (lang.code.toLowerCase() === TK_PAGE_LANG) { clearTranslateCookie(); window.location.reload(); return; } const combo = translateWidget.querySelector('.goog-te-combo') || document.querySelector('.goog-te-combo'); const match = combo && Array.from(combo.options).find( (option) => option.value.toLowerCase() === lang.code.toLowerCase() ); if (match) { combo.value = match.value; combo.dispatchEvent(new Event('change')); current = lang; renderCurrent(); } else { document.cookie = 'googtrans=/' + TK_PAGE_LANG + '/' + lang.code + '; path=/'; window.location.reload(); } }; button.addEventListener('click', () => { if (panel.hidden) { openPanel(); } else { closePanel(false); } }); button.addEventListener('keydown', (event) => { if (event.key === 'ArrowDown' || event.key === 'ArrowUp') { event.preventDefault(); openPanel(); } }); list.addEventListener('click', (event) => { const option = event.target.closest('.tk-translate__option'); if (option) selectLang(option.getAttribute('data-lang')); }); panel.addEventListener('keydown', (event) => { const items = getOptions(); const index = items.indexOf(document.activeElement); if (event.key === 'Escape') { event.preventDefault(); closePanel(true); } else if (event.key === 'ArrowDown') { event.preventDefault(); items[(index + 1) % items.length].focus(); } else if (event.key === 'ArrowUp') { event.preventDefault(); items[index <= 0 ? items.length - 1 : index - 1].focus(); } else if (event.key === 'Home') { event.preventDefault(); items[0].focus(); } else if (event.key === 'End') { event.preventDefault(); items[items.length - 1].focus(); } else if ((event.key === 'Enter' || event.key === ' ') && index > -1) { event.preventDefault(); selectLang(items[index].getAttribute('data-lang')); } }); root.addEventListener('focusout', (event) => { if (event.relatedTarget && !root.contains(event.relatedTarget)) closePanel(false); }); document.addEventListener('click', (event) => { if (!root.contains(event.target)) closePanel(false); }); panel.append(list, attribution); root.append(button, panel); translateWidget.append(root); translateWidget.classList.add('translateWidget--custom'); renderCurrent(); let tries = 0; const waitForGoogle = setInterval(() => { tries += 1; if (document.querySelector('.goog-te-combo')) { clearInterval(waitForGoogle); } else if (tries >= 40) { clearInterval(waitForGoogle); root.remove(); translateWidget.classList.remove('translateWidget--custom'); } }, 250);};const loadTranslateWidget = () => { const translateWidget = element.querySelector('.translateWidget'); if ( !translateWidget || translateWidget.getAttribute('data-translate-initialized') === 'true' ) { return; } translateWidget.setAttribute('data-translate-initialized', 'true'); let elmIndex = $("div[id^='google_translate_element']").length; const translateDiv = document.createElement('div'); let container; let translateId = `google_translate_element${elmIndex}`; translateDiv.setAttribute('id', translateId); if (data.config.container) { container = document.createElement('div'); container.setAttribute('class', 'container'); container.append(translateDiv); translateWidget.append(container); } else { translateWidget.append(translateDiv); } const normalizeLangs = (value) => { const codes = String(value || '') .split(',') .map((code) => code.trim()) .filter(Boolean) .map((code) => /^zh-/i.test(code) ? code : code.replace(/^([a-z]{2,3})-[a-z]{2}$/i, '$1') ); return [...new Set(codes)].join(','); }; const includedLangs = normalizeLangs(data.config.availableLangs); const useCustomLook = !!data.config.customLook && !!data.config.showSpecificLangs && includedLangs !== ''; let translateConfig = document.createElement('script'); translateConfig.innerHTML = ` function googleTranslateElementInit${elmIndex}() { new google.translate.TranslateElement({ ${data.config.simpleLayout && !useCustomLook ? 'layout: google.translate.TranslateElement.InlineLayout.SIMPLE,' : ''} pageLanguage: 'en', ${data.config.showSpecificLangs ? 'includedLanguages: ' + '\'' + includedLangs + '\'' : ''} }, 'google_translate_element${elmIndex}'); } `; translateWidget.append(translateConfig); if (data.config.autoTranslate) { const urlLang = getUrlLang(); if (urlLang) { const sessionKey = 'tk-auto-translate-' + urlLang.prefix; let alreadyApplied = false; try { alreadyApplied = sessionStorage.getItem(sessionKey) === '1'; } catch (e) {} /* if (!alreadyApplied) { document.cookie = 'googtrans=/' + TK_PAGE_LANG + '/' + urlLang.code + '; path=/' + urlLang.prefix; try { sessionStorage.setItem(sessionKey, '1'); } catch (e) {} } */ if (!window.tkTranslatePageHideBound) { window.tkTranslatePageHideBound = true; window.addEventListener('pagehide', () => { const expired = 'googtrans=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/'; const parts = window.location.hostname.split('.'); document.cookie = expired; while (parts.length > 1) { document.cookie = expired + '; domain=.' + parts.join('.'); parts.shift(); } }); } } } let script = document.createElement('script'); script.src = `https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit${elmIndex}`; script.onerror = () => { translateWidget.removeAttribute('data-translate-initialized'); }; translateWidget.append(script); if (useCustomLook) { buildCustomLook(translateWidget); } };if (data.config.showOnDevice == 'all') { loadTranslateWidget();} else if (data.config.showOnDevice == 'mobile') { if (data.device == 'mobile') { loadTranslateWidget(); }} else if (data.config.showOnDevice == 'desktopTablet') { if (data.device == 'desktop' || data.device == 'tablet') { loadTranslateWidget(); }} else { loadTranslateWidget();} };
