// JavaScript Document
	var objAllRealisations = {}; //contient toutes les données
	var objContractorInfos = {}; //infos du contracteur 
	
	var page = 1;
	var ITEM_PAR_PAGE = 10;
	var nb_page;
	var currentImageIndex = 0;
	var currentImgEl;
	var selectedThumb;

	function showRealisations(){
		showCache();
		$("realisations").setStyle("display", "block");
		$("headContractor").setStyle("display", "none");
		$("detailsContractor").setStyle("display", "none");
		$("headRealisations").setStyle("display", "block");
		getRealisations();
	}
	
	function showContractor(id){
		showCache();
		$("realisations").setStyle("display", "block");
		$("headContractor").setStyle("display", "block");
		$("detailsContractor").setStyle("display", "block");
		$("headRealisations").setStyle("display", "none");
		getContractorDetails(id);
		getContractorPhotos(id);
	}
	
	function closeRealisations(){
		$('realisations').setStyle("display", "none");
		hideCache();
		$('thumbs').empty();
		$('detailArea').setStyle("visibility", "hidden");
	}
	
	/*****************************************/
	/* getRealisations*/
	/* récupère les réalisation du serveur.*/
	/*****************************************/
	function getRealisations(){
		$("wait").setStyle("display", "block");
		var url = '../phpScripts/getRealisations.php';
		var request = new Json.Remote(url, {
			onComplete: function(jsonObj) {
				objAllRealisations = jsonObj.realisations;
				$("wait").setStyle("display", "none");
				showPage(0);
			}
		}).send();
	}
	
	/****************************************/
	/* getContractorDetails (id) */
	/* récupère les informations du contacteur
	*****************************************/
	function getContractorDetails (id){
		$("wait").setStyle("display", "block");
		var url = '../phpScripts/getContractor.php?id='+id;
		var request = new Json.Remote(url, {
			onComplete: function(jsonObj) {
				objContractorInfos = jsonObj.contracteur;
				$("wait").setStyle("display", "none");
				showContracteurDetails();
			}
		}).send();
	}
	/****************************************/
	/* getContractorPhotos (id) */
	/* récupère les photos du contacteur
	*****************************************/
	function getContractorPhotos(id){
		$("wait").setStyle("display", "block");
		var url = '../phpScripts/getContractorPhotos.php?id='+id;
		var request = new Json.Remote(url, {
			onComplete: function(jsonObj) {
				objAllRealisations = jsonObj.realisations;
				$("wait").setStyle("display", "none");
				showPage(0);
			}
		}).send();
	}
	/****************************************/
	/* showContracteurDetails();            */
	/* affiche les informations recues      */
	/* sur le contracteur.                  */
	/****************************************/
	function showContracteurDetails(){
		var objDetails = objContractorInfos[0];
		$("nomContracteur").setHTML(objDetails.ann_nom);
		$("contractorDescription").setHTML(objDetails.ann_description);
		$("adresseCivic").setHTML(objDetails.ann_adresse_civile);
		$("telephone").setHTML(objDetails.ann_telephone_details);
		$("adresseWeb").setHTML("<a href='"+objDetails.ann_lien+"' target='_blank'>"+objDetails.ann_lien+"</a>");
	}
	
	/***************************************/
	/* showPage*/
	/* affiche les thumbnails en partant du*/
	/* startIndex jusqu'au nombre par page*/
	/***************************************/
	function showPage(startIndex, selectLast){
		selectedThumb = null;
		$('thumbs').empty();
		nb_page = Math.ceil(objAllRealisations.length / ITEM_PAR_PAGE);
		var endIndex = startIndex + ITEM_PAR_PAGE;
		if (endIndex >= objAllRealisations.length){
			endIndex = objAllRealisations.length;
		}
		
		//vérifie s'il y a un résultat
		if (objAllRealisations.length == 0){
			$('contenu').setStyle("display", "none");
		}else{
			$('contenu').setStyle("display", "block");
			showThumbs(startIndex, endIndex);
			
			setPageNav();
			
			if(!selectLast){
				//slectionne le premier de la page!
				showBigImage(startIndex);
			}else{
				showBigImage(endIndex-1);
			}
		}
	}
	
	/***************************************/
	/* setPageNav*/
	/* affiche les boutons de navigations */
	/* en fonction et le compteur de pages */
	/***************************************/
	function setPageNav(){
		var navDiv = $("nav");
		//bouton précédent
		if (page == 1){
				//diseable previous
				$("realPagePrev").empty();
				new Element('img', {'src': 'images/btPageRealPrev_off.gif'}).injectInside($("realPagePrev"));
		}else{
				//enable previous
				$("realPagePrev").empty();
				var ahref = new Element('a', {'href':'javascript:prevPage()'}).injectInside($("realPagePrev"));
				new Element('img', {'src': 'images/btPageRealPrev.gif'}).injectInside(ahref);
		}
		
		//bouton next
		if (page == nb_page){
			//dieable next
			$("realPageNext").empty();
			new Element('img', {'src': 'images/btPageRealNext_off.gif'}).injectInside($("realPageNext"));
		}else{
			//enable next
			$("realPageNext").empty();
			var ahref = new Element('a', {'href':'javascript:nextPage()'}).injectInside($("realPageNext"));
			new Element('img', {'src': 'images/btPageRealNext.gif'}).injectInside(ahref);
		}
		
		//paging
		$('counter').setHTML(page + " / " + nb_page);
		
	}
	
	/**************************************/
	/* nextPage */
	/* navigue à la prochaine page. */
	/**************************************/
	function nextPage(){
		page ++;
		showPage(ITEM_PAR_PAGE * (page-1));
	}
	
	/**************************************/
	/* prevPage */
	/* navigue à la page précédente. */
	/**************************************/
	function prevPage(selectLast){
		page --;
		showPage(ITEM_PAR_PAGE * (page-1), selectLast);
	}
	
	/**************************************/
	/* prevPhoto */
	/* affiche la photo précédente. */
	/**************************************/
	function prevPhoto(){
		//vérifie le changement de page
		if (currentImageIndex == ITEM_PAR_PAGE*(page-1)){
			prevPage(true);
		}else{
			showBigImage(currentImageIndex-1);
		}
	}
	/**************************************/
	/* nextPhoto */
	/* affiche la photo suivante. */
	/**************************************/
	function nextPhoto(){
		//vérifie le changement de page
		if (currentImageIndex == (ITEM_PAR_PAGE*page)-1){ //dernier de la page?
			nextPage();
		}else{
			showBigImage(currentImageIndex+1);
		}
	}
	
	/**************************************/
	/* showThumbs(startI, endI)*/
	/* affiche les thumbnails de la page*/
	/* en cours.*/
	/**************************************/
	function showThumbs(startI, endI){
		$('detailArea').setStyle("visibility", "hidden");
		for (var i=startI; i<endI; i++){
				var objReal = objAllRealisations[i];
				var el = new Element('div', {'class': 'realThumb'});
				var ahref = new Element('a', {'href':'javascript:showBigImage('+i+')'}).injectInside(el);
				var img = new Element('img', {'src': '../contenu/real_thumb/' + objReal.real_thumb, 'id':'realThumb_'+i}).injectInside(ahref);
				
				el.inject($('thumbs'));
		}
	}
	
	function testEvent(i){
		alert(i);	
	}
	
	function showBigImage(i){
		currentImageIndex = i;
		var realObj = objAllRealisations[i];
		var photoContainer = $('realPhoto');
		var realProduit = $('realProduit');
		
		$('detailArea').setStyle("visibility", "hidden");
		$("wait").setStyle("display", "block");
		
		//selectionne le gif associé
		$("realThumb_"+i).setProperty("class","selected");
		if ($type(selectedThumb) == "element"){
			selectedThumb.removeClass("selected");
		}
		selectedThumb = $("realThumb_"+i);
		
		//load l'image
		currentImgEl = new Asset.image('../contenu/real_photo/' + realObj.real_photo, {onload: bigImageLoaded});
		
	}
	
	//callback, l'image est loadée.
	function bigImageLoaded(img){
		var realObj = objAllRealisations[currentImageIndex];
		//var contracteurInfos = $$('#realContracteur div');
		var contracteurInfos = $('realContracteur');
		var contracteurNom = $('realNomContacteur');
		var contracteurNo = $('realNoContacteur');
		var photoContainer = $('realPhoto');
		var realProduit = $('realProduit');
		
		photoContainer.empty();
		var img = new Element('img', {'src':'../contenu/real_photo/' + realObj.real_photo}).injectInside(photoContainer);
		
		
		///------ modifie les dimensions des elements -----//
		var objPhotoCoord = photoContainer.getCoordinates();
	//	$("realisations").setStyle("width", objPhotoCoord.width + 315);
	//	alert("set realisations to : " + objPhotoCoord.width);
		
		
		//set les infos de l'image
		//nom contracteur
		contracteurNom.empty();
		contracteurNom.setHTML(realObj.real_contract_nom);
		//numéro contracteur
		contracteurNo.empty();
		contracteurNo.setHTML(realObj.real_contract_numero);
		//produit
		realProduit.empty();
		realProduit.setHTML("<strong>"+realObj.real_prod_nom_FR+"</strong> - <span class='grisDesc'>"+realObj.real_prod_couleur_FR+"<br /><em>"+realObj.real_prod_marque+"</em></span>");
		
		
		//---- gestion du bouton back
		$("btPhotoBack").setStyle("height", objPhotoCoord.height - 10);
		
		if (currentImageIndex > 0){
			$("btPhotoBack").setStyle("display", "block");
			$("btPhotoBack").addEvent("mouseenter", function(){
													this.getElement("img").setStyle("visibility","visible");
															 });
			$("btPhotoBack").addEvent("mouseleave", function(){
													this.getElement("img").setStyle("visibility","hidden");
															 });
		}else{
			$("btPhotoBack").setStyle("display", "none");
			$("btPhotoBack").removeEvents("mouseenter");
			$("btPhotoBack").removeEvents("mouseleave");
		}
		
		//---- gestion du bouton next
		$("btPhotoNext").setStyle("height", objPhotoCoord.height - 10);
		$("btPhotoNext").setStyle("left", objPhotoCoord.width - 49);
		
		if (currentImageIndex < objAllRealisations.length-1){
			$("btPhotoNext").setStyle("display", "block");
			$("btPhotoNext").addEvent("mouseenter", function(){
													this.getElement("img").setStyle("visibility","visible");
															 });
			$("btPhotoNext").addEvent("mouseleave", function(){
													this.getElement("img").setStyle("visibility","hidden");
															 });
		}else{
			$("btPhotoNext").setStyle("display", "none");
			$("btPhotoNext").removeEvents("mouseenter");
			$("btPhotoNext").removeEvents("mouseleave");
		}
		
		$("wait").setStyle("display", "none");
		$('detailArea').setStyle("visibility", "visible");
	}
	