<!--
/**
 *
 * 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 quizthemeshort = "Natur entdecken";
var quiztheme = "Natur entdecken - Der Apfelbaum";
qarray = jQuery.parseJSON('{\n\
"q1": {\n\
        "res":"D", \n\
        "question"   :"Aus welchem Teil des Apfelbaums kann sich ein Apfel entwickeln?", \n\
        "selection_A":"Stamm",\n\
        "selection_B":"Wurzeln",\n\
        "selection_C":"Blätter",\n\
        "selection_D":"Blüten",\n\
        "infoboxcontent":"Äpfel wachsen aus den Blüten der Apfelbäume – vorausgesetzt, sie wurden im Frühling bestäubt. Das ist dann der Fall, wenn eine Biene oder eine Hummel den Staub der einen Blüte mit dem einer anderen Blüte vermischt. Erst dann kann aus einer Apfelblüte ein Apfel wachsen."\n\
},\n\
"q2": {\n\
        "res":"C", \n\
        "question"   :"Zu welcher Obstgruppe gehören die Äpfel?", \n\
        "selection_A":"Steinobst",\n\
        "selection_B":"Beeren",\n\
        "selection_C":"Kernobst",\n\
        "selection_D":"Fallobst",\n\
        "infoboxcontent":"Äpfel gehören zum Kernobst. Kernobst erkennt man daran, dass in seinem Inneren ein Gehäuse mit fünf Kammern steckt. In diesen Kammern liegt der Samen der jeweiligen Frucht. Zum Kernobst zählen neben Äpfeln auch Birnen, Quitten, Mispeln und Ebereschen."\n\
},\n\
"q3": {\n\
        "res":"B", \n\
        "question"   :"Wie können Äpfel schmecken?", \n\
        "selection_A":"scharf und salzig",\n\
        "selection_B":"süß und sauer",\n\
        "selection_C":"salzig und süß",\n\
        "selection_D":"sauer und scharf",\n\
        "infoboxcontent":"Äpfel können süß und sauer schmecken. Dabei sind sie manchmal saftig und manchmal eher mehlig. Wie genau ein Apfel schmeckt, hängt von seinem Fruchtfleisch und von seiner Sorte ab."\n\
},\n\
"q4": {\n\
        "res":"D", \n\
        "question"   :"Einen reifen Apfel erkennt man", \n\
        "selection_A":"an seiner Größe.",\n\
        "selection_B":"an seinem Gewicht.",\n\
        "selection_C":"an seinem Stiel.",\n\
        "selection_D":"an der Farbe seiner Kerne.",\n\
        "infoboxcontent":"Einen reifen Apfel erkennt man daran, dass die Kerne in seinem Inneren braun sind und locker im Kerngehäuse liegen. Bei unreifen Äpfeln hingegen sind sie noch weiß."\n\
},\n\
"q5": {\n\
        "res":"A", \n\
        "question"   :"Welche Tiere sorgen dafür, dass der Blütenstaub von Baum zu Baum getragen wird?", \n\
        "selection_A":"Bienen",\n\
        "selection_B":"Schmetterlinge",\n\
        "selection_C":"Fliegen",\n\
        "selection_D":"Vögel",\n\
        "infoboxcontent":"Der Duft und die Farbe der Apfelblüte locken zahlreiche Insekten an, darunter Bienen und Hummeln, die mit ihrem Rüssel den Nektar aus den Blüten saugen. Dabei bleibt an ihren Beinen immer auch etwas Blütenstaub hängen, den sie mit sich zur nächsten Blüte tragen."\n\
},\n\
"q6": {\n\
        "res":"C", \n\
        "question"   :"Welcher Teil des Apfels enthält die meisten Vitamine?", \n\
        "selection_A":"Fruchtfleisch",\n\
        "selection_B":"Kerngehäuse",\n\
        "selection_C":"Schale",\n\
        "selection_D":"Kerne",\n\
        "infoboxcontent":"Äpfel sind sehr gesund, weil sie sehr viel Wasser, viele Vitamine und nur wenig Fett enthalten. Besonders gesund ist dabei die Schale des Apfels. In ihr steckt jede Menge Vitamin C, das uns zum Beispiel vor Erkältungen schützt."\n\
},\n\
"q7": {\n\
        "res":"C", \n\
        "question"   :"Welche Funktion haben Apfelkerne?", \n\
        "selection_A":"Sie speichern den Fruchtzucker.",\n\
        "selection_B":"Sie haben keine Funktion.",\n\
        "selection_C":"Sie sind die Samen, aus denen neue Apfelbäume wachsen.",\n\
        "selection_D":"Sie dienen im Winter als Brennmaterial.",\n\
        "infoboxcontent":"Die Kerne im Innersten eines Apfels sind seine Samen, d. h. aus ihnen können neue Apfelbäume entstehen. Dafür müssen die Kerne im Herbst in die Erde gepflanzt werden."\n\
},\n\
"q8": {\n\
        "res":"B", \n\
        "question"   :"Was hilft Äpfeln beim Wachsen?", \n\
        "selection_A":"Blitz und Donner",\n\
        "selection_B":"Sonne und Regen",\n\
        "selection_C":"Schnee und Eis",\n\
        "selection_D":"Hitze und Trockenheit",\n\
        "infoboxcontent":"Um gut zu wachsen, brauchen Äpfel eine gute Mischung aus Sonne und Regen. Zu viel von dem einen kann die Ernte genauso vermiesen wie zu viel von dem anderen. Zu viel Regen im Frühjahr beispielsweise hält Bienen und Hummeln davon ab, die Blüten zu bestäuben. Zu viel Sonne im Sommer hingegen lässt die Haut der Äpfel verbrennen."\n\
},\n\
"q9": {\n\
        "res":"C", \n\
        "question"   :"In welchem Märchen spielen Äpfel eine Rolle?", \n\
        "selection_A":"Hänsel und Gretel",\n\
        "selection_B":"Das tapfere Schneiderlein",\n\
        "selection_C":"Frau Holle",\n\
        "selection_D":"Hans im Glück",\n\
        "infoboxcontent":"Das Märchen „Frau Holle“ erzählt die Geschichte zweier Mädchen, die nacheinander bei Frau Holle in die Lehre gehen. Auf dem Weg zu ihr begegnen sie einem Backofen, aus dem ein fertiges Brot gezogen, und einem reifen Apfelbaum, der geschüttelt werden muss. Das fleißige Mädchen erledigt beide Aufgaben, das faule Mädchen geht an Ofen und Apfelbaum vorbei."\n\
},\n\
"q10":{\n\
        "res":"A", \n\
        "question"   :"Welche Äpfel gibt es nicht?", \n\
        "selection_A":"Frühlingsäpfel",\n\
        "selection_B":"Pferdeäpfel",\n\
        "selection_C":"Augäpfel",\n\
        "selection_D":"Erdäpfel",\n\
        "infoboxcontent":"Der Apfel ist das Lieblingsobst der Deutschen. Da er fast überall auf der Welt wächst, können wir ihn auch rund ums Jahr essen. Tatsächlich braucht der Apfel ein gutes halbes Jahr, um zu wachsen: von der Bestäubung der Apfelblüte im Frühling bis zur Apfelerntezeit im Herbst."\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 > 45){
                $('#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);    
        }
    }
    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 einfärben
    $('#quiZ .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(quiztheme.length > 28){
        $('#currentQuestion').addClass('longtext');
    }
    $('#currentQuestion').html('Auswertung "'+quiztheme+'"');
    
    // 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();
}