var seite;
var openNavi=new Array();
openNavi[0] = new Array();
var opened;
var linksNumber;
var levelsNumber;
var imgSrc;
var arrayPos;
var kapitel;
var ueSeite;
var testSeite;
var kapitelNavi;
var breite;
var hoehe;
var kapAnzahl;

kapAnzahl = 8; //wieviele Kapitel umfasst das LO (Einfuehrung nicht mitgezaehlt)?

kapitelNavi = '<option value="0">[ Kapitelauswahl ]</option><option value="0">&nbsp;</option><option value="index">Einf&uuml;hrung</option><option value="kap1">1. Programme</option><option value="kap2">2. Grundbestandteile von Programmen</option><option value="kap3">3. Alternativen</option><option value="kap4">4. Schleifen</option><option value="kap5">5. Klassen und Objekte</option><option value="kap6">6. Methoden und Parameter</option><option value="kap7">7. Programmentwurf</option><option value="kap8">8. Arrays</option>';

function blaetter(richtung) {

    //document.getElementById("semitransGif").style.visibility = "hidden";
    alteSeite = seite;

    if (richtung == "fwd") {

        if ((seite == maxSeite)&&(kapitel >= 1)&&(kapitel < kapAnzahl)) {            
                neuKap = kapitel + 1;               
                window.location.href = "kap"+neuKap+".html";                    
        }
        
        else if (seite != maxSeite) {
            seite++;
        }

    }

    else if (richtung == "bck") {
        if (seite != 1) {
            seite--;
        }
        
        else {
            if ((kapitel > 1)&&(kapitel <= kapAnzahl)) {            
                //seite = 1;
                neuKap = kapitel - 1;
                
                window.location.href = "kap"+neuKap+".html";
            }
            else if (kapitel == 1) {
                window.location.href = "index.html";                
            }        
        }
    }

    else {
        seite = richtung;
    }

    arrayPos = seite-1;
    level = allLinkLevels[arrayPos];
    linkNr = allLinkNumbers[arrayPos];

    activeLink(level,linkNr);
    makeSemiactive(seite);

    if (seite == ueSeite) {

// Demo-Auswahl:
if (kapitel == 2 || kapitel == 7)
        openUebung(kapitel);
else openUebung(0);
// End Demo-Auswahl:

    }

    /*
    if (seite == testSeite) {
        document.getElementById("semitransGif").style.visibility = "visible";
    }*/

    chngHeadline(alteSeite,seite);

// Demo-Auswahl:
notAvailablePage = "kap0_p0.html";
if (kapitel == 2 || kapitel == 7) return "kap"+kapitel+"_p"+seite+".html";
else return notAvailablePage;
// End Demo-Auswahl:

//    return "kap"+kapitel+"_p"+seite+".html";
}


function chngHeadline(aSeite,nSeite) {
    document.getElementById("headline_pg"+aSeite).style.visibility = "hidden";
    document.getElementById("headline_pg"+nSeite).style.visibility = "visible";
}


function activeLink(level,linkNr) {

    linkID = "link"+linkNr+"level"+level;
    //alle links deaktivieren...
    for (n=0;n<levelsNumber;n++) {

        for (i=0;i<linksNumber;i++) {
            killID = "link"+i+"level"+n;

            if (document.getElementById(killID)) {
                document.getElementById(killID).style.fontWeight = "normal";

                switch(n) {
                    case 0:
                    imgSrc = "img/spacer.gif";
                    break;

                    case 1:
                    imgSrc = "img/quadrat.gif";
                    break;

                    case 2:
                    imgSrc = "img/strich.gif";
                    break;
                }
                document.getElementById(killID+"img").src = imgSrc;
            }
        }
    }
    makeBold(level,linkNr);
    document.getElementById(linkID+"img").src = "img/pfeil_orange.gif";
}


function makeBold(level,linkNr) {
    linkID = "link"+linkNr+"level"+level;
    document.getElementById(linkID).style.fontWeight = "bold";
}


function glossarLinks(linkID) {
    //alle links normal formatieren:
    for (i=1;i<=26;i++) {
        killID = "glossLink"+i;
        if (document.getElementById(killID)) {
            document.getElementById(killID).style.fontWeight = "normal";
        }
    }
    //aktiven link bold:
    linkID = "glossLink" + linkID;
    document.getElementById(linkID).style.fontWeight = "bold";
}


function navigateKap(target) {
    if(target == 0)
        {
        document.forms[0].reset();
        document.forms[0].elements[0].blur();
        return;
        }
    else 
        {
        document.location.href = target + ".html";
        }
    }


function openUebung(kapitel) {
if (kapitel == 0) {  w = 600; h = 200; }
else  {  w = 950; h = 700;}
    ueWindow = window.open("uebungen_kap"+kapitel+".html","ueWin","width="+w+",height="+h+",top=5,left=50,scrollbars=auto,status=no");
    ueWindow.focus();

}


function openTopnavi(url) {
    
    /*
    if (breite) {
        dlWindow.close();
    }
    */    

    if (url=="download") {
        breite = 250;
        hoehe = 200;
        setScroll = "no";    
    }
    
    else if (url=="uebersicht") {    
        breite = 775;
        hoehe = 520;
        setScroll = "no";
    }    
    
    else {
        breite = 640;
        hoehe = 480;
        setScroll = "yes";
    }

    dlWindow = window.open(url+".html","dlWin","width="+breite+",height="+hoehe+",top=50,left=50,scrollbars="+setScroll);
    dlWindow.resizeTo(breite,hoehe);
    dlWindow.focus();
}


function adaptHeight() {

    if (window.innerHeight) {
        windowHeight = innerHeight;
    }

    else {
        windowHeight = document.body.offsetHeight;
    }

    //alert(windowHeight);

    if (windowHeight > 1000) {
        windowHeight = 1000;
    }

    if ((windowHeight > 650) && (windowHeight <= 1000)) {

        divHeight = windowHeight - 150;
        glossarHeight = divHeight - 277;
        glossarabcTop = divHeight + 82;

        document.getElementById("contentframe").style.height = divHeight + "px";
        document.getElementById("contentdiv").style.height = divHeight + "px";
        document.getElementById("glossarframe").style.height = glossarHeight + "px";
        document.getElementById("glossardiv").style.height = glossarHeight + "px";
        document.getElementById("glossarabc").style.top = glossarabcTop + "px";
        //document.getElementById("semitransGif").style.height = divHeight + "px";

    }

    var OS=navigator.userAgent;
    if ((OS.indexOf("Win")==-1)&&(navigator.appName == "Microsoft Internet Explorer")) {
        //alert("mac ie");

        document.getElementById("contentdiv").style.height = "510px";
        document.getElementById("contentframe").style.height = "487px";
        document.getElementById("glossarframe").style.height = "210px";
        document.getElementById("glossardiv").style.height = "254px";
        document.getElementById("glossarabc").style.top = "569px";
        document.getElementById("mediadiv").style.height = "247px";
        document.getElementById("mediaframe").style.height = "224px";
        //document.getElementById("semitransGif").style.height = "510px";
    }

}


function pageOne(kapNr) {
    frames['contentframe'].location.href = "kap"+kapNr+"_p1.html";
}

// Funktionen, um die einzelnen Kapitelseiten per Querystring direkt aufzurufen 
// liefert den Parameter strParam aus dem Querystring,
// oder Leerstring, falls der Parameter nicht vorhanden ist
function getParameter(strQuery, strParam)
{
	if(strQuery.indexOf(strParam) != -1)
	{
		var strParams = strQuery.substring(strQuery.indexOf(strParam)).split("&");
		if(strParams.length >= 1)
			return strParams[0].substring(strParam.length+1);
	}
	return "";
}
// laedt die im Querystring angegebene Seite (falls vorhanden) in den Contentframe
function setStartPage()
{
	page = getParameter(document.location.search, "SEITE");
	if(page != "")
	{
		page = parseInt(page);
		if(page >= 1 && page <=maxSeite) 
			frames['contentframe'].location.href = blaetter(page)
	}
}

