/**
  * IFW_Fonction.js
  *
  * Fonctions javascript
  * @author	InterFaceWeb - Sébastien LATIL <sebastien.latil@free.fr>
  * @version	3 juin 2010
  * @copyright	2010 - InterFaceWeb
*/

  /**
  * Fonction selectionne tous les checkbox d'une div
  *
  * @param string 	idDiv identifiant de la DIV
  */
function toutSelectionner(idDiv) {
  var cb=document.getElementById(idDiv).getElementsByTagName('input'); //Div des photo
  for (var i = 0; i < cb.length; i++) {
    if (cb[i].type.toLowerCase() == "checkbox") cb[i].checked = true;
  }
}

  /**
  * Fonction montre/cache un element identifié avec id
  *
  * @param string 	idDiv identifiant de la DIV
  */
function IFW_montreCache(idDiv) {
  element=document.getElementById(idDiv);
  if (element) {
    if (element.style.display=='none') {
      element.style.display='';
      if (document.getElementById('display'+idDiv)) document.getElementById('display'+idDiv).value=0;
    }
    else {
      element.style.display='none';
      if (document.getElementById('display'+idDiv)) document.getElementById('display'+idDiv).value=1;
    }
  }
}

function IFW_changeDisplay(element,display) {
  element=document.getElementById(element);
  if (element) element.style.display=display;
}

  /**
  * Fonction Affiche Miniature
  *
  * Il faut stocke toutes les images <img dans une div id=galerie_mini
  *
  * @param string 	idDivPhoto identifiant de la DIV où sont stocké les image
  */
function IFW_AffMiniature(ElementGalerie,ElementPhoto) {

  if (ElementGalerie==null) ElementGalerie='galerie_mini';
  if (ElementPhoto==null) ElementPhoto='photo';
  if (document.getElementById('map')) document.getElementById('map').style.display='none';

  var photos = document.getElementById(ElementGalerie) ;
  var liens = photos.getElementsByTagName('a') ;
  var big_photo = document.getElementById('big_pict') ;
  var titre_photo = document.getElementById(ElementPhoto).getElementsByTagName('dt')[0] ;
  if (titre_photo==null) titre_photo="-";

  for(var i = 0 ; i < liens.length ; i++) {

    //Pre-Chargement des images
    big_photo.src = liens[i].href;
    titre_photo.firstChild.nodeValue = liens[i].title ;

    liens[i].onclick = function() {
      document.getElementById(ElementPhoto).style.display='block';
      if (document.getElementById('map')) document.getElementById('map').style.display='none';
      big_photo.src = this.href ;
      big_photo.alt = this.title ;
      titre_photo.firstChild.nodeValue = this.title ;
      return false ;
    }
    liens[i].onmouseover = function () {
      IFW_affecteOpacite(this,50);
      document.getElementById(ElementPhoto).style.display='block';
      if (document.getElementById('map')) document.getElementById('map').style.display='none';
      big_photo.src = this.href ;
      big_photo.alt = this.title ;
      titre_photo.firstChild.nodeValue = this.title ;
      return false ;
    }

    liens[i].onmouseout = function () {
      IFW_affecteOpacite(this,100);
    }
  }
  //Mise en place de la 1ere photo
  big_photo.src = liens[0].href;
  titre_photo.firstChild.nodeValue = liens[0].title ;
}

function affGM(ElementPhoto) {
  if (ElementPhoto==null) ElementPhoto='photo';
  document.getElementById(ElementPhoto).style.display='none';
  document.getElementById('map').style.display='block';
}

  /**
  * Fonction diaporama automatique.
  *
  * Il faut stocke toutes les images <img dans une div id=img et id=img1 

  *
  *
  * @param string 	idDivPhoto identifiant de la DIV où sont stocké les image
  */
function IFW_diaporamaAuto() {

  //Configutation Diaporama
  var temps=2000; //Reglage du defilement entre les image en ms
  var altern=true; //Alterne le defilement ou pas true=oui false=non

  //---
  var diaporama1=document.getElementById('img').getElementsByTagName('img'); //Div des photo
  var diaporama2=document.getElementById('img1').getElementsByTagName('img'); //Div des photo
  var numEnCours1=0;
  var numEnCours2=0;
  var diaporamaValide1,diaporamaValide2;

  //Verification de la presence d'images
  diaporamaValide1=(diaporama1.length>0)?true:false;
  diaporamaValide2=(diaporama2.length>0)?true:false;

  var alterValeur;
  alterValeur=(diaporamaValide1)?1:(diaporamaValide2)?2:0;
  
  //initialise des photos du diaporama
  for (var i = 0; i < diaporama1.length; i++) {
    if (i==0) diaporama1[i].style.display='block'; else diaporama1[i].style.display='none';
    }
  for (var i = 0; i < diaporama2.length; i++) {
    if (i==0) diaporama2[i].style.display='block'; else diaporama2[i].style.display='none';
    }

  function changeImage() {
    //Suppression image
    if (diaporamaValide1) diaporama1[numEnCours1].style.display='none';
    if (diaporamaValide2) diaporama2[numEnCours2].style.display='none';
    //Calcul image suivante
    if (!altern)
      {
      if (diaporamaValide1) numEnCours1=_photoDiapo(numEnCours1,diaporama1); //image suivante sur diaporama1
      if (diaporamaValide2) numEnCours2=_photoDiapo(numEnCours2,diaporama2); //image suivante sur diaporama2
      }
    else
      {
      if (alterValeur==1)
	{
	numEnCours1=_photoDiapo(numEnCours1,diaporama1); //image suivante sur diaporama1
	alterValeur=(diaporamaValide2)?2:1;
	}
      else if (alterValeur==2)
	{
	numEnCours2=_photoDiapo(numEnCours2,diaporama2); //image suivante sur diaporama2
	alterValeur=(diaporamaValide1)?1:2;
	}
      }

    //Affichage image
    if (diaporamaValide1) diaporama1[numEnCours1].style.display='block';
    if (diaporamaValide2) diaporama2[numEnCours2].style.display='block';

    //Boucle
    setTimeout(function() { changeImage(); },temps);
  }

  //Fonction calcul img svt
  function _photoDiapo(num,diap) {
    var Key;

    for (Val in diap) {
      if (Val==num) {
	Key=Val;
	break;
      }
    }
    MaxElement=(diap.length-1);
    if (Key==MaxElement) Key=0;
    else if (Key<MaxElement) Key++;
    return Key;
  }

  //Lance le diaporama
  changeImage();
}

  /**
  * Fonction diaporama automatique.
  *
  * Il faut stocke toutes les images <img dans une div id=img et id=img1 

  *
  *
  * @param string 	idDivPhoto identifiant de la DIV où sont stocké les image
  */
function IFW_diapoAuto(divDiapo) {

  //Configutation Diaporama
  var temps=2000; //Reglage du defilement entre les image en ms

  //---
  var diaporama1=document.getElementById(divDiapo).getElementsByTagName('img'); //Div des photo
  var numEnCours1=0;
  var numEnCours2=0;
  var diaporamaValide1,diaporamaValide2;

  //Verification de la presence d'images
  diaporamaValide1=(diaporama1.length>0)?true:false;
  
  //initialise des photos du diaporama
  for (var i = 0; i < diaporama1.length; i++) {
    if (i==0) diaporama1[i].style.display='block'; else diaporama1[i].style.display='none';
    }

  function changeImage() {
    //Suppression image
    diaporama1[numEnCours1].style.display='none';
    numEnCours1=_photoDiapo(numEnCours1,diaporama1); //image suivante sur diaporama1

    //Affichage image
    diaporama1[numEnCours1].style.display='block';

    //Boucle
    setTimeout(function() { changeImage(); },temps);
  }

  //Fonction calcul img svt
  function _photoDiapo(num,diap) {
    var Key;

    for (Val in diap) {
      if (Val==num) {
	Key=Val;
	break;
      }
    }
    MaxElement=(diap.length-1);
    if (Key==MaxElement) Key=0;
    else if (Key<MaxElement) Key++;
    return Key;
  }

  //Lance le diaporama
  changeImage();
}


  /**
  * Fonction diaporama simple.
  *
  * Il faut stocke toutes les images <img dans une div id=idDivPhoto
  * Le bouton "suivant" à un id= 'diapoSuivant'
  * Le bouton "precedent" à un id= 'diapoPrecedent'
  *
  *
  * @param string 	idDivPhoto identifiant de la DIV où sont stocké les image
  */

function IFW_diaporama(idDivPhoto) {

  var img=document.getElementById(idDivPhoto).getElementsByTagName('img'); //Div des photo
  var dP=document.getElementById('diapoPrecedent'); //Bouton photo precedente
  var dS=document.getElementById('diapoSuivant'); //Bouton photo suivante

  var numEnCours=0;

  //initialise les photos
  for (var i = 0; i < img.length; i++) {
    if (i==0) img[i].style.display='block'; else img[i].style.display='none';

    image=img[i];
    image.onclick=function () {
      this.style.display='none';
      numEnCours=_photoDiapo("p");
      img[numEnCours].style.display='block';
      return false;
    }
  }

  //Initialise les bouton precedent/suivant
  dP.onclick=function () {
    img[numEnCours].style.display='none';
    numEnCours=_photoDiapo("p");
    img[numEnCours].style.display='block';
    return false;
  }
  dS.onclick=function () {
    img[numEnCours].style.display='none';
    numEnCours=_photoDiapo("s");
    img[numEnCours].style.display='block';
    return false;
  }


  //Fonction calcul img svt prec
  function _photoDiapo(Sens) {
    var Key;

    for (Val in img) {
      if (Val==numEnCours) {
	Key=Val;
	break;
      }
    }

    MaxElement=(img.length-1);

    if ((Sens=="s")&&(Key==MaxElement)) Key=0;
    else if ((Sens=="s")&&(Key<MaxElement)) Key++;
    else if ((Sens=="p")&&(Key==0)) Key=MaxElement;
    else if ((Sens=="p")&&(Key>0)) Key--;

    return Key;
  }
}

/**
* Affecte une opacite à un objet.
*
* @param objet 	objet : Element recevant l'opacite
* @param int 	valeur : Valeur de l'opacite en % min=0 max=100
*/
function IFW_affecteOpacite(objet,valeur) {
  objet.style.opacity=(valeur/100);
  objet.style.MozOpacity=(valeur/100);
  objet.style.KhtmlOpacity=(valeur/100);
  objet.style.filter='alpha(opacity='+valeur+')';
  objet.style.filter='progid:DXImageTransform.Microsoft.alpha(opacity='+valeur+')';
}

function masqueDetail() {
  document.getElementById('divDetail').style.display='none';
  document.getElementById('afficheDetail').innerHTML="";
  return false;
}

function affDetail(HtmlContenu) {
  document.getElementById('divDetail').style.display='block';
  document.getElementById('afficheDetail').innerHTML=HtmlContenu;
}

function ajusteDimDiv(widthDiv,heightDiv) {
  document.getElementById('CadreDetailHtml').style.width=widthDiv+"px";
  document.getElementById('CadreDetailHtml').style.height=heightDiv+"px";
}

function affVideoYouTube(numVideo) {
  HtmlContenu="<object width=\"560\" height=\"450\"><param name=\"movie\" value=\"http://www.youtube.com/v/"+numVideo+"?fs=1&hl=fr_FR&autoplay=1&color1=0xcc2550&color2=0xe87a9f\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/"+numVideo+"?fs=1&hl=fr_FR&autoplay=1&color1=0xcc2550&color2=0xe87a9f\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"560\" height=\"450\"></embed></object>";
  affDetail(HtmlContenu);
  ajusteDimDiv(560,450);
  return false;
}

function affImage(nomPhoto,divImgZoom) {
  HtmlContenu="<img src='"+nomPhoto+"' id='imgIFW'><img src='Public/Images/iconeGauche.png' id='diapoPrecedent' style='cursor:pointer;position:absolute;top:5px; left:5px; z-index:10000;'><img src='Public/Images/iconeDroite.png' id='diapoSuivant' style='cursor:pointer;position:absolute;top:5px; left:50px; z-index:10000;'>";
  affDetail(HtmlContenu);
  _affImgZoom(nomPhoto,'');


  var img=document.getElementById(divImgZoom).getElementsByTagName('img'); //Div des photo
  var dP=document.getElementById('diapoPrecedent'); //Bouton photo precedente
  var dS=document.getElementById('diapoSuivant'); //Bouton photo suivante
  var numEnCours=0;

  //Initialise les bouton precedent/suivant
  dP.onclick=function () {
    numEnCours=_photoDiapo("p");
    _affImgZoom(img[numEnCours].src,img[numEnCours].alt);
    return false;
  }
  dS.onclick=function () {
    numEnCours=_photoDiapo("s");
    _affImgZoom(img[numEnCours].src,img[numEnCours].alt);
    return false;
  }

  //Fonction calcul img svt prec
  function _photoDiapo(Sens) {
    var Key;

    for (Val in img) {
      if (Val==numEnCours) {
	Key=Val;
	break;
      }
    }

    MaxElement=(img.length-1);

    if ((Sens=="s")&&(Key==MaxElement)) Key=0;
    else if ((Sens=="s")&&(Key<MaxElement)) Key++;
    else if ((Sens=="p")&&(Key==0)) Key=MaxElement;
    else if ((Sens=="p")&&(Key>0)) Key--;

    return Key;
  }

  function _affImgZoom(nomPhoto,alt) {
    document.getElementById('imgIFW').src=nomPhoto;
    document.getElementById('imgIFW').alt=alt;
    widthDiv=document.getElementById('imgIFW').width;
    heightDiv=document.getElementById('imgIFW').height;
    ajusteDimDiv(widthDiv,heightDiv);
    return false;
   }
}

function recommander(){
  mail_str = "mailto:?subject=" + document.title;
  mail_str += "&body=Ce document peut t'interesser " + document.title;
  mail_str += ", disponible a l'adresse : " + location.href;
  location.href = mail_str;
  return false;
  }
  
  
//Affichage des images dans un nouvelle fenetre----------------------
function IFW_imagePopup(cheminImg,titre)
   {
   i1 = new Image;
   i1.src = cheminImg;
   html="<html><head><title>"+titre+"</title></head><body scroll='no' leftmargin='0' marginwidth='0' topmargin='0' marginheight='0' onBlur='top.close()'><IMG src='"+cheminImg+"' alt='Grande Randonnee .fr' BORDER=0 NAME=ImagePop onLoad='window.resizeTo(document.ImagePop.width+10,document.ImagePop.height+30)'></body></html>";
   popupImage = window.open('','_blank','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=0,resizable=1');
   popupImage.document.open();
   popupImage.document.write(html);
   popupImage.document.close()
   }
   
function IFW_changeQt(qt,max)
  {
  if (qt!=null) document.getElementById('quantite').value=eval(document.getElementById('quantite').value)+qt;
  if (max!=null) if (document.getElementById('quantite').value>max) document.getElementById('quantite').value=max;
  if (document.getElementById('quantite').value<1) document.getElementById('quantite').value=1;
  return false;
  }
