// JavaScript Document

var glCurrentQuestionIndex = -1;
var glQuestionCount;
var glRightAnswers = 0;
var rightAnswerIndex="";
var glLang ="";
var glQuiz ="";
var glGlossarIsOn =0;

var Lang = new Object();
	Lang['de'] = "Bitte Sprache wählen";
	Lang['en'] = "Choose your Language";
	Lang['fr'] = "Choix de la langue";


function nodeById(id) {
	return document.getElementById(id);
}


function textNode(t) {
	return document.createTextNode(t);	
}


function makeElement(tagname) {
	return document.createElement(tagname);
}


function init() {
	setLanguage('fr');
	loadHome();
}


function doNextQuestion() {
	var descr_right = new Object ();
	descr_right['de'] = "Richtige Antwort(en): ";
	descr_right['fr'] = "Bonne(s) réponse(s): ";
	descr_right['en'] = "Right answer(s): ";
	
	var bool = new Boolean();
	if(glCurrentQuestionIndex > -1 && glCurrentQuestionIndex < glQuestions[glLang].length) {
		bool=validate();
	}	
	rightAnswerIndex = str_replace('', ', ', rightAnswerIndex);
	

	
	if (bool==true){ // Frage is richtig
			var descr = new Object(); 
			descr.text = glQuestions[glLang][glCurrentQuestionIndex].description; // Beschreibung zur Frage
			descr.title = descr_right[glLang]+' '+rightAnswerIndex;
			showPopUp(descr);
			//nodeById('titlebutton').style.display = 'none'; 
			if (glGlossarIsOn ==0){
			nodeById('popupbutton').style.display = 'block'; // Weiter-Button
			}
			if (glGlossarIsOn ==1){
				nodeById('popupbutton').style.display = 'none';	
			}	
			return false;
		
	} else if (bool==false && glCurrentQuestionIndex > -1){ // Frage ist falsch
			var descr = new Object();
			descr.text =glQuestions[glLang][glCurrentQuestionIndex].description; // Beschreibung zur Frage
			descr.title = descr_right[glLang]+' '+rightAnswerIndex;
			showPopUp(descr);
			
			//nodeById('titlebutton').style.display = 'none'; 
			if (glGlossarIsOn ==0){
			nodeById('popupbutton').style.display = 'block'; // Weiter-Button
			}
			if (glGlossarIsOn ==1){
				nodeById('popupbutton').style.display = 'none';	
			}	
			return false;
	}

	

	// *** benötigt für Sprung zur ersten Frage, ansonsten ähnlich zu continueNextQuestion()
	deleteQuestionData();

	if(glCurrentQuestionIndex < glQuestions[glLang].length-1) {
		glCurrentQuestionIndex++;
		fillQuestionDataInHTML( glQuestions[glLang][glCurrentQuestionIndex] );
	}
	//***
}


//*** Aufruf Funktion nach Drücken des Weiter-Buttons im Pop-Up zu Quifragen
function continueNextQuestion(){
	deleteQuestionData();
	if (glCurrentQuestionIndex < glQuestions[glLang].length-1) {
		glCurrentQuestionIndex++;
		fillQuestionDataInHTML( glQuestions[glLang][glCurrentQuestionIndex] );
	} else { // Auswertung
		fillQuestionResultInHTML();
	}
}


function deleteQuestionData() {
	// Inhalt des Frageknotens loeschen
	if(nodeById('question')) {
		while(nodeById('question').hasChildNodes()) {
			nodeById('question').removeChild( nodeById('question').firstChild );				
		}					
	}
	// Antworten loeschen
	if(nodeById('answerlist')) {
		while(nodeById('answerlist').hasChildNodes()) {
			nodeById('answerlist').removeChild(nodeById('answerlist').firstChild);				
		}					
	}	
}


//Auswertung des Quiz anzeigen
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Styles anpassen !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
function fillQuestionResultInHTML() {
	
	nodeById('navi5_'+glLang).style.display = 'none'; // Quizknopf ausblenden

	
	var text = new Object();
	text['fr']="<h1>Votre Score: "+glRightAnswers+"</h1>";
	text['de']="<h1>Ihr Punktestand: "+glRightAnswers+"</h1>";
	text['en']="<h1>Your Score: "+glRightAnswers+"</h1>";	
	
	hidePopUp();
	nodeById('quizbox').style.display = 'none';
	var reasons="reasons_"+glLang;
	nodeById(reasons).style.display = 'block';
	var noderesult= nodeById(reasons);
		
	if (glQuiz=='trademark') {
		noderesult.innerHTML = text[glLang]+glResult_trademark[glLang][glRightAnswers];
	} else {
		noderesult.innerHTML = text[glLang]+glResult_design[glLang][glRightAnswers];
	}
		
}


function fillQuestionDataInHTML(questionObj) {
	hidePopUp();
	
	var tmpTextNode = textNode(questionObj.question);
	nodeById('question').appendChild(tmpTextNode);
		
	//nodeById('question').replaceChild(tmpTextNode);
	
	for(var i = 0; i < questionObj.answers.length; i++) {
		
		var	tmpLiNode = makeElement('li');
	
		// Checkbox
		var tmpNodeCheckBox = makeElement('input');
		tmpNodeCheckBox.type = 'checkbox';
		tmpNodeCheckBox.className = 'quizcheckbox';
		tmpNodeCheckBox.name = 'answer'+i;
		tmpNodeCheckBox.value = i;
		
		tmpLiNode.appendChild( tmpNodeCheckBox );
		
		var spanNode = document.createElement('span');
		 
		spanNode.innerHTML = questionObj.answers[i];
		// Antworten
		tmpLiNode.appendChild( spanNode );
			
		// Listenpunkt einfuegen
		nodeById('answerlist').appendChild(tmpLiNode);
				
	}	
}


// Funktion um Kommas aus String zu fischen
function str_replace(search, replace, subject) {
    return subject.split(search).join(replace);
}


function validate() {
	var ret = new Boolean();
	ret=false;
				
	//rightAnswerIndex = glQuestions[glLang][glCurrentQuestionIndex].rightAnsw;
	rightAnswerIndex = glQuestions['fr'][glCurrentQuestionIndex].rightAnsw; // Vorlage sind richtige französische Antworten
	rightAnswerIndex2 = rightAnswerIndex.split(',');
	rightAnswerIndex = str_replace(',', '', rightAnswerIndex);
	for(k=0; k<document.getElementsByTagName("input").length;k++){
 		 if(document.getElementsByTagName("input")[k].type == "checkbox"){
		    for(var j=0; j<rightAnswerIndex2.length; j++){	
		    		if(k == (rightAnswerIndex2[j]-1) && document.getElementById('answerform').elements[k].checked) {
						glRightAnswers++;
						//alert('Ihr Aktueller Punktestand ist '+glRightAnswers);
						ret=true; 			
					}
		    }
		 }
	}
	
	
		/*if(j == (rightAnswerIndex[j]-1) && document.forms.answerform.elements[j].checked) {
					if(j == (rightAnswerIndex[j]-1) && document.getElementById('answerform').elements[j].checked) {
					alert(j);
					glRightAnswers++; 	// Anzahl richtige Antworten+1
					ret=true; 			// richtige Antwort
					}
			}*/
		
		/*for(var j=0; j<rightAnswerIndex2.length; j++){	
			for(var i = 0; i < document.forms.answerform.elements.length; i++) {
				
				if(i == (rightAnswerIndex2[j]-1) && document.forms.answerform.elements[i].checked) {
					if(i == (rightAnswerIndex2[j]-1) && document.getElementById('answerform').elements[i].checked) {
						alert(glRightAnswers2);
						glRightAnswers++; 	
						ret=true; 			
					}
				}
			}
		}*/
	
	return ret; //falsche Antwort
}

////////////////////////////////////////////////////////

//			SPRACHE						//

////////////////////////////////////////////////////////
function setLanguage(lang_new){
	glLang = lang_new;
	loadHome();
	loadNavi();
	
}


////////////////////////////////////////////////////////

//			POPUP						//

////////////////////////////////////////////////////////

function showPopUp(text) {
	

	
	var nodePopUpText = nodeById('titletext');
	nodePopUpText.innerHTML = text.title;
	
	var nodePopUpText = nodeById('popuptext');
	nodePopUpText.innerHTML = text.text;
	
	//nodePopUpText.appendChild(textNode(text));
	nodeById('popupbutton').style.display = 'none';
	nodeById('titlebutton').style.display = 'block'; 
	nodeById('PopUp').style.display = 'block';
	nodeById('PopUp').focus();
	
}


function hidePopUp() {
		nodeById('popupbutton').style.display = 'none';	
	nodeById('PopUp').style.display = 'none';

}


////////////////////////////////////////////////////////

//		Navi Loader						//

////////////////////////////////////////////////////////
function loadHome(){
	unloadNavi();
	var home="home_"+glLang;
	var advice="advice_"+glLang;
	nodeById(home).style.display = 'block';
	nodeById('selectlanguage').style.display = 'block';
	nodeById('language1').style.display = 'block';
	nodeById('language2').style.display = 'block';
	nodeById('language3').style.display = 'block';
	nodeById('disclaimer').style.display = 'block';
	nodeById('advice_de').style.display = 'none';
	nodeById('advice_en').style.display = 'none';
	nodeById('advice_fr').style.display = 'none';
	nodeById(advice).style.display = 'block';
	loadNavi();
	if (glLang=='de'){ 
		document.getElementById("weiter").value = "weiter";
		document.getElementById("vali").value = "validieren";
	} else if (glLang=='fr'){
		document.getElementById("weiter").value = "Question suivante ";
		document.getElementById("vali").value = "Valider";
	} else if (glLang=='en'){
		document.getElementById("weiter").value = "Next Question";
		document.getElementById("vali").value = "validate";
	}
	
}

function loadNavi(){
	var navi="navi_"+glLang;
	nodeById(navi).style.display = 'block';
}




////////////////////////////////////////////////////////

//		Glossar						//

////////////////////////////////////////////////////////
function loadGlossar(){ 
	
	unloadNavi();
	loadNavi();
	glGlossarIsOn = 1;
	var glossar="glossar_"+glLang;
	nodeById(glossar).style.display = 'block';
	

	var nodeglossar = nodeById(glossar);
	if (glLang == 'fr'){
		nodeglossar.innerHTML = glGlossarfr['AtoZ'];
	};
	if (glLang == 'de'){
		nodeglossar.innerHTML = glGlossarde['AtoZ'];		
	};
	if (glLang == 'en'){
		nodeglossar.innerHTML = glGlossaren['AtoZ'];		
	};
}


////////////////////////////////////////////////////////

//		Illustration						//

////////////////////////////////////////////////////////
function loadIllustration(){

	unloadNavi();
	loadNavi();
	var illustration="illustration_"+glLang;
	nodeById(illustration).style.display = 'block';
	var nodeillustration = nodeById(illustration);
	
	nodeillustration.innerHTML = glIllustration[glLang];		

}

////////////////////////////////////////////////////////

//		Reasons						//

////////////////////////////////////////////////////////
function loadReasons(art){
	unloadNavi();
	loadNavi();
	var reasons="reasons_"+glLang;
	nodeById(reasons).style.display = 'block';
	var nodereasons = nodeById(reasons);
	
	// Link zu Design-Fragen
	if (art == 'design') {
				nodereasons.innerHTML = glReasons_design[glLang];		
	// Link zu Markt-Fragen
	} else {
				nodereasons.innerHTML = glReasons_trademark[glLang];		
	}
		
}

//////////////////////////////////////////////////////////
//			Disclaimer		//
/////////////////////////////////////////////////////////

function loadDisclaimer(){
	unloadNavi();
	loadNavi();
	var reasons="reasons_"+glLang;
	nodeById(reasons).style.display = 'block';
	var nodereasons = nodeById(reasons);
		
	nodereasons.innerHTML = glDisclaimer[glLang];	

}
//////////////////////////////////////////////////////////
//			Contact		//
/////////////////////////////////////////////////////////

function loadContact(){
	unloadNavi();
	loadNavi();
	var reasons="reasons_"+glLang;
	nodeById(reasons).style.display = 'block';
	var nodereasons = nodeById(reasons);
		
	nodereasons.innerHTML = glContact[glLang];	

}




function unloadNavi(){
	glGlossarIsOn =0;
	var glossar="glossar_"+glLang;
	nodeById(glossar).style.display = 'none';
	var illustration="illustration_"+glLang;
	nodeById(illustration).style.display = 'none';
	
	var reasons="reasons_"+glLang;
	nodeById(reasons).style.display = 'none';
	
	
	nodeById('home_en').style.display = 'none';
	nodeById('home_de').style.display = 'none';
	nodeById('home_fr').style.display = 'none';
	
	nodeById('navi_de').style.display = 'none';
	nodeById('navi_fr').style.display = 'none';
	nodeById('navi_en').style.display = 'none';
	
	nodeById('selectlanguage').style.display = 'none';
	nodeById('language1').style.display = 'none';
	nodeById('language2').style.display = 'none';
	nodeById('language3').style.display = 'none';
	nodeById('quizbox').style.display = 'none';
	hidePopUp();
	}
	
	
function loadQuiz(id){
	glQuiz=id;
	
	glRightAnswers=0;
	glCurrentQuestionIndex=-1;
	
	nodeById('navi5_'+glLang).style.display = 'block'; // Quizknopf einblenden
	
	// Unterscheidung nach Art des Quiz
	if (glQuiz=='trademark'){
		loadQuizData_trademark();
	} else { // id = design
		loadQuizData_design();
	}
	glQuestionCount = glQuestions.length;
	doNextQuestion();
	nodeById('home_en').style.display = 'none';
	nodeById('home_de').style.display = 'none';
	nodeById('home_fr').style.display = 'none';
	nodeById('quizbox').style.display = 'block';
	nodeById('selectlanguage').style.display = 'none';
}


// Quiz reloaden, wenn über Quiz-Div Quiz weitergeht
function reloadQuiz(){
	unloadNavi();
	loadNavi();
	doNextQuestion();
	//te = document.createTextNode('');
	//te.data = 'test';
	//fillQuestionDataInHTML(te);
	//fillQuestionDataInHTML( glQuestions[glLang][glCurrentQuestionIndex]);
	
	
	nodeById('home_en').style.display = 'none';
	nodeById('home_de').style.display = 'none';
	nodeById('home_fr').style.display = 'none';
	nodeById('quizbox').style.display = 'block';
	nodeById('selectlanguage').style.display = 'none';
}


// ***************************
// * Start DragDrop          *
// ***************************
var naviuser = navigator.userAgent.toLowerCase();
var opera = !!(window.opera && document.getElementById);
var opera6 = opera && !document.defaultView;
var opera7 = opera && !opera6;
var ie = naviuser.indexOf("msie") != -1 && document.all && dcbe && !opera;
var ns6 = !opera && !document.all && document.documentElement;
//ns6 = (!opera && document.defaultView && typeof document.defaultView.getComputedStyle != 'undefined');
var w3c = !ie && !ns6 && !opera && document.getElementById;

var dsdragapproved=false;
var dsdrag_z,dsdrag_x,dsdrag_y;
document.onmouseup=new Function("dsdragapproved=false");

function dsdrag(e,dragelement) {
	thedragelement=dragelement;
	dsdrag_z=document.getElementById(dragelement);
	dsdrag_body=document.getElementById('_body');
	dsdragapproved=true;
	startoffset=180;
	if(dragelement=='poptitlebox')
		dsdrag_body.style.display='none';
	if(dragelement=='dspopup2')
		startoffset=65;
	temp1=parseInt(dsdrag_z.style.left+startoffset);
	temp2=parseInt(dsdrag_z.style.top+startoffset);
	
	dsdrag_x=ns6? e.clientX : event.clientX;
	dsdrag_y=ns6? e.clientY : event.clientY;
	document.onmousemove=dsdrag_move;
	return false;
}
function mouseCoords(ev){
	if (navigator.appName == "Microsoft Internet Explorer"){
		return {
		x:temp1+event.clientX-dsdrag_x,
		y:temp1+event.clientX-dsdrag_y
		}
	}
	else{
		return {
			y:temp1+ev.clientX-dsdrag_y,
			x:temp1+ev.clientX-dsdrag_x
			};
		}
}
function dsdrag_move(e) {
		////////////hier
		var mousePos = mouseCoords(e);
		//////////////	
	
	if (dsdragapproved && mousePos.x > 50 && mousePos.y > 10) {
		dsdrag_z.style.left=ns6? temp1 +e.clientX-dsdrag_x+'px' : temp1+event.clientX-dsdrag_x+'px';
		dsdrag_z.style.top=ns6? temp2+e.clientY-dsdrag_y+'px' :  temp2+event.clientY-dsdrag_y+'px';
		eventtop=ns6? e.clientY :  event.clientY;

		if(ie && parseInt(eventtop) < 20 && (thedragelement=='poptitlebox')) {
			document.onselectstart=new Function ("return false");
			dsdrag_z.style.top=ns6? e.clientY-dsdrag_y+15+'px' :  temp2+event.clientY-dsdrag_y+15+'px';
			dsdrag_body.style.display='block';
			// if(ie)
			// 	dsdrag_z.fireEvent('onmouseup');
			dsdragapproved=false;
			// document.onselectstart=new Function ("return true");
		}
		else
			return false;	
	}
			
}

// ***************************
// * END DragDrop            *
// ***************************

