/* Cub & Cités : scripts gérant le dynamisme d'ouverture-fermeture des sections
   (sections de gauche et de droite ainsi que le bureau en ligne) */

/* Fonction qui sauvegarde un cookie
   Si expiration n'existe pas, le cookie ne fonctionne que pendant la session sur le site
   Pour supprimer un cookie, il faut mettre expiration à 0
   Exemple : cub_savecookie("count", 10, (new Date(2010, 12).getTime())); */
function cub_savecookie(nom, valeur, expiration) {
	if (expiration != undefined && expiration != "") {
		var timestamp = new Date(expiration);
		document.cookie = nom + "=" + escape(valeur) + "; expires=" + timestamp.toGMTString();
	} else {
		document.cookie = nom + "=" + escape(valeur) + "; expires=";
	}
}

/* Fonction qui récupère les données d'un cookie
   Renvoie undefined si le cookie n'est pas défini */
function cub_recupcookie(nom) {
	var cookies = document.cookie.split(/;/);
	for(var i=0;i<=cookies.length - 1;i++) {
		var cook = cookies[i].split(/=/);
		//Suppression des espaces avant et après le nom du cookie
		cook[0] = cook[0].replace(/(^\s*)|(\s*$)/g,"");
		if (cook[0] == nom) {
			return unescape(cook[1]);
		}
	}
	return '';
}

/* Affiche les liens de niveau 2 après clic sur un lien niveau 1 */
function cub_sectiongauche_deplieniveau1(obj, $idnoeudsitemap) {
	/* Cache les autres sous-menus */
	jQuery(".cub_sectiongauche_contenu_niveau2").slideUp('slow');
	jQuery(".cub_sectiondroite_contenu_niveau2").slideUp('slow');
	
	/* Supprime la classe sur les li parents */
	jQuery(".cub_sectiongauche_contenu_niveau1_ouvert").attr('class', '');
	
	if (obj != '') {
		/* Modifie le style du li parent */
		jQuery(obj).parent().attr('class', 'cub_sectiongauche_contenu_niveau1_ouvert');
		
		/* Affiche les sous-liens */
		jQuery(obj).parent().find("ul").slideDown('slow');
		
		/* Créé un cookie valable pendant la session pour garder ouverte la dernière entrée cliquée */
		/* Supprime l'ancien noeud qui avait l'identifiant ouvert */
		jQuery("#cub_sectiongauche_lienouvert").attr('id', '');
		cub_savecookie('cub_sectiongauche_lienouvert', $idnoeudsitemap);
	} else {
		/* Le noeud est de type url et n'a pas de sous-liens */
		/* Créé un cookie valable pendant la session pour garder ouverte la dernière entrée cliquée */
		/* Supprime l'ancien noeud qui avait l'identifiant ouvert */
		jQuery("#cub_sectiongauche_lienouvert").attr('id', '');
		cub_savecookie('cub_sectiongauche_lienouvert', $idnoeudsitemap);
	}
}

/* Affiche les liens de niveau 2 après clic sur un lien niveau 1 */
function cub_sectiondroite_deplieniveau1(obj, $idnoeudsitemap) {
	/* Cache les autres sous-menus */
	jQuery(".cub_sectiondroite_contenu_niveau2").slideUp('slow');
	jQuery(".cub_sectiongauche_contenu_niveau2").slideUp('slow');
	
	/* Supprime la classe sur les li parents */
	jQuery(".cub_sectiondroite_contenu_niveau1_ouvert").attr('class', '');
	
	if (obj != '') {
		/* Modifie le style du li parent */
		jQuery(obj).parent().attr('class', 'cub_sectiondroite_contenu_niveau1_ouvert');
		
		/* Affiche les sous-liens */
		jQuery(obj).parent().find("ul").slideDown('slow');
		
		/* Créé un cookie valable pendant la session pour garder ouverte la dernière entrée cliquée */
		/* Supprime l'ancien noeud qui avait l'identifiant ouvert */
		jQuery("#cub_sectiongauche_lienouvert").attr('id', '');
		cub_savecookie('cub_sectiongauche_lienouvert', $idnoeudsitemap);
	} else {
		/* Le noeud est de type url et n'a pas de sous-liens */
		/* Créé un cookie valable pendant la session pour garder ouverte la dernière entrée cliquée */
		/* Supprime l'ancien noeud qui avait l'identifiant ouvert */
		jQuery("#cub_sectiongauche_lienouvert").attr('id', '');
		cub_savecookie('cub_sectiongauche_lienouvert', $idnoeudsitemap);
	}
}

/* 
 * Sauvegarde l'id du noeud sitemap où se situe les entrées du bureau en ligne. On sépare la fonction qui sauvegarde
 * le cookie cub_bureauenligne afin que la fonction puisse être appelée par le module PersonalSpace
 */
function cub_sauvegardeidnoeudsitemapbureauenligne($nb) {
	if ($nb != '' || $nb != undefined) {
		cub_savecookie('cub_bureauenligne_idnoeudsitemap', $nb);
	}
}

/* Ajoute un cookie permettant d'afficher le menu du bureau en ligne */
function cub_ouvrebureauenligne() {
	cub_savecookie('cub_bureauenligne', 1);
}

/* Supprime le cookie afin de revenir dans le portail avec les sections */
function cub_fermebureauenligne() {
	cub_savecookie('cub_bureauenligne', '', 0);
	cub_savecookie('cub_bureauenligne_idnoeudsitemap', '', 0);
}

/* Dès que le DOM est chargé */
jQuery(document).ready( function() {
	
	/* Affiche ou cache la section Administration */
	if (cub_recupcookie("cub_sectionadmin") != 1 && cub_recupcookie("cub_sectionadmin") != 2) {
		/* Cache la section Administration si aucun cookie */
		jQuery("#cub_sectionadmin_contenu").hide();
	} else {
		switch(cub_recupcookie("cub_sectionadmin")) {
			case '1':
				/* La section doit être affichée */
				jQuery("#cub_sectionadmin_contenu").show();
				break;
			case '2':
				/* La section doit être cachée */
				jQuery("#cub_sectionadmin_contenu").hide();
				break;	
		}
	}
	
	/* Ajoute l'évenement pour afficher ou cacher la section Administration au clic sur le titre */
	jQuery("#cub_sectionadmin_titre").click( function() {
		if (cub_recupcookie("cub_sectionadmin") != 1 && cub_recupcookie("cub_sectionadmin") != 2) {
			/* Cookie vaut 1 : on affiche la section */
			cub_savecookie("cub_sectionadmin", 1, (new Date(2030, 12).getTime()));
			jQuery("#cub_sectionadmin_contenu").slideDown('slow');
		} else {
			switch(cub_recupcookie("cub_sectionadmin")) {
				case '1':
					/* Cookie vaut 2 : on cache la section */
					cub_savecookie("cub_sectionadmin", 2, (new Date(2030, 12).getTime()));
					jQuery("#cub_sectionadmin_contenu").slideUp('slow');
					break;
				case '2':
					/* Cookie vaut 1 : on affiche la section */
					cub_savecookie("cub_sectionadmin", 1, (new Date(2030, 12).getTime()));
					jQuery("#cub_sectionadmin_contenu").slideDown('slow');
					break;	
			}
		}
	});
	
	/* Cache les sous-menus dans les sections de gauche */
	jQuery(".cub_sectiongauche_contenu_niveau2").hide();
	
	/* Cache les sous-menus dans les sections de droite */
	jQuery(".cub_sectiondroite_contenu_niveau2").hide();
	
	/* Affiche le dernier lien ouvert (enregistré par cookie) */
	jQuery("#cub_sectiongauche_lienouvert").show();
	/* Modifie le style du li parent */
	jQuery(".cub_sectiongauche #cub_sectiongauche_lienouvert").parent().attr('class', 'cub_sectiongauche_contenu_niveau1_ouvert');
	jQuery(".cub_sectiondroite #cub_sectiongauche_lienouvert").parent().attr('class', 'cub_sectiondroite_contenu_niveau1_ouvert');
	
	/* Vérifie si on se trouve dans le bureau en ligne
	   Si c'est le cas, on supprime les sections de gauche et de droite, on étire le corps,
	   on supprime le formulaire de recherche et on ajoute sous le bandeau un liseret */
	var cub_bureauenlignecookie = cub_recupcookie('cub_bureauenligne');
	if (cub_bureauenlignecookie == 1) {
		jQuery("#tdleftcontent").hide();
		jQuery("#tdleftcontent2").hide();
		jQuery("#tdrightcontent").hide();
		jQuery("#tdrightcontent2").hide();
		jQuery("#cub_recherchetr").hide();
	}
});

/* Dès que la page est chargée */
jQuery(window).load( function() {	
	
});

