//* ------------------------------------------------------------------------------------------------------------
//*
//* ------------------------------------------- Fonctions générales --------------------------------------------
//*
//* ------------------------------------------------------------------------------------------------------------

//* LibO.Cod *     Gestion des Libellés (fichier libelle.js) <> commun à tous les "default"

var ColOr="#FECB09";
var ColPo="#0C4DA2";
var ColBl="#FFFFFF";
var ColX1="#CCCCCC";
var refOut="../outils/";

var k21=new Array;
var k31=new Array;
var k41=new Array;
var k51=new Array;
var k61=false;
var k62=false;
var k63=false;
var k64=new Array;
var k71=false;
var k72=false;
var k73=false;
var k74=false;
var k81=new Array; 
var k91=new Array; 
var k92=new Array; 
var welclick=0;
var keyclick=0;
var keynumber=0;
var auto=-1;
var auto_b=-1;
var auto_c=-1;
var flag=false;

var temp_col=new Array;
var temp=0;

//* var annonce="../0/_Marchedelespoir.jpg";
var annonce="";

var link="";

//* ------------------------------------------------------------------------------------------------------------
//* Initialisation de default.html
//* ------------------------------------------------------------------------------------------------------------

function header_d(number)
  { keynumber=number;
    if (window.top.parent.screen_Value) {window.top.parent.screen_Value=keynumber;}
    document.write('<link rel="stylesheet" type="text/css" href="../outils/user.css"/>');
    document.write('<script type="text/javascript" src="work_'+number+'d.js"></script>');
    document.write('<script type="text/javascript" src="../outils/libelle.js"></script>');
    document.write('<script type="text/javascript" src="data_'+number+'.js"></script>');}


//* ------------------------------------------------------------------------------------------------------------
//* Initialisation de index.html
//* ------------------------------------------------------------------------------------------------------------

function header_i(number)
  { document.write('<link rel="stylesheet" type="text/css" href="../outils/user.css"/>');
    document.write('<script type="text/javascript" src="work_'+number+'i.js"></script>');}



//* ------------------------------------------------------------------------------------------------------------
//* Initialisation de welcome.html
//* ------------------------------------------------------------------------------------------------------------

function header_w(number)
  { document.write('<link rel="stylesheet" type="text/css" href="../outils/user.css"/>');
    document.write('<script type="text/javascript" src="work_'+number+'w.js"></script>');}



//* ------------------------------------------------------------------------------------------------------------
//* Gestion des libellés
//* ------------------------------------------------------------------------------------------------------------

var refAdr="./Images/"
var refOut="../outils/";
var lang="fr"

var LibO=new InitLibO()
function InitLibO ()                         /* Initialisation de la variable LibO.xxxx                       */
  { this.nb_item=0;                          /* LibO.nb_item   nombre d'enregistrement                        */
    this.Cod=CodLibO;}                       /* LibO.Cod       Libellé des noms des officiels                 */
function CodLibO(Code,Lib_Masculin,Lib_Féminin,Lib_Anglais)
  { for (var i=0;i<this.nb_item;i++) {if (this[i].Cod==Code.toUpperCase())
    { this[i].Cod=Code.toUpperCase();        /* LibO[i].Cod Code du libellé                                   */
      this[i].Eng=Lib_Anglais;               /* LibO[i].Eng Libellé en anglais                                */
      this[i].Mas=Lib_Masculin;              /* LibO[i].Mas Libellé en français (masculin)                    */
      this[i].Fem=Lib_Féminin;               /* LibO[i].Fem Libellé en français (féminin)                     */
      return;}}
    var nb = this.nb_item; var item = new Object;
      item.Cod=Code.toUpperCase();           /* LibO[i].Cod Code du libellé                                   */
      item.Mas=Lib_Masculin;                 /* LibO[i].Mas Libellé en français (masculin)                    */
      item.Fem=Lib_Féminin;                  /* LibO[i].Fem Libellé en français (féminin)                     */
      item.Eng=Lib_Anglais;                  /* LibO[i].Eng Libellé en anglais                                */
      if (!item.Fem) {item.Fem=item.Mas}
      if (!item.Eng) {item.Eng=item.Mas}
    this[nb]=item; this.nb_item++;}          /* Memx.nb_item   n° du dernier enregistrement                   */



//* ------------------------------------------------------------------------------------------------------------
//* Fonction Lancement dans la fenêtre Welcome
//* ------------------------------------------------------------------------------------------------------------

function Runrigh (ad)
  { parent.frames["W_righ"].window.location=ad; window.location=document.location;}



//* ------------------------------------------------------------------------------------------------------------
//* Fonction Lancement dans la fenêtre Index
//* ------------------------------------------------------------------------------------------------------------

function Runleft (ad)
  { parent.frames["W_left"].window.location=ad; window.location=document.location;}



//* ------------------------------------------------------------------------------------------------------------
//* Fonction de Gestion de Titres
//* ------------------------------------------------------------------------------------------------------------

function TitreWelcome(titre,href)
  { document.write('<center><a class="Welcome"');
    if (TitreWelcome.arguments.length>1) {document.write(' href="'+TitreWelcome.arguments[1]+'"');}
    document.write('><table cellpadding=0><tr align=center valign=top><td>');
    document.write('<font size=5><b>'+titre+'</b></font></td></tr></table></a></center>');}

function TitreIndex(titre,href)
  { document.write('<p align=center><font size=3><a class="Index"');
    if (TitreIndex.arguments.length>1) {document.write(' href="'+TitreIndex.arguments[1]+'"');}
    document.write('><br><b>'+titre+'</b></font><br></p>');}

function TitreButton(titre)
  { document.write('<table align=center width=130 style="color:#0C4DA2; background-color:#FECB09;"><tr height=25 valign=middle><td align=center>');
    document.write('<p align=center><font size=3><a class="Index"><b>'+titre+'</b></font></p></td></tr></table>');}



//* ------------------------------------------------------------------------------------------------------------
//* vérification de présence des paramètres
//* ------------------------------------------------------------------------------------------------------------

function Parm_Verif (zone)
  { test=false; if (!(!window.top.parent.NPrm))
    { for (var i=0;i<window.top.parent.NPrm.nb_item;i++) {if (window.top.parent.NPrm[i].zone==zone) {test=true;}}} return test;}

function Data_Verif (zone)
  { test=false; if (!(!window.top.parent.NDat))
    { for (var i=0;i<window.top.parent.NDat.nb_item;i++) {if (window.top.parent.NDat[i].zone==zone) {test=true;}}} return test;}



//* ------------------------------------------------------------------------------------------------------------
//* Extraction des paramètres passés en argument
//* ------------------------------------------------------------------------------------------------------------

function ExtraireParam()
  { url = window.location.href;
    var exp=new RegExp("[&?]+","g");
    var exp2=new RegExp("[=]+","g");
    var tabNom=url.split(exp);
    var tabParam=new Array();
    if (tabNom!=null) {for (var i=1;i<tabNom.length;i++) {var tabTemp=tabNom[i].split(exp2); tabParam[tabTemp[0]]=tabTemp[1];} }
    return tabParam;}



//* ------------------------------------------------------------------------------------------------------------
//* Gestion des Défilements
//* ------------------------------------------------------------------------------------------------------------

var msg="MESSAGE";var index=0;var delay=130;

function defil()
  { document.forms[0].elements[0].blur();var nb_char=msg.length;index++;if (index>nb_char) index=0;
	document.forms[0].elements[0].value=msg.substring(index)+msg;setTimeout("defil()",delay);}

function defiler(txt)
  { document.write('<form><center><table border=1 bgcolor="'+ColOr+'">');
    document.write('<tr bgcolor="'+ColOr+'" style="font-family: Arial;" align="center" valign="middle">');
    document.write('<td><input type="text" style="background:'+ColOr+';color:'+ColPo+';font-size:18;font-family:Arial Black" ');
    document.write('name="defil" size="'+(document.body.offsetWidth-80)/10+'">');
    msg=txt+"   -   "+txt+ "   -   "+txt+ "   -   "+txt+ "   -   "+txt+ "   -   ";defil();
    document.write('</td></tr></table></center></form>');}



//* ------------------------------------------------------------------------------------------------------------
//* Gestion des Bulles
//* ------------------------------------------------------------------------------------------------------------

var IB=new Object;
var posX=0;posY=0;
var yOffset=10;

function AffBulle(texte)
  { contenu='<table border=0 cellspacing=0 cellpadding='+IB.NbPixel+'><tr bgcolor="'+IB.ColContour+'"><td><table border=0 cellpadding=2 cellspacing=0 bgcolor="'+IB.ColFond+'"><tr><td><font size="2" face="Arial" color="'+IB.ColTexte+'"><b>'+texte+'</b></font></td></tr></table></td></tr></table>&nbsp;';
    var finalPosX=posX+5;
    var finalPosY=posY+20;
    if (finalPosX<0) finalPosX=0;
    if (finalPosY<0) finalPosY=0;
    document.getElementById("bulle").innerHTML=contenu;
    document.getElementById("bulle").style.top=finalPosY;
    document.getElementById("bulle").style.left=finalPosX;
    document.getElementById("bulle").style.visibility="visible";}

function AffImage(image,wi,hi)
  { contenu='<table border=0 cellspacing=0 cellpadding='+IB.NbPixel+'><tr bgcolor="'+IB.ColContour+'"><td><table border=0 cellpadding=0 cellspacing=0 bgcolor="'+IB.ColFond+'"><tr><td><img src="'+image+'" border=0 width='+wi+' height='+hi+'></td></tr></table></td></tr></table>&nbsp;';
    var finalPosX=posX-wi/2;
    var finalPosY=posY-yOffset-hi;
    if (finalPosX<0) finalPosX=0;
    if (finalPosY<0) finalPosY=0;
    document.getElementById("bulle").innerHTML=contenu;
    document.getElementById("bulle").style.top=finalPosY;
    document.getElementById("bulle").style.left=finalPosX;
    document.getElementById("bulle").style.visibility="visible";}

function getMousePos(e)
  { posX=event.x+document.body.scrollLeft;
    posY=event.y+document.body.scrollTop;}

function HideBulle()
  { document.getElementById("bulle").style.visibility="hidden";}

function InitBulle(ColTexte,ColFond,ColContour,NbPixel)
  { IB.ColTexte=ColTexte;IB.ColFond=ColFond;IB.ColContour=ColContour;IB.NbPixel=NbPixel;
    document.onmousemove=getMousePos;
    document.write("<div id='bulle' style='position:absolute;top:0;left:0;visibility:hidden'></div>");}



//* ------------------------------------------------------------------------------------------------------------
//* Gestion des Cookies
//* ------------------------------------------------------------------------------------------------------------

var pathname=location.pathname;
var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';
var date_exp = new Date();
date_exp.setTime(date_exp.getTime()+(365*24*3600*1000));

function getCookieVal(offset)
  { var endstr=document.cookie.indexOf (";", offset);
    if (endstr==-1) endstr=document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));}

function GetCookie (name)
  { var arg="_"+name+"=";
    var alen=arg.length;
    var clen=document.cookie.length;
    var i=0;
    while (i<clen)
    { var j=i+alen;
      if (document.cookie.substring(i, j)==arg) {return getCookieVal (j);}
      i=document.cookie.indexOf(" ",i)+1;
      if (i==0) break;}
    return null;}

function SetCookie (name, value)
  { var argv=SetCookie.arguments;
    var argc=SetCookie.arguments.length;
    var expires=(argc > 2) ? argv[2] : null;
    var path=(argc > 3) ? argv[3] : null;
    var domain=(argc > 4) ? argv[4] : null;
    var secure=(argc > 5) ? argv[5] : false;
    document.cookie=name+"="+escape(value)+
      ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
      ((path==null) ? "" : ("; path="+path))+
      ((domain==null) ? "" : ("; domain="+domain))+
      ((secure==true) ? "; secure" : "");}

function StoreCookie(nom,valeur)
  { if (nom!="") { if (valeur!="") {SetCookie("_"+nom,valeur,date_exp,myDomain);} } else alert("Il n'y a pas de nom !");}



//* ------------------------------------------------------------------------------------------------------------
//* Gestion des libellés
//* ------------------------------------------------------------------------------------------------------------

function LibOffi(Cod,Sexe)
  { var resultat="" ; ind_Sexe=Sexe; if (Sexe=="H"||Sexe=="h") {ind_Sexe=1;}; if (Sexe=="F"||Sexe=="f") {ind_Sexe=2;};
    for (var s=0; s<parent.LibO.nb_item;s++) {if (parent.LibO[s].Cod==Cod)
    { if (ind_Sexe==0) {resultat=parent.LibO[s].Eng;}
      if (ind_Sexe==1) {resultat=parent.LibO[s].Mas;}
      if (ind_Sexe==2) {resultat=parent.LibO[s].Fem;}
      return resultat;}}
    return resultat;}

function LibText(Cod)
  { return LibOffi(Cod,1)}

function LibTxtW(Cod)
  { var resultat="" ; 
    for (var s=0; s<LibO.nb_item;s++)
    { if (LibO[s].Cod==Cod)
      { resultat=LibO[s].Mas; return resultat;}}
    return resultat;}

function LibTitl(Cod)
  { var resultat="" ;
    for (var s=0; s<LibO.nb_item;s++) {if (LibO[s].Cod==Cod)
    { resultat=LibO[s].Mas; return resultat;}}
    return resultat;}



//* ------------------------------------------------------------------------------------------------------------
//* Fonction de dates
//* ------------------------------------------------------------------------------------------------------------

function Date_intern (jour_string)
  { var ladate=new Date();
    ladate.setDate(jour_string.substring(0,2));
    ladate.setMonth(jour_string.substring(3,5)-1);
    ladate.setFullYear(jour_string.substring(6,10));
    return ladate.getTime();}

function Date_string (jour_intern)
  { var ladate=new Date(); var retour="";
    ladate.setTime(jour_intern)
    x=ladate.getDate(); if (x<10) {x="0"+x;};
    y=ladate.getMonth()+1; if (y<10) {y="0"+y;};
    z=ladate.getFullYear(); if (z<10) {z="0"+z;};
    if (z>1900) {retour=x+'/'+y+'/'+z;} else {retour=x+'/'+y};
    return retour;}



//* ------------------------------------------------------------------------------------------------------------
//* Menu dynamique
//* ------------------------------------------------------------------------------------------------------------

function Menu_item (item1,item2,nom,status,nb_item,table,libelle,photo)
  { document.write('<h2 class="Index"><a class="Index" OnClick="parent.temp=0;" href="javascript:Go('+item1+','+item2+',-1)"');
    document.write(' onMouseOver=this.style.color="#FFFFFF" onMouseOut=this.style.color="#FECB09">');
    if (nb_item==0) {image=refOut+"_dyn01.gif"} else {if (status) {image=refOut+"_dyn03.gif"} else {image=refOut+"_dyn04.gif"};}
    document.write('<img src="'+image+'" height=18 border=0 alt="" align=top vspace=0>');
    document.write(nom+'</a><br>');
    if (nb_item>0) {if (status) {for(var i0=0;i0<nb_item;i0++)
    { document.write('<h3 class="Index">');
      if (i0==nb_item-1) {image=refOut+"_dyn05.gif"} else {image=refOut+"_dyn02.gif"};
      if (!parent.temp_col[i0]) {col=ColOr} else {col=parent.temp_col[i0]}
      document.write('<img src="'+image+'" height=18 border=0 alt="" align=top vspace=0>');
      document.write('<a style="color:'+col+';text-decoration:none;" OnClick="parent.temp=0;"  href="javascript:Go('+item1+','+item2+','+i0+')"');
      if (Menu_item.arguments.length==7)
      { om1="'"+libelle[i0]+"'"; document.write (' onMouseOver="AffBulle('+om1+')" onMouseOut="HideBulle()"');}
      if (Menu_item.arguments.length==8)
      { om2="'"+photo[i0]+"'"; document.write(' onMouseOver="AffImage('+om2+',60,90)" onMouseOut="HideBulle()" alt="'+libelle[i0]+'"');}
      document.write('>'+table[i0]+'</a>');
      document.write('<br>');}}}document.write('<br>');}

function Go (n,j,k)
  { for (var i=0;i<parent.temp_col.length;i++) {parent.temp_col[i]=ColOr;}
    if (k==-1) {parent.temp_col[0]=ColBl;} else {parent.temp_col[k]=ColBl;}
    Charger (n,j,k);}


//* ------------------------------------------------------------------------------------------------------------
//* Gestion des fichiers en séquence
//* ------------------------------------------------------------------------------------------------------------

//* function q_box (Min,Max,Del,Cur,addr)
function q_box (Min,Max,Del,Cur)
  { st0=Cur-Del; st1=Cur+Del;
    if(st0<Min) {st0=Min; st1=st0+Del+Del;}
    if(st1>Max) {st1=Max; st0=st1-Del-Del;}
    if(st0<Min) {st0=Min;}
    document.write('<center><table><tr valign=top height=25><td align=left width=75>')
    if (Cur!=Min) {p_box("y","<<","javascript:page("+(Cur-1)+")");}
    if (st0>Min) {p_box("y",Min,"javascript:page("+Min+")");}
    if (st0>Min+1) {document.write('&nbsp;...&nbsp;');}
    document.write('</td><td align=center width=205>')
    for (var st=st0;st<st1+1;st++) {if (st==Cur) {cl="x"; href="";} else {cl="y"; href="javascript:page("+st+")";} p_box(cl,st,href);}
    document.write('</td><td align=right width=75>')
    if (st1<Max-1) {document.write('&nbsp;...&nbsp;');}
    if (st1<Max) {p_box("y",Max,"javascript:page("+Max+")");}
    if (Cur!=Max) {p_box("y",">>","javascript:page("+(Cur+1)+")");}
    document.write('</td></tr></table></center>')}

function p_box (cl,value,html)
  { if (value<10) {val="0"+value;} else {val=value;}
    if (html=="")
    { document.write('&nbsp;<a class="'+cl+'">'+val+'</a>&nbsp;');}
    else
    { document.write('&nbsp;<a class="'+cl+'" href="'+html+'">'+val+'</a>&nbsp;');}}

function page (i)
  { parent.temp=i; parent.flag=true; window.location.reload();}


//* ------------------------------------------------------------------------------------------------------------
//* Gestion des multi fenêtres
//* ------------------------------------------------------------------------------------------------------------

var base=0;
var x_pos=-1;
var x_max=0;
var y_pos=new  Array;
var border=0;
var margin=0;
var paddin=0;

function obj_in (pixel,nb_cl,photo)
//* initialisation
//* pixel nombre de pixel de la cellule de base
//* nb_cl nombre de cellule par ligne

  { base=pixel;
    x_max=nb_cl;
    x_pos=-1;
    if (photo==0) {border=1; margin=3; paddin=10;} else {border=0; margin=0; paddin=0;}
    document.write('<center>');
    document.write('<table cellpadding='+paddin+' cellspacing=0 valign=top border=0>');}


function object(no,m,titre,html,fin,addr,oncl)
//* remplissage des cellules
//* no    largeur de l'objet
//* m     hauteur de l'objet
//* npos  position de l'objet (de 1 à max)
//* max   nombre d'objet maximum par line
//* titre titre de l'objet
//* html  adresse du texte
//* fin   signature de l'objet
//* addr  addresse si on clique sur le lien (fin)
//* oncl  onClick si nécessaire pour indiquer la page dans le lien addr

  { if (no>x_max) {n=x_max;} else {n=no;}

    x=base*n+38*(n-1);
    y=base/1.33*m-46+37*(m-1);

    if (titre=="") {y=y+24}; 
    if (fin=="")   {y=y+22};
    if (x_pos==-1) {for (var i=0;i<x_max;i++) {y_pos[i]=0;}}
    if (x_pos+n>x_max) {document.write('</tr><tr>'); x_pos=-1; for (var i=0;i<x_max;i++) {if (y_pos[i]>0) {y_pos[i]=y_pos[i]-1} else {y_pos[i]=0}}}
    if (x_pos==-1) {document.write('<tr valign=top>'); x_pos=0;} 

    x_pos=x_pos+n

    var k=0; for (var i=x_pos-n;i<x_max;i++) {if (y_pos[i]>0) {k=k+1} else {break;}};
    x_pos=x_pos+k

    for (var i=0;i<n;i++) {y_pos[x_pos-i-1]=m;} 
    document.write('<td colspan='+n+' rowspan='+m+'>');
    document.write('<table border='+border+'><tr><td align=center width='+x+'><table>');
    if (titre!="") {document.write('<tr height=22 valign=top><td align="center"><strong>');
      if (addr=="") {document.write(titre);} else {document.write('<a href='+addr);
        if (oncl=="") {document.write('>'+titre+'</a>');} else
        { xxx="javascript:top.link='"+oncl+"'"; document.write(' target="W_bas" onClick='+xxx+'>'+titre+'</a>');}}

      document.write('</strong></td></tr>');}

    document.write('<tr><td align="center"><iframe src="'+html+'" width='+x+' height='+y+' scrolling=no frameborder=0 marginwidth='+margin+' marginheight=0></iframe></td></tr>');
    if (fin!="")   {document.write('<tr height=20><td align="right"><font size=2>');
      if (addr=="") {document.write(fin);} else {document.write('<a href='+addr);
        if (oncl=="") {document.write('>'+fin+'</a>');} else
        { xxx="javascript:top.link='"+oncl+"'"; document.write(' target="W_bas" onClick='+xxx+'>'+fin+'</a>');}}
      document.write('</font></td></tr>');}
    document.write('</table></td></tr></table></td>');

    var k=0; for (var i=x_pos;i<x_max;i++) {if (y_pos[i]>0) {k=k+1} else {break;}}; x_pos=x_pos+k

    if (x_pos<x_max) {return;}

    var min=-1; var k=0;
    for (var i=0;i<x_max;i++) {if (y_pos[i]==0) {k=i; min=-1; break;} else {if (i==0) {min=y_pos[i];} else {if (y_pos[i]<min) {min=y_pos[i];}}}}
    for (var i=0;i<min;i++) {document.write('</tr><tr>'); for (var j=0;j<x_max;j++) {y_pos[j]=y_pos[j]-1;}}
    x_pos=k;}

function obj_fn ()
//* terminaison de la fonction
  { var max=0;
    for (var i=0;i<x_max;i++) {if (y_pos[i]>max) {max=y_pos[i];}} 
    for (var i=0;i<max;i++) {document.write('<td><table><tr height='+(base/1.33+12)+'><td></td></tr></table></td></tr><tr valign=top>');}
      document.write('</tr></table>');
      document.write('</center>');}



//* ------------------------------------------------------------------------------------------------------------
//* Drop fenêtre
//* ------------------------------------------------------------------------------------------------------------

// PARAMETRAGE DU SCRIPT
var tjs_delai=30;
var tjs_max=5;
var tjs_mode=1; // 0 - calque toujours en haut de page / 1 - calque en bas

// LE RESTE NE CHANGE PAS
var tjs_hauteur=0;
function PrintCalque(left,top,width,height,contenu) {
    tjs_hauteur=height;
    if ((document.all)||(document.getElementById)) {var Z="<DIV id='tomber' style='position:absolute;right:"+left+";top:"+top+";width:"+width+";height:"+height+"'>"+contenu+"</DIV>";}
    else {var Z="<LAYER name='tomber' left="+left+" top="+top+" width="+width+" height="+height+">"+contenu+"</LAYER>";}
    document.write(Z);
    setTimeout("Start()",tjs_delai);}

function PrintCalque_R(left,top,width,height,contenu) {
    tjs_hauteur=height;
    if ((document.all)||(document.getElementById)) {var Z="<DIV id='tomber_R' style='position:absolute;right:"+left+";top:"+top+";width:"+width+";height:"+height+"'>"+contenu+"</DIV>";}
    else {var Z="<LAYER name='tomber_R' left="+left+" top="+top+" width="+width+" height="+height+">"+contenu+"</LAYER>";}
    document.write(Z);
    setTimeout("Start_R()",tjs_delai);}

function PrintCalque_L(left,top,width,height,contenu) {
    tjs_hauteur=height;
    if ((document.all)||(document.getElementById)) {var Z="<DIV id='tomber_L' style='position:absolute;left:"+left+";top:"+top+";width:"+width+";height:"+height+"'>"+contenu+"</DIV>";}
    else {var Z="<LAYER name='tomber_L' right="+left+" top="+top+" width="+width+" height="+height+">"+contenu+"</LAYER>";}
    document.write(Z);
    setTimeout("Start_L()",tjs_delai);}

function Start_L()
  { MoveLayer("tomber_L",GetTop("tomber_L")); setTimeout("Start_L()",tjs_delai);}

function Start_R()
  { MoveLayer("tomber_R",GetTop("tomber_R")); setTimeout("Start_R()",tjs_delai);}

function Start()
  { MoveLayer("tomber",GetTop("tomber")); setTimeout("Start()",tjs_delai);}

function MoveLayer(nom,top)
  { if (document.getElementById) {document.getElementById(nom).style.top=top;}         //IE5 et NS6
    if ((document.all)&&(!document.getElementById)) {document.all[nom].style.top=top;} //IE4 seul
    if (document.layers) {document.layers[nom].top=top;}}                              //NS4.X seul

function GetTop(nom) {
	// Partie 1 : Récupération de la position du calque et de la page
	if (document.getElementById) {var pos=parseInt(document.getElementById(nom).style.top);
		var wintop=parseInt(document.body.scrollTop); var avail=document.body.clientHeight;} //IE5 
	if ((document.getElementById)&&(!document.all)) {var pos=parseInt(document.getElementById(nom).style.top);
		var wintop=parseInt(window.pageYOffset); var avail=window.innerHeight;} //NS6
	if ((document.all)&&(!document.getElementById)) {var pos=parseInt(document.all[nom].style.top);
		var wintop=parseInt(document.body.scrollTop); var avail=document.body.clientHeight;} //IE4 seul
	if (document.layers) {var pos=parseInt(document.layers[nom].top);
		var wintop=parseInt(window.pageYOffset); var avail=window.innerHeight;} //NS4.X seul

	// Partie 2 : Traitement de la position
	if (tjs_mode==0) {var delta=Math.ceil((pos-wintop)/3); if (delta>tjs_max) {delta=tjs_max;}
		if (delta<-1*tjs_max) {delta=-1*tjs_max;}
		var top=pos-delta;} // toujours en haut
	if (tjs_mode==1) {var delta=Math.ceil((pos-(wintop+avail-tjs_hauteur)));
		if (delta>tjs_max) {delta=tjs_max;}
		if (delta<-1*tjs_max) {delta=-1*tjs_max;}
		var top=pos-delta;} // toujours en bas
	return top;}


//* ------------------------------------------------------------------------------------------------------------
//* Transition d'image
//* ------------------------------------------------------------------------------------------------------------

var ind_a=new Array;                           /* index de la prochaine image (par série)                     */
var ind_vol="";                                /* répertoire des images                                       */
var ind_dfl=new Array;                         /* numéro du groupe (par série) (à partir de 0)                */
var nb_dfl=0;                                  /* nombre d'initialisation d'une série (= nombre de groupes)   */
var zon=new Array;                             /* tableau comprenant les images dans l'ordre de leur déclar.  */
var zon_start=new Array;                       /* indice de démarrage du groupe (par série) dans zon          */
var zon_length=new Array;                      /* nombre d'images du groupe (par serie) dans zon              */
var vitesse=2000;                              /* vitesse de défilement (partie fixe) en milli seconde        */
var increment=2000;                            /* vitesse de défilement (partie variable) en milli seconde    */

function Anim_Start(serie)                     /* initialisation d'une série                                  */
  { ind_dfl[serie]=nb_dfl; nb_dfl++;
    ind_vol=parent.img_page0+'/'; zon_length[serie]=0;
    zon_start[serie]=zon.length;
    if (parent.Anim.nb_item>0)
    { for (i=0;i<parent.Anim.nb_item;i++)
      { if(parent.Anim[i].seri==serie) {zon[zon_start[serie]+zon_length[serie]]=i; zon_length[serie]++;}}
      if (zon_length[serie]>0)
      { ind_a[serie]=Anim_new(serie);
        document.write('<center><table border=0><tr><td align=center>');
        document.write('<img src="'+ind_vol+parent.Anim[zon[ind_a[serie]]].pict+'" width='+(parent.Anim[zon[ind_a[serie]]].widt-4)+' height='+(parent.Anim[zon[ind_a[serie]]].heig-4)+' border=2 name="defil" ');
        document.write('style="border-color:white" alt="'+parent.Titr[serie-1].altx+'" style="filter:revealTrans(transition=23,duration=1)">');
        Anim_Defil(serie);
        document.write('</td></tr></table></center>');}}}

function Anim_Defil(serie)                     /* gestion récurrente des images (fonction récursive)           */
  { if (document.images)
    { Anim_Trans(document.getElementsByName("defil")[ind_dfl[serie]],serie);
      document.getElementsByName("defil")[ind_dfl[serie]].src = ind_vol+parent.Anim[zon[ind_a[serie]]].pict;
      setTimeout("Anim_Defil("+serie+")",vitesse+increment*Math.random());
      ind_a[serie]=Anim_new(serie);}}

function Xnim_Start(serie)                     /* initialisation d'une série (fichier html sans parent)        */
  { ind_dfl[serie]=nb_dfl; nb_dfl++;
    ind_vol=img_page0+'/'; zon_length[serie]=0;
    zon_start[serie]=zon.length;
    if (Anim.nb_item>0)
    { for (i=0;i<Anim.nb_item;i++)
      { if(Anim[i].seri==serie) {zon[zon_start[serie]+zon_length[serie]]=i; zon_length[serie]++;}}
      if (zon_length[serie]>0)
      { ind_a[serie]=Anim_new(serie);
        document.write('<center><table border=0><tr><td align=center>');
        document.write('<img src="'+ind_vol+Anim[zon[ind_a[serie]]].pict+'" width='+(Anim[zon[ind_a[serie]]].widt-4)+' height='+(Anim[zon[ind_a[serie]]].heig-4)+' border=2 name="defil" ');
        document.write('style="border-color:white" alt="'+Titr[serie-1].altx+'" style="filter:revealTrans(transition=23,duration=1)">');
        Xnim_Defil(serie);
        document.write('</td></tr></table></center>');}}}

function Xnim_Defil(serie)                     /* gestion récurrente des images (fonction récursive)           */
  { if (document.images)
    { Anim_Trans(document.getElementsByName("defil")[ind_dfl[serie]],serie);
      document.getElementsByName("defil")[ind_dfl[serie]].src = ind_vol+Anim[zon[ind_a[serie]]].pict;
      setTimeout("Xnim_Defil("+serie+")",vitesse+increment*Math.random());
      ind_a[serie]=Anim_new(serie);}}

function Anim_Trans(img,serie)                 /* mise en place d'une transition aléatoire                     */
  { if(img && img.filters && img.filters[0])
    { document.getElementsByName("defil")[ind_dfl[serie]].style.filter="revealTrans(transition="+parseInt(Math.random()*23)+", duration=1)";
      img.filters[0].apply(); img.filters[0].play();}}

function Anim_new(serie)                       /* recherche de la nouvelle image (différente de la précédente) */
  { i=zon_start[serie]+parseInt(Math.random()*zon_length[serie]); if (i==ind_a[serie]) {i=Anim_new(serie)}; return i}


//* ------------------------------------------------------------------------------------------------------------
//*                             Lecture du fichier de fonnées pour les groupes 1 à 5
//* ------------------------------------------------------------------------------------------------------------

//* Html.Add       Ajout d'une page html
//* TypH.Add *     Ajout d'un type de page Html (réservé à Html.Add)
//* TypB.Add *     Ajout d'un type de Bouton (réservé à Html.Add)
//* Anim.Add       Ajout d'une animation
//* Aser.Add *     Ajout d'une animation (réservé à Anim_Start)
//* Titr.Add       Ajout d'un titre d'animation

//* ------------------------------------------------------------------------------------------------------------
//* Gestion des pags html
//* ------------------------------------------------------------------------------------------------------------

var Html=new InitHtml();                     /* Initialisation de l'objet Html (page html)                    */
function InitHtml ()                         /* Initialisation de la variable Html.xxxx                       */
  { this.nb_item=0;                          /* Html.nb_item   nombre d'enregistrement                        */
    this.Add=AddHtml;}                       /* Html.Add       Ajout d'une page html                          */
function AddHtml (item0,item1,item2,titre,html,len,OouN)    /* Ajout d'une page html                          */
  { var nb = this.nb_item; var item = new Object;
      item.itm0=item0;                       /* Html[i].itm0   Titre niveau 0 index                           */
      item.itm1=item1;                       /* Html[i].itm1   Titre niveau 1 index                           */
      item.itm2=item2;                       /* Html[i].itm2   Titre niveau 2 index                           */
      item.name=titre;                       /* Html[i].titre  Titre Welcome                                  */
      item.html=html;                        /* Html[i].html   Adresse de la page                             */
      item.ooun=OouN;                        /* Html[i].ooun   Oui / Non animation en bas de page             */
      item.size=len;                         /* Html[i].size   longueur de la page                            */
    this[nb]=item; this.nb_item++;           /* Html.nb_item   n° du dernier enregistrement                   */
    TypH.Add (item1);                        /* Ajout du type de la page html à la liste des types item1      */
    TypB.Add (item0);}                       /* Ajout du type de la page html à la liste des types item0      */

var TypH=new InitTypH();                     /* Initialisation de l'objet TypH (Liste des type de pages html) */
function InitTypH ()                         /* Initialisation de la variable TypH.xxxx                       */
  { this.nb_item=0;                          /* TypH.nb_item   nombre d'enregistrement                        */
    this.Add=AddTypH;}                       /* TypH.Add       Ajout d'un type de page html                   */
function AddTypH (type)                      /* Ajout d'un type de page html                                  */
  { for(var i=0;i<this.nb_item;i++) {if (this[i].itm1==type) {return;};}
    var nb = this.nb_item; var item = new Object;
      item.itm1=type;                        /* TypH[i].itm1   Type de page html                              */
    this[nb]=item; this.nb_item++;}          /* TypH.nb_item   n° du dernier enregistrement                   */

var TypB=new InitTypB();                     /* Initialisation de l'objet TypB (Liste des type de pages html) */
function InitTypB ()                         /* Initialisation de la variable TypB.xxxx                       */
  { this.nb_item=0;                          /* TypB.nb_item   nombre d'enregistrement                        */
    this.Add=AddTypB;}                       /* TypB.Add       Ajout d'un type de page html                   */
function AddTypB (type)                      /* Ajout d'un type de page html                                  */
  { for(var i=0;i<this.nb_item;i++) {if (this[i].itm1==type) {return;};}
    var nb = this.nb_item; var item = new Object;
      item.itm1=type;                        /* TypB[i].itm1   Type de page html                              */
    this[nb]=item; this.nb_item++;}          /* TypB.nb_item   n° du dernier enregistrement                   */

//* ------------------------------------------------------------------------------------------------------------
//* Gestion des animations
//* ------------------------------------------------------------------------------------------------------------

var Anim=new Anim_Init();                    /* Initialisation de l'objet Anim                                */
function Anim_Init ()                        /* Initialisation de la variable Anim.xxxx                       */
  { this.nb_item=0;                          /* Anim.nb_item   nombre d'enregistrement                        */
    this.Add=Anim_Add;}                      /* Anim.Add       Ajout d'une animation                          */
function Anim_Add (selection,picture,width,height)   /* Ajout d'une animation                                 */
  { var nb = this.nb_item;
    var item = new Object;
      item.seri=selection                    /* Anim[i].seri   groupe de sélection des images                 */
      item.pict=picture;                     /* Anim[i].pict   image de l'animation                           */
      item.widt=width;                       /* Anim[i].widt   largeur de l'image                             */
      item.heig=height;                      /* Anim[i].heig   hauteur de l'image                             */
    this[nb]=item; this.nb_item++;}          /* Anim.nb_item   n° du dernier enregistrement                   */

var Titr=new Titr_Init();                    /* Initialisation de l'objet Titr                                */
function Titr_Init ()                        /* Initialisation de la variable Titr.xxxx                       */
  { this.nb_item=0;                          /* Titr.nb_item   nombre d'enregistrement                        */
    this.Add=Titr_Add;}                      /* Titr.Add       Ajout d'un titre d'animation                   */
function Titr_Add (selection,titre,adresse,short,html,logo)    /* Ajout d'un titre                            */
  { var nb = this.nb_item;
    var item = new Object;
      item.seri=selection                    /* Titr[i].seri   groupe de sélection des images                 */
      item.titr=titre;                       /* Titr[i].titr   Titre de l'animation                           */
      item.href=adresse;                     /* Titr[i].href   Nom du Volume des photos                       */
      item.altx=short;                       /* Titr[i].altx   Teste a afficher si pointeur                   */
      item.html=html;                        /* Titr[i].html   adresse si click                               */
      item.logo=logo;                        /* Titr[i].logo   logo (100 x 100)                               */
    this[nb]=item; this.nb_item++;}          /* Titr.nb_item   n° du dernier enregistrement                   */

var Aser=new Aser_Init();                    /* Initialisation de l'objet Aser                                */
function Aser_Init ()                        /* Initialisation de la variable Aser.xxxx                       */
  { this.nb_item=0;                          /* Aser.nb_item   nombre d'enregistrement                        */
    this.Add=Aser_Add;}                      /* Aser.Add       Ajout d'une Animation                          */
function Aser_Add (picture,width,height)     /* Ajout d'une Aseration                                         */
  { var nb = this.nb_item;
    var item = new Object;
      item.pict=picture;                     /* Aser[i].pict   image de l'Aseration                           */
      item.widt=width;                       /* Aser[i].widt   largeur de l'image                             */
      item.heig=height;                      /* Aser[i].heig   hauteur de l'image                             */
    this[nb]=item; this.nb_item++;}          /* Aser.nb_item   n° du dernier enregistrement                   */

