// JavaScript Document



window.addEvent('domready', function(){
									 
		if( $chk($('cright')) ) {
				var trans = Fx.Transitions.Cubic.easeOut;
				var duree = 1000;
				var nbElt = 0;
				var voyagerSize = 240;
				var nbVoyCabine = 4;
				$$('.pdtcat1').each(function(item, index){ nbElt += 1; });
				var wTrain = getSize($('train')).x;
				
				goThere = new Fx.Morph($('train'), { link: 'cancel', 'duration': duree, transition: trans });
				
				$('cright').addEvent('click', function(e) {
					e.stop();
					var left = $('train').getPosition($('zoom69')); //alert(left.x);
					var goLeft = left.x - (voyagerSize*nbVoyCabine);
					if( Math.abs(goLeft)<(nbElt*voyagerSize) && Math.abs(left.x)%(voyagerSize*nbVoyCabine)==0) this.start({'left': goLeft});
				}.bind(goThere));
				
				$('cleft').addEvent('click', function(e) {
					e.stop();
					var left = $('train').getPosition($('zoom69')); //alert(left.x);
					var goRight = left.x + (voyagerSize*nbVoyCabine);
					if( goRight<=0 && Math.abs(left.x)%(voyagerSize*nbVoyCabine)==0 ) this.start({'left': goRight});
					if(goRight>0) this.start({'left': 0});
				}.bind(goThere));		
		}
									 
									 
									 
									 
		/* *********************** */
		/* 			SLIDER    	   */
		/* *********************** */
								 
		/*var scroll = new Scroller('zoom69', {area: 200, velocity: 1});
        $('zoom69').addEvent('mouseover', scroll.start.bind(scroll));
        $('zoom69').addEvent('mouseout', scroll.stop.bind(scroll))*/
					 
									 
									 
									 
									 
									 
		/* *********************** */
		/* 			ZOOM    	   */
		/* *********************** */
			var f = 1;	// facteur du zoom sur l'image finale. Si elle est suffisament grande laisser tel quel, sinon risque de dégradation si f >> 1
			
			$$('.image').each( function(item, index){
				var reg = new RegExp("[ ,:]+", "g");
				var orig = item.get('name');
				var oSize = orig.split(reg);
				var fromX = oSize[0];
				var fromY = oSize[1];
				item.getParent('.box_img').setStyles({
					'width': fromX + 'px', 
					'height': fromY + 'px'
				});
				item.set({
					'width': fromX,
					'height': fromY
				});
			});
			
			$$('.image').addEvents({
				'mousedown': function(e){
					e.stop();
					var boxSize = this.getParent('.box_img').getSize();
					var reduce = new Fx.Morph(this, {duration: 100, transition: Fx.Transitions.Cubic.easeOut});
					reduce.start({
						'width': boxSize.x,
						'height': boxSize.y,
						'margin-left': 0,
						'margin-top': 0
					});
					this.removeEvent('mouseenter');
					this.removeEvent('mousemove');
				},
				'mouseup': function(e){
					e.stop();
					var boxPos = this.getParent('.box_img').getCoordinates(document);
					var boxSize = this.getParent('.box_img').getSize();
					
					var img = this.get('rel');
					var reg = new RegExp("[ ,:]+", "g");
					var size = img.split(reg);
					var toX = f*size[0]; 
					var toY = f*size[1];
					
					var mX = e.page.x-boxPos.left;
					var mY = e.page.y-boxPos.top;
					var x = -Math.ceil((mX*(toX/boxSize.x))-mX);
					var y = -Math.ceil((mY*(toY/boxSize.y))-mY);
					var grow = new Fx.Morph(this, {duration: 100, transition: Fx.Transitions.Cubic.easeOut});
					grow.start({
						'width': toX,
						'height': toY,
						'margin-top': y,
						'margin-left': x
					});
					
				},
				'mouseenter': function(e){
					e.stop();
					var boxPos = this.getParent('.box_img').getCoordinates(document);
					var boxSize = this.getParent('.box_img').getSize();
					
					var img = this.get('rel');
					var reg = new RegExp("[ ,:]+", "g");
					var size = img.split(reg);
					var toX = f*size[0]; var toY = f*size[1];
					
					var mX = e.page.x-boxPos.left;
					var mY = e.page.y-boxPos.top;
					var x = -Math.ceil((mX*(toX/boxSize.X))-mX);
					var y = -Math.ceil((mY*(toY/boxSize.y))-mY);
					var grow = new Fx.Morph(this, {duration: 100, transition: Fx.Transitions.Cubic.easeOut});
					grow.set({
						'width': toX,
						'height': toY,
						'margin-top': y,
						'margin-left': x
					});
				},
				'mouseleave': function(e) {
					e.stop();
					var boxSize = this.getParent('.box_img').getSize();
					var reduce = new Fx.Morph(this, {duration: 250, transition: Fx.Transitions.Cubic.easeOut});
					reduce.set({
						'width': boxSize.x,
						'height': boxSize.y,
						'margin-left': 0,
						'margin-top': 0
					});
				},
				'mousemove':function moveZoom(e) {
		
					e.stop();
					var boxPos = this.getParent('.box_img').getCoordinates(document);
					var boxSize = this.getParent('.box_img').getSize();
					var img = this.get('rel');
					var reg = new RegExp("[ ,:]+", "g");
					var size = img.split(reg);
					var toX = f*size[0]; var toY = f*size[1];
					var mX = e.page.x-boxPos.left;
					var mY = e.page.y-boxPos.top;
					var x = -Math.ceil((mX*(toX/boxSize.x))-mX);
					var y = -Math.ceil((mY*(toY/boxSize.y))-mY);
					this.setStyles({
						'margin-top': y,
						'margin-left': x
					});
					//$('coordonnes').set('text', 'x:'+ x + ' y:' + y );
				} 
			});
			
			
	/* ******************************* */
	/*	Echange images fiche produit   */
	/* ******************************* */
	$$('.img_details').addEvents({
		'mouseup': function(e){
			e.stop();
			var source = this.get('src');
			$('dsp_image').getChildren('img').set('src', source);
			return false;
		}
	});
	
			
			
			
			
			
			
			
			
			
			
			
			
			
		});





