// -*- java -*-

// Pour deboguer facilement, enlever le commentaire
var mode_debug = false; // Pour deboguer mettre true

// Fonctions d'acces aux modules

function theModule(name, url) {
    this.name = name;
    this.url = url;
}

if (typeof window.classeur == 'undefined') {
    window.classeur = new Array();
}

//sert a mettre les reponses a une question altavista dans le classeur
function toutClasseur(lesliens) {
    var machaine ="http://www.inria.fr/rapportsactivite/RA2004/"; // a modifier chaque annee!!!
    var mavariable = "";
    for (var i=0; i < lesliens.length; i++) {
	mavariable  = ""+lesliens[i];
	if (mavariable.indexOf(machaine)!=-1){
	    var Module=mavariable.substring(44,mavariable.length -5);
	    InClasseur(Module);
	}
    }
}

function InClasseur() {
    var module = (InClasseur.arguments.length == 1) ? InClasseur.arguments[0] :  "vide";
    var leclasseur = getCookie("leclasseur");
    alerte ("Debug: " + module + " ---- " + leclasseur);

    if (leclasseur != null && leclasseur != "") {
	// Le Classeur n'est pas vide
	if (leclasseur.indexOf(module) == -1)
	    // Si le module n'est pas dans le Classeur on l'ajoute
	    leclasseur = leclasseur + '+' + module;
    } else {
	leclasseur = module;
    }
    setCookie("leclasseur", leclasseur);
    // Test si les cookies sont actifs: apres avoir positionne le cookie...
    if (!getCookie("leclasseur")) {
        alert("Vous devez autoriser les cookies, pour utiliser le classeur !");
    }
    alerte('Le module (' + module + ') est dans le classeur !');

    window.location.reload();
}

function isInClasseur() {
    var isIn = false;
    var module = (isInClasseur.arguments.length == 1) ? isInClasseur.arguments[0] :  moduleName()
	var leclasseur = getCookie("leclasseur");
    if (leclasseur != null && leclasseur != "") {  // Le Classeur n'est pas vide
	isIn = (leclasseur.indexOf(module) != -1);  // Si le module n'est pas dans le Classeur
    }
    return isIn;
}

function multInClasseur() {
    for (var i=0; i < multInClasseur.arguments.length; i++) {
	InClasseur( multInClasseur.arguments[i]);
    }
}


function OutClasseur() {
    var module = (OutClasseur.arguments.length == 1) ? OutClasseur.arguments[0] :  moduleName();
    var leclasseur = getCookie("leclasseur");
    index = leclasseur.indexOf(module);
    if (index == -1) {
	alerte("Le module "+module+" n'etait pas dans le Classeur !");
    } else {
	var endstr = leclasseur.indexOf("+",index);
	if ( index == 0 ) {
	    alerte("Module au debut");
	    leclasseur = (endstr == -1) ? '' :  leclasseur.substring(endstr+1, leclasseur.length);
	} else {
	    if (endstr == -1) {
		alerte("Module a la fin");
		leclasseur = leclasseur.substring(0,index-1)
		    } else {
			alerte("Module au milieu");
			leclasseur = leclasseur.substring(0,index-1) + leclasseur.substring(endstr, leclasseur.length);
		    }
	}
	if (leclasseur.length == 0) {
	    deleteCookie("leclasseur");
	} else {
	    setCookie("leclasseur", leclasseur);
	}
	alerte("Le module "+module+" n'est plus dans le classeur !");
    }
    window.location.reload();
}

function allInClasseur() {
    for (var i=0; i < lesModules.length; i++) {
	var nom = leProjet + '/' + lesModules[i];
	InClasseur(nom);
	setImage(lesModules[i], "../icons/moins.gif");
    }
}

function setImage(nom, image) {
    for (var i=0; i < document.images.length; i++) {
	if (document.images[i].name == nom) {
	    document.images[i].src = image;
	}
    }
}

function moduleName() {
    // Retrouve le nom du module a partir de l'URL du document courant
    var url = document.URL;
    var index = -1;
    var indprojet = -1;
    var slash = -1;
    do {
	// Recherche du couple projet/module
        indprojet = index;
	index = slash + 1;
        slash =  url.indexOf("/", index);
    } while (slash != -1) ;
    var endstr = url.indexOf(".html", index);
    return url.substring(indprojet, endstr);
}

// Initialisation des tableaux associatifs
function partieName() {
    this.compo = "Team";
    this.prese = "Pr&eacute;sentation et objectifs g&eacute;n&eacute;raux";
    this.fonde = "Fondements scientifiques";
    this.domai = "Domaines d'applications";
    this.logic = "Logiciels";
    this.resul = "R&eacute;sultats nouveaux";
    this.contr = "Contrats industriels (nationaux, europ&eacute;ens et internationaux)";
    this.inter = "Actions r&eacute;gionales, nationales et internationales";
    this.diffu = "Diffusion de r&eacute;sultats";
}

var PartieLabel = new partieName();

// Original JavaScript code by Duncan Crombie: dcrombie@chirp.com.au
// Please acknowledge use of this code by including this header.

var bikky = ( (document.cookie == 'undefined') ? "" : document.cookie);

function getCookie(name) {
    // use: getCookie("name");

    var index = bikky.indexOf(name + "=");
    if (index == -1) return null;
    index = bikky.indexOf("=", index) + 1; // first character
    var endstr = bikky.indexOf(";", index);
    if (endstr == -1) endstr = bikky.length; // last character
    return unescape(bikky.substring(index, endstr));
}

var today = new Date();
var expiry = new Date(today.getTime() + 28 * 24 * 60 * 60 * 1000); // plus 28 days
var expired = new Date(today.getTime() - 28 * 24 * 60 * 60 * 1000); // less 28 days

function setCookie(name, value) {
    // use: setCookie("name", value);
    if (value != null && value != "")
	document.cookie=name + "=" + escape(value) + "; path=/; expires=" + expiry.toGMTString();
    bikky = document.cookie; // update bikky
}


function deleteCookie(name) {
    // use: deleteCookie("name");
    document.cookie=name + "=null; path=/; expires=" + expired.toGMTString(); // delete cookie
    bikky = document.cookie; // update bikky
}

// Fonctions utilitaires diverses

function alerte(texte) {
    // Affiche un message d'alerte, quand on est mode debug
    if (mode_debug) {
	alert(texte);
    }

}
