/**
* Classe javascript central de Iréso.
*/
var IresoCore = {
homeUrl : null,
//Crée le cookie avec la valeur saisie en paramètre
setCookies : function(params){
for (i = 0 ; i < params.length ; i++){
$.cookie(params[i].key,params[i].value,{
expires : 365
});
}
},
removeCookies : function(params){
for (i = 0 ; i < params.length ; i++){
$.cookie(params[i].key,null);
}
}
};
// =============================
// Initialisation des accordeons
// =============================
$('.accordeon--title').live('click', function(e) {
if($(this).next('.accordeon--content').is(':visible')) {
$(this).next('.accordeon--content').slideUp();
$(this).removeClass('active');
} else {
$(this).next('.accordeon--content').slideDown();
$(this).addClass('active');
}
});
// ==========================
// Initialisation des alertes
// ==========================
$(document).ready(function(){
majAlertes();
});
/**
* Methode permettant d'initialiser les Alertes en lancant le slider.
*/
function initAlertes() {
// S'il n'y a pas d'alertes, cache la div pour ne plus avoir le background
if($('ul[id*=ulAlerte]').is(':empty')) {
$('div.alerte').hide();
} else {
$('div.alerte').show();
}
if ($(".slider ul").children("li").length > 1){
// Modifie le nom pour ne pas attacher l'evenement deux fois
$(".slider ul").append(
"
"
);
$(".slider").easySlider({
vertical : true,
auto: true,
continuous: true,
pause : 3000,
numeric: true
});
}
$(".slider").css("opacity","1");
$(".slider").css("filter","alpha(opacity=100)");
}
/**
* Mise a jour des alertes de facon cyclique. Le temps est indique en millisecondes.
*/
function majAlertes() {
// Mise a jour toutes les 10 minutes
setTimeout(function() {
if($('a.lienMajAlertes')[0]) {
$('a.lienMajAlertes')[0].click();
majAlertes();
}},
10 * 60 * 1000
);
}
// ======
// Divers
// ======
/**
* Fonction permettant de creer un cookie expirant a la fin de la journee.
*
* @param name Le nom du cookie.
* @param value La valeur du cookie.
*/
function setCookieEndDay(name, value) {
var currentDate = new Date();
expirationDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()+1, 0, 0, 0);
$.cookie(name, value, {expires: expirationDate, path : '/'});
}
/**
* Methode permettant d'imprimer le contenu d'un element HTML.
*
* @param id L'id de l'element a imprimer.
*/
function printContent(id){
gauche = window.screen.width/2-400;
haut = window.screen.height/2-300;
str = $('[id*=' + id + ']').html();
newwin = window.open('','printwin','left='+ gauche +',top='+ haut +',scrollbars=yes,width=800,height=600');
newwin.document.open();
newwin.document.write('');
newwin.document.write(str);
newwin.document.close();
newwin.print();
}
/**
* Fonction permettant de recuperer une url complete.
*
* @param href Le morceau d'url a traiter.
* @return L'url complete.
*/
var getLocation = function(href) {
var l = document.createElement("a");
l.href = href;
return l;
};
/**
* Fonction de récupération des paramètres GET de la page.
*
* @return Array Tableau associatif contenant les paramètres GET
*/
function getUrlParams(){
var t = location.search.substring(1).split('&');
var f = [];
for (var i=0; i 0) {
cible = $('li.ireso-menu-active span')[0].innerHTML
+ ' / ';
}
// Page fille courante
if ($('li.ireso-menu-active span').length > 1) {
cible = cible + $('li.ireso-menu-active span')[1].innerHTML
+ ' / ';
}
// Onglet courant
if ($(this).parents('.iresoTab').find('.af_panelTabbed_tab-text-link.p_AFSelected').length > 0) {
cible = cible + $(this).parents('.iresoTab').find('.af_panelTabbed_tab-text-link.p_AFSelected')[0].innerHTML
+ ' / ';
}
// Titre de la liste de documents
if ($(this).parents('.documents').find('.documents-title').length > 0) {
cible = cible + $(this).parents('.documents').find('.documents-title')[0].innerHTML
+ ' / ';
}
// Nom du document
cible = cible + $(this).html();
} else if(rel == 'application') {
cible = $(this).attr('title');
}
// Gestion du type
if(rel != '') {
type = rel;
} else {
type = 'document';
}
var params = {
type : type,
cible : cible
};
// Appel Ajax
$.ajax({
type: "POST",
url: parseURLCtrlState("/Ireso/StatServlet"),
data: params,
async: false
});
e.stopImmediatePropagation();
e.stopPropagation();
}
});
// Gestion du ctrl-state
initLienCtrlState();
// Ajout de la classe ie10 au body si c'est le navigateur utilise pour le cibler en css
if (navigator.userAgent.indexOf("MSIE 10") > -1) {
document.body.classList.add("ie10");
}
});