/*
############################################################
###                      dsk.js                          ###
###         Javascript von Michael Duetting              ###
###                 copyright 2010                       ###

                für sternfreunde-muenster.de

            CMS              |----||----|
            Datenbanken      |    ||    |
                             |----||----|
            eShops                 |----|
                        |------|   |    |
            Webdesign   |      |   |----|
                        | multi|p l i c o
            Multimedia  |------|



###                  Telemannstr. 26                     ###
###                   48147 Münster                      ###
###             http://www.multiplico.de                 ###
############################################################
*/
function initDSK()
{
	if(window.netscape || /KHTML/.test(navigator.userAgent)==true ||window.opera)
	{
	document.getElementById("zeit").style.top = "-999px";
	document.getElementById("richtung").style.top = "-528px";
	document.getElementById("zeit").style.left = "85px";
	document.getElementById("richtung").style.left = "107px";
	}
	(/MSIE 8/.test(navigator.userAgent))?document.getElementById("zeit").style.top = "-999px":void(0);
	(/MSIE/.test(navigator.userAgent))?document.getElementById("zebene").style.top = "-1535px":void(0);
	(/MSIE/.test(navigator.userAgent))?document.getElementById("richtung").style.left = "107px":void(0);
	(/MSIE 8/.test(navigator.userAgent))?document.getElementById("richtung").style.top = "-528px":void(0);
document.getElementById("dskuse").style.display ="block";
//================================================================================
akZeit();
TimerAnz();
}
var Monat = new Array();
var monate = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
var monatLength = new Array(31,0,31,30,31,30,31,31,30,31,30,31);
		var Schalt = new Date();
		var schaltjahr = (parseInt(Schalt.getFullYear())/4).toString();
		if(schaltjahr.indexOf(".") != -1)
		{monatLength[1] = 28;}
		else
		{monatLength[1] = 29;}
	for(i=0;i<monate.length;i++)
	{
	Monat[monate[i]] = new Array();
	Monat[monate[i]][0] = monatLength[i];
	}
//laufende Zeitanzeige
function TimerAnz()
{
	var tzeit = new Date();
	if(tzeit.getMinutes()<30)
	{anzhx = tzeit.getHours()-1; }
	else
	{anzhx = tzeit.getHours();}
	anzmx = tzeit.getMinutes()-30;
	if(anzmx < 0){anzmx += 60;}
		//mez/mesz
//		if(tzeit.getMonth()>=2 && tzeit.getMonth() < 10)
		if(gmt == "+0200")
		{anzhx -=1;}		
	
var anzeigeString1 = tzeit.getDate() + ". " + monate[tzeit.getMonth()] + ", " + anzhx + "h " + anzmx +"m" ;
document.getElementById("anz1").firstChild.nodeValue = anzeigeString1;
window.setTimeout("TimerAnz()",1000);
}	
function setTag()
{
	var akDwert = parseInt(document.getElementById("dskday").firstChild.nodeValue);
	var akMwert = document.getElementById("dskmon").firstChild.nodeValue;
		if(akDwert + arguments[0] <= Monat[akMwert] && akDwert + arguments[0] >= 1)
		{var nDwert = akDwert + arguments[0];}
		else
		if(akDwert + arguments[0] > Monat[akMwert])
		{var nDwert = 1;}
		else
		if(akDwert + arguments[0] < 1)
		{var nDwert = Monat[akMwert];}
	document.getElementById("dskday").firstChild.nodeValue = nDwert;
}
function setMonat()
{
	var akMwert = document.getElementById("dskmon").firstChild.nodeValue;
		for(i=0;i<monate.length;i++)
		{
			switch(akMwert)
			{
			case(monate[i]): 
				if(i+arguments[0] >11)
				{nMwert = monate[0];}
				else
				if(i+arguments[0] <0)
				{nMwert = monate[11];}
				else
				{nMwert = monate[i+arguments[0]];}
			break;
			default:break;
			}
		}
	if(nMwert == "Februar" && parseInt(document.getElementById("dskday").firstChild.nodeValue) > monatLength[1])
	{document.getElementById("dskday").firstChild.nodeValue = monatLength[1];}	
	document.getElementById("dskmon").firstChild.nodeValue = nMwert;
}
function setHM()
{
var maxi = (arguments[1]=="dskh")?23:59;
var akWert = parseInt(document.getElementById(arguments[1]).firstChild.nodeValue)+parseInt(arguments[0]);
	if(akWert > maxi){akWert = 0;}
	if(akWert < 0){akWert = maxi;}
document.getElementById(arguments[1]).firstChild.nodeValue = akWert;
}
//-------------------------------
function akZeit()
{
//-------------------------------
	karteAltURLend = document.getElementById("karte").src.length -4;
	karteAltURLstart = document.getElementById("karte").src.length -7;
	karteAlt = parseInt(document.getElementById("karte").src.substring(karteAltURLstart,karteAltURLend));	
var zeit = new Date();
//Anzeige unter jetzt-Button
	if(zeit.getMinutes()<30)
	{anzhx = zeit.getHours()-1;}
	else
	{anzhx = zeit.getHours();}
	anzmx = zeit.getMinutes()-30;
	if(anzmx < 0){anzmx += 60;}
	//mez/mesz
//	if(zeit.getMonth()>2 && zeit.getMonth() < 10)
	if(gmt == "+0200")
	{anzhx -=1;}	
var anzeigeString1 = zeit.getDate() + ". " + monate[zeit.getMonth()] + ", " + anzhx + "h " + anzmx +"m" ;
document.getElementById("anz1").firstChild.nodeValue = anzeigeString1;
//22.3:24.00 = k100.gif, 21.3 = k824.gif (Summe 724)
//Karten-Nr. für den 1. eines Monats 24:00 Uhr
var Monat = new Array(658,718,781,116,176,236,297,357,418,478,537,597);
//Korrektur k für die Monate Januar-Juli geeicht für den 5./10./15./20./25. des Monats
var Monat_0 = new Array(1.8,2,2,2,2);
var Monat_1 = new Array(1.9,1.9,2,2.1,2.1);
var Monat_2 = new Array(1.7,1.8,1.9,2,1.05);
var Monat_3 = new Array(2,2,1.9,2,2);
var Monat_4 = new Array(2,2,2,2,2);
var Monat_5 = new Array(2.2,2.1,2.1,2.05,2.05);
var Monat_6 = new Array(1.8,1.45,1.6,2,2);
	if(!arguments[0])//bei onload und jetzt
	{
	var akMonat = zeit.getMonth();
	Tag = zeit.getDate();
	var hx = zeit.getHours();
	var mx = zeit.getMinutes();	
	document.getElementById("dskmon").firstChild.nodeValue = monate[akMonat];
	document.getElementById("dskday").firstChild.nodeValue = Tag;
	document.getElementById("dskh").firstChild.nodeValue = hx;
	document.getElementById("dskmin").firstChild.nodeValue = mx;	
		//MEZ/MESZ
//		if(akMonat>2 && akMonat < 10)
		if(gmt == "+0200")
		{hx -=1;}		
	}
	else//bei manueller Eingabe
	{
	var formMonat = document.getElementById("dskmon").firstChild.nodeValue;
		for(i=0;i<monate.length;i++)
		{
			switch(monate[i])
			{
			case(formMonat):akMonat = i;break;
			default:break;
			}
		}
	Tag = parseInt(document.getElementById("dskday").firstChild.nodeValue);
	var hx = parseInt(document.getElementById("dskh").firstChild.nodeValue);
	var mx = parseInt(document.getElementById("dskmin").firstChild.nodeValue);	
	//MEZ/MESZ
//	if(akMonat>2 && akMonat < 10)
	if(gmt == "+0200")
	{hx -=1;}	
	}
	//Münster
	mx = mx -30;
	if(akMonat >6)
	{k = 2;}
	else
	{
	k=1;
	KMonat = eval("Monat_" + akMonat);
		if(Tag >=2 && Tag <=7)
		{k=KMonat[0];}
		if(Tag >=8 && Tag <=12)
		{k=KMonat[1];}
		if(Tag >=13 && Tag <=17)
		{k=KMonat[2];}
		if(Tag >=18 && Tag <=22)
		{k=KMonat[3];}						
		if(Tag >=23 && Tag <=31)
		{k=KMonat[4];}		
	}	
	if(akMonat == 2 && Tag > 20)//TNG + Rest März
	{
	Monat[akMonat]= 100;//berücksichtigt den Frühlingspunkt
	var tag = parseInt(1.05* Tag)-20;
	}
	else//alle anderen Daten
	{var tag = parseInt(k* Tag);}
	if(Tag == 1)//für den jeweils 1. des Monats: ohne k
	{autoTimeKarte = Monat[akMonat];}
	else
	{autoTimeKarte = tag + Monat[akMonat];}
var h = parseInt(hx*30);//1h = 15 Grad in 2 Schritten
var m = parseInt(mx)/2;//dito
autoTimeKarte = autoTimeKarte +h +m;
	if(autoTimeKarte > 824){autoTimeKarte = parseInt(autoTimeKarte -724);}
	//Korrekturen, Aufteilung: 
	//1 2 3 4 5 6 7 8 9 | 10 11 12 13 14 15 16 17 18 19 20 | 21 22 23 24 25 26 27 28 29 30 31 |
	if(Tag <10)
	{
	//k2 für den 5. 23:00
	var k2 = new Array(5,6,6,5,4,3,5,4,3,4,4,5);
	}
	if(Tag >=10 && Tag <= 17)
	{	
	//k2 für den 15. 23:00
	var k2 = new Array(3,5,6,6,4,3,10,4,3,3,5,5);
	}
	if(Tag >=17 && Tag <= 31)
	{	
	//k2 für den 25. 23:00
	var k2 = new Array(4,3,5,4,4,4,4,4,4,4,5,5);
	}	
autoTimeKarte = Math.ceil(autoTimeKarte+k2[akMonat]);
document.getElementById("karte").src = "dsk/karten/k"+autoTimeKarte+".gif";
	if(karteAlt>autoTimeKarte)
	{diff = (karteAlt - autoTimeKarte)*-1;}
	else
	{diff = autoTimeKarte-karteAlt;}
ZeigerDrehen(diff,0);
BlickRichtung(blick);
	if(akObjekt.wert)
	{
		switch(akObjekt.wert)
		{
		case(11):Julianisches_Datum();Helios(JULIANISCHESDATUM.JD);HeliosAusgabe();break;
		default:		
		Planet(akObjekt.wert);
		break;
		}
	}
}
function zonoff()
{
	if(document.getElementById("zebene").style.display == "none")
	{
	document.getElementById("zebene").style.display = "block";
	}
	else
	{
	document.getElementById("zebene").style.display = "none";
	}
}
ztimer = window.setTimeout("ZeigerDrehen()",0);
//----------------------
function ZeigerDrehen()
//----------------------
{
	if(arguments.length != 0)
	{
	zeigerURLend = document.getElementById("zeiger").src.length -4;
	zeigerURLstart = document.getElementById("zeiger").src.length -7;
	zeigerAk = parseInt(document.getElementById("zeiger").src.substring(zeigerURLstart,zeigerURLend))+parseInt(arguments[0]);
		if(zeigerAk > 822){zeigerAk = 100;}
		else
		if(zeigerAk < 100 || isNaN(zeigerAk) == true){zeigerAk = 822;}
		else
		{zeigerAk = zeigerAk;}
	zeigerNeu = "dsk/zeiger/z" + zeigerAk + ".gif";
	document.getElementById("zeiger").src = zeigerNeu;
	}
}
var blick = "s";
var richtung = "s";
//----------------------
function BlickRichtung()
//----------------------
{
blick = arguments[0];
	switch(blick)
	{
	case("n"):var skala =2 ;break;
	case("w"):var skala =1 ;break;
	case("o"):var skala =3 ;break;
	default:var skala =0 ;break;
	}
FolieDatei = "dsk/folie" + skala + ".gif";
ZeitDatei = "dsk/zeit" + skala + ".gif";
document.getElementById("folie").src = FolieDatei; // Folie drehen
document.getElementById("time").src = ZeitDatei;//Zeitskala drehen
var dirAnzeiger = new Array()
dirAnzeiger["s"] = "SÜDEN_620px_350px_430px_373px";
dirAnzeiger["w"] = "WESTEN_575px_255px_368px_305px";
dirAnzeiger["o"] = "OSTEN_575px_455px_359px_437px";
dirAnzeiger["n"] = "NORDEN_460px_350px_295px_370px";
AuswahlAnzeiger = dirAnzeiger[blick].split("_");
	if(richtung == blick)
	{nRichtung = "s" + blick;}
	else
	{nRichtung = richtung + blick;}
Direction = new Array();
Direction["so"] = 180;
Direction["os"] = -180;
Direction["sw"] = -180;
Direction["ws"] = 180;
Direction["sn"] = 360;
Direction["ns"] = -360;
Direction["no"] = -180;
Direction["on"] = 180;
Direction["nw"] = 180;
Direction["wn"] = -180;
Direction["ow"] = 360;
Direction["wo"] = -360;
Direction["ww"] = 0;
Direction["oo"] = 0;
Direction["nn"] = 0;
Direction["ss"] = 0;
	//drehen der Karte				
	karteURLend = document.getElementById("karte").src.length -4;
	karteURLstart = document.getElementById("karte").src.length -7;	
	karteAlt = parseInt(document.getElementById("karte").src.substring(karteURLstart,karteURLend));
	kartePos = parseInt(document.getElementById("karte").src.substring(karteURLstart,karteURLend))+parseInt(Direction[nRichtung]);				
		if (kartePos >824)
			{
			kartePos = kartePos - 824 +100;
			}
		if (kartePos <100 )
			{
			kartePos = kartePos + 824 -100;
			}				
		karteNeu = "dsk/karten/k" + kartePos + ".gif";
		document.getElementById("karte").src = karteNeu;
		richtung = blick;
		//Mitdrehen des Planetenzeigers
		zeigerURLend = document.getElementById("zeiger").src.length -4;
		zeigerURLstart = document.getElementById("zeiger").src.length -7;
		zeigerAk = parseInt(document.getElementById("zeiger").src.substring(zeigerURLstart,zeigerURLend))+parseInt(Direction[nRichtung]);		
			if (zeigerAk >822)
			{
			zeigerAk = zeigerAk - 822 +100;
			}
			if (zeigerAk <100 )
			{
			zeigerAk = zeigerAk + 822 -101;
			}
			if(isNaN(zeigerAk)==true){alert("Fehler");}	
		zeigerNeu = "dsk/zeiger/z" + zeigerAk + ".gif";
		document.getElementById("zeiger").src = zeigerNeu;			
}
//----------------------------------------------------------------------
// Planeten automatisch einstellen
//----------------------------------------------------------------------
function autoPlanet()
{
//Position des Planeten aus Übergabe von ephemeriden.html
var plPosString = arguments[0].split("_");
var plPosRAh = parseInt(plPosString[0]);
var plPosRAmin = parseInt(plPosString[1])/2;//Umrechung in °' mit Faktor 2 statt 4-> Schrittgenauigkeit der Karte nur 2min
//Planetenzeiger einschalten
status = 0;//Zeiger ein/aus-Indikator
document.getElementById("zebene").style.display = "block";
//aktuelle Position der Karte (KartenNr.)	
karteURLend = document.getElementById("karte").src.length -4;
karteURLstart = document.getElementById("karte").src.length -7;		
realKarteAk = parseInt(document.getElementById("karte").src.substring(karteURLstart,karteURLend));	
//RA in Grad und Minuten umgerechnet in KartenNrn
zeiger12 = parseInt(((plPosRAh -12) * 30)+plPosRAmin);
var zeigerRANr = realKarteAk - zeiger12;//ist die ZeigerNr = KartenNr steht der Planetenzeiger auf 12h RA
	if(zeigerRANr <100)//bei Karten/Zeiger kleiner 100
	{zeigerRANr = zeigerRANr+724;}//724 Karten (824-100)
	if(zeigerRANr >822)
	{zeigerRANr = zeigerRANr-724;}//724 Karten (824-100)
var zeigerRA = "dsk/zeiger/z" + zeigerRANr + ".gif"; 
document.getElementById("zeiger").src = zeigerRA;//RA des Planeten
}
//----------------------------------------------------------------------
function hilfe()
{
var dskhelpClone = document.getElementById("dskhelp").cloneNode(true);
var dskhelpcloseClone = document.getElementById("dskhelpclose").cloneNode(true);
document.getElementById("dskhelp").parentNode.removeChild(document.getElementById("dskhelp"));
document.getElementById("dskhelpclose").parentNode.removeChild(document.getElementById("dskhelpclose"));
document.getElementById("inhalt").appendChild(dskhelpClone);
document.getElementById("inhalt").appendChild(dskhelpcloseClone);
//Anleitung anzeigen
document.getElementById("dskhelp").style.display = (document.getElementById("dskhelp").style.display == "block")?"none":"block";
document.getElementById("dskhelpclose").style.display = (document.getElementById("dskhelpclose").style.display == "block")?"none":"block";
//Karte auf Standard einstellen
document.getElementById("karte").src = "dsk/karten/k100.gif";	
document.getElementById("folie").src = "dsk/folie0.gif";
document.getElementById("time").src = "dsk/zeit0.gif";
document.getElementById("zeiger").src = "dsk/zeiger/z150.gif";
document.getElementById("zebene").style.display = "block";
}
//=================================================================================
//----------------------------- 29.03.2009 ----------------------------------------
//=================================================================================

