    var Farbton = new Array("#ffbf00", "#fff5d9", "#fffbed");
    var bis = new Array(8, 0, 3, 3, 0);
    var X = null;
    var Y = "";
    var Farbe = null;
    var BG = null;
    var sichtbar = "block";
    var alte_Farbe = null;
    var fkt = null;
    var last_func = "";


window.onerror = error_msg;
window.onload = loc;

function loc() {
    last_func = "loc";
    
    if (!top.frames[0] || top.frames[0].name != "logo" 
    ||  !top.frames[1] || top.frames[1].name != "navi")
        location.href = "http://robusta-kratzbaeume.de/";
}

function init() {
    
    last_func = "init";
    
    if (document.getElementById) {
        X = "document.getElementById(\"";
        Y = "\")";
    }
    else if (document.all) {
        X = "document.all.";
        Y = "";
    }  
    else {
        alert("Sie haben leider einen veralteten Browser, möglicherweise funktioniert nicht alles!");
        return;
    }
            
    WH("N4",0);
}

function WH(id, farb_nr) {

    var H_nr = parseInt(id.charAt(1));
    var aus_WU = false;

    if (last_func == "") {
        init
    };
    
    last_func = "WH";
    fkt = "WH : " + id + " / " + farb_nr; 
    
    if (farb_nr == -1) {
        aus_WU = true;
        farb_nr = 0;
    }

    for (var j = 0; j < 5; j++) {

        if (j == H_nr) {
            Farbe = Farbton[farb_nr];
            sichtbar =  "block";
        }
        else {
            Farbe = Farbton[2];
            sichtbar = "none";
        }    

        BG = X + "N" + j + Y + ".style.backgroundColor";        
        change_color(farb_nr, Farbe, BG);

        if (bis[j] > 0) {
            eval(X + "N" + j + "0" + Y + ".style.display=\"" + sichtbar + "\";");
            
            if (!aus_WU){
                var k = (farb_nr == 0 && j == H_nr) ?  -1 : 2;            
                WU("N" + j + "00", k);
            }    
        }      
    }
}

function WU(id, farb_nr, produkt_art) {

    var H_nr = parseInt(id.charAt(1));
    var U_nr = parseInt(id.charAt(3));
    var aus_WH = false;

    if (last_func == "") {
        init
    };
        
    last_func = "WU";
    fkt = "WU : " + id + " / " + farb_nr + " / " + produkt_art; 
    
    if (farb_nr == -1) {
        aus_WH = true;
        farb_nr = 0;
    }

    for (var j = 0; j < bis[H_nr]; j++) {
        Farbe =  (j == U_nr) ? Farbton[farb_nr] : Farbton[2];        
        BG = X + id.substr(0, 3) + j + Y + ".style.backgroundColor";                
        change_color(farb_nr, Farbe, BG);
    }
    
    if (!aus_WH && farb_nr == 0) WH("N" + H_nr, -1);
    
    if (produkt_art && top.main.produkt == null) {
        top.main.location.href = "artikel/fr_produkte.htm?" + produkt_art;
        return false;
    }
    else
        return true; 
}

function change_color(farb_nr, Farbe, BG) {

    last_func = "change_color";
    
    if (farb_nr > 0)
        alte_Farbe = eval(BG);
    else
        alte_Farbe = null;
        
    if (farb_nr == 0 || alte_Farbe != Farbton[0])
        eval(BG + "= \"" + Farbe + "\";");
}

function anzeigen(f) {

    last_func = "anzeigen";
            
    if (top.main.produkt != null)
        top.main.produkt.location.href = "artikel/" + f.Modell.value + ".htm";
    else
        top.main.location.href = "artikel/fr_produkte.htm?" + f.Modell.value + ".htm";
}


function error_msg(meldung, url, zeile) {
    var php = "js_fehler.php4?";
    php += "Meldung aus navi.js in " + last_func + " --> " + escape(meldung);
    php += "\nURL --> " + escape(url);
    php += "\nZeile --> " + escape(zeile);
    php += "\n" + fkt; 
    php += "\nX --> " + escape(X) + " Y --> " + escape(Y) + " Farbe --> " + escape(Farbe) + " BG --> " + escape(BG);
    alert ('\nEs ist ein Fehler aufgetreten! Das macht aber nichts...\n\n' +
           'er wird demnächst behoben\n\n'); 
    window.open(php, "Fehler", "width=100,height=100");
    return true;
}
