/* --------------------------------------------------------------------------------
   Adventskalender

   Autor: Dietmar Rabich
   Datei: adventskalender.js

   Copyright (c) Dietmar Rabich, Duelmen.
   Alle Rechte vorbehalten.

   Diese Datei stammt von http://skripte.rabich.de/.

   Das Entfernen oder Veraendern dieser Informationen ist
   ohne ausdrueckliche Zustimmung des Autors nicht gestattet.

   Aenderungen:
   5.10.2003  Erstellung
   1.12.2003  Darstellungsfehler am 1. Dezember behoben
-------------------------------------------------------------------------------- */

// === Individueller Teil ===

// Funktion (oder Funktionen) fuer jede Tuer
function eigene_funktion(nr)
{
	alert("Hier sollte deine eigene Funktion aktiv werden!\nAngeklickt wurde das T\u00FCrchen mit der Nummer " + nr + ".");
}

// Intervall zum Oeffnen von Tueren (Anfangseffekt)
var	tueren_offnen_intervall	= 500;

// Verzeichnis fuer alle Bilder
var	bilder_verzeichnis	= "bilder\/";

// Array mit Bildern fuer offene, geschlossen und aktuelle Tuer sowie Funktion zum jeweiligen Tag
var	aktionen	=
[
	{tuer_offen:"tuer1_offen.jpg", tuer_geschlossen:"tuer1.jpg", tuer_aktuell:"tuer1_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer2_offen.jpg", tuer_geschlossen:"tuer2.jpg", tuer_aktuell:"tuer2_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer3_offen.jpg", tuer_geschlossen:"tuer3.jpg", tuer_aktuell:"tuer3_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer4_offen.jpg", tuer_geschlossen:"tuer4.jpg", tuer_aktuell:"tuer4_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer5_offen.jpg", tuer_geschlossen:"tuer5.jpg", tuer_aktuell:"tuer5_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer6_offen.jpg", tuer_geschlossen:"tuer6.jpg", tuer_aktuell:"tuer6_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer7_offen.jpg", tuer_geschlossen:"tuer7.jpg", tuer_aktuell:"tuer7_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer8_offen.jpg", tuer_geschlossen:"tuer8.jpg", tuer_aktuell:"tuer8_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer9_offen.jpg", tuer_geschlossen:"tuer9.jpg", tuer_aktuell:"tuer9_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer10_offen.jpg", tuer_geschlossen:"tuer10.jpg", tuer_aktuell:"tuer10_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer11_offen.jpg", tuer_geschlossen:"tuer11.jpg", tuer_aktuell:"tuer11_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer12_offen.jpg", tuer_geschlossen:"tuer12.jpg", tuer_aktuell:"tuer12_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer13_offen.jpg", tuer_geschlossen:"tuer13.jpg", tuer_aktuell:"tuer13_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer14_offen.jpg", tuer_geschlossen:"tuer14.jpg", tuer_aktuell:"tuer14_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer15_offen.jpg", tuer_geschlossen:"tuer15.jpg", tuer_aktuell:"tuer15_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer16_offen.jpg", tuer_geschlossen:"tuer16.jpg", tuer_aktuell:"tuer16_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer17_offen.jpg", tuer_geschlossen:"tuer17.jpg", tuer_aktuell:"tuer17_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer18_offen.jpg", tuer_geschlossen:"tuer18.jpg", tuer_aktuell:"tuer18_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer19_offen.jpg", tuer_geschlossen:"tuer19.jpg", tuer_aktuell:"tuer19_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer20_offen.jpg", tuer_geschlossen:"tuer20.jpg", tuer_aktuell:"tuer20_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer21_offen.jpg", tuer_geschlossen:"tuer21.jpg", tuer_aktuell:"tuer21_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer22_offen.jpg", tuer_geschlossen:"tuer22.jpg", tuer_aktuell:"tuer22_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer23_offen.jpg", tuer_geschlossen:"tuer23.jpg", tuer_aktuell:"tuer23_aktuell.jpg", aktion:eigene_funktion},
	{tuer_offen:"tuer24_offen.jpg", tuer_geschlossen:"tuer24.jpg", tuer_aktuell:"tuer24_aktuell.jpg", aktion:eigene_funktion}
];

// === Statischer Teil ===

var	heute	= new Date();	// Aktuelles Datum
var	monat	= heute.getMonth() + 1;	// Monat
var	tag	= heute.getDate();	// Tag
var	vorweihnachtszeit	= (monat == 12) && (tag >= 1) && (tag <= 24);	// Aktivitaetszeitraum des Adventskalenders
var	initialized	= false;	// Status, ob Anwendung initialisiert ist
var	prefetched_image_offen	= new Image();	// Bild mit offener Tuer fuer aktuellen Tag
var	prefetched_image_aktuell	= new Image();	// Bild mit zu oeffnender Tuer fuer aktuellen Tag
var	prefetched_image_copyright	= new Image();	// Bild fuer Copyrighthinweis
var	prefetched_image_temp	= new Image();	// Bild fuer Effekt
var	aktuelle_tuer_status	= 0;	// Status der Tuer
var	bild_prefix	= "tuer";

// MouseOver-Funktion
function mouseover(nr)
{
	if(!initialized)
		return;

	if(vorweihnachtszeit)
		if(nr == tag)
			if(aktuelle_tuer_status == 0)
				document.images[bild_prefix + nr].src	= prefetched_image_aktuell.src;
	status	= "Das T\u00FCrchen f\u00FCr den " + nr + ". Tag!";
	return true;
}

function mouseover_copyright()
{
	if(!initialized)
		return;

	document.images["copyright"].src	= prefetched_image_copyright.src;
	return true;
}

// MouseOut-Funktion
function mouseout(nr)
{
	if(!initialized)
		return;

	if(vorweihnachtszeit)
		if(nr == tag)
			if(aktuelle_tuer_status == 0)
				document.images[bild_prefix + nr].src	= bilder_verzeichnis + aktionen[nr - 1].tuer_geschlossen;
	status	= "";
}

function mouseout_copyright()
{
	if(!initialized)
		return;

	document.images["copyright"].src	= bilder_verzeichnis + "kalender37.gif";
}

// Auswertung der Aktion, wenn eine Tuer angeklickt wurde
function aktion(nr)
{
	// Warten, bis initialisiert wurde
	if(!initialized)
	{
		alert("Einen kleinen Augenblick bitte noch! Danke!");
		return;
	}

	// Dezember?
	if(monat == 12)
	{
		// 25. oder 26.?
		if(tag == 25 || tag == 26)
			alert("Frohe Weihnachten!");

		// Zwischen 1. und 24.?
		else if(tag >= 1 && tag <= 24)
		{
			// Tuerchen nach dem aktuellen Tag angeklickt
			if(nr > tag)
				alert("So weit ist es noch nicht. Das T\u00FCrchen bleibt zu.");

			// Tuerchen vor dem aktuellen Tag angeklickt
			else if(nr < tag)
				alert("Schade, das T\u00FCrchen ist schon auf!");

			// Das richtige Tuerchen!
			else // nr == tag
			{
				// Tuer noch nicht offen?
				if(aktuelle_tuer_status == 0)
				{
					aktuelle_tuer_status	= 1;
					document.images[bild_prefix + nr].src	= prefetched_image_offen.src;
				}
				aktionen[nr - 1].aktion(nr);
			}
		}

		// Ab dem 27.!
		else
			alert("Weihnachten ist leider gerade vorbei.");
	}
	else if(monat <= 6) // 1. Jahreshaelfte
		alert("Weihnachten ist schon " + ((monat > 3) ? "lange " : "") + "vorbei.");
	else if(monat >= 6) // 2. Jahreshaelfte
		alert("Weihnachten ist noch " + ((monat < 10) ? "lange " : "") + "nicht.");
}

// Effekt des Tueroeffnens fuer vergangene Tage
function oeffne_tueren(aktuell, maximal)
{
	// 1. Dezember? Keine Tuer oeffnen!
	if(aktuell == 1 && maximal == 0)
	{
		initialized	= true;
		return;
	}

	// Ab 2. Dezember ...
	document.images[bild_prefix + aktuell].src	= bilder_verzeichnis + aktionen[aktuell - 1].tuer_offen;
	if(aktuell == maximal)
		initialized	= true;
	else
	{
		prefetched_image_temp.src	= bilder_verzeichnis + aktionen[aktuell + 1].tuer_offen;
		setTimeout("oeffne_tueren(" + (aktuell + 1) + ", " + maximal + ")", tueren_offnen_intervall);
	}
}

// Initialisierung
function init()
{
	prefetched_image_copyright.src	= bilder_verzeichnis + "kalender37_copyright.gif";

	if(vorweihnachtszeit)
	{
		prefetched_image_offen.src	= bilder_verzeichnis + aktionen[tag - 1].tuer_offen;
		prefetched_image_aktuell.src	= bilder_verzeichnis + aktionen[tag - 1].tuer_aktuell;
		prefetched_image_temp.src	= bilder_verzeichnis + aktionen[1].tuer_offen;
		setTimeout("oeffne_tueren(" + 1 + ", " + (tag - 1) + ")", tueren_offnen_intervall);
	}
	else
		initialized	= true;
}

// EOF
