/* Identifier le browse */
//var browser = new BrowserDetectLite();

/* Tableau de navigation dans les images ou textes */
  var chemin = new Array();
  var titre = new Array();
  var legende = new Array();
  var i = 0;

function typewriter() { /* Ecriture machine à écrire */
  lelien = document.getElementById('deroulant');
  if(cmpt < letexte.length){
   courant = lelien.innerHTML.substring(0, lelien.innerHTML.length -1);
   courant += letexte.charAt(cmpt)+" ";
   lelien.innerHTML = courant;
   cmpt++;
   setTimeout("typewriter()",50);
  }
}

function changeLangue() { /* Changement de langage */
 document.forms[0].submit();
 monurl="index.php";
 document.location.href=monurl;
} 
function preload() {	/* non utilisée pour l'instant*/
 if (document.images) {
  tabImages=new Array;
  for (var i=0;i<preload.arguments.length; i++) {
   tabImages[i]= new Image();
   tabImages[i].src=preload.arguments[i];
  }
 }
}
function dimensions() { /* Non utilisée, fait en css */
 var lim = document.getElementById("zoom").width;
 var him = document.getElementById("zoom").height;
 rec = lec / hec; /* rapport largeur / hauteur ecran disponible */
 rim = lim / him; /* rapport largeur / hauteur de l'image à afficher */
 if (rim == rec) {	/* si même rapport */
  lim_opt = lec;
  him_opt = hec;
  left_opt = (lec - lim_opt)/2 + 40;
  top_opt = (hec - him_opt)/2 + 60;
 }
 else {	/* si rapport image < rapport ecran */
  if (rim < rec) {
   him_opt = hec;
   lim_opt = him_opt * rim;
   left_opt = (lec - lim_opt )/2 + 40;
   top_opt = 80;
  }
  else { /* si rapport image > rapport ecran */
   lim_opt = lec;
   him_opt = lim_opt / rim;
   left_opt = 40;
   top_opt = (hec - him_opt)/2 + 60;
  }
 }
 document.getElementById("zoom").style.width = lim_opt+'px';
 document.getElementById("zoom").style.height = him_opt+'px'; 
 document.getElementById("zoom").style.left = left_opt+'px';
 document.getElementById("zoom").style.top = top_opt+'px';
 document.getElementById("zoom").style.visibility = 'visible';	/* affichage après recadrage */
}
function dimensionsZoom() {
    var lim = document.getElementById("zoom").offsetWidth;
    var him = document.getElementById("zoom").offsetHeight;
    var rim = lim/him;
    if ( rim < rec ) {	//si ratio image < ratio écran agrandir au maxi en largeur
     document.getElementById("zoom").style.width = (lec)+'px';
     document.getElementById("zoom").style.height = (lec / rim)+'px';
    }
    else {		//si ratio image >= ratio écran agrandir au max en hauteur
    document.getElementById("zoom").style.width = (hec * rim)+'px';
    document.getElementById("zoom").style.height = (hec)+'px';
    }
}
function grandelargeur() {
    var lim = document.getElementById("zoom").offsetWidth;			// largeur image réelle
    var him = document.getElementById("zoom").offsetHeight;			// hauteur image réelle
    var rim = lim/him;								// calcule ratio image
    document.getElementById("zoom").style.width = (lec*0.95)+'px';		// fixe largeur maxi
    document.getElementById("zoom").style.height = (lec*0.95 / rim)+'px'; 	// fixe hauteur en proportion
    document.getElementById("zoom").style.visibility = 'visible';		// affiche
}
function grandehauteur() {
    var lim = document.getElementById("zoom").offsetWidth;			// largeur image réelle
    var him = document.getElementById("zoom").offsetHeight;			// hauteur image réelle
    var rim = lim/him;								// calcule ratio image
    document.getElementById("zoom").style.height = (hec*0.95)+'px';		// fixe sa hauteur
    document.getElementById("zoom").style.width = (lec*0.95 * rim)+'px';	// fixe largeur maxi
    document.getElementById("zoom").style.visibility = 'visible';		// affiche
}

// fonctions d'actualisation de la liste des pages de textes
// ---------------------------------------------------------
function pageFirst() 	//repositionne sur 1ère page de texte
{
    var j = document.forms[0].param1.value;
    var monurl="index.php?type_page=page_texte&param1="+j+"&param2=0";
    document.location.href=monurl;
    
}
function pagePrev() //repositionne sur page précédente de texte
{
    var j = document.forms[0].param1.value;
    var i = parseInt(document.forms[0].param2.value);
    var k = parseInt(document.forms[0].param5.value);
    if (i >= k)
    {
     i = parseInt(i) - parseInt(k);
    }
    var monurl="index.php?type_page=page_texte&param1="+j+"&param2="+i;
    document.location.href=monurl;
}
function pageNext()  // repositionne sur page suivante de texte
{
    var j = document.forms[0].param1.value;
    var i = document.forms[0].param2.value;
    var k = document.forms[0].param5.value;
    var l = parseInt(i) + parseInt(k);
    var ll = document.forms[0].param4.value;
    if (l < ll)
    {
     i = parseInt(i) + parseInt(k);
    }
    var monurl="index.php?type_page=page_texte&param1="+j+"&param2="+i;
    document.location.href=monurl;
}
function pageLast()  // repositionne sur dernière page de texte
{
    var j = document.forms[0].param1.value;	// n° de catégorie
    var k = document.forms[0].param5.value;	// nombre de textes affichables par page
    var ll = document.forms[0].param4.value; 	// nombre total de textes
    var m = parseInt(ll) % k;
    var i;
    if ( m == 0)
     i = ll - k;
    else
     i = ll - m;

    var monurl="index.php?type_page=page_texte&param1="+j+"&param2="+i;
    document.location.href=monurl;
}

// fonctions de gestion des commentaires
// -------------------------------------
function lireComment() {
 var categ = document.forms[0].param1.value;
 var num = document.forms[0].param2.value;
/// alert("lireComment "+categ+"/"+num);
 var monurl="comment.php?mode=lecture&param1="+categ+"&param2="+num;
 document.location.href=monurl;
}

function ajoutComment() {
 var categ = document.forms[0].param1.value;
 var num = document.forms[0].param2.value;
 var monurl="comment.php?mode=ajout&param1="+categ+"&param2="+num;
 document.location.href=monurl;
// alert("ajoutComment");
// récupérer id du média
// récupérer id de l'internaute (facultatif)
// récupérer le commentaire saisi
// récupérer date et heure du commentaire
// générer une entrée dans comment.conf
// générer un texte de nom commentNNN sous le répertoire comment
}

// fonctions d'actualisation de la liste des images
// ------------------------------------------------
function imageFirst() {
    var g = parseInt(document.forms[0].param1.value);
    var monurl="index.php?type_page=galerie&param1="+g+"&param2=0&param3=0";
    document.location.href=monurl;
}
function imagePrev() {
    var g = parseInt(document.forms[0].param1.value);
    var i = parseInt(document.forms[0].param2.value);
    if ( i > 0) i--;
    var monurl="index.php?type_page=galerie&param1="+g+"&param2="+i+"&param3="+i;
    document.location.href=monurl;
}
function imageNext() {
    var g = parseInt(document.forms[0].param1.value);
    var i = parseInt(document.forms[0].param2.value);
    var limi = parseInt(document.forms[0].param4.value);
    if (i < limi-1) i++;
    var monurl="index.php?type_page=galerie&param1="+g+"&param2="+i+"&param3="+i;
    document.location.href=monurl;
}
function imageLast() {
    var g = parseInt(document.forms[0].param1.value);
    var i = parseInt(document.forms[0].param4.value) - 1;
    var monurl="index.php?type_page=galerie&param1="+g+"&param2="+i+"&param3="+i;
    document.location.href=monurl;
}

// fonctions de chargement dynamique images et titres et legendes associées
// ------------------------------------------------------------------------
function imagetable(chemini,titre,legende) {
  document.images["grande"].src = chemini;
 document.getElementById("lien_grande").href = "sitezoomdiv.php?indice="+chemini+"&amp;cadrage=grandelargeur";
 if (document.getElementById("titre_image") != null)
   document.getElementById("titre_image").innerHTML = titre;
 if (document.getElementById("legende_image") != null)
  document.getElementById("legende_image").innerHTML = legende;
}
function imagefleches(repertoire,sens) {
 var limi = parseInt(document.forms[0].param4.value);
 if (sens == "imageFirst") i = 0;
 if (sens == "imageNext" && i<limi -1)   i++;
 if (sens == "imagePrev" && i>0)   i--;
 if (sens == "imageLast") i = limi -1;
 document.images["grande"].src = repertoire+chemin[i];
 document.getElementById("lien_grande").href = "sitezoomdiv.php?indice="+repertoire+chemin[i]+"&amp;cadrage=grandelargeur";
 if (document.getElementById("titre_image") != null)
  document.getElementById("titre_image").innerHTML = titre[i];
 if (document.getElementById("legende_image") != null)
  document.getElementById("legende_image").innerHTML = legende[i];
 return i;
}
function pagefleches(repertoire,sens) {
 var limi = parseInt(document.forms[0].param4.value);
 if (sens == "pageFirst") {  i = 0; }
 if (sens == "pageNext" && i<limi -1)  { i++; }
 if (sens == "pagePrev" && i>0)  { i--; }
 if (sens == "pageLast")  { i=limi - 1; }
// utilisation de Ajax obligatoire !
 ajaxLireTexte(repertoire,chemin[i]); 
 if (document.getElementById("titre_texte") != null)
  document.getElementById("titre_texte").innerHTML = titre[i];
 if (document.getElementById("legende_texte") != null)
  document.getElementById("legende_texte").innerHTML = legende[i];
 return i;
}
// utiliser Ajax pour rappatrier le contenu d'un fichier
function ajaxLireTexte(Nomchemin,Nomfichier) {
 var xhr_object = null;
 if ( window.XMLHttpRequest)	//firefox et autre Gekco
  xhr_object = new XMLHttpRequest();
 else if(window.ActiveXObject) 	//IE de microsoft
  try {
       xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) 
        {
         try {
              xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
             } catch (e) {}
        }
 else
  alert("Ce navigateur ne supporte pas Ajax");
  
// if (window.ActiveXObject)
//  xhr_object.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset:ISO-8859-1");
//  xhr_object.setRequestHeader("Content-Type", "text/xml");
 
 xhr_object.open("GET",Nomchemin+Nomfichier,true); 	//appel du fichier en asynchrone
// formatage du texte avec accentués et €
 if ( window.XMLHttpRequest)	//firefox et autre Gekco
  xhr_object.overrideMimeType('text/html; charset=ISO-8859-1');

 xhr_object.onreadystatechange = function() {
  if (xhr_object.readyState == 4) {
   var response=xhr_object.responseText;
   document.getElementById("paragraphe_texte").innerHTML = response;
   if (window.ActiveXObject) {
    //faire le décodage 
   }
  }
 }
 xhr_object.send(null);
}

function BrowserDetectLite() {
   var ua = navigator.userAgent.toLowerCase(); 
   var name;
   // browser name
   this.isGecko     = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
   this.isMozilla   = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
   this.isNS        = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
   this.isIE        = ( (ua.indexOf('msie') != -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) ); 
   this.isSafari    = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') != - 1 && ua.indexOf('chrome') == -1);
   this.isOpera     = (ua.indexOf('opera') != -1); 
   this.isKonqueror = (ua.indexOf('konqueror') != -1 && !this.isSafari); 
   this.isIcab      = (ua.indexOf('icab') != -1); 
   this.isAol       = (ua.indexOf('aol') != -1); 
   this.isFirefox   = (ua.indexOf('gecko') != -1 && ua.indexOf('firefox') != -1);
   this.isKmeleon   = (ua.indexOf('gecko') != -1 && ua.indexOf('k-meleon') != -1);
   this.isChrome    = (ua.indexOf('gecko') != -1 && ua.indexOf('chrome'!= -1 && ua.indexOf('safari') != - 1)); 

   // spoofing and compatible browsers
   this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
   this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);
   
   // browser version
   this.versionMinor = parseFloat(navigator.appVersion); 
   
   // correct version number
   if (this.isNS && this.isGecko) {
      this.name = "Netscape";
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
   }
   else if (this.isIE && this.versionMinor >= 4) {
      this.name ="IE";
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
   }
   else if (this.isMozilla) {
      this.name = "Mozilla";
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
   }
   else if (this.isSafari) {
      this.name = "Safari";
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
   }
   else if (this.isOpera) {
      this.name = "Opera";
      if (ua.indexOf('opera/') != -1) {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) );
      }
      else {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) );
      }
   }
   else if (this.isKonqueror) {
      this.name = "Konqueror";
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
   }
   else if (this.isIcab) {
      this.name = "Icab";
      if (ua.indexOf('icab/') != -1) {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) );
      }
   }
   else if (this.isFirefox) {
      this.name = "Firefox";
   }
   else if (this.isChrome) {
      this.name = "Chrome";
   }
   else if (this.isKmeleon) {
   	this.name = "Kmeleon";
   }
    else {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) );
   }
   
   this.versionMajor = parseInt(this.versionMinor); 
   this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
   
   // dom support
   this.isDOM1 = (document.getElementById);
   this.isDOM2Event = (document.addEventListener && document.removeEventListener);
   
   // css compatibility mode
   this.mode = document.compatMode ? document.compatMode : 'BackCompat';

   // platform
   this.isWin   = (ua.indexOf('win') != -1);
   this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );
   this.isMac   = (ua.indexOf('mac') != -1);
   this.isUnix  = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
   this.isLinux = (ua.indexOf('linux') != -1);
   
   // specific browser shortcuts
   this.isNS4x = (this.isNS && this.versionMajor == 4);
   this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
   this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
   this.isNS4up = (this.isNS && this.versionMinor >= 4);
   this.isNS6x = (this.isNS && this.versionMajor == 6);
   this.isNS6up = (this.isNS && this.versionMajor >= 6);
   this.isNS7x = (this.isNS && this.versionMajor == 7);
   this.isNS7up = (this.isNS && this.versionMajor >= 7);
   
   this.isIE4x = (this.isIE && this.versionMajor == 4);
   this.isIE4up = (this.isIE && this.versionMajor >= 4);
   this.isIE5x = (this.isIE && this.versionMajor == 5);
   this.isIE55 = (this.isIE && this.versionMinor == 5.5);
   this.isIE5up = (this.isIE && this.versionMajor >= 5);
   this.isIE6x = (this.isIE && this.versionMajor == 6);
   this.isIE6up = (this.isIE && this.versionMajor >= 6);
   
   this.isIE4xMac = (this.isIE4x && this.isMac);
//   return(this.name+" / "+this.versionMajor);
   return(this.name);
}
