﻿	// definition des id de listes
	var ID_VIDEOS_RECENTES = 1;
	var ID_VIDEOS_ACTUALITE = 2;
	
	// nombre maximum de videos dans les listes
	var NB_VIDEOS = 10;
	
	// Titres des videos recentes
	var titreVideosRecentes = "";
	// Titre des selections videos
	var titreVideosSelection = "";

	// id des dossiers
	var idFolderTab = new Array();
	
	// Chargement des items
	function mycarousel_itemLoadCallbackGen(carousel, idListe)
	{
		var jsonFile = DATA_FILE;
		
		// on verifie si le fichier data.json est charge
		if (idFolderTab.length > 0)
		{
			switch (idListe)
			{
				case ID_VIDEOS_RECENTES :
					jsonFile = "./json/folder" + idFolderTab[0] + ".json";
					break;
				case ID_VIDEOS_ACTUALITE :
					jsonFile = "./json/folder" + idFolderTab[1] + ".json";
					break;
				default : // Erreur de lecture
					alert("Erreur de lecture du fichier de configuration");
			}

			// on remplit le contenu de la liste
			jQuery.getJSON(jsonFile + "?" + new Date() * Math.random(), 
				function(data)
				{ 
					mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, idListe, data);
				}
			);
		}
	}
	
	// recuperation des ids des dossiers de l'application
	function getFoldersIds(carousel)
	{
		// on recupere la liste des dossiers de l application
		jQuery.getJSON(DATA_FILE + "?" + new Date() * Math.random(), 
			function(data)
			{
				// verification identification prealable si portail prive
				if (isPrivateAccess(data))
					return;
				// affichage du message d'avertissement
				if (location.href.indexOf('delestage=') > 0)
					jQuery("#delestage").show();
				// redirection vers la page des videos si on passe un identifiant de media en parametre
				if (location.href.indexOf('media=') > 0)
				{
					var url = document.location.href;
					window.location.replace(url.substring(0, url.lastIndexOf("/")) + "/chaines.html?media=" + url.substring(url.indexOf('media=')+6));
				}
				if (idFolderTab.length == 0)
				{
					// renseignement du titre des carousel
					document.getElementById("idVideosRecentes").innerHTML = data.VNPublication.Publication.Folder[(data.VNPublication.Publication.Folder.length-1)].Name;
					document.getElementById("idVideosSelection").innerHTML = data.VNPublication.Publication.Folder[(data.VNPublication.Publication.Folder.length-2)].Name;
					// renseignement des ids des dossiers
					idFolderTab[0] = data.VNPublication.Publication.Folder[(data.VNPublication.Publication.Folder.length-1)].id;
					idFolderTab[1] = data.VNPublication.Publication.Folder[(data.VNPublication.Publication.Folder.length-2)].id;
				}
				// affichage de l'avertissement sur la duree de publication dans le portail Internet
				if (data.VNPublication.Publication.Access == "public")
					jQuery("#avertissement").show();

				mycarousel_itemLoadCallbackGen(carousel, ID_VIDEOS_RECENTES);
			}
		);
	}
	
	// Chargement des items des videos les plus recentes
	function mycarousel_itemLoadCallback(carousel, state)
	{
		if (state != 'init')
			return;

		// recuperation des ids des dossiers de l application
		getFoldersIds (carousel);
	};

	// Chargement des items des videos d'actualite
	function mycarousel2_itemLoadCallback(carousel, state)
	{
		if (state != 'init')
			return;

		mycarousel_itemLoadCallbackGen (carousel, ID_VIDEOS_ACTUALITE);
	}
	
	function mycarousel_itemAddCallback(carousel, first, last, idListe, data)
	{
		var items = getJSONarray(data.Publication.Folder.Media);
		// Tri des videos en ordre antechronologique (avec gestion d un nombre max de videos : NB_VIDEOS)
		triDates(items, NB_VIDEOS, "cmpItemByDates");
		var lg = items.length;

		// Ajout des items dans la colonne correspondante
		for (var i=0; i<lg; i++) {
			carousel.add(i+1, mycarousel_getItemHTML(items[i].id, replaceServerUrl(items[i].Thumbnail), items[i].Name, items[i].Date));
		}

		carousel.size(lg);
		carousel.reload();
		
		// Chargement du contenu de la liste des videos d actualite
		if (idListe == ID_VIDEOS_RECENTES)
		{
 			// Parametrage de la liste des videos d actualite
			var c = null;
			jQuery('#mycarousel2').jcarousel({
			  initCallback: function(carousel) { c = carousel; },
			  itemLoadCallback: mycarousel2_itemLoadCallback,
			  vertical: true,
			  scroll: 1
			});
			jQuery.browser.safari && c.setup();
		}
		else if (idListe == ID_VIDEOS_ACTUALITE)
		{
			// parsing du fichier XML de l editorial
			parseEdito();
		}
	};

	/**
	 * Item html creation helper : format HTML d'un item "Videos les plus recentes".
	 */
	function mycarousel_getItemHTML(id, url, titre, date)
	{
		var aDate = new Date();
		aDate.setTime(date);
		return ('<div>'
					+ '<span class="btnplay"></span>'
					+ '<table class="vignette"><tr><td style="vertical-align:middle">'
					+ '<a href="chaines.html?media=' + id + '">'
						+ '<img src="' + url + '" alt="' + titre + '" title="' + titre + '" border="0" />'
					+ '</a>'
					+ '</td></tr></table>'
					+ '<a href="chaines.html?media=' + id + '" class="title_vignettes" title="' + titre + '" alt="' + titre + '">' 
						+ aDate.getDate() + " " + months[aDate.getMonth()] + " " + aDate.getFullYear() 
					+ '</a>'
				+ '</div>');
	};
	
    function traiteXMLConfig()
	{
		// Insertion du texte de l editorial
		var htmlContent =
			"<b>" + titre + "</b><br><br>"
			+ introduction + "<br><br>";

		for (var k=0;k<listeDiffusion.length;k++)
		{
			htmlContent += "- <b>A " + listeDiffusion[k]["heure"].substr(0,2) + "h" + listeDiffusion[k]["heure"].substr(2,2) + " : " + listeDiffusion[k]["libelle"] + "</b><br/>"
				+ listeDiffusion[k]["sujet"] + "<br/><br/>";
		}
				
		document.getElementById("txtEditorialAccueil").innerHTML = htmlContent;
	}

