// ### 
// ### 0 = Init
// ### 1 = Nacht (standbild)
// ### 2 = Morgendämmerung 1 (zu)
// ### 3 = Morgendämmerung 2 (zu)
// ### 4 = Morgendämmerung 3 (zu)
// ### 5 = Morgendämmerung 4 (zu tag)
// ### 6 = Tag (Standbild)
// ### 7 = dämmerung 1 (zu)
// ### 8 = dämmerung 2 (zu nacht)
// ### 9 = nacht (standbild) --> 1

HimmelStatus = 7;

HimmelStatusValue = 0;



var DatumStart = new Date();
var ZeitStart = DatumStart.getTime();
var fFirstRun=0;
var StartBlendenCounter = 0;

var ICECounter=0;
var ICEGo = 1;

var ICELen = 0;

var MaduniaLanguage = 'en';

var iActionCountdown = 0;
var fActionRun = 0;
var iActionCount = 0;
var iActionNumber = 0;

pic_news = new Image(117,20);
pic_news.src = "http://www.madunia.de/images/ice-de-news.gif";
pic_news2 = new Image(117,20);
pic_news2.src = "http://www.madunia.de/images/ice-de-news2.gif";

pic_king = new Image(117,20);
pic_king.src = "http://www.madunia.de/images/ice-de-king.gif";
pic_king2 = new Image(117,20);
pic_king2.src = "http://www.madunia.de/images/ice-de-king2.gif";

pic_community = new Image(117,20);
pic_community.src = "http://www.madunia.de/images/ice-de-community.gif";
pic_community2 = new Image(117,20);
pic_community2.src = "http://www.madunia.de/images/ice-de-community2.gif";


function s1(imgDocID,imgObjName)
{
	document.images[imgDocID].src = eval(imgObjName + ".src");
}


function getCookieVal (offset) 
{ 
     var endstr = document.cookie.indexOf (";", offset);
     if (endstr == -1) 
          endstr = document.cookie.length; 
     return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name)
{ 
     var arg = name + "="; 
     var alen = arg.length; 
     var clen = document.cookie.length; 
     var i = 0; 
     while (i < clen) 
     { 
          var j = i + alen; 
          if (document.cookie.substring(i, j) == arg) 
               return getCookieVal (j); 
          i = document.cookie.indexOf(" ", i) + 1; 
          if (i == 0) 
               break; 
     } 
     return null;
}

function SetCookie (name, value) 
{ 
     var argv = SetCookie.arguments; 
     var argc = SetCookie.arguments.length; 
     var expires = (argc > 2) ? argv[2] : null; 
     var path = (argc > 3) ? argv[3] : null; 
     var domain = (argc > 4) ? argv[4] : null; 
     var secure = (argc > 5) ? argv[5] : false; 

     document.cookie = name + "=" + escape (value) + 
     ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
     ((path == null) ? "" : ("; path=" + path)) + 
     ((domain == null) ? "" : ("; domain=" + domain)) + 
     ((secure == true) ? "; secure" : "");
}

function DeleteCookie (name) 
{ 
     var exp = new Date(); 
     exp.setTime (exp.getTime() - 1); 
     var cval = GetCookie (name); 
     document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function SetOpacity (sName,iValue)
{
     if (Browser=="ie5" || Browser=="ie6" || Browser=="ie7")
     {
          document.getElementById(sName).filters.item(0).enabled = 1;
          document.getElementById(sName).filters.item(0).opacity = iValue*100;
     }
     else
     {
          document.getElementById(sName).style.MozOpacity = iValue;
          document.getElementById(sName).style.Opacity = iValue;
     }
}

function Init (sLanguage) 
{
     HimmelStatus = 0;
     HimmelStatusValue = 0;

     SetOpacity ("StartBlende",1);

     // SetCookie("MaduniaStarted","");
     MaduniaStarted  = GetCookie("MaduniaStarted")+"";
     if (MaduniaStarted=="" || MaduniaStarted=="null")
          MaduniaStarted = 0;
     
     if (sLanguage != "")
     {
          if (sLanguage=='de')
               MaduniaLanguage = 'de';
     }
     
     if (MaduniaStarted == 0)
     {
          StartBlendenCounter = 20;
          StartBlendenSpeed = 0.05;

          ICECounter=-1200;
          ICEGo = 1;

          SetCookie("MaduniaStarted","1");
          SetOpacity ("ICESignalGreen",1.0);
     }
     else
     {
          StartBlendenCounter = 1;
          StartBlendenSpeed = 0.0;

          ICECounter = 0;
          ICEGo = 0;
          SetOpacity ("ICESignalGreen",0.0);
          SetOpacity ("ICESignalRed",1.0);

     }

     if(document.getElementById) 
     {
          document.getElementById("ICEMenu").style.left=ICECounter;
          document.getElementById("ICEMenu").style.width="100%";

          document.getElementById("ICE").style.left=ICECounter;
          document.getElementById("ICE").style.width="100%";

          document.getElementById("ICELicht").style.left=ICECounter;
          document.getElementById("ICELicht").style.width="100%";

          document.getElementById("ICELicht2").style.left=ICECounter;
          document.getElementById("ICELicht2").style.width="100%";
     }
     else
     {
          document.ICE.left = ICECounter+"px;";
          document.ICE.width = "100%;";

          document.ICEMenu.left = ICECounter+"px;";
          document.ICEMenu.width = "100%;";

          document.ICELicht.left = ICECounter+"px;";
          document.ICELicht.width = "100%;";

          document.ICELicht2.left = ICECounter+"px;";
          document.ICELicht2.width = "100%;";
     }

     SetOpacity ("ICELicht",0.0);
     SetOpacity ("ICELicht2",0.0);

     var InitSek = PrintMaduniaTime();
     var SkyZyklen = Math.round(InitSek/86400*18000);

     if (SkyZyklen>=0 && SkyZyklen<4500)
     {
          HimmelStatus = 1;
          SetOpacity ("Nacht",1);
          SetOpacity ("ICELicht",0.8);
          SetOpacity ("ICELicht2",0.4);
     }
     if (SkyZyklen>=4500 && SkyZyklen<6000)
     {
          HimmelStatus = 2;
          HimmelStatusValue = 1;
          SetOpacity ("Nacht",1);
          SetOpacity ("ICELicht",0.8);
          SetOpacity ("ICELicht2",0.4);
          for (For1=4500 ; For1<SkyZyklen;For1++)
               UpdateSky(1);
     }
     if (SkyZyklen>=6000 && SkyZyklen<16125)
     {
          HimmelStatus = 6;
          SetOpacity ("Tag",1);
     }
     if (SkyZyklen>=16125 && SkyZyklen<17625)
     {
          HimmelStatus = 7;
          HimmelStatusValue = 1;
          SetOpacity ("Tag",1);
          for (For1=16125 ; For1<SkyZyklen;For1++)
               UpdateSky(1);
     }
     if (SkyZyklen>=17625)
     {
          HimmelStatus = 1;
          SetOpacity ("Nacht",1);
          SetOpacity ("ICELicht",0.8);
          SetOpacity ("ICELicht2",0.4);
     }

     iActionCountdown = 1500+Math.round(20000*Math.random());
      // iActionCountdown = 150;

     window.setTimeout("UpdateElements();", 50);
}

var iSecretLevel=0;
function Secret (iSecretNumber)
{
     fFailed = 1;
     if (fFailed==1 && iSecretLevel==0 && iSecretNumber==1)
     {
          fFailed = 0;
          iSecretLevel++;
     }
     if (fFailed==1 && iSecretLevel==1 && iSecretNumber==2)
     {
          fFailed = 0;
          iSecretLevel++;
     }
     if (fFailed==1 && iSecretLevel==2 && iSecretNumber==2)
     {
          fFailed = 0;
          iSecretLevel++;
     }
     if (fFailed==1 && iSecretLevel==3 && iSecretNumber==2)
     {
          fFailed = 0;
          iSecretLevel++;
     }
     if (fFailed==1 && iSecretLevel==4 && iSecretNumber==1)
     {
          fFailed = 0;
          iSecretLevel=0;

          Action0000_Init ();
          iActionNumber = 0;
          iActionCountdown = 20000;
          fActionRun = 1;
          iActionCount = 0;
     }
     else
     {
          if (fFailed==0)
          {
               Action0000b_Init ("ok");
               iActionNumber = -1;
               iActionCountdown = 20000;
               fActionRun = 1;
               iActionCount = 0;
          }
          if (fFailed==1 && iSecretLevel>0)
          {
               iSecretLevel=0;
     
               Action0000b_Init ("error");
               iActionNumber = -1;
               iActionCountdown = 20000;
               fActionRun = 1;
               iActionCount = 0;
          }
     }
}

function UpdateElements (iInit) 
{
     UpdateSky (0);
     
     if (ICEGo==1)
          UpdateICEMenu ();
         
     if (StartBlendenCounter>0)
     {
          StartBlendenCounter--;
          SetOpacity ("StartBlende",StartBlendenCounter*StartBlendenSpeed);
     }

     if (iActionCountdown>0)
          iActionCountdown--;
     if (iActionCountdown==0)
     {
          iActionNumber = Math.round(2*Math.random())+1;
          // iActionNumber = 3;
          
          iActionCountdown = 20000+Math.round(50000*Math.random());
          fActionRun = 1;
          iActionCount = 0;
          
          if (iActionNumber == 1)
               Action0001_Init ();
          if (iActionNumber == 2)
               Action0002_Init ();
          if (iActionNumber == 3)
               Action0003_Init ();
     }
     if (fActionRun == 1)
     {
          if (iActionNumber == -1)
               Action0000b_Process();
          if (iActionNumber == 0)
               Action0000_Process();
          if (iActionNumber == 1)
               Action0001_Process();
          if (iActionNumber == 2)
               Action0002_Process();
          if (iActionNumber >= 3)
               Action0003_Process();
          iActionCount++;
     }
     
     PrintMaduniaTime();
     
     if (ICEGo==0 && StartBlendenCounter==0 && fActionRun==0 && (HimmelStatus ==1 || HimmelStatus == 6))
          window.setTimeout("UpdateElements();", 1000);
     else
          window.setTimeout("UpdateElements();", 50);
}

function UpdateICEMenu ()
{
     if (ICECounter >= -250 && ICECounter < 0)
     {
          SetOpacity ("ICESignalRed",1);
          SetOpacity ("ICESignalGreen",0);
     }
     if (ICECounter < -250)
          ICECounter+=20;
     else
          if (ICECounter < -200)
               ICECounter+=15;
          else
               if (ICECounter < -150)
                    ICECounter+=10;
               else
                    if (ICECounter < -100)
                         ICECounter+=6;
                    else
                         if (ICECounter < -70)
                              ICECounter+=4;
                         else
                              if (ICECounter < -50)
                                   ICECounter+=3;
                              else
                                   if (ICECounter < -20)
                                        ICECounter+=2;
                                   else
                                        if (ICECounter < -10)
                                             ICECounter+=1;
                                        else
                                             if (ICECounter < 0)
                                                  ICECounter+=0.5;
                                             else
                                                  ICEGo=0;

     if(document.getElementById) 
     {
          document.getElementById("ICE").style.left=ICECounter;
          document.getElementById("ICEMenu").style.left=ICECounter;
          document.getElementById("ICELicht").style.left=ICECounter;
          document.getElementById("ICELicht2").style.left=ICECounter;
     }
     else
     {
          document.ICE.left = ICECounter;
          document.ICEMenu.left = ICECounter;
          document.ICELicht.left = ICECounter;
          document.ICELicht2.left = ICECounter;
     }
     
     if (ICEGo==0)
     {
          if(document.getElementById) 
          {
               document.getElementById("ICE").style.left="0";
               document.getElementById("ICE").style.width="100%";

               document.getElementById("ICEMenu").style.left="0";
               document.getElementById("ICEMenu").style.width="100%";

               document.getElementById("ICELicht").style.left="0";
               document.getElementById("ICELicht").style.width="100%";

               document.getElementById("ICELicht2").style.left="0";
               document.getElementById("ICELicht2").style.width="100%";
          }
          else
          {
               document.ICE.left = "0px;";
               document.ICE.width = "100%;";

               document.ICEMenu.left = "0px;";
               document.ICEMenu.width = "100%;";

               document.ICELicht.left = "0px;";
               document.ICELicht.width = "100%;";

               document.ICELicht2.left = "0px;";
               document.ICELicht2.width = "100%;";
          }
     }
}

function UpdateSky (iInit) 
{
     if (HimmelStatus==7)
     {
          HimmelStatusValue++;
          SetOpacity ("Sonnenuntergang",HimmelStatusValue*0.0014285714285714285714285714285714);
          
          if (HimmelStatusValue >= 700)
          {
               HimmelStatusValue=0;
               HimmelStatus = 8;
          }
     }
     if (HimmelStatus==8)
     {
          HimmelStatusValue++;
          SetOpacity ("Nacht2",HimmelStatusValue*0.0014285714285714285714285714285714);
          
          if (HimmelStatusValue == 100)
          {
               SetOpacity ("ICELicht",0.8);
               SetOpacity ("ICELicht2",0.4);
          }
          if (HimmelStatusValue == 101)
          {
               SetOpacity ("ICELicht",0.0);
               SetOpacity ("ICELicht2",0.0);
          }
          if (HimmelStatusValue == 103)
          {
               SetOpacity ("ICELicht",0.8);
               SetOpacity ("ICELicht2",0.4);
          }
          
          if (HimmelStatusValue >= 700)
          {
               HimmelStatusValue=0;
               HimmelStatus = 9;
          }
     }
     
     if (HimmelStatus==9)
     {
          if (HimmelStatusValue==0)
          {
               SetOpacity ("Nacht",1);
               SetOpacity ("Morgen1",0);
               SetOpacity ("Morgen2",0);
               SetOpacity ("Morgen3",0);
               SetOpacity ("Tag",0);
               SetOpacity ("Sonnenuntergang",0);
               SetOpacity ("Nacht2",0);

               HimmelStatus = 1;
          }
     }
     if (HimmelStatus==2)
     {
          HimmelStatusValue++;
          SetOpacity ("Morgen1",HimmelStatusValue*0.0025);
          
          if (HimmelStatusValue > 350)
               SetOpacity ("Morgen2",(HimmelStatusValue-350)*0.0014285714285714285714285714285714);
          
          if (HimmelStatusValue >= 400)
          {
               HimmelStatusValue=0;
               HimmelStatus = 3;
          }
     }
     
     if (HimmelStatus==3)
     {
          HimmelStatusValue++;
          SetOpacity ("Morgen2",(50+HimmelStatusValue)*0.0014285714285714285714285714285714);

          if (HimmelStatusValue == 300)
          {
               SetOpacity ("ICELicht",0.0);
               SetOpacity ("ICELicht2",0.0);
          }
          
          if (HimmelStatusValue > 500)
               SetOpacity ("Morgen3",(HimmelStatusValue-500)*0.0025);
          if (HimmelStatusValue >= 650)
          {
               HimmelStatusValue=0;
               HimmelStatus = 4;
          }
     }
     
     if (HimmelStatus==4)
     {
          HimmelStatusValue++;
          SetOpacity ("Morgen3",(150+HimmelStatusValue)*0.0025);
          
          if (HimmelStatusValue > 130)
               SetOpacity ("Tag",(HimmelStatusValue-130)*0.0025);
          if (HimmelStatusValue >= 250)
          {
               HimmelStatusValue=0;
               HimmelStatus = 5;
          }
     }
     
     if (HimmelStatus==5)
     {
          HimmelStatusValue++;
          SetOpacity ("Tag",(120+HimmelStatusValue)*0.0025);
          
          if (HimmelStatusValue >= 280)
          {
               HimmelStatusValue=0;
               HimmelStatus = 6;
          }
     }
}

function PrintMaduniaTime()
{
     DatumAktuell = new Date();
     ZeitAktuell = DatumAktuell.getTime();
     
     ZeitAktuellMillisekunden = ZeitAktuell-ZeitStart+GetServerDateTime ();
     // ZeitAktuellMillisekunden = ZeitAktuell-ZeitStart-20000;          // ### Nacht
     //ZeitAktuellMillisekunden = ZeitAktuell-ZeitStart-40000;
     // ZeitAktuellMillisekunden = ZeitAktuell-ZeitStart-56000;       // ### Mitten in Abenddämmerung
     // ZeitAktuellMillisekunden = ZeitAktuell-ZeitStart-90000;     // ### Abenddämmerung gerade gestartet
     //ZeitAktuellMillisekunden = ZeitAktuell-ZeitStart+200000; // ### vor Morgendämmerung 
     //ZeitAktuellMillisekunden = ZeitAktuell-ZeitStart+250000; // ### mitten in Morgendämmerung 
     // ZeitAktuellMillisekunden = ZeitAktuell-ZeitStart+300000; // ### Tag
     
     DatumAktuell.setTime(ZeitAktuellMillisekunden);
     
     var AktStunde = DatumAktuell.getHours();
     var AktMinute = DatumAktuell.getMinutes();
     var AktSekunde = DatumAktuell.getSeconds();
     
     todaysek = DatumAktuell.getHours()*60*60+DatumAktuell.getMinutes() *60+DatumAktuell.getSeconds();
     aktmudariatotalsek = Math.round((todaysek % 900) * 96);
     
     aktmudaria_hour = Math.floor(aktmudariatotalsek / 60 / 60);
     aktmudaria_min = Math.floor( (aktmudariatotalsek - (aktmudaria_hour*60*60))/ 60);
     aktmudaria_sek = aktmudariatotalsek - (aktmudaria_hour*60*60) - (aktmudaria_min*60);

     if (aktmudaria_hour == 6 && HimmelStatus==1)
          HimmelStatus = 2;
     
     if (aktmudaria_hour == 21 && aktmudaria_min >= 30 && HimmelStatus==6)
          HimmelStatus = 7;
     
     if (aktmudaria_min%5 == 0 || fFirstRun==0)
     {
          if (MaduniaLanguage=='de')
               TimeString = "Aktuelle <a class=MoreText href=article25232-8500.html>Zeit in Madunia</a>: ";
          else
               TimeString = "Actual <a class=MoreText href=article25232-8499.html>time in Madunia</a>: ";

          if (MaduniaLanguage=='de')
               TimeString = "Aktuelle Zeit in Madunia: ";
          else
               TimeString = "Actual time in Madunia: ";
               
          if (aktmudaria_hour < 10)
               TimeString = TimeString + "0";
          TimeString = TimeString + aktmudaria_hour+":";
          if (aktmudaria_min < 10)
               TimeString = TimeString + "0";
          TimeString = TimeString + aktmudaria_min;
     
          // TimeString = TimeString + " - " + HimmelStatus + "/" + HimmelStatusValue;
     
          if(DHTML) 
          {
               if(NS) 
                    setCont("id","MaduniaTime",null,"<span>"+TimeString+"</span>");
               else   
                    setCont("id","MaduniaTime",null,TimeString);
          }
          fFirstRun = 1;
     }
     
     return (aktmudariatotalsek);
}
