function showTimeZoneSelector()
{
	Effect.SlideDown('uhr_effekt',
	{
		beforeStart: function(effect)
			{
				var element = $('uhr_aktiv');
				element.style.visibility = "visible";
				Event.stopObserving('aktive_zeit','click', showTimeZoneSelector);

			} 
	}

	);

}

function hideTimeZoneSelector()
{
	Effect.SlideUp('uhr_effekt', 
	{
		afterFinish: function(effect)
			{
				var element = $('uhr_aktiv');
				element.style.visibility = "hidden";
				Event.observe('aktive_zeit','click', showTimeZoneSelector);
			} 
	}
	);
}

function getDate(offset) 
{
    d = new Date(); // current location
    utc = d.getTime() + (d.getTimezoneOffset() * 60000); // calculate utc date
    nd = new Date(utc + (3600000*offset)); // create new time zone
    return nd;
}

var currentTimeZone = "";
var offset = "0";

function ZeitAnzeigen () {
  var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                                "Donnerstag", "Freitag", "Samstag");
  var Jetzt = getDate(offset);
  var Tag = Jetzt.getDate();
  var Monat = Jetzt.getMonth() + 1;
  var Jahr = Jetzt.getYear();
  if (Jahr < 999)
    Jahr += 1900;
  var Stunden = Jetzt.getHours();
  var Minuten = Jetzt.getMinutes();
  var Sekunden = Jetzt.getSeconds();
  var WoTag = Jetzt.getDay();
  var Vortag = (Tag < 10) ? "0" : "";
  var Vormon = (Monat < 10) ? ".0" : ".";
  var Vorstd = (Stunden < 10) ? "0" : "";
  var Vormin = (Minuten < 10) ? ":0" : ":";
  var Vorsek = (Sekunden < 10) ? ":0" : ":";
  var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
  var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
  var Gesamt = Wochentagname[WoTag] + ", " + Datum + ", " + Uhrzeit;

  $('zeit').update(Uhrzeit);
  window.setTimeout("ZeitAnzeigen()", 1000);    
}



function isSummertimeInCurrentPlace() {
   var rightNow = new Date();
   var rightNowOffset = rightNow.getTimezoneOffset()/60;
   var winterTimeDate = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);
   var winterTimeOffset = winterTimeDate.getTimezoneOffset()/60;

   if (winterTimeOffset == rightNowOffset)
   {
    return false;
   } else {
    return true;
   }
}


function inBerlin()
{
  if (isSummertimeInCurrentPlace())
    offset = 2;
  else
     offset = 1;

 // $('zeitzone').update('Berlin');
  currentTimeZone = 'Berlin';
}


function inLondon()
{
  if (isSummertimeInCurrentPlace())
    offset = 1;
  else
     offset = 0;
//  $('zeitzone').update('London');
  currentTimeZone = 'London';
} 

function switchTimeZone()
{
	if (currentTimeZone == 'Berlin')
		inLondon();
	else
		inBerlin();
}



// Event.observe('berlin', 'click', function(event){ inBerlin(); hideTimeZoneSelector(); });
// Event.observe('london', 'click', function(event){ inLondon(); hideTimeZoneSelector(); });
// Event.observe('aktive_zeit','click', showTimeZoneSelector);
// Event.observe('zeitzone','click', switchTimeZone);

inBerlin();
ZeitAnzeigen();

