PageSourceSearch

https://beta-gershom.org/index.shtml

html beta-gershom.org collected 2026-10-03 01:58:38 UTC 82,607 bytes, 2,671 lines download raw bytes

1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
3<html>
4<head>
5        <!-- 20260914 Script looks at url suffix ?layout=popup and sets class in CSS so that sidebar, frontsplash2, and top horizontal nav var, get hidden --> 
6<script>
7(function () {
8    const params = new URLSearchParams(window.location.search);
9
10    if (params.get("layout") === "popup") {
11        document.documentElement.classList.add("popup-layout");
12    }
13})();
14</script>
14	
15
16
17<title id="page-title">Beta-Gershom.org</title>
18
19<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
20
21<!-- <link rel="stylesheet" type="text/css" href="style.css?v=20260909-green" /> -->
22<link rel="stylesheet" type="text/css" href="style.css?v=20260915" />
23
24<meta name="description" content="The community for people with Jewish and Gentile ancestry">
25<meta name="keywords" content="jewish ancestry,jewish intermarriage,who is a jew, who is born a jew,intermarriage,jewish,halfjewish,halfjew,half-jewish,half-jew,half jewish,half jew,interfaith,interfaith marriage,mischlinge,jewish-christian,famous half jews,jewish-muslim,gershom,beta gershom,beta-gershom">
26    
27<meta content=index,follow name=robots>
28<meta property="og:image" content="https://beta-gershom.org/theme_images/frontsplash_B1.jpg">
29
30<link rel="shortcut icon" href="theme_images/favicon.ico">
31<link rel="icon" href="theme_images/animated_favicon1.gif" type="image/gif">
32
33<meta name="viewport" content="width=device-width, initial-scale=1">
34
35<a name=0></a>
36
37
38
39    
40    	</head>
41
42<!-- <body onload="startPage()">  -->
43<body onload="startPage()">
44	
45<div id="pageWrapper">
46  <div id="pageAlign">
47  	
48	<div id="pageHead">
49<a class="header-home-link" href="/index.shtml"
50   aria-label="Home" title="Home"></a>
51
52<!-- facebook script definition to show likes and activity -->
53<div id="fb-root"></div>
54<script>(function(d, s, id) {
55  var js, fjs = d.getElementsByTagName(s)[0];
56  if (d.getElementById(id)) {return;}
57  js = d.createElement(s); js.id = id;
58  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
59  fjs.parentNode.insertBefore(js, fjs);
60}(document, 'script', 'facebook-jssdk'));</script>
60
61<!-- end facebook script definition to show likes and activity -->
62
63
64<script src="https://www.beta-gershom.org/scriptaculous-js-1-8-1/lib/prototype.js" type="text/javascript"></script>
64
65		
66<script src="https://www.beta-gershom.org/scriptaculous-js-1-8-1/src/scriptaculous.js" type="text/javascript"></script>
66
67		
68		<!-- the style and javascript would normally be in include files, but it's here for educational purposes -->
69
70		
70<script language="javascript">
71			
72			// this array consists of the id attributes of the divs we wish to alternate between
73			var divs_to_fade = new Array('box-1', 'box-2');
74		
75			// the starting index in the above array.  It should be set to the value of the div which doesn't have the CSS Display property set to "none"
76			var i = 0;
77			
78			// the number of milliseconds between swaps.  Default is five seconds.
79			var wait = 15000;
80
81			// the function that performs the fade
82			function swapFade() {
83				Effect.Fade(divs_to_fade[i], { duration:1, from:1.0, to:0.0 });
84				i++;
85				if (i == 2) i = 0;
86				Effect.Appear(divs_to_fade[i], { duration:1, from:0.0, to:1.0 });
87			}
88			
89			// the onload event handler that starts the fading.
90			function startPage() {
91				setInterval('swapFade()',wait);
92			}
93
94		</script>
94
95
96                <h1 class="title">
97                        <div id="crossfade-container">
98				<div class="fade-box" id="box-1">
99					<h2><span style="font-size:26px">beta-gershom.org</span></h2>
100
101				</div>
102				<div class="fade-box" id="box-2" style="display: none;">
103					<h2><span style="font-size:26px">&#1489;&#1497;&#1514; &#1490;&#1512;&#1513;&#1493;&#1501;</span></h2>
104					
105				</div>
106				
107			</div>
108                </h1>
109
110		<hr>
111		<cite>
112<span style="font-size:13px">Celebrate the Jew in You</span>
113<span style="font-size:10px">
114&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;today is: &nbsp;
115
116 
117
118<!-- moved the old calendar date logic to its own include -->
119<script language="JavaScript1.2">
120/*
121   SHARED JEWISH / HEBREW CALENDAR LOGIC
122
123   JavaScript only -- NO 
123<script> tags in this file.
124   This is the date logic extracted from pageHead_include.shtml,
125   plus generic reusable helpers needed by render_slideshow_items.shtml.
126
127   pageHead_include.shtml should invoke this file from inside a 
127<script> block.
128*/
129
130var dToday=new Date();
131  dToday.setHours(0)
132  dToday.setMinutes(0)
133  dToday.setSeconds(0)
134  dToday.setMilliseconds(0)
135  document.write(FormatDateH(GregToHeb(dToday)))
136
137  function MonSinceFirstMolad(nYearH) {
138    var nMonSinceFirstMolad
139    nYearH --
140
141    nMonSinceFirstMolad = Math.floor(nYearH / 19) * 235
142    nYearH = nYearH % 19
143    nMonSinceFirstMolad += 12 * nYearH
144    if (nYearH >= 17) {
145      nMonSinceFirstMolad += 6
146    } else if  (nYearH >= 14) {
147      nMonSinceFirstMolad += 5
148    } else if  (nYearH >= 11) {
149      nMonSinceFirstMolad += 4
150    } else if  (nYearH >= 8) {
151      nMonSinceFirstMolad += 3
152    } else if  (nYearH >= 6) {
153      nMonSinceFirstMolad += 2
154    } else if  (nYearH >= 3) {
155      nMonSinceFirstMolad += 1
156    }
157    return nMonSinceFirstMolad
158  }
159
160  function IsLeapYear(nYearH) {
161     var nYearInCycle
162
163    nYearInCycle = nYearH % 19
164    return ( nYearInCycle ==  3 ||
165             nYearInCycle ==  6 ||
166             nYearInCycle ==  8 ||
167             nYearInCycle == 11 ||
168             nYearInCycle == 14 ||
169             nYearInCycle == 17 ||
170             nYearInCycle == 0)
171  }
172
173  function Tishrei1(nYearH) {
174    var nMonthsSinceFirstMolad
175    var nChalakim
176    var nHours
177    var nDays
178    var nDayOfWeek
179    var dTishrei1
180
181    nMonthsSinceFirstMolad = MonSinceFirstMolad(nYearH)
182    nChalakim = 793 * nMonthsSinceFirstMolad
183    nChalakim += 204
184    nHours = Math.floor(nChalakim / 1080)
185    nChalakim = nChalakim % 1080
186
187    nHours += nMonthsSinceFirstMolad * 12
188    nHours += 5
189
190    nDays = Math.floor(nHours / 24)
191    nHours = nHours % 24
192
193    nDays += 29 * nMonthsSinceFirstMolad
194    nDays += 2
195
196    nDayOfWeek = nDays % 7
197
198    if (!IsLeapYear(nYearH) &&
199        nDayOfWeek == 3 &&
200        (nHours * 1080) + nChalakim >= (9 * 1080) + 204) {
201      nDayOfWeek = 5
202      nDays += 2
203    }
204    else if ( IsLeapYear(nYearH - 1) &&
205              nDayOfWeek == 2 &&
206              (nHours * 1080) + nChalakim >= (15 * 1080) + 589 ) {
207      nDayOfWeek = 3
208      nDays += 1
209    }
210    else {
211      if (nHours >= 18) {
212        nDayOfWeek += 1
213        nDayOfWeek = nDayOfWeek % 7
214        nDays += 1
215      }
216      if (nDayOfWeek == 1 ||
217          nDayOfWeek == 4 ||
218          nDayOfWeek == 6) {
219        nDayOfWeek += 1
220        nDayOfWeek = nDayOfWeek % 7
221        nDays += 1
222      }
223    }
224
225    nDays -= 2067025
226dTishrei1 = new Date(1900, 0, 1)
227    dTishrei1.setDate(dTishrei1.getDate() + nDays)
228
229    return dTishrei1
230  }
231
232  function LengthOfYear(nYearH) {
233    var dThisTishrei1
234    var dNextTishrei1
235    var diff
236
237    dThisTishrei1 = Tishrei1(nYearH)
238    dNextTishrei1 = Tishrei1(nYearH + 1)
239    diff = (dNextTishrei1 - dThisTishrei1) / ( 1000 * 60 * 60 * 24)
240    return Math.round(diff)
241  }
242
243  function GregToHeb(dGreg) {
244    var nYearH
245    var nMonthH
246    var nDateH
247    var nOneMolad
248    var nAvrgYear
249    var nDays
250    var dTishrei1
251    var nLengthOfYear
252    var bLeap
253    var bHaser
254    var bShalem
255    var nMonthLen
256    var bWhile
257    var d1900 = new Date(1900, 0, 1)
258
259    nOneMolad = 29 + (12 / 24) + (793 / (1080 * 24))
260    nAvrgYear = nOneMolad * (235 / 19)
261    nDays = Math.round((dGreg - d1900) / (24 * 60 * 60 * 1000))
262    nDays += 2067025
263    nYearH = Math.floor(nDays / nAvrgYear) + 1
264    dTishrei1 = Tishrei1(nYearH)
265
266    if (SameDate(dTishrei1, dGreg)) {
267      nMonthH = 1
268      nDateH = 1
269    }
270    else  {
271      if (dTishrei1 < dGreg) {
272        while (Tishrei1(nYearH + 1) <= dGreg) {
273          nYearH += 1
274        }
275      }
276      else {
277        nYearH -= 1
278        while (Tishrei1(nYearH) > dGreg) {
279          nYearH -= 1
280        }
281      }
282
283      nDays = (dGreg - Tishrei1(nYearH)) / (24 * 60 * 60 * 1000)
284      nDays = Math.round(nDays)
285      nLengthOfYear = LengthOfYear(nYearH)
286      bHaser = nLengthOfYear == 353 || nLengthOfYear == 383
287      bShalem = nLengthOfYear == 355 || nLengthOfYear == 385
288      bLeap = IsLeapYear(nYearH)
289
290      nMonthH = 1
291      do {
292
293        switch (nMonthH) {
294          case 1:
295          case 5:
296          case 6:
297          case 8:
298          case 10:
299          case 12:
300            nMonthLen = 30
301            break
302          case 4:
303          case 7:
304          case 9:
305          case 11:
306          case 13:
307            nMonthLen = 29
308            break
309          case 6:
310            nMonthLen = 30
311            break
312          case 2:
313            nMonthLen = (bShalem ? 30 : 29)
314            break
315          case 3:
316            nMonthLen = (bHaser ? 29: 30)
317            break
318        }
319
320        if (nDays >= nMonthLen) {
321          bWhile = true
322          if (bLeap || nMonthH != 5) {
323            nMonthH ++
324          }
325          else {
326            nMonthH += 2
327          }
328          nDays -= nMonthLen
329        }
330        else {
331          bWhile = false
332        }
333      } while (bWhile)
334      nDateH = nDays + 1
335    }
336    return nMonthH + "/" + nDateH + "/" + nYearH
337  }
338
339  function SameDate(d1, d2) {
340    return (d1.getFullYear() == d2.getFullYear() && 
341            d1.getMonth() == d2.getMonth() && 
342            d1.getDate() == d2.getDate())
343             
344  } 
345
346  function FormatDateH(cDate) {
347    var aDate = new Array()
348    var cFormatDate
349
350    aDate = cDate.split("/")
351    switch (Number(aDate[0])) {
352      case 1:
353        cFormatDate = "Tishrei"
354        break
355      case 2:
356        cFormatDate = "Cheshvan"
357        break
358      case 3:
359        cFormatDate = "Kislev"
360        break
361      case 4:
362        cFormatDate = "Teves"
363        break
364      case 5:
365        cFormatDate = "Shevat"
366        break
367      case 6:
368        cFormatDate = "Adar A"
369        break
370      case 7:
371        cFormatDate = (IsLeapYear(Number(aDate[2])) ? "Adar B" : "Adar")
372        break
373      case 8:
374        cFormatDate = "Nisan"
375        break
376      case 9:
377        cFormatDate = "Iyar"
378        break
379      case 10:
380        cFormatDate = "Sivan"
381        break
382      case 11:
383        cFormatDate = "Tamuz"
384        break
385      case 12:
386        cFormatDate = "Av"
387        break
388      case 13:
389        cFormatDate = "Elul"
390        break
391    }
392    cFormatDate += " " + aDate[1] + ", " + aDate[2]
393    return cFormatDate
394  }
395/*
396   ============================================================
397   20261001
398   400-DAY GREGORIAN / HEBREW CALENDAR LOOKUP TABLE
399   Place this AFTER the existing Hebrew calendar functions
400   and BEFORE the closing script tag.
401   ============================================================
402*/
403
404var JEWISH_CALENDAR_DAYS = 400;
405
406var JewishCalendar400 = [];
407var JewishCalendarByHebrewDate = {};
408var JewishCalendarByHebrewMonthDay = {};
409
410
411/*
412   Returns the Hebrew month name using the same month numbering
413   already used by your GregToHeb() function.
414*/
415function HebrewMonthName(nMonth, nYear) {
416
417    switch (Number(nMonth)) {
418
419        case 1:
420            return "Tishrei";
421
422        case 2:
423            return "Cheshvan";
424
425        case 3:
426            return "Kislev";
427
428        case 4:
429            return "Teves";
430
431        case 5:
432            return "Shevat";
433
434        case 6:
435            return "Adar A";
436
437        case 7:
438            return IsLeapYear(Number(nYear)) ? "Adar B" : "Adar";
439
440        case 8:
441            return "Nisan";
442
443        case 9:
444            return "Iyar";
445
446        case 10:
447            return "Sivan";
448
449        case 11:
450            return "Tamuz";
451
452        case 12:
453            return "Av";
454
455        case 13:
456            return "Elul";
457    }
458
459    return "";
460}
461
462
463/*
464   Format Gregorian date as MM/DD/YYYY.
465*/
466function FormatGregorianDate(d) {
467
468    var month = d.getMonth() + 1;
469    var day   = d.getDate();
470    var year  = d.getFullYear();
471
472    if (month < 10) month = "0" + month;
473    if (day < 10) day = "0" + day;
474
475    return month + "/" + day + "/" + year;
476}
477
478
479/*
480   Build the table beginning with TODAY and continuing
481   for 400 consecutive Gregorian dates.
482*/
483function BuildJewishCalendar400() {
484
485    JewishCalendar400 = [];
486    JewishCalendarByHebrewDate = {};
487    JewishCalendarByHebrewMonthDay = {};
488
489    var dStart = new Date();
490
491    dStart.setHours(0);
492    dStart.setMinutes(0);
493    dStart.setSeconds(0);
494    dStart.setMilliseconds(0);
495
496
497    for (var i = 0; i < JEWISH_CALENDAR_DAYS; i++) {
498
499        /*
500           Use setDate rather than adding 24-hour millisecond
501           intervals so daylight-saving changes do not shift
502           the civil calendar date.
503        */
504        var d = new Date(dStart);
505        d.setDate(dStart.getDate() + i);
506
507
508        /*
509           Your existing GregToHeb() returns:
510               month/day/year
511           Example:
512               1/1/5787
513        */
514        var HebrewRaw = GregToHeb(d);
515        var parts = HebrewRaw.split("/");
516
517        var HebrewMonthNumber = Number(parts[0]);
518        var HebrewDay         = Number(parts[1]);
519        var HebrewYear        = Number(parts[2]);
520
521        var HebrewMonth =
522            HebrewMonthName(HebrewMonthNumber, HebrewYear);
523
524        var HebrewFormatted =
525            HebrewMonth + " " +
526            HebrewDay + ", " +
527            HebrewYear;
528
529        var GregorianFormatted =
530            FormatGregorianDate(d);
531
532
533        /*
534           One row of the lookup table.
535        */
536        var row = {
537
538            index: i,
539
540            gregorianDate: new Date(d),
541
542            gregorian:
543                GregorianFormatted,
544
545            hebrewRaw:
546                HebrewRaw,
547
548            hebrewMonthNumber:
549                HebrewMonthNumber,
550
551            hebrewMonth:
552                HebrewMonth,
553
554            hebrewDay:
555                HebrewDay,
556
557            hebrewYear:
558                HebrewYear,
559
560            hebrew:
561                HebrewFormatted
562        };
563
564
565        JewishCalendar400.push(row);
566
567
568        /*
569           FULL Hebrew-date lookup.
570
571           Example key:
572               "Tishrei 1, 5787"
573
574           A full Hebrew date is unique within this table.
575        */
576        JewishCalendarByHebrewDate[
577            HebrewFormatted.toLowerCase()
578        ] = row;
579
580
581        /*
582           MONTH + DAY lookup.
583
584           Example key:
585               "Tishrei 1"
586
587           Because 400 days can contain the same Hebrew
588           month/day in TWO Hebrew years, store an ARRAY
589           of matching rows rather than overwriting one.
590        */
591        var monthDayKey =
592            (HebrewMonth + " " + HebrewDay).toLowerCase();
593
594        if (!JewishCalendarByHebrewMonthDay[monthDayKey]) {
595            JewishCalendarByHebrewMonthDay[monthDayKey] = [];
596        }
597
598        JewishCalendarByHebrewMonthDay[monthDayKey].push(row);
599    }
600}
601
602
603/*
604   ============================================================
605   LOOKUP FUNCTIONS
606   ============================================================
607*/
608
609
610/*
611   Return the NEXT occurrence of a Hebrew month/day
612   found in the 400-day table.
613
614   Because the table starts with today and is chronological,
615   the first matching row is the next occurrence.
616
617   Example:
618
619       GetGregorianFromHebrew("Tishrei", 1)
620
621   Returns something like:
622
623       "09/12/2026"
624*/
625function GetGregorianFromHebrew(cMonth, nDay) {
626
627    var key =
628        (cMonth + " " + Number(nDay)).toLowerCase();
629
630    var rows =
631        JewishCalendarByHebrewMonthDay[key];
632
633    if (rows && rows.length > 0) {
634        return rows[0].gregorian;
635    }
636
637    return null;
638}
639
640
641/*
642   Return ALL occurrences of a Hebrew month/day
643   that happen to fall within the 400-day table.
644
645   Usually there will be one; occasionally there can be two.
646
647   Example:
648
649       GetAllGregorianFromHebrew("Tishrei", 1)
650
651   Returns an array such as:
652
653       ["09/12/2026", "10/02/2027"]
654*/
655function GetAllGregorianFromHebrew(cMonth, nDay) {
656
657    var key =
658        (cMonth + " " + Number(nDay)).toLowerCase();
659
660    var rows =
661        JewishCalendarByHebrewMonthDay[key];
662
663    if (!rows) {
664        return [];
665    }
666
667    var result = [];
668
669    for (var i = 0; i < rows.length; i++) {
670        result.push(rows[i].gregorian);
671    }
672
673    return result;
674}
675
676
677/*
678   Lookup including the Hebrew year.
679
680   Example:
681
682       GetGregorianFromHebrewFull(
683           "Tishrei",
684           1,
685           5787
686       );
687*/
688function GetGregorianFromHebrewFull(
689    cMonth,
690    nDay,
691    nYear
692) {
693
694    var key =
695        (
696            cMonth +
697            " " +
698            Number(nDay) +
699            ", " +
700            Number(nYear)
701        ).toLowerCase();
702
703    var row =
704        JewishCalendarByHebrewDate[key];
705
706    if (row) {
707        return row.gregorian;
708    }
709
710    return null;
711}
712
713
714/*
715   Return the complete row for the NEXT occurrence.
716
717   Example:
718
719       var x = GetJewishCalendarRow("Tishrei", 10);
720
721       x.gregorian
722       x.hebrew
723       x.hebrewYear
724       etc.
725*/
726function GetJewishCalendarRow(cMonth, nDay) {
727
728    var key =
729        (cMonth + " " + Number(nDay)).toLowerCase();
730
731    var rows =
732        JewishCalendarByHebrewMonthDay[key];
733
734    if (rows && rows.length > 0) {
735        return rows[0];
736    }
737
738    return null;
739}
740
741
742/*
743   Return the complete row for a specific Hebrew year.
744*/
745function GetJewishCalendarRowFull(
746    cMonth,
747    nDay,
748    nYear
749) {
750
751    var key =
752        (
753            cMonth +
754            " " +
755            Number(nDay) +
756            ", " +
757            Number(nYear)
758        ).toLowerCase();
759
760    return JewishCalendarByHebrewDate[key] || null;
761}
762
763
764/*
765   Build the table immediately when this script loads.
766*/
767BuildJewishCalendar400();
768
769  
770  
771/* ------------------------------------------------------------
772  Three functions to format and return the next secular date(s) for a Hebrew holiday observance 
773*/
774  function FormatGregorianLong(d) {
775
776    var months = [
777        "January", "February", "March", "April",
778        "May", "June", "July", "August",
779        "September", "October", "November", "December"
780    ];
781
782    return months[d.getMonth()] + " " +
783           d.getDate() + ", " +
784           d.getFullYear();
785}
786
787
788function GetNextHebrewObservance(
789    startMonth,
790    startDay,
791    endMonth,
792    endDay
793) {
794
795    var startKey =
796        (startMonth + " " + Number(startDay)).toLowerCase();
797
798    var startRows =
799        JewishCalendarByHebrewMonthDay[startKey];
800
801    if (!startRows || startRows.length == 0) {
802        return null;
803    }
804
805    var startRow = startRows[0];
806    var startIndex = startRow.index;
807
808    for (
809        var i = startIndex;
810        i < JewishCalendar400.length;
811        i++
812    ) {
813
814        var row = JewishCalendar400[i];
815
816        if (
817            row.hebrewMonth.toLowerCase() ==
818                endMonth.toLowerCase()
819            &&
820            Number(row.hebrewDay) ==
821                Number(endDay)
822        ) {
823
824            return {
825                startDate:
826                    new Date(startRow.gregorianDate),
827
828                endDate:
829                    new Date(row.gregorianDate),
830
831                start:
832                    FormatGregorianLong(
833                        startRow.gregorianDate
834                    ),
835
836                end:
837                    FormatGregorianLong(
838                        row.gregorianDate
839                    ),
840
841                startHebrew:
842                    startRow.hebrew,
843
844                endHebrew:
845                    row.hebrew
846            };
847        }
848    }
849
850    return null;
851}
852
853
854function FormatNextHebrewObservance(
855    startMonth,
856    startDay,
857    endMonth,
858    endDay
859) {
860
861    var obs =
862        GetNextHebrewObservance(
863            startMonth,
864            startDay,
865            endMonth,
866            endDay
867        );
868
869    if (!obs) {
870        return "";
871    }
872
873    if (
874        obs.startDate.getFullYear() ==
875            obs.endDate.getFullYear()
876        &&
877        obs.startDate.getMonth() ==
878            obs.endDate.getMonth()
879        &&
880        obs.startDate.getDate() ==
881            obs.endDate.getDate()
882    ) {
883
884        return "Next secular calendar observance date: " +
885               obs.start;
886    }
887
888    return "Next secular calendar observance dates: " +
889           obs.start +
890           " through " +
891           obs.end;
892}
893
894/* ============================================================
895   GENERIC CALENDAR HELPERS USED BY DATA-DRIVEN PAGES
896   ============================================================ */
897
898/* Parse "Tishrei 10", "Adar 14", etc. */
899function ParseHebrewDate(text) {
900    var match = String(text || "").match(/^(.+?)\s+(\d{1,2})$/);
901
902    if (!match) return null;
903
904    return {
905        month: match[1],
906        day: Number(match[2])
907    };
908}
909
910
911/* Return the next matching Adar / Adar B day. */
912function GetAdarRow(day) {
913    for (var i = 0; i < JewishCalendar400.length; i++) {
914        var row = JewishCalendar400[i];
915
916        if (
917            (row.hebrewMonth == "Adar" || row.hebrewMonth == "Adar B") &&
918            Number(row.hebrewDay) == Number(day)
919        ) {
920            return row;
921        }
922    }
923
924    return null;
925}
926
927
928/* Resolve a "Month day" string to the next calendar row. */
929function GetRowForHebrewDate(text) {
930    var h = ParseHebrewDate(text);
931
932    if (!h) return null;
933
934    if (h.month == "Adar") {
935        return GetAdarRow(h.day);
936    }
937
938    return GetJewishCalendarRow(h.month, h.day);
939}
940
941
942/* Return the next Saturday in the 400-day table. */
943function GetNextShabbatRow() {
944    for (var i = 0; i < JewishCalendar400.length; i++) {
945        if (JewishCalendar400[i].gregorianDate.getDay() == 6) {
946            return JewishCalendar400[i];
947        }
948    }
949
950    return null;
951}
952
953
954/* Return the next Hebrew-calendar day 1. */
955function GetNextRoshChodeshRow() {
956    for (var i = 0; i < JewishCalendar400.length; i++) {
957        if (Number(JewishCalendar400[i].hebrewDay) == 1) {
958            return JewishCalendar400[i];
959        }
960    }
961
962    return null;
963}
964
965
966/* Compare two Date objects by civil date only. */
967function SameGregorianDate(a, b) {
968    if (!a || !b) return false;
969
970    return (
971        a.getFullYear() == b.getFullYear() &&
972        a.getMonth() == b.getMonth() &&
973        a.getDate() == b.getDate()
974    );
975}
976
977
978/*
979   Resolve date1/date2 into start/end calendar rows.
980
981   Supported:
982     "Tishrei 10"
983     same start/end date
984     ranges such as "Nisan 15" through "Nisan 21"
985     durations such as "Kislev 25" / "8 days later"
986     Adar / Adar B
987*/
988function GetHebrewDateRangeRows(date1, date2) {
989    date1 = String(date1 || "");
990    date2 = String(date2 || "");
991
992    var startRow = GetRowForHebrewDate(date1);
993    var endRow = null;
994
995    if (!startRow) {
996        return {
997            startRow: null,
998            endRow: null
999        };
1000    }
1001
1002    if (!date2 || date2 == date1) {
1003        endRow = startRow;
1004    }
1005    else if (/^\d+\s+days?\s+later$/i.test(date2)) {
1006        var duration = Number(date2.match(/^(\d+)/)[1]);
1007        var endIndex = startRow.index + duration - 1;
1008
1009        if (endIndex < JewishCalendar400.length) {
1010            endRow = JewishCalendar400[endIndex];
1011        }
1012    }
1013    else {
1014        var endHebrew = ParseHebrewDate(date2);
1015
1016        if (endHebrew) {
1017            for (var i = startRow.index; i < JewishCalendar400.length; i++) {
1018                var row = JewishCalendar400[i];
1019
1020                var monthMatches =
1021                    row.hebrewMonth == endHebrew.month ||
1022                    (
1023                        endHebrew.month == "Adar" &&
1024                        (row.hebrewMonth == "Adar" || row.hebrewMonth == "Adar B")
1025                    );
1026
1027                if (
1028                    monthMatches &&
1029                    Number(row.hebrewDay) == Number(endHebrew.day)
1030                ) {
1031                    endRow = row;
1032                    break;
1033                }
1034            }
1035        }
1036    }
1037
1038    if (!endRow) endRow = startRow;
1039
1040    return {
1041        startRow: startRow,
1042        endRow: endRow
1043    };
1044}
1045
1046/* ============================================================
1047   RABBINIC PARASHAH SCHEDULE
1048   Diaspora annual Torah-reading cycle.
1049
1050   New definitions in this section are explicitly named Rabbinic
1051   so they remain distinct from any future Karaite calendar logic.
1052
1053   The schedule is derived from:
1054     - the fixed Rabbinic Hebrew calendar already used above;
1055     - festival Shabbatot that replace the regular weekly reading;
1056     - the traditional seven possible doubled-parashah pairs;
1057     - the Rabbinic year type (leap/common, Rosh Hashanah weekday,
1058       and deficient/regular/complete year length).
1059
1060   GetRabbinicParashahRow(title) returns the NEXT occurrence of
1061   the named parashah found within JewishCalendar400.
1062   ============================================================ */
1063
1064var RabbinicParashahSchedule = null;
1065
1066var RabbinicParashahTitles = [
1067    "Bereshit",
1068    "Noach",
1069    "Lech Lecha",
1070    "Vayera",
1071    "Chayei Sarah",
1072    "Toldot",
1073    "Vayetzei",
1074    "Vayishlach",
1075    "Vayeshev",
1076    "Miketz",
1077    "Vayigash",
1078    "Vayechi",
1079    "Shemot",
1080    "Vaera",
1081    "Bo",
1082    "Beshalach",
1083    "Yitro",
1084    "Mishpatim",
1085    "Terumah",
1086    "Tetzaveh",
1087    "Ki Tisa",
1088    "Vayakhel",
1089    "Pekudei",
1090    "Vayikra",
1091    "Tzav",
1092    "Shemini",
1093    "Tazria",
1094    "Metzora",
1095    "Acharei Mot",
1096    "Kedoshim",
1097    "Emor",
1098    "Behar",
1099    "Bechukotai",
1100    "Bamidbar",
1101    "Naso",
1102    "Behaalotecha",
1103    "Shelach",
1104    "Korach",
1105    "Chukat",
1106    "Balak",
1107    "Pinchas",
1108    "Matot",
1109    "Masei",
1110    "Devarim",
1111    "Vaetchanan",
1112    "Eikev",
1113    "Reeh",
1114    "Shoftim",
1115    "Ki Teitzei",
1116    "Ki Tavo",
1117    "Nitzavim",
1118    "Vayelech",
1119    "Haazinu"
1120];
1121
1122
1123/*
1124   Return the Rabbinic year-length class used by the parashah rules:
1125     deficient = 353 / 383 days
1126     regular   = 354 / 384 days
1127     complete  = 355 / 385 days
1128*/
1129function GetRabbinicYearLengthClass(nYearH) {
1130
1131    var n = LengthOfYear(nYearH);
1132
1133    if (n == 353 || n == 383) return "deficient";
1134    if (n == 354 || n == 384) return "regular";
1135    if (n == 355 || n == 385) return "complete";
1136
1137    return "";
1138}
1139
1140
1141/*
1142   Return which of the seven possible doubled portions are combined
1143   for a Diaspora Rabbinic reading cycle beginning with Bereshit in
1144   nYearH.
1145
1146   Keys name the FIRST portion in each possible pair.
1147*/
1148function GetRabbinicParashahCombinationRules(nYearH) {
1149
1150    var leap = IsLeapYear(nYearH);
1151    var rhDay = Tishrei1(nYearH).getDay();
1152    var yearClass = GetRabbinicYearLengthClass(nYearH);
1153
1154    var rules = {
1155        "Vayakhel": false,
1156        "Tazria": false,
1157        "Acharei Mot": false,
1158        "Behar": false,
1159        "Chukat": false,
1160        "Matot": false,
1161        "Nitzavim": false
1162    };
1163
1164    if (leap) {
1165
1166        /* Rosh Hashanah Monday */
1167        if (rhDay == 1 && yearClass == "deficient") {
1168            rules["Chukat"] = true;
1169            rules["Matot"] = true;
1170            rules["Nitzavim"] = true;
1171        }
1172        else if (rhDay == 1 && yearClass == "complete") {
1173            rules["Matot"] = true;
1174        }
1175
1176        /* Rosh Hashanah Tuesday */
1177        else if (rhDay == 2 && yearClass == "regular") {
1178            rules["Matot"] = true;
1179        }
1180
1181        /* Rosh Hashanah Thursday */
1182        else if (rhDay == 4 && yearClass == "deficient") {
1183            /* no doubled portions */
1184        }
1185        else if (rhDay == 4 && yearClass == "complete") {
1186            rules["Nitzavim"] = true;
1187        }
1188
1189        /* Rosh Hashanah Saturday */
1190        else if (rhDay == 6 && yearClass == "deficient") {
1191            rules["Matot"] = true;
1192            rules["Nitzavim"] = true;
1193        }
1194        else if (rhDay == 6 && yearClass == "complete") {
1195            rules["Chukat"] = true;
1196            rules["Matot"] = true;
1197            rules["Nitzavim"] = true;
1198        }
1199    }
1200    else {
1201
1202        /* Rosh Hashanah Monday */
1203        if (rhDay == 1 && yearClass == "deficient") {
1204            rules["Vayakhel"] = true;
1205            rules["Tazria"] = true;
1206            rules["Acharei Mot"] = true;
1207            rules["Behar"] = true;
1208            rules["Matot"] = true;
1209            rules["Nitzavim"] = true;
1210        }
1211        else if (rhDay == 1 && yearClass == "complete") {
1212            rules["Vayakhel"] = true;
1213            rules["Tazria"] = true;
1214            rules["Acharei Mot"] = true;
1215            rules["Behar"] = true;
1216            rules["Chukat"] = true;
1217            rules["Matot"] = true;
1218            rules["Nitzavim"] = true;
1219        }
1220
1221        /* Rosh Hashanah Tuesday */
1222        else if (rhDay == 2 && yearClass == "regular") {
1223            rules["Vayakhel"] = true;
1224            rules["Tazria"] = true;
1225            rules["Acharei Mot"] = true;
1226            rules["Behar"] = true;
1227            rules["Chukat"] = true;
1228            rules["Matot"] = true;
1229            rules["Nitzavim"] = true;
1230        }
1231
1232        /* Rosh Hashanah Thursday */
1233        else if (rhDay == 4 && yearClass == "regular") {
1234            rules["Vayakhel"] = true;
1235            rules["Tazria"] = true;
1236            rules["Acharei Mot"] = true;
1237            rules["Behar"] = true;
1238            rules["Matot"] = true;
1239        }
1240        else if (rhDay == 4 && yearClass == "complete") {
1241            rules["Tazria"] = true;
1242            rules["Acharei Mot"] = true;
1243            rules["Behar"] = true;
1244            rules["Matot"] = true;
1245        }
1246
1247        /* Rosh Hashanah Saturday */
1248        else if (rhDay == 6 && yearClass == "deficient") {
1249            rules["Vayakhel"] = true;
1250            rules["Tazria"] = true;
1251            rules["Acharei Mot"] = true;
1252            rules["Behar"] = true;
1253            rules["Matot"] = true;
1254        }
1255        else if (rhDay == 6 && yearClass == "complete") {
1256            rules["Vayakhel"] = true;
1257            rules["Tazria"] = true;
1258            rules["Acharei Mot"] = true;
1259            rules["Behar"] = true;
1260            rules["Matot"] = true;
1261            rules["Nitzavim"] = true;
1262        }
1263    }
1264
1265    return rules;
1266}
1267
1268
1269/*
1270   Return true when a Saturday has a festival Torah reading that
1271   replaces the regular weekly parashah in the Diaspora.
1272*/
1273function IsRabbinicFestivalShabbat(d) {
1274
1275    var parts = GregToHeb(d).split("/");
1276
1277    var month = Number(parts[0]);
1278    var day = Number(parts[1]);
1279
1280    /* Tishrei: Rosh Hashanah, Yom Kippur, Sukkot through Simchat Torah */
1281    if (
1282        month == 1 &&
1283        (
1284            day == 1 ||
1285            day == 2 ||
1286            day == 10 ||
1287            (day >= 15 && day <= 23)
1288        )
1289    ) {
1290        return true;
1291    }
1292
1293    /* Nisan: all Shabbatot during the eight Diaspora days of Pesach */
1294    if (month == 8 && day >= 15 && day <= 22) {
1295        return true;
1296    }
1297
1298    /* Sivan: both Diaspora days of Shavuot */
1299    if (month == 10 && (day == 6 || day == 7)) {
1300        return true;
1301    }
1302
1303    return false;
1304}
1305
1306
1307/*
1308   Return the first Saturday strictly AFTER 23 Tishrei of nYearH.
1309   This is the Shabbat of Bereshit in the Diaspora cycle.
1310*/
1311function GetRabbinicBereshitDate(nYearH) {
1312
1313    var d = new Date(Tishrei1(nYearH));
1314
1315    /* Move to 24 Tishrei first, because 23 Tishrei is Simchat Torah. */
1316    d.setDate(d.getDate() + 23);
1317
1318    while (d.getDay() != 6) {
1319        d.setDate(d.getDate() + 1);
1320    }
1321
1322    return d;
1323}
1324
1325
1326/*
1327   Return the Gregorian date of 23 Tishrei in the supplied Hebrew year.
1328*/
1329function GetRabbinicSimchatTorahDate(nYearH) {
1330
1331    var d = new Date(Tishrei1(nYearH));
1332    d.setDate(d.getDate() + 22);
1333
1334    return d;
1335}
1336
1337
1338/*
1339   Find the row in JewishCalendar400 matching a Gregorian civil date.
1340*/
1341function GetRabbinicCalendarRowByGregorianDate(d) {
1342
1343    for (var i = 0; i < JewishCalendar400.length; i++) {
1344        if (SameGregorianDate(JewishCalendar400[i].gregorianDate, d)) {
1345            return JewishCalendar400[i];
1346        }
1347    }
1348
1349    return null;
1350}
1351
1352
1353/*
1354   Add one parashah occurrence to a schedule. If the date falls outside
1355   the present 400-day window, nothing is stored.
1356*/
1357function AddRabbinicParashahOccurrence(schedule, title, d, nCycleYear, combinedWith) {
1358
1359    var row = GetRabbinicCalendarRowByGregorianDate(d);
1360
1361    if (!row) return;
1362
1363    if (!schedule[title]) {
1364        schedule[title] = [];
1365    }
1366
1367    schedule[title].push({
1368        title: title,
1369        row: row,
1370        rabbinicCycleYear: nCycleYear,
1371        combinedWith: combinedWith || ""
1372    });
1373}
1374
1375
1376/*
1377   Add one complete Diaspora Rabbinic reading cycle.
1378
1379   nCycleYear means the Hebrew year in which Bereshit is read.
1380   Example:
1381       cycle 5787 begins with Bereshit in Tishrei 5787 and ends with
1382       Vezot Haberakhah on Simchat Torah in Tishrei 5788.
1383*/
1384function AddRabbinicParashahCycle(schedule, nCycleYear) {
1385
1386    var rules = GetRabbinicParashahCombinationRules(nCycleYear);
1387
1388    var d = GetRabbinicBereshitDate(nCycleYear);
1389    var cycleEnd = GetRabbinicSimchatTorahDate(nCycleYear + 1);
1390
1391    var p = 0;
1392
1393    while (
1394        d < cycleEnd &&
1395        p < RabbinicParashahTitles.length
1396    ) {
1397
1398        if (!IsRabbinicFestivalShabbat(d)) {
1399
1400            var title = RabbinicParashahTitles[p];
1401            var nextTitle = "";
1402
1403            if (
1404                rules[title] &&
1405                p + 1 < RabbinicParashahTitles.length
1406            ) {
1407                nextTitle = RabbinicParashahTitles[p + 1];
1408
1409                AddRabbinicParashahOccurrence(
1410                    schedule,
1411                    title,
1412                    d,
1413                    nCycleYear,
1414                    nextTitle
1415                );
1416
1417                AddRabbinicParashahOccurrence(
1418                    schedule,
1419                    nextTitle,
1420                    d,
1421                    nCycleYear,
1422                    title
1423                );
1424
1425                p += 2;
1426            }
1427            else {
1428                AddRabbinicParashahOccurrence(
1429                    schedule,
1430                    title,
1431                    d,
1432                    nCycleYear,
1433                    ""
1434                );
1435
1436                p += 1;
1437            }
1438        }
1439
1440        d.setDate(d.getDate() + 7);
1441    }
1442
1443    /*
1444       Vezot Haberakhah is read on Simchat Torah, whether or not
1445       Simchat Torah falls on Shabbat.
1446    */
1447    AddRabbinicParashahOccurrence(
1448        schedule,
1449        "Vezot Haberakhah",
1450        cycleEnd,
1451        nCycleYear,
1452        ""
1453    );
1454}
1455
1456
1457/*
1458   Build enough Rabbinic cycles to cover the rolling 400-day table.
1459
1460   We include the previous, current, and next Hebrew-cycle years so
1461   dates near Tishrei are handled correctly on both sides of Simchat Torah.
1462*/
1463function BuildRabbinicParashahSchedule() {
1464
1465    var schedule = {};
1466
1467    if (!JewishCalendar400.length) {
1468        return schedule;
1469    }
1470
1471    var currentHebrewYear =
1472        Number(JewishCalendar400[0].hebrewYear);
1473
1474    AddRabbinicParashahCycle(
1475        schedule,
1476        currentHebrewYear - 1
1477    );
1478
1479    AddRabbinicParashahCycle(
1480        schedule,
1481        currentHebrewYear
1482    );
1483
1484    AddRabbinicParashahCycle(
1485        schedule,
1486        currentHebrewYear + 1
1487    );
1488
1489    /*
1490       Ensure each title's occurrences are chronological.
1491    */
1492    for (var title in schedule) {
1493        if (schedule.hasOwnProperty(title)) {
1494            schedule[title].sort(function(a, b) {
1495                return a.row.index - b.row.index;
1496            });
1497        }
1498    }
1499
1500    return schedule;
1501}
1502
1503
1504/*
1505   Return the NEXT occurrence of a named Rabbinic parashah that falls
1506   within JewishCalendar400.
1507
1508   Combined portions naturally return the same calendar row.
1509*/
1510function GetRabbinicParashahRow(title) {
1511
1512    if (!RabbinicParashahSchedule) {
1513        RabbinicParashahSchedule =
1514            BuildRabbinicParashahSchedule();
1515    }
1516
1517    var occurrences =
1518        RabbinicParashahSchedule[String(title || "")];
1519
1520    if (!occurrences || !occurrences.length) {
1521        return null;
1522    }
1523
1524    return occurrences[0].row;
1525}
1526
1527
1528/*
1529   Return the full schedule record rather than only its calendar row.
1530   This is useful if a page later wants to display whether the reading
1531   is combined with another parashah.
1532*/
1533function GetRabbinicParashahScheduleItem(title) {
1534
1535    if (!RabbinicParashahSchedule) {
1536        RabbinicParashahSchedule =
1537            BuildRabbinicParashahSchedule();
1538    }
1539
1540    var occurrences =
1541        RabbinicParashahSchedule[String(title || "")];
1542
1543    if (!occurrences || !occurrences.length) {
1544        return null;
1545    }
1546
1547    return occurrences[0];
1548}
1549
1550
1551</script>
1551
1552  
1553
1554
1555
1556<BR><BR>
1557
1558&nbsp;
1559<!-- 
1560<a title="Next major Jewish Holyday is..." href="https://www.beta-gershom.org/jewish_holidays.shtml"><img src="http://www.beta-gershom.org/theme_images/Holidays.jpg" width="24" height="24" alt=" " border="0"></a>
1561
1562&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1563  -->
1564 
1565&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1566
1567<div class="fb-follow" data-href="https://www.facebook.com/betagershom" data-layout="button_count" data-show-faces="true" data-width="350"></div>
1568   
1569<!-- <iframe src="https://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F%3Fsk%3Dapp_2309869772%23%21%2Fpages%2FBeta-Gershom%2F149551071745984%3Fref%3Dts&amp;layout=button_count&amp;show_faces=true&amp;width=80&amp;action=like&amp;colorscheme=light&amp;height=24" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:80px; height:24px;" allowTransparency="true"></iframe> -->
1570  
1571  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1572
1573<a target="_blank" title="Home page" href="https://www.beta-gershom.org"><img id="ref-img" src="theme_images/beta-gershom_profile_picture_%20(Custom).jpg" width="24" height="24" alt=" " border="0"></a> 
1574  
1575  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1576
1577<a target="_blank" title="Facebook page" href="https://www.facebook.com/pages/Beta-Gershom/149551071745984?sk=wall&filter=1"><img src="https://www.beta-gershom.org/theme_images/facebook.jpg" width="24" height="24" alt=" " border="0"></a> 
1578
1579  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1580
1581<a target="_blank" title="Youtube" href="https://www.youtube.com/betagershom"><img src="https://www.beta-gershom.org/theme_images/youtube.png" width="34" height="24" alt=" " border="0"></a> 
1582  
1583<!-- commenting out twitter 
1584  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1585<a target="_blank" title="Follow us on Twitter" href="https://www.twitter.com/beta_gershom"><img src="https://www.beta-gershom.org/theme_images/twitter.jpg" width="24" height="24" alt=" " border="0"></a> 
1586--> 
1587  
1588&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1589
1590<!-- 
1591<a target="_blank" title="RSS Feed: Beta Gershom latest activity" href="http://betagershom.tumblr.com/rss"><img src="http://www.beta-gershom.org/theme_images/rss_icon.jpg" width="24" height="24" alt=" " border="0"></a> 
1592 
1593<a target="_blank" title="RSS Feed: Beta Gershom latest activity" href="http://www.facebook.com/feeds/page.php?id=149551071745984&format=rss20"><img src="http://www.beta-gershom.org/theme_images/rss_icon.jpg" width="24" height="24" alt=" " border="0"></a> 
1594
1595&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1596 -->
1597  
1598<!-- Addthis code. Commenting out first "<a>" because i changed the button image 
1599<a class="a2a_dd" href="http://www.addtoany.com/share_save?linkname=Check out Beta-Gershom.org, THE website for people with Jewish and Gentile ancestry!! &amp;linkurl=www.beta-gershom.org"><img src="http://static.addtoany.com/buttons/share_save_171_16.png" width="171" height="16" border="0" alt="Share/Bookmark"/></a>
1600 -->
1601<a class="a2a_dd" href="https://www.addtoany.com/share"><img src="https://www.beta-gershom.org/theme_images/addthis_share_save_B.png" width="72" height="24" border="0" alt="Share/Bookmark"/></a>
1602<script type="text/javascript">var a2a_config = a2a_config || {}; a2a_config.linkname = "Beta-Gershom.org, The community for people with Jewish and Gentile ancestry."; a2a_config.linkurl = "https://www.beta-gershom.org/";</script>
1602<script type="text/javascript" src="https://static.addtoany.com/menu/page.js"></script>
1602
1603<!-- Finished Addthis code -->
1604
1605&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1606<BR>
1607
1608
1609
1610</span>
1611
1612</cite>
1613<hr>
1614
1615<div id="frontsplash2">
1616
1617<p align="right">
1618<!-- here was a kickapps widget to show featured movie -->
1619</p>
1620<P align="center">
1621
1622<!-- cafe press store icon - removing cafepress for now because its not working 
1623<a target="_blank" title="Beta Gershom media store" href="https://www.cafepress.com/betagershom"><img src="https://www.beta-gershom.org/theme_images/cafepress_large.jpg" width="182" height="250" alt=" " border="0"></a><BR><BR><BR><BR>
1624-->
1625<!--  
1626<span style="color:#277327; font-size:14px">
1627Search by Topic:</span>
1628-->
1629  
1630<!-- Here is the Tumblr tag cloud by post-theory -->
1631<!-- to edit this tag widget go here: http://post-theory.com/pretty-cloud/maker?cloud=mbfqavf356tw6daw  -->
1632<!--
1633<iframe width="180" height="500" id="prettycloud" frameborder="0" marginwidth="0" marginheight="0" allowtransparency="true" scrolling="no" src="http://post-theory.com/pretty-cloud/frame/betagershom/ei658o"></iframe>
1634-->
1635  
1636<!-- Now here's the tag cloud scrip by Tagumblr (commented out because it's not as good) 
1637<IFRAME src="http://tagumblr.appspot.com/Tagumblr.html?url=betagershom.tumblr.com&max=200" frameborder="0" width="180" height="2000"></IFRAME> <BR>
1638 -->
1639  
1640<!-- facebook fan list facebookwidget -->
1641<div class="fb-like-box" data-href="https://www.facebook.com/pages/Beta-Gershom/149551071745984" data-width="182" data-height="500" data-show-faces="true" data-stream="false" data-header="false"></div>
1642</P>
1643</span>
1644</div>
1645
1646<marquee></marquee>
1647
1648<!--
1649
1650...if you have Facebook, take a look and "Like" our new Facebook page. You'll love getting the daily Torah posts, and all updates from our community site.  Mazel Tov!
1651
1652Shavuot (Weeks) is coming!, and with it comes the celebration of the giving of the Torah at Mount Sinai. Jews count the 49 days between Passover and Shavuot ("Weeks"), which is called "Counting the Omer". The Counting of the Omer begins on the second day of Passover (the 16th of Nisan) for Rabbinic Jews, and after the weekly Shabbat during Passover for Karaite Jews, and ends the day before the holiday of Shavuot, the 'fiftieth day.' 
1653
1654July 20th is the Ninth of the month of Av, when we remember the destruction of the Holy Temple in Jerusalem. May it be a time for strengthening our resolve towards peace and forgiveness in this world. And may it be a time to guard the world against future Nebuchadnezzars, Senacheribs and Vespasians. Shalom from beta-gershom.org .
1655
1656
1657Sivan 6th (Sundown June 7th this year) marks the beginning of the festival of Weeks (Shavuot).  After the first day of Passover, we count 49 days (called "counting the Omer"). On the 50th day we have Shavuot (also called Pentecost, a reference to "fifty" in Greek). On this day of Shavuot we commemorate the giving of the Torah to Israel at mount Sinai.   Beta-Gershom.org wishes you a Happy Holiday of Shavuot, a day of rest, pilgrimage, and thankfulness.  Chag Shavuot Sameach !!!
1658
1659April 6th at sundown through April 14th sundown, Celebrate Passover this year !! First seder is on April 6th after sundown. Whether you are Jewish or Gentile, it shall be for a blessing! If you have never celebrated Passover or are not sure how to conduct the seder ("the passover order"), don't worry! Download one of our simplified Passover Haggadahs (a Haggadah is a script or "telling" which takes you step by step thru the Passover celebration). Click on one of these:  
1660<a style="color: #FFFFFF" href="http://www.birthrightisrael.com/site/DocServer/2008_haggadah.pdf?docID=601" target="_blank">Passover Seder Guide from Birthright Israel</a> or 
1661<a style="color: #FFFFFF" href="http://www.half-jewish.org/passover_hagadah.pdf" target="_blank">Passover Seder Guide from United Jewish Communities</a> (www.ujc.org). HAPPY PESACH. 
1662
1663Beta-Gershom.org wishes you a Happy Hanukah !!  25 Kislev - 5 Tevet (Sundown Dec ____  thru Sundown Dec ____). Hanukah conmemorates the eight days after the Maccabean victory over the Seleucid Greeks, when the Temple Menorah remained lit even without oil. May the miracle of the eight days of light be a blessing for you and those around you. Hag Sameach !
1664
1665Beta-Gershom.org wishes its members and visitors of all countries a <b>happy Thanksgiving holiday!!</b>  The meal of Thanks-Giving conmemorates the coming together of two different nations (Europeans and Native Americans) who put aside their different c
1665onceptions of God and joined in a single ceremony to thank their common Creator for their harvest blessings. Thanksgiving is truly a celebration for all Bnai Noach ! 
1666
1667Happy Festival of Tents! The eight-day festival of Sukkot begins at sundown Wednesday October 12th ends at sundown Wednesday October 19th, followed by Simchat Torah (Rejoicing in the giving of the Torah) until sundown October 20th. Sukkot is named for the Hebrew word for "tents" or "booths".  At Sukkoth God asks Jews to live in booths for a week, in remembrance of life in the desert during the Exodus. Gentiles will also celebrate it: Zechariah 14:16 "Then all who survive of the nations that have come against Jerusalem shall go up year after year to worship the King, the Lord of Hosts, and to keep the festival of Tents."
1668
1669
1670Shana Tova (Happy New Year), from Beta-Gershom.org!!! May you be inscribed in the book of life. The first of Tishrei (Rosh HaShanah) begins the Ten Days of Repentance (Hebrew: &#1506;&#1513;&#1512;&#1514; &#1497;&#1502;&#1497; &#1514;&#1513;&#1493;&#1489;&#1492;&#8206;, Aseret Yemei Teshuva), ending on Yom Kippur. May you take this opportunity to reflect on your ways, and connect closer to God's Mitzvot (Commandmens), starting with love of neighbor. And remember, a "repentance" that does not result in a return to God's Commandments was no Repentance at all and produces no Atonement. Good luck in these ten days. May you muster the energy to achieve real Teshuva.
1671
1672Yom Kippur starts on sundown Friday October 7th. May you take this opportunity to reflect on your ways, and connect closer to God's Mitzvot (Commandments), starting with love of neighbor. And remember, a "repentance" that does not result in a return to God's Commandments was no Repentance at all and produces no Atonement. May you muster the energy to achieve real Teshuva.
1673
1674 -->
1675
1676<!-- horizontal groups widget (now removed)
1677<div id="frontsplash3">
1678<span style="font-size:1px">
1679<p align="right">
1680</p>
1681</span>
1682</div>
1683 -->
1684
1685<div id="pageheadhorizontalmenu">
1686  
1687<a target="_blank" href="https://pub10.bravenet.com/vote/vote.php?usernum=777475189&amp;cpv=2"><span style="font-size:11px">Take our survey!</span></a>
1688&nbsp;&nbsp;&nbsp;
1689
1690<a href="https://betagershom.tumblr.com/" target="_blank"><span style="font-size:11px">Tumblr Blog Posts</span></a> &nbsp;&nbsp;&nbsp;
1691
1692<a href="https://www.facebook.com/beta-gershom" target="_blank"> <span style="font-size:11px" style="font-size:12px">Facebook Page</span></a> &nbsp;&nbsp;&nbsp;
1693<a href="https://www.facebook.com/groups/beta-gershom"target="_blank"> <span style="font-size:11px" style="font-size:12px">Facebook Group</span></a> &nbsp;	
1694  
1695<a href="mitzvot_noach.shtml"> <span style="font-size:11px" style="font-size:12px">The Covenant with all Nations, through Noah.</span></a> &nbsp;&nbsp;&nbsp;	
1696<a href="mitzvot_israel.shtml"> <span style="font-size:11px" style="font-size:12px">The Covenant with Israel at Sinai.</span></a> &nbsp;&nbsp;&nbsp;	
1697<!-- <a href="frontsplash_parashot_standalone.shtml?splashpercentofpg=MAX"> <span style="font-size:11px" style="font-size:12px">The 54 Torah Portions of the 12-month cycle.</span></a> &nbsp;&nbsp;&nbsp;	-->
1698  <a href="render_slideshow_items.shtml?slides=parashot&title=The%2054%20Torah%20Portions&type=Torah%20Portions&sort=scripture1"> <span style="font-size:11px" style="font-size:12px">The 54 Torah Portions of the 12-month cycle.</span></a> &nbsp;&nbsp;&nbsp;	
1699<a href="moschiach.shtml"> <span style="font-size:11px" style="font-size:12px">Messiah scriptures in the Torah.</span></a> &nbsp;&nbsp;&nbsp;	
1700
1701
1702  
1703<!-- script to override one of the jpegs on the top banner -->
1704  	
1704<script language="javascript">
1705  			
1706		  		var defaultImg = 'theme_images/beta-gershom_profile_picture_%20(Custom).jpg';
1707		  		var imgMap = {
1708		  			'beta-gershom.org': defaultImg,
1709		  			'Mitzvot Israel': 'theme_images/mitzvot_israel_.jpg',
1710				    'The day of YH_H': 'theme_images/moschiach_.jpg',
1711		  			'Mitzvot Noach': 'theme_images/mitzvot_noach_.jpg'
1712		  		};
1713		  		var titleElement = document.getElementById('page-title');
1714
1715				var titleContent = titleElement.textContent || titleElement.innerText;
1716		  
1717				var imageSrc = imgMap[titleContent] || defaultImg;		  	
1718		  		  
1719		  		var imgElement = document.getElementById('ref-img');
1720	  			imgElement.src = imageSrc;
1721		  	
1722  	</script>
1722
1723
1724  
1725</div>
1726
1727<!-- Shared responsive layout, September 2026 -->
1728<script>
1729(function () {
1730 function arrangeLayout() {
1731  document.querySelectorAll("link[rel=stylesheet]").forEach(function (link) {
1732   var url = new URL(link.href, document.baseURI);
1733   if (url.origin === location.origin && /\/style\.css$/.test(url.pathname) && url.searchParams.get("v") !== "20260909-green") {
1734    url.searchParams.set("v", "20260909-green"); link.href = url.href;
1735   }
1736  });
1737  var books = document.getElementById("frontsplash2");
1738  var body = document.getElementById("pageBody");
1739  var footer = document.getElementById("pageFooter");
1740  if (books && body && footer && footer.parentNode === body) body.insertBefore(books, footer);
1741  var search = document.querySelector("#cse-search-box input[name=q]");
1742  if (search) { search.setAttribute("aria-label", "Search this site"); search.setAttribute("placeholder", "Search this site"); }
1743 }
1744 if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", arrangeLayout);
1745 else arrangeLayout();
1746})();
1747</script>
1747
1748
1749<!-- Current-page navigation -->
1750<style>
1751#pageNav li a,
1752#pageNav li a:visited {
1753    background: transparent !important;
1754    color: #365c3b !important;
1755    font-weight: 400 !important;
1756}
1757
1758#pageNav li a.nav-home {
1759    font-weight: 700 !important;
1760}
1761
1762#pageNav li a[aria-current="page"] {
1763    background: #315c32 !important;
1764    color: white !important;
1765}
1766</style>
1767
1768<script>
1769(function(){
1770
1771function updateNavigation(){
1772
1773 function path(p){
1774  return p.replace(/\/index\.shtml$/, '/');
1775 }
1776
1777 /*
1778    Ordinary pages are identified by pathname.
1779
1780    render_slideshow_items.shtml pages are identified by:
1781        pathname + slides=
1782
1783    title=, type=, sort= and other parameters do not affect
1784    which sidebar menu item is considered the current page.
1785 */
1786 function navigationKey(url){
1787
1788  var p = path(url.pathname);
1789
1790  if (/\/render_slideshow_items\.shtml$/i.test(p)) {
1791
1792   var slides = url.searchParams.get("slides") || "";
1793
1794   return p + "?slides=" + slides;
1795  }
1796
1797  return p;
1798 }
1799
1800 var currentUrl = new URL(window.location.href);
1801 var current = navigationKey(currentUrl);
1802
1803 document.querySelectorAll('#pageNav li a').forEach(function(a){
1804
1805  a.removeAttribute('aria-current');
1806
1807  var u;
1808
1809  try{
1810   u = new URL(a.getAttribute('href'), document.baseURI);
1811  }
1812  catch(e){
1813   return;
1814  }
1815
1816  var local =
1817   /^https?:$/.test(u.protocol) &&
1818   u.hostname.replace(/^www\./,'') ===
1819   location.hostname.replace(/^www\./,'');
1820
1821  a.classList.toggle(
1822   'nav-home',
1823   local && path(u.pathname) === '/'
1824  );
1825
1826  if (
1827   local &&
1828   navigationKey(u) === current
1829  ){
1830   a.setAttribute('aria-current','page');
1831  }
1832
1833 });
1834
1835}
1836
1837if(document.readyState === 'loading')
1838 document.addEventListener('DOMContentLoaded', updateNavigation);
1839else
1840 updateNavigation();
1841
1842})();
1843</script>
1843
1844
1845	
1846
1847	</div>
1848	
1849<!-- 
1850 	<ul id="servicemenu">
1851		</ul>
1852 -->
1853	
1854
1855
1856	
1857	<div id="pageBody">
1858		<div id="pageSidebar">
1859
1860<form action="https://beta-gershom.org/search_results.shtml" id="cse-search-box">
1861  <div>
1862    <input type="hidden" name="cx" value="012680017114710742572:pe_8ljnk61q" />
1863    <input type="hidden" name="cof" value="FORID:9" />
1864    <input type="text" name="q" size="16" placeholder="Search, by Google" />
1865    <input type="submit" name="sa" value="Go" />
1866  </div>
1867</form>
1868<!--  
1868<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script>
1868 -->
1869
1870
1871
1872			<div id="pageNav">
1873				<h2 class="title">Site Navigation</h2> <span style="font-size:4px"> <BR></span>
1874				<ul>
1875																
1876<!-- moved this link to horizontal menu on pageHead_include.shtml <li><a target="_blank" href="https://pub10.bravenet.com/vote/vote.php?usernum=777475189&amp;cpv=2" style="font-size: 12px; font-weight: bold; color:black">Take our survey!</a></li>  -->
1877
1878
1879<!-- <li><a target="_blank" href="https://www.facebook.com/beta-gershom"; style="font-size: 12px; font-weight: bold; color:black">Facebook Page</a></li>  -->
1880
1881<li><a href="index.shtml">Home</a></li>
1882											
1883<li><a href="manifesto.shtml">Manifesto</a></li>
1884											
1885<li><a href="bibleintermarriage.shtml">Bible Intermarriage</a></li>
1886
1887<li><a href="who_is_born_a_jew.shtml">Who is born a Jew ?</a></li>  
1888											
1889<li><a href="torah_is_for_you.shtml">No matter how you identify, Torah is for you!</a></li>
1890											
1891<li><a href="other_religions.shtml">Other Nations' Religions</a></li>
1892
1893<li><a href="return_to_Sinai.shtml">Return to Sinai</a></li>  
1894											
1895<li><a href="beta-gershom_heroes.shtml">Beta Gershom Heroes</a></li> 
1896
1897<li>
1897<a href="render_slideshow_items.shtml?slides=holidays&title=The%20Jewish%20Holidays&type=Holidays&sort=date1">Jewish Holidays</a></li>  
1898				  
1899<li><a href="render_slideshow_items.shtml?slides=parashot&title=The%20Torah%20Portions&type=Torah%20Portions&sort=scripture1">Torah Portions</a></li>  
1900
1901<!-- 
1902<li><a href="beta-gershom_yeshiva.shtml">Beta Gershom Yeshiva</a></li> 
1903
1904<li><A onclick="window.open ('http://beta-gershom.org/Weekly_Torah_portion.shtml', 'Weekly Torah Portion', config='height=900,width=900, toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes,location=no, directories=no, status=no')" href="javascript:;">Weekly Torah Portion</A></li>  
1905-->
1906  
1907<li><a href="useful_links.shtml">Useful Links</a></li>
1908				  
1909<li><a href="book_picks.shtml">Book Picks</a></li>
1910
1911<li><a href="connect.shtml" style="font-weight: bold">Connect!</a></li>  
1912										
1913<!-- <li><a href="suggestions_and_requests.shtml">Suggestions?</a></li> 
1914
1915<li><a href="got_scripture.shtml">Got Scripture?</a></li> -->
1916
1917
1918														
1919				</ul>
1920
1921
1922				<hr>
1923			</div>
1924
1925
1926<img src="https://beta-gershom.org/theme_images/pagesidebar-end-brown5.gif" border="0">
1927			
1928
1929<br><br>
1930
1931<script src="http://www.gmodules.com/ig/ifr?url=http://www.google.com/ig/modules/translatemypage.xml&up_source_language=en&w=150&h=47&title=&border=&output=js"></script>
1931
1932
1933<br><br>
1934
1935
1936<!-- 
1937
1938                        <div id="blockD">
1939				<h2 class="title"></h2>
1940				<div id="blockD_1">
1941					<div class="contentWrapper">
1942						
1943					</div>
1944
1945				</div>
1946			</div>
1947
1948 -->
1949
1950
1951
1952
1953
1954		</div>
1955
1956
1957		<div id="pageContent">
1958			
1959           <div id="frontsplash"> 
1960		    <!-- to override the slides file use this include instead: include virtual="include_frontsplash.shtml?slides=slidesname" where slidesname can be only what include_frontsplash allows (e.g. general, holidays, parashot, mitzvot_israel, mitzvot_noach, mitzvot_abraham, moschiach, parashot_noach, haftarah, evyonim_history, sefer_yeshua, clement -->
1961			<style>
1962/* Numeric percentages limit the total height; unused image space is released.
1963   MAX continues to budget the image row only. */
1964#frontsplash.ev-slideshow.sq-slideshow.sq-responsive {
1965 box-sizing:border-box;width:100%;max-width:none;height:auto;
1966 min-height:0;max-height:var(--sq-budget,55vh);margin:0;padding:0;display:grid;
1967 grid-template-rows:var(--sq-image-height,0px) auto auto auto;gap:0;overflow:hidden;
1968}
1969#frontsplash.sq-responsive > * {min-width:0;min-height:0;order:0;}
1970#frontsplash.sq-responsive .sq-image-area {
1971 position:relative;width:100%;height:100%;min-height:0;max-width:none;
1972 margin:0;padding:0;display:grid;place-items:center;overflow:hidden;
1973}
1974#frontsplash.sq-responsive .sq-slide-frame {
1975 position:relative;aspect-ratio:auto;min-width:0;min-height:0;max-width:none;
1976 margin:0;padding:0;overflow:hidden;
1977}
1978#frontsplash.sq-responsive .sq-slide-frame img {object-fit:contain;}
1979#frontsplash.sq-responsive .sq-slide-caption,
1980#frontsplash.sq-responsive .sq-slide-narrative,
1981#frontsplash.sq-responsive .sq-slide-controls {
1982 box-sizing:border-box;width:calc(100% - 24px);max-width:none;height:auto;
1983 min-height:0;margin:5px auto 0;padding:0 8px;overflow:auto;
1984}
1985#frontsplash.sq-responsive .sq-slide-caption {
1986 max-height:calc(var(--sq-budget,55vh)*.15);
1987 font-size:13px;line-height:14px;border-radius:999px;
1988}
1989#frontsplash.sq-responsive .sq-slide-narrative {max-height:calc(var(--sq-budget,55vh)*.30);padding:2px 8px;}
1990#frontsplash.sq-responsive .sq-slide-controls {
1991 width:max-content;max-width:calc(100% - 24px);
1992 max-height:calc(var(--sq-budget,55vh)*.20);display:flex;flex-wrap:wrap;
1993 justify-content:center;align-content:flex-start;align-items:center;column-gap:2px;row-gap:0;padding:0 4px;
1994}
1995#frontsplash.sq-responsive .sq-slide-dot {flex:0 0 18px;width:18px;height:12px;margin-top:0;margin-bottom:0;}
1996#frontsplash.sq-responsive .sq-slide-narrative[hidden] {display:none;}
1997#frontsplash.sq-responsive .sq-slide-prev {
1998 position:absolute;left:auto;right:calc(50% + var(--sq-frame-width,0px)/2 + 2px);
1999 top:calc(50% + var(--sq-frame-height,0px)*.10);bottom:auto;transform:translateY(-50%);margin:0;
2000}
2001#frontsplash.sq-responsive .sq-slide-next {
2002 position:absolute;right:auto;left:calc(50% + var(--sq-frame-width,0px)/2 + 2px);
2003 top:calc(50% + var(--sq-frame-height,0px)*.10);bottom:auto;transform:translateY(-50%);margin:0;
2004}
2005#frontsplash.sq-responsive .sq-size-controls {
2006 position:absolute;left:calc(50% + var(--sq-frame-width,0px)/2 + 2px);
2007 top:max(0px,calc(50% - var(--sq-frame-height,0px)/2));
2008 display:flex;flex-direction:column;gap:0;width:26px;z-index:10;
2009}
2010#frontsplash.sq-responsive .sq-size-choice {
2011 display:grid;place-items:start center;width:26px;height:21px;box-sizing:border-box;
2012 color:#274a68;background:transparent;border:0;border-radius:0;
2013 font-family:inherit;font-weight:bold;line-height:1;text-decoration:none;cursor:pointer;
2014}
2015#frontsplash.sq-responsive .sq-size-0 {font-size:14px;}
2016#frontsplash.sq-responsive .sq-size-1 {font-size:17px;}
2017#frontsplash.sq-responsive .sq-size-2 {font-size:22px;}
2018#frontsplash.ev-slideshow.sq-slideshow.sq-responsive.sq-maximum {
2019 height:auto;max-height:none;grid-template-rows:var(--sq-budget,100vh) auto auto auto;overflow:visible;
2020}
2021#frontsplash.sq-responsive.sq-maximum .sq-slide-caption,
2022#frontsplash.sq-responsive.sq-maximum .sq-slide-narrative,
2023#frontsplash.sq-responsive.sq-maximum .sq-slide-controls {max-height:none;overflow:visible;}
2024#frontsplash.sq-responsive .sq-slide-arrow {
2025 font-family:Arial,"Segoe UI Symbol",sans-serif;
2026}
2027  #frontsplash.ev-slideshow.sq-slideshow {
2028  grid-template-columns: minmax(0, 1fr);
2029}
2030</style>
2031<!-- Generic slideshow include: place this include inside the existing frontsplash div. -->
2032<!-- Frontsplash slideshow selection.
2033     Default: include_slideshow_general_slides.shtml
2034
2035     Authorized query-string values:
2036       slides=general
2037       slides=holidays
2038       slides=parashot
2039       slides=mitzvot_israel
2040       slides=mitzvot_noach
2041       slides=mitzvot_abraham
2042       slides=moschiach
2043       slides=parashot_noach
2044       slides=haftarah
2045       slides=evyonim_history
2046       slides=sefer_yeshua
2047       slides=clement
2048
2049     If no authorized slides value is present, the general slideshow is used.
2050-->
2051
2052
2053
2054
2055
2056<script>
2057(function(){
2058function startParashotSlideshow(){
2059 var host=document.getElementById('frontsplash');
2060 if(!host || host.classList.contains('sq-slideshow')) return;
2061 /* Explicit zero hides the whole container before images or controls initialize. */
2062 var splashValue=new URL(window.location.href).searchParams.get('splashpercentofpg');
2063 if(splashValue!==null && /^(?:\d+(?:\.\d*)?|\.\d+)$/.test(splashValue.trim()) && Number(splashValue.trim())===0){
2064  host.style.setProperty('display','none','important');
2065  return;
2066 }
2067  /* Each slide entry has 11 elements:
2068     0  = image path
2069     1  = visible caption
2070     2  = image alt text
2071     3  = narrative / long description
2072     4  = slide title
2073     5  = date1
2074     6  = date2
2075     7  = scripture1
2076     8  = scripture2
2077     9  = scripture_sortable_id
2078     10 = moreInfoHtml
2079
2080     The slideshow display currently uses fields 0-4.
2081     Fields 5-10 are carried with each slide for pages that render,
2082     sort, or otherwise use the full slide record. */
2083  var SLIDE_IMAGE=0,
2084      SLIDE_CAPTION=1,
2085      SLIDE_ALT=2,
2086      SLIDE_NARRATIVE=3,
2087      SLIDE_TITLE=4,
2088      SLIDE_DATE1=5,
2089      SLIDE_DATE2=6,
2090      SLIDE_SCRIPTURE1=7,
2091      SLIDE_SCRIPTURE2=8,
2092      SLIDE_SCRIPTURE_SORTABLE_ID=9,
2093      SLIDE_MORE_INFO_HTML=10;
2094
2095
2096
2097/* Each entry has 11 elements:
2098
2099   0  = image path
2100
2101   1  = visible caption
2102
2103   2  = image alt text
2104
2105   3  = narrative / long description
2106
2107   4  = slide title
2108
2109   5  = date1
2110
2111   6  = date2
2112
2113   7  = scripture1
2114
2115   8  = scripture2
2116
2117   9  = scripture_sortable_id
2118
2119   10 = moreInfoHtml
2120
2121*/
2122var slides=[
2123
2124[
2125    "myPictures/frontsplash_BG_for_slideshow.png",
2126
2127    "The Negev: Like Beta Gershom, the Vachellia tortilis raddiana often grows with two trunks, ",
2128
2129    "Beta Gershom",
2130
2131    "",
2132
2133    "The Negev: Like Beta Gershom, the Vachellia tortilis raddiana often grows with two trunks, ",
2134
2135    "",
2136
2137    "",
2138
2139    "",
2140
2141    "",
2142
2143    "",
2144
2145    ""
2146
2147  ],
2148
2149
2150
2151[
2152    "myPictures/02-india-hanukkah.png",
2153
2154    "India: Hanukkah",
2155
2156    "An imagined community celebrating Hanukkah in an Indian courtyard",
2157
2158    "",
2159
2160    "India: Hanukkah",
2161
2162    "",
2163
2164    "",
2165
2166    "",
2167
2168    "",
2169
2170    "",
2171
2172    ""
2173
2174  ],
2175
2176
2177
2178[
2179    "myPictures/03-northern-europe-passover.png",
2180
2181    "Northern Europe: Passover",
2182
2183    "An imagined community sharing a Passover seder in Scandinavia",
2184
2185    "",
2186
2187    "Northern Europe: Passover",
2188
2189    "",
2190
2191    "",
2192
2193    "",
2194
2195    "",
2196
2197    "",
2198
2199    ""
2200
2201  ],
2202
2203
2204
2205[
2206    "myPictures/04-andes-sukkot.png",
2207
2208    "Andes: Sukkot",
2209
2210    "An imagined community celebrating Sukkot in the Andes",
2211
2212    "",
2213
2214    "Andes: Sukkot",
2215
2216    "",
2217
2218    "",
2219
2220    "",
2221
2222    "",
2223
2224    "",
2225
2226    ""
2227
2228  ],
2229
2230
2231
2232[
2233    "myPictures/05-ethiopia-prayer.png",
2234
2235    "Ethiopia: Prayer",
2236
2237    "An imagined community praying together in an Ethiopian courtyard",
2238
2239    "",
2240
2241    "Ethiopia: Prayer",
2242
2243    "",
2244
2245    "",
2246
2247    "",
2248
2249    "",
2250
2251    "",
2252
2253    ""
2254
2255  ],
2256
2257
2258
2259[
2260    "myPictures/06-nigeria-shabbat.png",
2261
2262    "Nigeria: Shabbat",
2263
2264    "An imagined community sharing Shabbat in Nigeria",
2265
2266    "",
2267
2268    "Nigeria: Shabbat",
2269
2270    "",
2271
2272    "",
2273
2274    "",
2275
2276    "",
2277
2278    "",
2279
2280    ""
2281
2282  ],
2283
2284
2285
2286[
2287    "myPictures/07-china-passover.png",
2288
2289    "China: Passover",
2290
2291    "An imagined community celebrating Passover in a Chinese courtyard",
2292
2293    "",
2294
2295    "China: Passover",
2296
2297    "",
2298
2299    "",
2300
2301    "",
2302
2303    "",
2304
2305    "",
2306
2307    ""
2308
2309  ],
2310
2311
2312
2313[
2314    "myPictures/08-yemen-shared-shabbat.png",
2315
2316    "Yemen: Shared Shabbat",
2317
2318    "An imagined gathering of Muslim Arab and Middle Eastern Jewish neighbors sharing Shabbat in Yemen",
2319
2320    "",
2321
2322    "Yemen: Shared Shabbat",
2323
2324    "",
2325
2326    "",
2327
2328    "",
2329
2330    "",
2331
2332    "",
2333
2334    ""
2335
2336  ]
2337
2338];
2339
2340
2341 if(typeof slides==='undefined' || !Array.isArray(slides) || !slides.length) return;
2342 host.classList.add('ev-slideshow','sq-slideshow','sq-responsive');
2343 var raw=new URL(window.location.href).searchParams.get('splashpercentofpg');
2344 raw=raw===null?'':raw.trim();
2345 var autoSize=raw==='';
2346 var minimumImageHeight=200;
2347 var maximum=raw.toUpperCase()==='MAX';
2348 var percent=/^(?:\d+(?:\.\d*)?|\.\d+)$/.test(raw)?Number(raw):55;
2349 if(!Number.isFinite(percent) || percent<1 || percent>100) percent=55;
2350 if(maximum) host.classList.add('sq-maximum');
2351 host.setAttribute('role','region');
2352 host.setAttribute('aria-label',host.getAttribute('data-slideshow-label') || 'Torah portions and Shemini Atzeret slideshow');
2353 var imageArea=document.createElement('div');
2354 imageArea.className='sq-image-area';
2355 host.appendChild(imageArea);
2356 var frame=document.createElement('div');
2357 frame.className='sq-slide-frame';
2358 frame.setAttribute('role','button');
2359 frame.tabIndex=0;
2360 imageArea.appendChild(frame);
2361 var images=slides.map(function(s,i){
2362  var img=document.createElement('img');
2363  img.alt=s[SLIDE_ALT];
2364  img.decoding='async';
2365  img.setAttribute('aria-hidden',i?'true':'false');
2366  if(!i){ img.src=s[SLIDE_IMAGE]; img.className='sq-active'; }
2367  frame.appendChild(img);
2368  return img;
2369 });
2370 var caption=document.createElement('div');
2371 caption.className='sq-slide-caption';
2372 host.appendChild(caption);
2373 var narrative=document.createElement('div');
2374 narrative.className='sq-slide-narrative';
2375 var controls=document.createElement('div');
2376 controls.className='sq-slide-controls';
2377 controls.setAttribute('role','group');
2378 controls.setAttribute('aria-label','Choose a slide');
2379 host.appendChild(controls);
2380 host.appendChild(narrative);
2381 function arrow(label,symbol,cls){
2382  var b=document.createElement('button');
2383  b.type='button';b.className='sq-slide-arrow '+cls;
2384  b.setAttribute('aria-label',label);b.textContent=symbol;
2385  imageArea.appendChild(b);return b;
2386 }
2387 var prev=arrow('Previous image','\u25C0','sq-slide-prev');
2388 var next=arrow('Next image','\u25B6','sq-slide-next');
2389 var sizes=document.createElement('div');
2390 sizes.className='sq-size-controls';
2391 sizes.setAttribute('role','group');sizes.setAttribute('aria-label','Slideshow size');
2392 imageArea.appendChild(sizes);
2393 var popupLayout=new URL(window.location.href).searchParams.get('layout')==='popup';
2394 ['55','100','100'].forEach(function(value,i){
2395  var link=document.createElement('a'),url=new URL(window.location.href);
2396  url.searchParams.set('splashpercentofpg',value);
2397  if(i===2) url.searchParams.set('layout','popup');
2398  else if(url.searchParams.get('layout')==='popup') url.searchParams.delete('layout');
2399  link.href=url.href;
2400  link.textContent='\u26F6';link.className='sq-size-choice sq-size-'+i;
2401  link.title=['Small: 55% with captions','Medium: 100% with captions','Large: popup layout, 100% with captions'][i];
2402  link.setAttribute('aria-label',link.title);
2403  if(!maximum && (i===2 ? popupLayout && percent===100 : !popupLayout && Number(value)===percent)) link.setAttribute('aria-current','true');
2404  sizes.appendChild(link);
2405 });
2406 var current=0,timer=null,request=0;
2407 var paused=window.matchMedia('(prefers-reduced-motion: reduce)').matches;
2408 var dots=slides.map(function(s,i){
2409  var b=document.createElement('button');b.type='button';b.className='sq-slide-dot';
2410  b.setAttribute('aria-label','Show slide '+(i+1)+': '+s[SLIDE_TITLE]);
2411  b.title=(i+1)+'. '+s[SLIDE_TITLE];
2412  b.onclick=function(){paused=true;clearTimeout(timer);show(i);};
2413  controls.appendChild(b);return b;
2414 });
2415 function label(){
2416  caption.textContent=slides[current][SLIDE_CAPTION] || '';
2417  narrative.textContent=slides[current][SLIDE_NARRATIVE] || '';
2418  narrative.hidden=!narrative.textContent.trim();
2419  dots.forEach(function(d,i){d.setAttribute('aria-current',i===current?'true':'false');});
2420  frame.setAttribute('aria-label',slides[current][SLIDE_TITLE]+'. '+(paused?'Play':'Pause')+' slideshow');
2421 }
2422 function schedule(){
2423  clearTimeout(timer);
2424  if(!paused && !document.hidden) timer=setTimeout(function(){show(current+1);},30000);
2425 }
2426 function show(index){
2427  var target=(index+slides.length)%slides.length,token=++request,img=images[target];
2428  function reveal(){
2429   if(token!==request)return;
2430   images[current].classList.remove('sq-active');
2431   images[current].setAttribute('aria-hidden','true');
2432   current=target;img.classList.add('sq-active');
2433   img.setAttribute('aria-hidden','false');label();schedule();requestFit();
2434  }
2435  if(!img.getAttribute('src'))img.src=slides[target][SLIDE_IMAGE];
2436  if(img.complete && img.naturalWidth)reveal();
2437  else {img.onload=reveal;img.onerror=function(){if(token===request){paused=true;clearTimeout(timer);console.warn('Unable to load slideshow image:',slides[target][SLIDE_IMAGE]);}};}
2438 }
2439 prev.onclick=function(){paused=true;clearTimeout(timer);show(current-1);};
2440 next.onclick=function(){paused=true;clearTimeout(timer);show(current+1);};
2441 frame.onclick=function(){paused=!paused;label();schedule();};
2442 frame.onkeydown=function(e){if(e.key===' '||e.key==='Enter'){e.preventDefault();frame.click();}};
2443 document.addEventListener('visibilitychange',schedule);
2444 label();schedule();
2445 /* Size against the slideshow's document position, independently of scrolling. */
2446 var fitPending=false;
2447 function fitImage(budget){
2448  var img=images[current],ratio=img.naturalWidth && img.naturalHeight?img.naturalWidth/img.naturalHeight:1;
2449  var availableWidth=Math.max(0,imageArea.clientWidth-64);
2450  /* Measure text and dots at their actual full-width wrapping. Their limits
2451     remain based on the budget, never on the shrunken container. */
2452  function rowHeight(row){
2453   var style=window.getComputedStyle(row);
2454   if(style.display==='none') return 0;
2455   return row.getBoundingClientRect().height+
2456    (parseFloat(style.marginTop)||0)+(parseFloat(style.marginBottom)||0);
2457  }
2458  var textHeight=rowHeight(caption)+rowHeight(controls)+rowHeight(narrative);
2459  var availableHeight=maximum?budget:Math.max(0,budget-textHeight);
2460  var width=Math.min(availableWidth,availableHeight*ratio),height=width/ratio;
2461  if(!maximum) host.style.setProperty('--sq-image-height',height+'px');
2462  frame.style.width=width+'px';frame.style.height=height+'px';
2463  imageArea.style.setProperty('--sq-frame-width',width+'px');
2464  imageArea.style.setProperty('--sq-frame-height',height+'px');
2465  return height;
2466 }
2467 function fit(){
2468  fitPending=false;
2469  var top=host.getBoundingClientRect().top+window.scrollY;
2470  var available=Math.max(0,window.innerHeight-Math.max(0,top)-12);
2471  var budget=available*(maximum?1:percent/100);
2472  host.style.setProperty('--sq-budget',budget+'px');
2473  /* Always test the baseline first so resize/slide changes cannot cause
2474     feedback between the 55% and 75% layouts. Wait for image dimensions. */
2475  var imageHeight=fitImage(budget);
2476  if(autoSize && images[current].naturalWidth && imageHeight<minimumImageHeight){
2477   budget=available*.75;
2478   host.style.setProperty('--sq-budget',budget+'px');
2479   fitImage(budget);
2480  }
2481 }
2482 function requestFit(){if(!fitPending){fitPending=true;window.requestAnimationFrame(fit);}}
2483 images.forEach(function(img){img.addEventListener('load',requestFit);});
2484 window.addEventListener('resize',requestFit);
2485 window.addEventListener('load',requestFit);
2486 if(window.ResizeObserver){
2487  var observer=new ResizeObserver(requestFit);
2488  observer.observe(imageArea);
2489  observer.observe(caption);observer.observe(controls);observer.observe(narrative);
2490  var banner=document.getElementById('pageHead'),title=document.querySelector('#blockA > h2.title');
2491  if(banner)observer.observe(banner);if(title)observer.observe(title);
2492 }
2493 if(document.fonts && document.fonts.ready)document.fonts.ready.then(requestFit);
2494 fit();
2495
2496}
2497if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',startParashotSlideshow);
2498else startParashotSlideshow();
2499})();
2500</script>
2500
2501 
2502		   </div>
2503			<div id="fullContent">
2504				<div id="blockA">
2505					<h2 class="title">And Jacob dreamed...</h2>
2506					<div class="contentWrapper">
2507						
2508
2509<p>...that there was a ladder set up on the earth, the top of it reaching to heaven; and the angels of God were ascending and descending on it. And the LORD stood beside him and said, "I am the LORD, the God of Abraham your father and the God of Isaac; the land on which you lie I will give <b>to you and to your offspring; and your offspring shall be like the dust of the earth, and you shall spread abroad to the west and to the east and to the north and to the south; and all the families of the earth shall be blessed in you and in your offspring. Know that I am with you and will keep you wherever you go, and will bring you back to this land; for I will not leave you until I have done what I have promised you.</b>" Genesis 28:12-15 </P>
2510
2511<P><span style="color:#277327;font-size:16px"><br><b>Do you have Jewish and Gentile ancestry?</b></span></P>
2512
2513<P align="center">
2514  If so, you have surely wondered "I am a Jew?", or "To what nation does my cultural identity belong to?" <br> <br> On the one hand, the different Jewish denominations disagree regarding "who is born a Jew?". But, ironically, they use the SAME passages from the Written Torah to sustain their opposite positions! How can this be? The answer is that the texts in question do not actually exclude a child of intermarriage from the assembly of Israel, however each denomination has interpreted the language to suit their historical, social, and political experience. <br><br> The silver lining is that because opposite positions are taken using the SAME Torah passages, the issue is not one where the Torah says one thing in one place and something different elsewhere. Rather, human beings have landed on traditional interpretations, and these are biases, not absolutes. <A onclick="window.open ('http://www.beta-gershom.org/who_is_born_a_jew.shtml?layout=popup', 'Who is born a Jew', config='height=1000,width=1000, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, directories=no, status=no')" href="javascript:;">The passages utilized by the denominations to exclude one group or another are actually neutral on the subject !</A> <br>
2515  Furthermore, Genesis 28 is clear that the promise of Sinai is open to all offspring of Jacob, no matter how remote your Israelite ancestry might be. 
2516  </P>
2517  
2518  <P align="center">
2519This is why <br> 
2520  <span style="background-color: #ffff00;"><b>at Beta Gershom we welcome all offspring of Jacob, and we honor how each person self-identifies, without imposing denominational interpretations or pre-requisites.</b></span>  <br><br>
2521  
2522  If you "feel in your bones" that you are a part of Israel, know this: the Sinai Covenant with Israel is a relationship that is indeed open to you, with no barriers or obstructions. It is your God-given right to partake in the assembly of Israel. <br>
2523
2524If you, on the other hand, feel a connection with Israel, yet your primary identity is with a Gentile nation, know this: the Torah of Israel also contains a legacy for all nations, for it speaks of the general Covenant given through Noach after the Flood. All nations, Jews and non-Jews, are bound by that eternal Sacred Covenant, and THAT is already yours. <br><br>
2525
2526The mission of the Beta Gershom community is:<br> <b><span style="background-color: #ffff00;">to enable all people who have Jewish & Gentile ancestry to fulfill their role as a Jew (if that's how they self-identify) or as a Noahide (if they self-identify as a Gentile)</span></b>.
2527
2528</p>
2529
2530<P> Sometimes the term "half-jewish" or "part-jewish" is used colloquially to refer to a person of mixed (Jewish and non-Jewish) ancestry. Because such terms can lend themselves to the erroneous impression that a person can be only partially Jewish, we have coined the phrase "Beta Gershom" as a synonym for "person of Jewish and non-Jewish ancestry". Why the term "Beta Gershom" (House of Gershom) ? <b><A onclick="window.open ('Beta_Gershom.shtml?layout=popup', 'Beta Gershom', config='height=1000,width=1000, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, directories=no, status=no')" href="javascript:;">Click here for details.</A></b></P> 
2531  <!-- was: "<b><A href="Beta_Gershom.shtml">Beta Gershom</A></b>" -->
2532
2533<P>Important: A key purpose of this website is also to celebrate and uphold core Jewish values and concepts, including:</P>  
2534
2535<P>
2536
2537a- <span title="Shma Israel: Yhwh Eloheinu, Yhwh Ehhad"> The Sh'ma: that God is "Ehhad" (One, Unique, Alone), and 
2538
2539<A onclick="window.open ('http://www.beta-gershom.org/YHWH_transcends.shtml?layout=popup', 'YHWH transcends', config='height=1000,width=1000, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, directories=no, status=no')" href="javascript:;"><b>transcends description</b></A> or division into parts.</span><BR>
2540
2541b- The sanctity and trueness of the Torah, including the Noahide and Sinai <A onclick="window.open ('http://www.beta-gershom.org/eternal_covenants.shtml?layout=popup', 'EternalCovenants', config='height=1000,width=1000, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, directories=no, status=no')" href="javascript:;"><b>eternal covenants</b></A>.<BR>
2542
2543c- That God's <A onclick="window.open ('http://www.beta-gershom.org/salvation.shtml?layout=popup', 'Salvation', config='height=1000,width=1000, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, directories=no, status=no')" href="javascript:;"><b>Salvation</b></A> can only come thru Faith in God, doing the Mitzvot (Commandments), and doing Teshuva and Tikun (Repentance and Repair) when we fall short. Without earnestly striving to DO the Mitzvot and earnestly striving to Repair and Repent (when we fall short), Faith and Sacrifice alone are empty, hypocritical, and useless.<BR>
2544
2545d- That Maschiach will usher and enable the Kingdom of God, but Salvation comes <A onclick="window.open ('http://www.beta-gershom.org/Only_God_Saves.shtml?layout=popup', 'Only God Saves', config='height=1000,width=1000, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, directories=no, status=no')" href="javascript:;"><b>from God alone</b></A> (not Maschiach).</span><BR>
2546
2547<!-- 
2548d- <span title="Hosea 13:4 : And I am the Lord your God from the land of Egypt, and gods beside Me you should not know, and there is no savior but Me. Isaiah 42:8 : I am the LORD, that is my name; my glory I give to no other, nor my praise to idols.">That Moschiach will usher and enable the Kingdom of God, but Salvation comes from God alone (not Moschiach).</span><BR>
2549 -->
2550
2551e- To contribute in Israel's role as a <A onclick="window.open ('http://www.beta-gershom.org/noahide_laws.shtml?layout=popup', 'Noahide Laws', config='height=1000,width=1000, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, directories=no, status=no')" href="javascript:;"><b>light to the Nations</b></A> (especially Ethical Monotheism and Tikun Olam).<BR>
2552
2553f- To fight evangelism, jihadism, antisemitism and all forms of oppression and discrimination.</P>  
2554
2555
2556
2557<P>We hope the site's content is useful to you. We have also launched our <A target="_blank" href="https://www.facebook.com/BetaGershom?ref=hl">Facebook page</A>, where you can participate by sharing stories and media with other people of Jewish & Gentile ancestry.  </P>
2558
2559<span align="left">
2560If there are additional topics you would like to see covered in the site, or if you have questions on existing topics, just click on <A href="questions.shtml">"Ask a Question"</A> and we'll be glad to follow up!
2561
2562
2563<BR><BR>
2564Thank You for&nbsp;visiting us.<BR>
2565The [email protected] </span><BR><BR>
2566
2567
2568
2569<!--  Start Bravenet.Com Service Code -->
2570<div style="line-height: 13px;color:black;padding:10px;">
2571
2572<P align="center">
2573  
2574
2575<!-- <a href="http://pub10.bravenet.com/vote/vote.php?usernum=777475189&amp;cpv=2" style="margin-right: 10px;color:black"><img src="http://assets.bravenet.com/common/images/cpcode/light-color-vote.gif" width="32" height="32" alt="Vote on Selected Topics" border="0"></a> -->
2576<a onclick="window.open('http://pub10.bravenet.com/vote/vote.php?usernum=777475189&amp;cpv=2','BG Survey', 'height=1000,width=1000,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,directories=no,status=no' ); return false;" href="#"> <img src="http://assets.bravenet.com/common/images/cpcode/light-color-vote.gif" alt="Vote on Selected Topics" border="0"> </a>  
2577  
2578<!-- <a href="http://pub10.bravenet.com/vote/vote.php?usernum=777475189&amp;cpv=2" style="font-size: 12px; font-weight: bold; color:black">How do you Identify? Take our survey and see the survey results</a> <br> -->
2579<A onclick="window.open ('http://pub10.bravenet.com/vote/vote.php?usernum=777475189&amp;cpv=2', 'BG Survey', config='height=1000,width=1000, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, directories=no, status=no')" href="javascript:;">How do you Identify? Take our survey and see the survey results</A> <br>
2580  
2581<!-- commenting this, as this service was discontinued   <a href="http://www.bravenet.com/webtools/vote/" style="font-size: 10px; color:black;">Vote</a> -->
2582
2583<br style="clear: left;">
2584
2585
2586</P>
2587</div>
2588<!-- End Bravenet.Com Service Code -->
2589
2590<a class="a2a_dd" href="http://www.addtoany.com/share_save?linkname=beta-gershom&amp;linkurl=www.beta-gershom.org"><img src="http://static.addtoany.com/buttons/share_save_171_16.png" width="171" height="16" border="0" alt="Share/Bookmark"/></a>
2590<script type="text/javascript">a2a_linkname="beta-gershom";a2a_linkurl="www.beta-gershom.org";</script>
2590<script type="text/javascript" src="http://static.addtoany.com/menu/page.js"></script>
2590
2591
2592<BR>
2593
2594
2595
2596					</div>
2597				</div>
2598				
2599<div id="latestactivity">
2600  <div id="latestactivityleftside">
2601
2602<!-- Facebook activity widget div (see pageHeadInclude for the corresponding scripts-->
2603<div class="fb-like-box" data-href="http://www.facebook.com/pages/Beta-Gershom/149551071745984" data-width="364" data-height="645" data-show-faces="false" data-stream="true" data-header="false"></div>
2604
2605  </div>
2606
2607  <div id="latestactivityrightside">
2608<!-- Latest Activity Widget -->
2609<!-- end Latest Activity Widget -->
2610  </div>
2611</div>
2612
2613
2614
2615
2616			</div>
2617			
2618                        
2619			<div style="clear:both;font-size:1px;">&nbsp;</div>
2620		</div>
2621		<div style="clear:both;;font-size:1px;">&nbsp;</div>
2622		<div id="pageFooter">
2623                    <div id="footLeft"></div>
2624			<div id="footRight"></div>
2625			<div id="footNav">
2626			</div>
2627			<hr>
2628			<p align="center">©Copyright 2006-2028: all content provided by beta-gershom.org and half-jewish.org, unless otherwise noted. All rights reserved. Biblical quotations are NRSV, unless otherwise noted.<br><span style="color:#FFFFFF;font-size:1px">jewish ancestry, jewish intermarriage, who is a jew, who is born a jew, intermarriage, interfaith</span></p>
2629
2630
2631
2632
2633<!-- Begin Google tracking code -->
2634<script type="text/javascript">
2635
2636  var _gaq = _gaq || [];
2637  _gaq.push(['_setAccount', 'UA-29497130-1']);
2638  _gaq.push(['_trackPageview']);
2639
2640  (function() {
2641    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
2642    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
2643    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
2644  })();
2645
2646</script>
2646
2647<!-- End Google tracking code -->
2648
2649<!-- All Beta-gershom Hitcounter Pageviews -->
2650<!-- Start Bravenet.com Service Code -->
2651<script type="text/javascript" src="http://pub10.bravenet.com/counter/code.php?id=408532&usernum=777475189&cpv=2"></script>
2651
2652<!-- End Bravenet.com Service Code -->
2653
2654
2655
2656		</div>
2657		<br style="clear:both;" />
2658		
2659				
2660	</div>
2661
2662<!-- Start Bravenet.com Service Code -->
2663<script language="JavaScript" type="text/javascript" src="http://pub10.bravenet.com/counter/code.php?id=397490&usernum=777475189&cpv=2">
2664</script>
2664
2665<!-- END DO NOT MODIFY -->
2666
2667  </div>
2668</div>
2669
2670</body>
2671</html>    

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.