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

/*

	IMPORTANT : Mettre le window.addEvent avec le paramêtre : 'load', sans cela la taille des images n'est pas prise en compte sous safari

*/
	
	/* ******************* Dimentionement de l'ombre autour d'une image de preview ou d'un div Help *************************** */
	
	if(Browser.Engine.version < 5) { // Si le navigateur est ie6 on affiche pas les ombres 

$$('.shadowCornerTopRight','.shadowCornerTopLeft','.shadowBorderTop','.shadowBorderBottom','.shadowCornerBottomRight','.shadowCornerBottomLeft','.shadowBorderRight','.shadowBorderLeft').each(function(el){ 

			el.setStyle('display','none');
		
		});
	}
	else {

		$$('.popUpContenu').each(function(el,i){

			//Dimentionement Haut-Bas

			//Coordonnées de contenu
			var contenuCoord = el.getCoordinates();

			var elParent = el.getParent();

			elParent.setStyle('display','block');

			elParent.setAttribute('id', 'idPreview'+i);

			//id du parent
			var idParent = el.getParent().get('id');

			//Coordonnées du parent (pour calculer le margin de contenu)
			var parentCoord = $(idParent).getCoordinates();

			//Calcul du margin-Left de contenu
			var contenuMarginLeft = contenuCoord.left - parentCoord.left;

			//Calcul du margin-right de contenu
			var contenuMarginRight = parentCoord.right - contenuCoord.right;

			//Coordonnées du coins supérieur droit
			var shadowCornerTopRightCoord = $$('#'+idParent+' .shadowCornerTopRight')[0].getCoordinates();

			//Coordonnées du coins supérieur gauche
			var shadowCornerTopLeftCoord = $$('#'+idParent+' .shadowCornerTopLeft')[0].getCoordinates();

			//Calcul de la largeur du border haut
			var widthShadowBorderTop = contenuCoord.width + (contenuMarginLeft + contenuMarginRight) - (shadowCornerTopRightCoord.width + shadowCornerTopLeftCoord.width);

			//Application du style du border haut
			$$('#'+idParent+' .shadowBorderTop')[0].setStyles({'width':widthShadowBorderTop});
			$$('#'+idParent+' .shadowBorderBottom')[0].setStyles({'width':widthShadowBorderTop});// On applique la même largeur au border du bas

			// Dimentionement Gauche-Droite

			//Calcul du margin-top de contenu
			var contenuMarginTop = contenuCoord.top - parentCoord.top;

			//Calcul du margin-bottom de contenu
			var contenuMarginBottom = parentCoord.bottom - contenuCoord.bottom;

			//Coordonnées du coins inférieur droit
			var shadowCornerBottomRightCoord = $$('#'+idParent+' .shadowCornerBottomRight')[0].getCoordinates();

			//Calcul de la hauteur du border right
			var widthShadowBorderRight = contenuCoord.height + (contenuMarginTop + contenuMarginBottom) - (shadowCornerTopRightCoord.height + shadowCornerBottomRightCoord.height);

			//Application du style du border right
			$$('#'+idParent+' .shadowBorderRight')[0].setStyles({'height':widthShadowBorderRight});
			$$('#'+idParent+' .shadowBorderLeft')[0].setStyles({'height':widthShadowBorderRight});

			elParent.setStyle('display','none');

		});
	}

});

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

	/* ========== Tous les champs de la boutique à 1 au chargement de la page ========== */
	
	$$('.itemQuantiteComponent').set('value', '1');


	/* ========== Les effets fade sur les différents boutons ========== */

	$$('.fade_effect', '#submitInput', '#submitInput2', '.loginHelp a').set('tween', {duration: 100, transition: Fx.Transitions.Quad.easeInOut}).fade(0.5).addEvents({	
		mouseover: function(){this.fade(1);},
		mouseout: function(){this.fade(0.5);}
	});

	$('poweredBy').set('tween', {duration: 200, transition: Fx.Transitions.Quad.easeInOut}).addEvents({
		mouseover: function(){this.tween('left', 5);},
		mouseout: function(){this.tween('left', 0);}
	});


	/* ========== Toggle Menu niv2 Anim ========== */
	var elementsDeclencheurs = $$('#menuPrincipal dl.niv1 dt.niv1Multi');
	var elementsCoulissants  = $$('#menuPrincipal dl.niv1 dd.niv2');
	
	elementsCoulissants.each(function(variableCoulissant, indiceCoulissant){

		var objetCoulissant = new Fx.Slide(variableCoulissant, {duration: 700, transition: Fx.Transitions.Bounce.easeOut});

		objetCoulissant.hide(); // cache tous les elements coulissant

		elementsDeclencheurs.each(function(variableDeclencheur, indiceDeclencheur){

			if(indiceDeclencheur == indiceCoulissant){

				variableDeclencheur.addEvent('click', function(evenement){
					new Event(evenement).stop();
					objetCoulissant.toggle();
				});
			}
			else{
				variableDeclencheur.addEvent('click', function(evenement){
					new Event(evenement).stop();
					objetCoulissant.slideOut();
				});
			}

			$$('body').addEvent('click', function(evenement){
				//new Event(evenement).stop();
				objetCoulissant.slideOut();
			});
		});
	});	


	var elementsDeclencheursSelected = $$('#menuPrincipal dl.niv1Selected dt.niv1Multi');
	var elementsCoulissantsSelected = $$('#menuPrincipal dl.niv1Selected dd.niv2');	

	elementsCoulissantsSelected.each(function(variableCoulissant, indiceCoulissant){

		var objetCoulissant = new Fx.Slide(variableCoulissant, {duration: 700, transition: Fx.Transitions.Bounce.easeOut});
		objetCoulissant.hide(); //show pour laisser ouvert en mode selected

		elementsDeclencheursSelected.each(function(variableDeclencheur, indiceDeclencheur){

			if (indiceDeclencheur == indiceCoulissant){

				variableDeclencheur.addEvent('click', function(evenement){
					new Event(evenement).stop();
					objetCoulissant.toggle();
				});
			}
			else {
				variableDeclencheur.addEvent('click', function(evenement){
					new Event(evenement).stop();
					objetCoulissant.slideOut();
				});
			}
		});
	});

	/* ====================== Slideshow head Jeep ================== */
	
	var jeepHeadData = {
		'Jeep_01.jpg': { caption: '' },			// Ligne à générer dynamiquement
		'Jeep_02.jpg': { caption: '' }			// Ligne à générer dynamiquement
	};

	var varCaptions = '';
	var varController = false;
	var varDelay = 4000;					// milliseconds
	var varDuration = 750;					// milliseconds
	var varHref = '';						// http://www.apple.com
	var varLinked = false;					// Si linked = true, alors, 'href' est désactivé.
	var varLoop = true;
	var varOverlap = true;
	var varPaused = false;
	var varRandom = false;
	var varThumbnails = false;
	var varTransition = 'Sine';

	var myShow = new Slideshow('jeepHeadSlideshow', jeepHeadData, {
		width: '254',							// px OR 'auto'
		heigh: '106',							// px OR 'auto'
		center: false,
		fast: false,
		hu: 'images/slideshow/clientImages/',
		loader: false,
		resize: 'length',					// width
		slide: 0,

		captions: varCaptions,
		controller: varController,
		delay: varDelay,
		duration: varDuration,
		href: varHref,
		linked: varLinked,
		loop: varLoop,
		overlap: varOverlap,
		paused: varPaused,
		random: varRandom,
		thumbnails: varThumbnails,
		transition: varTransition
	});

	/* ====================== Detection hauteur div pour redimensionnement ================== */
	
	if ($('contenu') != null) {
	
			var contenuHeight = $('contenu').getSize().y;
		
			var blocPositionnementHeight = $('blocPositionnement').getSize().y;
		
			if (contenuHeight + 269 > blocPositionnementHeight)	{
		
				$('blocPositionnement').setStyle('height',(contenuHeight + 263)); // taille du bloc central (contenu total du site). 415 = head + slideshow + foot
				$$('#mainBloc .mainFoot').setStyle('top',(contenuHeight + 263 - 42)); // placement de la bande du bas
			}
		
			$('contenu').setStyle('min-height',contenuHeight+152-42+20); // foot height - mainfoot height + padding contenu haut&bas
	}
			
	/* ======================= Gestion des GIF et Attribution d'un z-index différent pour chaque ligne (ie6) =======================================*/
	
	if(Browser.Engine.version == 4) { // Si ie6
		// Les GIF pour les menus
		$$('#menuPrincipal dd.niv2').setStyle('background-image', 'url(images/menuNiv2Background.gif)');
	}
	
	if(Browser.Engine.version == 5) { // Si ie7
		// Les GIF pour les menus
		$$('#menuPrincipal dd.niv2').setStyle('background-image', 'url(images/menuNiv2Background.png)');
	}
	
	if(Browser.Engine.trident) { // Si ie (toute version)
	
		// Les z-index
		$$('.boutiqueItemImpair').each(function(el,i) {

			if (i == 0)
				var zIndex = 1499;
			else
				var zIndex = 1499 - (2*i);

			el.setStyle('z-index',zIndex);

		});
		
		$$('.boutiqueItemPair').each(function(el,i) {

			if (i == 0)		
				var zIndex = 1500;
			else
				var zIndex = 1500 - (2*i);

			el.setStyle('z-index',zIndex);

		});

	}

	/* ******************* Effacement des taux de réduction *************************** */

	$$('.productsListNew','.productsListPromotion', '.productsFicheNew').each(function(el) {

		if (el.get('html').test("[a-z0-9]"))
		{
			el.set('html', '');
		}
		else
			el.setStyle('display','none');
	});

	$$('.productsFichePromotion').each(function(el) {

		if (!el.get('html').test("[0-9]"))
			el.setStyle('display','none');
	});


	/* ******************* Effacement du titre de la boutique *************************** */

	if ($('titreBoutique') != null)
		$('titreBoutique').set('html', '');

	/* ******************* Attribution d'un ID différent pour chaque ligne et Gestion du PREVIEW *************************** */

	$$('.boutiqueItemPair', '.boutiqueItemImpair' ).each(function(el,i){

		var idEl = 'idLine'+i;

		el.setAttribute('id', idEl);

		// Utilisation de la classe imgHover incluse plus haut pour afficher les images de preview des articles
		imgH1 = new ImgHover($$('#'+idEl+' .productPreview'),$$('#'+idEl+' .productsListCamera'),$(idEl),292,26);

	});
		
	/* ******************* Pour le CADDIE : Attribution d'un ID différent pour chaque ligne et Gestion du PREVIEW *************************** */

	$$('.boutiqueItemPairCaddie', '.boutiqueItemImpairCaddie').each(function(el,i){

		var idEl = 'idLine'+i;

		el.setAttribute('id', idEl);

		// Utilisation de la classe imgHover incluse plus haut pour afficher les images de preview des articles
		imgH2 = new ImgHover($$('#'+idEl+' .productPreview'),$$('#'+idEl+' .productsCaddieCamera'),$(idEl),-34,30);

	});
		
	/* ******************* Gestion des popUps flotants de l'index *************************** */
		
		// Utilisation de la classe imgHover incluse plus haut pour afficher les popUps flotants
		
	if ($('contenuIndex') != null){
	
		imgH3 = new ImgHoverMove($$('.jeepCiviles'),$$('.detectJeepCiviles'),$('contenuIndex'),-37,3);
		
		imgH4 = new ImgHoverMove($$('.jeepMilitaires'),$$('.detectJeepMilitaires'),$('contenuIndex'),-37,3);		
	
	}	

	/* ******************* Gestion du whileClick pour la liste boutique *************************** */	

	$$('.productsListQuantity', '.productsFicheQuantity', '.productsCaddieQuantity').each(function(el){

		el.getElement('.QtMoins').addEvent('whileClick', function(){

			var inputValue = el.getElement('.itemQuantiteComponent').get('value');
			//console.log(inputValue); 

			if (inputValue > 1)
			{
				inputValue--;
				el.getElement('.itemQuantiteComponent').set('value', inputValue);
			}
		});

		el.getElement('.QtPlus').addEvent('whileClick', function(){

			var inputValue = el.getElement('.itemQuantiteComponent').get('value');
			//console.log(inputValue); 
			inputValue++;
			el.getElement('.itemQuantiteComponent').set('value', inputValue);

		});
	});
	
	/* ******************* Gestion du whileClick pour la liste boutique *************************** */	

	$$('.productsCaddieQuantity').each(function(el){

		el.getElement('.QtMoins').addEvent('whileClick', function(){

			var inputValue = el.getElement('.caddieQuantiteComponent').get('value');
			//console.log(inputValue); 

			if (inputValue > 1)
			{
				inputValue--;
				el.getElement('.caddieQuantiteComponent').set('value', inputValue);
			}
		});

		el.getElement('.QtPlus').addEvent('whileClick', function(){

			var inputValue = el.getElement('.caddieQuantiteComponent').get('value');
			//console.log(inputValue); 
			inputValue++;
			el.getElement('.caddieQuantiteComponent').set('value', inputValue);

		});
	});

	var saveInputValueInt = 0;

	/* ******************* Fonction de traitement du lien *************************** */

	function trtLien(ligne, delais){

		var inputValue = ligne.getElement('.itemQuantiteComponent').get('value');
		var inputValueInt = inputValue.toInt();

		ligne.getElement('.itemQuantiteComponent').set('value', '0');

		var lien = ligne.getElement('.addLink');

		var lienHref  = lien.get('href');

		if (isNaN(inputValue)){	
			alert('Veuillez saisir un nombre valide dans le champs quantité.');
		}
		else {
			if (inputValue == '' | inputValue.test(" ") | inputValue == '0') 
				alert('Veuillez saisir un nombre valide différent de 0 dans le champs quantité.');
			else {

					var regexInputValueInt = inputValueInt - saveInputValueInt;

					inputValue = regexInputValueInt.toString();

					var resultatRegex = lienHref.replace(/(caddieQnt=1)/g,'caddieQnt='+inputValue);

					document.location.href = resultatRegex;

					saveInputValueInt = inputValueInt;
			}
		}
	}
	
	/* ******************* Gestion du Drag&Drop *************************** */

	var productGrip = $$('.productsListGrip', '.productsFicheGrip');

	productGrip.each(function(el, i){

		var draggable = el.getParent();

		// Modification du z-index au moment du click pour que la ligne draguée passe au dessus des autres lignes
		// On initialise la variable zIndexSave en dehors des événements pour quelle soit globale (pour la récupérer dans le mouseup) 

		var zIndexSave;

		el.addEvents({

			mousedown: function(){
				draggable.fade(0.5);
				zIndexSave = draggable.getStyle('z-index');
				draggable.setStyle('z-index','1600');
			},
			mouseup: function(){ 
				draggable.fade(1);
				draggable.setStyle('z-index',zIndexSave);
			}
		});

		new Drag.Move(draggable, {

			droppables: $$('.caddieLinkEmpty','.caddieLinkFull'), // '.caddieLinkEmpty',
			handle: el,
			onDrop: function(draggable, droppable){ 
				if (!droppable){

					draggable.set('morph', {duration: 700, transition: Fx.Transitions.Elastic.easeOut});

					//L'élément dragué ne se replace pas au même endroit si on est dans une fiche produit ou dans la boutique 
					if ($('productsFiche'))					
						draggable.morph({left: 596, top : 0});
					else
						draggable.morph({left : 0, top : 0});
				}
				else{
					// On fait apparaitre un div au dessus du caddie pour faire un effet de tranparance
					var bgFadeCaddie = $('bgFadeCaddie');

					droppable.setStyles({'background-image': 'url(images/boutique/caddieFrench.jpg)','background-repeat': 'no-repeat'});

					bgFadeCaddie.setStyle('display','block');

					bgFadeCaddie.set('tween', {duration: 1000, transition: Fx.Transitions.Quad.easeInOut}).fade(1, 0);

					// Retour de la ligne à sa place aprés le drag avec un effet fade
					var myTween = new Fx.Tween(draggable);
					myTween.start('opacity', 0).chain(function(){

						//L'élément dragué ne se replace pas au même endroit si on est dans une fiche produit ou dans la boutique 
						if ($('productsFiche'))
							draggable.setStyles({'left':'596px', 'top':'0px', 'visibility':'visible'});
						else
							draggable.setStyles({'left':'0px', 'top':'0px', 'visibility':'visible'});

						myTween.start('opacity', 1);
					});

					trtLien(draggable, 1000);

				}
			},
			onEnter: function(draggable, droppable){
				droppable.setStyles({'background-image': 'url(images/boutique/caddieFrenchDrop.jpg)','background-repeat': 'no-repeat'});
			},
			onLeave: function(draggable, droppable){
				droppable.setStyles({'background-image': 'url(images/boutique/caddieFrench.jpg)','background-repeat': 'no-repeat'});
			}
		});
	});

	/* ************************** Gestion du bouton Commander ************************** */

	$$('.boutiqueItemPair', '.boutiqueItemImpair').each(function(el){

		el.getElement('.productsListAjouter').addEvent('click', function(evenement){

			new Event(evenement).stop();

			trtLien(el, 0);

		});
	});

	$$('.productsFicheActions').each(function(el){

		el.getElement('.productsFicheAjouter').addEvent('click', function(evenement){

			new Event(evenement).stop();

			trtLien(el, 0);

		});
	});

	/* ************************** Gestion de l'aide ************************** */
	
	if ($$('.helpView ')[0] != null) {
	
		var helpView = $$('.helpView ')[0];
		
		helpView.set('tween', {duration: 400, transition: Fx.Transitions.Expo.easeIn});
		
		if (!Cookie.read('aide')){
		
		    helpView.setStyles({'visibility':'hidden','display':'block'});
		
		    helpView.fade(0,1);
		
		    Cookie.write('aide', 'visité');
		}
		
		$$('body').addEvent('click', function(evenement){
		
		    helpView.setStyle('display','none');
		
		    compteur = 0;
		
		});
		
		var compteur = 0;
		
		$('helpProducts').addEvent('click', function(evenement){
		
		    new Event(evenement).stop();
		
		    if (!compteur) {
		
		    	helpView.setStyles({'visibility':'hidden','display':'block'});
		
		    	helpView.fade(0,1);
		
		    	compteur = 1;
		    }
		    else {
		
		    	helpView.setStyle('display','none');
		
		    	compteur = 0;
		    }
		
		});
		
		// bouton de suppression du cookie (pour les tests)
		//$('buttonCookie').addEvent('click', function(evenement){
		//	new Event(evenement).stop();
		//	Cookie.dispose('aide'); 
		//});	
	}

});