// JavaScript Document
// Weather-Info by Stanislav Brakowski
// v 1.0
// 06.04.2010
$(document).ready(function(){

	try
	{
		$.get("ajax/wetter.php",function(xml){
			
				var luftdrucktendenz = ldtrend(xml.split("<d>")[1].split("</d>")[0]);
				var wetterstatus = wstatus(xml.split("<t>")[5].split("</t>")[0]);
				var windrichtung = wrichtung(xml.split("<t>")[6].split("</t>")[0]);
				var windspeed = wspeed(xml.split("<s>")[1].split("</s>")[0]);
				var sonnenaufgang = "0" + zeit(xml.split("<sunr>")[1].split("</sunr>")[0]);
				var sonnenuntergang = zeit(xml.split("<suns>")[1].split("</suns>")[0]);
			
				var html = "<table border=0 cellpadding=0 cellspacing=0 width=100%>"
						+ "<tr><td colspan='2' align='center'><img src='../pics/icons/93x93/" + xml.split("<icon>")[1].split("</icon>")[0] + ".png' border='0' /></td></tr>"
						+ "<tr><td>Status:</td><td>" + wetterstatus + "</td></tr>"
						+ "<tr><td>Temperatur:</td><td>" + ((xml.split("<tmp>")[1].split("</tmp>")[0]-32)*5/9).toFixed(1) + " &#176;C</td></tr>"
						+ "<tr><td>Rel. Feuchte:</td><td>" + xml.split("<hmid>")[1].split("</hmid>")[0] + " %</td></tr>"
						+ "<tr><td>Windgeschwin.:</td><td>" + windspeed + "</td></tr>"
						+ "<tr><td>Windrichtung:</td><td>" + windrichtung + "</td></tr>"
						+ "<tr><td>Luftdruck:</td><td>" + (xml.split("<r>")[1].split("</r>")[0]*33.8653075).toFixed(2) + " hPa</td></tr>"
						+ "<tr><td>Luftdruck Tend.:</td><td>" + luftdrucktendenz + "</td></tr>"
						+ "<tr><td>Sonnenaufg.:</td><td>" + sonnenaufgang + " Uhr</td></tr>"
						+ "<tr><td>Sonnenunterg.:</td><td>" + sonnenuntergang + " Uhr</td></tr>"
						+ "<tr><td colspan='2'>&nbsp;</td></tr>"
						+ "<tr><td colspan='2'>&gt; <a href='http://www.weather.com' target='_blank' class='contentmenu'>www.weather.com</td></tr>"
						+ "</table>";
				$("#data").html(html);
		});
	}
	catch(e)
	{
		$("#data").html("Fehler beim Zugriff auf Wetter-Dienst.<BR/>" + e.message);
	}
});

function ldtrend(str)
{
	switch(str)
	{
		case "falling":
			str = "Fallend";
			break;
		case "steady":
			str = "Beständig";
			break;
		case "rising":
			str = "Steigend";
			break;
		default:
			str = "n/a";
	}
	return str;
}

function wstatus(str)
{
	var ret = "n/a";
	var stateen = Array('Partly Cloudy','Cloudy','Sunny','Clear','Rainy','Icy','Fog','Mostly Cloudy','Haze','Mist','Light Rain','Rain','Drizzle','Mostly Cloudy  and  Windy','Light Snow','Snow','Cloudy  and  Windy','Freezing Drizzle');
	var statede = Array('Leicht Bewölkt','Bewölkt','Sonnig','Klar','Regnerisch','Eisig','Nebel','Bedeckt','Trüb','Nebel','Leichter Regen','Regen','Nieselregen','Größtenteils Bedeckt und Windig','Leichter Schneefall','Schnee','Bedeckt und Windig','Gefrierender Nieselregen');
	for(var i = 0; i<=stateen.length-1;i++)
	{
		if(stateen[i] == str)
		{
			ret = statede[i];
			break;
		}
	}
	return ret;
}

function wrichtung(str)
{
	var ret = "n/a";
	var windshort = Array('N','NNE','NE','ENE','E','ESE','SE','SSE','S','SSW','SW','WSW','W','WNW','NW','NNW','CALM');
	var windlong = Array('Nord','NordNordOst','NordOst','OstNordOst','Ost','OstSüdOst','SüdOst','SüdSüdOst','Süd','SüdSüdWest','SüdWest','WestSüdWest','West','WestNordWest','NordWest','NordNordWest','Windstille');
	for(var i = 0; i<=windshort.length-1;i++)
	{
		if(windshort[i] == str)
		{
			ret = windlong[i];
			break;
		}
	}
	return ret;
}

function zeit(str)
{
	str = str.split(" ");
	if(str[1] == "PM")
	{
		var koef = 12;
	}else
	{
		var koef = 0;
	}
	
	str = str[0].split(":");
	var std = parseInt(str[0]) + koef;
	var minuten = str[1];
	
	return std + ":" + minuten;
}

function wspeed(str)
{
	if(str != "calm")
	{
		str = str*1.61.toFixed(1) + " km/h";
	}else
	{
		str = "Windstille";
	}
	
	return str;
}
