<!--
var http_request = false;

//### Hilfsfunktionen fuer Ajax usw. ###

// Hilfsfunktion, die ein XMLHttpRequest (oder IE-Äquivalent) zurückgibt:
function getXMLHttpRequest()
{
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		
	        if (http_request.overrideMimeType) 
	        {
	        	http_request.overrideMimeType('text/xml');
  		}
        } else if (window.ActiveXObject) 
        { // IE
        	
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        return http_request;
}

// Hilfsfunktion, die aus einer HTTP-Response einen XML-String erstellt
function getXMLfromResponse(http_request)
{
	
	var xmldoc = http_request.responseXML;		
		
		if(navigator.appName == "Microsoft Internet Explorer")
            	{
            		var toAppend = document.createElement('xml');
                	//Packe den responseText in das innerHTML
                	toAppend.setAttribute('innerHTML',http_request.responseText);

                	//Damit man es wiederfindet, eine eindeutige ID
               		toAppend.setAttribute('id','_MakeAUniqueID');
               	 	//Häng das ganze irgendwo rein
                	document.body.appendChild(toAppend);

                	// Suche den XML Zweig anhand der ID und schreib ihn in xmlDoc
                	xmldoc = document.getElementById('_MakeAUniqueID');
                	
                	//Abschließend kann man das Tag auch wieder entfernen
                        document.body.removeChild(document.getElementById('_MakeAUniqueID'));
                }
	return xmldoc;     
}

// Hilfsfunktion, die ein Select-Element mit Werten füllt. "element" ist der XML-Tag, unter dem
// die Werte zu finden sind
function fillSelect(selectFeld, element)
{
	// Select-Element leeren:
	selectFeld.options.length = 0;
	
        // Jetzt fuellen:	
        for(i = 0; i < element.length; i++)
        {
               	elementID= element.item(i).getElementsByTagName('id').item(0).firstChild.data;                	
               	elementName = element.item(i).getElementsByTagName('name').item(0).firstChild.data;
               	
               	elementID = unescape(elementID.replace(/\+/g,  " "));
               	elementName = unescape(elementName.replace(/\+/g,  " "));
               	var eintrag = new Option(elementName, elementID);
               	selectFeld.options[i] = eintrag;
        }
               	
}

// Muss bei onchange der Kontinente ausgeführt werden:
function showLaender(str)
{
	// Wenn "default" übergeben, laender und orte ebenfalls auf default setzen
	if(str == "default")
	{
		var laenderSelect = document.getElementById('laenderSelect');
            	var orteSelect = document.getElementById('orteSelect');
            	laenderSelect.options.length = 0;
            	orteSelect.options.length = 0;
            	var eintragLaender = new Option("- Bitte Kontinent wählen -", "default");
            	var eintragOrte = new Option("- Bitte Kontinent wählen -", "default");
            	laenderSelect.options[0] = eintragLaender;
            	orteSelect.options[0] = eintragOrte;
		return null;	
	}
			
        http_request = getXMLHttpRequest();
        
        if (!http_request) 
        {           
            return false;
        }
       
        http_request.onreadystatechange = insertLaender;
        url = '/wetter/wetter-ajax.php?&kontinentID='+str;
              
        http_request.open('GET', url, true);
       
        http_request.send(null);
}

// Fuegt die Option-Eintraege in das Laender-Select-Feld ein
// Außerdem werden die Orte des ersten Lands ins Orte-Select-Feld eingefügt
function insertLaender() 
{
	if (http_request.readyState == 4) 
	{
            if (http_request.status == 200) 
            {
            	// alert(http_request.responseText);
            	var laenderSelect = document.getElementById('laenderSelect');
            	var orteSelect = document.getElementById('orteSelect');
            	            	            	
            	var xmldoc = getXMLfromResponse(http_request);
                
                var laender = xmldoc.getElementsByTagName('land');
                
                var orte = xmldoc.getElementsByTagName('ort');
               		
		fillSelect(orteSelect, orte);
		fillSelect(laenderSelect, laender);
		
		        	
                
            } else {
                // alert('Bei dem Request ist ein Problem aufgetreten.');
            }
        }
}

function showOrte(str)
{
	http_request = getXMLHttpRequest();
        
        if (!http_request) 
        {           
            return false;
        }
        
        http_request.onreadystatechange = insertOrte;
        url = '/wetter/wetter-ajax.php?&landID='+str;
        // alert(url);
        
        http_request.open('GET', url, true);
        // alert("open");
        http_request.send(null);
}


function insertOrte() 
{
	if (http_request.readyState == 4) 
	{
            if (http_request.status == 200) 
            {
            	// alert(http_request.responseText);
            	var orteSelect = document.getElementById('orteSelect');
            	            	            	
            	var xmldoc = getXMLfromResponse(http_request);
                
                var orte = xmldoc.getElementsByTagName('ort');
		
		fillSelect(orteSelect, orte);    
		        	
                
            } else {
                // alert('Bei dem Request ist ein Problem aufgetreten.');
            }
        }
}


function showJahresklima(str)
{
	// alert(str);
	// Wenn kein Ort ausgewählt o.ä.:
	if(typeof(str) == 'undefined' || str == "" || str == "default")
	{
		return;	
	}
	// sonst setze Request ab:
	http_request = getXMLHttpRequest();
        
        if (!http_request) 
        {           
            return false;
        }
        
        http_request.onreadystatechange = insertJahresklima;
        url = '/wetter/wetter-ajax.php?&jahresklima='+str;
        // alert(url);
        
        http_request.open('GET', url, true);
        // alert("open");
        http_request.send(null);
        
}

function insertJahresklima() 
{
	if (http_request.readyState == 4) 
	{
            if (http_request.status == 200) 
            {
            	
            	// alert(http_request.responseText);
            	var klimaDiv = document.getElementById('klima');
            	            	            	            	
            	var xmldoc = getXMLfromResponse(http_request);
                
                var jahresklima = xmldoc.getElementsByTagName('jahresklima');
		
		ortID= jahresklima.item(0).getElementsByTagName('id').item(0).firstChild.data;                	
               	ortName = jahresklima.item(0).getElementsByTagName('name').item(0).firstChild.data;
               	try
               	{
               		imgName = jahresklima.item(0).getElementsByTagName('img').item(0).firstChild.data;
               	}
               	catch (e)
               	{
               		imgName = "";	
               	}
               	
               	ortID = unescape(ortID.replace(/\+/g,  " "));
               	ortName = unescape(ortName.replace(/\+/g,  " "));
               	imgName = unescape(imgName.replace(/\+/g,  " "));
               	
               	// Falls keine Jahresklima-Abbildung vorhanden:
               	if(imgName == "")
               	{
               		// alert("nixda");
               		document.getElementById('klimaOrtName').innerHTML = ortName;
               		document.getElementById('klimaImage').innerHTML = "<p>Leider kein Jahresklima verfügbar</p>";
               	}
               	else
               	{
               		var imgTag = "<img src=\"http://www.travelchannel.de/magazin/wetter/img/diagramme/"+imgName+"\" alt=\"Jahresklima\"/>";
               		document.getElementById('klimaOrtName').innerHTML = ortName;
               		document.getElementById('klimaImage').innerHTML = imgTag;
               	}
		        	
                
            } else {
                // alert('Bei dem Request ist ein Problem aufgetreten.');
            }
        }
}

function showVorhersage(str)
{
	// alert(str);
	// Wenn kein Ort ausgewählt o.ä.:
	if(typeof(str) == 'undefined' || str == "" || str == "default")
	{
		return;	
	}
	// sonst setze Request ab:
	http_request = getXMLHttpRequest();
        
        if (!http_request) 
        {           
            return false;
        }
        
        http_request.onreadystatechange = insertVorhersage;
        url = '/wetter/wetter-ajax.php?&vorhersage='+str;
        // alert(url);
        
        http_request.open('GET', url, true);
        // alert("open");
        http_request.send(null);
        
}

function insertVorhersage() 
{
	if (http_request.readyState == 4) 
	{
            if (http_request.status == 200) 
            {
            	
            	alert(http_request.responseText);
            	
            	var vhsTab = document.getElementById('vorhersageTabelle');
            	            	            	            	
            	var xmldoc = getXMLfromResponse(http_request);
                
                var vorhersage = xmldoc.getElementsByTagName('vorhersage');
                var ort = xmldoc.getElementsByTagName('ort');
		
		var anzahl = vorhersage.length;
		alert(anzahl);
		
		 	
               	ortName = ort.item(0).getElementsByTagName('name').item(0).firstChild.data;
               	ortName = unescape(ortName.replace(/\+/g,  " "));
               	
               	document.getElementById('vorhersageOrtName').innerHTML = ortName;
               	
               	for(i=0; i < anzahl; i++)
               	{
               		vhsTab.firstChild.item(i+1).firstChild.item(0).innerHTML = "Huhu"	;
               	}
               	
               	/*
               	imgName = vorhers.item(0).getElementsByTagName('img').item(0).firstChild.data;
               	}
               	catch (e)
               	{
               		imgName = "";	
               	}
               	
               	ortID = unescape(ortID.replace(/\+/g,  " "));
               	ortName = unescape(ortName.replace(/\+/g,  " "));
               	imgName = unescape(imgName.replace(/\+/g,  " "));
               	
               	*/
		        	
                
            } else {
                // alert('Bei dem Request ist ein Problem aufgetreten.');
            }
        }
}

// Funktion zur Weiterleitung auf Jahresklima-Seite
// übersetzt Kontinent-ID in enstsprechenden Verzeichnisnamen und baut url zusammen
// Wenn kein Bild verfügbar, gebe Meldung aus (in span)
function redirectToKlima(ortID)
{
			
	// alert(str);
	// Wenn kein Ort ausgewählt o.ä.:
	if(typeof(ortID) == 'undefined' || ortID == "" || ortID == "default")
	{
		return;	
	}
	
	http_request = getXMLHttpRequest();
        
        if (!http_request) 
        {           
            return false;
        }
        
        http_request.onreadystatechange = convertKlimaRequest;
        url = '/wetter/wetter-ajax.php?&jahresklima='+ortID;
        // alert(url);
        
        http_request.open('GET', url, true);
        // alert("open");
        http_request.send(null);
		
}

function convertKlimaRequest() 
{
	if (http_request.readyState == 4) 
	{
            if (http_request.status == 200) 
            {
            	
            	// alert(http_request.responseText);
            	var comingsoon = document.getElementById('comingsoon');
            	            	            	            	
            	var xmldoc = getXMLfromResponse(http_request);
                
                var jahresklima = xmldoc.getElementsByTagName('jahresklima');
		
		ortID= jahresklima.item(0).getElementsByTagName('id').item(0).firstChild.data;                	
               	ortName = jahresklima.item(0).getElementsByTagName('name').item(0).firstChild.data;
               	verzeichnis = jahresklima.item(0).getElementsByTagName('verzeichnis').item(0).firstChild.data;
               	
               	try
               	{
               		bildDa = jahresklima.item(0).getElementsByTagName('bild').item(0).firstChild.data;
               	}
               	catch (e)
               	{
               		bildDa = "false";	
               	}
               	
               	ortID = unescape(ortID.replace(/\+/g,  " "));
               	ortName = unescape(ortName.replace(/\+/g,  " "));
               	verzeichnis = unescape(verzeichnis.replace(/\+/g,  " "));
               	
               	// Bastel url zusammen und leite weiter auf neue Seite
               	url = "/wetter/wetter-klima.html?aktion=klima&ortid="+ortID;	
		var win = window;
		// alert(url);
		win.open(url,'_self');
               	       	
                
            } else {
                // alert('Bei dem Request ist ein Problem aufgetreten.');
            }
        }
}

// Funktion, die aufgerufen wird, wenn auf Vorhersage für ortID weitergeleitet werden soll
// Holt sich das zugehörige Kontinentverzeichnis per Ajax
function redirectToVorhersage(formular,ortID)
{
	var verzeichnis = "";
	formularToSend = formular;
	// alert(str);
	// Wenn kein Ort ausgewählt o.ä.:
	if(typeof(ortID) == 'undefined' || ortID == "" || ortID == "default")
	{
		return;	
	}
	
	http_request = getXMLHttpRequest();
        
        if (!http_request) 
        {           
            return false;
        }
        
        http_request.onreadystatechange = sendToVorhersage;
        url = '/wetter/wetter-ajax.php?&jahresklima='+ortID;        
        http_request.open('GET', url, true);
        // alert("open");
        http_request.send(null);
	
	
	formular.ortid.value = ortID;
	formular.submit;
	return;
}

function sendToVorhersage(formular)
{
	if (http_request.readyState == 4) 
	{
            if (http_request.status == 200) 
            {
            	
            	// alert(http_request.responseText);
            	
            	var xmldoc = getXMLfromResponse(http_request);
                
                var jahresklima = xmldoc.getElementsByTagName('jahresklima');
		
		ortID= jahresklima.item(0).getElementsByTagName('id').item(0).firstChild.data;                	
               	
               	verzeichnis = jahresklima.item(0).getElementsByTagName('verzeichnis').item(0).firstChild.data;
               	
                              	
               	ortID = unescape(ortID.replace(/\+/g,  " "));
               	
               	verzeichnis = unescape(verzeichnis.replace(/\+/g,  " "));
               	               	
               	url = "/wetter/wetter-vorhersage.html";	
               	formularToSend.action = url;
		formularToSend.ortid.value = ortID;
		formularToSend.submit();
		return;		        	
                
            } else {
                // alert('Bei dem Request ist ein Problem aufgetreten.');
            }
        }
}


// -->
