/*************************************************************
*
*	Astrocscripts
*
**************************************************************/


/******* Sunelevation **************/

function sunPosition(containerid){

	//const
	var lat = 51.05;
	var lon = 14;
	
	var k = Math.PI / 180;
	
	var d = new Date();
	//d.setTime(timestamp*1000);
	var month = d.getMonth();
	var day = doy(d);
	var hour = d.getUTCHours()+1;
	var min = d.getUTCMinutes()+d.getUTCSeconds()/60;
	
	
	//test
	//day;
	//month = 1;
	//hour = 23;
	//min = 54;
	
	
	//calculation
	var dec = -23.45*Math.cos(k*360*(day+10)/365);
	var tf = 60*(-0.171*Math.sin(0.0337*day+0.465)-0.1299*Math.sin(0.01787*day-0.168));
	var ra = 15*(hour+min/60-(15-lon)/15-12+tf/60);
	var x = Math.sin(k*lat)*Math.sin(k*dec) + Math.cos(k*lat)*Math.cos(k*dec)*Math.cos(k*ra);
	var elev = Math.asin(x)/k;
	var y = -(Math.sin(k*lat)*Math.sin(k*elev)-Math.sin(k*dec)) / (Math.cos(k*lat)*Math.sin(Math.acos(Math.sin(k*elev))));
	
	if(hour+min/60<=12+(15-lon)/15-tf/60)
		var azimut = Math.acos(y)/k;
	else
		var azimut = 360-Math.acos(y)/k;
	
	//document.getElementById(containerid).innerHTML = 'Zeit: '+d+'<br />Dec: '+dec+'<br />Zeitgleichung: '+tf+'<br />Ra: '+ra+'<br />Höhe: '+elev+'°<br />Azimut: '+azimut+'°';
	var time = d.getDate()+'.'+d.getMonth()+'.'+d.getFullYear()+' '+d.getHours()+':'+d.getMinutes()+':'+d.getSeconds();
	var rah = parseInt(ra/15.04);
	var ram = parseInt(ra%(rah/10)*60);
	var rastr = rah+'h '+ram+'m ';
	var decstr = parseInt(dec*100)/100;
	azimut = Math.floor(azimut*100)/100;
	elev = Math.floor(elev*100)/100;
	
	document.getElementById(containerid).innerHTML = 'Zeit: '+time+'<br />Höhe: '+elev+'°<br />Azimut: '+azimut+'°';
	
	window.setTimeout("sunPosition('"+containerid+"')", 1000)
}

function doy(d) {
	var yy = d.getFullYear();
	var t2 = new Date(yy,d.getMonth(),d.getDate());
	var t1 = new Date(yy-1,11,31);
	var doy = t2.getTime()/1000 - t1.getTime()/1000;
	doy = Math.floor(doy/86400);
	return doy;
} 


/*************************************/
