/**
 * Applique les actions associées aux événements à surveiller dans l'interface
 *
 * @author: Jean-Philippe Goydadin - Derniere modif $author$
 */


// Lorsque le DOM est loadé, initialise les variables et attache les événements aux boutons.
document.observe("dom:loaded", function() {
	// Initialisation communes à toutes les pages
	// -------------------------------------------
	// Crée le cookie vide si il n'existe pas
	g_cookiesActives = !retournerSiCookiesDesactives();
	if(g_cookiesActives)
	{
		verifierSiCookieExiste('videos_visionnes');
		verifierSiCookieExiste('video_en_cours');
	}

	// Initialisation selon la page en cours
	// -------------------------------------------
	var sNomPage = retournerNomPage();
	// Défini le module en cours
	g_iModuleEnVisionnement = retournerNoModule();

	// La page de config fait la vérification de la config minimale
	if(sNomPage == 'config')
	{
		var sMsg;
		var sAvertissements = '';

		if((sMsg = retournerMessageSiResolutionMin()) != '')
			sAvertissements += "<li>" + sMsg + "</li>";
		if((sMsg = retournerMessageSiErreurFlash()) != '')
			sAvertissements += "<li>" + sMsg + "</li>";
		if((sMsg = retournerMessageSiNavigateurInvalide()) != '')
			sAvertissements += "<li>" + sMsg + "</li>";
		if((sMsg = retournerMessageSiCookiesDesactives()) != '')
			sAvertissements += "<li>" + sMsg + "</li>";

		// Tout est OK
		if(sAvertissements == '')
		{
			$("avertissements").hide();
			$("ok").show();
		}
		// Au moins un avertissement
		else
			$("avertissements").update(sAvertissements);
	}

	// Pour la fenetre de lecture de videos
	if (sNomPage == 'video')
	{
		// Si l'utilisateur ferme la fenetre de video avec le bouton fermer du navigateur,
		// on arrête la présentation
		Event.observe(window, "unload",gererTerminaisonPresentation); // *** fait boguer l'ouverture de la fenêtre lorsqu'on la change d'url

		gererAffichageFenetreVideo();
	}
	// Pour la fenêtre de lecture des tutoriels videos
	else if (sNomPage == 'tuto')
	{
		gererAffichageFenetreTuto();
	}
	// Pour les autres pages
	else
	{
		if(g_cookiesActives)
		{
			var sHrefVideoEnCours = retournerCookie('video_en_cours');
			if(sHrefVideoEnCours != false && sHrefVideoEnCours != '')
			{
				$("aEnCours").href = sHrefVideoEnCours;
				$("lienvideo").style.visibility = 'visible';
				// attache l'ouverture du video sur le clic du btn en cours
				$("aEnCours").observe('click', gererClicHypEtape);
			}
		}

		if (sNomPage == 'index')
		{
			$("tuto1").observe('click', ouvrirFenetreTuto);
			$("tuto2").observe('click', ouvrirFenetreTuto);
		}
	}

	// Si on est dans une page module, attache les evts sur les étapes
	if(g_iModuleEnVisionnement)
	{
		evtEtapes();
		// Affiche le module en cours
		surlignerBtnModuleSurClic();
	}
});

/**
 * Si la page courante est un module (a la forme /contenu/modules/moduleN.html), attache les actions
 * aux étapes du module
 */
function evtEtapes()
{
	var oContenuDroite = $('droite');

	if(oContenuDroite)
	{
		// Liste des liens étape
		var arrLienEtape = oContenuDroite.select('.cellsoustitre a, .cellsoussoustitre a, .bte_type a');
		var iNbEtapes = arrLienEtape.length;

		arrLienEtape.invoke('observe', 'click', gererClicHypEtape);

		if(g_cookiesActives)
		{
			// Recherche si le module actuellement visité existe déjà dans le cookie
			sCookie = retournerCookie("videos_visionnes");
			// Vérifie si le module courant existe dans le cookie, si non, on le crée ici
			bModuleExisteDansCookie = sCookie.indexOf('/'+ g_iModuleEnVisionnement + '-') == -1 ? false : true;
			if(!bModuleExisteDansCookie)
				modifierCookie(g_iModuleEnVisionnement,null,"creationModule",iNbEtapes,"videos_visionnes"); // Envoit le nombre d'étapes du module à créer
			oContenuDroite.select('.bte_coche').map(evtBteACoche);
		}
		else
		{
			oContenuDroite.select('.bte_coche').invoke('hide');
		}
	}
}

function evtBteACoche(td)
{
	// Cocher/décocher la bte sur le clic
	td.observe('click', cocherEtapeVisionnee);
	// Initialisation de la boite à cocher pour refléter leur état dans le cookie
	blnEtapeVisionne = retournerInfoCookie("videos_visionnes",g_iModuleEnVisionnement,retournerNoEtape(td),3) == '1';
	if(blnEtapeVisionne)
	{
	 	td.addClassName('coche');
	 	td.title = "Activité réalisée";
	}
	else
	{
	 	td.addClassName('non_coche');
		td.title = "Activité non réalisée";
	}

}
