var bustcachevar = 1 // caching setzen von externen Seiten? (1=ja, 0=nein)
var loadstatustext = "<div style=\"height\:32px\;padding\:0px\"><div style=\"float\:left\;margin-right\:10px\;\"><img src=\"/wetter/wetter-bilder/wetter-laden.gif\"></div><div style=\"height\:32px\;line-height\:22px\;padding\:7px 0 3px 0\"> loading ...</div></div>"

// muss nicht editiert werden //
var loadedobjects = "";
var defaultcontentarray = new Object();
var bustcacheparameter = "";

function tcAjaxSeiteWetter(url, containerid, targetobj){
var page_request = false;
if (window.XMLHttpRequest) // für firefox, mozilla, safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // für ie
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false;
var ullist = targetobj.parentNode.parentNode.getElementsByTagName("li");
for (var i=0; i < ullist.length; i++)
ullist[i].className = ""; //alle tabs nicht auswählen
targetobj.parentNode.className = "selected"  //hebe den gegenwärtigen tab optisch hervor
if (url.indexOf("#default")!=-1){ // wenn erfüllt zeige den normalen Inhalt im Container(gegenüber abholung durch ajax)
document.getElementById(containerid).innerHTML=defaultcontentarray[containerid];
return;
}
document.getElementById(containerid).innerHTML=loadstatustext
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) // wenn caching von externen Seiten gesetzt
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText;
}

function loadobjs(revattribute){
if (revattribute!=null && revattribute!=""){ // wenn "rev" attribute definiert (lade externe .js oder .css Datei)
var objectlist=revattribute.split(/\s*,\s*/) // trenne die Dateien und lege sie in Array ab
for (var i=0; i<objectlist.length; i++){
var file=objectlist[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ // Prüfe, um zu sehen, ob das Objekt nicht schon vorher erzeugt wurde, bevor ausgeführt
if (file.indexOf(".js")!=-1){ // Wenn Objekt eine js-Datei ist
fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src",file);
}
else if (file.indexOf(".css")!=-1){ // Wenn Objekt eine CSS-Datei ist
fileref=document.createElement("link");
fileref.setAttribute("rel","stylesheet");
fileref.setAttribute("type","text/css");
fileref.setAttribute("href",file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref);
loadedobjects+=file+" " // Speichere dieses Objekt, als schon auf dieser Seite vorhanden, ab.
}
}
}
}

function expandtab(tabcontentid, tabnumber){ // interface für das ausgewählte Tab (plus dazugehörigen Inhalt)
var thetab=document.getElementById(tabcontentid).getElementsByTagName("a")[tabnumber]
if (thetab.getAttribute("rel")){
tcAjaxSeiteWetter(thetab.getAttribute("href"), thetab.getAttribute("rel"), thetab)
loadobjs(thetab.getAttribute("rev"))
}
}

function savedefaultcontent(contentid){ // sichert den als Standard definierten tab Inhalt
if (typeof defaultcontentarray[contentid]=="undefined") // wenn der Standard-tab-Inhalt noch nicht gesichert wurde
defaultcontentarray[contentid]=document.getElementById(contentid).innerHTML
}

function starttcAjaxWetter(){
for (var i=0; i<arguments.length; i++){ // Schleife durchläuft die übergebenen UL ids
var ulobj = document.getElementById(arguments[i])
var ulist = ulobj.getElementsByTagName("li") // Array enthält LI Elemente innerhalb des UL Elements
for (var x=0; x<ulist.length; x++){ // Schleife durch jedes LI Element
var ulistlink = ulist[x].getElementsByTagName("a")[0]
if (ulistlink.getAttribute("rel")){
var modifiedurl = ulistlink.getAttribute("href").replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/")
ulistlink.setAttribute("href", modifiedurl) // Ersetzt die URL root Domain mit einer dynamischen Domain, für die ajax Sicherheit
savedefaultcontent(ulistlink.getAttribute("rel")) // speichert den Standard-tab-Inhalt
ulistlink.onclick = function(){
tcAjaxSeiteWetter(this.getAttribute("href"), this.getAttribute("rel"), this)
loadobjs(this.getAttribute("rev"))
return false;
}
if (ulist[x].className == "selected"){
tcAjaxSeiteWetter(ulistlink.getAttribute("href"), ulistlink.getAttribute("rel"), ulistlink) // auto load des gegenwärtigen tab-Inhalts
loadobjs(ulistlink.getAttribute("rev")) //auto load begleitender *.js und *.css Dateien
}
}
}
}
}
