// author: Hans-Peter Pfeiffer
// email:  H.Pfeiffer@stud.uni-heidelberg.de
// date:   2011-12-16
// This file contains "moveable holidays". They can be calculated realtive to the Eastersunday like many christian holidays or relative to a date.
// The german "Buß- und Bettag" is the first wednesday before YEAR-11-23. The placeholders are replaced with the value from the ruleset.
// available functions: EasterSunday(<YEAR>, <numberOfDaysToAdd>), WeekdayRelativeTo(<DateToBeRelativeTo>, <Weekday>, <numberOfWeekdays>, <countItself>)
// available placeholder: DATE, YEAR, MONTH, DAY 
// sunday=1, monday=2, tuesday=3, wednesday=4, thursday=5, friday=6, saturday=7
// 
// FORMAT: "holiday","funcDateCalc(<function>(<arguments>))"
//
// the reference of the values is given in the repattern file
//

"Weiberfastnacht","funcDateCalc(EasterSunday(YEAR, -52))"
"Rosenmontag","funcDateCalc(EasterSunday(YEAR, -48))"
"Faschingsdienstag","funcDateCalc(EasterSunday(YEAR, -47))"
"Aschermittwoch","funcDateCalc(EasterSunday(YEAR, -46))"
"Palmsonntag","funcDateCalc(EasterSunday(YEAR, -7))"
"Gründonnerstag","funcDateCalc(EasterSunday(YEAR, -3))"
"Karfreitag","funcDateCalc(EasterSunday(YEAR, -2))"
"Karsamstag","funcDateCalc(EasterSunday(YEAR, -1))"
"Ostersonntag","funcDateCalc(EasterSunday(YEAR, 0))"
"Ostermontag","funcDateCalc(EasterSunday(YEAR, 1))"

//[wW]eißer Sonntag
"Weißer Sonntag","funcDateCalc(EasterSunday(YEAR, 7))"
"weißer Sonntag","funcDateCalc(EasterSunday(YEAR, 7))"

//[wW]eisser Sonntag
"Weisser Sonntag","funcDateCalc(EasterSunday(YEAR, 7))"
"weisser Sonntag","funcDateCalc(EasterSunday(YEAR, 7))"

"Christi Himmelfahrt","funcDateCalc(EasterSunday(YEAR, 39))"
"Vatertag","funcDateCalc(EasterSunday(YEAR, 39))"
"Pfingstsonntag","funcDateCalc(EasterSunday(YEAR, 49))"
"Pfingstmontag","funcDateCalc(EasterSunday(YEAR, 50))"
"Fronleichnam","funcDateCalc(EasterSunday(YEAR, 60))"
"Buß- und Bettag","funcDateCalc(WeekdayRelativeTo(YEAR-11-23, 4, -1, false))"

"1. Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -4, false))"
// [eE]rste[rnm]? Advent
"Erste Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -4, false))"
"Erster Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -4, false))"
"Ersten Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -4, false))"
"Erstem Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -4, false))"
"erste Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -4, false))"
"erster Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -4, false))"
"ersten Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -4, false))"
"erstem Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -4, false))"

"2. Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -3, false))"
//[zZ]weite[rnm]? Advent
"Zweite Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -3, false))"
"Zweiter Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -3, false))"
"Zweiten Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -3, false))"
"Zweitem Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -3, false))"
"zweite Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -3, false))"
"zweiter Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -3, false))"
"zweiten Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -3, false))"
"zweitem Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -3, false))"

"3. Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -2, false))"
//[dD]ritte[rnm]? Advent
"dritte Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -2, false))"
"dritter Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -2, false))"
"dritten Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -2, false))"
"drittem Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -2, false))"
"Dritte Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -2, false))"
"Dritter Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -2, false))"
"Dritten Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -2, false))"
"Drittem Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -2, false))"

"4. Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -1, false))"
//[vV]ierte[rnm]? Advent
"vierte Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -1, false))"
"vierter Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -1, false))"
"vierten Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -1, false))"
"viertem Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -1, false))"
"Vierte Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -1, false))"
"Vierter Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -1, false))"
"Vierten Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -1, false))"
"Viertem Advent","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -1, false))"

"Muttertag","funcDateCalc(WeekdayRelativeTo(YEAR-05-01, 1, 2, true))"

"Erntedankfest","funcDateCalc(WeekdayRelativeTo(YEAR-10-01, 1, 1, true))"

"Volkstrauertag","funcDateCalc(WeekdayRelativeTo(YEAR-12-24, 1, -6, false))"
