
/************************************************************************/
/* Gestion du menu de gauche ********************************************/
/* Martin Vallière ******************************************************/
/************************************************************************/


var ZoneMenu = (function(){
	var instance = function(){
		
		var me = this;
		var MyMenuTemp = null;
		var MyMenuObject = new Array();
		var container = null;
		var old = null;
		var H = 0;
		var StopMyPreview = 0;
		var SelectionDiv = document.createElement("div");
		var MyShadowLeft = getObjLeft(document.getElementById('Main'));
		var MyShadowTop = getObjTop(document.getElementById('Main'));
		var MyShadowWidth = $('Main').offsetWidth;
		var MyShadowHeight = $('Main').offsetHeight;

		var AllMyIMG = document.getElementsByTagName('img'); // Liste des images

		var AllMyTABLE = document.getElementsByTagName('table'); // Indexation du tableau
		
		var PreviewImageLeft = getObjLeft($('MyImagesMain')); 
		var PreviewImageTop = getObjTop($('MyImagesMain'));
		
		var MyW = $('MyImagesMain').width; 
		var MyH = $('MyImagesMain').height;
				
		var constructor = function(){
			paint();
		};
		/******************************************/
		/***** Affichage du message Un moment... *****/
		/******************************************/
		me.Wait = function (statut){
			$('wait').style.display = statut; 
			if (statut == 'none')
				me.closeShadow();
				var MyWaitPositionLeft = ((PreviewImageLeft + (MyW / 2)) - 120);
				var MyWaitPositionTop = ((PreviewImageTop + (MyH / 2)) - 120);
			$('wait').style.left = MyWaitPositionLeft + 'px';
			$('wait').style.top = MyWaitPositionTop + 'px';
		};
		
		/******************************************/
		/*** Fermeture de l'image apercu - moyenne **/
		/******************************************/
		me.closeImagePreview = function (MyID) {
			$('MyImagePreview').style.display = 'none';
			$('MyPreviewShadow').style.display = 'none';
		};
		
		/******************************************/
		/*** Ouverture de l'image apercu - moyenne **/
		/******************************************/
		me.getImagePreview = function(MyID) {	
			
			if (StopMyPreview == 1)  {
				return false;
			}

			if (MyID == MyIMGId){
				me.closeShadow();
				return false;
			}

			var ImageIdWidth = $(MyID).width;
			var ImageIdHeight = $(MyID).height;

			$('MyImagePreview').style.position = 'absolute';
			$('MyImagePreview').style.left = (PreviewImageLeft + 40) + 'px';
			$('MyImagePreview').style.top = (getObjTop($(MyID))-100) + 'px';
			
			getObjTop($(MyID))
			$('MyImagePreview').style.filter= 'alpha(opacity=100)';
			$('MyImagePreview').style.MozOpacity = '1.0';

			var Mypic= new Image();
			Mypic.src = $(MyID).src.replace('th','mn'); 
			$('MyImagePreview').src = Mypic.src;
			$('MyImagePreview').style.display = 'none';			
			$('MyImagePreview').style.display = 'inline';
		};

		/**************************************************/
		/*** Fermeture de l'ombre - pour la grande image **/
		/**************************************************/

		me.closeShadow = function () {
			$('content').style.background = '#000';
			$('MyPreviewShadow').style.display = 'none';
			$('MyImagesMain').style.filter= 'alpha(opacity=100)';
			$('MyImagesMain').style.MozOpacity = '1.0';
			$('MyImagesMain').style.opacity = '1.0';
		};

		/**************************************************/
		/*** Ouverture de l'ombre - pour la grande image **/
		/**************************************************/

		me.getShadow = function () {
			if (StopMyPreview == 1){return false;}
			$('MyImagesMain').style.filter= 'alpha(opacity=70)';
			$('MyImagesMain').style.opacity = '0.7';
			$('MyImagesMain').className = 'MyImagesMain';
			$('content').style.background = '#000';
			$('MyPreviewShadow').style.position = 'relative';
			$('MyPreviewShadow').style.left = (MyShadowLeft+10) + 'px';
			$('MyPreviewShadow').style.top = (MyShadowTop+10) + 'px';
			$('MyPreviewShadow').style.width = (MyShadowWidth-5) + 'px';
			$('MyPreviewShadow').style.height = (MyShadowHeight + 50) + 'px';
		};

		/**************************************************/
		/*** Ouverture de la grande image *****************/
		/**************************************************/
		me.getImage = function(MyID, position, pk_photo) {

			me.getShadow();
			MyIntroText = null;
			MyNote.CloseNote();
			
			MyPkPhoto = pk_photo;
			if (MyID == MyIMGId){
				me.closeShadow();
				return;
			}
			
			if (MyIMGId){
				$(MyIMGId).src = MyIMGSrc;
				$(MyIMGId).parentNode.parentNode.className = 'thImages';
				$(MyIMGId).style.filter= 'alpha(opacity=100)';
				$(MyIMGId).style.MozOpacity = '1.0';
			}

			$(MyID).parentNode.parentNode.className = 'thImagesOn';
			MyIMGId = MyID;
			MyIMGSrc = $(MyID).src;

			AllMyIMGPos = position;
			me.getShadow();
			
			me.Wait('inline');
			$('MyImagesMain').src = document.getElementById(MyID).src.replace('th','gr');
			$(MyID).style.filter= 'alpha(opacity=70)';
			$(MyID).style.MozOpacity = '0.7';
			me.closeShadow();
			me.closeImagePreview(MyID);
			
		};

		/**************************************************/
		/***  *****************/
		/**************************************************/

		var ImageView = function (pk_photo) {
				
				var Engin = '/ImageView.php?cmd=ImageView&pk_photo=' + pk_photo;
				var myAjax = new Ajax.Request(
				Engin, 
				{
					method: 'POST' 
				});
		};


		var TimerForPictureClose = function(i, MyID) {
		
			if (i < 1){
				//alert (i);
				document.getElementById('MyImagesMain').src = document.getElementById(MyID).src.replace('th','gr');
				return;			
				}
			else {
//			alert (document.getElementById('MyImagesMain').getOpacity());
			document.getElementById('MyImagesMain').style.filter= 'alpha(opacity='+i+'0)';
			document.getElementById('MyImagesMain').style.MozOpacity = ''+i+'.0';
			i--;
			setTimeout(function (){TimerForPictureClose(i, MyID)}, 10);
			}
		};
		
		var TimerForPictureOpen = function(j, MyID) {
//		alert (j);
			if (j > 9){
				return;			
				}
			else {
			document.getElementById('MyImagesMain').src = document.getElementById(MyID).src.replace('th','gr');
			document.getElementById('MyImagesMain').style.filter= 'alpha(opacity='+j+'0)';
			document.getElementById('MyImagesMain').style.MozOpacity = ''+j+'.0';
			j++;
			setTimeout(function (){TimerForPictureOpen(j, MyID)}, 10);
			}
		};

		var TimerOpen = function(obj, maxVal, delta, step, onFinish) {
			
			StopMyPreview = 1;
			if (obj.offsetHeight + delta >= maxVal){
				obj.style.height = maxVal + 'px';
				if(onFinish != null)
					onFinish();
				return;
			}
			else {
				obj.style.height = (obj.offsetHeight + delta) + 'px';
				setTimeout(function (){TimerOpen(obj, maxVal, delta, step, onFinish)}, step);
			}
		};
		var TimerClose = function(obj, maxVal, delta, step) {

			if (!obj) { return; }
			if (obj.offsetHeight - delta <= maxVal){
				obj.style.height = maxVal + 'px';
				if(onFinish != null)
					onFinish();
				StopMyPreview = 0;
//				alert ('fini');
				return false;
			}
			else {
				obj.style.height = (obj.offsetHeight - delta) + 'px';
				setTimeout(function (){TimerClose(obj, maxVal, delta, step)}, step);
			}
		};


		var onFinish = function(MyID) {
			StopMyPreview = 0;
		};
		
		var fini = function(){

		};


		me.getMenu = function(MyID) {
								
			if (MyIMGId){
				$(MyIMGId).parentNode.parentNode.className = 'thImages';
			}
			StopMyPreview = 1;
			AllMyIMGFlag = 0;
			AllMyIMGPos = 0;
			AllMyIMGPosMenu = MyID;
			var TableLeft = getObjLeft($(MyID));
			var TableTop = getObjTop($(MyID));
			
			if ($('DIV_' + MyID).offsetHeight == 0) { //, onFinish(MyID)
				$('ImgFl_' + MyID).src = '/gallery/images/icones/03/10/33-d.png';
				$('DIV_' + MyID).morph('height : '+ $(MyID).offsetHeight +'px;', {duration:0.7});
			}
			else {
				$('ImgFl_' + MyID).src = '/gallery/images/icones/03/10/32-u.png';
				$('DIV_' + MyID).morph(' height : 0px;', {duration:0.7});
			}

			for (var i = 0 ; i < AllMyTABLE.length ; i++){
				if (AllMyTABLE[i].id != MyID && AllMyTABLE[i].id != 'BlocMenu') {
					if ($('DIV_' + AllMyTABLE[i].id)){
						$('ImgFl_'+ AllMyTABLE[i].id).src = '/gallery/images/icones/03/10/32-u.png';
						$('DIV_' + AllMyTABLE[i].id).morph('height : 0px;', {duration:0.7});
					}
				}
			}
			
			StopMyPreview = 0;
		};
		me.getSelection = function (MyID) {
/*			SelectionDiv.innerHTML = ''; 
			SelectionDiv.style.display = 'inline';
			var AllMyIMGName = new Array();
			for (var i = 0 ; i < AllMyIMG.length ; i++) {
				if (AllMyIMG[i].id.indexOf(MyID) != -1) {
					AllMyIMGListe[AllMyIMGFlag] =  AllMyIMG[i].id; 
					AllMyIMGName[AllMyIMGFlag] =  AllMyIMG[i].src; 
//					alert (AllMyIMGName[AllMyIMGFlag]); 
					AllMyIMGFlag++; 
					var SelectionDivImg = document.createElement("div");
					SelectionDivImg.className = 'MyDivTH';
					var SelectionImg = document.createElement("img");
					SelectionImg.src = AllMyIMG[i].src;
					SelectionImg.style.border = '1px solid #aaa';
					SelectionImg.style.margin = '5px';
					SelectionDivImg.appendChild(SelectionImg);
					SelectionDiv.appendChild(SelectionDivImg); 
//					alert (AllMyIMGFlag); 
				}
			}
			SelectionDiv.id = 'selection';
			document.body.appendChild(SelectionDiv);
			*/
		};
		me.getImagePreviews = function (MyID, MyDirection){
		var AllMyIMGName = new Array();
		if (StopMyPreview == 1){return false;}
		if (MyID == MyIMGId){
			me.closeShadow();
			return false;
		}

			AllMyIMGFlag = 0;
			for (var i = 0 ; i < AllMyIMG.length ; i++){
				if (AllMyIMG[i].id.indexOf(MyID) != -1){
					if (AllMyIMG[i].src.indexOf('png') < 0){
						AllMyIMGListe[AllMyIMGFlag] =  AllMyIMG[i].id;
						AllMyIMGName[AllMyIMGFlag] =  AllMyIMG[i].name;
						AllMyIMGFlag++;
					}
				}
			}

			if (MyDirection == 'Previews'){
				AllMyIMGPos--;
				if (AllMyIMGPos < 1) {
					AllMyIMGPos = AllMyIMGFlag;
				}
				else if (AllMyIMGPos > AllMyIMGFlag){
					AllMyIMGPos = 1;
				}
//				alert (AllMyIMGName[AllMyIMGPos-1].replace('pk_photo_',''));
				me.getImage(AllMyIMGListe[AllMyIMGPos-1], AllMyIMGPos, AllMyIMGName[AllMyIMGPos-1].replace('pk_photo_',''));
//				MyPkPhoto = AllMyIMGName[AllMyIMGPos-1].replace('pk_photo_','');
			}
			else {
				AllMyIMGPos++;
				if (AllMyIMGPos < 1) {
					AllMyIMGPos = AllMyIMGFlag;
				}
				else if (AllMyIMGPos > AllMyIMGFlag){
					AllMyIMGPos = 1;
				}
//				alert (AllMyIMGName[AllMyIMGPos-1].replace('pk_photo_',''));
				me.getImage(AllMyIMGListe[AllMyIMGPos-1], AllMyIMGPos, AllMyIMGName[AllMyIMGPos-1].replace('pk_photo_',''));
//				MyPkPhoto = AllMyIMGName[AllMyIMGPos-1].replace('pk_photo_','');
			}
		};
		
				var paint = function(){
			
		};

		constructor();
	};

	return instance;
})();


