var optionMenuClique = '';
var loadingImg = 0;
var surSousMenu = new Array();       

 function initScrollLayer() {
          // hide loading gif

               
        /*  var load_lyr = document.getElementById? document.getElementById("loading"): document.all?document.all["loading"]: null;
          if (load_lyr) load_lyr.style.visibility = "hidden";
          */
          // arguments: id of layer containing scrolling layers (clipped layer), id of layer to scroll, 
          // if horizontal scrolling, id of element containing scrolling content (table?)
          var wndo = new dw_scrollObj('wn', 'lyr1', 'imgTbl');
          		  		 
        } 
		
// gestion AJAX
function ajaxRequest(idSuccess, urlAappeler, methodAppel, params) {
 //alert('start2 of prototype ajax request function.');
 var url = './'+urlAappeler;
 //alert(idSuccess);
 var ajax = new Ajax.Updater({success: idSuccess, failure: 'ajax-failure-div-id'}, url, {
   method: methodAppel, // post get
   parameters: params,
   encoding: 'iso-8859-1', //UTF-8
  // insertion: Insertion.Bottom,//Insertion.After Insertion.Before Insertion.Top Insertion.Bottom
   onCreate: processCreate,
   onSuccess: processSuccess,
   onFailure: processFailure,
   onComplete: processComplete
 });
 
 //alert('end of prototype ajax request function.');
}
function processCreate(transport) {
// alert('create');
}
function processSuccess(transport) {
 //alert('success');
 showResponses(transport);
}
function processFailure(transport) {
 //alert('failure');
 showResponses(transport);
}
function processComplete(transport) {
//alert('responseText: ' + trim(transport.responseText));

document.getElementById('loadingCentral').style.display = 'none';
window.scrollTo(0,0);
  if(document.getElementById('sectionRenvoyeePrincipalId').innerHTML)
  {
    var sectionCentre = document.getElementById('sectionRenvoyeePrincipalId').innerHTML;
  }

 //alert('sectionCentre '+sectionCentre+'d');
 switch(sectionCentre)
  {   
    case 'thumbs':        
	    document.getElementById('contenu').style.display = 'none';
		document.getElementById('contenuSectionPhoto').style.display = 'block';
		document.getElementById('listePage').style.display = 'block';
		document.getElementById('rssFeed').style.display='none';
		document.getElementById('tags').style.display='none';			
		document.getElementById('tagsPhoto').style.display = 'block';
		document.getElementById('recherche').style.display='none';			
		document.getElementById('rechercheTags').style.display = 'block';
		
		document.getElementById('texteIntroBlog').style.display='none';
		document.getElementById('texteVueDuWeb').style.display='none';			
		document.getElementById('textePhoto').style.display = 'block';
		
        var i = -1;            
        var j = 0;
       // initScrollVertical();
        var nbrThums = parseInt(document.getElementById('nbrPhotosId').innerHTML);
		//alert(nbrThums);
        var cptPhotos = 0;

        while(cptPhotos < nbrThums)
        {
          //idElement = "myElement"+j; //alert(idElement+nbrThums);
         // new Effect.Move($(idElement),{ x: 0, y: -30, mode: 'relative', duration:0, queue: {position: 'front', scope: init}});
         // new Effect.Opacity($(idElement),{ from: 0, to: 0, duration:0, queue: {position: 'front', scope: init}});
         // document.getElementById(idElement).style.display = 'none';
          surSousMenu[cptPhotos] = 0; 
          cptPhotos++;
          i++;
          j++;
		  
        }                       
       // alert(document.getElementById('pageThumbs').innerHTML);
        document.getElementById('listePage').innerHTML = document.getElementById('pageThumbs').innerHTML; 
        $('pageThumbs').remove();
        initScrollLayer(); 
        Lightview.updateViews();

        break; 
    case 'algo':
	        document.getElementById('contenu').style.display = 'block';
		    document.getElementById('contenuSectionPhoto').style.display = 'none';
			document.getElementById('rssFeed').style.display='none';
			document.getElementById('tagsPhoto').style.display = 'none';
			document.getElementById('tags').style.display='block';				
		    document.getElementById('rechercheTags').style.display = 'none';		    	
			document.getElementById('recherche').style.display='block';			
		    document.getElementById('textePhoto').style.display = 'none';    	
		    document.getElementById('texteVueDuWeb').style.display='none';
            document.getElementById('texteIntroBlog').style.display='block';					
	        break;
	case 'vueDuWeb':
			document.getElementById('contenu').style.display = 'block';
		    document.getElementById('contenuSectionPhoto').style.display = 'none';
			document.getElementById('tags').style.display='none';
			document.getElementById('tagsPhoto').style.display = 'none';
			document.getElementById('rssFeed').style.display='block';
			document.getElementById('rechercheTags').style.display = 'none';		    	
			document.getElementById('recherche').style.display='block';		
      
      document.getElementById('textePhoto').style.display = 'none';    			
    document.getElementById('texteIntroBlog').style.display='none';
    document.getElementById('texteVueDuWeb').style.display='block';			
			//alert();
			break;
       case 'projets': //alert('');
	        document.getElementById('contenu').style.display = 'block';
		    document.getElementById('contenuSectionPhoto').style.display = 'none';
			document.getElementById('rssFeed').style.display='none';
			document.getElementById('tagsPhoto').style.display = 'none';
			document.getElementById('tags').style.display='block';				
		    document.getElementById('rechercheTags').style.display = 'none';		    	
			document.getElementById('recherche').style.display='block';			
		    document.getElementById('textePhoto').style.display = 'none';    	
		    document.getElementById('texteVueDuWeb').style.display='none';
            document.getElementById('texteIntroBlog').style.display='block';					
	        break;
  }
  if( $('sectionRenvoyeePrincipalId'))
  {
    $('sectionRenvoyeePrincipalId').remove();
  }
  document.title = 'www.algoprojects.com';
  
}

function showResponses(transport) {
/*
 alert('responseHeaders: ' + transport.getAllResponseHeaders());
 alert('response header content-length: ' + transport.getResponseHeader('content-length'));
 alert('status: ' + transport.status);
 alert('statusText: ' + transport.statusText);
 alert('responseXML: ' + transport.responseXML);
 alert('responseText: ' + transport.responseText);
 */
 //document.getElementById('content').innerHTML = '';
}
// fin gestion AJAX

function rechercheTagsPhoto()
{
  manageSectionSite('thumbsContainer', 'photos', './sectionSite/thumbs.php', 'page=photos&idTag='+document.getElementById('valeurRechercheTagsPhotoId').value);
}

function rechercheAlgo()
{  
//alert('');
  manageSectionSite('contenu', 'algo', './sectionSite/algo.php', 'page=algo&keywordsRecherche='+document.getElementById('valeurRecherche').value);
}

function ouvreFormCommentaireNews(idNews)
{
  Lightview.show({
  href: './sectionSite/formCommentaire.php?idNews='+idNews,
  rel: 'iframe',
  
  
  title: '',
  caption: '',  
  options: {    
    topclose: true,
    scrolling: 'auto',
    width: 500,
    height: 500,
    ajax: {
      method: 'get',
      onComplete: function(){$('nomFormId').focus();  }
    }
  }
});
}

function ouvreFormCommentaire(idPhoto)
{
  Lightview.show({
  href: './sectionSite/formCommentairePhoto.php?idPhoto='+idPhoto,
  rel: 'iframe',
  
  
  title: '',
  caption: '',  
  options: {    
    topclose: true,
    scrolling: 'auto',
    width: 500,
    height: 500,
    ajax: {
      method: 'get',
      onComplete: function(){$('nomFormId').focus();  }
    }
  }
});
}

function trim(s) {
    return s.replace(/^\s+/, '').replace(/\s+$/, '');
}

//////////////////////////////////////////////////// fonction javascript pour l'admin////////////////////////////////////////////////////////
function updateOrdreAlbum(idLien, positionOrder)
{
  ajaxRequest('', 'index.php?page=updateAlbum&id='+idLien+'&positionOrder='+positionOrder, 'get', '');
}

function updateOrdrePhotos(idLien, positionOrder)
{
  ajaxRequest('', 'index.php?page=updatePhotos&id='+idLien+'&positionOrder='+positionOrder, 'get', '');
}

function updateOrdreDownload(idDownload, positionOrder)
{
  ajaxRequest('', 'index.php?page=updateDownload&id='+idDownload+'&positionOrder='+positionOrder, 'get', '');
}

function updateOrdreGallerie(idPhoto, positionOrder)
{
  ajaxRequest('', 'index.php?page=updateGallery&id='+idPhoto+'&positionOrder='+positionOrder, 'get', '');
}

function updateOrdreVideo(idVideo, positionOrder)
{
  ajaxRequest('', 'index.php?page=updateVideo&id='+idVideo+'&positionOrder='+positionOrder, 'get', '');
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function validationEmail(email)
{
 // expression régulière : email de type minimum : x@x.xx, maxi : n(nx.)nx@n(nx.)xxx
// accepte les emails en majuscule, les chiffres, et les caractères '-' et '_'
  var mail = /^[\w\-]+(\.[\w\-]+)*@[\w\-]+(\.[\w\-]+)*\.[\w\-]{2,}$/;
  reponse=mail.test(email);
 if (reponse) {
 	return true;
 }
 else {
	//alert("Adresse mail INVALIDE !");
 	return false;
 }
} 
/*
idAModifier = id qui sera modifier lors du retour de l'appel ajax
section = section du site
urlAAppeler = url appelé en ajax
listeParametre = liste des variables a envoyé a la page urlAAppeler
*/
function eteinsMenu()
{
  informationImage('./images/btBlog1.jpg', 'idBoutonBlog', 'nameBoutonBlog', '', 0, '', '');
  informationImage('./images/btVue1.jpg', 'idBoutonVue', 'nameBoutonVue', '', 0, '', '');
 // informationImage('./images/btprojet1.jpg', 'idBoutonProjets', 'nameBoutonProjets', '', 0, '', '');
  informationImage('./images/btPhoto1.jpg', 'idBoutonPhotos', 'nameBoutonPhotos', '', 0, '', '');
}


function manageSectionSite(idAModifier, section, urlAAppeler, listeParametre)
{
// alert(urlAAppeler+' '+idAModifier+' '+section+' '+listeParametre);
//document.getElementById(idAModifier).innerHTML = '<div id="loadingThumbsText"></div>';
//document.getElementById('listePage').innerHTML = '';

if( $('sectionRenvoyeePrincipalId'))
  {
    $('sectionRenvoyeePrincipalId').remove();
  }
  switch(section)
  {  
    case 'photos': //alert('manageSectionSite '+listeParametre);
     		eteinsMenu();						
			optionMenuClique = 'photos';
			dhtmlHistory.add(listeParametre, 'algo');			
			informationImage('./images/btPhoto2.jpg', 'idBoutonPhotos', 'nameBoutonPhotos', '', 0, '', '');
			//manageSectionSite('thumbsContainer', 'thumbs', './sectionSite/thumbs.php', 'page=thumbs&idTag=new');
			break;
	/*case 'thumbs': //alert('thumbs manageSectionSite'+listeParametre);
			//optionMenuClique = 'tag';
			optionMenuClique = 'photos';
			dhtmlHistory.add(listeParametre, 'algo');						
			break;	*/
    case 'algo':
   			 //alert('manageSectionSite'+listeParametre);			
			eteinsMenu();
			optionMenuClique = 'algo';
			dhtmlHistory.add(listeParametre, 'algo');		
			informationImage('./images/btBlog2.jpg', 'idBoutonBlog', 'nameBoutonBlog', '', 0, '', '');				
			break;
    case 'vueDuWeb':
                       //alert('manageSectionSite'+listeParametre);			
			eteinsMenu();
			optionMenuClique = 'vueDuWeb';
			dhtmlHistory.add(listeParametre, 'algo');		
			informationImage('./images/btVue2.jpg', 'idBoutonVue', 'nameBoutonVue', '', 0, '', '');
			break;		
	 case 'projets':
   			 //alert('manageSectionSite'+listeParametre);			
			eteinsMenu();
			optionMenuClique = 'projets';
			dhtmlHistory.add(listeParametre, 'algo');		
			informationImage('./images/btprojet2.jpg', 'idBoutonProjets', 'nameBoutonProjets', '', 0, '', '');				
			break;    
  }
  
  ajaxRequest(idAModifier, urlAAppeler+'?'+listeParametre, 'get', '');
  document.title = 'www.algoprojects.com';
  document.getElementById('contenu').style.display = 'none';
  document.getElementById('contenuSectionPhoto').style.display = 'none';
  document.getElementById('loadingCentral').style.display = 'block';
}


function manageHistorySite(urlSource)
{//alert(urlSource+' d');
 /* if(urlSource.indexOf(' ',0))
  { 
   manageSectionSite('contenu', 'algo', './sectionSite/algo.php', 'page=algo'); // première page a charger lors de l'arrivée sur le site
	
  }
  else
  {
  */
	//var debugMsg = document.getElementById("debugMsg");
	var chaine = urlSource.toString();
	var chaineTmp = "page";
	var positionCar = chaine.indexOf(chaineTmp,0);
	
	chaine = chaine.substr(positionCar);
	
	if(positionCar == -1)   // si je viens pas d'une url tout faite avec le http://
	{
	  var listeParametre = urlSource;
	}
	else                    // sinon je vais récupérer que les paramètes qui me concerne dans la chaine http://
	{
	  if(chaine.indexOf('#',0) != -1) // si j'ai le caractère # en début de chaine, je l'enlève
	  {
	    chaine = chaine.substr(chaine.indexOf('#',0)+1);
	  }
	  var listeParametre = chaine+' '; //chaine.substr(positionCar+1);
	}
	
 if( $('sectionRenvoyeePrincipalId'))
  {
    $('sectionRenvoyeePrincipalId').remove();
  }
	if(listeParametre != urlSource) // si j'ai un parametre de page
	{
	    listeParametre = trim(listeParametre);
		var reg = new RegExp("[&=]+", "g");	
		var tableau = listeParametre.split(reg);  // je découpe la chaine pour avoir : tableau[i] = nom de la variable et tableau[i+1] = valeur de la variable.
	    //alert('jai un parametre '+tableau[0]);  
		switch(tableau[0])  // normalement le 1er argument doit être la variable 'page' et en i+1 la valeur de la variable.
		{
		  case 'page':		       
			 	switch(trim(tableau[1]))
				{
				  case 'album':			
				  			//alert('rentre album');  
				  			manageSectionSite('contentListeGauche', 'album', './sectionSite/album.php', listeParametre);
				  		break;
				  case 'tag':			
				   			//alert('rentre tag');  
				  			manageSectionSite('contentListeGauche', 'tag', './sectionSite/tag.php', listeParametre);
				      break;
				case 'photos':			
				   			//alert('rentre thumbs');  
				  			manageSectionSite('thumbsContainer', 'photos', './sectionSite/thumbs.php', listeParametre);
				  		break;
         		/* case 'thumbs':			
				   			//alert('rentre thumbs');  
				  			manageSectionSite('thumbsContainer', 'thumbs', './sectionSite/thumbs.php', listeParametre);
				  		break;*/
				  case 'algo':			
				   			//alert('rentre thumbs');  
							
				  			manageSectionSite('contenu', 'algo', './sectionSite/algo.php', listeParametre);
				  		break;
                   case 'vueDuWeb':			
				   			//alert('rentre thumbs');  
							
				  			manageSectionSite('contenu', 'vueDuWeb', './sectionSite/vueDuWeb.php', listeParametre);
				  		break;
				   case 'projets':			
				   			//alert('rentre thumbs');  
							
				  			manageSectionSite('contenu', 'projets', './sectionSite/projets.php', listeParametre);
				  		break;

				}
		  break;  
		}
	}
	else
	 {	
	   manageSectionSite('contenu', 'algo', './sectionSite/algo.php', 'page=algo'); // première page a charger lors de l'arrivée sur le site
	 }
//  }
	// alert(tableau[0]+'fin urlsource'+tableau[1]);  
}





// Contient l'image dont le chargement a été lancé
       
 /*
 cheminImageACharger = chemin vers l'endroit ou est stocké l'image a afficher
 idImageACharger = id du tag <img> de l'image a charger
 nameImageGrandeName = élément name du tag <img> de l'image a charger
 idImageLoader = id du tag <img> contenant la gif de loading
 containerAImage = vaut 0 si il ne s'agit pas d'un tag <img> qui peut être chargé de manière régulière en même temps. (même tag <img> pour afficher differente img)
 idHrefImage = id du tag <a> entourant l'image qu'on a chargé (utilisé pour lightbox)
 cheminImagePourHref = chemin vers lequel le tag <a> envoie (le href)
 */
 
 function informationImage(cheminImageACharger, idImageACharger, nameImageGrandeName, idImageLoader, containerAImage, idHrefImage, cheminImagePourHref)
 { 
  // alert(cheminImageACharger+' '+idImageACharger+' '+idImageLoader);
   var bt1=new Image();
   
   if(containerAImage == 1)
    {
      loadingImg = cheminImageACharger;
    }
   
   if(idImageLoader != '')
   {
     document.getElementById(idImageACharger).style.display = 'none';
     document.getElementById(idImageLoader).style.display = 'inline';
   }
  
   bt1.onload = function(){
                            if((loadingImg == cheminImageACharger)||(containerAImage == 0))
   						    {// alert(cheminImageACharger+' '+idImageACharger);
 							  if(idHrefImage != '')
 							  {
 							    document.getElementById(idHrefImage).href = cheminImagePourHref;
 								myLightbox.updateImageList();
 							  }
 							  if(idImageLoader != '')
   							  {
 							    document.getElementById(idImageLoader).style.display = 'none';
 							  }
 							  document.getElementById(idImageACharger).style.display = 'inline';
 							}		
 							bt1.onload=function(){};					   
 						 }						
   	bt1.src= cheminImageACharger;  	
 	document.images[nameImageGrandeName].src=bt1.src; 
 }




      preload = function (o, img_src, w, h) {
        var img = new Image ();
        img.onload = function () {
                                   o.onload = null;
                                  if (w) o.width  = w;
   
                                 if (h) o.height = h;

                                o.src = img.src

                     };
        img.src = img_src;
       } 