/**
 *
 * K-onstruct CMS
 * Copyright (C) 2008-2011 Kevin Kis
 *
 * Formerly known as CECMS Content Management System
 *
 * PHP version 5
 * @copyright  2008-2011 Kevin Kis
 * @author     Kevin Kis <http://www.k-kombinat.de>
 *
 */

/******************************************************************************
 * VARS
 ******************************************************************************/
var quizthemeshorter = "Nathan der Weise";
var quizthemeshort = "Nathan der Weise";
var quiztheme = "Nathan der Weise";
qarray = jQuery.parseJSON('{\n\
"q1": {\n\
        "res":"D", \n\
        "question"   : "In welchem Zeitraum lebte Lessing?", \n\
        "selection_A": "1756–1791",\n\
        "selection_B": "1759–1805",\n\
        "selection_C": "1749–1832",\n\
        "selection_D": "1729–1781",\n\
        "infoboxcontent": "Die durchschnittliche Lebenserwartung im 18. Jahrhundert betrug etwa 35 Jahre. Lessings Gesundheitszustand verschlechterte sich seit 1779, also im Alter von etwa 50 Jahren. Er verstarb am 15. Februar 1781, nach vierzehntägiger Krankheit, an Brustwassersucht.<br><br> Die anderen Lebensdaten gehören zu folgenden Personen:<br><br> 1756–1791: Wolfgang Amadeus Mozart<br> 1759–1805: Friedrich von Schiller<br> 1749–1832: Johann Wolfgang von Goethe<br><br>Als Unterrichtsprojekt könnten die Schüler und Schülerinnen Nachforschungen zu Persönlichkeiten der Aufklärung anstellen und ihre Lebensdaten auf einem Zeitstrahl zusammentragen."\n\
},\n\
"q2": {\n\
        "res":"B", \n\
        "question"   : "Wie hieß Lessing mit Vornamen?", \n\
        "selection_A": "Johann Christoph Friedrich",\n\
        "selection_B": "Gotthold Ephraim",\n\
        "selection_C": "Johann Wolfgang",\n\
        "selection_D": "Hermann Karl",\n\
        "infoboxcontent": "Die anderen Doppelnamen gehören anderen bekannten deutschen Schriftstellern:<br><br>Johann Christoph Friedrich Schiller<br>Johann Wolfgang von Goethe<br>Hermann Karl Hesse<br><br>Im 18. Jahrhundert erhielt der Erstgeborene oft noch den Vornamen des Vaters. Dies trifft bei Goethe und Schiller zu. Lessings Vater hieß jedoch Johann Gottfried."\n\
},\n\
"q3": {\n\
        "res":"B", \n\
        "question"   : "Was gehört zu den Idealen der Epoche der Aufklärung?", \n\
        "selection_A": "Phantasie, Idealismus und Emotionalität",\n\
        "selection_B": "Toleranz, Humanität, Rationalität",\n\
        "selection_C": "Realismus, Subjektivismus und Materialismus",\n\
        "selection_D": "Arroganz, Nationalismus und Immunität",\n\
        "infoboxcontent": "Eine Unterrichtseinheit mit Arbeitsmaterialien zum Zeitalter der Aufklärung gibt es beim Bayerischen Rundfunk: <a href=\\"http://www.br.de/radio/bayern2/wissen/radiowissen/geschichte/aufklaerung-vernunft-einsatz-im-unterricht100.html\\" target=\\"_blank\\">Link</a><br>Diese und weitere Fremdwörter (siehe zum Beispiel auch Frage 10), die mit dem Thema zusammenhängen, könnten im Unterricht spielerisch zum Einsatz kommen: Hierfür schreibt die Lehrkraft ein Fremdwort an die Tafel. Die Schüler und Schülerinnen erhalten eine Minute Zeit, die Bedeutung möglichst präzise aufzuschreiben. Anschließend werden die Lösungsvorschläge vorgelesen und gemeinsam besprochen. Wer am nächsten dran ist, hat gewonnen." \n\
},\n\
"q4": {\n\
        "res":"D", \n\
        "question"   : "Von welchem Philosophen der Aufklärung stammt der Ausspruch „Habe Mut, dich eines eigenen Verstandes zu bedienen.“?", \n\
        "selection_A": "Jean-Jacques Rousseau",\n\
        "selection_B": "Voltaire",\n\
        "selection_C": "David Hume",\n\
        "selection_D": "Immanuel Kant",\n\
        "infoboxcontent": "Unter dem Motto „Kant für Anfänger“ hat der Bayerische Rundfunk Filme produziert, in denen sich die Philosophiestudentin Sophie dem schwierigen Werk von Immanuel Kant nähert. In zwei Staffeln werden „Die Kritik der reinen Vernunft“ und der „Kategorische Imperativ“ erklärt. Unter nachfolgendem Link können die Filme online angeschaut werden. Weiterhin findet sich dort es eine knapp gefasste Biographie des Philosophen zum Nachlesen: <a href=\\"http://www.br.de/fernsehen/ard-alpha/sendungen/kant-fuer-anfaenger/index.html\\" target=\\"_blank\\">Link</a>"\n\
},\n\
"q5": {\n\
        "res":"A", \n\
        "question"   :"Warum gab Lessing seinem Drama „Nathan der Weise“ den Untertitel „Ein dramatisches Gedicht“?", \n\
        "selection_A":"weil es weder Tragödie noch Komödie ist",\n\
        "selection_B":"weil es in Versen geschrieben ist",\n\
        "selection_C":"weil es ein Drama ist, das sich reimt",\n\
        "selection_D":"weil es ein gutes Ende hat",\n\
        "infoboxcontent":"Mit dem Untertitel wollte Lessing ausdrücklich festlegen, dass es sich bei „Nathan der Weise“ weder um eine Komödie noch um eine Tragödie handele. Bereits in früheren Jahren hatte Lessing sich mit der Theorie des Dramas beschäftigt und 1754 seine Abhandlungen über das Lustspiel und 1767/69 seine „Hamburgische Dramaturgie“ veröffentlicht. In diesen Schriften war er bemüht, die vom Leipziger Literaturprofessor Johann Christoph Gottsched festgelegte, allzu starre Form weiterzuentwickeln. „Nathan der Weise“ enthält sowohl Elemente aus der Tragödie als auch aus der Komödie. Während der historische Hintergrund des Stückes bis zum Schluss ein tragisches Ende vermuten lässt, zeigen sich einige Figuren witzig-ironisch und verleihen dem Stück mit ihren Auftritten lustspielhafte Züge. Auf der folgenden Seite der VHS Florisdorf sind „Gottscheds Theaterreform und Lessings Neuerungen“ knapp und für Schüler und Schülerinnen geeignet zusammengefasst: <a href=\\"http://odl.vwv.at/deutsch/odlres/res9/Literatur/Lit_Aufkl_Dramentheorie.htm\\" target=\\"_blank\\">Link</a>"\n\
        }, \n\
"q6": {\n\
        "res":"D", \n\
        "question"   : "Welches historische Ereignis bildet den Hintergrund für das Drama „Nathan der Weise“?", \n\
        "selection_A": "der Investiturstreit", \n\
        "selection_B": "die Inquisition", \n\
        "selection_C": "die islamische Expansion", \n\
        "selection_D": "die Kreuzzüge", \n\
        "infoboxcontent": "Fast alle Antwortmöglichkeiten stehen für religiös motivierte Kriege. Vor diesem Hintergrund kann zum Beispiel diskutiert werden, ob der islamische Terrorismus als „moderner“ Kreuzzug verstanden werden kann. Zur Vorbereitung einer solchen Diskussion sollte die Geschichte der Kreuzzüge zunächst besprochen werden. Der folgende Link führt zu einer Flashanimation über die Geschichte der Kreuzzüge: <a href=\\"https://www.schularena.com/geschichte/themen/interaktiv/flashfilme/7.swf\\" target=\\"_blank\\">Link</a>"\n\
        }, \n\
"q7": {\n\
        "res":"A", \n\
        "question"   : "In welcher heiligen Stadt spielt das Drama „Nathan der Weise“?", \n\
        "selection_A": "Jerusalem", \n\
        "selection_B": "Bethlehem", \n\
        "selection_C": "Nazareth", \n\
        "selection_D": "Rom", \n\
        "infoboxcontent": "Jerusalem, Bethlehem und Nazareth sind Städte, die in den drei großen monotheistischen Religionen (Christentum, Judentum und Islam) als heilige Städte gelten. Rom dagegen spielt nur im Christentum eine Rolle.<br><br> <b>Jerusalem</b> hat Bedeutung für alle drei Religionen. Im Mittelpunkt steht hierbei der Tempelberg, mit dem alle drei Religionen ein wichtiges Ereignis verbinden. Für die Juden steht er für die Bereitschaft Abrahams, Gott seinen Sohn zu opfern. Für die Christen steht er für den Tod Jesus Christus‘. Er wurde auf dem Tempelberg gekreuzigt und begraben. Sei Grab in der Grabeskirche zu Jerusalem ist noch heute eine wichtige Pilgerstätte für christliche Gläubige. Für Muslime ist Jerusalem wichtig, weil der Überlieferung zufolge Mohammed hier seine Himmelfahrt zu Allah angetreten hat. <br><br><b>Bethlehem</b> wird in der Bibel als Ort erwähnt, an dem sich das Grab Rachels befindet. Rachel war die Lieblingsfrau von Abrahams Enkelsohn Jakob. Die Stadt gilt zudem als Heimatstadt Davids. Am bekanntesten aber ist Bethlehem als Geburtsort von Jesus Christus. Der Überlieferung zufolge soll er in einem Stall nahe Bethlehem zur Welt gekommen sein. Daran erinnert die sogenannte Geburtskirche. Sie steht an der Stelle, an der einst der Stall gestanden haben soll. Heute liegt Bethlehem im Westjordanland. Die Stadt grenzt im Norden an Jerusalem und wird von Palästinensern regiert. <br><br><b>Nazareth</b> gilt als Heimatstadt von Jesus Christus. Hier wuchs er auf. Später predigte er in der Synagoge und tat viel Gutes. Aufgrund seiner Herkunft wird Jesus Christus im zweiten Testament auch „Jesus von Nazareth“ genannt. Heute leben in Nazareth, welches im Norden Israels liegt, Juden, Christen und Muslime.(Quelle: www.religionen entdecken.de)<br><br> Ein Lernspiel über die drei Weltreligionen findet sich unter: <a href=\\"http://www.planet-schule.de/sf/multimedia/lernspiele/weltreligionen/mme/PreLoader.html\\" target=\\"_blank\\">Link</a>"\n\
        }, \n\
"q8": {\n\
        "res":"C", \n\
        "question"   : "Der Dialog ist in „Nathan der Weise“ das Mittel zur Einsicht. Auf welchen griechischen Philosophen geht dies zurück?", \n\
        "selection_A": "Aristoteles", \n\
        "selection_B": "Platon", \n\
        "selection_C": "Sokrates", \n\
        "selection_D": "Heraklit", \n\
        "infoboxcontent": "Der Dialog als erzieherisches Mittel geht auf den griechischen Philosophen Sokrates zurück. Er hat ihn genutzt, um vor allem Fragen zu stellen und auf die darauf gegebenen Antworten einzugehen. Nach seinem Vorbild lässt Lessing die Figuren in „Nathan der Weise“ nicht durch Lehrpredigten oder lange Monologe zur Einsicht gelangen, sondern im Dialog mit anderen. Lessing geht sogar noch ein Stück weiter. Er ignoriert an dieser Stelle das soziale Gefälle und lässt seine Dialogpartner gleichberechtigt miteinander reden. (Quelle: Patzer, Georg: Nathan der Weise. Stuttgart: Ernst Klett Verlag GmbH, 2003)"\n\
        }, \n\
"q9": {\n\
        "res":"D", \n\
        "question"   : "Mit welchem religiösen Konzept aus dem Koran rechtfertigen Attentäter bei islamistischen Terroranschlägen ihr Handeln?", \n\
        "selection_A": "Hidschra", \n\
        "selection_B": "Hadsch", \n\
        "selection_C": "Hamas", \n\
        "selection_D": "Dschihad", \n\
        "infoboxcontent": "<b>Hidschra</b> = Auswanderung des Propheten Mohammed von Mekka nach Medina 622 n. Chr. <br><br><b>Hadsch</b> = Die wichtigsten Rituale im Leben eines Muslimen sind die fünf Säulen des Islam. Die Hadsch ist die fünfte Säule. Sie ist die Pilgerreise nach Mekka.<br><br><b>Hamas</b> = sunnitisch-islamistische Palästinenser-Organisation, deren Ziel es ist, den Staat Israel zu vernichten und einen islamischen Staat zu errichten.<br><br><b>Dschihad</b> = wörtlich übersetzt „Anstrengung (auf Gottes Weg)“. Damit ist einerseits der Kampf gegen das Böse im Inneren des Herzens gemeint. Andererseits umfasst der Begriff gottgefällige Anstrengungen und die äußere Verteidigung von Muslimen. Letzteres wird von Dschihadisten als Legitimation eines Angriffskrieges bzw. einer gewaltsamen Ausbreitung des Islam ausgelegt."\n\
        }, \n\
"q10":{\n\
        "res":"C", \n\
        "question"   : "Welcher Begriff beschreibt die Einstellung islamistischer Terroristen am besten?", \n\
        "selection_A": "religiöser Pazifismus", \n\
        "selection_B": "religiöser Sozialismus", \n\
        "selection_C": "religiöser Fanatismus", \n\
        "selection_D": "religiöser Fundamentalismus", \n\
        "infoboxcontent":"<b>Religiöser Pazifismus</b> = ethische Grundhaltung, die Kriege, bewaffnete Konflikte und dergleichen aus religiösen Gründen ablehnt und zu vermeiden bzw. zu verhindern versucht. Religiöse Pazifisten wie die Quäker trugen zu Beginn des 19. Jahrhunderts entscheidend zur Gründung der ersten Friedensgesellschaften in den USA und in Großbritannien bei.<br><br><b>Religiöser Sozialismus</b> = das Eintreten christlicher Gläubiger für eine sozialistische Gesellschaftsordnung. Religiöse Sozialisten legen bestimmte Traditionen und Texte der Bibel wie das Gebot der Nächstenliebe und die Kritik am Mammon als Impulse aus und leiten daraus für sich die Verpflichtung zur Überwindung kapitalistischer Gesellschaftsordnungen ab.<br><br> <b>Religiöser Fanatismus</b> = durch den bedingungslosen Glauben an eine bestimmte religiöse Idee und Intoleranz gegenüber davon abweichenden Meinungen und Religionen gekennzeichnete Geisteshaltung. Beispiele für religiösen Fanatismus finden sich in nahezu allen Epochen der Geschichte und in allen Religionen. Das mittelalterliche Kreuzrittertum kann dabei ebenso als religiös motivierte Bewegung von Fanatikern angesehen werden, wie die jüdische Zelotenbewegung und verschiedene muslimische Gruppierungen wie al-Quaida oder die Terrororganisation IS.<br><br><b>Religiöser Fundamentalismus</b> = Einstellung, die darauf abzielt, zu den Fundamenten und damit zu einer ursprünglichen Glaubensvorstellung zurückzukehren notfalls auch mit radikalen Mitteln. Religiöser Fundamentalismus ist ein Phänomen, welches in allen Religionen auftreten kann."\n\
        }\n\
}');
resulttext = jQuery.parseJSON('{\n\
"8-10":"Applaus! Viel gewusst ohne Frust!", \n\
"5-7":"Nicht schlecht, aber es geht besser!", \n\
"0-4":"Das war wohl nichts! Noch einmal!"\n\
}');
/**
 * Template Bühnen ID's
 */
var resettscenes = Array(
        'leftsidequestions',
        'sidebar-questionpipes',
        'content-startselection',
        'content-questionboxes',
        'resultcontainer_1player',
        'resultcontainer_2player',
        'footer-selectionboxes'
        );
//ul-buttonbar

/**
 * Szenendefinitionen
 * hier werden container mit ids aufgezählt
 * !! hier dürfen keine leerzeichen in die aufzählung
 */
loadgamescene = jQuery.parseJSON('{\n\
"modiselection": {\n\
                     "show"       : "content-startselection", \n\
                     "hide"       : "", \n\
                     "activate"   : "", \n\
                     "deactivate" : "resolvebutton,checkbutton,storagebutton"  \n\
                  }, \n\
"oneplayer"       : {\n\
                     "show"       : "leftsidequestions,sidebar-questionpipes,content-questionboxes,footer-selectionboxes",\n\
                     "hide"       : "content-startselection", \n\
                     "activate"   : "resolvebutton,checkbutton,storagebutton", \n\
                     "deactivate" : "pipe_twoplayer,answeroption_twoplayer" \n\
                    }, \n\
"twoplayer": {\n\
                     "show"       : "leftsidequestions,sidebar-questionpipes,content-questionboxes,footer-selectionboxes",\n\
                     "hide"       : "content-startselection", \n\
                     "activate"   : "resolvebutton,checkbutton,storagebutton", \n\
                     "deactivate" : "" \n\
                    }, \n\
"oneplayer_result": {\n\
                     "show"       : "leftsidequestions,sidebar-questionpipes,resultcontainer_1player,footer-selectionboxes",\n\
                     "hide"       : "content-startselection", \n\
                     "activate"   : "", \n\
                     "deactivate" : "pipe_twoplayer,answeroption_twoplayer" \n\
                    }, \n\
"twoplayer_result": {\n\
                     "show"       : "leftsidequestions,sidebar-questionpipes,resultcontainer_2player,footer-selectionboxes",\n\
                     "hide"       : "content-startselection", \n\
                     "activate"   : "", \n\
                     "deactivate" : "" \n\
                    }\n\
}');
/**
 * Spielmodi
 * Optionen: oneplayer/twoplayer
 **/
var playermodi = "";
/**
 * Antworten Player 1Es gibt ein Kräfteungleichgewicht, weil eine Person vielen gegenübersteht.
 **/
var player1_selection = "";
/**
 * Antworten Player 2
 **/
var player2_selection = "";
/*
 * Aktuelle Frage
 */
var currentquestion = 0;
/**
 * Checkbuttonstatus
 * 1=Check / 2=Weiter / 2=Neuladen
 */
var checkbutton_status = 0;
/**
 * Spielstände
 **/
var score_player1 = 0;
var score_player2 = 0;
/*
 * Speichere die Antworten in einem Array um sie ggf im
 * localStorage zu speichern
 */
var answers_player1 = new Array();
var answers_player2 = new Array();
/*
 * Speichere der letzen Frage, die beantwortet wurde für Local Ttorage
 */
var lastquestion = 0;
/**
 * Anzahl der Fragen im Quiz
 * default 10
 */
var available_questions = 10;
/**
 * Delay mit dem Antortmöglichkeiten angezeigt und
 * Selectionbuttons aktiviert werden (in ms)
 * default 2800
 **/
var questdelay = 2800;
/******************************************************************************
 * LOS
 ******************************************************************************/

/**
 * Load on ready state
 */
$(function () {
    // Lade Startseite
    loadGameScene('modiselection');
    // Lade Fragen in Navigationsbox (noch nicht anzeigen)
    loadQuestionList();
    // Spieler-Modi Auswahl
    initStartSelectionHandler();
    // Initiiere Infoboxen
    loadInfoBoxes();
    // Zeige Alle Informationen bei Klick auf linke Seite
    enableInfoBoxesWithAllInformation();
    // Initiiere Speicherbutton
    initLocalStorageEngine();
});
/******************************************************************************
 * ONLOAD FUNKTIONEN
 ******************************************************************************/

/**
 * Funktion zum An/Abschalten der verschiedenen SzeneLayer
 * modiselection/oneplayer/twoplayer/oneplayer_result/twoplayer_result
 **/
function loadGameScene(loadscene) {

    resetGameScene();
    for (key in loadgamescene) {

        var showscenes = loadgamescene[key].show.split(',');
        //var hidecenes = loadgamescene[key].hide.split(',');
        var activatecont = loadgamescene[key].activate.split(',');
        var deactivatecont = loadgamescene[key].deactivate.split(',');
        if (loadscene === key) {

            $.each(showscenes, function (index, sceneid) {
                $('#' + sceneid).show();
            });
            /*$.each(hidecenes, function(index, sceneid) {
             $('#'+sceneid).hide();
             });*/

            $.each(activatecont, function (index, sceneid) {
                $('#' + sceneid).removeClass('opacity_2');
            });
            $.each(deactivatecont, function (index, sceneid) {
                $('#' + sceneid).addClass('opacity_2');
            });
        }

    }
    ;
}

/**
 * Fragen auf linker Seite initiieren
 */
function loadQuestionList() {
    var i = 0;
    for (key in qarray)
    {
        i = i + 1;
        var question = qarray[key].question;
        $('#mcs_container ol').append('<li class="navinfo inactive" rel="' + key + '"><span>' + question + '</span></li>');
    }
    setTimeout(function () {
        initNavScroll();
    }, 100);
}

/**
 * Funktion legt versteckte Container an mit den Infotexten zu den jeweiligen Fragen
 */
function loadInfoBoxes() {

    for (key in qarray) {

        var rightanswer = 'selection_' + qarray[key].res;
        var helptextfor = 'Infotext zu Frage ' + key.substr(1);
        var correctanswer = qarray[key].question + '<br />' + '<span class="bold">' + qarray[key][rightanswer] + '</span>';
        var infoboxcontent = qarray[key].infoboxcontent;
        $('#MainBorder').append('<div class="infoborder" rel="' + key + '" style="display:none;"><div class="infobox_close"></div><h1>' + helptextfor + '</h1><h3 style="display:none;">' + correctanswer + '</h3><p>' + infoboxcontent + '</p></div>');
    }

    // focussierte infobox bekommt höchsten zindex
    $(".infoborder").click(function () {
        var sethigherzindex = highestZindex(".infoborder") + 1;
        $(this).css("z-index", sethigherzindex);
    });
    //set draggable
    $('.infoborder').draggable();
    //init close button
    $('.infobox_close').click(function () {
        $(this).parent().hide();
    })
}


/**
 * Startfunktion / Auswahl des Spielmodi und Speicherung in Variable /
 * Nach Auswahl Laden der Bühne
 * oneplayer/twoplayer
 */
function initStartSelectionHandler() {
    var modiselection_wrapper = $('#startSelection .startselection');
    modiselection_wrapper.click(function () {

        playermodi = ($(this).attr('id'));
        loadGameScene(playermodi);
        // Initiiere Frage 1
        activateQuestionNumberDependence(1);
        // Ändere LAden Button in Speichern Button
        switchLocalStorageButtons('save');
        // Aktiviere selection Buttons
        setTimeout(function () {
            initClickHandler_answers();
        }, questdelay)

        initNavScroll();
    });
    // Header Thema laden
    $('#currentQuestion').html(quizthemeshort);
}

/**
 * Diese Funktion aktiviert alle zuständigen Module die bei einer Frage angezeigt werden sollen
 * Fragen linke Seite/ Fragen in der Pipe/ Fragen im Header/ Antwortmöglichkeiten in den
 * Boxen
 */
function activateQuestionNumberDependence(questionnumber, hidequestionboxes) {


    currentquestion = parseInt(questionnumber);
    // Übergebene Frage im linken Menü freischalten
    // ebenfalls den Zusatztext in den Infokästen freigeben
    $('#leftsidequestions .navinfo').each(function () {

        var qnumber = ($(this).attr('rel')).substr(1);
        if (qnumber <= questionnumber) {
            $(this).removeClass('inactive');
        }
        if (qnumber < questionnumber) {
            $('.infoborder[rel="q' + qnumber + '"] h3').show();
        }
    })


    if (!hidequestionboxes) {
        // Pipefragen einfärben
        if (playermodi == 'twoplayer') {
            $('#pipe_twoplayer_number_' + questionnumber).addClass('active');
        }
        $('#pipe_oneplayer_number_' + questionnumber).addClass('active');
        // Fragenummer im header anzeigen lassen
        $('#currentQuestionNumber span').html(currentquestion);
    }
    // Aktiviere die Infotextbox im Header
    enableInfoboxInHeader();
    $('#content-questionboxes').hide();
    // Fragen in header und boxen laden
    for (key in qarray) {
        if (key == 'q' + currentquestion) {
            var rightanswer = qarray[key].res;
            var selection_A = qarray[key].selection_A;
            var selection_B = qarray[key].selection_B;
            var selection_C = qarray[key].selection_C;
            var selection_D = qarray[key].selection_D;
            var headerq = qarray[key].question;
            // Frage in Header laden
            $('#currentQuestion').removeClass('longtext');
            if (headerq.length > 50) {
                $('#currentQuestion').addClass('longtext');
            }
            $('#currentQuestion').html(headerq);
            $('#qA .text').html(selection_A);
            $('#qB .text').html(selection_B);
            $('#qC .text').html(selection_C);
            $('#qD .text').html(selection_D);
        }
    }

    //ZUSATZ
    if (questionnumber === 7) {
        $('#currentQuestion').css({
            "font-size": 15
        });
    }
    else {
        $('#currentQuestion').css({
            "font-size": ""
        });
    }

    if (!hidequestionboxes) {
        $('#content-questionboxes').delay(questdelay).fadeIn(800);
    }
}

/**
 * Funktion um Auswahl des Spielers einzufärben
 * und in Variable zu speichern
 * A/B/C/D
 */
function initClickHandler_answers() {

    // Bei Hover Einspielertmodus einfärben
    $('#quiZ #answeroption_oneplayer.selectionbox .td').mouseenter(function () {
        $(this).addClass('hover')
    }).mouseleave(function () {
        $(this).removeClass('hover')
    })

    // Bei Hover Zweispielermodus einfärben
    if (playermodi == 'twoplayer') {
        $('#quiZ #answeroption_twoplayer.selectionbox .td').mouseenter(function () {
            $(this).addClass('hover')
        }).mouseleave(function () {
            $(this).removeClass('hover')
        })
    }

    // Diesen Clickhandler nur laden wenn 2 Spieler ausgewählt wurden;
    if (playermodi == 'twoplayer') {
        $('#answeroption_twoplayer.selectionbox .td').click(function () {
            $('#answeroption_twoplayer.selectionbox .td').removeClass('active');
            $(this).addClass('active');
            player2_selection = $(this).children().text();
            setCheckButtonStatus('check');
        });
    }

    $('#answeroption_oneplayer.selectionbox .td').click(function () {
        $('#answeroption_oneplayer.selectionbox .td').removeClass('active');
        $(this).addClass('active');
        player1_selection = $(this).children().text();
        setCheckButtonStatus('check');
    });
}

/**
 * Clickhandler SelectionButtons entfernen
 **/
function unbindClickHandler_answers() {
    $('#answeroption_oneplayer.selectionbox .td').unbind('click');
    $('#answeroption_twoplayer.selectionbox .td').unbind('click');
}

/**
 * Funktion initiiert den Lösen Button Handler
 **/
function initClickHandler_resolve() {

    var x = Array('A', 'B', 'C', 'D');
    $('#resolvebutton').click(function () {

        for (key in qarray) {

            if (currentquestion == key.substr(1)) {

                var correctanswer = qarray[key].res;
                $.each(x, function (key, value) {

                    if (value == correctanswer) {
                        $('#q' + value).addClass('correct');
                        $('#q' + value + ' .qbox').addClass('correct');
                    } else {
                        $('#q' + value).addClass('wrong');
                        $('#q' + value + ' .qbox').addClass('wrong');
                    }
                });
            }
        }
    });
}

/**
 * Clickhandler Resolve entfernen
 **/
function unbindClickHandler_resolve() {
    $('#resolvebutton').unbind('click');
}


/******************************************************************************
 * Check Button Handler
 ******************************************************************************/

/**
 * Button Check Funktion
 * checkbutton stati / 1= check / 2=weiter / 3=ergebnis /4=reload
 **/

function checK() {

    // Status 1: überprüfe Eingabe der Spieler, wenn freigegeben
    if (checkbutton_status == 1) {

        // Deaktiviere selection Buttons
        unbindClickHandler_answers();
        for (key in qarray) {

            if (currentquestion == key.substr(1)) {

                var rightanswer = qarray[key].res;
                // erhöhen des ScoreCounter und Einfärben der Container
                if (playermodi == 'twoplayer') {
                    if (player2_selection == rightanswer) {
                        setContainerColorByAnswer('player2', 'correct', rightanswer);
                        answers_player2.push(true);
                        score_player2 += 1;
                    } else {
                        setContainerColorByAnswer('player2', 'wrong', player2_selection);
                        answers_player2.push(false);
                    }
                }

                if (player1_selection == rightanswer) {
                    setContainerColorByAnswer('player1', 'correct', rightanswer);
                    answers_player1.push(true);
                    score_player1 += 1;
                } else {
                    setContainerColorByAnswer('player1', 'wrong', player1_selection);
                    answers_player1.push(false);
                }

                // Setze lastquestion für Storage Engine
                lastquestion += 1;
                // Buttonnamen und Status ändern
                setCheckButtonStatus('continue');
            }
        }

        // Status 2: Aktion nach Klick auf Weiter Button
    } else if (checkbutton_status == 2) {

        // Deaktiviere Lösen Button
        unbindClickHandler_resolve();
        // Antworteingaben zurücksetzen
        resetAnswer();
        // nächste Frage initiieren
        activateQuestionNumberDependence(currentquestion + 1);
        // Aktiviere selection Buttons
        setTimeout(function () {
            initClickHandler_answers();
        }, questdelay);
        // Status 3: Zeige Ergebnisse / Button in Neustart ändern
    } else if (checkbutton_status == 3) {

        // Antworteingaben zurücksetzen
        resetAnswer();
        if (playermodi == 'twoplayer') {
            loadGameScene('twoplayer_result');
        } else if (playermodi == 'oneplayer') {
            loadGameScene('oneplayer_result');
        }

        loadResult();
        // Checkbutton markieren und text reinladen
        $('#checkbutton').addClass('active');
        $('#checkbutton span').addClass('active').html('Neustart');
        $('#checkbutton').click(function () {
            location.reload();
        });
    }

}

/**
 * Button Bereitstellen / Einfärben und Status für check Funktion ändern
 * check / continue / ergebnis /reload
 **/
function setCheckButtonStatus(value) {

    // Button auf check setzen, wenn
    // Spieler Auswahl getroffen haben
    if (value == 'check') {
        var selection = false;
        if (playermodi == 'twoplayer') {
            if (player1_selection != "" && player2_selection != "") {
                selection = true;
            }
        } else {
            if (player1_selection != "") {
                selection = true;
            }
        }

        if (selection == true) {
            // Checkbutton markieren und text reinladen
            $('#checkbutton').addClass('active');
            $('#checkbutton span').addClass('active').html('Check');
            checkbutton_status = 1;
        }

        // Button für nächste Frage scharf machen oder Reload veranlassen
    } else if (value == 'continue') {

        // Aktiviere Lösen Button
        $('#resolvebutton').addClass('active');
        initClickHandler_resolve();
        // Aktiviere Weiter Button
        $('#checkbutton span').addClass('active').html('Weiter');
        if (currentquestion != available_questions) {
            checkbutton_status = 2;
        } else {
            checkbutton_status = 3;
        }

    }

}

/**
 * Setzen der Fragecontainerfarbe / PipeFarbe / und SelectionButton
 */
function setContainerColorByAnswer(player, value, selection) {

    // Einfärben Spieler 2
    if (player == 'player2') {

        if (value == 'correct') {
            $('#pipe_twoplayer_number_' + currentquestion).addClass('correct');
            $('#answeroption_twoplayer').find('.active').addClass('correct')
        } else if (value == 'wrong') {
            $('#pipe_twoplayer_number_' + currentquestion).addClass('wrong');
            $('#answeroption_twoplayer').find('.active').addClass('wrong')
        }

        // Einfärben Spieler 1
    } else if (player == 'player1') {

        if (value == 'correct') {
            $('#pipe_oneplayer_number_' + currentquestion).addClass('correct');
            $('#answeroption_oneplayer').find('.active').addClass('correct')
        } else if (value == 'wrong') {
            $('#pipe_oneplayer_number_' + currentquestion).addClass('wrong');
            $('#answeroption_oneplayer').find('.active').addClass('wrong')
        }
    }

    // Globales Einfärben der Container
    if (value == 'correct') {
        $('#q' + selection + '.qcontainer').addClass('correct');
        $('#q' + selection + ' .qbox').addClass('correct');
    } else if (value == 'wrong') {
        $('#q' + selection + '.qcontainer').addClass('wrong');
        $('#q' + selection + ' .qbox').addClass('wrong');
    }
}

/**
 * Setzen der Ergebniscontainerfarbe
 */
function setResultContainerColor() {

    var player1_resultbox = $('div[rel=resultbox_player1]');
    var player2_resultbox = $('div[rel=resultbox_player2]');
    if (score_player2 > score_player1) {
        player2_resultbox.css('border-color', '#2fd60a');
        player1_resultbox.css('border-color', '#c3182a');
    } else if (score_player2 < score_player1) {
        player2_resultbox.css('border-color', '#c3182a');
        player1_resultbox.css('border-color', '#2fd60a');
    } else if (score_player2 == score_player1) {
        player2_resultbox.css('border-color', '#2fd60a');
        player1_resultbox.css('border-color', '#2fd60a');
    }

}


/******************************************************************************
 * Ergebnisse Laden
 ******************************************************************************/

/**
 * Funktion gibt Punktezahl und Text ans Frontend
 **/
function loadResult() {

    // Zeige Infobox mit allen Informationen bei letzter Frage
    enableInfoBoxesWithAllInformation(true);
    // Header zurücksetzen
    $('#currentQuestionNumber span').html('X');
    if (quizthemeshort.length > 50) {
        $('#currentQuestion').addClass('longtext');
    }
    $('#currentQuestion').html('Auswertung "' + quizthemeshorter + '"');
    // Deaktiviere Speichern Button
    $('#storagebutton span').off('click');
    $('#storagebutton').addClass('opacity_2');
    //Deaktiviere bei Ergebnisanzeige die Infobox im Header
    $('#currentQuestion').off('click');
    if (playermodi == 'twoplayer') {
        setResultContainerColor();
        $('#endresult_twoplayer_player2').html(score_player2 + ' / ' + available_questions);
        $('#endresult_twoplayer_player1').html(score_player1 + ' / ' + available_questions);
        $('#endresulttext_twoplayer_player2').html(generateResultText(score_player2));
        $('#endresulttext_twoplayer_player1').html(generateResultText(score_player1));
    } else {
        $('#endresult_oneplayer').html(score_player1 + ' / ' + available_questions);
        $('#endresulttext_oneplayer').html(generateResultText(score_player1));
    }

}

/**
 * Function generiert anhand der Punktezahl den Ergebnistext
 **/
function generateResultText(result) {

    for (resultscore in resulttext) {

        if (result >= 8) {
            return resulttext["8-10"];
        } else if (result >= 5) {
            return resulttext["5-7"];
        } else {
            return resulttext["0-4"];
        }

    }

}


/*******************************************************************************
 * Storage Handling
 *******************************************************************************/

function initLocalStorageEngine() {

    var btn = $('#storagebutton span');
    if (localStorage.length == 0) {
        switchLocalStorageButtons("save");
    } else {
        switchLocalStorageButtons("load");
        $('#storagebutton').removeClass('opacity_2').addClass('active');
    }

    btn.click(function () {

        if (btn.html() == "Laden") {
            loadFromLocalStorage();
            switchLocalStorageButtons("save");
        } else {
            saveToLocalStorage();
            showMsgBox("Die aktuellen Eingaben wurden im Browser gespeichert. <br />Bei erneutem Spielen am Anfang auf „Laden“ klicken, um mit diesem Lösungsstand weiterzuarbeiten.");
        }

        initNavScroll();
        //enableInfoBoxesWithImages();
    });
}

function switchLocalStorageButtons(method) {

    var btn = $('#storagebutton span');
    // Schalte Buttton blau
    $('#storagebutton').removeClass('active');
    if (method == "save") {
        btn.html('Speichern')
    } else {
        btn.html('Laden')
    }
}

function loadFromLocalStorage() {

    answers_player1 = [localStorage['answers_player1']];
    answers_player2 = [localStorage['answers_player2']];
    score_player1 = parseInt([localStorage['score_player1']]);
    score_player2 = parseInt([localStorage['score_player2']]);
    // Erweiterung der aktuellen Frage um eins, da lastquestion schon gelöst wurde
    currentquestion = parseInt(localStorage['lastquestion']) + 1;
    lastquestion = parseInt(localStorage['lastquestion']);
    playermodi = localStorage['playermodi'];
    if (currentquestion > available_questions) {
        loadGameScene(localStorage['playermodi'] + '_result');
        loadResult();
        activateQuestionNumberDependence(currentquestion, true);
    } else {
        loadGameScene(localStorage['playermodi']);
        activateQuestionNumberDependence(currentquestion);
    }

    // Aktiviere selection Buttons
    setTimeout(function () {
        initClickHandler_answers();
    }, questdelay);
    // Lade Player1 Ergebnis in Pipe
    var player1result = localStorage['answers_player1'].split(',');
    $.each(player1result, function (index, value) {
        // wenn aktuelle frage,dann  markiere als blau
        if ((index + 1) == currentquestion) {
            $('#pipe_oneplayer_number_' + (index + 1)).addClass('active');
        } else {
            if (value == 'true') {
                $('#pipe_oneplayer_number_' + (index + 1)).addClass('correct');
            } else {
                $('#pipe_oneplayer_number_' + (index + 1)).addClass('wrong');
            }
        }
    })
    // Lade Player2 Ergebnis in Pipe
    var player2result = localStorage['answers_player2'].split(',');
    $.each(player2result, function (index, value) {
        // wenn aktuelle frage,dann  markiere als blau
        if ((index + 1) == currentquestion) {
            $('#pipe_oneplayer_number_' + (index + 1)).addClass('active');
        } else {
            if (value == 'true') {
                $('#pipe_twoplayer_number_' + (index + 1)).addClass('correct');
            } else {
                $('#pipe_twoplayer_number_' + (index + 1)).addClass('wrong');
            }
        }
    })
}

function saveToLocalStorage() {

    localStorage['playermodi'] = playermodi;
    localStorage['lastquestion'] = lastquestion;
    localStorage['answers_player1'] = answers_player1;
    localStorage['answers_player2'] = answers_player2;
    localStorage['score_player1'] = score_player1;
    localStorage['score_player2'] = score_player2;
}




/******************************************************************************
 * RESET FUNKTIONEN
 ******************************************************************************/

/**
 * Antwortfelder und Variablen zurücksetzen
 **/
function resetAnswer() {

    player1_selection = ""
    player2_selection = "";
    checkbutton_status = 0;
    $('#currentQuestion').removeClass('longtext');
    $('#resolvebutton').removeClass();
    $('#resolvebutton span').removeClass();
    $('#checkbutton').removeClass('active').removeClass('white');
    $('#checkbutton span').removeClass('active').html('Wähle');
    $('#question4Boxes .qcontainer').removeClass('correct').removeClass('wrong');
    $('#question4Boxes .qcontainer').removeClass('correct').removeClass('wrong');
    $('#question4Boxes .qbox').removeClass('correct').removeClass('wrong');
    $('#answeroption_oneplayer .td').removeClass('correct').removeClass('wrong').removeClass('active');
    $('#answeroption_twoplayer .td').removeClass('correct').removeClass('wrong').removeClass('active');
}

/**
 * Lösche alle Szenen
 */
function resetGameScene() {
    $.each(resettscenes, function (key, value) {
        $('#' + value).hide();
    });
}

/*
 * Lösche local storage
 */
function resetLocalStorage() {
    localStorage.clear();
}
/*
 * Lösche session storage
 */
function resetSesssionStorage() {
    sessionStorage.clear();
}


/******************************************************************************
 * INFOBOXES
 ******************************************************************************/

/**
 * Funktion, dass bei  Klick auf die Frage im Header die jeweilige
 * Infobox aufgeht
 */
function enableInfoboxInHeader() {
    // Fragen im Header
    $('#currentQuestion').click(function () {
        $('.infoborder[rel="q' + currentquestion + '"]').show();
    });
}

function enableInfoBoxesWithAllInformation(showresult) {

    $('.navinfo').click(function () {

        var sethigherzindex = highestZindex(".infoborder") + 1;
        var wwidth = ($(window).width() / 2) - 300;
        ;
        var wheight = $(window).height();
        var startleftbfposition = wwidth > 0 ? wwidth : 150;
        var starttopbfposition = wheight / 6.5;
        var relvalue = $(this).attr('rel');
        if (showresult) {
            $('.infoborder[rel="q' + available_questions + '"] h3').show();
        }

        $('.infoborder[rel="' + relvalue + '"]').css({
            "left": startleftbfposition,
            "top": starttopbfposition,
            "z-index": sethigherzindex
        }).show();
    })
}

function enableInfoboxInHeader_unbind() {
    $('#currentQuestion').unbind('click');
}

function hideInfoBoxes() {
    $('.infoborder').hide();
}