function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
var requestObj=null;
function getWeather(){
  requestObj=getXMLHttpRequestObj();
  if(requestObj==null) {
    return;
  }
  var url="data.xml";
  requestObj.open('get', url ,true);
  requestObj.onreadystatechange = handleWeather;
  requestObj.send(null);
}

function handleWeather(){
  if(requestObj.readyState!=4) return;
  if(requestObj.status<200 || requestObj.status>299){
    return;
  }
  var xml=requestObj.responseXML.getElementsByTagName("cc");
  if(xml==null || xml.length==0){
    return;
  }
  temp=getXMLData(xml[0],"tmp", "");
  
  prog=getXMLData(xml[0],"t", "");
  if(weatherlang[prog.toUpperCase()]!=undefined) prog=weatherlang[prog.toUpperCase()];

  icon=getXMLData(xml[0],"icon", "");
  icon = "/static/internet/" + icon + "_128.png";

  document.getElementById("wetter_lage").innerHTML = prog;
  document.getElementById("wetter_temp").innerHTML = temp + " °C";
  var image = new Image(128, 128);
  image.onload = function() {
		image.onload = null;
		var supported = /MSIE ((5\.5)|[6])/.test(navigator.userAgent) && navigator.platform == "Win32";
		if (supported) {
			var src = image.src;
			var blankSrc = "blank.gif";
			image.src = blankSrc;
			image.runtimeStyle.filter = "progid:DXImageTransform.Microsoft." + "AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
		}
  }
  image.alt = prog;
  image.src = icon;
  //document.getElementById("wetter_icon").innerHTML = "<img class=\"png\" src='"+icon+"' alt=''>";
  document.getElementById("wetter_icon").appendChild(image);
}

// XMLHttpRequestObject erzeugen wenn möglich
function getXMLHttpRequestObj() {
  var resObject = null;
  try {
    resObject = new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch (Error) {
    try {
      resObject = new ActiveXObject("MSXML2.XMLHTTP");
    }
    catch (Error) {
      try {
        resObject = new XMLHttpRequest();
      }
      catch (Error) { }
    }
  }
  return resObject;
};

function getXMLData(source,tag,type){
  var value="";
  var xdata=source.getElementsByTagName(tag)[0];
  if(xdata && xdata.hasChildNodes()){
    value=xdata.firstChild.data;
  }
  if(type=="i" && value.length>0 && !isNaN(value)) return parseInt(value,10);
  else if(type=="i") return 0;
  if(type=="f" && value.length>0 && !isNaN(value)) return parseFloat(value,10);
  else if(type=="f") return 0.0;
  if ( type=="b" &&  (value=="true" || value=="1" || value=="j") ) return true;
  else if (type=="b") return false;
  return value;
};

addLoadEvent(function(){getWeather()});

var weatherlang={
"AM CLOUDS / PM SUN":"Vormittags wolkig später sonnig",
"AM LIGHT RAIN":"vormittags leichter Regen",
"AM LIGHT SNOW":"vormittags leichter Schneefall",
"AM RAIN / SNOW SHOWERS":"vormittags Regen- u. Schneeschauer",
"AM RAIN / SNOW SHOWERS / WIND":"vorm. Regen-, Schneeschauer,windig",
"AM SNOW SHOWERS":"vormittags Schneeschauer",
"AM SNOW SHOWERS / WIND":"vormittags Schneeschauer, windig",
"AM SHOWERS":"vormittags Schauer",
"AM T-STORMS":"vormittags Gewitter",
"AM":"vormittags",
"AND":"und",
"AT":"mit",
"CALM":"windstill",
"CET":"MEZ",
"CLEAR":"heiter",
"CLEARING":"aufklarend ",
"CLOUDS":"wolkig",
"CLOUDS EARLY / CLEARING LATE":"wolkig, später aufklarend",
"CLOUDY":"wolkig ",
"CLOUDY AND WINDY":"wolkig und stürmisch",
"CLOUDY / WIND":"bewölkt und stürmisch",
"DRIZZLE":"Nieselregen",
"E":"Ost",
"ENE":"OstNordOst",
"ESE":"OstSüdOst",
"EXTREME":"extrem stark",
"FAIR":"heiter",
"FAIR AND WINDY":"Heiter und windig",
"FALLING":"fallend ",
"FEW SHOWERS":"etwas Schauer",
"FEW SNOW SHOWERS":"einige Schneeschauer",
"FEW SNOW SHOWERS / WIND":"einige Schneeschauer, windig",
"FIRST QUARTER":"zunehmender Halbmond",
"FOG":"Nebel",
"FREEZING RAIN":"Eisregen",
"FRIDAY":"Freitag",
"FULL":"Vollmond",
"FULL MOON":"Vollmond",
"GERMANY":"Deutschland",
"HAZE":"dunstig",
"HEAVY T-STORM AND WINDY":"schwere Gewitter, stürmisch",
"HIGH":"hoch",
"ICE CRYSTALS":"Eiskristalle",
"ICE EARLY":"anfangs Eisglätte",
"ISOLATED T-STORMS":"örtlich Gewitter",
"ISOLATED":"örtlich ",
"LAST QUARTER":"abnehmender Halbmond",
"LIGHT DRIZZLE":"leichter Nieselregen",
"LIGHT FREEZING DRIZZLE":"leichter Nieselregen, überfrierend",
"LIGHT RAIN AND WINDY":"leichter Regen, stürmisch",
"LIGHT RAIN / WIND":"leichter Regen, windig",
"LIGHT RAIN EARLY":"anfangs leichter Regen",
"LIGHT RAIN LATE":"später leichter Regen",
"LIGHT RAIN SHOWER":"leichte Schauer ",
"LIGHT RAIN SHOWER AND WINDY":"leichte Regenschauer, stürmisch",
"LIGHT RAIN":"leichter Regen",
"LIGHT SNOW":"leichter Schneefall",
"LIGHT SNOW EARLY":"anfangs leichter Schneefall",
"LIGHT SNOW SHOWER":"leichter Schneeschauer",
"LIGHT SNOW SHOWERS":"leichte Schneeschauer",
"LIGHT SNOW AND WINDY":"leichter Schneefall, stürmisch",
"LIGHT SNOW / WIND":"leichter Schneefall, stürmisch",
"LIGHT SNOW / FOG":"leichter Schneefall, neblig",
"LOW":"niedrig",
"MIST":"Nebel ",
"MIST AND WINDY":"Nebel und windig",
"MODERATE":"mäßig",
"MONDAY":"Montag",
"MOSTLY CLEAR":"überwiegend heiter",
"MOSTLY CLOUDY AND WINDY":"ÜBERWIEGEND BEWÖLKT, STÜRMISCH",
"MOSTLY CLOUDY / WIND":"überwiegend bewölkt, stürmisch",
"MOSTLY CLOUDY":"überwiegend bewölkt",
"MOSTLY SUNNY":"überwiegend sonnig",
"MOSTLY":"überwiegend",
"N":"Nord",
"N/A":" ",
"NE":"NordOst",
"NEW MOON":"Neumond",
"NEW":"Neumond",
"NNE":"NordNordOst",
"NNW":"NordNordWest",
"NW":"NordWest",
"OVERCAST":"bedeckt",
"PARTLY CLOUDY AND WINDY":"teilweise bewölkt und stürmisch",
"PARTLY CLOUDY / WIND":"teils bewölkt und stürmisch",
"PARTLY CLOUDY":"teils wolkig",
"PARTLY":"teils",
"PATCHES OF FOG":"vereinzelt Nebel",
"PM LIGHT RAIN":"nachmittags leichter Regen",
"PM LIGHT RAIN / WIND":"nachmittags leichter Regen / windig",
"PM LIGHT SNOW":"nachmittags leichter Schneefall",
"PM RAIN / SNOW SHOWERS":"nachmittags Regen- u. Schneeschauer",
"PM RAIN / SNOW SHOWERS / WIND":"nachmittags Regen- u. Schneeschauer / windig",
"PM SHOWERS":"nachmittags Schauer",
"PM SNOW SHOWERS":"nachmittags Schneeschauer",
"PM SNOW SHOWERS / WIND":"nachmittags Schneeschauer / windig",
"PM T-STORMS":"nachmittags Gewitter",
"PM":"nachmittags",
"RAIN":"Regen",
"RAIN / FREEZING RAIN":"Regen, später gefrierend",
"RAIN / SNOW":"Regen / Schnee",
"RAIN / SNOW SHOWERS":"Regen- und Schneeschauer",
"RAIN / THUNDER":"Regen / Gewitter",
"RAIN / WIND":"Regen, stürmisch",
"RAIN / WINDY":"Regen, stürmisch",
"RAIN / SNOW SHOWERS EARLY":"anfangs Schnee- und Regenschauer",
"RAIN / SNOW SHOWERS LATE":"später Schnee- und Regenschauer",
"RAIN / SNOW SHOWERS / WIND":"Regen- Schneeschauer, stürmisch",
"RAIN / SNOW SHOWERS / WIND EARLY":"Regen- Schneeschauer, stürmisch",
"RAIN / SNOW / WIND":"stürmisch, Regen und Schnee",
"RAIN AND SNOW":"Regen und Schnee",
"RAIN AND WINDY":"Regen, stürmisch",
"RAIN LATE":"später Regen",
"RAIN SHOWER":"Regenschauer",
"RAIN TO SNOW":"Regen, in Schnee übergehend",
"RISING":"steigend",
"S":"Süd",
"SATURDAY":"Samstag",
"SCATTERED SHOWERS / WIND":"vereinzelt Schauer, stürmisch",
"SCATTERED SHOWERS":"vereinzelt Schauer",
"SCATTERED SNOW SHOWERS":"vereinzelt Schneeschauer",
"SCATTERED SNOW SHOWERS / WIND":"vereinzelt Schneeschauer, stürmisch",
"SCATTERED T-STORMS":"vereinzelte Gewitter",
"SCATTERED":"vereinzelt",
"SE":"SüdOst",
"SHOWER":"Schauer",
"SHOWERS / WIND":"Schauer, stürmisch",
"SHOWERS EARLY":"anfangs Schauer",
"SHOWERS IN THE VICINITY":"im Verlauf Schauer",
"SHOWERS LATE":"später Schauer",
"SHOWERS":"Schauer",
"SNOW":"Schnee",
"SNOW AND WINDY":"Schnee, stürmisch",
"SNOW AND FOG":"Schnee, neblig",
"SNOW EARLY":"anfangs Schneefall",
"SNOW SHOWERS":"Schneeschauer",
"SNOW SHOWER":"Schneeschauer",
"SNOW SHOWERS EARLY":"anfangs Schneeschauer",
"SNOW SHOWERS LATE":"später Schneeschauer",
"SNOW SHOWERS / WIND":"Schneeschauer, stürmisch",
"SNOW SHOWERS / WIND LATE":"Schneeschauer, später stürmisch",
"SNOW SHOWER / WIND":"Schneeschauer, stürmisch",
"SNOW TO WINTRY MIX":"Schnee, später Schneeregen",
"SSE":"SüdSüdOst",
"SSW":"SüdSüdWest",
"STEADY":"beständig",
"SUNDAY":"Sonntag",
"SUNNY":"sonnig",
"SW":"SüdWest",
"THE":"der",
"THIRD QUARTER":"abnehmender Halbmond",
"THUNDER":"Gewitter",
"THURSDAY":"Donnerstag",
"T-SHOWERS":"tropische Schauer",
"T-STORM":"Gewitter",
"T-STORM AND WINDY":"Gewitter, stürmisch",
"T-STORMS":"Gewitter",
"T-STORMS EARLY":"anfangs Gewitter",
"TUESDAY":"Dienstag",
"UNLIMITED":"unbegrenzt",
"UNKNOWN PRECIP":"Niederschlag",
"VAR":"versch. Richtungen",
"VERY HIGH":"Sehr hoch",
"W":"West",
"WANING CRESCENT":"abnehmende Sichel",
"WANING GIBBOUS":"abnehmender 3/4 Mond",
"WANING HALF, LAST QUARTER":"abnehmender Viertelmond",
"WAXING CRESCENT":"zunehmende Sichel",
"WAXING GIBBOUS":"zunehmender 3/4 Mond",
"WAXING HALF, FIRST QUARTER":"zunehmender Viertelmond",
"WEDNESDAY":"Mittwoch",
"WINTRY MIX":"Schneeregen",
"WINTRY MIX / WIND":"Schneeregen, stürmisch",
"WNW":"WestNordWest",
"WSW":"WestSüdWest",
"THUNDER IN THE VICINITY":"Gewitter im Umland"
}

