/**********************************/
/* LA CLASSE EST MAINTENANT AUSSI */
/* UTILISÉE POUR LES COMMUNIQUÉS  */
/* DE PRESSE ET LES ALLOCUTIONS   */
/* DE LA DIRECTRICE GÉNÉRALE.     */
/**********************************/

// Tableau de translation contenant le nom des images pour l'actualité avec leur URL
var liste_images = new Array();
var max_actualites = 0;

// Image "kiosque"
liste_images["kiosque"] = new Array();
liste_images["kiosque"]["OFF"] = new Array();
liste_images["kiosque"]["ON"] = new Array();
liste_images["kiosque"]["OFF"]["PC"] 	= "/siteweb/images/accueil/actu_icons/kiosque_off.jpg";
liste_images["kiosque"]["OFF"]["MAC"] 	= "/siteweb/images/accueil/actu_icons/kiosque_off_ie.gif";
liste_images["kiosque"]["ON"]["PC"] 	= "/siteweb/images/accueil/actu_icons/kiosque_on.jpg";
liste_images["kiosque"]["ON"]["MAC"] 	= "/siteweb/images/accueil/actu_icons/kiosque_on_ie.gif";



// Fait la translation du nom de l'image pour l'URL
// On vérifie aussi si c'est MAC+IE et si on veut l'image OFF ou ON
function getImageURL(nomImage, on_off)
{
	if ( typeof( on_off ) == "undefined" )
		on_off = "OFF";
	
	on_off = on_off.toUpperCase();
	
	// MAC + IE
	if (navigator.userAgent.indexOf("Mac") != -1 && navigator.userAgent.indexOf("MSIE") != -1)
	{
		if (on_off == "ON")
			return this.liste_images[nomImage]["ON"]["MAC"];
		else
			return this.liste_images[nomImage]["OFF"]["MAC"];
	}
	else
	{
		if (on_off == "ON")
			return this.liste_images[nomImage]["ON"]["PC"];
		else
			return this.liste_images[nomImage]["OFF"]["PC"];
	}	
}


// Permet de se créer un tableau (array) de la classe "actualite"
function MakeArrayActualite(nbr)
{  
	// Création d'une table de nbr éléments
	max_actualites = nbr;

   for ( i = 0 ; i < nbr ; i++ )
	{
		this[i]=new actualite;
	}
}


// Définition de la classe "actualite"
function actualite(date, image, titre, description, lien, destination, date_fin, type_actu, type_commu, type_alloc, type_ase)
{
	// Constructeur
	this.date  			= date;			// Contient la date de l'actualité
	this.image 			= image;		// Contient uniquement le nom de l'image (référence à la table "")
	this.titre 			= titre;		// Contient le titre de l'actualité
	this.description	= description;	// Contient la description du communiqué de presse
	this.lien 			= lien;			// Contient le lien de l'actualité
	this.destination 	= destination;	// Contient la destination du lien. Principalement: "_self" ou "_blank"
	this.date_fin		= date_fin+"";	// Contient la date de fin d'affichage de l'actualité
	
	// type_actu, type_commu, type_alloc et type_ase
	// Peuvent contenir ces valeurs : 
	// V (Visible)
	// I (Invisible) => Par défaut
	// A (Archivé)
	this.type_actu		= type_actu+"";
	this.type_commu		= type_commu+"";
	this.type_alloc		= type_alloc+"";
	this.type_ase		= type_ase+"";
	
	this.type_actu		= this.type_actu.toUpperCase();
	this.type_commu		= this.type_commu.toUpperCase();
	this.type_alloc		= this.type_alloc.toUpperCase();
	this.type_ase		= this.type_ase.toUpperCase();
	
	
	// Validation des variables entrées
	if (this.destination == '')	// blank par défaut
		this.destination = '_blank';
		
	if (this.type_actu != 'V' && this.type_actu != 'I' && this.type_actu != 'A')	// I par défaut
		this.type_actu = 'I';
	
	if (this.type_commu != 'V' && this.type_commu != 'I' && this.type_commu != 'A')	// I par défaut
		this.type_commu = 'I';
	
	if (this.type_alloc != 'V' && this.type_alloc != 'I' && this.type_alloc != 'A')	// I par défaut
		this.type_alloc = 'I';
	
	if (this.type_ase != 'V' && this.type_ase != 'I' && this.type_ase != 'A')	// I par défaut
		this.type_ase = 'I';
	
	
	if (this.date_fin != '')
	{
		var Today = new Date();
		var ActuDate = new Date();
		
		y = this.date_fin.substr(6);
		m = this.date_fin.substr(3,2);
		d = this.date_fin.substr(0,2);
		
		ActuDate.setFullYear(y,(m-1),d);
		
		
		// Si la date de fin est dépassée, on enlève l'affichage (si elle à "Visible")
		if (Today > ActuDate)
		{
			if (this.type_actu == "V")
				this.type_actu = 'A';
			if (this.type_commu == "V")
				this.type_commu = 'A';
			if (this.type_alloc == "V")
				this.type_alloc = 'A';
			if (this.type_ase == "V")
				this.type_ase = 'A';
		}
	}
	
	
	// Fonction "debug"
	// Affiche toutes les données pour aider à déboguer
	this.debug=function()
	{ 
		with (this);
		document.write
		(
		 	'<P>' +
			'<b>Date : </b>' +date+ '<BR>' +
			'<b>Date de fin : </b>' +date_fin+ '<BR>' +
			'<b>Nom image : </b>'+image+ '<BR>' +
			'<b>URL image : </b>'+getImageURL(image,"OFF")+ '<BR>' +
			'<b>Titre : </b>' +titre+ '<BR>' +
			'<b>Description : </b>' +description+ '<BR>' +
			'<b>Lien : </b>' +lien+ '<BR>' +
			'<b>Destination : </b>' +destination+ '<BR>' +
			'<b>Type actualité : </b>' +type_actu+ '<BR>' +
			'<b>Type communiqué : </b>' +type_commu+ '<BR>' +
			'<b>Type allocution : </b>' +type_alloc+ '<P>' +
			'<b>Type ASE : </b>' +type_ase+ '<P>'
		);
	}
	
	// Retourne vrai ou faux selon l'actualité est archivée
	/*this.isArchive=function()
	{ 
		return this.archive;
	}
	*/
	
	this.add = actualite;	// Pour pouvoir utiliser actualites.add();

} // Fin du constructeur
