    var system = new Object();
    system.length = 0;
    var mouseX;
    var mouseY;
    
    advAJAX.setDefaultParameters({
        onError : function(obj) { alert("Probleme Beim Laden der Informationen. Versuchen Sie die gesamte Seite neu zu laden. "+obj.status+" "+obj.url); },
        retry: 4,
        retryDelay: 2000,
        timeout : 4000,
        onTimeout : function() { 
            // alert("Verbindungstimeout. Versuchen Sie es in ein paar Sekunden nochmal bitte."); 
        }
    });

    if (window.event) {
        if (document.captureEvents) {
            document.captureEvents(Event.MOUSEMOVE);
        } else {
           window.captureEvents(Event.MOUSEMOVE);
        }
    }        
    document.onmousemove = getXY;

    function getXY(e) {
      mouseX =((document.all)?event.clientX:e.pageX);
      mouseY =((document.all)?event.clientY:e.pageY);
    }

    function haupt_ladeTemplate()
    {    
        system["template"]["h_menu"] = '<table border="0" cellspacing="0" cellpadding="0"><tr>((EINTRAEGE))</tr></table>';
        system["template"]["h_menu"] += '<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td><div style="font-size:10pt;padding-left:10px;text-align:left;" id="menuplatz3"></div></td><td width="350px"><div style="padding-right:10px;text-align:right;" id="menuplatz2"></div></td></tr></table>';
        system["template"]["h_menueintrag"] = '<th width="((BREITE))">';
        system["template"]["h_menueintrag"] += '<a onmouseout="zeigeNoEffekt(this)" onmouseover="zeigeEffekt(this,';
        system["template"]["h_menueintrag"] += "'((BREITE))','((A))'";
        system["template"]["h_menueintrag"] += ')" href="((MP1))"><div>((MP0))</div></a>';
        system["template"]["h_menueintrag"] += '</th>'; 
    }
    function detail_ladeTemplate() {
        system["template"]["detail"] = '<div style="font-size:12pt;color:#BED600;">((NAME))</div>';
        system["template"]["detail"] += '<div style="font-size:10pt;color:#8E908F;padding-bottom:10px;">Copyright by ((PUBLISHER))</div>';
        system["template"]["detail"] += '<div style="font-size:10pt;padding-bottom:10px;">((WEBSEITENLINK))</div>';
        system["template"]["detail"] += '<div style="font-size:10pt;padding-bottom:10px;">Genre: <a href="liste.html?rubrik=((RUBRIK))&genre=((GENREFILENAME))">((GENRE))</a></div>';
        system["template"]["detail"] += '<div style="font-size:10pt;padding-bottom:10px;">((PLATTFORMEN))</div>';
        system["template"]["detail"] += '<div style="font-size:10pt;padding-bottom:10px;">Last update: ((AKTUALISIERT))</div>';
        system["template"]["detail"] += '((RELATEDLINK))';
        system["template"]["detail"] += '((SPRACHTEXTE))';
        system["template"]["detail"] += '<div style="font-size:10pt;padding-bottom:10px;text-align:justify;">((TEXT))((SCREENSHOTS))</div>';
        system["template"]["detail_screenshot"] = '<img src="img/screenshots/((SCREENSHOT))" style="padding-right:5px;" />';
        system["template"]["detail_relatedlink"] = '<div style="font-size:10pt;padding-bottom:10px;">((RELATEDART)) of <a href="detail.html?datei=((DATEI))&rubrik=((RUBRIK))&genre=((GENREFILENAME))">((RELATEDTO))</a></div>';
        system["template"]["detail_webseitenlink"] = '<a href="((URL))" target="_blank">Official Website</a>';
        system["template"]["sprache"] = '<div id="sprachplatz" style="text-align:justify;font-size:10pt;">((SPRACHE))</div>';
        system["template"]["flaggenschalter"] = '<a href="#" onclick="return zeigeSPText(' + "'" + '((SPRACHCODE))' + "'" + ')">((FLAGGE))</a> ';
        system["template"]["flaggen"] = new Object();
        system["template"]["flaggen"]["de"] = '<img src="http://rapidshare.com/img2/fl_41.jpg">';
        system["template"]["flaggen"]["en"] = '<img src="http://rapidshare.com/img2/fl_38.jpg">';
        system["template"]["flaggen"]["fr"] = '<img src="http://rapidshare.com/img2/fl_27.jpg">';
        system["template"]["flaggen"]["es"] = '<img src="http://rapidshare.com/img2/fl_42.jpg">';        
    } 
    function holeVars()
    {
        system["rubrik"] = "games";
        if (window.location.search != "") {                
            var teile = window.location.search.substring(1).split("&");
            for (var a=0;a<teile.length;a++)
            {
                var t = teile[a].split("=");
                if (t[0] != "")            
                    system[t[0]] = t[1];
            }
        }
        system["jspfad"] = "js";
        system["bilderpfad"] = "img";
        system["serial"] = "0";
        system["template"] = new Object();        
        haupt_ladeTemplate();
        system["rubriknamen"] = new Object();
        system["rubriknamen"]["games"] = "Games";
        system["rubriknamen"]["trailer"] = "Trailers";
        system["rubriknamen"]["demo"] = "Demos";
        system["rubriknamen"]["patch"] = "Patches";
        system["rubriknamen"]["client"] = "Clients";
        system["rubriknamen"]["file"] = "Files";
        system["rubriknamen"]["browsergame"] = "Browsergames";
        system["rubriknamen"]["mod"] = "Mods";   
        system["rubriknamen"]["mmorpg"] = "MMORPG";
        system['werbung'] = new Array();
    }

    function zeigeMenue()
    {
        var mp = new Array(
            new Array("Home","index.html"), 
            new Array(system["rubriknamen"]["games"], "liste.html?rubrik=games"),
            new Array(system["rubriknamen"]["trailer"], "liste.html?rubrik=trailer"), 
            new Array(system["rubriknamen"]["demo"], "liste.html?rubrik=demo"),
            new Array(system["rubriknamen"]["patch"], "liste.html?rubrik=patch"),
            new Array(system["rubriknamen"]["client"], "liste.html?rubrik=client"),
            new Array(system["rubriknamen"]["mmorpg"], "liste.html?rubrik=games&genre=mmorpg"),
            new Array(system["rubriknamen"]["mod"], "liste.html?rubrik=mod"),
            new Array(system["rubriknamen"]["file"], "liste.html?rubrik=file"),
            new Array(system["rubriknamen"]["browsergame"], "liste.html?rubrik=browsergame")
            );
        var text = "";
        var breite = Math.floor(908/mp.length);
        var atext = "";
        for (a=0;a<mp.length;a++)
        {
            atext = system["template"]["h_menueintrag"];
            atext = atext.replace(/\(\(BREITE\)\)/g, breite);
            atext = atext.replace(/\(\(A\)\)/, a);
            atext = atext.replace(/\(\(MP1\)\)/, mp[a][1]);
            atext = atext.replace(/\(\(MP0\)\)/, mp[a][0]);
            text += atext;
        }
        document.getElementById("menuplatz").innerHTML = system["template"]["h_menu"].replace(/\(\(EINTRAEGE\)\)/, text);
    }
    function zeigeNoEffekt(elem)
    {
        elem.firstChild.style.background = "none";
    }
    function zeigeEffekt(elem, breite, pos)
    {
        elem.firstChild.style.background = "url(img/menue_mouseover.png)";
        var links = (breite*pos);        
        elem.firstChild.style.backgroundPosition = "-"+links+"px 0px";        
    }
    function checkAktualisierung(serial)
    {
        if (system["serial"] == 0) 
            system["serial"] = serial;
        //if (system["serial"] != serial)
            //window.location.reload();            
    }
    function checkSite()
    {
        for(var e in system) {
            system.length++;
        }
        if (system.length < 7 && window.location.pathname.substr(window.location.pathname.length - 10) != "index.html") {
            window.location.href = "index.html";
            return false;
        }
        return true;
    }
function toggle(ausloeser)
{
    var elem = ausloeser.parentNode.parentNode.parentNode.parentNode.parentNode; // div container            
    var kind = elem.lastChild;
    if (kind.style.display == "none") {
        kind.style.display = "block";
    } else {
        kind.style.display = "none";
    }
    return false;
}
function getXMLWertText(wert)
{
    var text = "";
    if (!wert)
        return text;   
    if (wert.childNodes[0])    
        text = wert.childNodes[0].nodeValue;
    return text;
}
function getXMLWertInt(wert)
{
    var text = 0;
    if (wert.childNodes[0])
        text = parseInt(wert.childNodes[0].nodeValue);
    if (isNaN(text))
        text = 0;
    return text;
}
function floatval(text)
{
    var zahl = parseFloat(text);
    if (isNaN(zahl))
        zahl = 0.0;
    return zahl;
}
function intval(text)
{
    var zahl = parseInt(text);
    if (isNaN(zahl))
        zahl = 0;
    return zahl;
}
function trim(text) {
    return text.replace(/^\s+|\s+$/g, '');
}
function haupt_schreibeHistory(suffix)
{
    if (!system["rubrik"])
        system["rubrik"] = "";
    var text = "";
    var rsstemplate = system["template"]["i_rssbildlink"];
    var rssdatei = "top_"+system["rubrik"];
    // rubrik
    if (!system["rubrik"]) {
        text = "";
    } else {
        text += '<a href="liste.html?rubrik=' + system["rubrik"] + '">' + system["rubriknamen"][system["rubrik"]]+'</a>';
        // genre aus der box
        if (document.getElementById("genredropbox")) {
            text += " | ";
            text += rsstemplate.replace(/\(\(DATEI\)\)/, rssdatei+'_'+system["genre"]+'.xml') + " ";
            var elem = document.getElementById("genredropbox");
            text += elem.options[elem.selectedIndex].text;            
        } else if (system["genre"]) {
            text += " | ";
            text += '<a href="liste.html?rubrik='+system["rubrik"]+'&genre='+system["genre"]+'">'+system["genreliste"][system["genre"]]+'</a>';
        }
        if (suffix && suffix != "")
            text += " | "+suffix;
    }
    document.getElementById("menuplatz3").innerHTML = text;
}
function haupt_holeDetailAnsicht() {
    var text = system["template"]["detail"];
    var wert = system["aktdaten"].getElementsByTagName("Name");
    var spielname = getXMLWertText(wert[0]);
    text = text.replace(/\(\(NAME\)\)/, spielname);
    wert = system["aktdaten"].getElementsByTagName("desc");
    text = text.replace(/\(\(TEXT\)\)/, getXMLWertText(wert[0]));
    wert = system["aktdaten"].getElementsByTagName("Publisher");
    text = text.replace(/\(\(PUBLISHER\)\)/, getXMLWertText(wert[0]));
    wert = system["aktdaten"].getElementsByTagName("Aktualisiert");
    text = text.replace(/\(\(AKTUALISIERT\)\)/, getXMLWertText(wert[0]));
    wert = system["aktdaten"].getElementsByTagName("Website");
    var webseite = decodeURIComponent(getXMLWertText(wert[0]).replace(/%A0/, ""));
    var atext = "";
    if (webseite != "") {
        atext = system["template"]["detail_webseitenlink"].replace(/\(\(URL\)\)/g, webseite);
    }
    text = text.replace(/\(\(WEBSEITENLINK\)\)/g, atext);
    var sptext = "";
    var sprachen = system["aktdaten"].getElementsByTagName("sprache");
    var a = 0;
    if (sprachen.length > 0) {
        var browsersprache = "";
        if (navigator.appName == "Netscape")
            browsersprache = navigator.language;
        else
            browsersprache = navigator.browserLanguage;
        var zeigesprache = "";
        system["tmpdaten"] = new Object();
        system["tmpdaten"].length = 0;
        for (a = 0; a < sprachen.length; a++) {
            var sp = getXMLWertText(sprachen[a]);
            if (sp != "") {
                var sprachcode = sprachen[a].getAttribute("language");
                if (zeigesprache == "")
                    zeigesprache = sprachcode;
                if (sprachcode == browsersprache)
                    zeigesprache = browsersprache;
                atext = system["template"]["flaggenschalter"];
                var flagge = "";
                if (system["template"]["flaggen"][sprachcode]) {
                    flagge = system["template"]["flaggen"][sprachcode];
                }
                atext = atext.replace(/\(\(FLAGGE\)\)/, flagge);
                atext = atext.replace(/\(\(SPRACHCODE\)\)/, sprachcode);
                system["tmpdaten"][sprachcode] = sp;
                system["tmpdaten"].length++;
                sptext += atext;
            }
        }
        if (system["tmpdaten"].length > 0)
            sptext += system["template"]["sprache"].replace(/\(\(SPRACHE\)\)/, system["tmpdaten"][zeigesprache]);
    }
    // wenn relatedto gesetzt, dann Link setzen
    atext = "";
    wert = system["aktdaten"].getElementsByTagName("RelatedTo");
    if (wert[0].getElementsByTagName("Datei").length > 0) {        
        atext = system["template"]["detail_relatedlink"];
        atext = atext.replace(/\(\(DATEI\)\)/, getXMLWertText(wert[0].getElementsByTagName("Datei")[0]));
        atext = atext.replace(/\(\(RELATEDART\)\)/, getXMLWertText(wert[0].getElementsByTagName("Art")[0]).toUpperCase());          
        atext = atext.replace(/\(\(RELATEDTO\)\)/, getXMLWertText(wert[0].getElementsByTagName("Titel")[0]).toUpperCase());
    }
    text = text.replace(/\(\(RELATEDLINK\)\)/, atext);
    // wenn vorhanden , liste die Screenshots auf
    atext = "";
    daten = system["aktdaten"].getElementsByTagName("Screenshots")[0].getElementsByTagName("screenshot");
    if (daten && daten.length > 0) {
        atext += '<br />';
        for (var i = 0; i < daten.length; i++) {
            var ctext = system["template"]["detail_screenshot"];
            ctext = ctext.replace(/\(\(SCREENSHOT\)\)/, getXMLWertText(daten[i]));
            atext += ctext;
        }
    }
    text = text.replace(/\(\(SCREENSHOTS\)\)/, atext);
    // wenn vorhanden , liste die Plattformen auf
    atext = "";
    // hole werte
    wert = getXMLWertText(system["aktdaten"].getElementsByTagName("Plattformen")[0]);
    if (wert != "") {
        var daten = wert.split(",");
        daten.sort();
        var bilder = new Array();
        var posBilder = new Object();
        posBilder["win"] = 1;
        posBilder["linux"] = 2;
        posBilder["mac"] = 3;
        posBilder["xbox360"] = 4;
        posBilder["ps3"] = 5;
        posBilder["wii"] = 6;
        posBilder["xbox"] = 7;
        posBilder["ps2"] = 8;
        posBilder["gamecube"] = 9;
        posBilder["nds"] = 10;
        posBilder["psp"] = 11;
        posBilder["browser"] = 12;
        var sonst = 20;
        for (a =0; a < daten.length; a++) {
            var name = trim(daten[a].toLowerCase());
            var pos = 0;
            if (posBilder[name]) {
                pos = posBilder[name];
            } else {
                sonst++;
                pos = sonst;
            }
            bilder[pos] = '<img title="' + trim(daten[a]) + '" alt="' + trim(daten[a]) + '" src="img/pl_' + name + '.jpg" /> ';
        }
        atext = bilder.join(" ");
    }
    text = text.replace(/\(\(PLATTFORMEN\)\)/, atext);
    text = text.replace(/\(\(SPRACHTEXTE\)\)/, sptext);
    wert = system["aktdaten"].getElementsByTagName("GenreFileName");
    var genrefilename = getXMLWertText(wert[0]);
    text = text.replace(/\(\(GENREFILENAME\)\)/g, genrefilename);
    wert = system["aktdaten"].getElementsByTagName("Genre");
    if (!system["genreliste"])
        system["genreliste"] = new Object();
    system["genreliste"][genrefilename] = getXMLWertText(wert[0])
    text = text.replace(/\(\(GENRE\)\)/g, getXMLWertText(wert[0]));
    if (!system["rubrik"])
        system["rubrik"] = "";
    text = text.replace(/\(\(RUBRIK\)\)/g, system["rubrik"]);
    return text;
}
function closeInfo() {
    document.getElementById('infobox').style.display = 'none';
    document.getElementById('infobox').style.position = 'fixed';
    //document.getElementById('infobox').innerHTML = "";    
}
function zeigeInfoBox(inhalt, fktwert) {
    var fkt = "closeInfo()";
    if (fktwert)
        fkt = fktwert;
    var text = '<div style="text-align:right;padding-bottom:5px;"><input type="image" src="' + system["bilderpfad"] + '/close_button.jpg" onclick="' + fkt + ';" alt="Close window" /></div>';
    text += inhalt;
    var elem = document.getElementById("infobox");
    elem.innerHTML = text;
    elem.style.position = 'fixed';
    var links = (document.body.clientWidth - parseInt(elem.style.width)) / 2;
    if (links > 0) {
        elem.style.left = links + "px";
    } else {
        elem.style.left = "50px";
    }
    //elem.style.top = (document.documentElement.scrollTop + 50) + "px";
    elem.style.top = "50px";
    elem.style.display = "block";
}
function zeigeSPText(sprachcode)
{
    if (!system["tmpdaten"][sprachcode])
        return false;
    document.getElementById("sprachplatz").innerHTML = system["tmpdaten"][sprachcode];
    return false; 
}
function haupt_ladeWerbeinfos()
{    
    var datei = "werbung.xml";
    advAJAX.get({
        url: datei,
        onSuccess : function(obj) {
            // zeige die latest an 
            var wert = obj.responseXML.getElementsByTagName("Serial");                
            checkAktualisierung(getXMLWertText(wert[0]));
            system['werbung'] = new Array();
            var daten = obj.responseXML.getElementsByTagName("eintrag");
            for (var i=0;i<daten.length;i++) {
                var datensatz = new Object();
                wert = daten[i].getElementsByTagName("id");
                datensatz['id'] = trim(getXMLWertText(wert[0])); 
                wert = daten[i].getElementsByTagName("publisher");
                datensatz['publisher'] = trim(getXMLWertText(wert[0])).toLowerCase(); 
                wert = daten[i].getElementsByTagName("genre");
                datensatz['genre'] = trim(getXMLWertText(wert[0])).toLowerCase();
                wert = daten[i].getElementsByTagName("name");
                datensatz['name'] = trim(getXMLWertText(wert[0])); 
                wert = daten[i].getElementsByTagName("rubrik");
                var teile = getXMLWertText(wert[0]).split(",");
                for(var ii=0;ii<teile.length;ii++) {
                    teile[ii] = trim(teile[ii]).toLowerCase();
                }                
                datensatz['rubrik'] = teile;
                wert = daten[i].getElementsByTagName("aktiv");
                var aktiv = getXMLWertInt(wert[0]);
                if (aktiv == 1)
                    system['werbung'].push(datensatz);                 
            }   
        }
    });
}
function Zufallszahl(Mindestwert,Hoechstwert)
{
    var Term = (Hoechstwert - Mindestwert) + 1
    var Zufallszahl = Math.random()
    for (var Wert = 0; Wert <= Term - 1; Wert++)
    {
        if (Zufallszahl >= Wert / Term && Zufallszahl < (Wert+1) / Term)
            return Wert + Mindestwert;
    }
    return Mindeswert;
}
function haupt_zeigeWerbeinfos(wartezahl)
{
    if (!system["genreliste"] || (!system["werbung"] || system["werbung"].length < 1) || (system["datei"] && system["datei"] != "" && !system["aktdaten"])) {
        var nwartezahl = wartezahl + 250;
        if (nwartezahl > 4000)
            return false;
        window.setTimeout("haupt_zeigeWerbeinfos("+nwartezahl+")", wartezahl);
        return false;
    }    
    var a,i = 0;
    // prüfe rubrik
    if (system["rubrik"] == "")
        system["rubrik"] = "games";
    var treffer = new Array();
    var werbetreffer = new Array();
    var werbeeintraege = new Object();
    var elem = document.getElementById("werbebanner");
    for (a=0;a<system["werbung"].length;a++) {
        treffer = new Array();
        werbeeintraege[system["werbung"][a]["id"]] = system['werbung'][a];
        for (i=0;i<system["werbung"][a]["rubrik"].length;i++) {
            if (system["rubrik"] == system["werbung"][a]["rubrik"][i])
                treffer.push(system["werbung"][a]["id"]);
        }        
        if (system["genre"] && system["genre"] != "" && system["genre"] == system["genrelisteREV"][system["werbung"][a]["genre"]]) {
            treffer = new Array();            
            treffer.push(system["werbung"][a]["id"]);
        }   
        var dateiname = "";     
        if (system["datei"] && system["datei"] != "" && system["aktdaten"]) {
            dateiname = system["werbung"][a]["id"]+".xml";
            if (dateiname != system["datei"]) {
                var publisher = getXMLWertText(system["aktdaten"].getElementsByTagName("Publisher")[0]);
                if (publisher.toLowerCase() == system["werbung"][a]["publisher"]) {
                    treffer = new Array();
                    treffer.push(system["werbung"][a]["id"]);        
                }            
            }
        }               
        for (i=0;i<treffer.length;i++) {
            if (system["datei"] && system["datei"] != "" && system["aktdaten"]) {
                dateiname = system["werbung"][a]["id"]+".xml";
                if (dateiname != system["datei"]) {
                    werbetreffer.push(treffer[i]);
                }
            } else {
                werbetreffer.push(treffer[i]);
            }  
        }
    }
    var text = "";
    if (werbetreffer.length > 0) {
        var pos = Zufallszahl(0, werbetreffer.length-1);
        var id = werbetreffer[pos];
        text = '<a href="detail.html?datei=((DATEI))((RUBRIK))"><img src="((BILD))"></a>';
        text = text.replace(/\(\(DATEI\)\)/, id+".xml");
        text = text.replace(/\(\(RUBRIK\)\)/, '&rubrik='+system["rubrik"]);
        text = text.replace(/\(\(BILD\)\)/, "img/werbung/"+id+".jpg");        
    }
    if (text == "") {
        elem.style.width = "1px";
    } else {
        elem.style.width = "160px";
    }
    elem.innerHTML = text;
}
function haupt_onload()
{
    haupt_ladeWerbeinfos();
    haupt_zeigeWerbeinfos(250);
}
function haupt_holeNewDatumTimestamp() {
    var datum = new Date();
    return new Date(datum.getTime() - (3*24*60*60*1000)).getTime(); // 3 tage
}                                                                          