
function getHebrewJewishYear(year){return getHebrewJewishYear(year,false);}
function getHebrewJewishYear(year,displayThousands){year=parseInt(year);var singleDigitYear=isSingleDigitJewishYear(year);var jAlafim="&#1488;&#1500;&#1508;&#1497;&#1501;";var jHundreds=["","&#1511;","&#1512;","&#1513;","&#1514;","&#1514;&#1511;","&#1514;&#1512;","&#1514;&#1513;","&#1514;&#1514;","&#1514;&#1514;&#1511;"];var jTens=["","&#1497;","&#1499;","&#1500;","&#1502;","&#1504;","&#1505;","&#1506;","&#1508;","&#1510;"];var jTenEnds=["","&#1497;","&#1498;","&#1500;","&#1501;","&#1503;","&#1505;","&#1506;","&#1507;","&#1509;"];var tavTaz=["&#1496;&quot;&#1493;","&#1496;&quot;&#1494;"];var jOnes=["","&#1488;","&#1489;","&#1490;","&#1491;","&#1492;","&#1493;","&#1494;","&#1495;","&#1496;"];var thousands=parseInt(year/1000);var sb="";if(year%1000==0){sb+=jOnes[thousands];sb+="'";sb+=" ";sb+=jAlafim;return sb;}else if(displayThousands){sb+=jOnes[thousands];sb+="'";sb+=" ";}
year=parseInt(year%1000);var hundreds=parseInt(year/100);var tens="";sb+=jHundreds[hundreds];year=year%100;if(year==15){sb+=tavTaz[0];}else if(year==16){sb+=tavTaz[1];}else{tens=parseInt(year/10);if(year%10==0){if(singleDigitYear==false){sb+=jTenEnds[tens];}else{sb+=jTens[tens];}}else{sb+=jTens[tens];year=year%10;sb+=jOnes[year];}}
if(singleDigitYear==true){sb+="'";}else{if(sb.indexOf("&quot;")<0){var temp=sb.substring(0,sb.lastIndexOf("&"));temp+="&quot;";temp+=sb.substring(sb.lastIndexOf("&"),sb.length);sb=temp;}}
return sb;}
function isSingleDigitJewishYear(year){var shortYear=year%1000;if(shortYear<11||(shortYear<100&&shortYear%10==0)||(shortYear<=400&&shortYear%100==0)){return true;}else{return false;}}
function makeArray(){this[0]=makeArray.arguments.length;for(i=0;i<makeArray.arguments.length;i=i+1)
this[i+1]=makeArray.arguments[i];}
var hebMonth=new makeArray('Nisan','Iyyar','Sivan','Tammuz','Av','Elul','Tishrei','Cheshvan','Kislev','Tevet','Shevat','Adar','Adar I','Adar II');var civMonth=new makeArray('January','February','March','April','May','June','July','August','September','October','November','December');var weekDay=new makeArray('Sun','Mon','Tues','Wed','Thur','Fri','Shabbat');function leap(y){return((y%400==0)||(y%100!=0&&y%4==0));}
function Gauss(year){var a,b,c;var m;var Mar;a=Math.floor((12*year+17)%19);b=Math.floor(year%4);m=32.044093161144+1.5542417966212*a+b/4.0-0.0031777940220923*year;if(m<0)
m-=1;Mar=Math.floor(m);if(m<0)
m++;m-=Mar;c=Math.floor((Mar+3*year+5*b+5)%7);if(c==0&&a>11&&m>=0.89772376543210)
Mar++;else if(c==1&&a>6&&m>=0.63287037037037)
Mar+=2;else if(c==2||c==4||c==6)
Mar++;Mar+=Math.floor((year-3760)/100)-Math.floor((year-3760)/400)-2;return Mar;}
function civMonthLength(month,year){if(month==2)
return 28+leap(year);else if(month==4||month==6||month==9||month==11)
return 30;else
return 31;}
function civ2heb(day,month,year,withThousands){var jTens=["","&#1497;","&#1499;","&#1500;"];var tavTaz=["&#1496;&quot;&#1493;","&#1496;&quot;&#1494;"];var jOnes=["","&#1488;","&#1489;","&#1490;","&#1491;","&#1492;","&#1493;","&#1494;","&#1495;","&#1496;"];var jMonth2=["&#1504;&#1497;&#1505;&#1503;","&#1488;&#1497;&#1497;&#1512;","&#1505;&#1497;&#1493;&#1503;","&#1514;&#1502;&#1493;&#1494;","&#1488;&#1489;","&#1488;&#1500;&#1493;&#1500;","&#1514;&#1513;&#1512;&#1497;","&#1495;&#1513;&#1493;&#1503;","&#1499;&#1505;&#1500;&#1493;","&#1496;&#1489;&#1514;","&#1513;&#1489;&#1496;","&#1488;&#1491;&#1512;","&#1488;&#1491;&#1512; &#1488;'","&#1488;&#1491;&#1512; &#1489;'"];var d=day;var m=month;var y=year;var hy;var pesach;var anchor;var adarType;m-=2;if(m<=0){m+=12;y-=1;}
d+=Math.floor(7*m/12+30*(m-1));hy=y+3760;pesach=Gauss(hy);if(d<=pesach-15){anchor=pesach;d+=365;if(leap(y))
d++;y-=1;hy-=1;pesach=Gauss(hy);}
else
anchor=Gauss(hy+1);d-=pesach-15;anchor-=pesach-12;y++;if(leap(y))
anchor++;for(m=0;m<11;m++){var days;if(m==7&&anchor%30==2)
days=30;else if(m==8&&anchor%30==0)
days=29;else
days=30-m%2;if(d<=days)
break;d-=days;}
adarType=0;if(m==11&&anchor>=30){if(d>30){adarType=2;d-=30;}
else
adarType=1;}
if(m>=6)
hy++;if(m==11)
m+=adarType;var returnMonth,returnDate,hebrewDateTemp;if(d==15){returnDate=tavTaz[0];}else if(d==16){returnDate=tavTaz[1];}else if(d<10){returnDate=jOnes[d]+"'";}else{hebrewDateTemp=parseInt(d/10);returnDate=jTens[hebrewDateTemp];if(d%10>0){hebrewDateTemp=d%10;returnDate+="&quot;"+jOnes[hebrewDateTemp];}else{returnDate+="'";}}
return(returnDate+" "+jMonth2[m]+", "+getHebrewJewishYear(hy,withThousands));}
function Easter(Y){var C=Math.floor(Y/100);var N=Y-19*Math.floor(Y/19);var K=Math.floor((C-17)/25);var I=C-Math.floor(C/4)-Math.floor((C-K)/3)+19*N+15;I=I-30*Math.floor((I/30));I=I-Math.floor(I/28)*(1-Math.floor(I/28)*Math.floor(29/(I+1))*Math.floor((21-N)/11));var J=Y+Math.floor(Y/4)+I+2-C+Math.floor(C/4);J=J-7*Math.floor(J/7);var L=I-J;var M=3+Math.floor((L+40)/44);var D=L+28-31*Math.floor(M/4);var ret=new Object();ret[1]=M;ret[2]=D;return ret;}
function DOW(day,month,year){var a=Math.floor((14-month)/12);var y=year-a;var m=month+12*a-2;var d=(day+y+Math.floor(y/4)-Math.floor(y/100)+
Math.floor(y/400)+Math.floor((31*m)/12))%7;return d+1;}
function NthDOW(nth,weekday,month,year){if(nth>0)
return(nth-1)*7+1+(7+weekday-DOW((nth-1)*7+1,month,year))%7;var days=civMonthLength(month,year);return days-(DOW(days,month,year)-weekday+7)%7;}
function holidays(cday,cmonth,cyear){if(cmonth==1&&cday==1)
return"New Year's Day";else if(cmonth==2&&cday==12)
return"Lincoln's Birthday";else if(cmonth==2&&cday==14)
return"Valentines Day";else if(cmonth==2&&cday==NthDOW(3,2,2,cyear))
return"Presidents Day";else if(cmonth==3&&cday==17)
return"St. Patrick's Day";else if(cmonth==3||cmonth==4){var e=Easter(cyear);if(cmonth==e[1]&&cday==e[2])
return"Easter";}
else if(cmonth==5&&cday==NthDOW(2,1,5,cyear))
return"Mother's Day";else if(cmonth==5&&cday==NthDOW(3,7,5,cyear))
return"Armed Forces Day";else if(cmonth==5&&cday==NthDOW(0,2,5,cyear))
return"Memorial Day";else if(cmonth==6&&cday==14)
return"Flag Day";else if(cmonth==6&&cday==NthDOW(3,1,6,cyear))
return"Father's Day";else if(cmonth==7&&cday==4)
return"Independence Day";else if(cmonth==9&&cday==NthDOW(1,2,9,cyear))
return"Labor Day";else if(cmonth==10&&cday==NthDOW(2,2,10,cyear))
return"Columbus Day";else if(cmonth==10&&cday==31)
return"Halloween";else if(cmonth==11&&cday==11)
return"Veterans' Day";else if(cmonth==11&&cday==NthDOW(4,5,11,cyear))
return"Thanksgiving";else if(cmonth==12&&cday==25)
return"Christmas";return"";}
function moadim(cday,cmonth,cyear,hday,hmonth,dow){if(hmonth==6){if(hday==1||hday==2)
return"Rosh Hashana"
else if(hday==3&&dow!=7)
return"Fast of Gedalia";else if(hday==4&&dow==1)
return"Fast of Gedalia";else if(hday==10)
return"Yom Kippur"
else if(hday>=15&&hday<=20)
return"Sukkot"
else if(hday==21)
return"Hoshaana Rabba"
else if(hday==22)
return"Shemini Asseret"
else if(hday==23)
return"Simhat Torah (diaspora)"}
else if(hmonth==8){if(hday>=25)
return"Hanukkah"}
else if(hmonth==9){if(hday<=2){return"Hanukkah"}
else if(hday==3){if(cday==1){cday=29;cmonth=11;}
else if(cday==2){cday=30;cmonth=11;}
else
cday-=3;var hdate=civ2heb(cday,cmonth,cyear);hd=eval(hdate.substring(0,hdate.indexOf(' ')));if(hd==29)
return"Hanukkah"}
else if(hday==10)
return"Fast of Tevet"}
else if(hmonth==10){if(hday==15)
return"Tu b'Shvat"}
else if(hmonth==11||hmonth==13){if(hday==11&&dow==5)
return"Taanit Esther"
else if(hday==13&&dow!=7)
return"Taanit Esther"
else if(hday==14)
return"Purim"
else if(hday==15)
return"Shushan Purim"}
else if(hmonth==0){if(hday==12&&dow==5)
return"Taanit Bechorot"
else if(hday==14&&dow!=7)
return"Taanit Bechorot"
else if(hday>=15&&hday<=21)
return"Pesach"
else if(hday==22)
return"Pesach (diaspora)"}
else if(hmonth==1){if(hday==3&&dow==5)
return"Yom Ha'Assmaut"
else if(hday==4&&dow==5)
return"Yom Ha'Assmaut"
else if(hday==5&&dow!=6&&dow!=7)
return"Yom Ha'Assmaut"
if(hday==14)
return"Pesah Sheni"
else if(hday==18)
return"Lag LaOmer"
if(hday==28)
return"Yom Yerushalayim"}
else if(hmonth==2){if(hday==6)
return"Shavuot"
else if(hday==7)
return"Shavuot (diaspora)"}
else if(hmonth==3){if(hday==17&&dow!=7)
return"Fast of Tammuz"
if(hday==18&&dow==1)
return"Fast of Tammuz"}
else if(hmonth==4){if(hday==9&&dow!=7)
return"Tish'a B'Av"
if(hday==10&&dow==1)
return"Tish'a B'Av"
if(hday==15)
return"Tu B'Av"}
return"";}
function returnHebrewDate(withThousands)
{var now=new Date;var tday=now.getDate();var tmonth=now.getMonth()+1;var tyear=now.getYear();if(tyear<1900)
tyear+=1900;return civ2heb(tday,tmonth,tyear,withThousands);}