// JavaScript Document

window.addEvent('domready', function() {

	 new SmoothScroll({ duration:1000 }, window);
	 
	 
	 
	/* *********************** */
	/* 			infobox    	   */
	/* *********************** */
	var infoBox = function(text) {
		$('fdbk').set('html', text);
		var sSize = $(window).getScroll();
		var pos = $(window).getSize();
		var box = $('fdbk').getSize();
		var coord = $('fdbk').getCoordinates();
		var sCenterX = ( window.getWidth()/2 ) - 210;
		var sCenterY = sSize.y+(window.getHeight() - coord['height'])/2;
		$('fdbk').setStyles({'top': -(2*box.y), 'left': sCenterX}); // position initiale
		var show = new Fx.Morph('fdbk', {
			link: 'chain',
			duration: 2000,
			transition: 'quart:out'
		});
		show.start({
			'top': sCenterY, 
			'left' : sCenterX,
			'display': 'block', 
			'opacity' : 1
		}).chain(function(){
			var d = $random(0, 1);
			var top = (d==0) ? sCenterX : -(2*box.y);
			//var left = (d==0) ? -(2*box.x) : sCenterX;
			var left = sCenterX;
			this.start.delay(1000, this, {
				'top': top, 
				'left': left,
				'opacity': 0
			});
		});
	}
	
	if( $('infobox') ) infoBox( $('infobox').get('html') );
	
	/* *********************** */
	/* 			ZOOM    	   */
	/* *********************** */
		var f = 1.5;	// facteur du zoom sur l'image finale. Si elle est suffisament grande laisser tel quel, sinon risque de dégradation si f >> 1
		
		$$('.zoom').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').setStyles({
				'width': fromX + 'px', 
				'height': fromY + 'px'
			});
			item.set({
				'width': fromX,
				'height': fromY
			});
		});
		
		$$('.zoom').addEvents({
			'mousedown': function(e){
				e.stop();
				var boxSize = this.getParent('.box').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').getCoordinates(document);
				var boxSize = this.getParent('.box').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').getCoordinates(document);
				var boxSize = this.getParent('.box').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: 1000, 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').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').getCoordinates(document);
				var boxSize = this.getParent('.box').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 );
			} 
		});

	
	/* *********************** */
	/* 			Qtt +/-    	   */
	/* *********************** */
		if( $chk($$('.plus')) ) {
			$$('.plus').addEvent('click', function(e) {
				e.stop();
				var target = this.get('rel');
				if($(target).get('value')<99) $(target).value++;
			});
		}
		
		if( $chk($$('.moins')) ) {
			$$('.moins').addEvent('click', function(e) {
				e.stop();
				var target = this.get('rel');
				if($(target).get('value')>1) $(target).value--;
			});
		}
		
		if( $chk($$('.pdt_ref_add')) ) {
			$$('.pdt_ref_add').addEvent('blur', function(b) {
				this.value = Math.round(this.value);
				if(this.value<1) this.value=1;
				if(this.value>99) this.value=99;
			});
		}
		
		
	/* *********************** */
	/*  commentaire commande   */
	/* *********************** */
		if( $chk($('comment_order')) ) {
			var co = '';
			$('comment_order').addEvent('keyup', function() {
				co = $('comment_order').get('value');
				$('comment_order_ch').set('value', co);
				$('comment_order_cb').set('value', co);
			});
		}
		
		
		
});
