/**
 * Fragt URL mittels eines HTTP-Requests ab
 */
function getXMLData( url ){
    if(xmlhhtp = getXMLHttpObject() == false) {
        //alert("Fehler beim Anlegen des XMLHttpObject");
        return;
    }
    xmlhttp.open("GET", url , true);
    xmlhttp.onreadystatechange = handleHttpState;
    xmlhttp.send(null);
}

/**
 * Erzeugt XML-HTTP-Objekt zur Verwendung für URL-Abfragen
 */
function getXMLHttpObject(){
    try{
        xmlhttp = new XMLHttpRequest();
    }catch( error ){
        try{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch( error ){
            return false;
        }
    }
}

/**
 * URL erreichbar?
 */
function handleHttpState(){
    if( xmlhttp.readyState == 4 ){
        if( xmlhttp.status == 200 ){
            // daten erfolgreich geladen: starte Verarbeitung
            parseData();
        }else{
            // fehler
            alert("Fehler beim Abrufen der Daten");
        }
    }
}

/**
 * Rückgabe der Abfrage bearbeiten
 */
function parseData(){
    var xmlDocument = xmlhttp.responseXML;
    var typ = xmlDocument.getElementsByTagName("typ")[0].firstChild.nodeValue;
    switch( typ ){
        case "DROPDOWN" : {
            dropdown_set( xmlDocument );
            break;
        }
        default : {
            alert( "Der Typ ist nicht definiert!" );
            break;
        }
    }
}



// Untermenüs überprüfen
function dropdown_check(p){
    getXMLData( "/menu.xml?p="+p );
}

// Untermenüs anpassen
function dropdown_set( xmlDocument ){
    var nav = document.getElementById( "metanav" );
    nav.removeChild( nav.getElementsByTagName("ul")[0] );
    var xml = xmlhttp.responseText;
    xml = xml.substr( xml.search( /<ul>/ ) );
    xml = xml.substr( 0, xml.search( /<\/document>/ ) );
    nav.innerHTML += xml;

    // advanced suckerfish dropdown menus for everyone as seen at:
    // http://www.htmldog.com/articles/suckerfish/dropdowns/
    if(window.attachEvent){
    var sfEls = document.getElementById("metanav").getElementsByTagName("LI");
    	for (var i=0; i<sfEls.length; i++) {
	    sfEls[i].onmouseover=function() {
		this.className+=" sfhover";
	}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
    }
}

