(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. נשאר רק למלא את השעות של העיר שלכם.
בס״ד
זמני שבת — פרשת [שם הפרשה]
בית הכנסת [שם בית הכנסת], [עיר] — שבת [תאריך עברי] ([תאריך לועזי])
כניסת השבת:
הדלקת נרות — [שעה]
מנחה וקבלת שבת — [שעה]
שקיעה — [שעה]
יציאת השבת:
צאת השבת — [שעה]
צאת השבת לרבנו תם — [שעה]
ערבית של מוצאי שבת — [שעה]
הערות:
– הזמנים משתנים מעיר לעיר ומשבוע לשבוע — נא לעדכן מדי שבוע לפי לוח זמנים מוסמך לעיר [עיר].
– [הערה]
שבת שלום ומבורך,
הגבאים — [שם בית הכנסת]
איך ממלאים את דף זמני השבת — ולמה הזמנים שונים בכל עיר
דף זמני שבת בכניסה לבית הכנסת עונה על השאלות שכל גבאי שומע בערב שבת: מתי הדלקת נרות, מתי מנחה, ומתי מסתיימת השבת. הניסיון מלמד ששווה לציין גם את שעת השקיעה וגם את צאת השבת לרבנו תם — כך כל מתפלל מוצא את הזמן שהוא נוהג לפיו, והגבאי לא הופך למוקד טלפוני. את שם הפרשה כותבים בראש הדף — זה גם הסימן לציבור שהדף מעודכן לשבוע הנוכחי.
למה אי אפשר להעתיק זמנים מעיר אחרת? שעת השקיעה משתנה ממקום למקום, ולכל עיר מנהג משלה למספר הדקות שבין הדלקת הנרות לשקיעה — ברוב הערים נהוג כ-20 דקות, בירושלים 40 ובחיפה 30. גם זמני צאת השבת מחושבים בכמה שיטות, וקהילות שונות נוהגות מנהגים שונים. לכן בתבנית הזמנים נשארים ריקים בכוונה — ממלאים אותם מדי שבוע לפי היישוב שלכם, ובכל שאלה על המנהג פונים לרב הקהילה.
מאיפה לוקחים את הזמנים? המקור הרשמי הוא מחשבון זמני כניסת ויציאת השבת באתר gov.il, ולצדו לוחות מוכרים כמו לוח השבתות של אתר ישיבה. כדאי לקבוע מקור אחד קבוע ושגרה קבועה — למשל בכל יום חמישי ממלאים, מדפיסים, תולים בלוח ושולחים צילום לקבוצת הוואטסאפ של המתפללים. כך אף אחד לא מגיע לקבלת שבת שהסתיימה.
שאלות נפוצות
למה זמני כניסת השבת שונים מעיר לעיר?
שעת השקיעה משתנה לפי המיקום הגאוגרפי, ובנוסף לכל עיר מנהג משלה לגבי מספר הדקות שמדליקים נרות לפני השקיעה: ברוב ערי הארץ נהוג כ-20 דקות, בירושלים 40 דקות ובחיפה 30. לכן דף זמנים של עיר אחת אינו מתאים לעיר אחרת — מעדכנים תמיד לפי לוח הזמנים של היישוב שלכם.
מה ההבדל בין שעת הדלקת נרות לשעת השקיעה?
שעת הדלקת הנרות המופיעה בלוחות מוקדמת מהשקיעה במספר דקות הקבוע לפי מנהג המקום — תוספת שמקבלים את השבת מעט לפני זמנה. בדף ללוח המודעות נהוג לציין את שתי השעות, כדי שכל מתפלל יידע גם את זמן ההדלקה הנהוג וגם את שעת השקיעה עצמה.
מהו "צאת השבת לרבנו תם" שמופיע בלוחות הזמנים?
זהו זמן מאוחר יותר לצאת השבת, על פי שיטת רבנו תם, שיש קהילות ויחידים הנוהגים להמתין לו. בלוחות זמנים רבים הוא מופיע כשורה נפרדת לצד זמן צאת השבת הרגיל, ולכן כללנו אותו גם בתבנית — כל קהילה נוהגת כמנהגה, ובכל שאלה פונים לרב הקהילה.
מאיפה לוקחים זמני שבת מדויקים לעדכון הדף?
המקור הממשלתי הרשמי הוא מחשבון זמני השבת באתר gov.il, ולצדו לוחות מוכרים כמו לוח השבתות של אתר ישיבה וזמני חב"ד. העיקר — לבחור מקור אחד קבוע ולעדכן ממנו כל שבוע, כדי שלא ייווצרו סתירות בין הדף בלוח לבין מה שהציבור רואה בטלפון.
כל כמה זמן צריך להחליף את דף זמני השבת בלוח?
מדי שבוע: הפרשה מתחלפת, וזמני ההדלקה וצאת השבת זזים בכמה דקות משבוע לשבוע. הרגל טוב של גבאים הוא לקבוע זמן קבוע — למשל יום חמישי בערב — שבו ממלאים את התבנית, מדפיסים ותולים, וגם שולחים צילום לקבוצת המתפללים.
נקודות מפתח
דף זמני שבת מתחלף מדי שבוע — הפרשה והזמנים משתנים
מציינים הדלקת נרות, קבלת שבת, שקיעה, צאת השבת ורבנו תם
הזמנים שונים מעיר לעיר — ממלאים לפי לוח מוסמך ליישוב שלכם
המקור הרשמי: מחשבון זמני השבת של gov.il — מקור אחד קבוע
הנוסח כאן חינמי — העתקה, הדפסה או הורדה כ-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}); });
})();