	//fonction qui ecrit dans une balise <div> d'une page
	function writediv(texte,cible){
		document.getElementById(cible).innerHTML = texte;
     }

	//c'est avec cette fonction que le AJAX fonctionne
	function file(fichier)
	{
		 xhr_object = getXhr();
		 xhr_object.open("GET", fichier, false);
		 xhr_object.send(null);
		 if(xhr_object.readyState == 4) return(xhr_object.responseText);
		 else return(false);
    }
     
	function getXhr()
	{   
		var x;
    	try            
    	{    
    		x = new ActiveXObject("Microsoft.XMLHTTP");    
    	}
    	catch (e)  
    	{    
    		try           
    		{    
    			x = new ActiveXObject("Msxml2.XMLHTTP");    
    		}
            catch (e) 
            {    
            	try            
            	{    
            		x = new XMLHttpRequest();    
            	}
                catch (e)  
                {    
                	x = false;    
                }
             }
         }
    	return x;
	}
     
    function file(fichier)
	{   
		xhr_object = getXhr();
		xhr_object.open("GET", fichier, false);
		xhr_object.send(null);
		if(xhr_object.readyState == 4) 
			return(xhr_object.responseText);
		else 
			return(false);
	}
	 
	var timerID = 0;
	var tStart  = null;

	//met a jour le timer pour calculer le temps
	function UpdateTimer($limite) {

   		if(timerID) {
      		clearTimeout(timerID);
      		clockID  = 0;
   		}

   		if(!tStart){
      		tStart   = new Date();
		}

   		var   tDate = new Date();
   		var   tDiff = tDate.getTime() - tStart.getTime();

   		tDate.setTime(tDiff);
		
		$minutes = tDate.getMinutes();
		$secondes = tDate.getSeconds();
		
		if ($minutes <= 9){
			$minutes = "0" + $minutes;
		}
		
		if ($secondes <= 9){
			$secondes = "0" + $secondes;
		}
		
		if ($limite == 0){
			document.getElementsByName("temps")[0].value = $minutes+":"+$secondes;
		}else{
			$anciennesminutes = $limite / 60;
			$anciennesminutes = Math.floor($anciennesminutes);
			$anciennessecondes = $limite - ($anciennesminutes * 60);
			
			$actuellesminutes = $anciennesminutes;
						
			if ($secondes > $anciennessecondes){
				$actuellessecondes = 60 - ($secondes - $anciennessecondes);
			}else if ($secondes == $anciennessecondes){
				$limite = $limite -60;
			}else{
				$actuellessecondes = $anciennessecondes - $secondes;
			}			
			
			if ($actuellesminutes <= 9){
				$actuellesminutes = "0" + $actuellesminutes;
			}
		
			if ($actuellessecondes <= 9){
				$actuellessecondes = "0" + $actuellessecondes;
			}

			document.getElementsByName("temps")[0].value = $actuellesminutes+":"+$actuellessecondes;
	
		}
		
		if($limite != 0 && document.getElementsByName("temps")[0].value == "00:01"){
			timerID = setTimeout("FinirQuiz()", 1000);
		}else{   
   			timerID = setTimeout("UpdateTimer("+$limite+")", 1000);
		}
	}

	//affiche et part le timer
	function StartTimer($limite) {
		writediv('<font size="2" color=#FF0000><b>CHRONOMÈTRE : </b></font><input name="temps" type="text" value="00:00" style="border:#FFFFFF;font-weight:bold" readonly="true" size="3">',"temps"); //affiche le boite de temps
  		tStart   = new Date();
		
		if ($limite == 0){
   			document.getElementsByName("temps")[0].value = "00:00";
			timerID  = setTimeout("UpdateTimer(0)", 1000);
		}else{
			$minutes = $limite / 60;
			$minutes = Math.floor($minutes);
			$secondes = $limite - ($minutes * 60);
			if ($minutes <= 9){
				$minutes = "0" + $minutes;
			}
		
			if ($secondes <= 9){
				$secondes = "0" + $secondes;
			}
			document.getElementsByName("temps")[0].value = $minutes+":"+$secondes;
			timerID  = setTimeout("UpdateTimer("+$limite+")", 1000);
		}

   		
	}

	//arrete le timer
	function StopTimer() {
   		if(timerID) {
     		clearTimeout(timerID);
      		timerID  = 0;
   		}

  		tStart = null;
	}
	
	//termine le quiz par faute de temps
	function FinirQuiz(){
		file('/Php/finirquiz.php?id='+document.Quiz.questionnaireid.value+'&position='+document.Quiz.questionpresente.value);
		$temps = "00:00";
		document.Quiz.method = "POST";
		document.Quiz.action = "resultatquiz.php?id="+document.Quiz.questionnaireid.value+"&temps="+$temps;
		document.Quiz.submit();
	}
	 
	//fonction qui passe à la question suivante d'un quiz
	function QuestionSuivante(){
		if (document.getElementsByName("choixlibre")[0]){
			if (document.Quiz.reponse.value == document.Quiz.nbchoix.value){
				ChoisirLibre();
			}		
		}
		if(document.Quiz.reponse.value == "" && document.Quiz.obligatoire.value == "checked"){
			writediv("<font color=#FF0000>Vous devez répondre à cette question.</font>","erreur"); //si pas repondu
		}else{
			if(document.Quiz.suivante.value == "Question suivante" || document.Quiz.suivante.value == "Résultats"){//si on vient d'afficher le resultat instant de la question
				if (document.Quiz.questionpresente.value == "derniere"){
					document.Quiz.method = "POST";
					if(document.getElementsByName("temps")[0]){
						$temps = document.getElementsByName("temps")[0].value;
					}else{	
						$temps = 0;
					}
					file ("/Php/enrpointage.php?id="+document.Quiz.questionnaireid.value+"&temps="+$temps);
					document.Quiz.action = "resultatquiz.php?id="+document.Quiz.questionnaireid.value+"&temps="+$temps;
					document.Quiz.submit();
				}else{
					document.Quiz.questionpresente.value = parseInt(document.Quiz.questionpresente.value) + 1;
					document.Quiz.reponse.value = "";
					$question = file('/Php/construirequestion.php?id='+document.Quiz.questionnaireid.value+'&position='+document.Quiz.questionpresente.value);
					writediv($question,"question");
					writediv("","erreur");
					writediv("","resultat");
					writediv("","apres");
					document.Quiz.suivante.value == "Valider";
				}
			}else{
				//c'est ici qu'on garde les reponses de l'usager
				$derniere = file('/Php/questionsuivante.php?id='+document.Quiz.questionnaireid.value+'&position='+document.Quiz.questionpresente.value+'&choix='+document.Quiz.reponse.value);
				if(document.Quiz.resultatsinstants.value == "checked" || document.Quiz.choixapresquestion.value == "checked"){//on doit afficher les resultats instants
					document.Quiz.suivante.value = "Question suivante";
					if(document.Quiz.resultatsinstants.value == "checked"){ //si on a un resultat instantané
						$resultat = file('/Php/construireresultat.php?id='+document.Quiz.questionnaireid.value+'&position='+document.Quiz.questionpresente.value);
						writediv($resultat,"resultat");
						//bug arrive apres ca
					}
					if(document.Quiz.choixapresquestion.value == "checked"){
						$apresquestion = file('/Php/construirechoixapresquestion.php?id='+document.Quiz.questionnaireid.value+'&position='+document.Quiz.questionpresente.value+'&choix='+document.Quiz.reponse.value);
						writediv($apresquestion,"apres");
					}
					if ($derniere == "oui"){
						document.Quiz.questionpresente.value = "derniere";
						document.Quiz.suivante.value = "Résultats";
					}
				}else{//donc on passe directement a la prochaine question
					if ($derniere == "oui"){// on affiche la page des resultats
						if(document.getElementsByName("temps")[0]){
							$temps = document.getElementsByName("temps")[0].value;
						}else{	
							$temps = 0;
						}
						file ("/Php/enrpointage.php?id="+document.Quiz.questionnaireid.value+"&temps="+$temps);
						document.Quiz.method = "POST";
						document.Quiz.action = "resultatquiz.php?id="+document.Quiz.questionnaireid.value+"&temps="+$temps;
						document.Quiz.submit();						
					}else{
						document.Quiz.questionpresente.value = parseInt(document.Quiz.questionpresente.value) + 1;
						document.Quiz.reponse.value = "";
						$question = file('/Php/construirequestion.php?id='+document.Quiz.questionnaireid.value+'&position='+document.Quiz.questionpresente.value);
						writediv($question,"question");
						writediv("","erreur");
					}		
				}
			}	
		}
	}
	
	//soumettre la question jour
	function QuestionJour($questionnaireid){
		//c'est ici qu'on garde les reponses de l'usager
		//si l'usager n'a pas repondu alors on n'enregistre pas
		if (document.Quiz.reponse.value != ""){
			file('/Php/questionsuivante.php?id='+$questionnaireid+'&position=1&choix='+document.Quiz.reponse.value);
			//file('/Php/enrpointage.php?id='+$questionnaireid+'&temps=0');
		}
		$graphiquejour = file("/Php/graphiquejour.php?id="+$questionnaireid);
		writediv($graphiquejour,"questionjour");
	}
	
	//soumettre la question du jour sur CBP
	function QuestionJourCBP($questionnaireid, $categorieid){
		//c'est ici qu'on garde les reponses de l'usager
		//si l'usager n'a pas repondu alors on n'enregistre pas
		if (document.Quiz.reponse.value != ""){
			file("/data/quiz/questionsuivante_cbp.php?id="+$questionnaireid+"&choix="+document.Quiz.reponse.value);
		}
		$questionjour = file("/includes/boites/question_du_jour/questionjour_cbp.php?categorie="+$categorieid);
		writediv($questionjour,"questionjour");
	}
	
	//cette fonction qui gere le choix de l'usager, valeur = le choix de l'usager, coche = si il le met ou l'enleve 
	//surtout utiliser dans les choix multiples ou l'usager peut mettre et enlever plusieures reponses
	function Choisir(valeur,coche){
		if(document.Quiz.unique.value == "checked"){
			document.Quiz.reponse.value = valeur;
		}else{
			chiffre = 0;
			if (document.getElementsByName("choix1")[0].checked == true)
			{
				chiffre = chiffre + 1;		
			}
			
			if (document.getElementsByName("choix2")[0].checked == true)
			{
				chiffre = chiffre + 2;		
			}
			
			if(document.getElementsByName("choix3")[0])
			{
				if (document.getElementsByName("choix3")[0].checked == true)
				{
					chiffre = chiffre + 4;		
				}	
			}
			
			if(document.getElementsByName("choix4")[0])
			{
				if (document.getElementsByName("choix4")[0].checked == true)
				{
					chiffre = chiffre + 8;		
				}	
			}
			
			if(document.getElementsByName("choix5")[0])
			{
				if (document.getElementsByName("choix5")[0].checked == true)
				{
					chiffre = chiffre + 16;		
				}	
			}
			
			document.Quiz.reponse.value = chiffre;
		}	
	}
	
	//enregistre le choix libre de l'usager
	function ChoisirLibre(){
		document.Quiz.reponse.value = document.getElementsByName("choixlibre")[0].value;
	}
	
	//verifier si les emails entrés sont valides
	function VerifierEmail($quizid){
		$ok = true;
		if (document.getElementsByName("nom")[0].value == ""){
			alert("Vous devez entrer une adresse de courriel valide si vous voulez envoyer des invitations.");
			$ok = false;
		}
		
		if (document.getElementsByName("de")[0].value == "" || document.getElementsByName("de")[0].value.indexOf("@") == "-1" || document.getElementsByName("de")[0].value.indexOf(".") == "-1"){
			alert("Vous devez entrer votre nom si vous voulez envoyer des invitations.");
			$ok = false;
		}
		
		if (document.getElementsByName("email")[0].value == ""){
			alert("Vous n'avez pas inscrit de courriel.");
			$ok = false;
		}else{
			$emails = document.getElementsByName("email")[0].value.split(";");
			for (var i=0; i<$emails.length; i++){
				if ($emails[i].indexOf("@") == "-1"){
					alert("Le courriel : " + $emails[i] + " semble invalide, veuillez le corriger.");
					$ok = false;
				}
			}
		}
		
		
		if ($ok == true){
			file('/Php/envemail.php?nom='+document.getElementsByName("nom")[0].value+'&de='+document.getElementsByName("de")[0].value+'&quiz='+$quizid+'&email='+document.getElementsByName("email")[0].value+'&copie='+document.getElementsByName("copie")[0].value+'&commentaire='+document.getElementsByName("commentaire")[0].value);
		}
		
		writediv("<br>Vos courriels ont été envoyés avec succès.","cinqamis"); 
		
	}
