//alter Code aus dem alten System f?r neue Verwendung im TYPO3 umgebastelt

// H.Sturm 20.August06
// f?r animierte Karte auf der Seite Gebiete
// wird in Header der Seite Gebiete eingebunden ... siehe Datei gebiete.tpl


var index = parent; // braucht kein mensch mehr, alter Code
//index.et_echo("AUSWAHL|Karte","");

var timeoutId;

//var vNAVI = new Array();
var W2 = "";
var W3 = "";
var typ = 1;
var id = 0;
var x = 0;
var y = 0;

//aktueller Pointer im Array vNAVI
var p = 0;

//wird beim Aufbau der Seite durch f_vNAVI_fuellen_aus() auf false gesetzt, wenn gerade Inseln von Smarty gebastelt werden
//damit diese Daten nicht mehr im Array landen, sonst w?rde bei Sardinen (letztes vor den Inseln)
//als Untergebiete alle folgenden Gebiete aus Inseln und St?dte landen
var vNAVI_weiterfuellen = true;

function sprintf(){
    if (sprintf.arguments.length < 2) {
        return;
    }
    var data = sprintf.arguments[0];
    
    for (var k = 1; k < sprintf.arguments.length; ++k) {
        switch (typeof(sprintf.arguments[k])) {
            case 'string':
                data = data.replace(/%s/, sprintf.arguments[k]);
                break;
            case 'number':
                data = data.replace(/%d/, sprintf.arguments[k]);
                break;
            case 'boolean':
                data = data.replace(/%b/, sprintf.arguments[k] ? 'true' : 'false');
                break;
            default:
                /// function | object | undefined
                break;
        }
    }
    return (data);
}

//----------
//Daten w?hrend des Aufbaus der Website sammeln
//Gebiete-ID,HTML f?r JS-Dropdown(nicht das TYPO3-Dropdown!!),IMG-Tag f?r Bild Gebietsgrenze
//Listen-Tag(li) f?r Untergebiete (siehe n?chste Funktion f_vNAVI_fuellen_UG)
//x und y f?r Anzeige des JS-Dropdown ?ber der Karte
function f_vNAVI_fuellen(vid, vw1, vw2, vw3, vx, vy){
    img[p] = new Image();
    img[p].src = vw2 + vid + '.gif';
    p = vNAVI.length;
    vNAVI[p] = new Array();
    vNAVI[p][0] = vid;
    vNAVI[p][1] = sprintf("<a href=\"%s\" onclick=\"clearDiv(); f_navigation(%d); return false;\">%s</a> ", vw1, vid, vw3);
    //		vNAVI[p][1] = sprintf("<a href=\"%s+ "\" onclick=\"clearDiv(); f_navigation(" + vid + "); return false;\">" + vw4 + "</a> ";	
    vNAVI[p][2] = '<img src="' + vw2 + vid + '.gif" border="0" alt="" usemap="#karte_alles">';
    vNAVI[p][3] = '<a href="' + vw1 + '"><b>' + vw3 + '</b></a>';
    vNAVI[p][4] = vx;
    vNAVI[p][5] = vy;
}

function f_vNAVI_fuellen_UG(vw1, vw2){
    if (vNAVI_weiterfuellen) {
        p = vNAVI.length - 1;
        temp = '<li><a href="' + vw1 + '">' + vw2 + '</a></li>';
        vNAVI[p][3] += temp.replace(/[^>]+\s-/, "");
    }
}

//wird beim Aufbau der Seite ausgef?rt, wenn gerade Inseln von Smarty gebastelt werden
//damit diese Daten nicht mehr im Array landen, sonst w?rde bei Sardinen (letztes vor den Inseln)
//als Untergebiete alle folgenden Gebiete aus Inseln und St?dte landen
function f_vNAVI_fuellen_aus(){
    vNAVI_weiterfuellen = false;
}

//----------
//Hauptfunktion dieser Zauberei
//wird aufgerufen, wenn mit Maus ?ber Eintrag Links Gebiete (Hauptgebiete) und
//wenn ?ber dem Map-Area ?ber der Karte in der Mitte
//Gebietsid und vtyp=1 -> ?ber der Liste links, vtyp=2 -> ?ber der Karte
function f_d_over(vid, vtyp){

    if (vtyp == null) {
        vtyp = 100;
    }
    typ = vtyp;
    if (vid != id) {
        //		clearTimeout(timeoutId);
        
        
        flag = 0; //keine Ahnung - ?briggeblieben vom ersten Ersteller des Codes
        id = vid;
        x = 0;
        y = 0;
        
        xx_diff = 120; //f?r Darstellung Dropdown der Untergebiete mit JavaScript
        yy_diff = -5; //also nicht mehr relevant, da jetzt mit TYPO3
        W2 = "";
        W3 = "";
        //		alert(vNAVI.length);
        //suchen in dem Werte-Array nach der Zeile f?r diese GebietsID
        for (var j = 0; j < vNAVI.length; j++) {
            if (vNAVI[j][0] == id) {
//                alert("vid: " + vNAVI[j][0] + " X: " + vNAVI[j][4] + " Y: " + vNAVI[j][5])
                flag = 1;
                //HTML-Code f?r Link zum Gebiet ... W nur zum Abtesten auf ungleich "" verwendet
                //vermutlich hat dieser Wert auch nur noch historische Gr?nde
                W = vNAVI[j][1];
                if (W != "" || typ == 2) {
                    //Zusammenbau des HTML-Codes f?r Schild
                    
                    //W2 += "<div id=\"left\">";
                    //W2 += "<div id=\"naviV\">";
                    //W2 += "<div id=\"linkList\">";
                    //W2 += "<ul class=\"dropdown\">";
                    //W2 += "<table border=0 cellspacing=0 cellpadding=1><tr><td>";
                    //W2 += "<table border=0 cellspacing=0 cellpadding=5><tr><td>";
                    W2 += "<ul>";
                    //W2 += "<li>";
                    if (vNAVI[j][3] != "" && typ == 2) {
                        W2 += "" + vNAVI[j][3]; //+"<br />";
                    }
                    //W2 += ""+W+"";  	//war wichtig f?r DropDown der Untergebiete mit JS
                    //hetzt kontraproduktiv oder darf nur bei typ=1
                    //W2 += "</li>";
                    W2 += "</ul>";
                    
                    //W2 += "</div>";
                    //W2 += "</div>";
                    //W2 += "</div>";
                    //W2 += "</ul>";
                    //W2 += "</td></tr>";
                    //W2 += "</table></td></tr>";
                    //W2 += "</table>";
                }
                //IMG-Tag zum Grenz-Gif-Bild (Dateiname vom .gif GebietsID)
                W3 = vNAVI[j][2];
                //Position zum Anziegen der Dropdowns ?ber der Karte
                x = parseInt(vNAVI[j][4], 10);
                y = parseInt(vNAVI[j][5], 10);
                //auch alter Code zum Abfangen des Zwischenraums vor Insel
                if (j > vNAVI.length - 3) {
                    yy_diff = -60
                }
                //diese Funktion macht jetzt weiter
                f_view_layer("ziel" + id);
                break;
            }
        }
        if (flag == 0) {
            clearDiv();
        }
    }
}

//----------
//wird von f_d_over() aufgerufen
//es m?ssen zwei Layer "layer2" und "layer3" (Layer2 - Schilder, Layer3 - Grenzen) vorhanden sein
//Die Listeneintr?ge der Gebiete (<li><a - Tags) links m?ssen ID= und NAME= "ziel"+GebietsID haben
function f_view_layer(id){
    //Browserweiche
    if (document.layers) {
        document.layer2.visibility = "hide";
        xx = document.anchors[id].x;
        yy = document.anchors[id].y;
        with (document.layer2.document) {
            open();
            write(W2);
            close();
        }
        document.layer2.moveTo(xx + xx_diff, (yy - 5));
        document.layer2.visibility = "show";
    }
    else {
        elem = document.getElementById("layer2");
        elem_ziel = document.getElementById(id);
        //Position Dropdown der Untergebiete links ermitteln
        // nach Umbau unbenutzt und darum eigentlich ?berfl?ssig
        xx = elem_ziel.offsetLeft;
        while ((elem_ziel = elem_ziel.offsetParent) != null) {
            xx += elem_ziel.offsetLeft;
        }
        elem_ziel = document.getElementById(id);
        yy = elem_ziel.offsetTop;
        while ((elem_ziel = elem_ziel.offsetParent) != null) {
            yy += elem_ziel.offsetTop;
        }
        elem.style.visibility = "hidden";
        //HTML-Code einf?gen, wird in der Funktion f_d_over()zusammengebaut
        elem.innerHTML = W2;
//        alert(W2);
        if (typ == 2) {
            //				elem.style.left = (event.x + x);
            //				elem.style.top = (event.y - y);
			pos_x = (x - 110)
            elem.style.left = pos_x+"px"; //+230);
            elem.style.top = y+"px";
        }
        else {
            elem.style.left = (xx + xx_diff)+"px";
            elem.style.top = (yy + yy_diff)+"px";
        }
        //nur die Schilder ?ber der Karte, das andere machen wir anders als ME.. mit TYPO3
        if (typ == 2) {
            elem.style.visibility = "visible";
        }
        else {
            //elem.style.visibility = "hide";
        }
        // Grenzen einblenden
        elem2 = document.getElementById("layer3");
        //HTML-Code einf?gen, wird in der Funktion f_d_over()zusammengebaut
        //nur ein IMG-Tag
        elem2.innerHTML = W3;
        elem2.style.visibility = "visible";
    }
}

//----------
// nach Umbau unbenutzt
function f_d_over_3(){
    //		clearTimeout(timeoutId);
}

//----------

// nach Umbau unbenutzt
function clearDivWithTime(id){
    clearDiv(id);
    //		timeoutId = setTimeout("clearDiv()",1000);
}

//----------
//Layers ausblenden (Layer2 - Schilder, Layer3 - Grenzen)
function clearDiv(){
    if (document.layers) {
        document.layer2.visibility = "hide";
        document.layer3.visibility = "hide";
    }
    else 
        if (document.all) {
            layer2.style.visibility = "hidden";
            layer3.style.visibility = "hidden";
        }
        else 
            if (document.getElementById) {
                elem = document.getElementById("layer2");
                elem.style.visibility = "hidden";
                elem = document.getElementById("layer3");
                elem.style.visibility = "hidden";
            }
}

//*****************************************************************************

// nach Umbau unbenutzt
function f_navigation(sid, T1, T4){
    v = "?vS_ID=" + sid;
    v += "&vV_KENNUNG=feriengebiete";
    //index.trans(1,index.pfad_jsp+"templates/karte2.jsp"+v,"body","",1);
}

//*****************************************************************************

//sollte eigentlich in OnLoad der Seite "Gebiete" stehen ... TYPO3??
//Wird darum beim Aufbau der Seite aufgerufen (siehe gebiete.tpl
function f_init(){
    //neues Array zum Sammeln der Daten w?rend des Aufbaus der Seite
    vNAVI = new Array();
    img = new Array();
    //Layers ausblenden
    //clearDiv();
}

//*****************************************************************************
//f?r animierte Karte ende

