var term = new Date();		// globale Variable für den Termin einer Zeile</PRE>

function setzeTermin(dd, mm, jjjj)  // neuer termin
{
	term.setTime(0);		// Datumsvariable zurücksetzen (sonst buggy!!)
	term.setFullYear(jjjj);
	term.setMonth(mm-1);		// Monate ab 0=Januar
	term.setDate(dd);		// zuerst Monat setzen, wegen Februar!!
}

function isToday(datum) 			// look for same date, time does not interest
{
	var heute = new Date();
         var sHeute = (heute.getDate() +'.'+ (heute.getMonth() + 1) +'.'+ heute.getFullYear());
         var sTermin = (datum.getDate() +'.'+ (datum.getMonth() + 1) +'.'+ datum.getFullYear());
	return(sHeute == sTermin);
}

function isDaysAhead(datum)             // is datum one or more days in the future ?
{
	var heute = new Date();
         var res = false;
         if (datum.getFullYear() > heute.getFullYear())
         	res = true
         else if (datum.getFullYear() == heute.getFullYear())
         {
		if (datum.getMonth() > heute.getMonth())
	        	res = true
	        else if (datum.getMonth() == heute.getMonth())
         	{
			if (datum.getDate() > heute.getDate())
		        	res = true;
	        }
         }
	return(res);
}

function dateToStr(datum)  // convert Date to String
{
	var tag = datum.getDate();
	var monat = datum.getMonth() + 1;	// Monat in 0..11
	var jahr = datum.getFullYear();
	var TagInWoche = datum.getDay();
	var Wochentag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");

         if (isToday(datum))
         	return ('Heute ('+ tag +'.'+ monat +'.)')
         else
		return (Wochentag[TagInWoche] +', '+ tag +'.'+ monat +'.'+ jahr);
}

function termWrite(yyyy, mm, dd, zeit, ort, was, bgfarbe)
{	// Parameter: Zahlen sind: yyyy, mm, dd
	// Strings: alle uebrigen

	setzeTermin(dd, mm, yyyy);
         if (isDaysAhead(term))
	{
         	txtColor = '';
		bgColor = bgfarbe;
	}
	else
	{
		if (isToday(term))
		{
			txtColor = '; color: #dc143c';  // color: #b22222';
			bgColor = bgfarbe;
		}
		else
			return;
	}
	document.writeln('<TR style="background: '+ bgColor +' none'+ txtColor +'">'+
         		 '<TD style="width: 120px">'+ dateToStr(term) +'</TD>'+
			 '<TD style="width: 50px">'+ zeit +'</TD>'+
         		 '<TD>'+ ort +'</TD>'+
			 '<TD>'+ was +'</TD>'+
			 '</TR>');
}

function isCurrentOrComingMonth(mm, yyyy)
{
        var heute = new Date();
        var res = false;
        if (yyyy > heute.getFullYear())
                res = true
        else if (yyyy == heute.getFullYear())
        {
	        if (mm >= heute.getMonth())
                        res = true
        }
        return res;
}

function MonthWrite(month, mm, yyyy)
{       // Parameter: month: String; mm, yyyy: Integer

        if (isCurrentOrComingMonth(mm, yyyy))
        {
	        document.writeln('<TR style="background: #f8f8ff none">'+
         	        	 '<TD colspan="4" class="termineMonthName" style="height: 36px">'+ month +'</TD>'+
			         '</TR>');
        }
}

function tabellenkopf()
{
    document.writeln('<table border="0" summary="Aktuelle Termine der Vineyard Aachen" id="termine" style="table-layout: fixed; background: #E0E0E0 none; border-spacing: 1px;">');
    document.writeln('<colgroup>'+
              	    '<col width="120" />'+
              	    '<col width="50" />'+
              	    '<col width="170" />'+
              	    '<col />'+
             	    '</colgroup>');
    document.writeln('<tr>'+
          	    '<th>Datum</th>'+
          	    '<th>Zeit</th>'+
          	    '<th>Ort</th>'+
          	    '<th>Veranstaltung</th>'+
        		    '</tr>');
}

function tabellenabschluss()
{
    document.writeln('</table>');
}
