var jsActiveButtonsArray = [];
var jsInactiveButtonsArray = [];
var jsHiddenButtonsArray = [];

	/**
	 * Variable(s) dédiées à l'interface
	 *
	 *
	 */
	var htmlHeader = "../../../ressources/clients/165444654894_VG_10/html/header.html";
	var htmlHeaderInside = '<div id="titreModule"><p id="txtTitreLecon" class="grandTitre kTraduireTexte"></p></div><div id="filAriane"><p id="sousTitre" class="sousTitre"></p></div>';
	
	var htmlFooter = "../../../ressources/clients/165444654894_VG_10/html/footer.html";
	var htmlFooterInside = '<div id="barreNavigationFooter"><div id="blocLangueChoix" style="display:none;"><form><select id="kjsChangeLanguage"></select></form></div><a id="btnSommaire" class="btnSommaire" href="LECON_SOMMAIRE.html" title=""><span>Home</span></a><a id="btnGlossaire" class="btnGlossaire" href="#" title=""><span>Glossaire</span></a><a id="btnAide" class="btnAideOff" href="#" title=""><span>Aide</span></a><a id="btnPrecedent" class="btnPrecedentOff" href="#" title=""><span>Precedent</span></a><a id="btnSuivant" class="btnSuivantOff" href="#" title=""><span>Suivant</span></a><div id="ensembleBarreProgress"><div class="btnBarreProgress" id="progressionBarre"><div class="btnBarreProgressValeur" id="progressionNavigation"></div><div class="btnBarreProgressCursor" id="btnBarreProgressCursor"></div></div></div><div class="numeroSlideNavigation"><span id="numeroSlideNavigation"></span>/<span id="totalSlideNavigation"></span></div><a id="btnReload" class="btnReload" href="#" title=""><span>Reload</span></a><a id="btnSon" class="btnSonOff" href="#" title=""><span>Son</span></a><a id="btnQualiteVideo" class="btnVideoBd" href="#" title="" style="display: none;"></a></div><a id="" class="btnFooterToggle"></a><div id="divDisplayVisionneuse" class="divDisplayVisionneuse"></div>';
	
	if (typeof(kBoolFooterToggleOff) == "undefined") {
		var kBoolFooterToggleOff = false;
	}
	
	var htmlAide = "../../../ressources/clients/165444654894_VG_10/html/aide.html";
	var htmlAideInside = '<div id="ensembleAide"><div id="divFermetureAide" class="btnFermetureDialogBox"></div><div class="blocExplicationsAide"></div></div>';
	
	if (typeof(kBoolGlossaire) == "undefined") {
		var kBoolGlossaire = false;
	}
	if (typeof(htmlGlossaire) == "undefined") {
		var htmlGlossaire = "../../../ressources/clients/165444654894_VG_10/html/glossaire.html";
	}
	if (typeof(htmlGlossaireInside) == "undefined") {
		var htmlGlossaireInside = '<div id="ensembleGlossaire"><div id="divFermetureGlossaire" class="btnFermetureDialogBox"></div><p class="titre">Glossaire</p></div>';
	}
	
	var kServeurMediatheque = "https://videos.3210123_presentationKLE-formation.net/";
	var kQualiteVideo = "VideoBD"; // VideoHD (1024 kbps dans le répertoire 2000 ou HD), et VideoBD (512 kbps en racine)
	if (typeof kAfficherControlesVideo === "undefined") {
		var kAfficherControlesVideo = true;
	}

	if ( typeof kBoolDisplayAudioToolbar === "undefined" ) {
		var kBoolDisplayAudioToolbar = false;
	}

	if ( typeof kBoolPageSommaire === "undefined" ) {
		var kBoolPageSommaire = false;
	}

	/**
	 * Variables non modifiables
	 *
	 */
	var htmlVisionneuse = "../../../_validation/index.php";
	var kVisionneuseRoot = "koLearningEngine/";
	var kVisioPageName = "";
	var boolMobileDevice = false;
	var cookieMenuOuverture = "kCookieMenuOuverture";
	var cookieBarreProgression = 0;
	var cookieBarrePositionnement = 0;
	var kDiapositiveScormee = false;
	var kScormGestionExterne = false;
	var kDiapositiveMaximumLue = 1;
	var kIntervalleTimer;
	var kScoreRaw;
	var kCookieDiapositivesVues = [];
	var kBoolControlNextClick = true;
	var monDictionnaire;
	var language;
	
	if (window.location.host == "module.vgf-formation.net")
	{
		kVisionneuseRoot = "koLearningEngine/";
	}
	else
	{
		kVisionneuseRoot = "";
	}
	
	/**
	 * Spécifique SABA LMS II
	 *
	 */
	var kBoolSABA = false;
	var kMenuNavigationSABA = "";
	
	/**
	 * Variable(s) utilisée(s) par les modules annexes
	 *
	 */
	
	/*** ***** **/
	
	$(function()
	{
	
		/**
		 * Elémenents de navigation en footer
		 *
		 */
		$("#btnSommaire").live("click", function()
		{
			if ($("#btnSommaire").hasClass("btnSommaireOff"))
			{
				return false;
			}
			var menuOuverture = $.cookie(cookieMenuOuverture);
			if (menuOuverture != "")
			{
				var tableau = menuOuverture.split("|");
			}
			$("#btnSommaire").attr("href", tableau[0]);
		});
		$("#btnGlossaire").live("click", function()
		{
			if ($("#btnGlossaire").hasClass("btnGlossaireOff"))
			{
				return false;
			}
			if ($("#divDisplayGlossaire").is(":visible"))
			{
				$("#divDisplayGlossaire").hide();
				return false;
			}
			if (kBoolVersionOffline)
			{
				$("#divDisplayGlossaire").html(htmlGlossaireInside);
				jsLaunchTranslation();
			}
			else
			{
				$("#divDisplayGlossaire").load(htmlGlossaire, function(response, status, xhr)
				{
					jsLaunchTranslation();
				});
			}
			if ($("#divDisplayAide").is(":visible"))
			{
				$("#divDisplayAide").hide();
			}
			$("#divDisplayGlossaire").show();
		});
		$("#btnAide").live("click", function()
		{
			if ($("#btnAide").hasClass("btnAideOff"))
			{
				return false;
			}
			if ($("#divDisplayAide").is(":visible"))
			{
				$("#divDisplayAide").hide();
				return false;
			}
			if (kBoolVersionOffline)
			{
				$("#divDisplayAide").html(htmlAideInside);
				jsLaunchTranslation();
			}
			else
			{
				$("#divDisplayAide").load(htmlAide, function(response, status, xhr)
				{
					jsLaunchTranslation();
				});
			}
			if ($("#divDisplayGlossaire").is(":visible"))
			{
				$("#divDisplayGlossaire").hide();
			}
			$("#divDisplayAide").show();
		});
		$("#btnPrecedent").live("click", function()
		{
			if ($("#btnPrecedent").hasClass("btnPrecedentOff"))
			{
				return false;
			}
			$("#btnPrecedent").attr("href", kDiapositivePrecedente);
			if (boolMobileDevice)
			{
				$("#btnPrecedent").attr("rel", "external");
			}
		});
		$("#btnSuivant").live("click", function()
		{
			if (kBoolControlNextClick === true)
			{
				if ($("#btnSuivant").hasClass("btnSuivantOff"))
				{
					return false;
				}
			}
			if (boolMobileDevice)
			{
				$("#btnSuivant").attr("rel", "external");
			}
			if (kDiapositiveScormee)
			{
				scormLessonStatus("completed");
				switch ($.cookie(kCookieLanguageInterface))
				{
				case "rus":
					$("#ensembleVisioneuse").html(kHtmlFinDeLeconRUS);
					break;
				default:
					$("#ensembleVisioneuse").html(kHtmlFinDeLecon);
					break;
				};
				$(".kTraduireTexte").each(function()
				{
					$(this).html(tr($(this).attr("id")));
				});
				clearInterval(kIntervalleTimer);
				if (kBoolControlNextClick === true)
				{
					$(".btnFooterToggle").click();
				}
				jsInactiveButtons(Array("btnReload", "btnSuivant"));
				jsSetDiapositivesVues();
				kNumeroSlideNavigation = kTotalSlideNavigation + 1;
				jsSetMenuNumero();
				kBoolControlNextClick = true;
				return false;
			}
			jsSetDiapositivesVues();
			kDataSave();
			$("#btnSuivant").attr("href", kDiapositiveSuivante);
		});
		$("#btnReload").live("click", function()
		{
			if ($("#btnReload").hasClass("btnReloadOff"))
			{
				return false;
			}
			window.location.reload();
			return false;
		});
		$("#btnDiapoPrec").live("click", function()
		{
			if ($("#btnDiapoPrec").hasClass("btnDiapoPrecOff"))
			{
				return false;
			}
		});
		$("#btnDiapoSuiv").live("click", function()
		{
			if ($("#btnDiapoSuiv").hasClass("btnDiapoSuivOff"))
			{
				return false;
			}
		});
		$("#btnSon").live("click", function()
		{
			if ($("#btnSon").hasClass("btnSonOff"))
			{
				return false;
			}
		});
		$("#btnQualiteVideo").live("click", function()
		{
			switch ($(this).attr("class"))
			{
			case "btnVideoBd":
				$(this).removeClass("btnVideoBd").addClass("btnVideoHd");
				jsChangeVideoQuality("VideoHD");
				break;
			case "btnVideoHd":
				$(this).removeClass("btnVideoHd").addClass("btnVideoBd");
				jsChangeVideoQuality("VideoBD");
				break;
			}
			return false;
		});
	
		/** *** */
	
		/**
		 * Suppression du cookie lors du passage d'un menu de 1er niveau à un autre
		 *
		 */
		$(".filAriane").live("click", function()
		{
			$.cookie(cookieMenuOuverture, null);
		});
	
		/**
		 * Fermeture de la fenêtre d'aide
		 *
		 */
		$("#divFermetureAide").live("click", function()
		{
			$("#divDisplayAide").hide();
		});
		$("#divFermetureGlossaire").live("click", function()
		{
			$("#divDisplayGlossaire").hide();
		});
	
		$(".menuElementNonCliquable").live("click", function()
		{
			return false;
		});
	
		/** Lecture des vidéos */
		if (typeof jsChangeAllVideosQuality == "function")
		{
			if ($.cookie("kCookieVideoQuality") == null)
			{
				jsChangeAllVideosQuality(kQualiteVideo);
			}
			else
			{
				jsChangeAllVideosQuality($.cookie("kCookieVideoQuality"));
			}
		}
	
		/**
		 * Mise en place du bloc en savoir +
		 * Dépliage / repliage
		 *
		 */
		$("#colonneEnSavoirPlus .btnPlusInfos").click(function()
		{
			$("#colonneEnSavoirPlus .conteneurPlusInfos").slideToggle("slow");
			$("#btnPlusInfosSwitch").toggleClass("btnPlusInfosSwitch");
		});
	
		/**
		 * Mise en place du Déroulement des blocs sommaire
		 * Dépliage / repliage
		 *
		 */
		$(".grandTitre").click(function()
		{
			if (!$(this).hasClass("grandTitreSwitch"))
			{
				$(".grandTitreSwitch").each(function()
				{
					$(this).removeClass("grandTitreSwitch");
				});
				$(".ensembleSousTitre").each(function()
				{
					$(this).hide("slow");
				});
				$("#sousMenu" + $(this).attr("title")).show("slow");
				$("#menu" + $(this).attr("title")).addClass("grandTitreSwitch");
			}
		});
	
	});
	
	/*** ***** **/
	
	$(document).ready(function()
	{
	
		$(".loading").show();
	
		/**
		 * KLE - Restauration des données sauvegardées
		 *
		 */
		kDataRestoreMySQL();
	
		/** gestion du select de langues page d'accueil **/
		if (kBoolDisplayLanguageSelect)
		{
			if (kBoolVersionOffline)
			{
				$("#kjsChangeLanguage").hide();
			}
			else
			{
				$("#kjsChangeLanguage").show();
			}
		}
		else
		{
			$("#kjsChangeLanguage").hide();
		}
	
		/**
		 * Gestion du Zebra des Tableaux Légendes
		 */
		$("tr:odd").addClass("odd");
		$("tr:even").addClass("even");
	
		/**
		 * Détection du navigateur, et des supports mobiles
		 * iPhone, iPad, iPod, Android
		 */
		var deviceAgent = navigator.userAgent.toLowerCase();
		agentID = deviceAgent.match(/(iphone|ipod|ipad|android)/);
		if (agentID)
		{
			boolMobileDevice = true;
		}
	
		/**
		 * Barre d'outils, interface
		 * Gestion des boutons d'actions
		 *
		 */
		$("#divDisplayGlossaire").hide();
		$("#divDisplayAide").hide();
	
	
		/** 
		 * Gestion du système de traduction des textes
		 * Se base sur la gestion d'un cookie : kCookieLanguageInterface
		 * 2013.09.03 - Correction Dominick sur gestion Cookie
		 * 2014.01.16 - Suppression de l'accès au jQuery TR
		 * 2014.01.24 - Si le SCORM est actif et que la langue est disponible, alors elle supplante le cookie
		 *
		 */
		if ($.cookie(kCookieLanguageInterface) == null)
		{
			language = kLangueInterfaceDefaut;
		}
		else
		{
			language = $.cookie(kCookieLanguageInterface);
		}
	/*if ( scormIsActive() )
			{
				var langueApprenant = scormGetStudentInformation("language");
				switch ( langueApprenant )
				{
					case "fr-FR":
						language = "fra";
						break;
					case "en-GB":
						language = "eng";
						break;
					case "it-IT":
						language = "ita";
						break;
					case "pt-BR":
						language = "spa";
						break;
					case "ru-RU":
						language = "rus";
						break;
					default:
						language = "";
						break;
				}
			}*/
		$.cookie(kCookieLanguageInterface, language);
		if ($("#kjsChangeLanguage").length > 0)
		{
			var htmlSelect = "";
			var dfd = $.Deferred();
			dfd.done(function()
			{
				for (compteur = 0; compteur < languesDisponibles.length; compteur++)
				{
					htmlSelect += "<option value=\"";
					htmlSelect += languesDisponibles[compteur][0] + "\"";
					htmlSelect += ">";
					htmlSelect += languesDisponibles[compteur][1] + "</option>";
				}
			}).done(function()
			{
				$("#kjsChangeLanguage").empty().append(htmlSelect);
				if (!boolMobileDevice)
				{
					$("#kjsChangeLanguage").addClass("selectAgrandi");
					$("#kjsChangeLanguage").val(language);
				}
				else
				{
					$("#kjsChangeLanguage").val(language);
				}
				$("#kjsChangeLanguage").val(language);
			});
			dfd.resolve()
		}
		jsLoadExternalScripts(Array("../../../lecons/" + kNomModule + "/dictionnaires/" + language + ".js"), function()
		{
			jsLaunchDictionnary(language);
			$(".loading").hide();
		});
		$("#kjsChangeLanguage").live("change", function()
		{
			language = $(this).val();
			$.cookie(kCookieLanguageInterface, language);
			kDataSave();
			window.location.reload();
		});
	
	});
	
	/*** ***** **/
	
	function jsLoadingHeader(language)
	{
	
		/** Affichage du header (en-tête) */
		if (kBoolVersionOffline)
		{
			$("#divDisplayHeader").html(htmlHeaderInside);
		}
		else
		{
			$("#divDisplayHeader").load(htmlHeader, function(response, status, xhr)
			{
			});
		}
	
		/** Sous-titre, alias fil d'ariane */
		var sousTitreTraduit = "";
		var myDeferObject = $.Deferred(), myDeferFunction = myDeferObject.then(function()
		{
			var tableau = kFilAriane.split("|");
			for (compteur = 0; compteur < tableau.length; compteur++)
			{
				sousTitreTraduit += tr(tableau[compteur]) + " / ";
			}
		});
		myDeferObject.resolve();
		myDeferFunction.done(function()
		{
			setTimeout(function(){
				$(".sousTitre")
					.html(sousTitreTraduit.substring(0, sousTitreTraduit.length - 3))
					.show()
					.removeClass("kTimeCode");
			}, 100);
		});
		
		jsLaunchTranslation();
	}
	
	function jsLoadingFooter(language)
	{
	
		/** Affichage du footer (pied de page) */
		if (kBoolVersionOffline)
		{
			$("#divDisplayFooter").html(htmlFooterInside);
			jsLaunchTranslation();
		}
		else
		{
			$("#divDisplayFooter").load(htmlFooter, function(response, status, xhr)
			{
				if (kBoolFooterToggleOff)
				{
					$(".btnFooterToggle").click();
				}
			});	
		}
	
		/**  Mise en place du repliage du Footer - Barre de Navigation Footer */
		$(".btnFooterToggle").live("click", function()
		{
			$("#barreNavigationFooter").animate(
			{
				bottom: -100
			});
			$(this).hide();
	
			var myDeferObject = $.Deferred(),
				myDeferFunction = myDeferObject.then(function()
				{
					$(".btnFooterToggle").show();
					$(".btnFooterToggle").toggleClass("btnFooterToggleOff");
				});
			myDeferObject.resolve();
			myDeferFunction.done(function()
			{
				if ($("#barreNavigationFooter").css("bottom") != "0px")
				{
					if (!$("#btnSuivant").hasClass("kBoutonAnime"))
					{
	
						if ($("#barreNavigationFooter").css("bottom") == "0px")
						{
							$(".btnFooterToggle").click();
						}
					}
				}
			});
		});
		$(".btnFooterToggleOff").live("click", function()
		{
			$("#barreNavigationFooter").animate(
			{
				bottom: 0
			});
		});

		/**
		 * Spécificités pour le bouton de qualité vidéo : BD/HD
		 * Ne doit être présent que pour IE
		 * Information supplantée par les fonctions de gestion des boutons du footer
		 *
		 */
		if (checkBrowser("msie"))
		{
			if (typeof jsChangeAllVideosQuality == "function")
			{
				$("#btnQualiteVideo").css("display", "");
			}
		}	
		$("#btnlanguage").hide();
		$("#btnlanguage").removeClass();
		$("#btnlanguage").addClass("btnlanguage" + String(language).toUpperCase());
		$("#btnlanguage").show();
		jsLoadingVisionneuse();

		setTimeout(function() {
			jsDisplayBarreProgression();
		}, 1000);
		
		var myDeferObject = $.Deferred(), myDeferFunction = myDeferObject.then(function()
		{
			
			jsLoadingButtons();
			var dfd = $.Deferred();
			dfd.done(
				jsActiveButtons(jsActiveButtonsArray),
				jsInactiveButtons(jsInactiveButtonsArray),
				jsHiddenButtons(jsHiddenButtonsArray)
			).done(function(){
				$(".btnFooterToggle").show();
				$(".btnFooterToggle").toggleClass("btnFooterToggleOff");
			});
		});
		myDeferObject.resolve();
		myDeferFunction.done(function()
		{
		});
	
		var myDeferObject = $.Deferred(),
			myDeferFunction = myDeferObject.then(function()
			{
				if ($(".ensembleBloc403").is(":visible"))
				{
					return false;
				}
				if (kNumeroSlideNavigation > kTotalSlideNavigation)
				{
					kNumeroSlideNavigation = kTotalSlideNavigation;
				} /** Cookie pour la sauvegarde de la progression dans la leçon */
				var cookieBarreProgressionValeur = $.cookie(cookieBarreProgression);
				if (cookieBarreProgressionValeur == null || cookieBarreProgressionValeur < kNumeroSlideNavigation)
				{
					cookieBarreProgressionValeur = kNumeroSlideNavigation;
					$.cookie(cookieBarreProgression, cookieBarreProgressionValeur);
				}
			});
		myDeferObject.resolve();
		/**
		myDeferFunction.done(function()
		{
			if ($("#progressionBarre").length > 0)
			{
				var htmlWidth = $("#progressionBarre").css("width").replace("px", "") - 10;
				var pourcentageProgression = Math.floor((cookieBarreProgressionValeur * htmlWidth) / kTotalSlideNavigation);
				if (kBoolVersionFormateur)
				{
					pourcentageProgression = htmlWidth;
				}
				$("#progressionNavigation").css("width", pourcentageProgression + "px");
				$("#numeroSlideNavigation").html(kNumeroSlideNavigation);
				$("#totalSlideNavigation").html(kTotalSlideNavigation);
				if (kBoolPageSommaire)
				{
					$("#btnBarreProgressCursor").css("left", "5px");
				}
				else
				{
					var positionnement = Math.floor((kNumeroSlideNavigation * htmlWidth) / kTotalSlideNavigation);
					if (positionnement + "px" == $("#progressionNavigation").css("width"))
					{
						$("#btnBarreProgressCursor").css("left", (positionnement - 10) + "px");
					}
					else
					{
						$("#btnBarreProgressCursor").css("left", (positionnement - 15) + "px");
					}
				}
			}
			jsLaunchTranslation();
		});
		*/
	}
	
	function jsLoadingVisionneuse()
	{
		kVisioPageNameparts = window.location.pathname.split("/");
		if (kVisionneuseRoot != "")
		{
			var floderCpt = kVisionneuseRoot.split("/").length;
			var klink = "";
			for (li = floderCpt; li < kVisioPageNameparts.length; li++)
			{
				klink += "/" + kVisioPageNameparts[li];
			}
			kVisioPageName = klink;
		}
		else
		{
			kVisioPageName = window.location.pathname;
		}
		if (kBoolVisionneuse)
		{
			$("#kVisioMenu").remove();
			$("#kVisioButtonDiv").remove();
			$.ajax(
			{
				type: 'GET',
				url: htmlVisionneuse,
				data: "page=" + kVisioPageName + "&lan=" + $.tr.language(kLangueInterfaceDefaut, true),
				success: function(data)
				{
					$("#divDisplayVisionneuse").html(data);
				}
			});
		}
	}
	
	function jsDisplayBarreProgression() {

		if ( $(".ensembleBloc403").is(":visible") ) {
			return false;	
		}
	
		if (kNumeroSlideNavigation > kTotalSlideNavigation) {
			kNumeroSlideNavigation = kTotalSlideNavigation;
		}
	
		/** Cookie pour la sauvegarde de la progression dans la leçon */
		var cookieBarreProgressionValeur = $.cookie(cookieBarreProgression);
		if (cookieBarreProgressionValeur == null || cookieBarreProgressionValeur < kNumeroSlideNavigation) {
			cookieBarreProgressionValeur = kNumeroSlideNavigation;
			$.cookie(cookieBarreProgression, cookieBarreProgressionValeur);
		}
	
		/** Initialisation de la barre de progression */
		if ( $("#progressionBarre").length > 0 )
		{
			setTimeout(function(){
				var htmlWidth = $("#progressionBarre").css("width").replace("px", "") - 10;
				var pourcentageProgression = Math.floor((cookieBarreProgressionValeur * htmlWidth) / kTotalSlideNavigation);
				if (kBoolVersionFormateur) {
					pourcentageProgression = htmlWidth;
				}
				$("#progressionNavigation").css("width", pourcentageProgression + "px");
			
				/** Positionnement sur la barre de progression */
				$("#numeroSlideNavigation").html(kNumeroSlideNavigation);
				$("#totalSlideNavigation").html(kTotalSlideNavigation);
				if ( kBoolPageSommaire ) {
					$("#btnBarreProgressCursor").css("left", "5px");
				}
				else {
					var positionnement = Math.floor((kNumeroSlideNavigation * htmlWidth) / kTotalSlideNavigation);
					if (positionnement + "px" == $("#progressionNavigation").css("width")) {
						$("#btnBarreProgressCursor").css("left", (positionnement - 10) + "px");
					} else {
						$("#btnBarreProgressCursor").css("left", (positionnement - 15) + "px");
					}
				}
			}, 500);
		}

	}	
	
	/**
	 * Gestion des boutons de la barre de navigation
	 *
	 */
	function jsActiveButtons(mesBoutons)
	{
		setTimeout(function(){
		for (compteur = 0; compteur < mesBoutons.length; compteur++)
		{
			switch (mesBoutons[compteur])
			{
			case "btnSuivant":
				if (kDiapositiveSuivante != "")
				{
					$("#" + mesBoutons[compteur]).removeClass(mesBoutons[compteur] + "Off");
					$("#" + mesBoutons[compteur]).addClass(mesBoutons[compteur]);
				}
				break;
			case "btnPrecedent":
				if (kDiapositivePrecedente != "")
				{
					$("#" + mesBoutons[compteur]).removeClass(mesBoutons[compteur] + "Off");
					$("#" + mesBoutons[compteur]).addClass(mesBoutons[compteur]);
				}
				break;
			case "btnGlossaire":
				if (!kBoolGlossaire)
				{
					$("#btnGlossaire").removeClass("btnGlossaire").addClass("btnGlossaireOff");
				}
				break;
			case "btnQualiteVideo":
				$("#" + mesBoutons[compteur]).css("display", "");
				break;
			default:
				$("#" + mesBoutons[compteur]).removeClass(mesBoutons[compteur] + "Off");
				$("#" + mesBoutons[compteur]).addClass(mesBoutons[compteur]);
				break;
			}
		}
		}, 100);

	}
	
	function jsInactiveButtons(mesBoutons)
	{
		for (compteur = 0; compteur < mesBoutons.length; compteur++)
		{
			switch (mesBoutons[compteur])
			{
			case "btnSuivant":
				$("#" + mesBoutons[compteur]).removeClass(mesBoutons[compteur]);
				$("#" + mesBoutons[compteur]).removeClass(mesBoutons[compteur] + "OffActif");
				$("#" + mesBoutons[compteur]).addClass(mesBoutons[compteur] + "Off");
				if (kBoolVersionFormateur && kDiapositiveSuivante != "")
				{
					jsActiveButtons(Array(mesBoutons[compteur]));
				}
				break;
			case "btnPrecedent":
				if (kBoolVersionFormateur && kDiapositivePrecedente != "")
				{
					jsActiveButtons(Array(mesBoutons[compteur]));
				}
				break;
			default:
				$("#" + mesBoutons[compteur]).removeClass(mesBoutons[compteur]);
				$("#" + mesBoutons[compteur]).addClass(mesBoutons[compteur] + "Off");
				break;
			}
		}
	}
	
	function jsHiddenButtons(mesBoutons)
	{
		for (compteur = 0; compteur < mesBoutons.length; compteur++)
		{
			$("#" + mesBoutons[compteur]).css("display", "none");
		}
	}
	
	function jsAnimateButton(monBouton, kBoolClick)
	{
		jsActiveButtons(Array(monBouton));
		switch (monBouton)
		{
		case "btnAide":
			kIntervalleTimer = setInterval(function()
			{
				if ($("#" + monBouton).hasClass(monBouton))
				{
					$("#" + monBouton).removeClass().addClass(monBouton + "OffActif");
				}
				else
				{
					$("#" + monBouton).removeClass().addClass(monBouton);
				}
			}, 500);
			break;
		case "btnSuivant":
			kIntervalleTimer = setInterval(function()
			{
				if ($("#" + monBouton).hasClass(monBouton))
				{
					$("#" + monBouton).removeClass().addClass(monBouton + "OffActif");
				}
				else
				{
					$("#" + monBouton).removeClass().addClass(monBouton);
				}
			}, 500);
			$.cookie("kCookieGoToNext", "oui");
			if (typeof kBoolClick !== "undefined")
			{
				kBoolControlNextClick = false;
				$("#" + monBouton).click();
			}
			scormSetTimeElapsed();
			break;
		default:
			$("#" + monBouton).addClass(monBouton + "Animate");
			break;
		}
	}
	
	/**
	 * Gestion de la barre de progression et de la barre de positionnement
	 * Différence selon que l'on est ou non formateur
	 *
	 */
	
	/**
	 * Gestion des menus sur les pages de sommaire
	 *
	 */
	
	function jsOuvrirMenu()
	{
		var menuOuverture = $.cookie(cookieMenuOuverture);
		if (menuOuverture != "")
		{
			var tableau = menuOuverture.split("|");
			if (!$("#" + menuOuverture).hasClass("grandTitreSwitch"))
			{
				$(".filAriane").each(function()
				{
					$(this).removeClass("filArianeActif");
				});
				$(".grandTitreSwitch").each(function()
				{
					$(this).removeClass("grandTitreSwitch");
				});
				$(".ensembleSousTitre").each(function()
				{
					$(this).hide("slow");
				});
				$("#" + tableau[2]).addClass("filArianeActif");
	
				if (tableau[1] != "menu0")
				{
					$("#sousMenu" + $("#" + tableau[1]).attr("title")).show("slow");
					$("#menu" + $("#" + tableau[1]).attr("title")).addClass("grandTitreSwitch");
				}
				else
				{
					$("#ensembleBlocsSommaire").hide();
				}
	
			}
		}
		jsDisabledMenuElement();
		jsMarkViewedMenuElement();
		jsHideMenuElement();
	}
	
	/**
	 * Désactiver les menus non accessibles dans les menus
	 * Marquer également tous les menus déjà vus
	 */
	
	function jsDisabledMenuElement()
	{
		$(".kLienElementMenu").each(function()
		{
			if (Number($(this).attr("rel")) > Number(kDiapositiveMaximumLue))
			{
				$(this).addClass("menuElementNonCliquable");
			}
		});
	}
	
	function jsMarkViewedMenuElement()
	{
		if ($.cookie("kCookieDiapositivesVues") == null)
		{
			$.cookie("kCookieDiapositivesVues", 0);
		}
		kCookieDiapositivesVues = $.cookie("kCookieDiapositivesVues").split(",");
		$(".kLienElementMenu").each(function()
		{
			if (Number($(this).attr("rel")) <= Number(kDiapositiveMaximumLue))
			{
				if ($.inArray($(this).attr("rel"), kCookieDiapositivesVues) != "-1")
				{
					$(this).addClass("menuElementDejaVu");
				}
			}
		});
	}
	
	function jsHideMenuElement()
	{
		$(".kInvisibleElementMenu").each(function()
		{
			$(this).hide();
		});
	}
	
	/**
	 * Gestion des ouvertures de diapositives
	 * Permet de bloquer le menu en accès lecture
	 *
	 */
	
	function jsSetMenuNumero()
	{
	
		/**
		 * Initialisation du numéro du slide
		 *
		 */
		if (kNumeroSlideNavigation == 0)
		{
			kNumeroSlideNavigation = 1;
		}
	
		/**
		 * Le formateur voit tous les menus
		 *
		 */
		if (kBoolVersionFormateur)
		{
			var kGardienNumeroSlideNavigation = kNumeroSlideNavigation;
			kNumeroSlideNavigation = kTotalSlideNavigation + 1;
		}
	
		/**
		 * Vérification de l'autorisation d'accès à cette page
		 *
		 */
		if ($.cookie("kCookieSuspendData"))
		{
			kDiapositiveMaximumLue = $.cookie("kCookieSuspendData");
		}
		if (!kBoolVersionFormateur)
		{
			if (String($.cookie("kCookieGoToNext")) == "oui")
			{
				var kTableauDiapositivesVues = $.cookie("kCookieDiapositivesVues").split(",");
				if ((Number(kNumeroSlideNavigation) - Number(Math.max.apply(this, kTableauDiapositivesVues))) > 1)
				{
					$("body").html("<div class='ensembleBloc403'></div>");
					return false;
				}
			}
			else
			{
				if (Number(kNumeroSlideNavigation) > Number(kDiapositiveMaximumLue))
				{
					$("body").html("<div class='ensembleBloc403'></div>");
					return false;
				}
			}
		}
	
		/**
		 * Gestion des ouvertures sur menus associés, liés
		 *
		 */
		$.cookie("kCookiePageEnCours", window.location.pathname);
	
		/**
		 * Mise en place d'un 'COOKIE' pour stocker la dernière diapositive vue
		 *
		 */
		/**
		 * COOKIE NAVIGATEUR
		 *
		 */
		if ($.cookie("kCookieSuspendData") <= kNumeroSlideNavigation)
		{
			$.cookie("kCookieSuspendData", kNumeroSlideNavigation);
		}
		else
		{
			if ($.cookie("kCookieSuspendData") <= kNumeroSlideNavigation)
			{
				$.cookie("kCookieSuspendData", kDiapositiveMaximumLue);
			}
		}
		/** 
		 * Spécifique CLARINS
		 * Ne pas bloquer le bouton Suivant si une diapositive suivante a déjà été vue
		 * 200 car jsInactiveButtons en setTimeout à 100
		 *
		 */
		if (kNumeroSlideNavigation < kDiapositiveMaximumLue)
		{
			setTimeout(function()
			{
				$("#btnSuivant").removeClass("btnSuivantOff").addClass("btnSuivant btnLocked");
			}, 200);
			setTimeout(function()
			{
				$("#btnSuivant").removeClass("btnSuivantOff").addClass("btnSuivant btnLocked");
			}, 1000);
			setTimeout(function()
			{
				$("#btnSuivant").removeClass("btnSuivantOff").addClass("btnSuivant btnLocked");
			}, 3000);
		}
	
		kDiapositiveMaximumLue = $.cookie("kCookieSuspendData");
		$.cookie("kCookieGoToNext", "non");
	
		if (kBoolVersionFormateur)
		{
			kNumeroSlideNavigation = kGardienNumeroSlideNavigation;
		}
	
		/**
		 * LMS - cmi.core.score.raw
		 *
		 */
		kScoreRaw = Math.round((kDiapositiveMaximumLue * 100) / kTotalSlideNavigation);
	
		/**
		 * KLE - Sauvegarde des données
		 *
		 */
		kDataSave();
	
	}
	
	function jsSetDiapositivesVues()
	{
		if ($.cookie("kCookieDiapositivesVues") == null)
		{
			$.cookie("kCookieDiapositivesVues", 0);
		}
		kTableauDiapositivesVues = $.cookie("kCookieDiapositivesVues").split(",");
		kTableauDiapositivesVues.push(String(kNumeroSlideNavigation));
		$.cookie("kCookieDiapositivesVues", kTableauDiapositivesVues.join(","));
		if (typeof kMenusAssocies != "undefined")
		{
			var nombreVues = 0;
			$.each(kMenusAssocies, function(index, value)
			{
				if ($.inArray(String(value), kTableauDiapositivesVues) != "-1")
				{
					nombreVues = nombreVues + 1;
				}
			});
			if (Number(nombreVues) === Number(kMenusAssocies.length))
			{
				kNumeroSlideNavigation = Number(kMenusAssocies[kMenusAssocies.length - 1]) + 1;
				$.cookie("kCookieSuspendData", kNumeroSlideNavigation);
			}
		}
	}
	
	/**
	 * Vérification de la version du Browser
	 * return boolean
	 *
	 */
	
	function checkBrowser(monNavigateur)
	{
		var detect = navigator.userAgent.toLowerCase();
		if (detect.indexOf(monNavigateur) + 1 > 0)
		{
			return true;
		}
		return false;
	}
	
	/**
	 * Gestion du système de traduction
	 *
	 */
	
	function jsLaunchDictionnary(language)
	{
		jsLaunchTranslation();
		jsLoadingHeader(language);
		jsLoadingFooter(language);
		if ($.inArray(language, languesAffichageDroiteGauche) != -1)
		{
			jsLoadExternalStyles("../../../lecons/" + kNomModule + "/css/lecture-droite-gauche.css");
			return true;
		}
		return false;
	}
	
	function jsLaunchTranslation()
	{
		$(".kTraduireTexte").each(function()
		{
			$(this).html(monDictionnaire[language][$(this).attr("id")]);
		});
		$(".kTraduireTitle").each(function()
		{
			$(this).attr("title", monDictionnaire[language][$(this).attr("id")]);
		});
		$(".kTraduireSrc").each(function()
		{
			$(this).attr("src", monDictionnaire[language][$(this).attr("id")]);
		});
		if (typeof(videojsPlaylistElements) !== "undefined")
		{
			for (compteur = 1; compteur <= videojsPlayListElementsCount; compteur++)
			{
				videojsPlaylistObject = eval("videojsPlaylistElements.video" + compteur);
				$("#videojsPlaylistElement_" + compteur).html(tr(videojsPlaylistObject.id_traduction));
			}
		}
	
	}
	
	function tr(idHTML)
	{
		if (typeof monDictionnaire[language][idHTML] === "undefined")
		{
			return "";
		}
		return monDictionnaire[language][idHTML];
	}
	
	/**
	 * Dominick - 28 mars 2013
	 * http://stackoverflow.com/questions/4762254/javascript-window-location-does-not-set-referer-in-the-request-header
	 * MSIE (at least 6, 7, 8): the referrer is not set when changing window.location.href
	 *
	 */
	
	function redirectWithReferer(url)
	{
		scormSetTimeElapsed();
		if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
		{
			var referLink = document.createElement('a');
			referLink.href = url;
			document.body.appendChild(referLink);
			referLink.click();
		}
		else
		{
			location.href = url;
		}
		return false;
	}
	
	
	
	/**
	 * Dominick - 05 avril 2013
	 * Fonctions de sauvegarde/restauration des données pour stockage
	 * Stockage sur les cookies du navigateur, sur SWF (mode offline), ou encore LMS
	 *
	 * kBoolVersionOffline = Sauvegarde SWF
	 * scormInit() = Sauvegarde LMS
	 * Tous les autres cas = Sauvegarde COOKIE
	 *
	 */
	
	function kDataSave()
	{
		var kSuspendData = "";
		var kCookies = document.cookie.split(";");
		for (var compteur = 0; compteur < kCookies.length; compteur++)
		{
			var monCookie = kCookies[compteur].split("=");
			if (String(monCookie[0]).indexOf("kCookie") >= 0)
			{
				kSuspendData += monCookie.join("=") + "&";
			}
		}
		kSuspendData = kSuspendData.slice(0, -1);
		if (scorm.connection.isActive)
		{
			scormSet("cmi.suspend_data", kSuspendData);
		}
		else
		{
			$.cookie("kStoreData", kSuspendData);
			if (kBoolVersionOffline)
			{
				var clefAuthentification = $.cookie(kCookieAuthentification);
				if (clefAuthentification != "null")
				{
					$.cookie(kLocalStoragePrefix + clefAuthentification, kSuspendData);
				}
			}
		}
		kDataSaveMySQL();
	}
	
	function kDataRestore()
	{
		var kSuspendData = "";
		if (scorm.connection.isActive)
		{
			kSuspendData = scormGet("cmi.suspend_data", kSuspendData);
		}
		else
		{
			var clefAuthentification = $.cookie(kCookieAuthentification);
			if (clefAuthentification != "null" && !kBoolMySQL)
			{
				kSuspendData = $.cookie(kLocalStoragePrefix + clefAuthentification);
			}
			else
			{
				kSuspendData = $.cookie("kStoreData");
			}
		}
		if (kSuspendData !== null)
		{
			var kCookies = kSuspendData.split("&");
			for (var compteur = 0; compteur < kCookies.length; compteur++)
			{
				var monCookie = kCookies[compteur].split("=");
				$.cookie($.trim(monCookie[0]), unescape(monCookie[1]));
			}
		}
	}
	
	/** *** */
	
	function kDataSaveMySQL()
	{
		if (kBoolMySQL)
		{
			$.ajax(
			{
				cache: false,
				async: true,
				type: "POST",
				url: kServeurWebservices + "setCookies.xml.php",
				data: "clefCrytee=" + $.cookie(kCookieAuthentification) + "&cookies=" + encodeURIComponent($.cookie("kStoreData"))
			});
		}
	}
	
	function kDataRestoreMySQL()
	{
		if (kBoolMySQL)
		{
			$.ajax(
			{
				cache: false,
				async: false,
				type: "POST",
				url: kServeurWebservices + "getCookies.xml.php",
				data: "clefCrytee=" + $.cookie(kCookieAuthentification),
				success: function(mesCookies)
				{
					$.cookie("kStoreData", mesCookies);
					kDataRestore();
					kDataSave();
					return false;
				}
			});
		}
		else
		{
			kDataRestore();
		}
	}
	
	/** *** */
	
	/**
	 * Charger des fichiers externes, en mode OFFLINE
	 * 2013.09.04 - Dominick
	 *
	 */
	
	function jsLoadExternalScripts(array, callback)
	{
		var loader = function(src, handler)
		{
			var script = document.createElement("script");
			script.src = src;
			script.onload = script.onreadystatechange = function()
			{
				script.onreadystatechange = script.onload = null;
				handler();
			};
			var head = document.getElementsByTagName("head")[0];
			(head || document.body).appendChild(script);
		};
		(function()
		{
			if (array.length != 0)
			{
				loader(array.shift(), arguments.callee);
			}
			else
			{
				setTimeout(function()
				{
					callback && callback();
				}, 500);
			}
		})();
	}
	
	function jsLoadExternalStyles(urlStyleSheet)
	{
		if (document.createStyleSheet)
		{
			try
			{
				document.createStyleSheet(urlStyleSheet);
			}
			catch (e)
			{
			}
		}
		else
		{
			var css;
			css = document.createElement('link');
			css.rel = 'stylesheet';
			css.type = 'text/css';
			css.media = "all";
			css.href = urlStyleSheet;
			document.getElementsByTagName("head")[0].appendChild(css);
		}
	}
	
	
	
	
	
	
	/********************************
	 Popins
	 ********************************/
	
	
	//draggable
	var kBoolPopInDraggable = true;
	
	
	$(function()
	{
		//fermer global
		// $('.popInClose').click(function()
		// {
		// 	$(this).parent().hide();
		// });
	
		// $('.btnClosepopInEnsemble').live('click', function()
		// {
		// 	$(this).parent().parent().hide();
		// });
	
		//fermer avec echap -> problème car des actions sont parfois effectuer au clic sur le btn close
	/*$(document).keydown(function(e) {  
			  if (e.keyCode == 27) { $('.popIn').hide(); }   // esc
			});*/
	
	
		// if (kBoolPopInDraggable)
		// {
		// 	$(".popIn").draggable(
		// 	{
		// 		containment: "#ensembleModuleInterieur",
		// 		scroll: false,
		// 		cancel: '.popIn>*'
		// 	});
		// }
	
		// $('.btnClignotement').click(function()
		// {
		// 	$(this).removeClass('btnClignotement');
		// 	$(this).css('opacity', '1');
		// 	$(this).addClass('vuBtnClignotement');
		// });
	
		// $('.btnClignotement').hover(function()
		// {
		// 	$(this).removeClass('btnClignotement');
		// 	$(this).css('opacity', '1');
		// }, function()
		// {
		// 	if (!$(this).hasClass('vuBtnClignotement'))
		// 	{
		// 		$(this).addClass('btnClignotement');
		// 	}
		// });
	});
	
	//CLIGNOTEMENT
	
	function clignotement()
	{
		setInterval(function()
		{
			$(".btnClignotement").css('opacity', '0.2');
			setTimeout(function()
			{
				$(".btnClignotement").css('opacity', '1');
			}, 250);
		}, 1000);
	}
	
	function clignotementSurVide()
	{
		setInterval(function()
		{
			$(".btnClignotement").css('opacity', '0');
			setTimeout(function()
			{
				$(".btnClignotement").css('opacity', '1');
			}, 250);
		}, 1000);
	}
	
	
	$(document).ready(function()
	{
		// $('.kTraduireTexte:not(.kTimeCode)').hide();
		// setTimeout(function()
		// {
		// 	$('.kTraduireTexte:not(.kTimeCode)').show();
		// }, 500);
	});
	
	function jsEndedVideo()
	{
	}
	
	
	
	var intervalVideo = setInterval(function()
	{
		if (typeof(maVideoPrincipale) != 'undefined')
		{
			//$('.loading').hide();
	
			maVideoPrincipale.addEvent('pause', function()
			{
				$('#videoPrincipale').append('<div href="#" class="videoPrincipalePause"><span></span></div>');
				maVideoPrincipale.addEvent('play', function()
				{
					$('.videoPrincipalePause').remove();
				});
				$('.videoPrincipalePause').click(function()
				{
					maVideoPrincipale.play();
				});
			});
	
			maVideoPrincipale.addEvent('ended', function()
			{
				$('.vjs-big-play-button').hide();
				$('.videoPrincipalePause').hide();
			});
	
			if (kAfficherControlesVideo == false)
			{
	
				if ($('#videoPrincipale').attr('width') < '960')
				{
					maVideoPrincipale.controlBar.hide();
				}
			}
			if (typeof(kAfficherControlesVideoPleinEcran) == "undefined")
			{
				var kAfficherControlesVideoPleinEcran = false;
			}
			if (kAfficherControlesVideoPleinEcran == false)
			{
	
				if ($('#videoPrincipale').attr('width') >= '960')
				{
					maVideoPrincipale.controlBar.hide();
				}
			}
			clearInterval(intervalVideo);
	
		}
	}, 500);