var AktuellerTag = 0;
var AktuellesGenre = -1;
var ErsterStart = true;

var thisElemID = 0;
var resetEinblenden = 0;
var resetAusblenden = 0;

var ArrayTage = new Array();
var ArrayGenre = new Array();
var ArrayGenreMenuTexte = new Array();
var ArrayTippVorhanden = new Array(); // ein Wert enthält die Bits für den Tag, TRUE=Tipp, FALSE=Deaktiviert!

var user_aktion = false;
// initfunktionen:

document.observe("dom:loaded", function() {
    OnTimer(0);
});

function OnTimer(ursprung) {
  if(user_aktion == false) {
    if (ursprung == 1) {
      var next_genre = AktuellesGenre+1;
      Wechsel_Genre(next_genre);
    }
    window.setTimeout("OnTimer(1)",5000);
  }
}

function ArrayTageFuellen(Wert) {
	ArrayTage.push(Wert);
}

function ArrayGenreFuellen(Wert) {
	ArrayGenre.push(Wert);
}

function ArrayGenreMenuTexteFuellen(Wert) {
	ArrayGenreMenuTexte.push(Wert);
}

function ArrayTippVorhandenFuellen(Wert) {
	ArrayTippVorhanden.push(Wert);
}


function setVisibilityToHidden()
{
    if(thisElemID)
        $(thisElemID).style.visibility = "hidden";
    thisElemID = 0;
    resetIeStyle(true);
}

function resetIeStyle(Ausblenden)
{
    if (Prototype.Browser.IE) {
        if (Ausblenden != true)
        {
            if(resetEinblenden) {
              $(resetEinblenden).down("div.tagestippTexte").removeClassName("iefix");
              resetEinblenden = 0;
            }
        }
        else
        {
            if(resetAusblenden) {
              $(resetAusblenden).down("div.tagestippTexte").removeClassName("iefix");
              resetAusblenden = 0;
            }
        }
    }
}

//betriebsfunktionen:

function Wechsel_Tag(Tag) {
  DeaktivitaetsCheck(Tag);
	if(document.getElementById("tagestipp"+ArrayTage[AktuellerTag]+ArrayGenre[AktuellesGenre]))
    document.getElementById("tagestipp"+ArrayTage[AktuellerTag]+ArrayGenre[AktuellesGenre]).style.visibility = "hidden";
  AktuellesGenre = ShowContent(AktuellesGenre,Tag);
  Genreaustauschen(AktuellesGenre);
	AktuellerTag = Tag;
	Menutauschen(Tag);
}

function GetNextGenre(Genre,Tag) {
 ret = -1;
  if(0 < ArrayTippVorhanden[Tag]) {
    if (6 == Genre)
      Genre = 0;
    if (!document.getElementById("tagestipp"+ArrayTage[Tag]+ArrayGenre[Genre]))
  	{
      Genre++;
      ret = GetNextGenre(Genre,Tag);
    }
  }
  if (-1 == ret)
    return Genre;
  else
    return ret;
}

/*  macht den Inhalt des Tipps sichtbar, wenn er vorhanden ist,
    ansonsten wird das nächste Genre aufgerufen.
    gibt das neue sichtbare Genre zurück;
*/ 
function ShowContent(Genre,Tag) {
  ret = -1;
  if(0 < ArrayTippVorhanden[Tag]) {
    if (6 == Genre)
      Genre = 0;
    if (document.getElementById("tagestipp"+ArrayTage[Tag]+ArrayGenre[Genre]))
  	{
        var elemID = "tagestipp"+ArrayTage[Tag]+ArrayGenre[Genre];
        if(AktuellesGenre == -1 || Prototype.Browser.Opera)
        {
            //kein element eingeblendet -> kein effekt
            $(elemID).style.visibility = "visible";
        }
        else
        {
            $(elemID).setStyle({
                opacity: "0",
              	filter: "alpha(opacity=0)",
              	visibility: "visible"
            });
            
            //  IE workaround:
            resetEinblenden = elemID;
            if (Prototype.Browser.IE) {
                $(elemID).down("div.tagestippTexte").addClassName("iefix");
            }
            
            new Effect.Opacity(elemID, {
                duration: 0.4, 
                from: 0,
                to: 1,
                afterFinish: resetIeStyle
            });
        }
    }
    else {
      Genre++;
      ret = ShowContent(Genre,Tag);
    }
  }
  if (-1 == ret)
    return Genre;
  else
    return ret; 
}

function Wechsel_Genre(Genre) {
  var next_genre = GetNextGenre(Genre,AktuellerTag);
  if(AktuellesGenre == next_genre)
    return;
  if(Genre == AktuellesGenre) //ist neu= alt -> nichts machen
    return;
  
  if(document.getElementById("tagestipp"+ArrayTage[AktuellerTag]+ArrayGenre[AktuellesGenre]))
  {
    	var elemID = "tagestipp"+ArrayTage[AktuellerTag]+ArrayGenre[AktuellesGenre];
      if (Prototype.Browser.Opera)
    	{
          $(elemID).style.visibility = "hidden";
      }
      else
      {
          $(elemID).setStyle({
              opacity: "1",
          	  filter: "alpha(opacity=100)"
          });
          thisElemID = elemID;
          
          //  IE workaround:
          resetAusblenden = elemID;
          if (Prototype.Browser.IE) {
              $(elemID).down("div.tagestippTexte").addClassName("iefix");
          }
          
          new Effect.Opacity(elemID, {
              duration: 0.3,
              from: 1,
              to: 0,
              afterFinish: setVisibilityToHidden
          });
      }
  }
  Genre = ShowContent(next_genre,AktuellerTag);
	Genreaustauschen(Genre);
	AktuellesGenre = Genre;
}

function Genreaustauschen(Genre) {
	if(document.getElementById("tdt_genre_"+ArrayGenre[AktuellesGenre]))
    document.getElementById("tdt_genre_"+ArrayGenre[AktuellesGenre]).className = "normal";
	if(document.getElementById("tdt_genre_"+ArrayGenre[Genre]))
    document.getElementById("tdt_genre_"+ArrayGenre[Genre]).className = "active";
}

function Bildaustauschen(Tag,Genre) {
	if(document.getElementById("tdt_fenster"))
    document.getElementById("tdt_fenster").style.backgroundImage = "url("+Bilder_URL_Array[Tag][Genre]+")";
	if(document.getElementById(Id_Inhalt_Array[AktuellerTag][AktuellesGenre]))
    document.getElementById(Id_Inhalt_Array[AktuellerTag][AktuellesGenre]).className = "tdt_inhalt_hide";
	if(document.getElementById(Id_Inhalt_Array[Tag][Genre]))
    document.getElementById(Id_Inhalt_Array[Tag][Genre]).className = "tdt_inhalt_show";
}

function Menutauschen(NeuerTag) {
	switch (NeuerTag) {
		case 0: document.getElementById("tag1").className = "heute";
				document.getElementById("tag2").className = "morgen_heute";
				document.getElementById("tag3").className = "uebermorgen_heute";
				break;
		case 1: document.getElementById("tag1").className = "heute_morgen";
				document.getElementById("tag2").className = "morgen";
				document.getElementById("tag3").className = "uebermorgen_morgen";
				break;
		case 2: document.getElementById("tag1").className = "heute_uebermorgen";
				document.getElementById("tag2").className = "morgen_uebermorgen";
				document.getElementById("tag3").className = "uebermorgen";
				break;
	}
}

/*  kontrolliert ob die Tipps zu dem Tag vorhanden sind.
    fehlt ein tipp zu einem Genre, wird das genre ausgegraut,
    ansonten wird es normal dargestellt.    
*/
function DeaktivitaetsCheck(Tag) {
  for (j=0; j<6; j++) {
    if (!document.getElementById("tagestipp"+ArrayTage[Tag]+ArrayGenre[j])) {
      if (document.getElementById("Li_genre_"+ArrayGenre[j]))
		    document.getElementById("Li_genre_"+ArrayGenre[j]).innerHTML = ArrayGenreMenuTexte[j];
    } else {
      if (document.getElementById("Li_genre_"+ArrayGenre[j])) {
        document.getElementById("Li_genre_"+ArrayGenre[j]).innerHTML = "<a href=\"#\" onclick=\"user_aktion = true;Wechsel_Genre("+j+"); return false;\" onfocus=\"blur();\" title=\""+ArrayGenreMenuTexte[j]+"\" class=\"normal\" id=\"tdt_genre_"+ArrayGenre[j]+"\">"+ArrayGenreMenuTexte[j]+"</a>";
      }
    }
  }
}
