1*cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2*cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3*cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="LocalHolidays" script:language="StarBasic">Option Explicit
4*cdf0e10cSrcweir
5*cdf0e10cSrcweirSub Main
6*cdf0e10cSrcweir	Call CalAutopilotTable()
7*cdf0e10cSrcweirEnd Sub
8*cdf0e10cSrcweir
9*cdf0e10cSrcweir
10*cdf0e10cSrcweirSub FindWholeYearHolidays_FRANCE(ByVal YearInt as Integer)
11*cdf0e10cSrcweirDim lEasterDate&amp;
12*cdf0e10cSrcweirDim lDate&amp;
13*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Jour de l&apos;an&quot;, cHolidayType_Full)
14*cdf0e10cSrcweir	lEasterDate = CalEasterTable(YearInt)
15*cdf0e10cSrcweir	CalInsertBankholiday(lEasterDate, &quot;Pâques&quot;, cHolidayType_Full)
16*cdf0e10cSrcweir	CalInsertBankholiday(lEasterDate + 1, &quot;Lundi de Pâques&quot;, cHolidayType_Full)
17*cdf0e10cSrcweir	CalInsertBankholiday(lEasterDate + 39, &quot;Ascension&quot;, cHolidayType_Full)
18*cdf0e10cSrcweir	CalInsertBankholiday(lEasterDate + 49, &quot;Pentecôte&quot;, cHolidayType_Full)
19*cdf0e10cSrcweir	CalInsertBankholiday(lEasterDate + 50, &quot;Lundi de Pentecôte&quot;, cHolidayType_Full)
20*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Fête du travail&quot;, cHolidayType_Full)
21*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 8), &quot;Victoire 1945&quot;, cHolidayType_Full)
22*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 7, 14), &quot;Fête Nationale&quot;, cHolidayType_Full)
23*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Assomption&quot;, cHolidayType_Full)
24*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Toussaint&quot;, cHolidayType_Full)
25*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Armistice ou Victoire 1918&quot;, cHolidayType_Full)
26*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Noël&quot;, cHolidayType_Full)
27*cdf0e10cSrcweirEnd Sub
28*cdf0e10cSrcweir
29*cdf0e10cSrcweir
30*cdf0e10cSrcweirSub FindWholeYearHolidays_SWED(ByVal YearInt as Integer)
31*cdf0e10cSrcweirDim lDate&amp;
32*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nyårsdagen&quot;, cHolidayType_Full)
33*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Trettondagen&quot;, cHolidayType_Full)
34*cdf0e10cSrcweir	lDate = CalEasterTable(YearInt)
35*cdf0e10cSrcweir	CalInsertBankholiday(lDate - 2, &quot;Långfredagen&quot;, cHolidayType_Full)
36*cdf0e10cSrcweir	CalInsertBankholiday(lDate, &quot;Påskdagen&quot;, cHolidayType_Full)
37*cdf0e10cSrcweir	CalInsertBankholiday(lDate + 1, &quot;Annandag påsk&quot;, cHolidayType_Full)
38*cdf0e10cSrcweir	CalInsertBankholiday(lDate + 39, &quot;Kristi himmelfärds dag&quot;, cHolidayType_Full)
39*cdf0e10cSrcweir	CalInsertBankholiday(lDate + 49, &quot;Pingstdagen&quot;, cHolidayType_Full)
40*cdf0e10cSrcweir	CalInsertBankholiday(lDate + 50, &quot;Annandag pingst&quot;, cHolidayType_Full)
41*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;1:a maj&quot;, cHolidayType_Full)
42*cdf0e10cSrcweir	&apos; MidSummerfeast (next Sunday after 20th June)
43*cdf0e10cSrcweir	CalInsertBankholiday(GetNextWeekday(YearInt, 6, 20, 7), &quot;Midsommardagen&quot;, cHolidayType_Full)
44*cdf0e10cSrcweir	CalInsertBankholiday(GetNextWeekDay(YearInt, 10, 31, 7), &quot;Alla helgons dag&quot;, cHolidayType_Full)
45*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Juldagen&quot;, cHolidayType_Full)
46*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Annandag jul&quot;, cHolidayType_Full)
47*cdf0e10cSrcweirEnd Sub
48*cdf0e10cSrcweir
49*cdf0e10cSrcweir
50*cdf0e10cSrcweir
51*cdf0e10cSrcweirSub FindWholeYearHolidays_FI(ByVal YearInt as Integer)
52*cdf0e10cSrcweir	Dim OsternDate&amp;
53*cdf0e10cSrcweir	&apos; New Year
54*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Uudenvuodenpäivä&quot;, cHolidayType_Full)
55*cdf0e10cSrcweir	&apos; &quot;the three Magi&quot;
56*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Loppiainen&quot;, cHolidayType_Half)
57*cdf0e10cSrcweir	OsternDate = CalEasterTable(YearInt)
58*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate-2, &quot;Pitkäperjantai&quot;, cHolidayType_Full)
59*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate, &quot;Pääsiäispäivä&quot;, cHolidayType_Full)
60*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate+1, &quot;2. pääsiäispäivä&quot;, cHolidayType_Full)
61*cdf0e10cSrcweir	&apos; Ascension Day
62*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate+39, &quot;Helatorstai&quot;, cHolidayType_Full)
63*cdf0e10cSrcweir	&apos; First of May
64*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Vappu, suomalaisen työn päivä&quot;, cHolidayType_Full)
65*cdf0e10cSrcweir	&apos; Mothers Day : 2nd Sunday in May, Full
66*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), &quot;Äitienpäivä&quot;, cHolidayType_Full)
67*cdf0e10cSrcweir	&apos; MidSummerfeast (next Sunday after 20th June)
68*cdf0e10cSrcweir	CalInsertBankholiday(GetNextWeekday(YearInt, 6, 20, 7), &quot;Juhannus, Suomen lipun päivä&quot;, cHolidayType_Full)
69*cdf0e10cSrcweir	&apos; Independance day
70*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 6), &quot;Itsenäisyyspäivä&quot;, cHolidayType_Full)
71*cdf0e10cSrcweir	&apos; Christmas
72*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Joulupäivä&quot;, cHolidayType_Full)
73*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Tapaninpäivä&quot;, cHolidayType_Full)
74*cdf0e10cSrcweirEnd Sub
75*cdf0e10cSrcweir
76*cdf0e10cSrcweir
77*cdf0e10cSrcweir
78*cdf0e10cSrcweirSub FindWholeYearHolidays_DK (ByVal YearInt as Integer)
79*cdf0e10cSrcweirDim lDate&amp;, VierterAdvent&amp;
80*cdf0e10cSrcweir
81*cdf0e10cSrcweir	&apos;New Year
82*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nytårsdag&quot;, cHolidayType_Full)
83*cdf0e10cSrcweir	lDate = CalEasterTable (YearInt)
84*cdf0e10cSrcweir	&apos; carnival
85*cdf0e10cSrcweir	CalInsertBankholiday(lDate-49, &quot;Fastelavn&quot;, cHolidayType_Half)
86*cdf0e10cSrcweir	&apos;&quot;Maundy Tuesday
87*cdf0e10cSrcweir	CalInsertBankholiday(lDate-3, &quot;Skærtorsdag&quot;, cHolidayType_Full)
88*cdf0e10cSrcweir	&apos;&quot;Good Friday  &quot;
89*cdf0e10cSrcweir	CalInsertBankholiday(lDate-2, &quot;Langfredag&quot;, cHolidayType_Full)
90*cdf0e10cSrcweir	&apos; Easter Sunday
91*cdf0e10cSrcweir	CalInsertBankholiday(lDate, &quot;Påskesøndag&quot;, cHolidayType_Full)
92*cdf0e10cSrcweir	&apos; Easter Monday
93*cdf0e10cSrcweir	CalInsertBankholiday(lDate+1, &quot;2. påskedag&quot;, cHolidayType_Full)
94*cdf0e10cSrcweir	&apos; 4th Friday after Easter
95*cdf0e10cSrcweir	CalInsertBankholiday(lDate+26, &quot;Store bededag&quot;, cHolidayType_Full)
96*cdf0e10cSrcweir	&apos; &quot;Ascension Day
97*cdf0e10cSrcweir	CalInsertBankholiday(lDate+39, &quot;Kristi himmelfahrt&quot;, cHolidayType_Full)
98*cdf0e10cSrcweir	&apos; &quot;Whitsunday&quot;
99*cdf0e10cSrcweir	CalInsertBankholiday(lDate+49, &quot;Pinsesøndag&quot;, cHolidayType_Full)
100*cdf0e10cSrcweir	&apos; &quot;Whitmonday&quot;
101*cdf0e10cSrcweir	CalInsertBankholiday(lDate+50, &quot;2. pinsedag&quot;, cHolidayType_Full)
102*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 5), &quot;Grundlovsdag&quot;, cHolidayType_Full)
103*cdf0e10cSrcweir	&apos;Christmas Days
104*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;1. juledag&quot;, cHolidayType_Full)
105*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;2. juledag&quot;, cHolidayType_Full)
106*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Hellig 3 konger&quot;, cHolidayType_Half)
107*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 3, 28), &quot;Dr. Ingrid&quot;, cHolidayType_Half)
108*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 16), &quot;Dr. Margrete&quot;, cHolidayType_Half)
109*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 16), &quot;Palmesøndag&quot;, cHolidayType_Half)
110*cdf0e10cSrcweir	&apos; &quot;Liberation day&quot;
111*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 5), &quot;Befrielsesdag&quot;, cHolidayType_Half)
112*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 26), &quot;Krpr. Frederik&quot;, cHolidayType_Half)
113*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 7), &quot;Pr. Joachim&quot;, cHolidayType_Half)
114*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 11), &quot;Pr. Henrik&quot;, cHolidayType_Half)
115*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 15), &quot;Valdemarsdag&quot;, cHolidayType_Half)
116*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 24), &quot;Skt. Hans&quot;, cHolidayType_Half)
117*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 30), &quot;Prinsesse Alexandra&quot;, cHolidayType_Half)
118*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 28), &quot;Pr. Nikolai&quot;, cHolidayType_Half)
119*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 24), &quot;FN-dag&quot;, cHolidayType_Half)
120*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Morten Bisp&quot;, cHolidayType_Half)
121*cdf0e10cSrcweir	&apos; all half (Memorial Days)
122*cdf0e10cSrcweir	&apos;&quot;adventdays
123*cdf0e10cSrcweir	VierterAdvent = DateSerial(YearInt, 12, 24)
124*cdf0e10cSrcweir	While (Weekday(VierterAdvent) &lt;&gt; 1)
125*cdf0e10cSrcweir		vierterAdvent = vierterAdvent - 1
126*cdf0e10cSrcweir	Wend
127*cdf0e10cSrcweir	CalInsertBankholiday(vierterAdvent-21, &quot;1. søndag i advent&quot;, cHolidayType_Half)
128*cdf0e10cSrcweir	CalInsertBankholiday(vierterAdvent-14, &quot;2. søndag i advent&quot;, cHolidayType_Half)
129*cdf0e10cSrcweir	CalInsertBankholiday(vierterAdvent-7, &quot;3. søndag i advent&quot;, cHolidayType_Half)
130*cdf0e10cSrcweir	CalInsertBankholiday(vierterAdvent, &quot;4. søndag i advent&quot;, cHolidayType_Half)
131*cdf0e10cSrcweir	&apos;Christmas eve
132*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Juleaften&quot;, cHolidayType_Half)
133*cdf0e10cSrcweir	&apos;&quot;New Year&apos;s eve&quot;
134*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;Nytårsaften&quot;, cHolidayType_Half)
135*cdf0e10cSrcweirEnd Sub
136*cdf0e10cSrcweir
137*cdf0e10cSrcweir
138*cdf0e10cSrcweirSub FindWholeYearHolidays_ITA(ByVal YearInt as Integer)
139*cdf0e10cSrcweirDim lDate&amp;
140*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Capodanno&quot;, cHolidayType_Full)
141*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Epifania&quot;, cHolidayType_Full)
142*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 25), &quot;Festa della liberazione&quot;, cHolidayType_Full)
143*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Ferragusto&quot;, cHolidayType_Full)
144*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Tutti i Santi&quot;, cHolidayType_Full)
145*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 8), &quot;Immacolata concezione&quot;, cHolidayType_Full)
146*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Natale&quot;, cHolidayType_Full)
147*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Santo Stefano&quot;, cHolidayType_Full)
148*cdf0e10cSrcweir	lDate = CalEasterTable(YearInt)
149*cdf0e10cSrcweir	CalInsertBankholiday(lDate, &quot;Pasqua&quot;, cHolidayType_Full)
150*cdf0e10cSrcweir	CalInsertBankholiday(lDate+1, &quot;Lunedì dell&apos;Angelo&quot;, cHolidayType_Full)
151*cdf0e10cSrcweirEnd Sub
152*cdf0e10cSrcweir
153*cdf0e10cSrcweir
154*cdf0e10cSrcweir
155*cdf0e10cSrcweirSub FindWholeYearHolidays_TRK(ByVal YearInt as Integer)
156*cdf0e10cSrcweirDim lDate as Long
157*cdf0e10cSrcweir	&apos; New Years&apos; Day
158*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Yılbaşı&quot;, cHolidayType_Full)
159*cdf0e10cSrcweir	&apos; National Sovereignty and Children&apos;s Day
160*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 23), &quot;Ulusal Egemenlik ve Çocuk Bayramı&quot;, cHolidayType_Full)
161*cdf0e10cSrcweir	&apos; Ataturk Commemoration and Youth &amp; Sports Day
162*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 19), &quot;Atatürk&apos;ü Anma, Gençlik ve Spor Bayramı&quot;, cHolidayType_Full)
163*cdf0e10cSrcweir	&apos; Mothers Day : 2nd Sunday in May, Full
164*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), &quot;Anneler günü&quot;, cHolidayType_Full)
165*cdf0e10cSrcweir	&apos; Fathers Day: 3rd Sunday in May, Full
166*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 6,1,14), &quot;Babalar Günü&quot;, cHolidayType_Full)
167*cdf0e10cSrcweir	&apos; Victory Day
168*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 30), &quot;Zafer Bayramı&quot;, cHolidayType_Full)
169*cdf0e10cSrcweir	&apos; Republic Day
170*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 28), &quot;Cumhuriyet Bayramı&quot;, cHolidayType_Full)
171*cdf0e10cSrcweir	&apos; Republic Day
172*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 29), &quot;Cumhuriyet Bayramı&quot;, cHolidayType_Full)
173*cdf0e10cSrcweir	&apos; Commemoration Of Ataturk-Anniversary of Ataturk&apos;s Death
174*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 10), &quot;Atatürk&apos;ün Ölüm Günü&quot;, cHolidayType_Full)
175*cdf0e10cSrcweir	CalculateturkishReligousHolidays(YearInt)
176*cdf0e10cSrcweirEnd Sub
177*cdf0e10cSrcweir
178*cdf0e10cSrcweir
179*cdf0e10cSrcweirSub CalculateturkishReligousHolidays(iSelYear as Integer)
180*cdf0e10cSrcweirDim lKurbanBayRamStartDate as Long
181*cdf0e10cSrcweirDim lRamazanBayRamStartDate as Long
182*cdf0e10cSrcweir
183*cdf0e10cSrcweir	Select Case iSelYear
184*cdf0e10cSrcweir		Case 2002
185*cdf0e10cSrcweir			lKurbanBayRamStartDate = DateSerial(iSelYear, 2, 21)
186*cdf0e10cSrcweir			lRamazanBayRamStartDate = DateSerial(iSelYear, 12, 4)
187*cdf0e10cSrcweir		Case 2003
188*cdf0e10cSrcweir			lKurbanBayRamStartDate = DateSerial(iSelYear, 2, 10)
189*cdf0e10cSrcweir			lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 24)
190*cdf0e10cSrcweir		Case 2004
191*cdf0e10cSrcweir			lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 31)
192*cdf0e10cSrcweir			lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 13)
193*cdf0e10cSrcweir		Case 2005
194*cdf0e10cSrcweir			lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 19)
195*cdf0e10cSrcweir			lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 2)
196*cdf0e10cSrcweir		Case 2006
197*cdf0e10cSrcweir			lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 30)
198*cdf0e10cSrcweir			CalInsertBankholiday(lKurbanBayRamStartDate, &quot;Kurban Bayramı Arefesi&quot;, cHolidayType_Half)
199*cdf0e10cSrcweir			CalInsertBankholiday(DateSerial(iSelYear, 12, 31), &quot;Kurban Bayram&quot;, cHolidayType_Full)
200*cdf0e10cSrcweir
201*cdf0e10cSrcweir			lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 9)
202*cdf0e10cSrcweir			lRamazanBayRamStartDate = DateSerial(iSelYear, 10, 22)
203*cdf0e10cSrcweir		Case 2007
204*cdf0e10cSrcweir			lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 1)
205*cdf0e10cSrcweir			&apos; Note: The first day has already been in 2006!!!
206*cdf0e10cSrcweir			AddFollowUpHolidays(lKurbanBayRamStartDate-1, 3, &quot;Kurban Bayram&quot;, cHolidayType_Full)
207*cdf0e10cSrcweir			lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 19)
208*cdf0e10cSrcweir
209*cdf0e10cSrcweir			lRamazanBayRamStartDate = DateSerial(iSelYear, 10, 11)
210*cdf0e10cSrcweir		Case 2008
211*cdf0e10cSrcweir			lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 7)
212*cdf0e10cSrcweir			lRamazanBayRamStartDate = DateSerial(iSelYear, 9, 29)
213*cdf0e10cSrcweir		Case Else
214*cdf0e10cSrcweir			Exit Sub
215*cdf0e10cSrcweir	End Select
216*cdf0e10cSrcweir	&apos;Feast Of the Sacrifice Eve
217*cdf0e10cSrcweir	CalInsertBankholiday(lKurbanBayRamStartDate, &quot;Kurban Bayramı Arefesi&quot;, cHolidayType_Half)
218*cdf0e10cSrcweir	&apos;Feast Of the Sacrifice
219*cdf0e10cSrcweir	AddFollowUpHolidays(lKurbanBayRamStartDate, 4, &quot;Kurban Bayram&quot;, cHolidayType_Full)
220*cdf0e10cSrcweir	&apos; End of Ramadan Eve
221*cdf0e10cSrcweir	CalInsertBankholiday(lRamazanBayRamStartDate, &quot;Ramazan (Şeker) Bayramı Arefesi&quot;, cHolidayType_Half)
222*cdf0e10cSrcweir	&apos; End of Ramadan
223*cdf0e10cSrcweir	AddFollowUpHolidays(lRamazanBayRamStartDate, 3, &quot;Ramazan (Şeker) Bayramı&quot;, cHolidayType_Full)
224*cdf0e10cSrcweirEnd Sub
225*cdf0e10cSrcweir
226*cdf0e10cSrcweir
227*cdf0e10cSrcweirSub FindWholeYearHolidays_GREEK(ByVal YearInt as Integer)
228*cdf0e10cSrcweirDim lDate as Long
229*cdf0e10cSrcweir	&apos; New Year
230*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Πρωτοχρονιά&quot;, cHolidayType_Full)
231*cdf0e10cSrcweir	&apos;Schol Holiday
232*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 30), &quot;Τριών Ιεραρχών&quot;, cHolidayType_Full)
233*cdf0e10cSrcweir	&apos; This is both a National Holiday and a religious holiday
234*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 3, 25), &quot;Εθνική Εορτή Ευαγγελισμός Θεοτόκου&quot;, cHolidayType_Full)
235*cdf0e10cSrcweir	&apos; Labor Day
236*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Πρωτομαγιά&quot;, cHolidayType_Full)
237*cdf0e10cSrcweir	&apos; Assumption Day
238*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Κοίμηση της Θεοτόκου&quot;, cHolidayType_Full)
239*cdf0e10cSrcweir	&apos; National Resistance Day
240*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 28), &quot;Εθνική Εορτή&quot;, cHolidayType_Full)
241*cdf0e10cSrcweir	&apos; School Holiday
242*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 17), &quot;Επέτειος του Πολυτεχνείου&quot;, cHolidayType_Full)
243*cdf0e10cSrcweir	&apos; Christmas Eve
244*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Παραμονή Χριστουγέννων&quot;, cHolidayType_Full)
245*cdf0e10cSrcweir	&apos; Christmas Day
246*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Χριστούγεννα&quot;, cHolidayType_Full)
247*cdf0e10cSrcweir	&apos; Boxing Day
248*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Δεύτερη μέρα Χριστουγέννων&quot;, cHolidayType_Full)
249*cdf0e10cSrcweir	lDate = CalOrthodoxEasterTable(YearInt)
250*cdf0e10cSrcweir	&apos; Triodon
251*cdf0e10cSrcweir	CalInsertBankholiday(lDate-70, &quot;Αρχή Τριωδίου&quot;, cHolidayType_Full)
252*cdf0e10cSrcweir 	&apos; Meat Fare
253*cdf0e10cSrcweir	CalInsertBankholiday(lDate-56, &quot;Τσικνοπέμπτη&quot;, cHolidayType_Full)
254*cdf0e10cSrcweir	&apos; First Day of Lent
255*cdf0e10cSrcweir	CalInsertBankholiday(lDate-48, &quot;Καθαρή Δευτέρα&quot;, cHolidayType_Full)
256*cdf0e10cSrcweir	&apos; Saturday of Lazarus
257*cdf0e10cSrcweir	CalInsertBankholiday(lDate-8, &quot;Σάββατο του Λαζάρου&quot;, cHolidayType_Full)
258*cdf0e10cSrcweir	&apos; Palm Sunday
259*cdf0e10cSrcweir	CalInsertBankholiday(lDate-7, &quot;Κυριακή των Βαΐων&quot;, cHolidayType_Full)
260*cdf0e10cSrcweir	&apos; Monday before Easter
261*cdf0e10cSrcweir	CalInsertBankholiday(lDate-6, &quot;Μεγάλη Δευτέρα&quot;, cHolidayType_Full)
262*cdf0e10cSrcweir	&apos; Tuesday before Easter
263*cdf0e10cSrcweir	CalInsertBankholiday(lDate-5, &quot;Μεγάλη Τρίτη&quot;, cHolidayType_Full)
264*cdf0e10cSrcweir	&apos; Wednesday before Easter
265*cdf0e10cSrcweir	CalInsertBankholiday(lDate-4, &quot;Μεγάλη Τετάρτη&quot;, cHolidayType_Full)
266*cdf0e10cSrcweir	&apos; Thursday before Easter
267*cdf0e10cSrcweir	CalInsertBankholiday(lDate-3, &quot;Μεγάλη Πέμπτη&quot;, cHolidayType_Full)
268*cdf0e10cSrcweir	&apos; Good Friday
269*cdf0e10cSrcweir	CalInsertBankholiday(lDate-2, &quot;Μεγάλη Παρασκευή&quot;, cHolidayType_Full)
270*cdf0e10cSrcweir	&apos; Saturday before Easter
271*cdf0e10cSrcweir	CalInsertBankholiday(lDate-1, &quot;Μεγάλο Σάββατο&quot;, cHolidayType_Full)
272*cdf0e10cSrcweir	&apos; Easter Monday
273*cdf0e10cSrcweir	CalInsertBankholiday(lDate+1, &quot;Δευτέρα του Πάσχα&quot;, cHolidayType_Full)
274*cdf0e10cSrcweir	&apos; Pentecost
275*cdf0e10cSrcweir	CalInsertBankholiday(lDate+49, &quot;Κυριακή της Πεντηκοστής&quot;, cHolidayType_Full)
276*cdf0e10cSrcweir	&apos; Ascension Day
277*cdf0e10cSrcweir	CalInsertBankholiday(lDate+39, &quot;Του Αγίου Πνεύματος&quot;, cHolidayType_Full)
278*cdf0e10cSrcweir	&apos; All Saints Day
279*cdf0e10cSrcweir	CalInsertBankholiday(lDate+56, &quot;Των Αγίων Πάντων&quot;, cHolidayType_Full)
280*cdf0e10cSrcweirEnd Sub
281*cdf0e10cSrcweir
282*cdf0e10cSrcweir
283*cdf0e10cSrcweir
284*cdf0e10cSrcweirSub FindWholeYearHolidays_SPAIN(ByVal YearInt as Integer)
285*cdf0e10cSrcweirDim lDate&amp;
286*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Año Nuevo&quot;, cHolidayType_Full)
287*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Reyes&quot;, cHolidayType_Full)
288*cdf0e10cSrcweir	lDate = CalEasterTable(YearInt)
289*cdf0e10cSrcweir	CalInsertBankholiday(lDate-2, &quot;Viernes Santo&quot;, cHolidayType_Full)
290*cdf0e10cSrcweir	CalInsertBankholiday(lDate+1, &quot;Lunes de Pascua Florida&quot;, cHolidayType_Full)
291*cdf0e10cSrcweir	CalInsertBankholiday(lDate+39, &quot;Día de la Ascensión&quot;, cHolidayType_Full)
292*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Fiesta del Trabajo&quot;, cHolidayType_Full)
293*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Día de la Asunción&quot;, cHolidayType_Full)
294*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 12), &quot;Fiesta de la Hispanidad&quot;, cHolidayType_Full)
295*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Todos los Santos&quot;, cHolidayType_Full)
296*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 6), &quot;Día de la Constitución&quot;, cHolidayType_Full)
297*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 8), &quot;La Inmaculada&quot;, cHolidayType_Full)
298*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Navidad&quot;, cHolidayType_Full)
299*cdf0e10cSrcweirEnd Sub
300*cdf0e10cSrcweir
301*cdf0e10cSrcweir
302*cdf0e10cSrcweirSub FindWholeYearHolidays_PORT(ByVal YearInt as Integer)
303*cdf0e10cSrcweirDim lDate&amp;
304*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Ano Novo&quot;, cHolidayType_Full)
305*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Reis Magos&quot;, cHolidayType_Half)
306*cdf0e10cSrcweir	lDate = CalEasterTable(YearInt)
307*cdf0e10cSrcweir	CalInsertBankholiday(lDate-47, &quot;Carnaval&quot;, cHolidayType_Full)
308*cdf0e10cSrcweir	CalInsertBankholiday(lDate-7, &quot;Domingo de Ramos&quot;, cHolidayType_Half)
309*cdf0e10cSrcweir	CalInsertBankholiday(lDate-2, &quot;Sexta-feira Santa&quot;, cHolidayType_Full)
310*cdf0e10cSrcweir	CalInsertBankholiday(lDate, &quot;Páscoa&quot;, cHolidayType_Full)
311*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 25), &quot;25 de Abril&quot;, cHolidayType_Full)
312*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Dia do Trabalhador&quot;, cHolidayType_Full)
313*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 29), &quot;Corpo de Deus&quot;, cHolidayType_Full)
314*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 10), &quot;Dia de Camões e das Comunidades Portuguesas&quot;, cHolidayType_Full)
315*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 24), &quot;S. João&quot;, cHolidayType_Full)
316*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 29), &quot;S. Pedro&quot;, cHolidayType_Full)
317*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Assunção de Nossa Senhora&quot;, cHolidayType_Full)
318*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 5), &quot;Implantação da República&quot;, cHolidayType_Full)
319*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Dia de Todos os Santos&quot;, cHolidayType_Full)
320*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 8), &quot;Imaculada Conceição&quot;, cHolidayType_Full)
321*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Natal&quot;, cHolidayType_Full)
322*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 1), &quot;Restauração da Independência&quot;, cHolidayType_Full)
323*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;Passagem de Ano&quot;, cHolidayType_Half)
324*cdf0e10cSrcweirEnd Sub
325*cdf0e10cSrcweir
326*cdf0e10cSrcweir
327*cdf0e10cSrcweirSub FindWholeYearHolidays_NL(ByVal YearInt as Integer)
328*cdf0e10cSrcweirDim lDate&amp;
329*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nieuwjaarsdag&quot;, cHolidayType_Full)
330*cdf0e10cSrcweir	lDate = CalEasterTable(YearInt)
331*cdf0e10cSrcweir	CalInsertBankholiday(lDate, &quot;1e Paasdag&quot;, cHolidayType_Full)
332*cdf0e10cSrcweir	CalInsertBankholiday(lDate + 1, &quot;2e Paasdag&quot;, cHolidayType_Full)
333*cdf0e10cSrcweir	CalInsertBankholiday(lDate + 39, &quot;Hemelvaartsdag&quot;, cHolidayType_Full)
334*cdf0e10cSrcweir	CalInsertBankholiday(lDate + 49, &quot;1e Pinksterdag&quot;, cHolidayType_Full)
335*cdf0e10cSrcweir	CalInsertBankholiday(lDate + 50, &quot;2e Pinksterdag&quot;, cHolidayType_Full)
336*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 30), &quot;Koninginnedag&quot;, cHolidayType_Full)
337*cdf0e10cSrcweir	&apos; Bevrijdingsdag is celebrated every 5th year
338*cdf0e10cSrcweir	If YearInt Mod 5 = 0 then
339*cdf0e10cSrcweir		CalInsertBankholiday(DateSerial(YearInt, 5, 5), &quot;Bevrijdingsdag&quot;, cHolidayType_Full)
340*cdf0e10cSrcweir	End if
341*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 6), &quot;Sinterklaas&quot;, cHolidayType_Half)
342*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;1e Kerstdag&quot;, cHolidayType_Full)
343*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;2e Kerstdag&quot;, cHolidayType_Full)
344*cdf0e10cSrcweirEnd Sub
345*cdf0e10cSrcweir
346*cdf0e10cSrcweir
347*cdf0e10cSrcweirSub FindWholeYearHolidays_PL (ByVal YearInt as Integer)
348*cdf0e10cSrcweir	Dim lDate&amp;, OsternDate&amp;
349*cdf0e10cSrcweir	&apos; New Year
350*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nowy Rok&quot;, cHolidayType_Full)
351*cdf0e10cSrcweir	&apos; &quot;the three Magi&quot;
352*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Trzech Króli&quot;, cHolidayType_Half)
353*cdf0e10cSrcweir	&apos; &quot;Womens&apos; Day&quot;
354*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;Dzień Kobiet&quot;, cHolidayType_Half)
355*cdf0e10cSrcweir	OsternDate = CalEasterTable(YearInt)
356*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate-2, &quot;Wielki Piątek&quot;, cHolidayType_Full)
357*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate, &quot;Wielka Niedziela&quot;, cHolidayType_Full)
358*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate+1, &quot;Lany Poniedziałek&quot;, cHolidayType_Full)
359*cdf0e10cSrcweir	&apos; Ascension Day
360*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate+39, &quot;Wniebowstąpienie&quot;, cHolidayType_Full)
361*cdf0e10cSrcweir	&apos; Pentecost
362*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate+49, &quot;Zielone Świątki&quot;, cHolidayType_Full)
363*cdf0e10cSrcweir	&apos; Feast of Corpus Christi
364*cdf0e10cSrcweir	CalInsertBankholiday(OsternDate+60, &quot;Boże Ciało&quot;, cHolidayType_Full)
365*cdf0e10cSrcweir	&apos; First of May
366*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Święto pracy&quot;, cHolidayType_Full)
367*cdf0e10cSrcweir	&apos; Memorial day of constitution
368*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 3), &quot;Dzień konstytucji 3-go maja&quot;, cHolidayType_Full)
369*cdf0e10cSrcweir	&apos; &quot;Childrens&apos; day&quot;
370*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 1), &quot;Dzień Dziecka&quot;, cHolidayType_Half)
371*cdf0e10cSrcweir	&apos; &quot;Ascension Day&quot;
372*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Matki Boskiej Zielnej&quot;, cHolidayType_Half)
373*cdf0e10cSrcweir	&apos; &quot;All Saints&apos; Day &quot;
374*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Wszystkich Świętych&quot;, cHolidayType_Full)
375*cdf0e10cSrcweir	&apos; National day&quot;
376*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Dzień Niepodległości&quot;, cHolidayType_Full)
377*cdf0e10cSrcweir	&apos; Christmas Eve
378*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Wigilia&quot;, cHolidayType_Half)
379*cdf0e10cSrcweir	&apos; Christmas
380*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Boże Narodzenie&quot;, cHolidayType_Full)
381*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Boże Narodzenie&quot;, cHolidayType_Full)
382*cdf0e10cSrcweir	&apos; &quot;New Year&apos;s eve&quot;
383*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;Sylwester&quot;, cHolidayType_Half)
384*cdf0e10cSrcweirEnd Sub
385*cdf0e10cSrcweir
386*cdf0e10cSrcweir
387*cdf0e10cSrcweirSub FindWholeYearHolidays_RU (ByVal YearInt as Integer)
388*cdf0e10cSrcweirDim lDate&amp;
389*cdf0e10cSrcweir	&apos; New Year
390*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Новый Год&quot;, cHolidayType_Full)
391*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 2), &quot;Новый Год&quot;, cHolidayType_Full)
392*cdf0e10cSrcweir	&apos; Russian Christmas&quot;
393*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 7), &quot;Рождество&quot;, cHolidayType_Full)
394*cdf0e10cSrcweir	&apos;Day of Defender of Motherland
395*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 2, 23), &quot;День Защитника Отечества&quot;, cHolidayType_Full)
396*cdf0e10cSrcweir	&apos; Woman Day
397*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;Международный Женский День&quot;, cHolidayType_Full)
398*cdf0e10cSrcweir	&apos; Spring and labor holiday
399*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Праздник Весны и Труда&quot;, cHolidayType_Full)
400*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 2), &quot;Праздник Весны и Труда&quot;, cHolidayType_Full)
401*cdf0e10cSrcweir	&apos; Victory of the second World War
402*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 9), &quot;День Победы&quot;, cHolidayType_Full)
403*cdf0e10cSrcweir	&apos; Independence Day
404*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 12), &quot;День Независимости&quot;, cHolidayType_Full)
405*cdf0e10cSrcweir	&apos; Day of Accord and Conciliation
406*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 7), &quot;День Согласия и Примирения&quot;, cHolidayType_Full)
407*cdf0e10cSrcweir	&apos; Constitution Day
408*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 12), &quot;День Конституции&quot;, cHolidayType_Full)
409*cdf0e10cSrcweirEnd Sub
410*cdf0e10cSrcweir
411*cdf0e10cSrcweir
412*cdf0e10cSrcweirSub FindWholeYearHolidays_US(ByVal YearInt as Integer)
413*cdf0e10cSrcweirDim lDate as Long
414*cdf0e10cSrcweirDim lFirstNov as Long
415*cdf0e10cSrcweirDim lElectDate as Long
416*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;New Year&apos;s Day&quot;, cHolidayType_Full)
417*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 2, 2), &quot;Groundhog Day&quot;, cHolidayType_Half)
418*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 2, 14), &quot;Valentine&apos;s Day&quot;, cHolidayType_Half)
419*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 3, 17), &quot;St Patrick&apos;s Day&quot;, cHolidayType_Half)
420*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 1), &quot;April Fools&apos; Day&quot;, cHolidayType_Half)
421*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 22), &quot;Earth Day&quot;, cHolidayType_Half)
422*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 6), &quot;Nurses&apos; Day&quot;, cHolidayType_Half)
423*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 14), &quot;Flag Day&quot;, cHolidayType_Half)
424*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 14), &quot;Army Day&quot;, cHolidayType_Half)
425*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 19), &quot;Juneteenth(Liberation of Slaves)&quot;, cHolidayType_Half)
426*cdf0e10cSrcweir
427*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 7, 4), &quot;Independence Day&quot;, cHolidayType_Full)
428*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 1), &quot;Air Force Day&quot;, cHolidayType_Half)
429*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 4), &quot;Coast Guard Day&quot;, cHolidayType_Half)
430*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 9, 17), &quot;Citizenship Day or Constitution Day&quot;, cHolidayType_Half)
431*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 16), &quot;Bosses&apos; Day&quot;, cHolidayType_Half)
432*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 26 ), &quot;Mother-in-Law&apos;s Day&quot;, cHolidayType_Half)
433*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 27), &quot;Navy Day&quot;, cHolidayType_Half)
434*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 31), &quot;Halloween&quot;, cHolidayType_Half)
435*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 10), &quot;Marine Corps Day&quot;, cHolidayType_Half)
436*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Veteran&apos;s Day&quot;, cHolidayType_Full)
437*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 7), &quot;Pearl Harbor Remembrance Day&quot;, cHolidayType_Half)
438*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Christmas Eve&quot;, cHolidayType_Half)
439*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Christmas Day&quot;, cHolidayType_Full)
440*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;New Year&apos;s Eve&quot;, cHolidayType_Half)
441*cdf0e10cSrcweir
442*cdf0e10cSrcweir	CalInsertBankholiday(CalEasterTable(YearInt), &quot;Easter Sunday&quot;, cHolidayType_Half)
443*cdf0e10cSrcweir
444*cdf0e10cSrcweir	&apos; Inauguration Day occurs every 4 years (1997, 2001) in the year following the presidential election
445*cdf0e10cSrcweir	&apos; always on the 20th of January unless this is a Sunday in which case on Monday 21st January
446*cdf0e10cSrcweir	If YearInt Mod 4 = 1 Then
447*cdf0e10cSrcweir		lDate = DateSerial(YearInt, 1, 20)
448*cdf0e10cSrcweir		If WeekDay(lDate) = 1 Then
449*cdf0e10cSrcweir			CalInsertBankholiday(lDate + 1, &quot;Inauguration Day&quot;, cHolidayType_Half)
450*cdf0e10cSrcweir		Else
451*cdf0e10cSrcweir			CalInsertBankholiday(lDate, &quot;Inauguration Day&quot;, cHolidayType_Half)
452*cdf0e10cSrcweir		End If
453*cdf0e10cSrcweir	End If
454*cdf0e10cSrcweir	&apos; First Tuesday in November, but only after the 1st of November and only on evenly numbered years
455*cdf0e10cSrcweir	If YearInt Mod 2 = 0 Then
456*cdf0e10cSrcweir		lFirstNov = DateSerial(YearInt, 11, 1)
457*cdf0e10cSrcweir		lElectDate = GetMonthDate(YearInt, 11, 3, 0)
458*cdf0e10cSrcweir		If lElectDate &gt; lFirstNov Then
459*cdf0e10cSrcweir			CalInsertBankholiday(lElectDate, &quot;Election Day&quot;, cHolidayType_Half)
460*cdf0e10cSrcweir		Else
461*cdf0e10cSrcweir			CalInsertBankholiday(lElectDate + 7, &quot;Election Day&quot;, cHolidayType_Half)
462*cdf0e10cSrcweir		End If
463*cdf0e10cSrcweir	End If
464*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 1, 2, 14), &quot;Martin Luther King Jr Day&quot;, cHolidayType_Full)
465*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 2, 2, 14), &quot;President&apos;s Day&quot;, cHolidayType_Full)
466*cdf0e10cSrcweir	&apos;	Mothers Day : 2nd Sunday in May, Full
467*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), &quot;Mother&apos;s Day&quot;, cHolidayType_Full)
468*cdf0e10cSrcweir
469*cdf0e10cSrcweir	&apos; Wednesday of the last full week of April Administrative Professionals&apos; Day (formerly Secretaries&apos; Day)
470*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 5, 7, -7)-3, &quot;Administrative Professionals&apos; Day&quot;, cHolidayType_Half)
471*cdf0e10cSrcweir
472*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 5, 5, 0), &quot;National Day of Prayer&quot;, cHolidayType_Half)
473*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 5, 7, 14), &quot;Armed Forces Day&quot;, cHolidayType_Half)
474*cdf0e10cSrcweir	&apos;	Fathers Day : 3rd Sunday in June
475*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 6,1,14), &quot;Father&apos;s Day&quot;, cHolidayType_Half)
476*cdf0e10cSrcweir
477*cdf0e10cSrcweir	&apos;	Last Monday in May: Menorial Day, Full
478*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 6, 2, 0)-7, &quot;Memorial Day&quot;, cHolidayType_Full)
479*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 7, 1, 21), &quot;Parents&apos; Day&quot;, cHolidayType_Half)
480*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 8, 1, 0), &quot;Friendship Day&quot;, cHolidayType_Half)
481*cdf0e10cSrcweir
482*cdf0e10cSrcweir	&apos;	1st Monday in Sep : Labor Day, Full
483*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 0), &quot;Labor Day&quot;, cHolidayType_Full)
484*cdf0e10cSrcweir	&apos; Sunday after Labor Day Grandparents&apos; Day
485*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 0)+6, &quot;Grandparents&apos; Day&quot;, cHolidayType_Half)
486*cdf0e10cSrcweir
487*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 10, 1, 0), &quot;National Children&apos;s Day&quot;, cHolidayType_Half)
488*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 10, 2, 7), &quot;Columbus Day&quot;, cHolidayType_Full)
489*cdf0e10cSrcweir	&apos; Sweetest Day: Third Saturday in October
490*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 10, 7, 14), &quot;Sweetest Day&quot;, cHolidayType_Half)
491*cdf0e10cSrcweir	&apos;	4th Thu	in Nov : Thanksgiving, Full
492*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 11, 5, 21), &quot;Thanksgiving&quot;, cHolidayType_Full)
493*cdf0e10cSrcweirEnd Sub
494*cdf0e10cSrcweir
495*cdf0e10cSrcweir
496*cdf0e10cSrcweirSub FindWholeYearHolidays_JP(ByVal YearInt as Integer)
497*cdf0e10cSrcweirDim lDate&amp;
498*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;元日&quot;, cHolidayType_Full)
499*cdf0e10cSrcweir	&apos; 2nd Monday in January
500*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 1, 2, 7), &quot;成人の日&quot;, cHolidayType_Full)
501*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 2, 11), &quot;建国記念の日&quot;, cHolidayType_Full)
502*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 3, 20), &quot;春分の日&quot;, cHolidayType_Full)
503*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 29), &quot;みどりの日&quot;, cHolidayType_Full)
504*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 3), &quot;憲法記念日&quot;, cHolidayType_Full)
505*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 4), &quot;国民の休日&quot;, cHolidayType_Full)
506*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 5), &quot;こどもの日&quot;, cHolidayType_Full)
507*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 9, 23), &quot;秋分の日&quot;, cHolidayType_Full)
508*cdf0e10cSrcweir	CalInsertBankholiday(GetMonthDate(YearInt, 10, 2, 7), &quot;体育の日&quot;, cHolidayType_Full)
509*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 3), &quot;文化の日&quot;, cHolidayType_Full)
510*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 11, 23), &quot;勤労感謝の日&quot;, cHolidayType_Full)
511*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 23), &quot;天皇誕生日&quot;, cHolidayType_Full)
512*cdf0e10cSrcweir	If YearInt &gt; 2002 Then
513*cdf0e10cSrcweir		CalInsertBankholiday(GetMonthDate(YearInt, 7, 2, 14), &quot;海の日&quot;, cHolidayType_Full)
514*cdf0e10cSrcweir		CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 14), &quot;敬老の日&quot;, cHolidayType_Full)
515*cdf0e10cSrcweir	Else
516*cdf0e10cSrcweir		CalInsertBankholiday(DateSerial(YearInt, 7, 20), &quot;海の日&quot;, cHolidayType_Full)
517*cdf0e10cSrcweir		CalInsertBankholiday(DateSerial(YearInt, 9, 15), &quot;敬老の日&quot;, cHolidayType_Full)
518*cdf0e10cSrcweir	End If
519*cdf0e10cSrcweirEnd Sub
520*cdf0e10cSrcweir
521*cdf0e10cSrcweir
522*cdf0e10cSrcweirSub FindWholeYearHolidays_TW(YearInt as Integer)
523*cdf0e10cSrcweir	CalculateChineseNewYear(YearInt)
524*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;元旦&quot;, cHolidayType_Full)
525*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 2, 28), &quot;和平紀念日&quot;, cHolidayType_Full)
526*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;婦女節&quot;, cHolidayType_Half)
527*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 3, 29), &quot;革命先烈紀念日(青年節)&quot;, cHolidayType_Half)
528*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 4), &quot;兒童節&quot;, cHolidayType_Half)
529*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 5), &quot;民族掃墓節&quot;, cHolidayType_Full)
530*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;勞動節&quot;, cHolidayType_Full)
531*cdf0e10cSrcweir	CalInsertBankholiday(GetNextWeekDay(YearInt, 5, 19, 2), &quot;佛陀誕辰紀念日&quot;, cHolidayType_Full) &apos; Just like Columbus Day
532*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 15), &quot;端午節&quot;, cHolidayType_Full)
533*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 9, 3), &quot;軍人節&quot;, cHolidayType_Half)
534*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 9, 21), &quot;中秋節&quot;, cHolidayType_Full)
535*cdf0e10cSrcweir	CalInsertBankholiday(GetNextWeekDay(YearInt, 9, 28, 2), &quot;孔子誕辰紀念日(教師節)&quot;, cHolidayType_Full) &apos; Just like Columnbusday
536*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 10), &quot;國慶日&quot;, cHolidayType_Full)
537*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 25), &quot;臺灣光復節&quot;, cHolidayType_Half)
538*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 31), &quot;先總統  蔣公誕辰紀念日&quot;, cHolidayType_Half)
539*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 11), &quot;國父誕辰紀念日(中華文化復興節)&quot;, cHolidayType_Half)
540*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;行憲紀念日&quot;, cHolidayType_Half)
541*cdf0e10cSrcweirEnd Sub
542*cdf0e10cSrcweir
543*cdf0e10cSrcweir
544*cdf0e10cSrcweirSub FindWholeYearHolidays_CN(YearInt as Integer)
545*cdf0e10cSrcweir	CalculateChineseNewYear(YearInt)
546*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;元旦&quot;, cHolidayType_Full)			&apos; New Year
547*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;妇女节&quot;, cHolidayType_Half)           &apos; Women&apos;s Day
548*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 4, 5), &quot;清明节&quot;, cHolidayType_Half)			&apos; Day of the deads
549*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;劳动节&quot;, cHolidayType_Full)			&apos; International Labour Day
550*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 6, 1), &quot;儿童节&quot;, cHolidayType_Half)			&apos; Children&apos;s Day
551*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 8, 1), &quot;建军节&quot;, cHolidayType_Half)			&apos; Foundation of military
552*cdf0e10cSrcweir	CalInsertBankholiday(DateSerial(YearInt, 10, 1), &quot;国庆节&quot;, cHolidayType_Full)			&apos; National festival day
553*cdf0e10cSrcweirEnd Sub
554*cdf0e10cSrcweir
555*cdf0e10cSrcweir
556*cdf0e10cSrcweir&apos; Unfortunately I could not find a Routine to convert a &apos;Moon Date&apos; into a gregorian date
557*cdf0e10cSrcweirSub CalculateChineseNewYear(iSelYear as Integer)
558*cdf0e10cSrcweirDim lDate as Long
559*cdf0e10cSrcweir	Select Case iSelYear
560*cdf0e10cSrcweir		Case 1995
561*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 31)
562*cdf0e10cSrcweir		Case 1996
563*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 2, 19)
564*cdf0e10cSrcweir		Case 1997
565*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 2, 7)
566*cdf0e10cSrcweir		Case 1998
567*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 28)
568*cdf0e10cSrcweir		Case 1999
569*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 16)
570*cdf0e10cSrcweir		Case 2000
571*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 5)
572*cdf0e10cSrcweir		Case 2001
573*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 24)
574*cdf0e10cSrcweir		Case 2002
575*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 12)
576*cdf0e10cSrcweir		Case 2003
577*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 1)
578*cdf0e10cSrcweir		Case 2004
579*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 22)
580*cdf0e10cSrcweir		Case 2005
581*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 9)
582*cdf0e10cSrcweir		Case 2006
583*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 29)
584*cdf0e10cSrcweir		Case 2007
585*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 18)
586*cdf0e10cSrcweir		Case 2008
587*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 7)
588*cdf0e10cSrcweir		Case 2009
589*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 26)
590*cdf0e10cSrcweir		Case 2010
591*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 10)
592*cdf0e10cSrcweir		Case 2011
593*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 3)
594*cdf0e10cSrcweir		Case 2012
595*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 23)
596*cdf0e10cSrcweir		Case 2013
597*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 10)
598*cdf0e10cSrcweir		Case 2014
599*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 31)
600*cdf0e10cSrcweir		Case 2015
601*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 19)
602*cdf0e10cSrcweir		Case 2016
603*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 9)
604*cdf0e10cSrcweir		Case 2017
605*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 28)
606*cdf0e10cSrcweir		Case 2018
607*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 16)
608*cdf0e10cSrcweir		Case 2019
609*cdf0e10cSrcweir			lDate = DateSerial(iSelYear,2, 5)
610*cdf0e10cSrcweir		Case 2020
611*cdf0e10cSrcweir			lDate = DateSerial(iSelYear, 1, 25)
612*cdf0e10cSrcweir		Case Else
613*cdf0e10cSrcweir			Exit Sub
614*cdf0e10cSrcweir	End Select
615*cdf0e10cSrcweir	Select Case  sCurCountryLocale
616*cdf0e10cSrcweir		Case &quot;CN&quot;
617*cdf0e10cSrcweir			CalInsertBankholiday(lDate-1, &quot;农历除夕&quot;, cHolidayType_Full)
618*cdf0e10cSrcweir			CalInsertBankholiday(lDate, &quot;春节初一&quot;, cHolidayType_Full)
619*cdf0e10cSrcweir			CalInsertBankholiday(lDate+1, &quot;春节初二&quot;, cHolidayType_Full)
620*cdf0e10cSrcweir			CalInsertBankholiday(lDate+2, &quot;春节初三&quot;, cHolidayType_Full)
621*cdf0e10cSrcweir
622*cdf0e10cSrcweir		Case Else
623*cdf0e10cSrcweir			CalInsertBankholiday(lDate-1, &quot;農曆除夕&quot;, cHolidayType_Full)
624*cdf0e10cSrcweir			CalInsertBankholiday(lDate, &quot;春節初一&quot;, cHolidayType_Full)
625*cdf0e10cSrcweir			CalInsertBankholiday(lDate+1, &quot;春節初二&quot;, cHolidayType_Full)
626*cdf0e10cSrcweir			CalInsertBankholiday(lDate+2, &quot;春節初三&quot;, cHolidayType_Full)
627*cdf0e10cSrcweir	End Select
628*cdf0e10cSrcweirEnd Sub
629*cdf0e10cSrcweir
630*cdf0e10cSrcweir
631*cdf0e10cSrcweirFunction CalculateJapaneseSpringDay(iSelYear as Integer)
632*cdf0e10cSrcweir	If (iSelYear &gt; 1979) And (iSelYear &lt; 2100) Then
633*cdf0e10cSrcweir		CalculateJapaneseSpringDay() = Int(20.8431 + 0.242194)* (iSelYear-1980) - (Int((iSelYear-1980)/4))
634*cdf0e10cSrcweir	End If
635*cdf0e10cSrcweirEnd Function
636*cdf0e10cSrcweir
637*cdf0e10cSrcweir
638*cdf0e10cSrcweirFunction CalculateJapaneseAutumnDay(iSelYear as Integer)
639*cdf0e10cSrcweir	If (iSelYear &gt; 1979) And (iSelYear &lt; 2100) Then
640*cdf0e10cSrcweir		CalculateJapaneseAutumnDay() = Int(23.8431 + 0.242194)* (iSelYear-1980) - (Int((iSelYear-1980)/4))
641*cdf0e10cSrcweir	End If
642*cdf0e10cSrcweirEnd Function</script:module>