/*=======================================================*/
/*======  Enthält alle Funktionen für Aktivitäten  ======*/
/*=======================================================*/
/*=====================  Aktivitäten ==================== */
/* In dieser Funktion werden die Kurse gespeichert und ausgelesen, damit diese in einer HTML-Seite angezeigt werden können */
/* Werte für Inputvariable Nummer: Nummer für den direkten Verweis auf die gewünschte Übung*/
/* Werte für Inputvariable DU: */
/*    D:     --> Wochentag, Datum für alle 3 Kursdaten */
/*    D1:    --> Wochentag, Datum für das Kursdatum1 */
/*    D2:    --> Wochentag, Datum für das Kursdatum2 */
/*    D3:    --> Wochentag, Datum für das Kursdatum3 */
/*    DP:    --> Wochentag, Datum für das Kurs-DropDown-Feld im Anmeldeformular */
/*    DT:    --> Datum und Wochentag für den Ticker */
/*    DZ:    --> Alle Kursdaten mit Kursort und Link zur Kursbeschreibung */
/*    DZ1:   --> Alle Kursdaten mit Anmeldeschluss */
/*    DATE:  --> Kursdatum1 im internen Format */
/*    ADATE: --> Anmeldeschluss im internen Format */
/*    NU:    --> nächste Übung, gerechnet ab dem aktuellen Tagesdatum */
/*    NUR:   --> nächste Übung, gerechnet ab dem aktuellen Tagesdatum; effektive Übung und nicht eine andere Aktivität */
/*    NB:    --> nächstes Blutspenden, gerechnet ab dem aktuellen Tagesdatum */
/*    NG:    --> nächste Generalversammlung, gerechnet ab dem aktuellen Tagesdatum */
/*    U:     --> Kursinformationen, ohne Einrückungen */
/*    UU:    --> Bezeichnung der Übung, formatiert */
/*    UUB:   --> Bezeichnung der Übung, nicht formatiert */
/*    UB:    --> Kursinformationen, mit Einrückungen */
/*    UBZ:   --> Kursinformationen, mit Einrückungen */
/*    A:     --> Anzahl Kurse (Nothilfekurse und Notfälle für Kleinkinder zusammen) */
/*    AN:    --> Anzahl Nothilfekurse */
/*    AK:    --> Anzahl Nofälle für Kleinkinder - Kurse *7
/*    KE:    --> Kurskosten für Einzelperson */
/*    KP:    --> Kurskosten für Ehepaare */
/*    T:     --> Besammlungsort*/
/*    L:     --> Link zum Jahresprogramm oder zum entsprechenden Kurs*/
/*    W:     --> Wochentag und Datum, ohne Formatierung*/
/*    WD:    --> Wochentag und Datum, ohne Formatierung*/
/*    WF:    --> Wochentag und Datum, mit Formatierung*/
/*    J:     --> Jahr der ersten Aktivität*/
/* Werte für Inputvariable Einr: Anzahl Leerschläge für die Einrückung von Texten */
function Aktivitaeten (Nummer, DU, Einr)
{
/*===========  Anzahl Elemente der einzelnen Tabellen  ===============*/
var MaxUebung = 7;  /*maximale Anzahl Aktivitäten*/

/*Tabellen für die Kurse, Übungen und Aktivitäten*/
var Uebungstabelle = new Array(MaxUebung);		/*Übungstabelle für 13 Übungen*/

var MaxEinrueckung;
var AnzUebung;
var NaechsteUebung;
var NaechsteUebungrein;
var NaechstesBlutspenden;
var NaechsteGV;

/*Variablen*/
/*Formatierungen*/
var Normal = "<div ID='unstrike'>";
var Durchgestrichen = "<div ID='strike'>";
var DivEnde = "</div>";
var Zeilenwechsel = "<br>";
var Formatierung;
var Leerzeichen = "&nbsp;";
var Gaensefuss = '"';
var KOrt = "Ort:";
var KZeit = "Zeit:";

/*Ausgabevariablen*/
var Uebung;
var Besammlung;
var Besammlungsort;
var Datum;
var Datum2;
var Kursdatum;
var Kursdatum2;
var Kurszeit1;
var Kurszeit2;
var Kurszeit3;
var Kurszeit4;
var Veroeffentlichung;
var Zeit;
var Wochentag;
var Wochentag2;
var DatAusgabe;
var DatAusgabe2;
var ZeitAusgabe;
var ZeitAusgabe2;
var LinkKurs;
var LinkKursHTML;

/*Links*/
var LinkBeginn    = "<a href=";
var LinkUebung    = "../Verein/Jahresprogramm.htm";
var LinkEnde      = ">&raquo; mehr</a>";
var LinkNothilfe  = "../Kurse/Nothilfekurs.htm";
var LinkNotfaelle = "../Kurse/Notfaellekleinkinder.htm";

/*Zwischenvariablen*/
var JahrString;
var MonatString;
var TagString;
var StundenString;
var MinutenString;
var Zwischentext;
var Zwischendatum;
var Zwischenzeit;
var Anzahl;

/*Steuervariablen*/
var HatDatumZeit;

/*Zähler*/
var x;

/*Aktuelles Datum*/
var today=new Date();

/*Rückgabewert*/
var returnwert;

MaxEinrueckung = Einr;

/*Arrays füllen*/
/*Übungstabelle*/
for (var i = 0; i < Uebungstabelle.length; ++i)
  Uebungstabelle [i] = new Array(9);

/*=====================================================================================*/  
/*====================  Tabelle mit allen Aktivitäten des Jahres  =====================*/
/*=====================================================================================*/
/*Bedeutung der Tabellenplätze
[x] [0] = Übungsbezeichnung
[x] [1] = Übungsdatum, Datum im Format TT.MM.JJJJ
[x] [2] = Übungsdatum, Zeit im Formt HH.MM, ab/um
[x] [3] = Übungsdatum, Zeit im Formt HH.MM, bis
[x] [4] = Übungsdatum, Datum im Format TT.MM.JJJJ
[x] [5] = Übungsdatum, Zeit im Formt HH.MM, ab/um
[x] [6] = Übungsdatum, Zeit im Formt HH.MM, bis
[x] [7] = Besammlungsort
[x] [8] = Veröffentlichungsdatum, ab
[x] [9] = Übungsdatum, internes Format (nicht zu definieren, wird aufgrund der Tabellenplätze 1, 2 und 3 gebildet)
[x] [10] = Übungsdatum, internes Format (nicht zu definieren, wird aufgrund der Tabellenplätze 4, 5 und 6 gebildet)
[x] [11] = Link zum Jahresprogramm (nicht zu definierten, wird aufgrund der Variablen LinkUebung gebildet)
[x] [12] = Veröffentlichungsdatum, internes Format (nicht zu definieren, wird aufgrund der Tabellenplätze 5 und 20.00 gebildet)
*/
x=-1;
x=x+1;
Uebungstabelle [x] [0] = "Generalversammlung";
Uebungstabelle [x] [1] = "27.01.2012";
Uebungstabelle [x] [2] = "gem. Einladung";
Uebungstabelle [x] [3] = "00.00";
Uebungstabelle [x] [4] = "";
Uebungstabelle [x] [5] = "";
Uebungstabelle [x] [6] = "";
Uebungstabelle [x] [7] = "gem. Einladung";
Uebungstabelle [x] [8] = "01.01.2012";
Uebungstabelle [x] [11] = LinkBeginn + Gaensefuss + LinkUebung + Gaensefuss + LinkEnde;

x=x+1;
Uebungstabelle [x] [0] = "Blutspenden";
Uebungstabelle [x] [1] = "01.03.2012";
Uebungstabelle [x] [2] = "18.00";
Uebungstabelle [x] [3] = "20.00";
Uebungstabelle [x] [4] = "";
Uebungstabelle [x] [5] = "";
Uebungstabelle [x] [6] = "";
Uebungstabelle [x] [7] = "Dorfhalle, Neuendorf";
Uebungstabelle [x] [8] = "01.01.2012";
Uebungstabelle [x] [11] = LinkBeginn + Gaensefuss + LinkUebung + Gaensefuss + LinkEnde;

x=x+1;
Uebungstabelle [x] [0] = "Blutspenden";
Uebungstabelle [x] [1] = "21.08.2012";
Uebungstabelle [x] [2] = "18.00";
Uebungstabelle [x] [3] = "20.00";
Uebungstabelle [x] [4] = "";
Uebungstabelle [x] [5] = "";
Uebungstabelle [x] [6] = "";
Uebungstabelle [x] [7] = "Dorfhalle, Neuendorf";
Uebungstabelle [x] [8] = "01.07.2012";
Uebungstabelle [x] [11] = LinkBeginn + Gaensefuss + LinkUebung + Gaensefuss + LinkEnde;

x=x+1;
Uebungstabelle [x] [0] = "Samaritersammlung";
Uebungstabelle [x] [1] = "25.08.2012";
Uebungstabelle [x] [2] = "09.00";
Uebungstabelle [x] [3] = "16.00";
Uebungstabelle [x] [4] = "";
Uebungstabelle [x] [5] = "";
Uebungstabelle [x] [6] = "";
Uebungstabelle [x] [7] = "Volg, Neuendorf";
Uebungstabelle [x] [8] = "01.08.2012";
Uebungstabelle [x] [11] = LinkBeginn + Gaensefuss + LinkUebung + Gaensefuss + LinkEnde;

x=x+1;
Uebungstabelle [x] [0] = "Samaritersammlung";
Uebungstabelle [x] [1] = "01.09.2012";
Uebungstabelle [x] [2] = "09.00";
Uebungstabelle [x] [3] = "16.00";
Uebungstabelle [x] [4] = "";
Uebungstabelle [x] [5] = "";
Uebungstabelle [x] [6] = "";
Uebungstabelle [x] [7] = "Volg, Neuendorf";
Uebungstabelle [x] [8] = "20.08.2012";
Uebungstabelle [x] [11] = LinkBeginn + Gaensefuss + LinkUebung + Gaensefuss + LinkEnde;

x=x+1;
Uebungstabelle [x] [0] = "2-t&auml;gige Vereinsreise";
Uebungstabelle [x] [1] = "08.09.2012";
Uebungstabelle [x] [2] = "gem. Einladung";
Uebungstabelle [x] [3] = "00.00";
Uebungstabelle [x] [4] = "09.09.2012";
Uebungstabelle [x] [5] = "";
Uebungstabelle [x] [6] = "";
Uebungstabelle [x] [7] = "gem. Einladung";
Uebungstabelle [x] [8] = "31.07.2012";
Uebungstabelle [x] [11] = LinkBeginn + Gaensefuss + LinkUebung + Gaensefuss + LinkEnde;

x=x+1;
Uebungstabelle [x] [0] = "Generalversammlung";
Uebungstabelle [x] [1] = "01.02.2013";
Uebungstabelle [x] [2] = "gem. Einladung";
Uebungstabelle [x] [3] = "00.00";
Uebungstabelle [x] [4] = "";
Uebungstabelle [x] [5] = "";
Uebungstabelle [x] [6] = "";
Uebungstabelle [x] [7] = "gem. Einladung";
Uebungstabelle [x] [8] = "01.12.2012";
Uebungstabelle [x] [11] = LinkBeginn + Gaensefuss + LinkUebung + Gaensefuss + LinkEnde;

if (DU == "J")
  { 
    returnwert = (Uebungstabelle [0] [1]).substr(6,4);
    return returnwert;
  }

/*Datums- und Zeitangaben in internes Format umsetzen*/
Anzahl = 0;
AnzUebung = 0;
NaechsteUebung = "A";
NaechsteUebungrein = "A";
NaechstesBlutspenden = "A";
NaechsteGV = "A";
while (Anzahl < Uebungstabelle.length)
{
	if (Uebungstabelle [Anzahl] [0] == "")
	  {
    }
  else
  	{
			AnzUebung++;
			/*Datumswerte in interne Datumswerte umsetzen*/
			if ((Uebungstabelle [Anzahl] [0] != ""))
			{
			  /*Übungsdatum*/
			  Uebungstabelle [Anzahl] [9]= intDatumZeit((Uebungstabelle [Anzahl] [1]), (Uebungstabelle [Anzahl] [2]));

			  /*Übungsdatum*/
			  Uebungstabelle [Anzahl] [10]= intDatumZeit((Uebungstabelle [Anzahl] [4]), (Uebungstabelle [Anzahl] [5]));
			
			  /*Veröffentlichungsdatum*/
        Uebungstabelle [Anzahl] [12] = intDatumZeit((Uebungstabelle [Anzahl] [8]), '20:00');
      }

      Datum = Uebungstabelle [Anzahl] [9];
      Veroeffentlichung = Uebungstabelle [Anzahl] [12];
      Zwischentext = Uebungstabelle [Anzahl] [1];
      if ((Uebungstabelle [Anzahl] [1]) != "offen" && Zwischentext.substr(0, 2) != "00" && Datum >= today && Veroeffentlichung < today && NaechsteUebung == "A")
        {
     	  	NaechsteUebung = Anzahl;
        }
        
      if ((Uebungstabelle [Anzahl] [1]) != "offen" && Zwischentext.substr(0, 2) != "00" && Datum >= today && 
          Veroeffentlichung < today && NaechstesBlutspenden == "A" && (Uebungstabelle [Anzahl] [0]) == "Blutspenden")
        {
     	  	NaechstesBlutspenden = Anzahl;
        }
        
      if ((Uebungstabelle [Anzahl] [1]) != "offen" && Zwischentext.substr(0, 2) != "00" && Datum >= today && 
          Veroeffentlichung < today && NaechsteGV == "A" && (Uebungstabelle [Anzahl] [0]) == "Generalversammlung")
        {
     	  	NaechsteGV = Anzahl;
        }
        
      if ((Uebungstabelle [Anzahl] [1]) != "offen" && Zwischentext.substr(0, 2) != "00" && Datum >= today && 
          Veroeffentlichung < today && NaechsteUebungrein == "A" && (Uebungstabelle [Anzahl] [0]) != "Generalversammlung" && (Uebungstabelle [Anzahl] [0]) != "Blutspenden")
        {
     	  	NaechsteUebungrein = Anzahl;
        }
    }
Anzahl++;
}

  if (DU != "NUR" && DU != "NU" && DU != "A" && DU != "NB" && DU != "NG" && DU != "T" && DU != "L")
{
  Uebung     = Uebungstabelle [Nummer] [0];
  Besammlung = Uebungstabelle [Nummer] [3];
  Besammlungsort = Uebungstabelle [Nummer] [7];
  Datum 		 = Uebungstabelle [Nummer] [9];
  Datum2 		 = Uebungstabelle [Nummer] [10];
  Veroeffentlichung = Uebungstabelle [Nummer] [12];
  Zeit       = Uhrzeit(Datum);
  Wochentag  = wotag(Datum);
  Wochentag2  = wotag(Datum2);
  Kursdatum = Uebungstabelle [Nummer] [1];
  Kurszeit1 = Uebungstabelle [Nummer] [2];
  Kurszeit2 = Uebungstabelle [Nummer] [3];
  Kursdatum2 = Uebungstabelle [Nummer] [4];
  Kurszeit3 = Uebungstabelle [Nummer] [5];
  Kurszeit4 = Uebungstabelle [Nummer] [6];
  LinkKurs = Uebungstabelle [Nummer] [11];
  
  ZeitAusgabe = ZeitAusgabeFormat(Kurszeit1, Kurszeit2);
  ZeitAusgabe2 = ZeitAusgabeFormat(Kurszeit3, Kurszeit4);
    
  returnwert = "";
  
  DatAusgabe = DatumAusgabe (Kursdatum, Datum);
  DatAusgabe2 = DatumAusgabe (Kursdatum, Datum2);
  
/*Formatierung der Ausgabe definieren*/
if (DU != "A")
  {
    Formatierung = Abgelaufen(Datum, Datum, Datum);
  }
}

switch (DU)
{
	case "DATE":
	  returnwert = Datum;
	  break;
	case "D":
	  /*Gibt den Wochentag und das Datum der Übung zurück*/
	  returnwert = AusgabeWotagDatum (Kursdatum, DatAusgabe, Wochentag, Formatierung, DU);
    if (Kursdatum2 != "")
      {
        returnwert = returnwert + Zeilenwechsel + Zeilenwechsel + wotag(Datum2) + Zeilenwechsel + DatAusgabe2;
      }
		break;
	case "U":
	  /*Gibt die Bezeichnung und den Besammlungsort der Übung zurück*/
	  returnwert = AusgabeBesammlungsort (Uebung, Kursdatum, Kursdatum2, "", Kurszeit1, Kurszeit2, "00.00", "00.00", ZeitAusgabe, ZeitAusgabe2, "00.00", "00.00", Besammlungsort, Formatierung, Einr, "UBU");
		break;		
	case "UU":
	  /*Gibt die Bezeichnung der Übung zurück*/
  	returnwert = Formatierung + Uebung + DivEnde;
		break;
	case "UB":
	  /*Gibt den Besammlungsort der Übung zurück*/
		returnwert = AusgabeBesammlungsort (Uebung, Kursdatum, Kursdatum2, "", Kurszeit1, Kurszeit2, "00.00", "00.00", ZeitAusgabe, ZeitAusgabe2, "00.00", "00.00", Besammlungsort, Formatierung, Einr, "UBU");
		break;
	case "UBZ":
	  /*Gibt den Besammlungsort der Übung zurück*/
		returnwert = AusgabeBesammlungsort (Uebung, Kursdatum, Kursdatum2, "", Kurszeit1, Kurszeit2, "00.00", "00.00", ZeitAusgabe, ZeitAusgabe2, "00.00", "00.00", Besammlungsort, Formatierung, Einr, "UBU");
		break;
  case "A":
	  /*Gibt die Anzahl Übungen zurück*/
    returnwert = AnzUebung;
 	  break;
  case "NU":
    /*Gibt die Nummer der nächsten Übung zurück; A=es gibt keine nächste Übung*/
    returnwert = NaechsteUebung;
 	  break;
  case "NUR":
	  /*Gibt die Nummer der nächsten Übung zurück; A=es gibt keine nächste Übung; effektive Übung ohne andere Aktivität*/
    returnwert = NaechsteUebungrein;
 	  break;
  case "NB":
	  /*Gibt die Nummer des nächsten Blutspendens zurück; A=es gibt kein nächstes Blutspenden*/
    returnwert = NaechstesBlutspenden;
 	  break;
  case "NG":
    /*Gibt die Nummer der nächsten Generalversammlung zurück; A=es gibt keine nächste Generalversammlung*/
    returnwert = NaechsteGV;
 	  break;
  case "T":
    /*gibt den Besammlungsort zurück*/
  	  returnwert = Besammlungsort;
  	  break;
  case "L":
    /*gibt den Link zurück*/
  	  returnwert = LinkKurs;
  	  break;
  case "W":
    /*gibt den Wochentag zurück*/
  	  returnwert = Wochentag;
  	  break;
  case "WD":
    /*gibt den Wochentag und das Datum zurück, ohne Formatierung*/
		    returnwert = Wochentag + ", "
										+	DatAusgabe;
  case "WF":
    /*gibt den Wochentag und das Datum zurück, ohne Zeilenwechsel*/
	  returnwert = AusgabeWotagDatum (Kursdatum, DatAusgabe, Wochentag, Formatierung, DU);
	  if (Kursdatum2 != "")
      {
        returnwert = returnwert + AusgabeWotagDatum (Kursdatum2, DatAusgabe2, Wochentag2, Formatierung, DU);
      }
}

return returnwert;
}

/*=====================  nextAktivitaet ==============================*/
/*ermittelt die nächste Aktivität, ausgehend vom aktuellen Tagesdatum */
function nextAktivitaet ()
{
/*Variablen */
var nextUebung;
var returnwert;

  nextUebung = Aktivitaeten(1,"NU",0);
  returnwert = nextUebung;
  
  if (nextUebung != "A")
    {
    	returnwert = (Aktivitaeten(nextUebung,'WF',0))+(Aktivitaeten(nextUebung,'UU',0))+(Aktivitaeten(nextUebung,'UBZ',0))
    }
  
  return returnwert;
}

/*=====================  nextAktivitaetrein ==============================*/
/*ermittelt die nächste Übung, ausgehend vom aktuellen Tagesdatum; effektive Übung */
function nextAktivitaetrein ()
{
/*Variablen */
var nextUebung;
var returnwert;

  nextUebung = Aktivitaeten(1,"NUR",0);
  returnwert = nextUebung;
  
  if (nextUebung != "A")
    {
    	returnwert = (Aktivitaeten(nextUebung,'WF',0))+(Aktivitaeten(nextUebung,'UU',0))+(Aktivitaeten(nextUebung,'UBZ',0))+"<br><br><br>";
    }
  
  return returnwert;
}

/*=====================  nextBlutspenden ==============================*/
/*ermittelt das nächste Blutspenden, ausgehend vom aktuellen Tagesdatum */
function nextBlutspenden ()
{
/*Variablen */
var nextBlutspenden;
var returnwert;

  nextBlutspenden = Aktivitaeten(1,"NB",0);
  returnwert = nextBlutspenden;
  
  if (nextBlutspenden != "A")
    {
    	returnwert = (Aktivitaeten(nextBlutspenden,'WF',0))+(Aktivitaeten(nextBlutspenden,'UBZ',0))
    }
  
  return returnwert;
}

/*=====================  nextBlutspenden ===============================*/
/*ermittelt das nächste Blutspenden, ausgehend vom aktuellen Tagesdatum */
/*und gibt entweder das Datum oder einen entsprechenden Text, falls     */
/*kein weiteres Blutspenden geplant ist zurück                          */
function nextBlutspendenText ()
{
/*Variablen */
var returnwert;

  returnwert = nextBlutspenden();

  if (returnwert != "A")
    {
    	
    }
  else
    {
    	returnwert = "im "+AktJahrProgramm()+" kein Blutspenden mehr geplant";
    }
    	
  
  return returnwert;
}

/*=====================  nextGV ==============================*/
/*ermittelt die nächste Generalversammlung, ausgehend vom aktuellen Tagesdatum */
function nextGV ()
{
/*Variablen */
var nextGV;
var returnwert;

  nextGV = Aktivitaeten(1,"NG",0);
  returnwert = nextGV;
  
  if (nextGV != "A")
    {
    	returnwert = (Aktivitaeten(nextGV,'WF',0))+(Aktivitaeten(nextGV,'UBZ',0))
    }
  
  return returnwert;
}

/*======================  AktJahrProgramm  =======================*/
/*Gibt das Jahr des Jahresprogramms zurück*/
function AktJahrProgramm(){
/*======  Jahr des Jahresprogramms ======*/
var Jahr;
Jahr = Aktivitaeten(0,"J",0);
return Jahr;
}
