window.addEvent('domready', function(){

	if ($('flashAnim')){
		var flashvars = {
			xmlAddress: "/images/homeswf/xml/sauter.xml?nocache="+(new Date()).getTime()
		};

		var params = {
			menu: "false",
			wmode: "transparent",
			allowFullScreen:'false'
		};

		var attributes = {
			id: "cartouche",
			name: "cartouche"
		};

		swfobject.embedSWF("/images/sauter.swf", "flashAnim", "956", "306", "9.0.0", false, flashvars, params, attributes);
	}

	//menu principal
	if($('menuPrinc')){
		var topMenu = new sauterTopMenu('menuPrincUl', 'topSousMenu');

		$$('#menuPrinc li').each(function(el){
			var menuPrincFx = new Fx.Morph(el, {'duration': 300, link: 'cancel'});
			if(!el.hasClass('selectRub')){
				//pour cette tanche d'ie
				el.setStyle('background-position', '0 17px');
				//et hop
				el.addEvents({
					'mouseenter': function(){
						menuPrincFx.start({'background-position': '0 0'});
					},
					'mouseleave': function(){
						menuPrincFx.start({'background-position': '0 17px'});
					}
				});
			}
		});

	}
	//ends menu principal

	//menu de gauche
	if($('leftMenuUl')){
		var leftMenu = new mooVslideMenu('leftMenuUl', {
			selectClass:    'selectItem',
      mainMouseEvent: 'mouseover'
		});
	}
	//ends menu de gauche

	//menu tout en un clic
	if ($('toutUnClic')){
		var unClic = new Fx.Slide($('toutUnClicMenu'), {
			duration   : 300,
			link       : 'cancel',
			onComplete : function(){
				if(this.wrapper.offsetHeight != 0){
					this.wrapper.setStyle('height', 'auto');
					this.wrapper.getParent().addEvent('mouseleave', function(){
						unClic.slideOut();
						$('toutUnClicMenu').setStyle('padding-top', 0);
					});
				}
			}
		}).hide();

		$('voirToutUnClic').addEvent('mouseenter', function(){
			unClic.slideIn();
			$('toutUnClicMenu').setStyle('padding-top', 8);
		});

		var leftMenu = new mooVslideMenu($('toutUnClicMenu').getElement('ul'), {duration: 300});
	}
	//ends menu tout en un clic

	//carrousel produit
	if ($('produitTopCarrouselConteneur')){
		var titi = new mooVcarrousel('prodCarrou', 'prodCarrouContent', 'prodCarrouItem', {
			direction : "vertical",
			items     : {
				height: 76,
				space   : 10
			},
			butts     : {
				nextB : "prodCarrouNext",
				prevB : "prodCarrouPrev"
			}
		});
    /*
		var mediumImg = $$('.prodCarrouResult');
		var vign      = $$('.prodCarrouItem');
		var carrouNum = mediumImg.length;

		mediumImg.each(function(el, i){
			if (i != 0) el.setStyle('opacity', 0);
		});
		vign.each(function(elem, j){
			if(j >= carrouNum){
				j = j - carrouNum;
				if (j >= carrouNum) {
					j = j - carrouNum
				}
			}
			elem.addEvent('click', function(){
				for (i = 0; i < carrouNum; i ++){
					i == j ? mediumImg[i].fade('in') : mediumImg[i].fade('out');
				}
			});
		});*/
		new  mooVimgbox();
	}

	//combo box des formats
	if ($('prodFormats')){
		var paysCombo = new mooVcombo('prodFormats', 'produitChoixFormat', {
			width: 157,
			comboClass     : "vFormatReplace",
			listClass      : "vFormatList",
			selectClass    : "vSelecItem",
			listDivClass   : "vFormatCont",
			listWidth      : 150,
			zIndex         : 50
		});
	}


	//picto produits avec bulles
	if ($('plusPictos')){
		var pictos = $$('.picto');
		var bulles = $$('.pictoBulle');
		$('pictoBulles').setStyle('left', '-10000px');

		bulles.each(function(el, i){
			el.setStyle('display', 'none');

			pictos.each(function(elem, j){
				elem.addEvents({
					'click'     : function(e){
						e.stop();
					},
					'mouseenter': function(e){
						//$('pictoBulles').setStyle('display', 'block');
						var xpos = this.getPosition('plusProduits').x + 25;
						var ypos = this.getPosition('plusProduits').y + 25;

						i == j ? bulles[i].setStyle('display', 'block') : bulles[i].setStyle('display', 'none')

						$('pictoBulles').setStyles({
							'left'		: xpos,
							'top'		: ypos
						});
					},
					'mouseleave': function(){
						$('pictoBulles').setStyle('left', '-10000px');
					}
				});
			});
		});
	}

	//carrousel decouvrez aussi
	if($('decouvrezCarrou')){
		var legend = $$('#decouvrezCarrouLegend p');
		var legNum = legend.length;
		var downs  = $$('#decouvrezDownloads a');

		var toto = new mooVcarrousel('decouvrezCarrou', 'decouvrezCarrouContent', 'decouvrezCarrouItem', {
			items   : {
				space   : 0,
				width: 144
			},
			butts     : {
				nextB : "decouvrezCarrouNext",
				prevB : "decouvrezCarrouPrev"
			},
			onStart   : function(){
				legend.each(function(el, i){
					i == 0 ? el.setStyle('opacity', 1) : el.setStyle('opacity', 0);
				});
				downs.each(function(el, i){
					i == 0 ? el.setStyle('display', 'block') : el.setStyle('display', 'none');
				});
				this.i = 0;
			},
			onNext    : function(){
				this.i ++;
				if (this.i == legNum) this.i = 0;
				legend.each(function(el, i){
					i == this.i ? el.setStyle('opacity', 1) : el.setStyle('opacity', 0);
				}.bind(this));
				downs.each(function(el, i){
					i == this.i ? el.setStyle('display', 'block') : el.setStyle('display', 'none');
				}.bind(this));
			},
			onPrev    : function(){
				this.i --;
				if (this.i == -1) this.i = legNum - 1;
				legend.each(function(el, i){
					i == this.i ? el.setStyle('opacity', 1) : el.setStyle('opacity', 0);
				}.bind(this));
				downs.each(function(el, i){
					i == this.i ? el.setStyle('display', 'block') : el.setStyle('display', 'none');
				}.bind(this));
			}
		});
	}

		//carrousel decouvrez nos produits
	if($('decProdCarrou')){
		var legend = $$('.decProdCarrouTxt');
		var legNum = legend.length;
		var ziDecProdCarrou = new mooVcarrousel('decProdCarrou', 'decProdCarrouContent', 'decProdCarrouItem', {
			items   : {
				space   : 0,
				width   : 144
			},
			butts     : {
				nextB : 'decProdCarrouNext',
				prevB : 'decProdCarrouPrev'
			},
			onStart   : function(){
				legend.each(function(el, i){
					i == 0 ? el.setStyle('display', 'block') : el.setStyle('display', 'none');
				});
				this.i = 0;
			},
			onNext    : function(){
				this.i ++;
				if (this.i == legNum) this.i = 0;
				legend.each(function(el, i){
					i == this.i ? el.setStyle('display', 'block') : el.setStyle('display', 'none');
				}.bind(this));
			},
			onPrev    : function(){
				this.i --;
				if (this.i == -1) this.i = legNum - 1;
				legend.each(function(el, i){
					i == this.i ? el.setStyle('display', 'block') : el.setStyle('display', 'none');
				}.bind(this));
			}
		});
	}

	//les liens d'impression
	if ($$('.printLink').length > 0){
		$$('.printLink').each(function(el){
			el.addEvent('click', function(e){
				e.stop();
				window.print();
			});
		});
	}

//	if ($$('.aideChoixSelect').length > 0 && $('aideChoixForm')){
//		var mainZ = 35;
//		$$('.aideChoixSelect').each(function(el, i){
//			var properZ = mainZ - i;
//			var ziSelect = new mooVcombo(el, 'aideChoixForm', {
//				width: 140,
//				comboClass     : "vAideReplace",
//				listClass      : "vFormatList",
//				selectClass    : "vSelecItem",
//				listDivClass   : "vAideCont",
//				listWidth      : 135,
//				hideDelay      : 500,
//				zIndex         : properZ
//			});
//		});
//	}

	//les questions drag and drop

	var checkOblig = function(){
		var verif = $$('.oblig').every(function(el, i){
			return el.get('value') != "";
		});
		verif == true ? $('submit').setStyle('visibility', 'visible') :  $('submit').setStyle('visibility', 'hidden');
	}

	if ($$('.oblig').length > 0 && $('submit')){
		checkOblig();
	}

	if ($$('.acQuestion').length > 0){
		$$('.acQuestion').each(function(el, i){
			var question = new mooSauterAideChoix(el, {
				onComplete: function(){
					checkOblig();
				},
				onReset   : function(){
					checkOblig();
				}
			});
		});
	}

/*--------------------------------------------------------------------------------------*/
/*--------------------------------------M A T H I E U---------------------------------*/
/*--------------------------------------------------------------------------------------*/




	//combo box des univers
	if ($('prod_select_univers')){
		universCombo = new mooVcombo('prod_select_univers', 'produit_Choix_univers', {
			width: 157,
			comboClass     : "vFormatReplace",
			listClass      : "vFormatList",
			selectClass    : "vSelecItem",
			listDivClass   : "vFormatCont",
			listWidth      : 150,
			zIndex         : 12,
      showOnMouseOver: true,
      tgOnChange     : function(val) {univershaschange(val, true);}
		});

    if(!(typeof(univers_post) != 'undefined' && univers_post > 0))
    {
      universCombo.topValue.set('text', "Sélectionnez...");
    }
	}
	//combo box des familles
	if ($('prod_select_famille')){
		familleCombo = new mooVcombo('prod_select_famille', 'produit_Choix_famille', {
			width: 157,
			comboClass     : "vFormatReplace",
			listClass      : "vFormatList",
			selectClass    : "vSelecItem",
			listDivClass   : "vFormatCont",
			listWidth      : 150,
			zIndex         : 11,
      showOnMouseOver: true,
      tgOnChange     : function(val) {famillehaschange(val, true);}
		});

    if(!(typeof(famille_post) != 'undefined' && famille_post > 0))
    {
      familleCombo.topValue.set('text', "Sélectionnez...");
    }
	}
	//combo box des produits
	if ($('prod_select_produits')){
		produitCombo = new mooVcombo('prod_select_produits', 'produit_Choix_produits', {
			width: 157,
			comboClass     : "vFormatReplace",
			listClass      : "vFormatList",
			selectClass    : "vSelecItem",
			listDivClass   : "vFormatCont",
			listWidth      : 150,
			zIndex         : 10,
      showOnMouseOver: true
		});

    if(!(typeof(famille_post) != 'undefined' && famille_post > 0) && !(typeof(univers_post) != 'undefined' && univers_post > 0))
    {
      produitCombo.topValue.set('text', "Sélectionnez...");
    }

    if(universCombo.getValue() > 0 && typeof(univers_post) == 'undefined')
      univershaschange(universCombo.getValue(), true);
	}

  if(typeof(univers_post) != 'undefined' && univers_post > 0)
  {
    univershaschange(univers_post);
  }

  if(typeof(famille_post) != 'undefined' && famille_post > 0)
  {
    famillehaschange(famille_post);
  }

	//combo box des sujet > univers
	if ($('sujet_select_univers')){
		universCombo = new mooVcombo('sujet_select_univers', 'sujet_Choix_univers', {
			width: 157,
			comboClass     : "vFormatReplace",
			listClass      : "vFormatList",
			selectClass    : "vSelecItem",
			listDivClass   : "vFormatCont",
			listWidth      : 150,
			zIndex         : 12,
      showOnMouseOver: true,
      tgOnChange     : function(val) {univershaschange(val);}
		});
	}
	//combo box des sujet > familles
	if ($('sujet_select_famille')){
		familleCombo = new mooVcombo('sujet_select_famille', 'sujet_Choix_famille', {
			width: 157,
			comboClass     : "vFormatReplace",
			listClass      : "vFormatList",
			selectClass    : "vSelecItem",
			listDivClass   : "vFormatCont",
			listWidth      : 150,
			zIndex         : 11,
      showOnMouseOver: true,
      tgOnChange     : function(val) {famillehaschange(val);}
		});
	}
	//combo box des sujet > produits
	if ($('sujet_select_produits')){
		produitCombo = new mooVcombo('sujet_select_produits', 'sujet_Choix_produits', {
			width: 157,
			comboClass     : "vFormatReplace",
			listClass      : "vFormatList",
			selectClass    : "vSelecItem",
			listDivClass   : "vFormatCont",
			listWidth      : 150,
			zIndex        : 10,
      showOnMouseOver: true
		});
    univershaschange(universCombo.getValue());
	}
	//combo box des offres speciales >univers
	if ($('offre_speciale_univers')){
		universCombo = new mooVcombo('offre_speciale_select_univers', 'offre_speciale_univers', {
			width: 157,
			comboClass     : "vFormatReplace",
			listClass      : "vFormatList",
			selectClass    : "vSelecItem",
			listDivClass   : "vFormatCont",
			listWidth      : 150,
			zIndex         : 12,
      showOnMouseOver: true,
      tgOnChange     : function(val) {univershaschange(val);}
		});
	}
	//combo box des offres speciales > familles
	if ($('offre_speciale_famille')){
		familleCombo = new mooVcombo('offre_speciale_select_famille', 'offre_speciale_famille', {
			width: 157,
			comboClass     : "vFormatReplace",
			listClass      : "vFormatList",
			selectClass    : "vSelecItem",
			listDivClass   : "vFormatCont",
			listWidth      : 150,
			zIndex         : 11,
      showOnMouseOver: true
		});
    univershaschange(universCombo.getValue());
	}

//menu fausse combo
if($$('.fausses_combo').length>0){
	var boxes = $$('.fausses_combo');
	var togs = $$('.voir_fausses_combo');
	var slides = $$('.fausses_combo_menu');
	var ziSlides = [];

	boxes.each(function(obj, i){
		obj.style.zIndex=-i+50; // permet de fixer le z-index avec +1 de chaque nouvelle combo instanci�e (�vite les pb de chevauchements)
	});

	slides.each(function(obj, i){
		var ziSlide = new Fx.Slide(obj, {duration: 300}).hide();
		ziSlides.push(ziSlide);

		togs[i].addEvent('click', function(e){
			e.stop();
			ziSlides[i].toggle();
		});

	});
}
	//ends menu fausse combo

  /**
   * Gestion de la popup pour envoyer à un ami
   */
  Element.implement({
    show: function() {
      this.setStyle('display', 'block');
      this.setStyle('opacity', '0');
      this.fade('in');
    },
    hide: function() {
      this.fade('out');
      this.setStyle('display', 'none');
    }
  });

  $$('a[rel=boxed][href^=#]').addEvent('click', function()
  {
    $$('#mail-to-friend-form-container #response').innerHTML = '';
    $('mail-to-friend-form-container').show();
    return false;
  });

  $$('.closeBox').addEvent('click', function()
  {
    $('mail-to-friend-form-container').hide();
    return false;
  });


  //Résoud le problème des fiches techniques trop larges
  /*if($chk($$('.techTab')))
  {
    $$('.techTab').each(function(table){
      var pave_parent = $(table).getParent('.paveMargeGauche');
      var original_width = pave_parent.getStyle('width');
      $(table).addEvent('mouseover', function(){
        pave_parent.setStyle('width', parseInt($(table).getStyle('width')) + 2);
      })
      .addEvent('mouseout', function(){
        pave_parent.setStyle('width', original_width);
      });
    });
  }
  
  if(jQuery('.techTab').length > 0)
  {
    jQuery('.techTab').each(function()
    {
      var div_parent = jQuery(this).parents('div:first');
      var original_width = div_parent.width();

      jQuery(this).mouseover(function()
      {
        if($(this).width() > div_parent.width())
        {
          div_parent.width(jQuery(this).width());
        }
      })
      .mouseout(function()
      {
        if(jQuery(this).width() > div_parent.width())
        {
          div_parent.width(original_width);
        }
      });
    });
  }*/

}); //ends domready g�n�ral



/**
 * @name EstSiretValide
 *
 * @param Le code SIRET dont on veut vérifier la validité.
 *
 * @return Un booléen qui vaut 'true' si le code SIRET passé en
 * paramètre est valide, false sinon.
 */
function valideSiret(siret)
{
  var estValide;
  if ( (siret.length != 14) || (isNaN(siret)) )
    estValide = false;
  else {
    // Donc le SIRET est un numérique à 14 chiffres
    // Les 9 premiers chiffres sont ceux du SIREN (ou RCS), les 4 suivants
    // correspondent au numéro d'établissement
    // et enfin le dernier chiffre est une clef de LUHN.
    var somme = 0;
    var tmp;
    for (var cpt = 0; cpt<siret.length; cpt++) {
      if ((cpt % 2) == 0) { // Les positions impaires : 1er, 3è, 5è, etc...
        tmp = siret.charAt(cpt) * 2; // On le multiplie par 2
        if (tmp > 9)
          tmp -= 9; // Si le résultat est supérieur à 9, on lui soustrait 9
      }
      else
        tmp = siret.charAt(cpt);
      somme += parseInt(tmp);
    }
    if ((somme % 10) == 0)
      estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide
    else
      estValide = false;
  }
  return estValide;
}
