function IsNum (valeur) {
      chiffre = "1234567890";
      for (i = 0; i < valeur.length; i++) {
       tmp = valeur.substring(i,i+1);
       if (chiffre.indexOf(tmp,0) == -1) return false ;
      }
      return true ; 
  }

  function IsDate (ChaineDate) {
	//alert('ds isDate')
   if (ChaineDate.length==0) return true;
      if ((ChaineDate.length < 8) || (ChaineDate.length > 10)) {//alert('taille incorrect '+ChaineDate.length);
      return false;}
 
   JJ = ChaineDate.substring(0,ChaineDate.indexOf("/"));
   MM = ChaineDate.substring(ChaineDate.indexOf("/")+1,ChaineDate.lastIndexOf("/"));
   AAAA = ChaineDate.substring(ChaineDate.lastIndexOf("/")+1,ChaineDate.length);
  
   if (JJ.length == 1) JJ = "0" + JJ;
   if (MM.length == 1) MM = "0" + MM;

   //oForm.JJ.value = JJ;
   //oForm.MM.value = MM;
   //oForm.AAAA.value = AAAA;
  
   if (! IsNum(JJ)) {//alert('JJ non numérique');
   return false ;}
   if (! IsNum(MM)) {//alert('MM non numérique');
   return false ;}
   if (! IsNum(AAAA)) {//alert('AAAA non numérique');
   return false ;}
 
   if (JJ.length==2) if (JJ.charAt(0) == "0") JJ = JJ.charAt(1) ;
   if (MM.length==2) if (MM.charAt(0) == "0") MM = MM.charAt(1) ;
    
   var nbj = Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) ;
   lJJ = parseInt (JJ) ;
   lMM = parseInt (MM) ;
   lAAAA = parseInt (AAAA) ;
   if ((lAAAA < 1900) || (lAAAA > 3000)) {//alert('date incorrect');
   	return false ;}
   if ((lMM > 12) || (lMM < 1)) {//alert('mois incorrect');
   	return false ;}
   if ((lAAAA % 4) == 0) nbj[1]++ ;
   if ((lJJ < 1) || (lJJ > nbj[lMM - 1])) {//alert('jour incorrect');
   		return false ;}
   //alert('fin');
   return true ;
  }
    
   function IsBadChar (valeur) {
      badchars = "éèàêùïîü|ç&#^$£%()/§?!µ¤,;:=+°\"\\²&~'<{([`])}>*";
      for (i = 0; i < valeur.length; i++) {
       tmp = valeur.substring(i,i+1);
       if (badchars.indexOf(tmp,0) != -1) return true ;
      }
      return false ; 
  }
    function IsEmail (oChamp) {
  var unmot=1;
  var prov=oChamp.value.split(" ");
  
	var _mail = oChamp.value.replace(/(^\s*)|(\s*$)/g,'');
	
	if (_mail.indexOf(' ')!=-1)
		return false;
	else {
		var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
   		return (reg.exec(_mail))!=null;
	}
}

function ajout_rapide(form)
	{
	try{
		var errajr = 0;
		if ( (errajr==0) && (form.p1.value.length!=6) )
		{
			alert('Le code article doit faire 6 caractères');
			form.p1.focus();
			return false;
		}
		if ( (errajr==0) && (IsNum(form.p1.value)== false ))
		{
			alert('Le code article doit contenir uniquement des chiffres');
			form.p1.focus();
			return false;
		}
		if ( (errajr==0) && (form.p2.value.length!=2) )
		{
			form.p2.value='62';
		}
		if ( (errajr==0) && (IsNum(form.p2.value)== false ) )
		{
			alert('Le code insertion doit contenir uniquement des chiffres');
			form.p1.focus();
			return false;
		}
		if ( (errajr==0) )
			if ( (form.quantity.value=='') || (form.quantity.value=='0') )
			{
				form.quantity.value = '1';
			}
		if (errajr==0)
		{
			form.partNumber.value = form.p1.value + "-" + form.p2.value;
			form.action="AjoutRapideView";
			form.URL.value='OrderCalculate?updatePrices=1&calculationUsageId=-1&orderItemId*=&quantity*=&URL=OrderItemDisplay';
			form.submit();		
		}
		}catch(exception){
			alert(exception);
		}
		return true;
	}

/** recalcul du panier*/
function UpdateTotal(form)
	{
		form.page.value ='';
		form.URL.value = 'OrderCalculate?updatePrices=1&calculationUsageId=-1&orderItemId*=&quantity*=&URL=OrderItemDisplay';
		form.submit();
	}
	/**
	validation du panier*/
function testcrap(seuil,montant,url)
	{
		if (parseInt(montant,10)<parseInt(seuil,10))		
		{
			alert('Le montant minimum de commande est de '+seuil+' Euros.\nPour un montant inférieur, seul de paiement par chèque est\n accepté et les frais de livraison sont de 11.99 Euros.');
		}
		else
		{
			document.location=url;
		}
	}

/** validation code bulletin */	
function checkPromoCode()
	{
		if (document.PromotionCodeForm.codePromotion.value=='')
		{
			alert('Veuillez renseigner le code commande.');
		}
		else
		{
			if (document.PromotionCodeForm.codePromotion.value.length!=5)
			
			{
			alert('Votre code commande doit être composé de 5 caractères.');
			}
			else {
			document.PromotionCodeForm.submit();
		}}
	}

	
/** impression du récap **/
function recapPrint(orderId){
	$.ajax({type: "GET",
			url:"/webapp/wcs/stores/servlet/OrderSubmitFormPaiementCheckTrackingAjaxView?orderId="+orderId+"&storeId=10001&catalogId=10001",

			 error:function(msg){
			 },
			 success:function(data){
			 //affiche le contenu du fichier dans le conteneur dédié
			 $("#tracking").html(data);
			 }
			});
}

function affichImage(img,h,L) {
    var hauteur = img.height;
    var largeur =img.width;
    var hauteurF = hauteur;
    var largeurF = largeur;
   // document.write('<font style="color:white">H:'+hauteur+' x L:'+largeur + ' </font>');
	
    if (largeur>hauteur) {
        if (largeur > L) {
	 		largeurF = L	;
	    	hauteurF = (hauteur * L) / largeur;
        }
    }
    else if (hauteur>largeur) {
        if (hauteur > h) {
	    	hauteurF = h;
            largeurF = (largeur * h) / hauteur;
        }
    }
    else if (hauteur==largeur) {
        hauteurF = h;
        largeurF = L;
    }
	
    img.width = largeurF;
    img.height = hauteurF;
   img.style.visibility = "visible";
   img.align="absmiddle";
}

function redimImage(){
 	nb_pt = 0;
	nb_gd = 0;
	while (window.document.getElementById('pt_img_'+nb_pt) != null){
       	affichImage(window.document.getElementById('pt_img_'+nb_pt),116,127);
		nb_pt++;
	}
	while (window.document.getElementById('gd_img_'+nb_gd) != null){
       	affichImage(window.document.getElementById('gd_img_'+nb_gd),230,230);
		nb_gd++;
	}
}


/** recherche point relais kiala
*/
function prepareSubmitRechercheCPKiala(){
			var errmsg = "";
			var nberreur = 0;
			if (($("#codePostalLivraison").val().length!=5 )||(!IsNum($("#codePostalLivraison").val())))
			{
				nberreur++;
				errmsg = errmsg + "\n - Le Code postal doit être composé de 5 chiffres.";
			}
		
			if (nberreur==0) 
			{
				var complement="";
				//if (document.shipping.choixKiala[0].checked){
					complement="&choixKiala=0";
				//}
				//if (document.shipping.choixKiala[1].checked){
				//	complement="&choixKiala=1";
				//}
				window.location.replace("Livraison?langId=-2&storeId=10001&catalogId=10001&orderId="+$("#orderId").val()+"&codePostal="+$("#codePostalLivraison").val()+"&choixLivraison=1"+ complement);
			}else {
				alert(errmsg);
			}
		
		
		}
		
/** recherche le détail d'un point relais */
function rechargeDetailKiala(Id)
		{		
			$.ajax({
		   	type: "GET",
	   		url: "KialaDetail?storeId="+$("#storeId").val()+"&catalogId="+$("#catalogId").val()+"&langId=-2&selectionne="+Id,

	   		error:function(msg){
		   		document.getElementById("detailkiala" ).innerHTML = "<font color=\"red\"><b>Nous n avons pas trouvé de Détail concernant ce Point Relais Kiala</b></font>";
		   		
	   		},
	   		success:function(data){
	   		 eval(data);
			}});
			
		}

/** recherche les modeq de livraison disponible pour l'adresse */
function rechargeListeExpedition(Id,mode){	
//On va rechercher si l'internaute a dejà sélectionné un mode d'expédition		
			var monForm=document.getElementById("shipping");
			var modeselect=0;

			if(monForm.choixModeExpedition!=undefined){
				if(monForm.choixModeExpedition.length!=undefined){
					for(i=0; i<monForm.choixModeExpedition.length;i++){
						if (monForm.choixModeExpedition[i].checked){
							modeselect=monForm.choixModeExpedition[i].value;
						} 
					}
				} else {
					if (monForm.choixModeExpedition.checked){
						modeselect=monForm.choixModeExpedition.value;
					}
				}
			}
			if (modeselect>0) mode=modeselect;

			$.ajax({
			   	type: "GET",
		   		url: "ListeExpedition?storeId="+$("#storeId").val()+"&catalogId="+$("#catalogId").val()+"&langId=-2&orderId="+$("#orderId").val()+"&userRef="+$("#userRef").val()+"&addressId=" + Id + "&mode="+mode,
	
		   		error:function(msg){
			   		document.getElementById("listeExped" ).innerHTML = "<font color=\"red\"><b>Nous n avons pas trouvé mode de livraison</b></font>";
	
		   		},
		   		success:function(data){
		   			//alert(data);
		   			eval(data);
				}
			});
			
}

/** validation livraison */
function prepareSubmitSelect(){
try{
			var errmsg = "";
			var msgok="";
			var nberreur = 0;
			var leForm=document.getElementById("shipping");
			// on initialise les champs
			leForm.choixLivraisonSelect.value='VIDE';
			leForm.choixModeExped.value='VIDE';
			leForm.choixAdresseExped.value='VIDE';
			
			
			//recherche du type de livraison
			//KIALA
			if (leForm.choixLivraison[0] != undefined){
				if (leForm.choixLivraison[0].checked){
					leForm.choixLivraisonSelect.value='kiala';
					msgok+="Vous avez sélectionné une livraison kiala";
					//choixKiala
					//if (leForm.choixKiala[0].checked){
						leForm.choixModeExped.value='kialaClassique';
						msgok+="\n kialaClassique";
					//}
					//if (leForm.choixKiala[1].checked){
					//	leForm.choixModeExped.value='kialaXpress';
					//	msgok+="\n kialaXpress";
					//}
					if  (leForm.choixModeExped.value=='VIDE'){
						nberreur++;
						alert("Vous n'avez pas sélectionné votre mode de livraison Kiala (Express/Classic)");
					} else {
					
						if(leForm.choixRelais!=undefined){
							if(leForm.choixRelais.length!=undefined){
								for(i=0; i<leForm.choixRelais.length;i++){
									if (leForm.choixRelais[i].checked){
										leForm.choixAdresseExped.value=leForm.choixRelais[i].value;
										msgok+="\n adr : " + leForm.choixRelais[i].value;
									} 
								}
							}
						}
						if  (leForm.choixAdresseExped.value=='VIDE'){
							nberreur++;
							alert("Vous n'avez pas sélectionné votre point relais Kiala");
						}					
					}
	
				}				
			}
			//DOMICILE
			var liv_dom = false;
			if (leForm.choixLivraison[1] != undefined){
				if (leForm.choixLivraison[1].checked){
					liv_dom=true;
				}
			}
			if (leForm.choixLivraison.checked){
				liv_dom=true;
			}
			if(liv_dom)
			{
				leForm.choixLivraisonSelect.value='domicile';
				msgok+="Vous avez sélectionné une livraison a domicile";
				if(leForm.choixModeExpedition!=undefined){
					if(leForm.choixModeExpedition.length!=undefined){
						for(i=0; i<leForm.choixModeExpedition.length;i++){
							if (leForm.choixModeExpedition[i].checked){
								leForm.choixModeExped.value=leForm.choixModeExpedition[i].value;
								msgok+="\n mode expedition : " + leForm.choixModeExpedition[i].value;
							} 
						}
					} else {
						if (leForm.choixModeExpedition.checked){
							leForm.choixModeExped.value=leForm.choixModeExpedition.value;
								msgok+="\n mode expedition : " + leForm.choixModeExpedition.value;
							}
					}
				}
				if  (leForm.choixModeExped.value=='VIDE'){
					nberreur++;
					alert("Vous n'avez pas sélectionné votre délai de livraison");
				} else {
					if(leForm.choixAdresse!=undefined){
						if(leForm.choixAdresse.length!=undefined){
							for(i=0; i<leForm.choixAdresse.length;i++){
								if (leForm.choixAdresse[i].checked){
									leForm.choixAdresseExped.value=leForm.choixAdresse[i].value;
									msgok+="\n addr : " + leForm.choixAdresse[i].value;
								} 
							}
						}else {
						if (leForm.choixAdresse.checked){
							leForm.choixAdresseExped.value=leForm.choixAdresse.value;
								msgok+="\n mode addr : " + leForm.choixAdresse.value;
							}
					}
					}
					if  (leForm.choixAdresseExped.value=='VIDE'){
						nberreur++;
						alert("Vous n'avez pas sélectionné votre adresse de livraison");
					}	
				}
			}
			
			
			
			
			if  (leForm.choixLivraisonSelect.value=='VIDE'){
				nberreur++;
				alert("Vous n'avez pas sélectionné votre mode de livraison");				
			}
			if (nberreur==0)
			{
				return true;
				//alert(msgok);
			} 
			else{
				return false;
			}	
			}catch(Exception)
		{
		//code non compatible IE!!
		//console.log(Exception.name+" : "+Exception.message);
		return false;
		}
		}

/* REFONTE 2011 */
document.timeoutLayer = null;
document.Layer = null;
overli=false;

function anime_carousel()
{
	if(!overli)
	{
		var str1 = jQuery('.highlightProds .menu li:last').text();
		var str2 = jQuery('.highlightProds .menu  .selected').text();
	   
	   if(str1 != str2)
	   {
	                   jQuery('.highlightProds .menu  .selected').next().mouseover();
	                   jQuery('.highlightProds .menu  .selected').mouseout();
	    }
	   else
	   {
	                   jQuery('.highlightProds .menu  li:first').mouseover();
	                   jQuery('.highlightProds .menu  li:first').mouseout();
	   }
	}              
}
jQuery(document).ready(function () {

	jQuery("#recherche").attr("initialvalue", "Mot clé, réf...")
						.focus(function () 
							   { 
								  onElementFocus(this);
							   })
					    .blur(function () 
							  { 
								  onElementBlur(this);
							  });
	
	/*layer navigation*/
	jQuery("#nav > li > a").mouseover(function () {
		
			$(this).addClass("active")
				   .next(".layerNav").css("display", "block");
	});
	
	jQuery("#nav > li").mouseleave(function () {
		
			$(this).find("a").removeClass("active")
				   .end()	
				   .find(".layerNav").css("display", "none");
	});	
	if(navigator.appVersion.indexOf("MSIE 7") >= 0)
	{
		jQuery("#nav > li > a").each(function (i) {
			
			strtext = $(this).html();
			
			if(strtext.length < 19)
			{
				$(this).css({ paddingTop: 10, paddingBottom: 10, height: 15 });	
			}
			
		});
	}
	
	/*layer service commercial*/
	jQuery(".commercial a").mouseover(function () {
		
		$(this).next("ul").css("display", "block");
		
	});
	
	jQuery(".commercial").mouseleave(function () {
		
		$(this).find("ul").css("display", "none");
		
	});
	
	//recapitulatif
	$("#equalHeight").jHeights();
	//custom select
	if($("form.frmCustom .selCustom").hasClass("selCustom"))
	   $("form.frmCustom .selCustom").jqTransform({ jscrollpane: true });
	   
	if($("form.frmPagination .selCustom").hasClass("selCustom"))
	   $("form.frmPagination .selCustom").jqTransform({});
	   
	//custom checkbox
	if($("form.optionFiltre .checkCustom").hasClass("checkCustom"))
	   $("form.optionFiltre .checkCustom").jqTransform({});
	
	/* slider prix : INCORPORER DANS catalogSearchFASResult
	$(function() {
		if($( ".sliderPrix" ).hasClass("sliderPrix"))
		{
		$( ".sliderPrix" ).slider({
			range: "min",
			value: 58,
			min: 10,
			max: 500,
			slide: function( event, ui ) {
			$( "#prix" ).val( ui.value + "€" );
			}
		});
		$( "#prix" ).val( $( ".sliderPrix" ).slider( "value" ) + "€" );
		}
	 }); 
	*/
	/* livraison */
	jQuery("#livRelai").click(function () {
		$(this).parents(".blocLivraison").find(".infoPlus").show();
		//$(this).parents(".blocLivraison").find("dl:last").hide();
		$(this).parents(".cont").find("#livraisonDomicile").hide();
	});
	jQuery("#livDomicile").click(function () {
		$(this).parents(".cont").find("#livraisonDomicile").show();
		$(this).parents(".blocLivraison").find(".infoPlus").hide();
		
	});
	jQuery("#codePostalLivraison").keydown(function (event) {
		
		if(event.which == 13)
		{
			submitFormLivraison(false, this.form);
		}
		
	}).keypress(function (event) {
		
		if(event.which == 13)
		{
			submitFormLivraison(false, this.form);
		}
		
	});
	
	/* layer zoom */
	/* Activer en javascript via la fonction affichezoom
	jQuery(".list .zoom").click(function () {
		$(".layerZoom").show();
	});
	*/
	jQuery(".layerZoom .close").click(function () {
		$(".layerZoom").hide();
	});
	
	/* layer paiement */
	jQuery(".infoPaiement").click(function () {
		$("#layerPaiement").show();
		$("#paiementPane").jScrollPane({showArrows: true});
	});
	
	/* layer achat sécurisé */
	jQuery(".achatSecurise").click(function () {
		$("#layerSecurite").show();
	});
	
	/* layer Relais kiala */
	jQuery(".infoRelaisKiala").click(function () {
		$("#layerRelaisKiala").show();
		$("#kialaPane").jScrollPane({showArrows: true});
	});

	/* layer livraison Domicile */
	jQuery(".infoLivraisonDom").click(function () {
		$("#layerLivraisonDom").show();
		$("#livraisonDomPane").jScrollPane({showArrows: true});
	});

	
 	/* carousel sur la page home */
	if(jQuery('.panes').hasClass('panes'))
	{
		jQuery('.panes').jcarousel({ scroll: 1,
									 auto: 3,
									 size: 4,
									 wrap: 'circular',
									 initCallback: function() { },
									 itemVisibleInCallback: {
										 onBeforeAnimation: function (inst, li, index, state) {
											
											document.carouselHomeAnimating = true;
											 
										 },
										 onAfterAnimation: function (inst, li, index, state) {
															
												 i = $(li).index() % 4;
															
												 $(".carouselHome .scroll a").removeClass("active")
																			 .eq(i)
																			 .addClass("active");
												
												 document.carouselHomeAnimating = false;										
										 }
									 }
													 
								  });
								 				  
		jQuery(".carouselHome .scroll").delegate("a", "click", function () {
			
			if(!document.carouselHomeAnimating)
			{
				Index = parseInt($(this).html());
				jQuery('.panes').data("jcarousel").itemClicked = true;
				jQuery('.panes').data("jcarousel").scroll(Index, false);
			}
		});
	}
 	
	/* Bloc push produit sur la page home */
	jQuery(".highlightProds .menu li a").click(function (e) {
		
		e.preventDefault();
		
	});
	setInterval("anime_carousel();",5000);
	jQuery(".highlightProds .menu").delegate("li", "mouseover", function () {
		
		overli=true;
		$(this).addClass("selected")
			   .siblings("li")
			   .removeClass("selected");
		
		idProductDiv = $(this).find("a").attr("href");
		
		$(".highlightProds .highlightProduct").css("display", "none")
											  .filter(idProductDiv)
											  .css("display", "block");
 		$(".highlightProds .highlightProduct").filter(idProductDiv)
											  .find(".prod")
											  .jScrollPane({showArrows: true});
	});

	jQuery(".highlightProds .menu").delegate("li", "mouseout", function () {
		
		overli=false;
	});
	
/* Suppression du pavé sur le traitement de HP V2
 	jQuery(".ficheProd .tabs").find("a").click(function (e) { e.preventDefault(); })
	                          .end()
							  .delegate("li", "click", function (e) {
		
		e.preventDefault();
		
		$(this).addClass("active")
			   .siblings().removeClass("active");

		Index = $(this).index();
		
		jQuery(".ficheProd .fiches").children().css("display", "none").eq(Index).css("display", "block");
		
		if(jQuery(".ficheProd .fiches").children().eq(Index).attr("class").indexOf("accessoires") >= 0)
		{
			$(".accessoires .listCont").jScrollPane({showArrows: true});
		}
	});
*/
	//scrollPane fiche produit onglet accessoires
	if($(".accessoires .listCont").hasClass("listCont"))
 		$(".accessoires .listCont").jScrollPane({showArrows: true});
		
	/*
	if($(".prodsList .prod").hasClass("prod"))
		$(".prodsList .prod").jScrollPane({showArrows: true}); */
		
	//scrollPane bloc transition resultats
	if($(".transition #transitionPane").hasClass("scroll-pane"))
 		$(".transition #transitionPane").jScrollPane({showArrows: true });
		
	//scrollPane bloc transition resultats
	if($(".layerTrans #transitionLayer").hasClass("scroll-pane"))
 		$(".layerTrans #transitionLayer").jScrollPane({showArrows: true });
		
 	if(jQuery('.carouselFicheProduit').hasClass('carouselFicheProduit'))
	{ 
 	jQuery('.carouselFicheProduit').jcarousel({ scroll: 4,
											    initCallback: function() { }
								              });
 }
 	jQuery('.linkPrixLayer, .prodQty, .inputQty').bind("mouseover", function () {
		
								if(document.timeoutLayer)
									clearTimeout(document.timeoutLayer);
									
								if($(this).siblings(".layerPrixDeg").hasClass("layerPrixDeg"))
									document.Layer = $(this).siblings(".layerPrixDeg");
								else
									document.Layer = $(this).parent().siblings(".layerPrixDeg");
									
								document.timeoutLayer = setTimeout(showPrixLayer, 250);
								
							})
							.bind("mouseout", function () {
								
								if(document.timeoutLayer)
									clearTimeout(document.timeoutLayer);
								
								Layer = document.Layer;
								Layer.stop(true, true).fadeOut();
								
								document.Layer = null;
								
								
							});
 
 	jQuery('.linkPrixLayerAccessories').bind("mouseover", function () {

								Layer = $(this).next();
								
								Left = $(this).position().left - Layer.width() + 50;
								Top = $(this).position().top;

								if(document.timeoutLayer)
									clearTimeout(document.timeoutLayer);
								
								document.Layer = Layer;
								
								document.timeoutLayer = setTimeout(showPrixLayerAccessories, 250);
								
							})
							.bind("mouseout", function () {
								
								if(document.timeoutLayer)
									clearTimeout(document.timeoutLayer);
									
								document.Layer = null;
								
								$(this).next().stop(true, true).fadeOut();
							});
 	
	jQuery('.btnQty').each(function (i) {
		
		$(this).find("a").eq(0).bind("click", function (e) {
		
								e.preventDefault();
			
								Input = $(this).parent().prev("input");
								
								Input.val(parseInt(Input.val())+1); 
			
						   })
						   .end()
						   .eq(1).bind("click", function (e) {
							   
								e.preventDefault();
							   
								Input = $(this).parent().prev("input");
								
								if(parseInt(Input.val()) > 1){
									Input.val(parseInt(Input.val())-1); 
								}
								
						   });
 
	});	
 
	imagesFolder = "/wcsstore/ConradB2C/images/";
	imagesArray = new Array();
	
	imagesToDownload(imagesArray,
	                 imagesFolder + 'btn_ajout-panier-over.png',
					 imagesFolder + 'btn_ajout-panier-mini-over.png',
					 imagesFolder + 'bgd_nav-layer.png',
					 imagesFolder + 'bgd_layer-ajout-panier.png',
					 imagesFolder + 'bgd_cat-list.gif',
					 imagesFolder + 'bgd_button-layer.gif',
					 imagesFolder + 'sep_vertical-layer.gif',
					 imagesFolder + 'bgd_nav-hover.gif',
					 imagesFolder + 'bgd_layer-livraison.png',
					 imagesFolder + 'btn_close.gif',
					 imagesFolder + 'scroll-track.png',
					 imagesFolder + 'bgd_layer-prix-deg.png'
					 );
	
	// *******************************
	// Form validation
	// *******************************
	if(document.frmInfoPerso)
	{
		Form = document.frmInfoPerso;
		
		for(var i = 0, m = Form.elements.length; i < m; i++)
		{
			if(Form.elements[i])
				jQuery(Form.elements[i]).unbind("change").unbind("keydown").unbind("keypress").unbind("keyup");	
		}

		/* modif des noms des champs par rapport existant */
		setAttributesFormElement(Form.elements["personTitle"][0], "true", "", null, "errorCivilite", "Veuillez saisir votre civilit&eacute;.");
		setAttributesFormElement(Form.elements["personTitle"][1], "true", "", null, "errorCivilite", "Veuillez saisir votre civilit&eacute;.");
		setAttributesFormElement(Form.elements["lastName"], "true", "", null, "errorNom", "Veuillez saisir votre nom.");
		setAttributesFormElement(Form.elements["firstName"], "true", "", null, "errorPrenom", "Veuillez saisir votre pr&eacute;nom.");
		setAttributesFormElement(Form.elements["logonId"], "true", "", "isEmail", "errorEmail", "Veuillez saisir votre adresse e-mail.");
		
		setAttributesFormElement(Form.elements["logonPassword"], "false", "", null, "errorMdpNew", "Veuillez saisir un mot de passe.");
		setAttributesFormElement(Form.elements["logonPasswordVerify"], "false", "", null, "errorMdpConf", "Veuillez saisir un mot de passe.");
		setAttributesFormElement(Form.elements["userField2"], "false", "", null, "errorDob", "Veuillez saisir une date de naissance.");
		
		// annulé a pose problème en saisie
		//setKeyChangeNaissance(Form.elements["userField2"]);
		
	}
	
	if(document.frmComRapid)
	{
		Form = document.frmComRapid;
		
		for(var i = 0, m = Form.elements.length; i < m; i++)
		{
			if(Form.elements[i])
				jQuery(Form.elements[i]).unbind("change").unbind("keydown").unbind("keypress").unbind("keyup");	
		}
		
		//setAttributesFormElement(Element, isrequired, initialvalue, validtype, errordivid, errormsg, resetvalue, errormsgfunction)
		
		
		setAttributesFormElement(Form.elements["affiche_personTitle"], "true", "", null, "errorCivilite1", "Veuillez donner une civilite");
		
		setAttributesFormElement(Form.elements["billing_address2"], "true", "", null, "errorVoie1", "Veuillez saisir un num&eacute;ro.","", "novoie1");
		
		setAttributesFormElement(Form.elements["billing_address1"], "true", "", null, "errorVoie1", "Veuillez saisir une voie.", "", "novoie1");
		
		setAttributesFormElement(Form.elements["billing_zipCode"], "true", "", null, "errorVille", "Veuillez saisir une code postal.", "", "cpville1");
		setAttributesFormElement(Form.elements["billing_city"], "true", "", null, "errorVille", "Veuillez saisir une ville.", "", "cpville1");
	
		//setAttributesFormElement(Form.elements["billing_country"], "true", "", null, "errorPays", "Veuillez saisir un pays.");
		setAttributesFormElement(Form.elements["billing_phone1"], "true", "", null, "errorTel", "Veuillez saisir un num&eacute;ro de t&eacute;l&eacute;phone.");

		setAttributesFormElement(Form.elements["shipping_personTitle"], "true", "", null, "errorCivilite2", "Veuillez donner une civilite");


		setAttributesFormElement(Form.elements["shipping_address2"], "true", "", null, "errorVoie2", "Veuillez saisir un num&eacute;ro.", "", "novoie2");
		setAttributesFormElement(Form.elements["shipping_address1"], "true", "", null, "errorVoie2", "Veuillez saisir une voie.", "", "novoie2");
		
		setAttributesFormElement(Form.elements["shipping_zipCode"], "true", "", null, "errorVille1", "Veuillez saisir une code postal.", "", "cpville2");
		setAttributesFormElement(Form.elements["shipping_city"], "true", "", null, "errorVille1", "Veuillez saisir une ville.", "", "cpville2");
	
		//setAttributesFormElement(Form.elements["shipping_country"], "true", "", null, "errorPays1", "Veuillez saisir un pays.");

		// probleme en saisie ne fonctionne pas
		//setKeyChangeNumeric(Form.elements["tel"]);
		//setKeyChangeNumeric(Form.elements["portable"]);
		//setKeyChangeNumeric(Form.elements["fax"]);
		//setKeyChangeNumeric(Form.elements["CP"]);
		//setKeyChangeNumeric(Form.elements["CP1"]);
		
		commandeRapideSetBinding(Form.elements["billing_lastName"], "billing_lastName", "shipping_lastName");
		commandeRapideSetBinding(Form.elements["billing_firstName"], "billing_firstName", "billing_firstName");
		commandeRapideSetBinding(Form.elements["billing_addressField2"], "billing_addressField2", "shipping_addressField2");
		commandeRapideSetBinding(Form.elements["billing_addressField3"], "billing_addressField3", "shipping_addressField3");
		commandeRapideSetBinding(Form.elements["billing_address2"], "billing_address2", "shipping_address2");
		
		commandeRapideSetBinding(Form.elements["billing_address1"], "billing_address1", "shipping_address1");
		commandeRapideSetBinding(Form.elements["billing_zipCode"], "billing_zipCode", "shipping_zipCode");
		commandeRapideSetBinding(Form.elements["billing_city"], "billing_city", "shipping_city");
		commandeRapideSetBinding(Form.elements["billing_country"], "billing_country", "shipping_country");
		
		commandeRapideSetBinding(Form.elements["affiche_personTitle"][0], "affiche_personTitle", "shipping_personTitle", 0);
		commandeRapideSetBinding(Form.elements["affiche_personTitle"][1], "affiche_personTitle", "shipping_personTitle", 1);
	}
	
	
	if(document.frmCarnetAdresse)
	{
		Form = document.frmCarnetAdresse;
		
		for(var i = 0, m = Form.elements.length; i < m; i++)
		{
			if(Form.elements[i])
				jQuery(Form.elements[i]).unbind("change").unbind("keydown").unbind("keypress").unbind("keyup");	
		}

		setAttributesFormElement(Form.elements["personTitle"], "true", "", null, "errorCivilite", "Veuillez donner une civilite");
		setAttributesFormElement(Form.elements["nickName"], "true", "", null, "errorNomAdresse", "Veuillez donner un nom &agrave; cette adresse.");
		setAttributesFormElement(Form.elements["lastName"], "true", "", null, "errorNom", "Veuillez saisir votre nom.");
		setAttributesFormElement(Form.elements["firstName"], "true", "", null, "errorPrenom", "Veuillez saisir votre pr&eacute;nom.");
		setAttributesFormElement(Form.elements["address2"], "true", "", null, "errorVoie", "Veuillez saisir un num&eacute;ro.", "", "novoie1");
		setAttributesFormElement(Form.elements["address3"], "true", "", null, "errorVoie", "Veuillez saisir une voie.", "", "novoie1");
		setAttributesFormElement(Form.elements["zipCode"], "true", "", null, "errorVille", "Veuillez saisir un code postal.", "", "cpville1");
		setAttributesFormElement(Form.elements["city"], "true", "", null, "errorVille", "Veuillez saisir une ville.", "", "cpville1");
		
		//setKeyChangeNumeric(Form.elements["CP"]);

	}

	if(document.frmMdpModif)
	{
		Form = document.frmMdpModif;
		
		setAttributesFormElement(Form.elements["logonPasswordVerify"], "true", "", null, "errorMdpConf", "Veuillez saisir un mot de passe.");
		setAttributesFormElement(Form.elements["logonPassword"], "true", "", null, "errorMdpConf", "Veuillez saisir un mot de passe.");
		
	}

	if(document.frmProdPref)
	{
		Form = document.frmProdPref;
		
		setAttributesFormElement(Form.elements["sender_email"], "true", "", null, "errorEmail", null);
		setAttributesFormElement(Form.elements["recipient"], "true", "", null, "errorEmail", null);
	}

	if(document.ResetPasswordForm)
	{
		Form = document.ResetPasswordForm;
		
		setAttributesFormElement(Form.elements["logonId"], "false", "", "isEmail", "errorEmail", "Veuillez saisir un adresse e-mail valide.");
	}




	if(document.frmCompteIdentification)
	{
		Form = document.frmCompteIdentification;
		
		setAttributesFormElement(Form.elements["email"], "true", "", "isEmail", "errorEmail", "Veuillez saisir un adresse e-mail valide.");
	}

	if(document.frmCreationCompte)
	{
		Form = document.frmCreationCompte;

		$("#diffAddr").removeAttr("checked");
		
		// probleme en saisie
		//setKeyChangeNaissance(Form.elements["dob"]);
		
		setAttributesFormElement(Form.elements["lastName"], "true", "", null, "errorNom", "Veuillez saisir votre nom.");
		setAttributesFormElement(Form.elements["firstName"], "true", "", null, "errorPrenom", "Veuillez saisir votre pr&eacute;nom.");
		setAttributesFormElement(Form.elements["logonId"], "true", "", "isEmail", "errorEmail", "Veuillez saisir votre adresse e-mail.");
		
		setAttributesFormElement(Form.elements["logonPassword"], "true", "", "isPassword", "errorMdpNew", "Veuillez saisir un mot de passe.");
		setAttributesFormElement(Form.elements["logonPasswordVerify"], "true", "", "isPassword", "errorMdpConf", "Veuillez confirmer le mot de passe.");
		setAttributesFormElement(Form.elements["userField2"], "true", "", "isDob", "errorDob", "Veuillez saisir votre date de naissance.");			
		
		
		
		setAttributesFormElement(Form.elements["num"], "true", "", null, "errorVoie", "Veuillez saisir un num&eacute;ro.", "", "novoie");
		setAttributesFormElement(Form.elements["voie"], "true", "", null, "errorVoie", "Veuillez saisir une voie.", "", "novoie");
		
		setAttributesFormElement(Form.elements["cp"], "true", "", null, "errorVille", "Veuillez saisir un code postal.", "", "cpville");
		setAttributesFormElement(Form.elements["ville"], "true", "", null, "errorVille", "Veuillez saisir une ville.", "", "cpville");

		// probleme de validation
		setAttributesFormElement(Form.elements["countryList"], "true", "", null, "errorPays", "Veuillez saisir un pays.");

		setAttributesFormElement(Form.elements["tel"], "true", "", "isTelephone", "errorTel", "Veuillez saisir un num&eacute;ro de t&eacute;l&eacute;phone.");			
			
		setAttributesFormElement(Form.elements["portable"], "false", "", "isTelephone", "errorPortable", "Veuillez saisir un num&eacute;ro de portable.");
		setAttributesFormElement(Form.elements["fax"], "false", "", "isTelephone", "errorFax", "Veuillez saisir un num&eacute;ro de fax.");
			
		//setKeyChangeNumeric(Form.elements["tel"]);
		//setKeyChangeNumeric(Form.elements["portable"]);
		//setKeyChangeNumeric(Form.elements["fax"]);
		//setKeyChangeNumeric(Form.elements["CP"]);

		/* EN ATTENTE PROBLEME SUR BLOC ADRESSE */
		setAttributesFormElement(Form.elements["nom2"], "false", "", null, "errorNom1", "Veuillez saisir votre nom.");
		setAttributesFormElement(Form.elements["prenom2"], "false", "", null, "errorPrenom1", "Veuillez saisir votre pr&eacute;nom.");
		
		setAttributesFormElement(Form.elements["num2"], "false", "", null, "errorVoie1", "Veuillez saisir un num&eacute;ro.", "", "novoie1");
		setAttributesFormElement(Form.elements["voie2"], "false", "", null, "errorVoie1", "Veuillez saisir une voie.", "", "novoie1");
		
		setAttributesFormElement(Form.elements["cp2"], "false", "", null, "errorVille1", "Veuillez saisir un code postal.", "", "cpville1");
		setAttributesFormElement(Form.elements["ville2"], "false", "", null, "errorVille1", "Veuillez saisir une ville.", "", "cpville1");

		setAttributesFormElement(Form.elements["countryList2"], "false", "", null, "errorPays1", "Veuillez saisir un pays.");		
		
		/*
				setKeyChangeNaissance(Form.elements["dob1"]);
		*/
		
	}
	
	/* Paiement et confirmation */
	jQuery(".blocModePaiement .btnCont .button").eq(0).click(function (e) {
		
		e.preventDefault();
		
		jQuery("#cartesDiv").css("display", "block");
		jQuery("#chequesDiv").css("display", "none");
		
		$(this).removeClass("inactive").siblings('a').addClass("inactive");
		$(this).siblings('p').css("display", "block");
		
	});
	
	jQuery(".blocModePaiement .btnCont .button").eq(1).click(function (e) {
		
		e.preventDefault();
		
		jQuery("#cartesDiv").css("display", "none");
		jQuery("#chequesDiv").css("display", "block");
		
		$(this).removeClass("inactive").siblings('a').addClass("inactive");
		$(this).siblings('p').css("display", "none");
		
		$(this).parents("form").find("input").removeAttr("checked");
	});
	
	/* livraison - kiala */
	/*jQuery(".livraison .listePoints .adresseDetail:first").css("display", "block");*/
															
	/*jQuery(".livraison .listePoints > ul > li > input").each(function (i) {
		
		$(this).click(function (event) {

			if($(this).attr("checked") == true)
			{
				jQuery(".livraison .listePoints .adresseDetail").css("display", "none")
																.eq(i)
																.css("display", "block");
			}
		});
		
	});*/
	
	/* code bloquant la saisie des champ numériue !!!!!
	jQuery(".numeric").each(function (i) {
		
		setKeyChangeNumeric(this);
		
	});*/
	
	/************************
	 * transition recherche *
	 ************************/
	 $(".truncLink").mouseover(function(){
	 	$(this).css("visibility","hidden");
	 	$(this).next().css("visibility","visible");
	 });
	 
	 $(".transitionTrunc").mouseout(function(){
	 	$(this).css("visibility","hidden");
	 	$(this).prev().css("visibility","");
	 });
});

function selUniversChanged(El)
{
	index = El.selectedIndex;
		
	$(El).parents(".menuTrans").siblings("ul").hide().eq(index).show();	
	$(".uniCat").jScrollPane({showArrows: true });
}


function ajouterListeProduitsPreferes()
{   
	checked = false;
		
	$(".chkListePrefere").each(function (i) {
			
		if($(this).attr("checked") == true)
		{
			checked = true;
		}
			
	});
		
	if(checked)
	{
		$("#loadingAjoutListePref").css("visibility", "visible");
			
		showLayer("#layerAjoutPanier");
										
	}
	else
	{
		showLayer("#layerAjoutPanierError");	
	}
}


function submitFormLivraison(buttonClicked, Form)
{
	if(buttonClicked)
	{
		if(checkFormLivraison(Form))
		{
			Form.action = "Livraison2";
			if(prepareSubmitSelect()){
				Form.submit();
			}
		}
	}
	else
	{
		Form.action = location.href;
		Form.submit();	
	}
}
/* NON APPELE : obselete */
function panierOffreSpeciale_ValiderCodeCommande(Form)
{
	codeCommande = Form.codeCommande.value;
	
	if(isEmpty(codeCommande))
	{
		alert("Veuillez entrer une code de commande pour l'offre spéciale.");
	}
	else
	{

		jQuery.ajax({
					  url: "index.html",
					  type: 'POST',
					  dataType: 'html',
					  data: 'code=' + encodeURI(codeCommande),
					  success: function(data){
						  		document.getElementById("indiquezCommandeDiv").style.display = "none";
								document.getElementById("commandeValideDiv").style.display = "block";
							},
							error: function () {
								alert("Erreur dans la connéxion.");
							}
						});
	}
		
		
}

function panierOffreSpeciale_SupprimerCodeCommande(Form)
{
	jQuery.ajax({
					  url: "index.html",
					  type: 'POST',
					  dataType: 'html',
					  data: null,
					  success: function(data){
						  		Form.codeCommande.value = "";
						  		document.getElementById("indiquezCommandeDiv").style.display = "block";
								document.getElementById("commandeValideDiv").style.display = "none";
							},
							error: function () {
								alert("Erreur dans la connéxion.");
							}
						});
}

function checkFormLogin(Form)
{
	if(isEmpty(Form.logonId.value) || isEmpty(Form.logonPassword.value))
	{
		$("#errorLogin").html("Veuillez saisir votre adresse e-mail et votre mot de passe.");
		$("#errorLogin").css("visibility", "visible");
		return false;	
	}
	else
	{
		if(isEmail(Form.logonId.value) == "Good")
		{
			return true;	
		}
		else
		{
			$("#errorLogin").html("Veuillez saisir un adresse e-mail valide.");
			$("#errorLogin").css("visibility", "visible");
			return false;	
		}
	}
}

function checkFormPanierCommandeRapide(Form)
{
	if(isEmpty(Form.codeArticle1.value) || isEmpty(Form.codeArticle2.value) || isEmpty(Form.quantity.value))
	{
		alert("Veuillez saisir le code article et la quantité.");
		return false;
	}
	else
	{
		if(!isNumeric(Form.quantity.value))
		{
			alert("Veuillez saisir une valeur numérique pour la quantité.");
			return false;
		}
		else
			return true;
	}
}

function checkFormCommandeDirecte(Form)
{
	document.getElementById("errorDonnees").style.visibility = "visible";
	return false;	
}
/* non utilisé */
function checkFormLivraisonKiala(Form)
{
	if(Form.lieuLivraison[0].checked || Form.lieuLivraison[1].checked)
	{
		return true;
	}
	else
	{
		alert("Veuillez cocher votre lieu de livraison.");
		return false;	
	}
}

function checkFormLivraison(Form)
{
	Results = [false, false, false]
	Elements = ["choixLivraison", "choixModeExpedition", "choixAdresse"];
	Errors = ["un lieu", "un délai", "une adresse"];
	
	ErrorStr = "";
	
	for(var i = 0; i < Elements.length; i++)
	{
		element = Form.elements[Elements[i]];
		
		if(element.length)
		{
			for(var j = 0, m = element.length; j < m; j++)
			{
				if(element[j].checked)	
				{
					Results[i] = true;
					break;	
				}
			}
		}
		else
		{
			if(element.checked)
				Results[i] = true;
		}
	}
	
	if(Results[0])
	{
		
		if($("input[type=radio][@name=choixLivraison]:checked").val()==1)
		{
			listePointChecked = false;
			
			$(".listePoint").each(function (i) {
				
				if($(this).attr("checked"))
				{
					listePointChecked = true;	
				}
				
			});
			
			if(!listePointChecked)
			{
				ErrorStr += "un point relais kiala, ";
			}
		}
	}
	else
	{
		ErrorStr += "un lieu, ";
	}
		
	if(!Results[1])
		ErrorStr += "un délai, ";
		
	if(!Results[2])
		ErrorStr += "une adresse, ";
	
	if(ErrorStr.length > 0)
	{	
		
		ErrorStr = ErrorStr.substr(0, ErrorStr.length - 2);
		pos = ErrorStr.lastIndexOf(",");
		if(pos >= 0)
		{
			ErrorStr = ErrorStr.substr(0, pos) + " et" + ErrorStr.substr(pos+1);	
		}
		
		alert("Vous devez choisir " + ErrorStr + " de livraison.");
		return false;
	}
	else
		return true;
}

function checkFormCreationCompte(Form)
{
	resultCorrect = true;
	
	/* EN ATTENTE PROBLEME SUR ADRESSE */
	
	if(Form.elements["diffAddr"].checked)
	{
		elementToCheck = ["nom2", "prenom2", "num2", "voie2", "cp2", "ville2", "countryList2"];
		
		for(var i = 0; i < elementToCheck.length; i++)
		{
			Element = Form.elements[elementToCheck[i]];
			WordsNonExistent = Element.getAttribute("initialvalue") ? Element.getAttribute("initialvalue") : '';
			result = isRequiredFilled(Element, WordsNonExistent);
			
            if(result === false)
            {
				errormsgtype = Element.getAttribute("errormsgtype") ? Element.getAttribute("errormsgtype") : '';
				errorMsg = determineErrorMsg(errormsgtype);
				
                setErrorField(Element, errorMsg);
                resultCorrect = false;
            }
		}
		
		if(resultCorrect != false)
		{
			// Check for validity
			for(var i = 0; i < elementToCheck.length; i++)
			{
				element = Form.elements[elementToCheck[i]];
				ValidationFunction = jQuery(element).attr("validtype");
				
					if(ValidationFunction)
					{
						resultStr = eval(ValidationFunction + "(element.value)");
						if(resultStr != "Good")
						{
							setErrorField(element, resultStr);
							resultCorrect = false;
						}
					}
			}
		}
		
	}
	
	
	resultCheckForm = checkForm(Form);
	if(resultCheckForm)
	{
		if(Form.elements["logonPassword"].value != Form.elements["logonPasswordVerify"].value)
		{
			setErrorField(Form.elements["logonPasswordVerify"], "Le mot de passe de confirmation ne correspond pas.");
            resultCorrect = false;
		}
	}
	
	if(!isEmpty(Form.portable.value))
	{
		if(isTelephone(Form.portable.value) != "Good")
		{
			setErrorField(Form.portable, "Veuillez saisir un num&eacute;ro de portable valide.");
			resultCorrect = false;
		}
	}
	
	if(!isEmpty(Form.fax.value))
	{
		if(isTelephone(Form.fax.value) != "Good")
		{
			setErrorField(Form.fax, "Veuillez saisir un num&eacute;ro de fax valide.");
			resultCorrect = false;
		}
	}
	// ajout par rapport à l'existant
	if (Form.sendMeEmail.checked) Form.receiveEmail.value = true
	else Form.receiveEmail.value = false;

	for (var p=0; p<Form.personTitle1.length;p++) {        
		if (Form.personTitle1[p].checked) {
			Form.personTitle.value = Form.personTitle1[p].value;
		}
	}
	Form.email1.value = Form.logonId.value;
	
	if (Form.personTitle2[0].checked) {
		Form.personTitleL.value = 'Mr';		
	} 
	if (Form.personTitle2[1].checked) {
		Form.personTitleL.value = 'Mme';		
	} 
 	Form.societe2.value='';
 	
 	
	var pays2 = "";
	
	for (var p=0; p<Form.countryList2.length;p++) {        
		if (Form.countryList2[p].selected){		 		
		 	pays2 = Form.countryList2[p].value;
	 	}
    }
 	
	// Affectation d'un mode de livraison par défaut selon les infos saisies.
	if (pays2=='France'){
		if ( (Form.cp2.value.valueOf()>=0) && (Form.cp2.value.valueOf()<=96999) ){
				Form.shipModeId.value = '4000';
		}
		if ( (Form.cp2.value.valueOf()>=97000) && (Form.cp2.value.valueOf()<=97999) ){
			Form.shipModeId.value = '4004';
		}
		if ( (Form.cp2.value.valueOf()>=98000) && (Form.cp2.value.valueOf()<=98999) ){
			Form.shipModeId.value = '4005';
		}						
	} else {
		Form.shipModeId.value = '4030';			
	}
	/* mise à jour de l'adresse livraison si non spécifique */
	if(!Form.elements["diffAddr"].checked) {
		if(resultCheckForm && resultCorrect) {
			Form.personTitleL.value = Form.personTitle.value;
			Form.nom2.value = Form.lastName.value;
			Form.prenom2.value = Form.firstName.value;			
			Form.cident2.value = Form.cident.value;
			Form.imm2.value = Form.imm.value;
			Form.num2.value = Form.num.value;
			Form.voie2.value = Form.voie.value;
			Form.cp2.value = Form.cp.value;
			Form.ville2.value =	Form.ville.value;
			Form.countryList2.value = Form.countryList.value;
			Form.tel2.value = Form.tel.value;
			Form.fax2.value = Form.fax.value;			
			Form.portable2.value = Form.portable.value;						
		}
	}
	
	return resultCheckForm && resultCorrect;
	
}

function toggleAdresseLivraison(checkbox)
{
	if(checkbox.checked)
	{
		document.getElementById("adresseLivraison").style.display = "block";
	}
	else
	{
		document.getElementById("adresseLivraison").style.display = "none";
		Form = checkbox.form;
		
		Form.civilite1[0].checked = false;
		Form.civilite1[1].checked = false;
		Form.nom1.value = "";
		Form.prenom1.value = "";
		Form.societe.value = "";
		Form.complementID1.value = "";
		Form.lieu1.value = "";
		Form.num1.value = "";
		Form.voie1.value = "";
		Form.CP1.value = "";
		Form.ville1.value = "";
		Form.pays1.selectedIndex = 0;
	}
}
function checkFormProdPref(Form)
{
	result = true;
	emailde = Form.sender_email.value;
	emailpour = Form.recipient.value;
	if(isEmpty(emailde) || isEmpty(emailpour))
	{
		if(isEmpty(emailde))
		{
			setErrorField(Form.sender_email, "Champs obligatoires.");
		}
		
		if(isEmpty(emailpour))
		{
			setErrorField(Form.recipient, "Champs obligatoires.");
		}
		
		result = false;
	}
	else
	{
		if(isEmail(emailde) != "Good")
		{
			setErrorField(Form.sender_email, "Champ(s) email invalide(s).");
			result = false;
		}
		
		if(isEmail(emailpour) != "Good")
		{
			setErrorField(Form.recipient, "Champ(s) email invalide(s).");
			result = false;
		}
		
	}
	return result;

}

function checkFormMdpOublie(Form)
{
	result = true;
	loginnew = Form.logonId.value;


	if(isEmail(loginnew) != "Good")
	{
		setErrorField(Form.logonId, "Champ(s) email invalide(s).");
		result = false;
	}


	return result;

}


function checkFormMdpModif(Form)
{
	result = true;
	mdpnew = Form.logonPassword.value;
	mdpconf = Form.logonPasswordVerify.value;
	mdptemp = Form.logonPasswordOld.value;
	
	if(isEmpty(mdpnew) || isEmpty(mdpconf) || isEmpty(mdptemp))
	{
		alert("Tous les champs de ce formulaire sont obligatoires.");
		setErrorField(Form.logonPasswordVerify, "Tous les champs de ce formulaire sont obligatoires.");
		setErrorField(Form.logonPasswordOld, "Tous les champs de ce formulaire sont obligatoires.");
		result = false;
	}
	else
	{
		if(mdpnew.length >= 6 && mdpconf.length >= 6)
		{
			result = true;
		}
		else
		{
			setErrorField(Form.logonPasswordVerify, "Le nouveau mot de passe doit &ecirc;tre au minimum 6 charact&egrave;res.");
			setErrorField(Form.logonPassword, "Le nouveau mot de passe doit &ecirc;tre au minimum 6 charact&egrave;res.");
			result = false;
		}
	}
	
	return result;

}

function checkFormInfoPerso(Form)
{
	result = true;
	mdpnew = Form.logonPassword.value;
	mdpconf = Form.logonPasswordVerify.value;
	dob = Form.userField2.value;


	if(isEmpty(mdpnew) && isEmpty(mdpconf))
	{
		
	}
	else
	{
		if(isEmpty(mdpnew))
		{
			setErrorField(Form.logonPassword, "Veuillez saisir les deux champs pour le mot de passe.");
			result = false;
		}
		
		if(isEmpty(mdpconf))
		{
			setErrorField(Form.logonPasswordVerify, "Veuillez saisir les deux champs pour le mot de passe.");
			result = false;
		}
		
		if(!isEmpty(mdpnew) && !isEmpty(mdpconf))
		{
			if(mdpnew.length < 6)
			{
				setErrorField(Form.logonPassword, "Le mot de passe doit &ecirc;tre au minimum 6 charact&egrave;res.");
				result = false;
			}
			
			if(mdpconf.length < 6)
			{
				setErrorField(Form.logonPasswordVerify, "Le mot de passe doit &ecirc;tre au minimum 6 charact&egrave;res.");
				result = false;
			}
			
			if(mdpnew.length >= 6 && mdpconf.length >= 6)
			{
				if(mdpnew != mdpconf)
				{
					alert("Les deux mots de passe ne correspondent pas.");
					result = false;	
				}
			}
		}
	}

	if(isEmpty(dob))
	{
	
	}
	else
	{
		var regexp1 = /^\d{2}\.\d{2}\.\d{4}$/;
		try{
			var resultDate = new String(dob).search(regexp1);
		}
		catch(err){
			alert(err.description);
		}
		if(dob.length == 10 && resultDate != -1)
		{
			resultDate = dob.split(".");
			if(checkDate(resultDate[2], resultDate[1], resultDate[0]))	
			{
				
			}
			else
			{
				setErrorField(Form.userField2, "Veuillez saisir une date de naissance valide.");
				result = false;
			}
		}
		else
		{
			setErrorField(Form.userField2, "Veuillez saisir une date de naissance valide.");
			result = false;
		}
	}
	// modif existant pour appeler la routime update user ibm
	if(result) {
		Form.receiveEmail.value = false;
		if(isEmpty(mdpnew) && isEmpty(mdpconf)) {
			majPassword(Form);
		}
	}
	
	
	return result && checkForm(Form);

}

function showPrixLayer()
{
	document.Layer.stop(true, true).css({ display:"block" });	
}

function showPrixLayerAccessories()
{
	document.Layer.stop(true, true).css({ display:"block", left: Left, top: Top });	
}
function commandeRapideSetBinding(Element, ParentName, ElementName, index)
{
	if(Element.type == "text")
	{
		jQuery(Element).bind("change", function () { commandeRapideBindElement(this.form, ParentName, ElementName); })
					   .bind("keyup", function () { commandeRapideBindElement(this.form, ParentName, ElementName); })
					   .bind("keydown", function () { commandeRapideBindElement(this.form, ParentName, ElementName); })
					   .bind("keypress", function () { commandeRapideBindElement(this.form, ParentName, ElementName); });
	}
	else if(Element.type == "radio")
	{
		jQuery(Element).bind("change", function () { commandeRapideBindElement(this.form, ParentName, ElementName, index); });
	}
}

function commandeRapideBindElement(Form, ParentName, ElementName, index)
{
	if(Form.elements["identique"].checked)
	{
		if(Form.elements[ElementName].type == "text")
		{
			Form.elements[ElementName].value = Form.elements[ParentName].value;
			jQuery(Form.elements[ElementName]).trigger("change");
		}
		else if(Form.elements[ElementName][index].type == "radio")
			Form.elements[ElementName][index].checked = Form.elements[ParentName][index].checked;
			
		
		
	}
}

function commandeRapideAdresseIdentique(element)
{

	Form = element.form;
	
	if(element.checked)
	{
		if(Form.elements["affiche_personTitle"][0].checked)
			Form.elements["shipping_personTitle"][0].checked = true;
		else
		 	Form.elements["shipping_personTitle"][0].checked = false;
		
		if(Form.elements["shipping_personTitle"][1].checked)
			Form.elements["shipping_personTitle"][1].checked = true;
		else
		 	Form.elements["shipping_personTitle"][1].checked = false;

		Form.elements["shipping_lastName"].value = Form.elements["billing_lastName"].value;
		Form.elements["shipping_firstName"].value = Form.elements["billing_firstName"].value;
		Form.elements["shipping_addressField3"].value = Form.elements["billing_addressField3"].value;
		Form.elements["shipping_addressField2"].value = Form.elements["billing_addressField2"].value;
		Form.elements["shipping_address1"].value = Form.elements["billing_address1"].value;
		Form.elements["shipping_address2"].value = Form.elements["billing_address2"].value;
		Form.elements["shipping_address3"].value = Form.elements["billing_address3"].value;
		Form.elements["shipping_zipCode"].value = Form.elements["billing_zipCode"].value;
		Form.elements["shipping_city"].value = Form.elements["billing_city"].value;			
		Form.elements["shipping_country"].value = Form.elements["billing_country"].value;
		
		Form.elements["shipping_personTitle"][0].disabled = true;
		Form.elements["shipping_personTitle"][1].disabled = true;
		
		Form.elements["shipping_lastName"].disabled = true;
		Form.elements["shipping_firstName"].disabled = true;
		Form.elements["shipping_addressField3"].disabled = true;
		Form.elements["shipping_addressField2"].disabled = true;
		Form.elements["shipping_address1"].disabled = true;
		Form.elements["shipping_address2"].disabled = true;
		Form.elements["shipping_zipCode"].disabled = true;
		Form.elements["shipping_city"].disabled = true;			
		Form.elements["shipping_country"].disabled = true;



	}
	else
	{
		Form.elements["shipping_personTitle"][0].disabled = false;
		Form.elements["shipping_personTitle"][1].disabled = false;
		
		Form.elements["shipping_lastName"].disabled = false;
		Form.elements["shipping_firstName"].disabled = false;
		Form.elements["shipping_addressField3"].disabled = false;
		Form.elements["shipping_addressField2"].disabled = false;
		Form.elements["shipping_address1"].disabled = false;
		Form.elements["shipping_address2"].disabled = false;
		Form.elements["shipping_zipCode"].disabled = false;
		Form.elements["shipping_city"].disabled = false;			
		Form.elements["shipping_country"].disabled = false;
	}
}

//***************************************************************************************
// General Functions
// **************************************************************************************
/**
 * setFocusBlurEffect() initialise le focus et blur event du textbox
 */
function setFocusBlurEffect(elementTextBox, initialValue)
{
	Element = jQuery(elementTextBox);

    Element.attr("initialvalue", initialValue)
		   .focus(function () 
                  { 
                      onElementFocus(this);
                  })
		   .blur(function () 
                  { 
                      onElementBlur(this);
                  });
}

/**
 * onElementFocus() est un fonction qui est associé à l'évènement "OnFocus" d'un élément d'une formulaire.
 */
function onElementFocus(Element)
{
    JQueryElement = jQuery(Element);

	alert(JQueryElement.val() + " " + JQueryElement.attr("initialvalue"));
    if(JQueryElement.attr("type") == "text" && JQueryElement.val() == JQueryElement.attr("initialvalue"))
    {
        JQueryElement.val("");
    }
}

/**
 * onElementBlur() est un fonction qui est associé à l'évènement "OnFocus" d'un élément d'une formulaire.
 */
function onElementBlur(Element)
{
    JQueryElement = jQuery(Element);
    
    if(JQueryElement.attr("type") == "text" && JQueryElement.val() == "")
    {
        JQueryElement.val(JQueryElement.attr("initialvalue"));
    }
}

/********************************************************************/
/* Les fonctions pour ouvrir les popups */
/********************************************************************/

/*===============================================================*/
/* Set des fonctions pour le popup Article Ajouté au panier      */
/*===============================================================*/
function ajouterArticleAuPanier(Parameters) {
	
	// Faites le call ajax ici pour tranférer les informations depuis la base de données.
	jQuery.ajax({
                  url: 'http://www.google.com',
                  type:'GET',
                  dataType:'html',
                  data:  null,
                  success: function(data){
    
                      showLayer('#layerAjoutPanier');
					  
                  }
               });
	
}

function changeImageFicheProduit(imgSrc) {
	
	document.getElementById("prodMainImg").src = imgSrc;
	
}

function openLivraisonFicheProduit() {

	showLayer('#layerLivraison');
	
	$("#livraisonPane").jScrollPane({showArrows: true});
	
}

/*=================================================================*/
/* Fin - Set des fonctions pour le popup Article Ajouté au panier  */
/*=================================================================*/

function showLayer(layerId){
	
	$(layerId).css("display", "block");
}

function hideLayer(layerId){
	$(layerId).fadeOut();
}

// *****************************************************************
// Fonctions Utiles
// *****************************************************************
function imagesToDownload(imageArray)
{
	for(var i = 1, m = arguments.length; i < m; i++)
	{
		imageArray[i-1] = new Image();
		imageArray[i-1].onload = function () {  };
		imageArray[i-1].src = arguments[i];
	}
}

// *****************************************************************
// Fonctions de validation
// *****************************************************************

/**
 * isRequiredFilled(element, WordsNonExistent) valide si l'element d'une formulaire est rempli ou pas.
 */
function isRequiredFilled(element, WordsNonExistent)
{
    ElementType = element.type;
    result = false;
    
    if(ElementType == "text" || ElementType == "textarea" || ElementType == "hidden" || ElementType == "password")
    {
        if(!isEmpty(element.value) && WordsNonExistent.indexOf(element.value) < 0)
        {
            result = true;
        }
        else
		{
			result = false;
		}
        
    }
    else if(ElementType == "select-one")
    {
        if(element.selectedIndex != 0)
        {
            result = true;
        }
    }
	else if(ElementType == "radio")
	{
		if(element.checked)
		{
			result = true;
		}
	}

    return result;
    
}


/**
 * CheckForm est un fonction qui est appelé pour valider une formulaire.
 */
function checkForm(Form)
{
    Elements = Form.elements;
	ElementRadioIdentified = false;
	ElementRadioChecked = false;
	
    ResultNotCorrect = false;
    
	countObligatoire = 0;
	
    // Validez les champs obligatoires
    for(var i = 0; i < Elements.length; i++)
    {
        if( Elements[i] && 
		   (Elements[i].type == "text" || Elements[i].type == "select-one" || Elements[i].type == "textarea" || Elements[i].type == "password") &&
            Elements[i].getAttribute("isrequired") == "true")
        {
			WordsNonExistent = Elements[i].getAttribute("initialvalue") ? Elements[i].getAttribute("initialvalue") : '';
			
			result = isRequiredFilled(Elements[i], WordsNonExistent);
			
            if(result === false)
            {
				countObligatoire = countObligatoire + 1;
				errormsgtype = Elements[i].getAttribute("errormsgtype") ? Elements[i].getAttribute("errormsgtype") : '';
				
				errorMsg = determineErrorMsg(errormsgtype);
                setErrorField(Elements[i], errorMsg);
                ResultNotCorrect = true;
            }
        }
		else if(Elements[i] && Elements[i].type == "radio" && Elements[i].getAttribute("isrequired") == "true")
		{
			if(!ElementRadioIdentified)
			{
				ElementRadioIdentified = true;
				ElementRadioChecked = false;
			}
				
			if(isRequiredFilled(Elements[i], ""))
			{
				ElementRadioChecked = true;
			}
		}
		
		if(Elements[i] && Elements[i].type != "radio")
		{
			if(ElementRadioIdentified)
			{
				if(!ElementRadioChecked)
				{
					// set error field
					setErrorField(Elements[i - 1]);
					ResultNotCorrect = true;
				}
				
				ElementRadioIdentified = false;
				ElementRadioChecked = false;
			}
		}
    }
    
	if(ResultNotCorrect)
		return false;
	// Check for validity
	for(var i = 0; i < Elements.length; i++)
    {
		element = Elements[i];
		ValidationFunction = jQuery(element).attr("validtype");
        isRequired = jQuery(element).attr("isrequired");
        
			if(ValidationFunction && isRequired == "true")
			{
				resultStr = eval(ValidationFunction + "(element.value)");
				if(resultStr != "Good")
				{
					setErrorField(Elements[i], resultStr);
					ResultNotCorrect = true;
				}
			}
	}
	
	if(ResultNotCorrect) {
		return false;
	}
	else {
		return true;
	}

}

function setErrorField(element, resultStr)
{
    Element = jQuery(element);
	Element.addClass("errorOccurred");

	errorDivId = Element.attr("errordivid");
	
	if(resultStr)
		$("#" + errorDivId).html(resultStr);
	else
	{
		errorMsg = Element.attr("errormsg");
		$("#" + errorDivId).html(errorMsg);
	}	
	
	$("#" + errorDivId).css("visibility", "visible");
        
    if(Element.attr("type") == "text" || Element.attr("type") == "textarea" || Element.attr("type") == "password")
    {
        Element.bind("keyup", function ()
								 {
									unsetErrorField(this);
								 });
						 
		Element.bind("change", function () 
							   {
								  unsetErrorField(this);
							   });
    }
	else if(Element.attr("type") == "radio")
	{
		name = Element.attr("name");
		radioArrayEl = element.form.elements[name];
		
		for(var i = 0, m = radioArrayEl.length; i < m; i++)
		{
			 jQuery(radioArrayEl[i]).bind("change", function () 
													{
														 unsetErrorField(this);
													});	
		}
	}
	else if(Element.attr("type") == "select-one")
	{
		Element.bind("click", function () 
							   {
								  unsetErrorField(this);
							   })
			   .bind("change", function () 
							   {
								  unsetErrorField(this);
							   });
	}
                         
}


function determineErrorMsg(errorMsgType)
{
	if(errorMsgType == "novoie")
		errorMsg = errorMsgNoVoie(".novoie");
	else if(errorMsgType == "novoie1")
		errorMsg = errorMsgNoVoie(".novoie1");
	else if(errorMsgType == "novoie2")
		errorMsg = errorMsgNoVoie(".novoie2");
	else if(errorMsgType == "cpville")
		errorMsg = errorMsgCPVille(".cpville");
	else if(errorMsgType == "cpville1")
		errorMsg = errorMsgCPVille(".cpville1");
	else if(errorMsgType == "cpville2")
		errorMsg = errorMsgCPVille(".cpville2");
	else
		errorMsg = "";
		
	return errorMsg;
}

/**
 * unsetErrorField(Element) est un fonction qui est appelé pour retourner l'element du formulaire à la normale.
 */
function unsetErrorField(Element)
{
    JQueryElement = jQuery(Element);
	JQueryElement.removeClass("errorOccurred");
	
	errorDivId = JQueryElement.attr("errordivid");
	$("#" + errorDivId).css("visibility", "hidden");
	
}


function setAttributesFormElement(Element, isrequired, initialvalue, validtype, errordivid, errormsg, resetvalue, errormsgtype)
{
	JQueryElement = jQuery(Element);
	JQueryElement.attr("isrequired", isrequired)
				 .attr("initialvalue", initialvalue);
	if(validtype) JQueryElement.attr("validtype", validtype);
	if(errordivid) JQueryElement.attr("errordivid", errordivid);
	if(errormsg) JQueryElement.attr("errormsg", errormsg);
	if(resetvalue) JQueryElement.attr("value", resetvalue);
	if(errormsgtype) JQueryElement.attr("errormsgtype", errormsgtype);
}

/**
 * onElementFocus() est un fonction qui est associé à l'évènement "OnFocus" d'un élément d'une formulaire.
 */
function onElementFocus(Element)
{
    JQueryElement = jQuery(Element);

    if(JQueryElement.attr("type") == "text" && JQueryElement.val() == JQueryElement.attr("initialvalue"))
    {
        JQueryElement.val("");
    }
}

/**
 * onElementBlur() est un fonction qui est associé à l'évènement "OnFocus" d'un élément d'une formulaire.
 */
function onElementBlur(Element)
{
    JQueryElement = jQuery(Element);
    
    if(JQueryElement.attr("type") == "text" && JQueryElement.val() == "")
    {
        JQueryElement.val(JQueryElement.attr("initialvalue"));
    }
}

function setFocusBlurEffect(ElementTextBox)
{
	Element = jQuery(ElementTextBox);

    Element.focus(function () 
                  { 
                      onElementFocus(this);
                  })
			.blur(function () 
                  { 
                      onElementBlur(this);
                  })
}

function isEmpty(str)
{
	var regexp1 = /^\s+$/;
	var result = new String(str).search(regexp1);
	if(str.length == 0 || str == null || result != -1)
		return true;
	else
		return false;	
}

function isNumeric(str)
{
	var regexp1 = /^[1-9]{1}\d*$/;
	var result = new String(str).search(regexp1);
	if(result != -1)
		return true;
	else
		return false;	
}

function isDob(str)
{
	var regexp1 = /^\d{2}\.\d{2}.\d{4}$/;
	var result = new String(str).search(regexp1);
	
	if(result != -1)
	{
		dateArray = str.split(".");
		if(checkDate(dateArray[2], dateArray[1], dateArray[0]))
			return "Good";
		else
			return "Veuillez saisir une date de naissance valide.";
	}
	else
		return "Veuillez saisir une date de naissance valide.";
}

function isPassword(str)
{
	if(str.length >= 6)
		return "Good";
	else
		return "Le mot de passe doit &ecirc;tre au minimum 6 charact&egrave;res.";
}

function isTelephone(str)
{
	var regexp1 = /^\d{10}$/;
	var result = new String(str).search(regexp1);
	if(result != -1)
		return "Good";
	else
		return "Veuillez saisir un num&eacute;ro de t&eacute;l&eacute;phone valide.";
}

function errorMsgNoVoie(className)
{
	Els = $(className);
	numvalue = Els.eq(0).val();
	voievalue = Els.eq(1).val();

	if(isEmpty(numvalue) && isEmpty(voievalue))
		errorMsg = "Veuillez saisir un numéro et une voie.";
	else if(isEmpty(numvalue) && !isEmpty(voievalue))
		errorMsg = "Veuillez saisir un numéro.";
	else if(!isEmpty(numvalue) && isEmpty(voievalue))
		errorMsg = "Veuillez saisir une voie.";
	else
		errorMsg = "";
	
	return errorMsg;
}

function errorMsgCPVille(className)
{
	Els = $(className);
	cpvalue = Els.eq(0).val();
	villevalue = Els.eq(1).val();

	if(isEmpty(cpvalue) && isEmpty(villevalue))
		errorMsg = "Veuillez saisir un code postal et une ville.";
	else if(isEmpty(cpvalue) && !isEmpty(villevalue))
		errorMsg = "Veuillez saisir un code postal.";
	else if(!isEmpty(cpvalue) && isEmpty(villevalue))
		errorMsg = "Veuillez saisir une ville.";
	else
		errorMsg = "";
	
	return errorMsg;
}

function setKeyChangeNumeric(Element)
{
	$(Element).keyup(function (event) { if(event.which != 8 && event.keyCode != 37 && event.keyCode != 39 && (event.which < 48 || event.which > 57) && (event.which < 96 || event.which > 105)) event.preventDefault(); })
			  .keydown(function (event) { if(event.which != 8 && event.keyCode != 37 && event.keyCode != 39 && (event.which < 48 || event.which > 57) && (event.which < 96 || event.which > 105)) { event.preventDefault(); } })
			  .keypress(function (event) { if(event.which != 8 && event.keyCode != 37 && event.keyCode != 39 && (event.which < 48 || event.which > 57) && (event.which < 96 || event.which > 105)) event.preventDefault(); });
}

var shiftKeyPressed = false;

function setKeyChangeTelephone(Element)
{
	$(Element).keydown(function (event) {  if(event.which == 16) { shiftKeyPressed = true; return; } if(event.which == 107 || event.which == 43) { return; } if(event.which != 8 && event.keyCode != 37 && event.keyCode != 39 && (event.which < 48 || event.which > 57) && (event.which < 96 || event.which > 105)) event.preventDefault(); })
			  .keyup(function (event) { if(event.which == 16) { shiftKeyPressed = false; return; } if(event.which == 107 || event.which == 43) { return; } if(event.which != 8 && event.keyCode != 37 && event.keyCode != 39 && (event.which < 48 || event.which > 57) && (event.which < 96 || event.which > 105)) { event.preventDefault(); } })
			  .keypress(function (event) { if(!(shiftKeyPressed && event.which == 43) && event.which != 8 && event.keyCode != 37 && event.keyCode != 39 && (event.which < 48 || event.which > 57) && (event.which < 96 || event.which > 105)) event.preventDefault(); });
			  
}

function setKeyChangeNaissance(Element)
{
	$(Element).keyup(function (event) {  if((event.which == 8 && this.value.charAt(getCaretPos(this) - 1) != ".") || event.keyCode == 37 || event.keyCode == 39 || (event.which >= 48 && event.which <= 57) || (event.which >= 96 && event.which <= 105)) { insertPointNaissance(this, event.keyCode); }else{ event.preventDefault(); } })
			  .keydown(function (event) { if((event.which == 8 && this.value.charAt(getCaretPos(this) - 1) != ".") || event.keyCode == 37 || event.keyCode == 39 || (event.which >= 48 && event.which <= 57) || (event.which >= 96 && event.which <= 105)) { }else{ event.preventDefault(); } })
			  .keypress(function (event) { if((event.which == 8 && this.value.charAt(getCaretPos(this) - 1) != ".") || event.keyCode == 37 || event.keyCode == 39 || (event.which >= 48 && event.which <= 57) || (event.which >= 96 && event.which <= 105)) { }else{ event.preventDefault(); } });

}
function setCaretPos(Element, pos) {

	if (Element.setSelectionRange) {
      Element.setSelectionRange(pos, pos);
    } else if (Element.createTextRange) {
      var range = Element.createTextRange();
      range.collapse(true);
      range.moveEnd('character', pos);
      range.moveStart('character', pos);
      range.select();
    }
	
}

function getCaretPos(el) {

	var rng, ii=-1;
	if(typeof el.selectionStart=="number") {
		ii=el.selectionStart;
	} else if (document.selection && el.createTextRange){
		rng=document.selection.createRange();
		rng.collapse(true);
		rng.moveStart("character", -el.value.length);
		ii=rng.text.length;
	}
	return ii;
	
}

function countDots(str)
{
	dots = 0;
	
	for(var i = 0, m = str.length; i < m; i++)
	{
		if(str.charAt(i) == ".")
		{
			dots++;	
		}
	}
	
	return dots;
}

function insertPointNaissance(element, keycode)
{
	if(keycode != 8 && keycode != 37 && keycode != 39 && keycode != 190)
	{
		Element = $(element);
		str = Element.val();
		
		dots = countDots(str);
		pos = getCaretPos(element);
		
		if(str.length == 2 && dots < 2)
		{
			str = str + ".";
			Element.val(str);
		}
		else if(str.length == 5 && dots < 2 && str.charAt(2) == ".")
		{
			str = str + ".";	
			Element.val(str);
		}
		else
		{
			setCaretPos(element, pos);
		}
	}
}


function checkDate(Year, Month, Day)
{
	Year = parseInt(Year);
	if(Month.substr(0, 1) == 0)
		Month = parseInt(Month.substr(1, 1));
	else
		Month = parseInt(Month);
	if(Day.substr(0, 1) == 0)
		Day = parseInt(Day.substr(1, 1));
	else
		Day = parseInt(Day);
	
	if(Year > 0 && Month > 0 && Day > 0)
	{
		if(Year % 4 == 0)
		{
			if(Month == 2 && Day <= 29)
				return true;
			else if(Month != 2)
			{
				if(Month <= 7)
				{
					if(Month % 2 == 0 && Day <= 30)
					{
						return true;	
					}
					else if(Month % 2 == 1 && Day <= 31)
					{
						return true;	
					}
					else
						return false;
				}
				else if(Month >= 8 && Month <= 12)
				{
					if(Month % 2 == 0 && Day <= 31)
					{
						return true;	
					}
					else if(Month % 2 == 1 && Day <= 30)
					{
						return true;	
					}
					else
						return false;
				}
				else
					return false;
			}
			else
				return false;
		}
		else
		{
			if(Month == 2 && Day <= 28)
				return true;
			else if(Month != 2)
			{
				if(Month <= 7)
				{
					if(Month % 2 == 0 && Day <= 30)
					{
						return true;	
					}
					else if(Month % 2 == 1 && Day <= 31)
					{
						return true;	
					}
					else
						return false;
				}
				else if(Month >= 8 && Month <= 12)
				{
					if(Month % 2 == 0 && Day <= 31)
					{
						return true;	
					}
					else if(Month % 2 == 1 && Day <= 30)
					{
						return true;	
					}
					else
						return false;
				}
				else
					return false;
			}
			else
				return false;
		}
	}
	else
	{
		return false;
	}
	
}

//EqualHeights func
jQuery.fn.jHeights = function() {
  var tallest = 0;
  this.children().each(function(){
    if ($(this).outerHeight() > tallest) {
      tallest = $(this).outerHeight(); 
    }
  });
  $(this).children().height(tallest);
};

/**
 * isEmail(str) valide si le paramètre du fonction contient un email.
 * Pour les règles de la validité d'une addresse email, voici les liens sur wikipedia:
 * http://en.wikipedia.org/wiki/Email_address
 */
function isEmail(str)
{
	regexp = /^[\!\#\$\%\&\'\*\+\-\/\=\?\^\_\`\{\|\}\~a-zA-Z0-9]+(\.[\!\#\$\%\&\'\*\+\-\/\=\?\^\_\`\{\|\}\~a-zA-Z0-9]+|[\!\#\$\%\&\'\*\+\-\/\=\?\^\_\`\{\|\}\~a-zA-Z0-9]+)*\@[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9](\.[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])+$/;
	resultEmail = new String(str).search(regexp);
	if(resultEmail != -1)
		return "Good";
	else
		return "Veuillez saisir un adresse e-mail valide.";

}

function afficheZoom(chemin){
	$('.layerZoom #img-zoom').attr('src', chemin);
	$(".layerZoom").show();
}

/** Affichage tous les catégories **/
function funcTransitionAll(Link)
{
	if( $(".transition").hasClass("transitionAll")){
		$(".transition").removeClass("transitionAll");
	    $(".transition").css("display","");
	    
	     $("#transitionPane .jspContainer").css("height","283px");
	     $("#transitionPane .jspPane").css("position","absolute");
	     $(".transition #transitionPane").jScrollPane({showArrows: true });
	     $("#transitionToggle").attr("title","Afficher toutes les catégories");
	     $("#transitionToggle").html("Afficher toutes les catégories");
	}
	else{
		$("#transitionPane .jspPane").css("top","0");
	    $(".transition").addClass("transitionAll");
	    $(".transition").css("display","block");
	    
	    $("#transitionPane .jspContainer").css("height","");
	    $("#transitionPane .jspPane").css("position","relative");
	    $(".transition #transitionPane").jScrollPane({showArrows: true });
	    $("#transitionToggle").attr("title","Masquer toutes les catégories");
	     $("#transitionToggle").html("Masquer toutes les catégories");
    }
}


function transitionCat( catId){
	$("#layerTrans").show();
	$("#selUnivers option[value='"+catId+"']").attr("selected","selected");
	if($("form#layerTrans .selCustom").hasClass("selCustom"))
   		$("form#layerTrans .selCustom").jqTransform({ heightOfLiElement: 20, jscrollpane: true});
	//selUniversChanged($("#selUnivers"));
	$("#layerTrans .jqTransformSelectWrapper div span").text($("#selUnivers option[value='"+catId+"']").text());
	$("#layerTrans .menuTrans").siblings("ul").hide().eq($("#selUnivers option[value='"+catId+"']").index()).show();
	
	$(".uniCat").jScrollPane({showArrows: true });
}
/* FIN REFONTE 2011 */
