(function () {
try {
// AQ-r2 (2026-06-09): respect the explicit-denial sentinel
// written by cookie-consent-harden.js writeATR() on any
// marketing-axis denial (payload.marketing === false; cycle-3 F1).
// Without this gate, the next page navigation re-creates
// gmx_first_touch from the current URL+referrer+utm_*+click_ids,
// silently undoing the reject-all deletion (sweep finding #1).
// The sentinel is cleared the moment the visitor grants
// marketing in the banner (analytics-only grant does NOT
// clear), restoring the writer path on the very next
// page load. Page-cache-safe: the sentinel is a
// browser-resident cookie checked in the inline script, so
// varnish/breeze-served HTML still hits this gate.
if (/(?:^|;\s*)gmx_consent_denied=1(?:;|$)/.test(document.cookie || '')) return;
var CLICK_IDS = ['gclid','fbclid','msclkid','ttclid','wbraid','gbraid','li_fat_id'];
var qs = new URLSearchParams(window.location.search);
var urlClickIdKey = null;
for (var i = 0; i < CLICK_IDS.length; i++) {
if (qs.get(CLICK_IDS[i])) { urlClickIdKey = CLICK_IDS[i]; break; }
}// Parse existing cookie.
var existing = null;
var match = document.cookie.match(/(?:^|;\s*)gmx_first_touch=([^;]+)/);
if (match) {
try { existing = JSON.parse(decodeURIComponent(match[1])); } catch (e) { existing = null; }
}// GWP-273 — referrer-enrichment branch.
// Keep existing unless either (a) URL carries a new click id
// the stored payload lacks (paid click is a higher-value
// signal and upgrades direct/organic), OR (b) the stored
// payload has empty referrer AND the current document.referrer
// is non-empty + external (Safari/ITP/policy-quirk catch:
// first-hit may have missed the referrer; later same-session
// page-loads can recover it).
var existingHasRef = !!(existing && existing.referrer && existing.referrer !== '');
var docRef = document.referrer || '';
var refHost = '';
if (docRef) {
try {
refHost = new URL(docRef).hostname.replace(/^www\./, '').toLowerCase();
} catch (e) { refHost = ''; }
}
var ownHost = (location.host || '').replace(/^www\./, '').toLowerCase();
var currentExternalRef = !!(refHost && refHost !== ownHost);
var canEnrichRef = !!existing && !existingHasRef && currentExternalRef;if (existing) {
if (!urlClickIdKey && !canEnrichRef) return;
if (urlClickIdKey && existing[urlClickIdKey] && !canEnrichRef) return;
}var utm_keys = [
'utm_source','utm_medium','utm_campaign','utm_content','utm_term',
'utm_adgroup','utm_matchtype','utm_network','utm_device','utm_placement'
];
// GWP-273 — merge-preserving base. When enriching an existing
// payload, retain its landing_url + ts + prior click ids /
// utms; only overlay referrer (and any click id appended below
// via the forEach). Branches with/without urlClickIdKey were
// collapsed — both produced the identical Object.assign — the
// click id is added uniformly later.
//
// GWP-273 design choice: "latest external referrer wins" —
// accepted edge case where a user opens a new external tab
// post-empty-first-touch and returns; low-volume, simple, no
// sentinel flag needed.
var data;
if (existing && canEnrichRef) {
data = Object.assign({}, existing, { referrer: docRef });
} else {
data = { landing_url: window.location.href, referrer: docRef, ts: Date.now() };
}
utm_keys.concat(CLICK_IDS).forEach(function (k) {
var v = qs.get(k);
if (v) data[k] = v;
});
var encoded = encodeURIComponent(JSON.stringify(data));
if (encoded.length > 3800) return;
var expires = new Date(Date.now() + 90 * 864e5).toUTCString(); // GWP-143 C1: match Google Ads 90-day attribution window
var secure = window.location.protocol === 'https:' ? '; Secure' : '';
document.cookie = 'gmx_first_touch=' + encoded + '; Path=/; Expires=' + expires + '; SameSite=Lax' + secure;
} catch (e) {}
})();
var breeze_prefetch = {"local_url":"https://gomixapp.co.il","ignore_remote_prefetch":"1","ignore_list":["/cart/","/checkout/","/my-account/","/(.)/u05d4u05d8u05d5u05e4u05e1-u05e0u05e9u05dcu05d7-u05d1u05d4u05e6u05dcu05d7u05d4/","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
מחפשים נוסח הודעה לבית כנסת? לפניכם תבנית הודעת גבאי כללית — נוסח ריק ומסודר שמתאים לכל הודעה למתפללים: אירוע, שינוי, בקשה או עדכון. מלאו את התאריך ואת תוכן ההודעה, או ערכו את הסוגריים המרובעים ידנית — ואז העתיקו, הדפיסו או הורידו כקובץ PDF או Word.
מלאו את הפרטים — הנוסח יתעדכן אוטומטית:
בס״ד
הודעה למתפללים
[תאריך]
ציבור המתפללים היקר,
ברצוננו להביא לידיעתכם כי [סיבה].
[פרטים נוספים: מקום, שעה והנחיות למתפללים]
נודה לשיתוף הפעולה של כלל המתפללים.
בברכה,
גבאי בית הכנסת [שם בית הכנסת]
לבירורים: [שם איש קשר], טל' [טלפון]
הודעת גבאי שעובדת — קצרה, ברורה ובזמן
הכלל הראשון של לוח המודעות בבית הכנסת: הודעה אחת = מסר אחד. מתפלל עובר ליד הלוח בדרך לתפילה ומקדיש לו שניות בודדות — הודעה שמערבבת ניקיון, שיעור חדש ובקשת תרומות לא תיקרא עד הסוף. לכל נושא הודעה נפרדת, ולנושאים שחוזרים על עצמם — שינוי זמני תפילה, אזכרות, תורנויות — כדאי להשתמש בתבניות הייעודיות (מקושרות בהמשך העמוד). התבנית הכללית הזו היא פתרון הביניים לכל השאר: עדכון חד-פעמי, בקשה מהציבור או הודעה מנהלתית.
מבנה ההודעה פשוט וקבוע: תאריך בראש (נהוג לציין גם את התאריך העברי), פנייה מכבדת לציבור המתפללים, המסר עצמו במשפט-שניים ברורים, פרטים מעשיים — מקום, שעה ולמי לפנות — וחתימה בשם הגבאים או ועד בית הכנסת. הדפיסו בגופן גדול: חלק נכבד מקוראי הלוח הם מתפללים מבוגרים, והודעה בגופן קטן ודחוס פשוט לא נקראת. שוליים רחבים ושורות קצרות עוזרים יותר מכל עיצוב מתחכם.
ולסיום — תחזוקת הלוח עצמו: הודעה שהסתיים תוקפה יורדת מהלוח באותו שבוע. לוח שמוצגות בו הודעות מלפני חצי שנה מאבד את אמינותו, והמתפללים מפסיקים להעיף בו מבט. גבאים מנוסים קובעים לעצמם רגע קבוע — למשל בכל ערב שבת לפני התפילה — לעבור על הלוח, להסיר את הישן ולתלות את החדש. את ההודעות החשובות כפלו גם לקבוצת הוואטסאפ של המתפללים: הלוח תופס את מי שבא, הקבוצה את מי שלא.
שאלות נפוצות
מתי משתמשים בהודעת גבאי כללית ומתי בתבנית ייעודית?
לנושאים קבועים — שינוי זמני תפילה, מודעת אזכרה, לוח תורנויות, הזמנה לקידוש — עדיף להשתמש בתבנית הייעודית, שכבר כוללת את הפרטים הנדרשים. התבנית הכללית משרתת את כל השאר: עדכונים חד-פעמיים, בקשות מהציבור והודעות מנהלתיות.
מה האורך האידיאלי להודעה בלוח המודעות?
ארבע עד שש שורות בגופן גדול. מתפלל מקדיש ללוח שניות בודדות בדרך לתפילה — מסר אחד ברור עם פרטים מעשיים (מה, מתי, איפה, למי לפנות) ייקרא; חצי עמוד צפוף ידולג.
האם לציין תאריך עברי או לועזי בהודעה?
נהוג לציין את שניהם, והעברי ראשון — בקהילה שחיה לפי הלוח העברי זה הטבעי. בהודעות על אירוע עתידי כדאי להוסיף גם את היום בשבוע: "ביום חמישי, ג' בתמוז" ברור יותר מתאריך לבדו.
מי חותם על ההודעה — הגבאי בשמו או ועד בית הכנסת?
הודעות שוטפות נחתמות בדרך כלל "גבאי בית הכנסת" או "הגבאים", בלי שם פרטי. הודעות מהותיות — החלטות ועד, ענייני כספים — נחתמות בשם ועד בית הכנסת. בכל מקרה מציינים איש קשר וטלפון לבירורים.
כמה זמן משאירים הודעה על הלוח?
עד שהיא רלוונטית — וכבר לא. הודעה על אירוע יורדת יום-יומיים אחריו; הודעה מתמשכת מתרעננת מדי כמה שבועות. לוח מתוחזק שהמתפללים סומכים עליו הוא כלי התקשורת החזק ביותר של הגבאי.
נקודות מפתח
הודעה אחת = מסר אחד — לנושאים קבועים יש תבניות ייעודיות
מבנה קבוע: תאריך, פנייה, המסר, פרטים מעשיים וחתימת הגבאים
גופן גדול ושורות קצרות — הלוח נקרא בשניות, גם על ידי מבוגרים
מסירים הודעות שפג תוקפן ומכפילים חשובות לוואטסאפ הקהילה
הנוסח כאן חינמי — מילוי מהיר, העתקה, הדפסה או הורדה כ-PDF/Word
גבאים שמודיעים הרבה — מכירים את הסיפור: מדפיסים, תולים, מסירים, ושוב. בלוח דיגיטלי בכניסה לבית הכנסת ההודעה עולה מהטלפון בשניות, מתחלפת לבד ונראית מכובדת בכל שעה.
document.addEventListener('click', function(e) {
var el = e.target.closest('.gmx-lite-yt');
if (!el) return;
var vid = el.getAttribute('data-vid');
if (!vid) return;
var iframe = document.createElement('iframe');
iframe.src = 'https://www.youtube.com/embed/' + vid + '?autoplay=1';
iframe.style.cssText = 'position:absolute;top:0;left:0;width:100%;height:100%;border:0;';
iframe.allow = 'autoplay;encrypted-media';
iframe.allowFullscreen = true;
el.style.position = 'relative';
el.innerHTML = '';
el.appendChild(iframe);
});
(function () {
var c = document.body.className;
c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
document.body.className = c;
})();
var gmxCf7LegacyUxI18n = {"errName":"Please enter a full name","errPhone":"Please enter a valid phone number","errEmail":"Please enter a valid email address","errRequired":"Required field"};
//# sourceURL=gmx-cf7-legacy-ux-js-extra
(function(){
function cleanUrl(url) {
// Strip query params embedded mid-path: /ID?params/file -> /ID/file
return url.replace(/\?[^\/]+\//g, '/');
}
function addWebPFallback(pic) {
if (pic.getAttribute('data-webp-fb')) return;
pic.setAttribute('data-webp-fb', '1');
var img = pic.querySelector('img');
if (!img) return;
img.onerror = function() {
this.onerror = null;
this.src = cleanUrl(this.src).replace('vi_webp','vi').replace('.webp','.jpg');
var sources = this.parentElement.querySelectorAll('source');
for (var i = 0; i < sources.length; i++) {
sources[i].srcset = cleanUrl(sources[i].srcset).replace('vi_webp','vi').replace('.webp','.jpg');
}
};
}
var observer = new MutationObserver(function() {
var pics = document.querySelectorAll('.video-seo-youtube-picture');
for (var i = 0; i < pics.length; i++) addWebPFallback(pics[i]);
});
observer.observe(document.documentElement, { childList: true, subtree: true });
})();
(function(){
var siteKey = "6Ldnu_gsAAAAAGpkh7vCd_h3L9BA193yFU59I4Do";
var action = "submit_lead_form";
var loaderUrl = "https:\/\/www.google.com\/recaptcha\/enterprise.js?render=6Ldnu_gsAAAAAGpkh7vCd_h3L9BA193yFU59I4Do";
// GWP-506 (perf): the reCAPTCHA Enterprise runtime costs ~900ms of main-thread
// work (PSI contactus TBT 660ms, perf 69). It was loaded eagerly on every page
// carrying a CF7 form. It now loads on the FIRST real page interaction
// (scroll/pointer/key/touch) — warming the runtime well before the user can
// reach submit — and never loads on a no-interaction (lab) page view, so the
// perf win holds. The token is still stamped on form focusin and refreshed at
// submit. IMPORTANT: the server gate is fail-CLOSED by default (GWP-412
// require_token) — a missing token at submit is treated as spam — so the
// runtime MUST be warm before submit; that is exactly why the warm trigger is
// first-page-interaction, NOT focusin-only (focusin-only left a race where a
// fast focus→submit could POST before the ~900ms download finished and drop a
// legit lead). The eager <script src> is gone.
var greReady = false, greWaiters = [], greLoadStarted = false;
function pollGre(attempts) {
if (typeof grecaptcha !== 'undefined' && grecaptcha.enterprise) {
greReady = true;
var queued = greWaiters;
greWaiters = [];
queued.forEach(function (fn) { try { fn(); } catch (e) {} });
return;
}
if (attempts > 200) {
// no-silent-failures: enterprise.js never became ready (network-blocked,
// consent/privacy blocker, or a Google outage). Surface it — a missing
// token fails CLOSED server-side (GWP-412) and drops the lead.
if (window.console && console.warn) {
console.warn('[GMX recaptcha] enterprise.js not ready after ~10s; token will be missing (submit fails closed).');
}
return; // give up after ~10s (200 * 50ms)
}
setTimeout(function () { pollGre(attempts + 1); }, 50);
}
function loadGre() {
if (greLoadStarted) return;
greLoadStarted = true;
var s = document.createElement('script');
s.src = loaderUrl;
s.async = true;
document.head.appendChild(s);
pollGre(0); // begin polling only once the runtime is actually loading
}
function whenGreReady(cb) {
if (greReady) return cb();
greWaiters.push(cb);
}
function stampToken(form) {
if (!form.querySelector('.wpcf7-form-control-wrap input[type="submit"], .wpcf7-submit')) return;
loadGre(); // lazy: kick off enterprise.js on demand (idempotent)
whenGreReady(function () {
grecaptcha.enterprise.ready(function () {
grecaptcha.enterprise.execute(siteKey, { action: action }).then(function (token) {
var hidden = form.querySelector('input[name="gmx_recaptcha_token"]');
if (!hidden) {
hidden = document.createElement('input');
hidden.type = 'hidden';
hidden.name = 'gmx_recaptcha_token';
form.appendChild(hidden);
}
hidden.value = token;
}).catch(function () {
// no-silent-failures: token generation failed; the server gate is
// fail-CLOSED (GWP-412), so this submit will be rejected as spam.
if (window.console && console.warn) {
console.warn('[GMX recaptcha] token execute failed; submit will fail closed.');
}
});
});
});
}
document.addEventListener('wpcf7submit', function (e) { stampToken(e.target); });
// Also stamp on first focus into any CF7 form (so token ready before submit).
// `whenGreReady()` queues the stamp until grecaptcha loads, so the once-
// listener stays safe even if grecaptcha isn't ready at focus-in time.
document.querySelectorAll('form.wpcf7-form').forEach(function (form) {
form.addEventListener('focusin', function once() {
form.removeEventListener('focusin', once);
stampToken(form);
});
});
// GWP-506: warm enterprise.js on the FIRST real page interaction so the ~900ms
// runtime is ready before the user reaches submit (closes the focusin-only race
// against the fail-CLOSED server gate, and covers AJAX/popup-injected forms that
// missed the focusin binding above). Never fires on a no-interaction (lab) view,
// so the perf win holds. Idempotent via loadGre()'s greLoadStarted guard.
var warmOpts = { passive: true, capture: true };
var warmEvents = ['pointerdown', 'keydown', 'touchstart', 'scroll'];
function warmGre() {
loadGre();
warmEvents.forEach(function (e) { window.removeEventListener(e, warmGre, warmOpts); });
}
warmEvents.forEach(function (e) { window.addEventListener(e, warmGre, warmOpts); });
})();
(function(){
var loaded = false;
function loadUserWay() {
if (loaded) return;
loaded = true;
var el = document.createElement('script');
el.setAttribute('data-account', "UX40fo0Ctw");
el.setAttribute('data-language', "he");
el.setAttribute('src', 'https://cdn.userway.org/widget.js');
document.body.appendChild(el);
events.forEach(function(e){ window.removeEventListener(e, loadUserWay, {passive: true}); });
}
var events = ['scroll', 'mousemove', 'touchstart', 'click', 'keydown'];
events.forEach(function(e){ window.addEventListener(e, loadUserWay, {passive: true}); });
})();