---
# System prepended metadata

title: DYNAMISCHER WOCHENKALENDER

---

# DYNAMISCHER WOCHENKALENDER

<html>
<body>
<!-- Berechnen der aktuellen Woche in der Wir uns befinden beim ersten Laden der Seite. -->


<html>
<body>

<style>
  .kalender-table-border {
   border-width: 10px;
   border-style: solid;
  }

  .kalender-table-cell {
   vertical-align: middle;
   text-align: center;
   padding: 40px;
  }
  
  .kalender-termin-gefunden {
   background: lightgrey;
  }
   
   .kalender-heutigerTag {
   border-width: 5px;
   border-style: solid;
   background: yellow;
  }
</style>







<cfif Not IsDefined("AktuellesDatum")>
	<cfset AktuellesDatum = now()>
</cfif>

<cfset ErsterTagDerWoche = CreateDate(Year(AktuellesDatum),Month(AktuellesDatum), Day(AktuellesDatum) - (DayOfWeek(AktuellesDatum)) + CreateTimeSpan(2,0,0,0))>

<cfset AktuelleWoche = Week(ErsterTagDerWoche - CreateTimeSpan(4,0,0,0))>

<h1> DYNAMISCHER WOCHENKALENDER MIT TERMINNAMEN </h1>

<cfset vorWoche = DateAdd("ww",1,(ErsterTagDerWoche))>
<cfset zuruckWoche = DateAdd("ww",-1,(ErsterTagDerWoche))>

<cffile action="read" file="Termine.txt" variable="Termine">
<cfset aTermine = ListToArray(Termine, "#Chr(10)##Chr(13)#")>
<cfset WocheTermine = ArrayNew(1)>

<cfset StartDatum = ErsterTagDerWoche>
<cfoutput>	#StartDatum# </cfoutput>
<cfset ZielDatum =  DateAdd("d", 6, ErsterTagDerWoche)>
<cfoutput>#ZielDatum#</cfoutput>

<cfloop array = "#aTermine#" index="Row">
	<cfset TerminRow = ListToArray(Row, ";;")>
	<cfset loopDateDiff = DateDiff("d", ErsterTagDerWoche, CreateDate(TerminRow[1],TerminRow[2],TerminRow[3]))>
			
	<cfif loopDateDiff GTE 0 AND loopDateDiff LTE 6>
		<cfset WocheTermine.append(ListToArray(Row, ";;"))> 
	</cfif>
</cfloop>
																										
																								
<table class="kalender-table-border">																												
	
	<head>
		<caption> Wochenkalender </caption> 
		<a href="/kalender_monatsansicht.cfm"> Hier gehts zur Monatsansicht</a>
		<cfoutput> <caption>  KW:  #AktuelleWoche#   Monat: #MonthAsString(Month(AktuellesDatum))# </caption> </cfoutput>
		<tr> <th> MO </th><th> DI </th><th> MI </th><th> DO </th><th> FR </th><th> SA </th><th> SO </th> </tr> 
	</head>  
	<body>
		<tr>
		
			<cfloop From="#StartDatum#" to="#ZielDatum#" step="#CreateTimeSpan(1,0,0,0)#" index="loopDate">
				<cfset i=0> <!-- PRÜFVARABLE OB ALLE TERMINE SCHON ÜBERPRÜFT WURDEN-->
				<cfset TERMIN_GEFUNDEN=0>
				<cfloop array="#WocheTermine#" index="Row">
					
					<cfif Day(loopDate) EQ Row[3] AND Month(loopDate) EQ Row[2] AND Year(loopDate) EQ Row[1]>
						<cfset TERMIN_GEFUNDEN = 1>
					</cfif>
					<cfoutput>
						<cfif Day(loopDate) EQ Day(now()) AND Month(loopDate) EQ Month(now()) AND Year(loopDate) EQ Year(now())>
							<cfif TERMIN_GEFUNDEN EQ 1>
								<td class="kalender-table-cell kalender-termin-gefunden kalender-heutigerTag"><b> #Day(loopDate)# </b> <br> <br> #Row[4]# </td>  <cfbreak>
							<cfelse>
								<cfif i+1 EQ ArrayLen(WocheTermine)>
									<td class="kalender-table-cell kalender-heutigerTag"> <b> #Day(loopDate)# </b> </td> 
									<cfbreak>
								</cfif>
							</cfif>
						<cfelse>
							<cfif TERMIN_GEFUNDEN EQ 1>
								<td class="kalender-table-cell kalender-termin-gefunden"><b> #Day(loopDate)# <br> #Row[4]#</b></td>   <cfbreak>
							<cfelse>
								<cfif i+1 EQ ArrayLen(WocheTermine)>
									<td class="kalender-table-cell"> #Day(loopDate)# </td> 
									<cfbreak>
								</cfif>
							</cfif>
						</cfif>
						<cfset i=i+1>
					</cfoutput>
				</cfloop>
			</cfloop>
			
			<cfif ArrayIsEmpty(WocheTermine) EQ 1>
				<cfoutput>
					<cfloop From="#StartDatum#" to="#ZielDatum#" step="#CreateTimeSpan(1,0,0,0)#" index="loopDate">
						<cfif Day(loopDate) EQ Day(now()) AND Month(loopDate) EQ Month(now()) AND Year(loopDate) EQ Year(now())>
							<td class="kalender-table-cell kalender-heutigerTag"><b> #Day(loopDate)# </b></td>
						<cfelse>
							<td class="kalender-table-cell"> #Day(loopDate)# </td> 
						</cfif>
					</cfloop>
				</cfoutput>
			</cfif>
			
			<td class="kalender-table-border"> 
				<cfif ArrayIsEmpty(WocheTermine) EQ 1>
					Keine Termine in dieser Woche!
				<cfelse>	
					<br><b>Kommende Termine:</b>
					<br>
					<cfloop array="#WocheTermine#" index="Termin">
						<cfoutput><b>#Termin[1]#-#Termin[2]#-#Termin[3]#:</b>  #Termin[4]# - #Termin[5]#<br></cfoutput>
					</cfloop>
				</cfif>
			</td>	
		</tr>
	</body>
</table>
																													
<table>
	<tr>
		<td>
			<form method="post" action name="FormWeiter">
				<cfoutput>
					<input type="hidden" name="AktuellesDatum" value="#vorWoche#">
					<input type="submit" value="Vor">
				</cfoutput>
			</form>
		</td>
		<td>
			<form method="post" action name="FormZuruck">
				<cfoutput>
					<input type="hidden" name="AktuellesDatum" value="#zuruckWoche#">
					<input type="submit" value="Zurück">
				</cfoutput>
			</form>
		</td>
	</tr>
</table>
</table>

</body>
</html>







```