// En cours : *****

// Révision PR du 06/02/12 : intro de chainesAsuppr ; ajout de qqs servExt
// Révision PR du 09/01/12 : Tableaux (servEqiv, servExt, rub_T...) gérés par liste _XiTiMarquageCommun-S2.xls
// Révision PR du 08/12/11 : désactivation du marquage sur S2 non trouvé ; Alt vide pour l'image XiTi
// Révision PR du 09/11/11 : Nouveaux S2 et double marquage
// educnet.js harmonisé v-2.0 - P.Robin juillet 2006

// Déclaration des variables globales ==================================================
// les valeurs des tous les tableaux de chaînes doivent être en minuscules

// Variables communes tous marquages : typesMarquage, rub_T, xtn2_T 
var typesMarquage = 'NS'; // Types de marquages
var i=0,j=0;

var rub_T=new Array(typesMarquage.length);  // Rubriques pour chaque type de marquage <<<<<
var xtn2_T=new Array(typesMarquage.length);  // Paramètres de chaque marquage 
var servExt=new Array(typesMarquage.length); // Serveurs externes
for (i=0;i<typesMarquage.length;i+=1) {
  rub_T[i]=new Array();
  servExt[i]=new Array();
  xtn2_T[i]=new Array(4); // Nb de paramètres <<<<<
  for (j=0;j<4;j+=1) {xtn2_T[i][j]='';}
}
// Chaînes à supprimer, attention à l'ordre ! Si étoile, car d'arrêt non supprimé
var chainesAsuppr=['&feuilleCSS=*&','?feuilleCSS=*&','index.html','default.html','index.htm','default.htm']

// servEquiv, équivalences noms domaines S ou N : code impair = nom serveur (www), remplacé par code pair sans www. Doublons possibles.
var servEquiv=[
'www.eduscol.education.fr','eduscol.education.fr',
'wwwplone.educnet.education.fr','eduscol.education.fr',
'www2.educnet.education.fr','eduscol.education.fr',
'tice.education.fr','eduscol.education.fr',
'160.92.130.144','eduscol.education.fr',
'www.primtice.education.fr','primtice.education.fr',
'www.culturesciencesphysique.ens-lyon.fr','culturesciencesphysique.ens-lyon.fr',
'www.educationprioritaire.education.fr','educationprioritaire.education.fr',
'www.musagora.education.fr','musagora.education.fr',
'www.ecolepourtous.education.fr','ecolepourtous.education.fr',
'www.ressources-stages-langues.education.fr','ressources-stages-langues.education.fr',
'www.cnraa.fr','cnraa.fr',
'www.crdp.ac-paris.fr','crdp.ac-paris.fr'
];

// Equivalences Rubriques: code impair -> code pair
var equivalences = ['actualites','actu' , 'actua','actu' , 'juri','legamedia' , 'priorites','ressources' , 'math','maths' , 'res','contenus' , 'equip','services' , 'inter','international' , 'annuaires','annuaire' , 'tech','technique' , 'guide','infosite' , 'biotic','bio' , 'primticebase','primaire' , 'acous','musique' , 'cinemaav','cinema' , 'arpl','arts' , 'eng','en' , 'esp','es' , 'lv','langues'];
// Cas particuliers: bases www/bd/urtic/documentation et www/bd/urtic/lv, exceptions traitées pour ce seul serveur

// Définition des Paramètres de chaque marquage ====================================

// Marquage N  xtn2_T[0]  "Éducnet" ------ VALEURS SPECIFIQUES ------ <<<<<
xtn2_T[0][0]='32109';	xtn2_T[0][1]='xtn2';	xtn2_T[0][2]='xtpageEducnet'; xtn2_T[0][3]='chapitre+nomServ+urlPage';

// servExt: serveurs externes considérés comme S2 : nom serveur, N° de S2.
servExt[0]=[
'education.meteofrance.com','13',
'www.primtice.education.fr','18',
'musagora.education.fr','41'
]

// Rubriques N. NB: le marquage Plone ne repose pas sur les valeurs des tableaux "rub" : veiller à la cohérence !
rub_T[0][11]='louvre'; 
rub_T[0][14]='musique'; 
rub_T[0][15]='obter'; 
rub_T[0][19]='rnchimie'; 
rub_T[0][28]='stat-apprendre'; 
rub_T[0][37]='orbito'; 
rub_T[0][40]='localisation'; 
rub_T[0][42]='nenuphar'; 
rub_T[0][45]='planeto'; 
rub_T[0][46]='canal-educnet'; 
rub_T[0][52]='espace'; 
rub_T[0][57]='chrgt'; 
rub_T[0][58]='archives'; 
rub_T[0][62]='aiedu'; 
rub_T[0][64]='clipperton'; 
rub_T[0][66]='education-developpement-durable'; 
rub_T[0][75]='cinema'; 

//	Marquage S. xtn2_T[1] "ÉduScol" ------ VALEURS SPECIFIQUES ------
xtn2_T[1][0]='49434';	xtn2_T[1][1]='xtn2';	xtn2_T[1][2]='xtpageEduScol'; xtn2_T[1][3]='protocole+nomServ+urlPage';

// servExt: serveurs extérieurs : nom de domaine, s2
servExt[1]=[
'educationprioritaire.education.fr','22',
'education.meteofrance.com','74',
'ecolepourtous.education.fr','103',
'www.b2i.education.fr','104',
'primtice.education.fr','105',
'ressources-stages-langues.education.fr','109',
'cnraa.fr','110',
'national.pairformance.education.fr','111',
'pnf-lettres.crdp.ac-versailles.fr','112',
'crdp.ac-paris.fr','113',
'respire-education.fr','114',
'reseau-internats-excellence','115',
'prix_national_lyceen_cinema','116',
'oape.adc.education.fr','117'
]

// Rubriques S
rub_T[1][26]='culturemath';
rub_T[1][52]='espace';
rub_T[1][53]='localisation';
rub_T[1][54]='planeto';
rub_T[1][56]='nenuphar';
rub_T[1][57]='chrgt';
rub_T[1][58]='archives';
rub_T[1][59]='obter';
rub_T[1][60]='orbito';
rub_T[1][62]='aiedu';
rub_T[1][64]='clipperton';
rub_T[1][66]='education-developpement-durable';
rub_T[1][70]='canal-educnet';
rub_T[1][75]='cinema';
rub_T[1][76]='louvre';
rub_T[1][79]='musique';
rub_T[1][94]='rnchimie';
rub_T[1][100]='experitheque';
rub_T[1][101]='plan-numerique';
rub_T[1][102]='entrer-dans-le-metier';
rub_T[1][106]='internet-responsable';
rub_T[1][107]='education-securite-routiere';
rub_T[1][108]='tenue-de-classe';
rub_T[1][177]='arts-plastiques';
rub_T[1][178]='histoire-des-arts';
rub_T[1][179]='portail_disciplinaire_musique';
rub_T[1][185]='histoire-geographie';
rub_T[1][195]='svt';

// CHAPITRES: valeur paire = chaîne recherchée (avec slash si ambigü), valeur impaire = nom du chapitre
// On peut "empiler" jusqu'à 3 chapitres ; l'ordre est hiérarchique (le 1er chap. trouvé englobe le 2e).
var chapitres = ['bd/urtic','bases' , 'cartable_view','OuvertureCartable' , '/rip','rip' , 'b2i','b2i' , 'ticedu','ticedu','tic-edu','ticedu','tic_edu','ticedu' , '/tpe','TPE' , '/ent','ENT' , 'melticedu','MelTicEdu'];
// Ne pas créer de chapitre "documentation" (contradiction au niveau des bases)

// REDIRECTIONS: valeur du paramètre utilisé pour l'adresse de redirection *****
var redirections = ['melticedu','redir'];
// ATTENTION pour générer un chapitre dans les stats le même paramètre doit être présent dans le tableau des chapitres

// Fin variables Educnet ---------

// Variables XiTi ==========================
var xtpage= '';		//	nom de page pour XiTi 
xtnv = document;           //affiliation frameset : document, parent.document ou top.document
xtsd = "http://logp";
xtsite = 0;
//xtn2 = "5";           //utiliser le numero du niveau 2 dans lequel vous souhaitez ranger la page
//xtpage = "";             //placer un libellé de page pour les rapports Xiti
xtdmc = "";           //Domaine cookie en ".monsite.fr" (optionnel)
xtprm = "";           //Paramètres supplémentaires (optionnel)
// Variables XiTi de la partie 2
var xtdr = 30;
var xw = window;
var xd = document;

// Fin variables XiTi ----------------

// Fonctions de xiti.js ------------------------------------------------------------------------

function Getxtorcookie(nom)
{	var arg = nom + "=";
	var i = 0 ;
	while (i<xd.cookie.length)
	{var j = i + arg.length;if (xd.cookie.substring(i,j) == arg) {return valeurxtorcook(j);}
	i = xd.cookie.indexOf(" ",i) + 1;if (i==0) {break;}	}
	return null;}

function valeurxtorcook(index)
{var fin = xd.cookie.indexOf(";",index);
if (fin==-1) {fin=xd.cookie.length;};
return unescape(xd.cookie.substring(index,fin));}
	
function recupxtor(param)
{
	var xturl = xtnv.location.search.toLowerCase().replace(/%3d/g,'=');
	xtpos = xturl.indexOf(param+"=");
	if (xtpos > 0)
	{chq = xturl.substring(1, xturl.length);mq = chq.substring(chq.indexOf(param+"="), chq.length);pos3 = mq.indexOf("&");
		if (pos3 == -1) pos3 = mq.indexOf("%26")
		if (pos3 == -1) pos3 = mq.length;
		return mq.substring(mq.indexOf("=")+1, pos3);}
	else {	return null; }
}

function p(type,section,page,x1,x2,x3,x4,x5)
{
	xt_img = new Image();
	var xtdmed = new Date();
	xt_ajout = (type=="F") ? "" : (type=="M") ? "&a="+x1+"&m1="+x2+"&m2="+x3+"&m3="+x4+"&m4="+x5 : "&clic="+x1;
	Xt_im = xtsd+'.xiti.com/hit.xiti?s='+xtsite+'&s2='+section;
	Xt_im += '&p='+page+xt_ajout+'&hl=' + xtdmed.getHours() + 'x' + xtdmed.getMinutes() + 'x' + xtdmed.getSeconds();
	if(parseFloat(navigator.appVersion)>=4)
	{Xt_im += '&r=' + xts.width + 'x' + xts.height + 'x' + xts.pixelDepth + 'x' + xts.colorDepth;}
	xt_img.src = Xt_im;
	if ((x2 != null)&&(x2!=undefined)&&(type=="C"))
	{ if ((x3=='')||(x3==null)) { document.location = x2} else {xfen = window.open(x2,'xfen',''); xfen.focus();}}
	else	{return;}
}
// Fin fonctions de xiti.js ---------------------------------------------------------------------

function urlXiti(chaine) {
// Filtre les caractères diacritiques dans une référence XiTi
// chaine = chaine.toLowerCase();
chaine=chaine.replace(/[éêèë]/g,"e");
chaine=chaine.replace(/[îï]/g,"i");
chaine=chaine.replace(/[àâ]/g,"a");
chaine=chaine.replace(/[ùüû]/g,"u");
chaine=chaine.replace(/[ "']/g,"_");
//chaine = chaine.replace(/[^a-z,0-9]/g, "_");
return chaine;
}

function affiche_tableau(tableau) { // Affichage du contenu d'un tableau pour vérification
for(i=0; i<tableau.length; i+=1) {
  for (j=0; j<tableau[i].length; j+=1)
	document.write('<br>',i,j,':',tableau[i][j]);
	}
return;
}

// Fonction principale : définit xtn2_T[n][1] = S2 ou 2000 pour marquage désactivé, xtn2_T[n][2]=URL. ===================
// Si le titre d'une page est 'page de redirection', marquage N seul et ajout '/renvoiAuto' à urlPage
function niveau2_SN()  {

// Déclarations
var chaine='';	//	Chaîne de l'URL à analyser, et nom de rubrique en sortie d'analyse
var protocole='';
var position=0;	//	position de la chaîne recherchée
var nomServ='';
var chapitre='';
var n=0, i=0, j=0;	//	Comptages
var chaineTemporaire='';

chaine=urlXiti(location.href);	// URL courante et filtrage

position=chaine.indexOf('://');	// Extraction Protocole
if (position != -1) {
protocole=chaine.slice(0,position+3);
chaine=chaine.slice(position+3);}

// Séparation nom serveur/chemin d'accès ===========================================================
position=chaine.indexOf("/");
if (position != -1) {
	nomServ=chaine.slice(0,position);	// Nom du serveur, sans slash
	chaine=chaine.slice(position);		// Chemin à analyser, avec slash au début
}
else {
	nomServ=chaine;
	chaine="";
}

/* Désactivation serveurs préprod
if (nomServ.indexOf('test') != -1) {
  for(i=0; i<xtn2_T.length; i+=1) {xtn2_T[i][1]= 2000; }
  return;
} */

// Équivalences serveurs (IP, abs www...)
for(i=0; i<servEquiv.length; i+=2) {
	if(servEquiv[i] == nomServ) {
		nomServ = servEquiv[i+1];
		break;
	}
}

// Traitement chemin d'accès: toujours préserver le slash initial =============================

position=chaine.indexOf('//');		// Présence double-slash ?
while (position != -1) {
	chaine=chaine.slice(0,position) + chaine.slice(position+1);
	position=chaine.indexOf('//');
}

for(i=0; i<chainesAsuppr.length; i+=1){ // Chaînes à supprimer de l'URL ----- 
  n=chainesAsuppr[i].indexOf('*');  // Présence *
  if (n!=-1){
    chaineTemporaire=chainesAsuppr[i].slice(n+1); // Fin chaîne à suppr
    chainesAsuppr[i]=chainesAsuppr[i].slice(0,n-1); // Début chaîne à suppr
  }
  position=chaine.indexOf(chainesAsuppr[i]); 
  if (position!=-1){
    chaine=chaine.slice(0,position)+chaine.slice(position+chainesAsuppr[i].length); // Suppression début de chaîne
    if (n!=-1){ // Suppression fin de chaîne si *
      n=chaine.indexOf(chaineTemporaire);
      if(n!=-1){
        chaine=chaine.slice(0,position)+chaine.slice(n);
      }
      else{chaine=chaine.slice(0,position);}
    }
  }  
}

n=chaine.length-1 // Suppression slash terminal
if (chaine.charAt(n)=='/'){
	chaine=chaine.slice(0,n);
	}

if (document.title.toLowerCase()=='page de redirection'){ // Page de redirection
	chaine=chaine + '/renvoiAuto';
}

n=0; // Serveurs externes
for(i=0;i<servExt.length;i+=1){ 
  for(j=0;j<servExt[i].length;j+=2) {
// document.write('<br/>',servExt.length,' ',servExt[i].length,' ',nomServ,' ',i,' ',j,' ',servExt[i][j],servExt[i][j+1]);
  	if (nomServ==servExt[i][j]) {
  		xtn2_T[i][1]=servExt[i][j+1];
  		urlPage=chaine;xtn2_T[i][2]=eval(xtn2_T[i][3]);
  		n=1;continue; 
  	}
  }
}
if(n==1) return;

if (typesMarquage.indexOf('N')!=-1) {// Suppression de /educnet/ et de /sections/ TRES ANCIENNES URL ------ VALEURS SPECIFIQUES ------
  if (nomServ.indexOf('www2.')!=-1){
  	position=chaine.indexOf('/sections/');
  	if (position!=-1) {
  		chaine=chaine.slice(0,position+1)+chaine.slice(position+10);
  	}
  	position=chaine.indexOf('/educnet/');
  	if (position!=-1) {
  		chaine=chaine.slice(0,position+1)+chaine.slice(position+9);
  	}
  }
}

if (chaine=='/renvoiAuto') { // Page redir *****
// switch(nomServ) {
// 	case 'www2.c2i.education.fr':
// 		chaine='/accueil';
// 		break;
// 	default :
	 xtn2_T[0][1]="5"; xtn2_T[1][1]="5";
	 xtn2_T[0][2]='redir::'+nomServ;
	 return;
}

urlPage=chaine;	// On réserve chaine dans urlPage ----------------------
chaine=chaine.toLowerCase(); // !! chaine, S2, chapitres, en minuscules !

// CHAPITRES, en minuscules, sur présence chaîne (sont aussi attribués sur le nom de rubrique)
chapitre='';
n=0;
for(i=0;i<chapitres.length && n<3; i+=2) {
	position=chaine.indexOf(chapitres[i]);
	if(position!=-1 && chapitre.indexOf(chapitres[i+1])==-1) {
		chapitre=chapitre += chapitres[i+1] + '::';
		n++;
	}
}

// Nom de RUBRIQUE et S2 - ne concerne que /XXXX/ ================================

// Bases de Données : on enlève /bd et éventuellement /bd/urtic, et on corrige la discipline
if (typesMarquage.indexOf('N') != -1) {
  	position=chaine.indexOf('/bd/');
  if (position != -1) {
  	chaine=chaine.slice(position+3);
  	position=chaine.indexOf('/urtic/');
  	if (position != -1) {
  		chaine=chaine.slice(position+6);
  		position=chaine.indexOf('/documentation');	// Cas particulier de la base DOCUMENTATION - > S2 CDI
  		if (position != -1) {
  			chaine=chaine.slice(0,position+1) + 'cdi' + chaine.slice(position+14);
  		}
  		position=chaine.indexOf('/lv');	// Cas particulier de la base LV - > S2 LANGUES
  		if (position != -1) {
  			chaine=chaine.slice(0,position+1) + 'langues' + chaine.slice(position+3);
  		}
  	}
  }
}

chaine=chaine.slice(1);		// On enlève le slash initial
position=chaine.indexOf("/");
if(position != -1) {
	chaine=chaine.slice(0,position);	// On limite chaine à la chaîne jusqu'au prochain slash s'il existe
}

// EQUIVALENCES: remplace nom de rubrique courant par un nom reconnu dans "rubriques"
for(i=0; i<equivalences.length; i+=2) {
	if(chaine == equivalences[i]) {
		chaine = equivalences[i+1];
// document.write('<br>Remplacement de la rubrique ' ',equivalences[i],' par ',chaine);
		break;
	}
}

// Repérage numéro S2 dans le tableau -------------------------------
xtn2_T[0][1]=0;xtn2_T[1][1]=0;

for(i=0; i<rub_T.length; i+=1) {   // Rubriques
  for(j=0; j<rub_T[i].length; j+=1) {  
  	if(chaine == rub_T[i][j]) {
  		xtn2_T[i][1] = j;
  		break;
  	}
  }
  if(xtn2_T[i][1]==0) xtn2_T[i][1] = 2000 ; // Désactivation des rubriques non repérées en S2
}

// En sortie : xtn2_T[n][1]=niveaux2, xtn2_T[n][2]=URL de page sans protocole
for(i=0; i<xtn2_T.length; i+=1) {xtn2_T[i][2]=eval(xtn2_T[i][3]);} // Remplissage du xtn2_T -----------
return;
}


// Procédure de marquage XiTi, appelée par les pages HTML ============================
function marque()  {
niveau2_SN(); // Appel fonction de définition des contenus des marquages
for(boucle=0; boucle<xtn2_T.length; boucle+=1) { // La fonction entière est exécutée autant de fois que de types de marquage -----------
                           
if (xtn2_T[boucle][0]=='' || xtn2_T[boucle][1]=='xtn2' || xtn2_T[boucle][1]==2000) continue; // Pas de marquage;

xtsite = xtn2_T[boucle][0];
xtn2   = xtn2_T[boucle][1];
xtpage = xtn2_T[boucle][2];

// Partie 2 de xiti.js ------------------------------------------------------------------------
xtdmc = (xw.xtdmc!=null) ? ";domain=" + xw.xtdmc  : "" ;
xtnv = (xw.xtnv!=null) ? xw.xtnv : xd ;
xtsd = (xw.xtsd!=null) ? xw.xtsd : "http://www" ;
xtsite = (xw.xtsite!=null) ? xw.xtsite : 0;
xtn2 = (xw.xtn2!=null) ? "&s2="+xw.xtn2 : ""; // ***** Qu'est-ce qui s'ajoute ici ?
xtp = (xw.xtpage!=null) ? xw.xtpage : "";
xtrd = (xtsite=="redirect") ? true : false;
xtdi = ((xw.xtdi!=null)&&(xw.xtdi!="")) ? "&di=" + xw.xtdi : "";
xtm = (xw.xtparam!=null) ? xw.xtparam : "";

xter = ((xw.xterr!=null)&&(xw.xterr!="")&&(xtm.indexOf("&err",0)<0)) ? "&err=" + xw.xterr : "";
xtmc = ((xw.xtmc!=null)&&(xw.xtmc!="")&&(xtm.indexOf("&mc",0)<0)) ? "&mc=" + xw.xtmc : "";
xtac = ((xw.xtac!=null)&&(xw.xtac!="")&&(xtm.indexOf("&ac",0)<0)) ? "&ac=" + xw.xtac : "";
xtan = ((xw.xtan!=null)&&(xw.xtan!="")&&(xtm.indexOf("&an",0)<0)) ? "&an=" + xw.xtan : "";
xtnp = ((xw.xtnp!=null)&&(xw.xtnp!="")&&(xtm.indexOf("&an",0)<0)) ? "&np=" + xw.xtnp : "";
xtprm = ((xw.xtprm!=null)&&(xtm.indexOf("&x",0)<0)) ? xw.xtprm : "";
xtm += xter+xtmc+xtac+xtan+xtnp+xtprm+xtdi;

try {xt_rfr = top.document.referrer;}
catch(e) {xt_rfr = xtnv.referrer; }
xts = screen;
var xtxp = new Date();
xtxp.setTime(xtxp.getTime()+(xtdr*1000));
var xtdate = new Date();
var xtheureh = xtdate.getTime() / (1000*3600);

// Emplacement des fonctions de XiTi
if((xtsite!=0)||(xtrd))
{
	xtourl_rf = recupxtor("xtref");		//referrer prioritaire si dans URL
	if (!xtrd)
	{		
		var xtnav = navigator.appName+" "+navigator.appVersion;
		var xtIE = (xtnav.indexOf('MSIE'));
		if (xtIE>=0) {xtvers = parseInt(xtnav.substr(xtIE+5));xtIE=true;}
		else {xtvers = parseFloat(navigator.appVersion);xtIE=false;}
		var xtnet=(xtnav.indexOf('Netscape') >=0);
		var xtmac=(xtnav.indexOf('Mac') >=0);
		var xtOP=(navigator.userAgent.indexOf('Opera') >=0);
		if((xtIE)&&(xtvers >=5)&&(!xtmac)&&(!xtOP)&&(!xtrd))
	 	{
	    	xd.body.addBehavior("#default#clientCaps");
	    	xtconn = '&cn=' + xd.body.connectionType;
	    	xtconn += '&ul=' + xd.body.UserLanguage;
	    	xd.body.addBehavior("#default#homePage");
	    	xthome = (xd.body.isHomePage(location.href))? '&hm=1': '&hm=0';
		   xtresr = '&re='+xd.body.offsetWidth+'x'+xd.body.offsetHeight;
	 	}
		else
		{xtconn = ''; xthome='';if(xtvers >=5){xtresr = '&re='+xw.innerWidth+'x'+xw.innerHeight;}else{xtresr =''};}
		if((xtnet)&&(xtvers >=4)||(xtOP)){var xtlang = '&lng=' + navigator.language;}
		else {if((xtIE)&&(xtvers >=4)&&(!xtOP)){var xtlang = '&lng=' +navigator.userLanguage;} else {xtlang = '';}}
	
		Xt_r = (xtourl_rf!=null) ? xtourl_rf.replace(/[<>]/g, '') : Getxtorcookie("xtref");
		if(Xt_r==null)	{	Xt_r = xt_rfr.replace(/[<>]/g, '')	}			
		Xt_param = 's='+xtsite+xtn2+'&p='+xtp+'&hl='+xtdate.getHours()+'x'+xtdate.getMinutes()+'x'+xtdate.getSeconds();
		Xt_param += xtm+xtconn+xthome+xtlang;
		Xt_i = '<img width="1" height="1" alt="" src="'+xtsd+'.xiti.com/hit.xiti?'+Xt_param;
		if(xtvers>=4)
		{Xt_i+='&r='+xts.width+'x'+xts.height+'x'+xts.pixelDepth+'x'+xts.colorDepth;}
		xd.write(Xt_i+xtresr+'&ref='+Xt_r.replace(/&/g, '$')+'" >');
	}
	else
	{
		if(xtourl_rf==null)
		{	xtref = xt_rfr.replace(/[<>]/g, '').replace(/&/g, '$');	}
		else
		{	xtref = xtourl_rf.replace(/[<>]/g, '').replace(/&/g, '$');		}
		xd.cookie = "xtref=" + xtref + " ;expires=" + xtxp.toGMTString() + " ;path=/;" + xtdmc;
		if(xw.xtloc!=null)	{xtnv.location=xw.xtloc;}
	}
}

// Fin partie 2 de xiti.js ---------------------------------------------------------------------
// document.write('<br>Xt_param:',Xt_param,'<br>');	// Tous paramètres XiTi

// Redirection ?
for(i=0; i<redirections.length; i+=1) {
	position = xtp.indexOf(redirections[i]);
	if (position != -1) {
		chq = xtp.substring(1, xtp.length); mq = chq.substring(chq.indexOf(redirections[i]), chq.length); pos3 = mq.indexOf("&");
			if (pos3 == -1) pos3 = mq.indexOf("%26")
			if (pos3 == -1) pos3 = mq.length;
//		document.write (mq.substring(mq.indexOf("=")+1, pos3));
		window.location.replace('http://'+mq.substring(mq.indexOf("=")+1, pos3));
		}
	}
} // Fin de la boucle
} // Fin fonction "marque"


function clic_ou(nom,niveau)
{
	hsh = new Date();
	hsd = document;
	xt_img = new Image();
	hsi = 'http://logp.xiti.com/hit.xiti?s=85837&s2=' + niveau
	hsi += '&p=' + nom + '&hl=' + hsh.getHours() + 'x' + hsh.getMinutes() + 'x' + hsh.getSeconds();
	if(parseFloat(navigator.appVersion)>=4)
		{
		Xiti_s=screen;
		hsi += '&r=' + Xiti_s.width + 'x' + Xiti_s.height + 'x'
		hsi += Xiti_s.pixelDepth + 'x' + Xiti_s.colorDepth;
		}

	hsi += '&ref=' + hsd.referrer.replace('&', '$');
	xt_img.src = hsi;
	return;
}

//  fin marquage xiti générique =======================================================


// ------ Classe fenestre -----------
function fenestre(url,nom,optdef,lardef,haudef) {
  this.url=url;
  this.nom=nom;
  if (! this.nom ) this.nom = "nomdef";
  this.optdef = optdef;

  if (! this.optdef) // options par defaut, sauf hauteur et largeur et redim définies séparément
        this.optdef = "toolbar=1,menuBar=0,scrollbars=1,resizable=1,status=1,location=1,left=1,top=50" ;
  if (lardef)
       this.opts = this.optdef + ',width=' + lardef + ',height=' + haudef;
  else
       this.opts = this.optdef + ',width=620,height=420';
  this.fen;
  this.ouvrir = ouvrir_fen;
  this.fermer = fermer_fen;
  this.ouverte = fen_ouverte
}

function ouvrir_fen(url,largeur,hauteur) {
    // nurl indique s'il s'agit d'une nouvelle url;
        var nf;
        if (url && (url != this.url)) nurl = this.url = url;
        if (! this.url)  return 0;
        if (largeur){
          this.opts = this.optdef + ',width=' + largeur + ',height=' + hauteur;
          this.fermer();// obligatoire pour forcer la fenêtre à s'ouvrir avec la nouvelle taille
        }
        if (! this.ouverte()|| nurl)this.fen = window.open (this.url,this.nom,this.opts);
        this.fen.focus();
        return false;
  }

function fermer_fen() {
    if (this.ouverte()) this.fen.close()
}

  function fen_ouverte() {
    return this.fen && ! this.fen.closed
}

// instanciations par défaut (noms de variable réservés )
var objfen= new fenestre('','nomdef2');
var fen_impri = new fenestre("","nom_def3","toolbar=0,menuBar=1,scrollbars=1,resizable=1,left=10,top=10",600,500 );
var fen_large = new fenestre("","nom_def3","toolbar=0,menuBar=1,scrollbars=1,resizable=1,left=10,top=10",700,500 );
var fen_video = new fenestre("","nom_def3","toolbar=0,menuBar=0,scrollbars=0,resizable=1,left=30,top=70",670,300 );
var fen_libre = new fenestre("","nom_def3","toolbar=0,menuBar=0,scrollbars=0,resizable=1,left=20,top=20","",""); 
// -------- fin de la classe fenestre------------------


// surlignage des lignes de tableau. Remplace surligne devenue obsolète
function surli(r,s) {
	   cla=r.getAttribute('class');
	   if(s){r.setAttribute('class',cla=(cla==null)?'surligne':cla+'surligne');return}
	   if(cla=="surligne"){r.removeAttribute('class'); return}
	   r.setAttribute('class',cla.substring(0,cla.indexOf('surligne')))
}

// Fonction ouverture de fenêtres secondaires - Définie pour compatibilité avec les anciennes pages
// Utiliser plutôt des instances de la classe fenestre
 
 var newWindow = null;

 function openWin (Url, Nom) {
 var MinWin, winOpts="width=620,height=420,resizable=yes,scrollbars=yes,toolbar=yes,status=yes,location=yes"; 
  if (newWindow != null&& !newWindow.closed)
  { newWindow.close()}

  newWindow = window.open('',Nom,winOpts);
 if (newWindow != null) {
  if (newWindow.opener == null)
    { newWindow.opener = self}
    newWindow.location.href = Url;
    if (newWindow.focus) newWindow.focus();
  }

}

   function Monter(form) {
        var num_ligne = form.liste.options.selectedIndex;
        if (num_ligne >= 0) {
                var o=new Option(form.liste.options[num_ligne].text,form.liste.options[num_ligne].value);
                var p=new Option(form.liste.options[num_ligne-1].text,form.liste.options[num_ligne-1].value);
                form.liste.options[num_ligne]=p;
                form.liste.options[num_ligne-1]=o;
                form.liste.options.selectedIndex = num_ligne-1;
        }
   }

   function Descendre(form) {
        var num_ligne = form.liste.options.selectedIndex;
        if (num_ligne < form.liste.options.length) {
                var o=new Option(form.liste.options[num_ligne].text,form.liste.options[num_ligne].value);
                var p=new Option(form.liste.options[num_ligne+1].text,form.liste.options[num_ligne+1].value);
                form.liste.options[num_ligne]=p;
                form.liste.options[num_ligne+1]=o;
                form.liste.options.selectedIndex = num_ligne+1;
        }

   }
   
   function Concatener(form) {
        chaine = "";
	if (form.liste)
   	  for (i=0;i<form.liste.options.length;i++) {
		if (chaine == "")
		    chaine = form.liste.options[i].value;
		else
		    chaine += "::" + form.liste.options[i].value;
	  }
	return form.elements['sn_edulevel_footer_text:text'].value + '///' + chaine;
   }
   

function getElBy(tag,attr,val) {
  var dbRes = [];
  var dbEl = document.body.getElementsByTagName(tag);
  for (e = 0; e < dbEl.length; e++) {
    if (attr == 'class') {
      if (dbEl[e].className == val) {
        dbRes.push(dbEl[e]);
      }			
    }
    else {
      chaine = dbEl[e].getAttribute(attr);
      if (chaine){
        if (chaine.substring(0,val.length) == val)
          dbRes.push(dbEl[e]);
      }  
    }	
  }
  return dbRes;
}

function changeVisibility(pere){
  var trTest = getElBy('tr','id',pere);
  for (var db = 0; db < trTest.length; db++) {
    if (trTest[db].style.display == '')
      trTest[db].style.display = 'none';
    else
      trTest[db].style.display = '';
  }
}

function toggleVisibility(elt){
  var tr =  document.body.getElementById(elt);
  tr.style.display = 'compact';
}

function checkPublicationSignificative(){
  if (document.getElementById('significant1') != null){
      var radioBox1 = document.getElementById('significant1');
      var radioBox2 = document.getElementById('significant2');
      if (radioBox1.checked == false && radioBox2.checked == false) {
          alert('Veuillez indiquer si la publication est significative');
          document.getElementById('significant').style.border = '3px outset red';
          document.getElementById('significant').style.width = '20%';
          document.getElementById('significant').style.padding = '2px';
          document.getElementById('significant').style.background = 'yellow';
          return false;
      }
  }
  return true;
}

function setWaiting(element) {
    document.getElementById('submit_search').disabled = 'disabled';
    if (document.getElementById('en_attente') != null){
        document.getElementById('en_attente').className = 'visible';
    }    
}

function resetWaiting() {
    if (document.getElementById('submit_search') != null){
        document.getElementById('submit_search').disabled = null;
    }
    if (document.getElementById('en_attente') != null){
        document.getElementById('en_attente').className = 'hidden';
    }    
}
