/*  #############################################################################################
    #                                                                                           #
    #  JavaScript Calendar Ver 3                                                                #
    #  Copyright (C) 2004 Jan Michael Hansen                                                    #
    #                                                                                           #
    #############################################################################################
    #                                                                                           #
    #  Denne kalender kan danne et (næsten) uendeligt antal kalendere til den samme WEB-side,   #
    #  dette kan være pratisk når man skal have flere på en indtastningsside.                   #
    #                                                                                           #
    #  Denne kalender er testet på:                                                             #
    #                                                                                           #
    #      Avant Browser 10 build 035 (Virker 100%)                                             #
    #      Microsoft Internet Explorer 6.0 (Specielt udviklet til denne browser)                #
    #      Mozilla Firefox 1.0 (Virker næsten 100%, kun autohide virker ikke)                   #
    #      Mozilla 1.7.5 (Virker næsten 100%, kun autohide virker ikke)                         #
    #      Netscape 7.2 (Virker næsten 100%, kun autohide virker ikke)                          #
    #      Opera 7.54 (Virker næsten 100%, kun autohide virker ikke)                            #
    #                                                                                           #
    #  Resultat af hver kalender forventer at der findes et felt med et ID der ser sådan ud:    #
    #                                                                                           #
    #                      "SelDatoen"+KalenderensNr                                            #
    #                                                                                           #
    #  Alle kalendere dannes med et nummer uanset om der er 1 eller 10, første                  #
    #  nummer vil altid være 0 (nul).                                                           #
    #                                                                                           #
    #                                                                                           #
    #    Opsætning                                                                              #
    #    =========                                                                              #
    #                                                                                           #
    #    CalendarLang   - Det sprog som skal bruges i kalenderen                                #
    #    AutoHideDelay  - Om kalenderen skal auto gemmes når musen forlader kalenderområdet     #
    #                     Virker p.t. KUN i MSIE 5.5+ og Avant Browser 10                       #
    #    DelayTime      - Den tid som kalender vises efter musen har forladt kalenderområdet    #
    #                     Virker p.t. KUN i MSIE 5.5+ og Avant Browser 10                       #
    #    StartOfWeek    - Den ugedag ugen skal starte med (0 = Søndag, .... 6 = Lørdag)         #
    #    BackColor      - Den baggrundsfarve kalender(ne) skal have                             #
    #    FontColor      - Den farve teksten skal skrives med                                    #
    #    FontFace       - Den Font der skal benyttes                                            #
    #    FontSize       - Den Fontstørrelse der skal benyttes (xx-small, x-small osv..)         #
    #    HolidayColor   - Den farve Helligdage skal markeres med                                #
    #    ShowHoliday    - Afgør om helligdage skal farves eller beholde standardfarve           #
    #    TodayColor     - Den farve dags dato skal markeres med                                 #
    #    HoverBackColor - Den farve et felt skal "oplyses" med når musen over det               #
    #    HoverFontColor - Den fontfarve der skal bruges når musen er over det                   #
    #    DaylightColor  - Den farve Sommertid Start/Slut markeres med                           #
    #    ShowDaylight   - Afgør om Sommer/Vintertids dage skal farves eller ej                  #
    #    WeekendColor   - Den farve Weekend (Lør/Søn) markeres med                              #
    #    ShowWeekend    - Afgør om Weekend skal farves eller ej                                 #
    #                                                                                           #
    #    Positions af Calendars                                                                 #
    #    ========================                                                               #
    #                                                                                           #
    #    Positions      - En array med positioner defineret i px  (Left,Top)                    #
    #                                                                                           #
    #############################################################################################*/

// Settings

  var CalendarLang = 'dk';  // P.t. er kun Dansk (DK) og Tysk (DE) understøttet
  var AutoHideDelay = true;
  var DelayTime = 1; // Sekunder inden kalenderen gemmes automatisk
  var StartOfWeek = 1; // 0 = Søndag ... 6 = Lørdag
  var BackColor = '#F9F9F9';
  var FontColor = '#545454';
  var FontFace = 'Verdana';
  var FontSize = 'xx-small';
  var HolidayColor = '#FF0000';
  var ShowHolidays = true;
  var TodayColor = '#869DB4';
  var HoverBackColor = '#869DB4';
  var HoverFontColor = '#FFFFFF';
  var DaylightColor = '#FFFFFF';
  var ShowDaylight = true;
  var WeekendColor = '#EEEEEE';
  var ShowWeekend = true;
  var bgcolor = '#F0F0F0';

// Positions of Calendars

  var Positions = new Array("580,250","320,120");
  
/*  #############################################################################################
    #                                                                                           #
    #         DON'T TOUCH ANY THING BELOW HERE -- RØR IKKE NOGET EFTER DENNE LINIE              #                                                    #
    #                                                                                           #
    ############################################################################################# */

  if (CalendarLang.toUpperCase()=='DK')
    {
      var Months = new Array('Januar','Februar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December');
      var Days   = new Array('Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag');
      var Weeks  = 'Uge';
      var MonthNext = 'Næste';
      var MonthPrevious = 'Forrige';
      var TodayText = 'Idag';
    }

  if (CalendarLang.toUpperCase()=='DE')
    {
      Months = new Array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
      Days   = new Array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');
      Weeks  = 'Woche';
      MonthForward = 'Nächste';
      MonthBackward = 'Zurück';
      var TodayText = 'Heute';
    }

  if (CalendarLang.toUpperCase()=='SE')
    {
      Months = new Array('Januari','Februari','Mars','April','Mai','Juni','Juli','Augusti','September','Oktober','November','Dezember');
      Days   = new Array('Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag');
      Weeks  = 'Vecka';
      MonthForward = 'Näste';
      MonthBackward = 'Tilbaka';
      var TodayText = 'I dag';
    }
        
  var DayNos = new Array(31,0,31,30,31,30,31,31,30,31,30,31);
  
  var NoOfCalendars = Positions.length;
  var CalNo = 0;
 
  for (CalendarNo=0;CalendarNo<(NoOfCalendars*1);CalendarNo++) {
   Place = Positions[CalendarNo].split(',');
   CalDef = '<div id="Calendar'+CalendarNo+'" style="position:absolute; left: ';
   CalDef = CalDef+Place[0]+'; top: '+Place[1];
   CalDef = CalDef+'; z-index:999; width:196px; height:77px; overflow: visible;';
   CalDef = CalDef+' visibility: hidden; background-color: '+BackColor+'; border: 1px none #000000"';
   CalDef = CalDef+' onmouseenter="EnterDiv()"'
   if (!AutoHideDelay) CalDef = CalDef+' onmouseleave="javascript:CanHide=true;AutoHideDiv()">';
   if (AutoHideDelay) CalDef = CalDef+' onmouseleave="javascript:DelayHide();">';
   CalDef = CalDef+'<table width="100%" height="100%" border="1" cellspacing="0">';
   CalDef = CalDef+'<tr><td align="center" style="cursor: pointer; background-color: '+bgcolor+'" onclick="BackwardMonthNo()" title="'+MonthPrevious+'"><img src="img/arrow_left.gif"></td>';
   CalDef = CalDef+'<td align="center" colspan="5" style="font-size:'+FontSize+'; font-family:'+FontFace+'; color: '+FontColor+'; font-weight: bold; background-color: '+bgcolor+'" ID="Period'+CalendarNo+'">&nbsp;</td>';
   CalDef = CalDef+'<td align="center" style="cursor: pointer; background-color: '+bgcolor+'" onclick="ForwardMonthNo()" title="'+MonthNext+'"><img src="img/arrow_right.gif"</td></tr><tr>';
   for (y=StartOfWeek;y<7;y++)
   { CalDef = CalDef+'<td align="center" style="cursor: default; font-size:'+FontSize+'; font-family:'+FontFace+'; color: '+FontColor+'" title="'+Days[y]+'">'+Days[y].substring(0,1)+'</td>';}
   for (y=0;y<StartOfWeek;y++)
   { CalDef = CalDef+'<td align="center" style="cursor: default; font-size:'+FontSize+'; font-family:'+FontFace+'; color: '+FontColor+'" title="'+Days[y]+'">'+Days[y].substring(0,1)+'</td>';}
   CalDef = CalDef + '</tr>';
   for (DayNo=1;DayNo<43;DayNo++)
   {CalDef = CalDef+'<td style="cursor: default; font-size:'+FontSize+'; font-family:'+FontFace+'; color: '+FontColor+'" ID="Day'+CalendarNo+DayNo+'"';
    CalDef = CalDef+' onclick="SelectDate(\'Day'+CalendarNo+DayNo+'\')"';
    CalDef = CalDef+' onmouseover="OnmouseOverDate(\'Day'+CalendarNo+DayNo+'\',\''+CalendarNo+'\')"';
    CalDef = CalDef+' onmouseout="OnMouseOutDate(\'Day'+CalendarNo+DayNo+'\')"';
    CalDef = CalDef+' align="center">&nbsp;</td>';
    if ((DayNo*1)/7==Math.floor((DayNo*1)/7)&&DayNo!=42) { CalDef = CalDef+'</tr><tr>';}}
   CalDef = CalDef+'</tr></table>';
   CalDef = CalDef+'<input type="hidden" id="MonthNo'+CalendarNo+'"><input type="hidden" id="YearNo'+CalendarNo+'">';
   document.write(CalDef+'</div>')}


  function OnmouseOverDate(FieldNo)
   {if (document.getElementById(FieldNo).innerHTML == '&nbsp;') {return false}
    document.getElementById(FieldNo).style.background = HoverBackColor;
    document.getElementById(FieldNo).style.color = HoverFontColor;
    document.getElementById(FieldNo).style.fontWeight = 'bold';}
 
  function OnMouseOutDate(FieldNo)
   {if (document.getElementById(FieldNo).innerHTML == '&nbsp;') {return false}
    document.getElementById(FieldNo).style.background = BackColor;
    document.getElementById(FieldNo).style.color = FontColor;
    document.getElementById(FieldNo).style.fontWeight = 'normal';
    tDate = new Date(Y,M,document.getElementById(FieldNo).innerHTML);
    tDay = tDate.getDay();
    if (ShowWeekend&&(tDay==0||tDay==6))
    {document.getElementById(FieldNo).style.background = WeekendColor;}
    if (ShowHolidays&&isHoliday(Y,M,document.getElementById(FieldNo).innerHTML))
    {document.getElementById(FieldNo).style.background = HolidayColor;} 
    if (ShowDaylight&&DaylightTimes(Y,M,document.getElementById(FieldNo).innerHTML))
    {document.getElementById(FieldNo).style.background = DaylightColor;}
    if (isToday(Y,M,document.getElementById(FieldNo).innerHTML))
    {document.getElementById(FieldNo).style.background =TodayColor;}}

  function BaseDate(Y)
   {yr = new Date(Y,0,1);
    year = yr.getYear();
    if (year<1900) { year = (year*1) + 1900;}
    with (Math)
    {a=year%19;
     b=floor(year/100);
     i=(b-floor(b/4)-floor((b-floor((b-17)/25))/3)+19*a+15)%30;
     i=i-floor(i/28)*(1-floor(i/28)*floor(29/(i+1))*floor((21-a)/11));
     i=i-(year+floor(year/4)+i+2-b+floor(b/4))%7;
     m=3+floor((i+40)/44);
     return new Date(year,m-1,i+28-31*floor(m/4));}}

  function isLeapYear(Y)
   {w=(Y%4==0&&(Y%100!=0||Y%400==0));
    return w }

  function isToday(Y,M,D)
   {yr = new Date(Y,M,D,12,0,0);
    yDay = new Date();
    yy=yDay.getYear();
    if (yy<1900) {yy = (yy*1) + 1900;}
    mm=yDay.getMonth();
    dd=yDay.getDate();
    cDag=new Date(yy,mm,dd,12,0,0);
    w=Number(yr)==Number(cDag)?true:false;
    return w}

  function DrawDayNumbers(Y,M)
   {for (z=1;z<43;z++)
    { document.getElementById('Day'+CalNo+z).innerHTML = '&nbsp;';
    document.getElementById('Day'+CalNo+z).style.cursor = 'default';
    document.getElementById('Day'+CalNo+z).title = '';
    document.getElementById('Day'+CalNo+z).style.background = BackColor;
    document.getElementById('Day'+CalNo+z).style.fontStyle = 'normal';};
    yDay = new Date(Y,M,1);
    yDayNo = yDay.getDay();
    if (yDayNo >= StartOfWeek)
    {zFrom = (yDayNo - (StartOfWeek*1))+1;
     zDiff = (yDayNo - (StartOfWeek*1));}
    if (yDayNo < StartOfWeek) 
    {zFrom = 7-((StartOfWeek*1)-yDayNo)+1;
     zDiff = 7-((StartOfWeek*1)-yDayNo);}
    for (z=zFrom;z<DayNos[M]+(zFrom*1);z++)
     {tmp = z-(zDiff*1);
      if (tmp<10) tmp = '0'+tmp;
      document.getElementById('Day'+CalNo+(z*1)).innerHTML = tmp;
      document.getElementById('Day'+CalNo+(z*1)).style.cursor = 'pointer';
      document.getElementById('Day'+CalNo+(z*1)).title = Weeks+' '+getWeek(Y,M,z-(zDiff*1));
      tDate = new Date(Y,M,z-(zDiff*1));
      tDay = tDate.getDay();
      if (ShowWeekend&&(tDay==0||tDay==6))
      {document.getElementById('Day'+CalNo+(z*1)).style.background = WeekendColor;}
      if (ShowHolidays&&isHoliday(Y,M,(z-(zDiff*1))))
      {document.getElementById('Day'+CalNo+(z*1)).style.background = HolidayColor;
       document.getElementById('Day'+CalNo+(z*1)).title = Weeks+' '+getWeek(Y,M,z-(zDiff*1))+' \n'+WhichHoliday(Y,M,(z-(zDiff*1)));
       }
      if (ShowDaylight&&DaylightTimes(Y,M,z-(zDiff*1)))
      {document.getElementById('Day'+CalNo+(z*1)).style.background = DaylightColor;
       document.getElementById('Day'+CalNo+(z*1)).title = Weeks+' '+getWeek(Y,M,z-(zDiff*1))+' \n'+WhichHoliday(Y,M,(z-(zDiff*1)));
       }
      if (isToday(Y,M,z-(zDiff*1)))
      {document.getElementById('Day'+CalNo+(z*1)).style.background = TodayColor;
       document.getElementById('Day'+CalNo+(z*1)).title = Weeks+' '+getWeek(Y,M,z-(zDiff*1))+' \n'+TodayText;}}
    document.getElementById('Period'+CalNo).innerHTML = Months[M]+' '+Y;}
  
  function ForwardMonthNo()
   {M = (M*1) + 1;
    if (M>11)
    { M = 0;
      Y = (Y*1) + 1;
      if (isLeapYear(Y)) {DayNos[1] = 29}
      else {DayNos[1] = 28}
      setHelligdage(Y);}
    DrawDayNumbers(Y,M)}

  function BackwardMonthNo()
  {M = (M*1) - 1;
   if (M<0)
   {M = 11;
    Y = (Y*1) - 1;
    if (Y*1<1970){Y=1970;M=0}
    if (isLeapYear(Y)) {DayNos[1] = 29}
    else {DayNos[1] = 28}
    setHelligdage(Y)}
    DrawDayNumbers(Y,M)}

  function ShowCalendar(ID) 
  {for (x=0;x<NoOfCalendars;x++)
   {document.getElementById('Calendar'+x).style.visibility = 'hidden';}
    yr = new Date();
    Y = yr.getYear();
    if (Y<1900) {Y = (Y*1) + 1900;}
    M = yr.getMonth();
    if (isLeapYear(Y))
    {DayNos[1] = 29;}
    else
    {DayNos[1] = 28;}
    CalNo = ID;
    setHelligdage(Y);
    DrawDayNumbers(Y,M)
   document.getElementById('Calendar'+ID).style.visibility = 'inherit';}
  
  function getWeek(Y,M,D)  
  {nu = new Date(Y,M,D,12,0,0)
   ugedag= nu.getDay();
   if ( ugedag == 0 ) ugedag += 7;   
   tors = new Date( nu.getTime() +(4 -ugedag)*( 24*60*60*1000 ) );
   mdr = tors.getMonth();
   uge = mdr*4;
   tors = new Date( tors.getTime() -uge*7*24*60*60*1000 );
   aar = tors.getYear();
   do 
   {uge += 1;
    tors = new Date( tors.getTime() -7*24*60*60*1000 );
   } while ( aar == tors.getYear() );
   return uge;}; 

  function setHelligdage(Y)
  {DayLength = Number(new Date(2000,0,2,12,0,0)) - Number(new Date(2000,0,1,12,0,0));
   PaaskeDag = BaseDate(Y)
   Fastelavn = new Date(Number(PaaskeDag) - ((50 * DayLength)));
   SkaerTorsdag = new Date(Number(PaaskeDag) - (3 * DayLength));
   LangFredag = new Date(Number(PaaskeDag) - (2 * DayLength));
   PaaskeDag2 = new Date(Number(PaaskeDag) + (DayLength));
   StoreBedeDag = new Date(Number(PaaskeDag) + (26 * DayLength));
   KristiHimmel = new Date(Number(PaaskeDag) + 39 * DayLength);
   PinseDag = new Date(Number(PaaskeDag) + 49 * DayLength);
   PinseDag2 = new Date(Number(PaaskeDag) + 50 * DayLength);
   if (CalendarLang.toUpperCase()=='DK') {Grundlovsdag = new Date(Y,5,5);}
   if (CalendarLang.toUpperCase()=='DE') {Grundlovsdag = new Date(Y,9,3);}
   if (CalendarLang.toUpperCase()=='SE') {Grundlovsdag = new Date(Y,5,6);}
   SondagAdvent1 = new Date(Y,11,24);
   SondagAdvent1 = new Date(Number(SondagAdvent1) - (21 + SondagAdvent1.getDay()) * DayLength);
   SondagAdvent2 = new Date(Number(SondagAdvent1) + 7 * DayLength);
   SondagAdvent3 = new Date(Number(SondagAdvent1) + 14 * DayLength);
   SondagAdvent4 = new Date(Number(SondagAdvent1) + 21 * DayLength);
   JuleAften = new Date(Y,11,24);
   JuleDag = new Date(Y,11,25);
   JuleDag2 = new Date(Y,11,26);
   NytaarsAften = new Date(Y,11,31);
   NytaarsDag = new Date(Y,0,1);
   Mai1 = new Date(Y,4,1);
   Hellig3Konger = new Date(Y,0,6);
   Midsommer = new Date(Y,5,26);
   AlleHelgen = 
   SommerStart = new Date(Y,2,31);
   SommerStart = new Date(Number(SommerStart) - SommerStart.getDay() * DayLength);
   SommerSlut = new Date(Y,9,31);
   SommerSlut = new Date(Number(SommerSlut) - SommerSlut.getDay() * DayLength);}

  function isHoliday(Y,M,d)
  {H = false;
   if (CalendarLang.toUpperCase()=='DK')
   {if (M==SondagAdvent4.getMonth()&&d==SondagAdvent4.getDate()) {H = true;}
    if (M==SondagAdvent3.getMonth()&&d==SondagAdvent3.getDate()) {H = true;}
    if (M==SondagAdvent2.getMonth()&&d==SondagAdvent2.getDate()) {H = true;}
    if (M==SondagAdvent1.getMonth()&&d==SondagAdvent1.getDate()) {H = true;}
    if (M==Fastelavn.getMonth()&&d==Fastelavn.getDate()) {H = true;}
    if (M==Grundlovsdag.getMonth()&&d==Grundlovsdag.getDate()) {H = true;}
    if (M==PaaskeDag.getMonth()&&d==PaaskeDag.getDate()) {H = true;}
    if (M==PaaskeDag2.getMonth()&&d==PaaskeDag2.getDate()) {H = true;}
    if (M==SkaerTorsdag.getMonth()&&d==SkaerTorsdag.getDate()) {H = true;}
    if (M==LangFredag.getMonth()&&d==LangFredag.getDate()) {H = true;}
    if (M==StoreBedeDag.getMonth()&&d==StoreBedeDag.getDate()) {H = true;}
    if (M==KristiHimmel.getMonth()&&d==KristiHimmel.getDate()) {H = true;}
    if (M==PinseDag.getMonth()&&d==PinseDag.getDate()) {H = true;}
    if (M==PinseDag2.getMonth()&&d==PinseDag2.getDate()) {H = true;}
    if (M==JuleAften.getMonth()&&d==JuleAften.getDate()) {H = true;}
    if (M==JuleDag.getMonth()&&d==JuleDag.getDate()) {H = true;}
    if (M==JuleDag2.getMonth()&&d==JuleDag2.getDate()) {H = true;}
    if (M==NytaarsAften.getMonth()&&d==NytaarsAften.getDate()) {H = true;}
    if (M==NytaarsDag.getMonth()&&d==NytaarsDag.getDate()) {H = true;}}
   if (CalendarLang.toUpperCase()=='DE')
   {if (M==SondagAdvent4.getMonth()&&d==SondagAdvent4.getDate()) {H = true;}
    if (M==SondagAdvent3.getMonth()&&d==SondagAdvent3.getDate()) {H = true;}
    if (M==SondagAdvent2.getMonth()&&d==SondagAdvent2.getDate()) {H = true;}
    if (M==SondagAdvent1.getMonth()&&d==SondagAdvent1.getDate()) {H = true;}
    if (M==Grundlovsdag.getMonth()&&d==Grundlovsdag.getDate()) {H = true;}
    if (M==PaaskeDag.getMonth()&&d==PaaskeDag.getDate()) {H = true;}
    if (M==PaaskeDag2.getMonth()&&d==PaaskeDag2.getDate()) {H = true;}
    if (M==LangFredag.getMonth()&&d==LangFredag.getDate()) {H = true;}
    if (M==Mai1.getMonth()&&d==Mai1.getDate()) {H = true;}
    if (M==KristiHimmel.getMonth()&&d==KristiHimmel.getDate()) {H = true;}
    if (M==PinseDag.getMonth()&&d==PinseDag.getDate()) {H = true;}
    if (M==PinseDag2.getMonth()&&d==PinseDag2.getDate()) {H = true;}
    if (M==JuleAften.getMonth()&&d==JuleAften.getDate()) {H = true;}
    if (M==JuleDag.getMonth()&&d==JuleDag.getDate()) {H = true;}
    if (M==JuleDag2.getMonth()&&d==JuleDag2.getDate()) {H = true;}
    if (M==NytaarsAften.getMonth()&&d==NytaarsAften.getDate()) {H = true;}
    if (M==NytaarsDag.getMonth()&&d==NytaarsDag.getDate()) {H = true;}}
   return H}

  function WhichHoliday(Y,M,d)
  {H = '';
   if (CalendarLang.toUpperCase()=='DK')
   {if (M==PaaskeDag.getMonth()&&d==PaaskeDag.getDate()) {H = 'Påskedag'}
    if (M==Fastelavn.getMonth()&&d==Fastelavn.getDate()) {H = 'Fastelavn'}
    if (M==SkaerTorsdag.getMonth()&&d==SkaerTorsdag.getDate()) {H = 'Skærtorsdag'}
    if (M==LangFredag.getMonth()&&d==LangFredag.getDate()) {H = 'Langfredag'}
    if (M==PaaskeDag2.getMonth()&&d==PaaskeDag2.getDate()) {H = '2. Påskedag'}
    if (M==StoreBedeDag.getMonth()&&d==StoreBedeDag.getDate()) {H = 'Store Bededag'}
    if (M==KristiHimmel.getMonth()&&d==KristiHimmel.getDate()) {H = 'Kristi Himmelfartsdag'}
    if (M==PinseDag.getMonth()&&d==PinseDag.getDate()) {H = 'Pinsedag'}
    if (M==PinseDag2.getMonth()&&d==PinseDag2.getDate()) {H = '2. Pinsedag'}
    if (M==Grundlovsdag.getMonth()&&d==Grundlovsdag.getDate()) {H = 'Grundlovsdag'}
    if (M==SondagAdvent1.getMonth()&&d==SondagAdvent1.getDate()) {H = '1. Søndag i Advent'}
    if (M==SondagAdvent2.getMonth()&&d==SondagAdvent2.getDate()) {H = '2. Søndag i Advent'}
    if (M==SondagAdvent3.getMonth()&&d==SondagAdvent3.getDate()) {H = '3. Søndag i Advent'}
    if (M==SondagAdvent4.getMonth()&&d==SondagAdvent4.getDate()) {H = '4. Søndag i Advent'}
    if (M==JuleAften.getMonth()&&d==JuleAften.getDate()) {H = 'Juleaftensdag'}
    if (M==JuleDag.getMonth()&&d==JuleDag.getDate()) {H = 'Juledag'}
    if (M==JuleDag2.getMonth()&&d==JuleDag2.getDate()) {H = '2. Juledag'}
    if (M==NytaarsAften.getMonth()&&d==NytaarsAften.getDate()) {H = 'Nytårsaftensdag'}
    if (M==NytaarsDag.getMonth()&&d==NytaarsDag.getDate()) {H = 'Nytårsdag'}
    if (M==SommerStart.getMonth()&&d==SommerStart.getDate()) {H = 'Sommertid starter'}
    if (M==SommerSlut.getMonth()&&d==SommerSlut.getDate()) {H = 'Sommertid slutter'}}
   if (CalendarLang.toUpperCase()=='DE')
   {if (M==PaaskeDag.getMonth()&&d==PaaskeDag.getDate()) {H = 'Ostersonntag'}
    if (M==LangFredag.getMonth()&&d==LangFredag.getDate()) {H = 'Karfreitag'}
    if (M==PaaskeDag2.getMonth()&&d==PaaskeDag2.getDate()) {H = 'Ostermontag'}
    if (M==Mai1.getMonth()&&d==Mai1.getDate()) {H = 'Tag der Arbeit'}
    if (M==KristiHimmel.getMonth()&&d==KristiHimmel.getDate()) {H = 'Christi Himmelfahrt'}
    if (M==PinseDag.getMonth()&&d==PinseDag.getDate()) {H = 'Pfingstsonntag'}
    if (M==PinseDag2.getMonth()&&d==PinseDag2.getDate()) {H = 'Pfingstmontag'}
    if (M==Grundlovsdag.getMonth()&&d==Grundlovsdag.getDate()) {H = 'Tag der deutschen Einheit'}
    if (M==SondagAdvent1.getMonth()&&d==SondagAdvent1.getDate()) {H = '1. Sonntag im Advent'}
    if (M==SondagAdvent2.getMonth()&&d==SondagAdvent2.getDate()) {H = '2. Sonntag im Advent'}
    if (M==SondagAdvent3.getMonth()&&d==SondagAdvent3.getDate()) {H = '3. Sonntag im Advent'}
    if (M==SondagAdvent4.getMonth()&&d==SondagAdvent4.getDate()) {H = '4. Sonntag im Advent'}
    if (M==JuleAften.getMonth()&&d==JuleAften.getDate()) {H = 'Heiligabend'}
    if (M==JuleDag.getMonth()&&d==JuleDag.getDate()) {H = '1. Weihnachtstag'}
    if (M==JuleDag2.getMonth()&&d==JuleDag2.getDate()) {H = '2. Weihnachtstag'}
    if (M==NytaarsAften.getMonth()&&d==NytaarsAften.getDate()) {H = 'Silvesterabend'}
    if (M==NytaarsDag.getMonth()&&d==NytaarsDag.getDate()) {H = 'Neujahrstag'}
    if (M==SommerStart.getMonth()&&d==SommerStart.getDate()) {H = 'Sommerzeit beginnt'}
    if (M==SommerSlut.getMonth()&&d==SommerSlut.getDate()) {H = 'Sommerzeit endet'}}
   return H  
   }

  function DaylightTimes(Y,M,d)
  {H = ((M==SommerStart.getMonth()&&d==SommerStart.getDate())||(M==SommerSlut.getMonth()&&d==SommerSlut.getDate()));
   return H}

  function EnterDiv()
  { CanHide = false;}
  
  function AutoHideDiv()
  { if (CanHide) {document.getElementById('Calendar'+CalNo).style.visibility = 'hidden';}}

  function DelayHide()
  {CanHide=true;
   window.setTimeout("AutoHideDiv()",DelayTime*1000);}

  function SelectDate(FieldNo)
  {document.getElementById('Calendar'+CalNo).style.visibility = 'hidden';
   if (document.getElementById(FieldNo).innerHTML.length < 2||document.getElementById(FieldNo).innerHTML=='&nbsp;') {return false;}
   t = (M*1) + 1;
   if (t<10) {t= '0'+t}
   s = document.getElementById(FieldNo).innerHTML
   document.getElementById('SelDatoen'+CalNo).value =  s+'-'+t+'-'+Y;
   }
   
