/* Silvesterumleitung fuer eTermine nur noch bei Tageszahl == 32 */

function Kalender (Monat, Jahr, MehrTages, MehrStart, EinTages, MehrTagesV, MehrStartV, EinTagesV, MehrTagesF, MehrStartF, EinTagesF) {
  Monatsname = new Array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli",
                          "August", "September", "Oktober", "November", "Dezember");
  Tag = new Array("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So");

  var Khgrund = "cal_wo";        /* Style Kalenderkopf */
  var Thgrund = "day_wo";        /* Style Tagesanzeige */
  var Sogrund = "day_so";        /* Style f. Sonntage */
  var Ahgrund = "day_td";        /* Style f. heutigen Tag */
  var Nogrund = "day_no";        /* Style f. Fehltage */
  var NoSogrund = "day_noso";    /* Style f. Fehlsonntage */

  var jetzt = new Date();
  var DieserMonat = jetzt.getMonth() + 1;
  var DiesesJahr = jetzt.getYear();
  if (DiesesJahr < 999)
    DiesesJahr += 1900;
  var DieserTag = jetzt.getDate();
  var Zeit = new Date(Jahr, Monat - 1, 1);
  var Start = Zeit.getDay();
  if (Start > 0) {
    Start--;
  } else {
    Start = 6;
  }
  var Stop = 31;
  if (Monat == 4 || Monat == 6 || Monat == 9 || Monat == 11)
    --Stop;
  if (Monat == 2) {
    Stop = Stop - 3;
    if (Jahr % 4 == 0)
      Stop++;
    if (Jahr % 100 == 0)
      Stop--;
    if (Jahr % 400 == 0)
      Stop++;
  }

  /* Vormonat */
  var StopVorMon = 31;
  if (Monat-1 == 4 || Monat-1 == 6 || Monat-1 == 9 || Monat-1 == 11)
    --StopVorMon;
  if (Monat-1 == 2) {
    StopVorMon = StopVorMon - 3;
    if (Jahr % 4 == 0)
      StopVorMon++;
    if (Jahr % 100 == 0)
      StopVorMon--;
    if (Jahr % 400 == 0)
      StopVorMon++;
  }

  /* Jahr und Monat für Ankerlink zusammenführen */
  if (Monat < 10) {
     var Anker = Jahr + "0" + Monat;
  } else {
     var Anker = Jahr + "" + Monat;
  }

  document.write('<table cellspacing="0" cellpadding="2">');
  var Monatskopf = Monatsname[Monat - 1]; // + " " + Jahr //
  SchreibeKopf(Monatskopf, Khgrund, Anker); /* cal_wo */
  var Tageszahl = 1;
  var TagVorMon = StopVorMon - Start + 1;
  var TagFolgeMon = 1;
  for (var i = 0; i <= 5; i++) {
    document.write("<tr>");
    for (var j = 0; j <= 5; j++) {
      if ((i == 0) && (j < Start)) {
        var cSel = 0;
        if (MehrTagesV[TagVorMon - 1] != "" || EinTagesV[TagVorMon - 1] != "") cSel = 1;
        if (MehrTagesV[TagVorMon - 1] != "" && EinTagesV[TagVorMon - 1] != "") cSel = 2;
        switch (cSel) {
          case 0:
            SchreibeZelle(TagVorMon, Nogrund); /* day_no */
          break;
          case 1:
            if (MehrTagesV[TagVorMon - 1] != "") {
              SchreibeZelleNoKom1(TagVorMon, Nogrund + '_t', MehrTagesV[TagVorMon - 1]); /* day_no */
            } else {
              SchreibeZelleNoKom1(TagVorMon, Nogrund + '_t', EinTagesV[TagVorMon - 1]); /* day_no */
            }
          break;
          case 2:
            SchreibeZelleNoKom2(TagVorMon, Nogrund + '_t', EinTagesV[TagVorMon - 1], MehrTagesV[TagVorMon - 1]); /* day_no */
          break;
        }
        TagVorMon++;
      } else {
        if (Tageszahl > Stop) {
          var cSel = 0;
          if (MehrTagesF[TagFolgeMon - 1] != "" || EinTagesF[TagFolgeMon - 1] != "") cSel = 1;
          if (MehrTagesF[TagFolgeMon - 1] != "" && EinTagesF[TagFolgeMon - 1] != "") cSel = 2;
          switch (cSel) {
            case 0:
              SchreibeZelle(TagFolgeMon, Nogrund); /* day_no */
            break;
            case 1:
              if (MehrTagesF[TagFolgeMon - 1] != "") {
                SchreibeZelleNoKom1(TagFolgeMon, Nogrund + '_t', MehrTagesF[TagFolgeMon - 1]); /* day_no */
              } else {
                SchreibeZelleNoKom1(TagFolgeMon, Nogrund + '_t', EinTagesF[TagFolgeMon - 1]); /* day_no */
              }
            break;
            case 2:
              SchreibeZelleNoKom2(TagFolgeMon, Nogrund + '_t', EinTagesF[TagFolgeMon - 1], MehrTagesF[TagFolgeMon - 1]); /* day_no */
            break;
            }
            TagFolgeMon++;
        } else {
          if ((Jahr == DiesesJahr) && (Monat == DieserMonat) && (Tageszahl == DieserTag)) {
            var cSel = 0;
            if (EinTages[Tageszahl - 1] != "") cSel = 1;
            if (MehrTages[Tageszahl - 1] != "") cSel = 2;
            if (MehrTages[Tageszahl - 1] != "" && EinTages[Tageszahl - 1] != "") cSel = 3;
            switch (cSel) {
              case 0:
                SchreibeZelle(Tageszahl, Ahgrund); /* day_wo heute */
                break;
              case 1:
                if (Monat == 12 && Tageszahl == 32) {
                  BaueLinkE12 (Anker, Tageszahl, EinTages[Tageszahl - 1], Ahgrund); /* day_wo heute mit eTermin */
                } else {
                  BaueLinkE (Anker, Tageszahl, EinTages[Tageszahl - 1], Ahgrund); /* day_wo heute mit eTermin */
                }
                break;
              case 2:
                if (Monat == 12) {
                  BaueLinkM12 (Anker, Tageszahl, MehrStart[Tageszahl - 1], MehrTages[Tageszahl - 1], Ahgrund); /* day_wo heute mit mTermin */
                } else {
                  BaueLinkM (Anker, Tageszahl, MehrStart[Tageszahl - 1], MehrTages[Tageszahl - 1], Ahgrund); /* day_wo heute mit mTermin */
                }
                break;
              case 3:
                if (Monat == 12) {
                  BaueLinkB12 (Anker, Tageszahl, MehrTages[Tageszahl - 1], EinTages[Tageszahl - 1], Ahgrund); /* day_wo heute mit bTermin */
                } else {
                  BaueLinkB (Anker, Tageszahl, MehrTages[Tageszahl - 1], EinTages[Tageszahl - 1], Ahgrund); /* day_wo heute mit bTermin */
                }
                break;
            }
          } else {
            var cSel = 0;
            if (EinTages[Tageszahl - 1] != "") cSel = 1;
            if (MehrTages[Tageszahl - 1] != "") cSel = 2;
            if (MehrTages[Tageszahl - 1] != "" && EinTages[Tageszahl - 1] != "") cSel = 3;
            switch (cSel) {
              case 0:
                SchreibeZelle(Tageszahl, Thgrund); /* day_wo */
                break;
              case 1:
                if (Monat == 12 && Tageszahl == 32) {
                  BaueLinkE12 (Anker, Tageszahl, EinTages[Tageszahl - 1], Thgrund); /* day_wo mit eTermin */
                } else {
                  BaueLinkE (Anker, Tageszahl, EinTages[Tageszahl - 1], Thgrund); /* day_wo mit eTermin */
                }
                break;
              case 2:
                if (Monat == 12) {
                  BaueLinkM12 (Anker, Tageszahl, MehrStart[Tageszahl - 1], MehrTages[Tageszahl - 1], Thgrund); /* day_wo mit mTermin */
                } else {
                  BaueLinkM (Anker, Tageszahl, MehrStart[Tageszahl - 1], MehrTages[Tageszahl - 1], Thgrund); /* day_wo mit mTermin */
                }
                break;
              case 3:
                if (Monat == 12) {
                  BaueLinkB12 (Anker, Tageszahl, MehrTages[Tageszahl - 1], EinTages[Tageszahl - 1], Thgrund); /* day_wo mit bTermin */
                } else {
                  BaueLinkB (Anker, Tageszahl, MehrTages[Tageszahl - 1], EinTages[Tageszahl - 1], Thgrund); /* day_wo mit bTermin */
                }
                break;
            }
          }
          Tageszahl++;
        }
      }
    }
    if (Tageszahl > Stop) {
      var cSel = 0;
      if (MehrTagesF[TagFolgeMon - 1] != "" || EinTagesF[TagFolgeMon - 1] != "") cSel = 1;
      if (MehrTagesF[TagFolgeMon - 1] != "" && EinTagesF[TagFolgeMon - 1] != "") cSel = 2;
      switch (cSel) {
        case 0:
          SchreibeZelle(TagFolgeMon, NoSogrund); /* day_no */
        break;
        case 1:
          if (MehrTagesF[TagFolgeMon - 1] != "") {
            SchreibeZelleNoKom1(TagFolgeMon, NoSogrund + '_t', MehrTagesF[TagFolgeMon - 1]); /* day_noso */
          } else {
            SchreibeZelleNoKom1(TagFolgeMon, NoSogrund + '_t', EinTagesF[TagFolgeMon - 1]); /* day_noso */
          }
          break;
          case 2:
            SchreibeZelleNoKom2(TagFolgeMon, NoSogrund + '_t', EinTagesF[TagFolgeMon - 1], MehrTagesF[TagFolgeMon - 1]); /* day_noso */
          break;
          }
      TagFolgeMon++;
    } else {
      if ((Jahr == DiesesJahr) && (Monat == DieserMonat) && (Tageszahl == DieserTag)) {
            var cSel = 0;
            if (EinTages[Tageszahl - 1] != "") cSel = 1;
            if (MehrTages[Tageszahl - 1] != "") cSel = 2;
            if (MehrTages[Tageszahl - 1] != "" && EinTages[Tageszahl - 1] != "") cSel = 3;
            switch (cSel) {
              case 0:
                SchreibeZelle(Tageszahl, Ahgrund); /* day_so heute */
                break;
              case 1:
                if (Monat == 12 && Tageszahl == 32) {
                  BaueLinkE12 (Anker, Tageszahl, EinTages[Tageszahl - 1], Ahgrund); /* day_so heute mit eTermin */
                } else {
                  BaueLinkE (Anker, Tageszahl, EinTages[Tageszahl - 1], Ahgrund); /* day_so heute mit eTermin */
                }
                break;
              case 2:
                if (Monat == 12) {
                  BaueLinkM12 (Anker, Tageszahl, MehrStart[Tageszahl - 1], MehrTages[Tageszahl - 1], Ahgrund); /* day_so heute mit mTermin */
                } else {
                  BaueLinkM (Anker, Tageszahl, MehrStart[Tageszahl - 1], MehrTages[Tageszahl - 1], Ahgrund); /* day_so heute mit mTermin */
                }
                break;
              case 3:
                if (Monat == 12) {
                  BaueLinkB12 (Anker, Tageszahl, MehrTages[Tageszahl - 1], EinTages[Tageszahl - 1], Ahgrund); /* day_so heute mit bTermin */
                } else {
                  BaueLinkB (Anker, Tageszahl, MehrTages[Tageszahl - 1], EinTages[Tageszahl - 1], Ahgrund); /* day_so heute mit bTermin */
                }
                break;
            }
      } else {
            var cSel = 0;
            if (EinTages[Tageszahl - 1] != "") cSel = 1;
            if (MehrTages[Tageszahl - 1] != "") cSel = 2;
            if (MehrTages[Tageszahl - 1] != "" && EinTages[Tageszahl - 1] != "") cSel = 3;
            switch (cSel) {
              case 0:
                SchreibeZelle(Tageszahl, Sogrund); /* day_so */
                break;
              case 1:
                if (Monat == 12 && Tageszahl == 32) {
                  BaueLinkE12 (Anker, Tageszahl, EinTages[Tageszahl - 1], Sogrund); /* day_so mit eTermin */
                } else {
                  BaueLinkE (Anker, Tageszahl, EinTages[Tageszahl - 1], Sogrund); /* day_so mit eTermin */
                }
                break;
              case 2:
               if (Monat == 12) {
                  BaueLinkM12 (Anker, Tageszahl, MehrStart[Tageszahl - 1], MehrTages[Tageszahl - 1], Sogrund); /* day_so mit mTermin */
                } else {
                  BaueLinkM (Anker, Tageszahl, MehrStart[Tageszahl - 1], MehrTages[Tageszahl - 1], Sogrund); /* day_so mit mTermin */
                }
                break;
              case 3:
               if (Monat == 12) {
                  BaueLinkB12 (Anker, Tageszahl, MehrTages[Tageszahl - 1], EinTages[Tageszahl - 1], Sogrund); /* day_so mit bTermin */
                } else {
                  BaueLinkB (Anker, Tageszahl, MehrTages[Tageszahl - 1], EinTages[Tageszahl - 1], Sogrund); /* day_so mit bTermin */
                }
                break;
            }
      }
      Tageszahl++;
    }
    document.write("<\/tr>");
  }
  document.write("<\/table>");
}

function SchreibeKopf (Monatstitel, HgFarbe, MehrAnker) {
  document.write('<tr class="mon_xy">');
  document.write('<td colspan="7">');
  document.write('<a href="mehrtages.htm#m' + MehrAnker + '" class="top">Reisetermine im ');
  document.write(Monatstitel);
  document.write("<\/a><\/td><\/tr>");
  document.write("<tr>");
  for (var i = 0; i <= 6; i++)
    SchreibeZelle(Tag[i], HgFarbe);
  document.write("<\/tr>");
}

function SchreibeZelle (Inhalt, HgFarbe) {
  document.write('<td class="' + HgFarbe + '">');
  document.write(Inhalt);
  document.write("<\/td>");
}

function SchreibeZelleNoKom1 (Inhalt, HgFarbe, VFKommentar) {
  document.write('<td class="' + HgFarbe + '" title="' + VFKommentar + '">');
  document.write(Inhalt);
  document.write("<\/td>");
}

function SchreibeZelleNoKom2 (Inhalt, HgFarbe, VFKommentarE, VFKommentarM) {
  document.write('<td class="' + HgFarbe + '" title="' + VFKommentarE + ' | ' + VFKommentarM + '">');
  document.write(Inhalt);
  document.write("<\/td>");
}
function BaueLinkE (ZielE, ZahlE, KommentarE, KlasseE) {
  if (ZahlE < 10) {
     var LinkAnkerE = ZielE + "0" + ZahlE;
  } else {
     var LinkAnkerE = ZielE + "" + ZahlE;
  }
  var LinkUndTagE = '<a href="eintages.htm#e' + LinkAnkerE + '" class="abox" title="' + KommentarE + '">' + ZahlE + '<\/a>';
  SchreibeZelle(LinkUndTagE, KlasseE + "_e");
}

function BaueLinkE12 (ZielE12, ZahlE12, KommentarE12, KlasseE12) {
  if (ZahlE12 < 10) {
     var LinkAnkerE12 = ZielE12 + "0" + ZahlE12;
  } else {
     var LinkAnkerE12 = ZielE12 + "" + ZahlE12;
  }
  var LinkUndTagE12 = '<a href="silvester.htm#s' + LinkAnkerE12 + '" class="abox" title="' + KommentarE12 + '">' + ZahlE12 + '<\/a>';
  SchreibeZelle(LinkUndTagE12, KlasseE12 + "_e");
}

function BaueLinkM (ZielM, ZahlM, StartM, KommentarM, KlasseM) {
  if (StartM < 10) {
     var LinkAnkerM = ZielM + "0" + StartM;
  } else {
     var LinkAnkerM = ZielM + "" + StartM;
  }
  var LinkUndTagM = '<a href="mehrtages.htm#m' + LinkAnkerM + '" class="abox" title="' + KommentarM + '">' + ZahlM + '<\/a>';
  SchreibeZelle(LinkUndTagM, KlasseM + "_m");
}

function BaueLinkM12 (ZielM12, ZahlM12, StartM12, KommentarM12, KlasseM12) {
  if (StartM12 < 10) {
     var LinkAnkerM12 = ZielM12 + "0" + StartM12;
  } else {
     var LinkAnkerM12 = ZielM12 + "" + StartM12;
  }
  var LinkUndTagM12 = '<a href="silvester.htm#s' + LinkAnkerM12 + '" class="abox" title="' + KommentarM12 + '">' + ZahlM12 + '<\/a>';
  SchreibeZelle(LinkUndTagM12, KlasseM12 + "_m");
}

function BaueLinkB (ZielB, ZahlB, KommentarB_m, KommentarB_e, KlasseB) {
  if (ZahlB < 10) {
     var LinkAnkerB = ZielB + "0" + ZahlB;
  } else {
     var LinkAnkerB = ZielB + "" + ZahlB;
  }
  var LinkUndTagB = '<a href="eintages.htm#e' + LinkAnkerB + '" class="abox" title="' + KommentarB_m + ' | ' + KommentarB_e + '">' + ZahlB + '<\/a>';
  SchreibeZelle(LinkUndTagB, KlasseB + "_b");
}

function BaueLinkB12 (ZielB12, ZahlB12, KommentarB12_m, KommentarB12_e, KlasseB12) {
  if (ZahlB12 < 10) {
     var LinkAnkerB12 = ZielB12 + "0" + ZahlB12;
  } else {
     var LinkAnkerB12 = ZielB12 + "" + ZahlB12;
  }
  var LinkUndTagB12 = '<a href="silvester.htm#s' + LinkAnkerB12 + '" class="abox" title="' + KommentarB12_m + ' | ' + KommentarB12_e + '">' + ZahlB12 + '<\/a>';
  SchreibeZelle(LinkUndTagB12, KlasseB12 + "_b");
}
