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">בית גרשום</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 today is: 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 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 1563 --> 1564 1565 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&layout=button_count&show_faces=true&width=80&action=like&colorscheme=light&height=24" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:80px; height:24px;" allowTransparency="true"></iframe> --> 1570 1571 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 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 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 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 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 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!! &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 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: עשרת ימי תשובה‎, 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&cpv=2"><span style="font-size:11px">Take our survey!</span></a> 1688 1689 1690<a href="https://betagershom.tumblr.com/" target="_blank"><span style="font-size:11px">Tumblr Blog Posts</span></a> 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> 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> 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> 1696<a href="mitzvot_israel.shtml"> <span style="font-size:11px" style="font-size:12px">The Covenant with Israel at Sinai.</span></a> 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> --> 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> 1699<a href="moschiach.shtml"> <span style="font-size:11px" style="font-size:12px">Messiah scriptures in the Torah.</span></a> 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&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 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&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&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&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&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&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;"> </div> 2620 </div> 2621 <div style="clear:both;;font-size:1px;"> </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.