//Variables globales
var  IEBrowser   = navigator.appName == 'Microsoft Internet Explorer';
var  Strversion  = navigator.appVersion.split("MSIE");
var  IEVersion   = IEBrowser ? parseFloat(Strversion[1]) : -1;
var  oldValue    = "";
var  footerFixed = false;
var  boxesHeight = 192;
var  calDate     = new GnooCalendar("calDate", 20, 10 );
// Variables pour statistiques
/*var a_vars           = Array();
var pagename         ='';
var phpmyvisitesSite = 1;
var phpmyvisitesURL  = "phpmv2/phpmyvisites.php";*/

/* ====================================== INITIALISATION ====================================================*/

//Au chargement du document on déclenche les fonctions suivantes :
window.onload = function() { 
  setFooter();
  init();
}


if(!window.largeur && window.innerWidth) {
   window.onresize = setFooterWidth;
   height = getWindowHeight();
   width  = getWindowWidth();
}


//Fonctions pour de redimentionnement de la largeur du pied de page
function setFooterWidth()
{
 // Si la largeur ou la longueur a été modifiée
  if (width != getWindowWidth() || height != getWindowHeight())  {

    if (footerFixed) {
      /* Uniquement pour IE et si le pied de page à été repositionné de manière absolue pour "coller" au bas de la page
         (parce que la hauteur du contenu est inférieure à la hauteur affichable) alors on redimentionne sa taille       */

      if (IEBrowser && IEVersion < 7) {
        var footer         = document.getElementById('footer');
        footer.style.width = (getWindowWidth() - 40  ) + "px";
      }

      var main = document.getElementById('main');
      if (main != null) {
        main.style.height = (getWindowHeight() - boxesHeight)+'px';
       var rayonBox        = document.getElementById('rayon_box');
       var searchBoxHeight = (document.getElementById('search_box')==null) ? 0    : document.getElementById('search_box').offsetHeight;
       if (rayonBox != null) {
         rayonBox.style.height = (main.offsetHeight  - searchBoxHeight - 40)+'px';
       }
      }
    }
  }
}

/*
  Fonction appelée au chargement d'une page pour affecter dynamiquement des évenements
  aux champs de saisie texte, password ou textarea et aux liens du menu
*/
function init()
{
  var inputs         = document.getElementsByTagName("INPUT");
  var searchTxt      = null;
  var firstTextInput = true;


  for ( var i=0;i<inputs.length;i++ ) {
    if ( (inputs[i].type == 'text') || (inputs[i].type =='password') || (inputs[i].type =='textarea') ) {
      /*
        Seulement pour IE (le pseudo format css input:focus ne fonctionnant pas) on associe
        dynamiquement aux champs de saisie de type text,password ou textarea les fonctions
        InputFocusEvt(element_en_cours) et InputBlurEvt(element_en_cours)
        respectivement aux évenements prise et perte de focus
      */



      if (IEBrowser && IEVersion < 7) {

        if ((inputs[i].id != 'searchtxt') && (inputs[i].id != 'searchcde') && (inputs[i].id != 'log')	) {
          if (inputs[i].onfocus == null) inputs[i].onfocus = new Function("InputFocusEvt(this)");
          if (inputs[i].onblur  == null) inputs[i].onblur  = new Function("InputBlurEvt(this)");
        }
      }
      //Met le focus sur le premier champ texte
      if ((firstTextInput) && (inputs[i].id != "searchtxt") && (inputs[i].id != "searchcde") ) {
        inputs[i].focus();
        firstTextInput = false;
      }
    }
  }

  if (IEBrowser && IEVersion < 7) {
    var textAreas = document.getElementsByTagName("TEXTAREA");

    for (var i=0; i<textAreas.length; i++) {
    	textAreas[i].onfocus = new Function("InputFocusEvt(this)");
    	textAreas[i].onblur  = new Function("InputBlurEvt(this)");
    }
  }

  /*
    Pour des raisons de contenu les images boutons du menu font partie intégrante du document HTML.
    Pour les faire réagir aux passage de la souris on associe dynamiquement aux liens du menu les fonctions highlight(this) et normalLook(this),
    qui respectivement vont changer l'image du bouton au passage de la souris et la remettre à son apparence habituelle
  */
  for ( var i = 0; i < document.links.length; i++) {
    if ( (trim(document.links[i].id) != "") && (document.links[i].id.substr(0,3)=="lnk") ) {
      document.links[i].onmouseover = new Function("highlight(this)");
      document.links[i].onmouseout  = new Function("normalLook(this)");
    }
  }

//  var searchTxt = document.getElementById('searchtxt');

  affectFocusEvents(document.getElementById('searchtxt'));
  affectFocusEvents(document.getElementById('searchcde'));

  var login = document.getElementById("log");

  if (login != null) {
  	if (IEBrowser && IEVersion < 7)  {
  		login.onfocus = new Function("InputFocusEvt(this)");
  	}
  	login.onblur  = new Function("onBlurLogin(this)");
  }


  /*if (IEBrowser && IEVersion < 7) {
    for ( var j = 0; j < document.images.length ; j++) {
    fixPNG(document.images[j]);
    }
  }
  */
}

/* Fixe la position du pied de page par rapport à la taille du contenu */
function setFooter() {
  if ( document.getElementById ) {
    var windowHeight = getWindowHeight();

    if ( windowHeight > 0 ) {

      //Elements de la page :
      var footer   = document.getElementById('footer');     // pied de page
      var main     = document.getElementById('main');       // cadre principal
      var rayonBox = document.getElementById('rayon_box');  // boite des rayons
      //Hauteur des élements :
      var headerHeight    = document.getElementById('header').offsetHeight;     // entête
      var containerHeight = document.getElementById('container').offsetHeight;  // contenu
      var footerHeight    = footer.offsetHeight;                                // pied de page
      //hauteur de la fenêtre de recherche
      var searchBoxHeight = (document.getElementById('search_box')==null) ? 0 : document.getElementById('search_box').offsetHeight;

      // Si le menu du haut est présent dans le document alors on cumule sa hauteur à notre variable
      headerHeight += (document.getElementById('menubox') == null) ? 0 : document.getElementById('menubox').offsetHeight;

      /*
        Si la somme de l'entête, du contenu, du pied de page et de 30 pixel est inférieure
        à la hauteur d'affichage du navigateur alors on positionne de manière absolue le pied de page

        25 est la taille en pixel totale des espacement en hauteur entre :
          - l'entête le bord haut du navigateur (5),
          - l'entête et le contenu (10)
          - le contenu et le pied de page (10)
          - le pied de page et le bas du navigateur
      */
      boxesHeight = headerHeight + footerHeight + 25;

      /* positionnement absolu */
      if ( boxesHeight + containerHeight <= windowHeight ) {

        var footerleft  = document.getElementById('footercornerleft');
        var footerright = document.getElementById('footercornerright');

        footer.style.position   = 'absolute';
        footer.style.bottom     = '5px';
        footer.style.left       = '5px';
        footer.style.right      = '5px';
        //positionnement des coins gauche et droits
        footerleft.style.left   = '-15px';
        footerright.style.right = '-15px';
        footerFixed             = true;

        if ( IEBrowser && IEVersion < 7 ) {
          footer.style.width  = (document.body.clientWidth - 35 ) + "px";
          if (main !=null) main.style.height = (windowHeight - boxesHeight + 10) + 'px';
        }
        else {
        	if (main !=null) main.style.height = (windowHeight - boxesHeight) + 'px';
        }
      }
      /* Flux d'affichage normal */
      else {
         footer.style.position = 'static';
         footerFixed           = false;
      }

      if (rayonBox) {
        rayonBox.style.height = (main.offsetHeight  - searchBoxHeight - 40) + 'px';
      }
    }
  }
}