// FONCTIONS DE DRW
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


// FONCTION SPECIAL BYCLASS
 function getElementsByClass(searchClass, node, tag) {
     var classElements = new Array();
     if ( node == null )
         node = document;
     if ( tag == null )
         tag = '*';
     var els = node.getElementsByTagName(tag);
     var elsLen = els.length;
     var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
     for (i = 0, j = 0; i < elsLen; i++) {
         if ( pattern.test(els[i].className) ) {
             classElements[j] = els[i];
             j++;
         }
     }
     return classElements;
}

// FONCTIONS PNG POUR IE6
function correctPNG()
   {
   for(var i=0; i<document.images.length; i++)
      {
      var img = document.images[i]
      var imgName = img.src.toUpperCase()
      if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
         {
         var imgID = (img.id) ? "id='" + img.id + "' " : ""
         var imgClass = (img.className) ? "class='" + img.className + "' " : ""
         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
         var imgStyle = "display:inline-block;" + img.style.cssText
         if (img.align == "left") imgStyle = "float:left;" + imgStyle
         if (img.align == "right") imgStyle = "float:right;" + imgStyle
         if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
         var strNewHTML = "<span " + imgID + imgClass + imgTitle
         + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
         + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
         + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
         img.outerHTML = strNewHTML
         i = i-1
         }
      }
   }
	
	
// FONCTIONS Scroll Meilleures Ventes
var scrolldelay;

function scrollDroite() {
		var newposition = document.getElementById('OP_scroller').offsetLeft + 3;
		if (newposition < 32 ) {
		document.getElementById('OP_scroller').style.left= newposition+"px";
		scrolldelay = setTimeout('scrollDroite()',100); // scrolls every 100 milliseconds
		document.getElementById('OP_scrollDroite').src= "medias/commun/scrollDroiteOn.jpg";
		} else {
		stopScroll();
		document.getElementById('OP_scrollGauche').src= "medias/commun/scrollGaucheOff.jpg";
		}
}
function scrollGauche() {
       // Nbre de picto boutique et largeur totale
       var maxScroll = 0;
       var cibles = getElementsByClass("OP_blocProduit");
       for (i=0; i < cibles.length; i++) { maxScroll = cibles[i].offsetWidth + maxScroll; }
       // Tant que c pas plus large, on continu a scroller      
		
		var newposition = document.getElementById('OP_scroller').offsetLeft - 3;
		if (newposition > (960-maxScroll) ) {
        document.getElementById('OP_scroller').style.left= newposition+"px";
        scrolldelay = setTimeout('scrollGauche()',100); // scrolls every 100 milliseconds
		  document.getElementById('OP_scrollGauche').src= "medias/commun/scrollGaucheOn.jpg";
		} else {
        stopScroll();
		  document.getElementById('OP_scrollDroite').src= "medias/commun/scrollDroiteOff.jpg";
       }
}
function stopScroll() {
    	clearTimeout(scrolldelay);
}











// FONCTIONS Pour PopUp Center
function montreCenterPopUp(id, largeur) {	
	// La popUp avec le contenu
	
	dom = document.getElementById && !document.all;
	py = 100;
	px = Math.floor(largeur / 2); 
	document.getElementById(id).style.top = py + 'px'; 
	document.getElementById(id).style.marginLeft = '-'+ px + 'px';	
	document.getElementById(id).style.display = "block";
	
	
	// La hauteur du fond transparent
	if (document.documentElement.clientHeight >= document.body.offsetHeight ) {	
	hy = document.documentElement.clientHeight; 
	} else { 
	hy = document.body.offsetHeight; 
	}

	if (hy >= document.getElementById(id).offsetHeight + py + py) {
	hyFinal = hy;
	} else {
	hyFinal = document.getElementById(id).offsetHeight + py + py;
	}

	document.getElementById('containerOpaque').style.display = "block";
	document.getElementById('containerOpaque').style.height = hyFinal+"px";
}



function cacheCenterPopUp(id) {
	// La popUp avec le contenu
	document.getElementById(id).style.display = "none";
	// Le fond transparent
	document.getElementById('containerOpaque').style.display = "none";
}




// FONCTIONS Diapo Miniatures
function afficheMiniatures() {
	document.getElementById('miniatures').style.display = "block";
	document.getElementById('masque').style.display = "block";
	document.getElementById('affiche').style.display = "none";
}
function masqueMiniatures() {
	document.getElementById('miniatures').style.display = "none";
	document.getElementById('masque').style.display = "none";
	document.getElementById('affiche').style.display = "block";
}




// FONCTIONS montreByClass pour afficher un div par class
function montreByClass(el) {
	  cibles = getElementsByClass(el);
     for (i=0; i < cibles.length; i++) {
				cibles[i].style.display = "block";
         }
}

// FONCTIONS cacheByClass pour afficher un div par class
function cacheByClass(el) {
	  cibles = getElementsByClass(el);
     for (i=0; i < cibles.length; i++) {
				cibles[i].style.display = "none";
         }
}




// FONCTIONS MenuSommaire
function afficheMenuSommaire(el) {
	
	if (document.getElementById('sommaireN1'+el).className == "n1")
	{
	document.getElementById('sommaireN1'+el).className = "n1active";
	document.getElementById('sommaireN2'+el).style.display = "block";
	} else {
	document.getElementById('sommaireN1'+el).className = "n1";
	document.getElementById('sommaireN2'+el).style.display = "none";	
	}
		

}


function afficheAdresse(el) {
	
	if (document.getElementById('sommaireN1'+el).className == "n1active")
	{  
	document.getElementById('sommaireN1'+el).className = "n1";
	document.getElementById('sommaireN2'+el).style.display = "none";	
	}
	
	else{
	
    for (i=1; i<10; i++) {	
	document.getElementById('sommaireN1'+i).className = "n1";
	document.getElementById('sommaireN2'+i).style.display = "none";
	
	if (document.getElementById('sommaireN1'+el).className == "n1")
	{
	document.getElementById('sommaireN1'+el).className = "n1active";
	document.getElementById('sommaireN2'+el).style.display = "block";
	} 
	
	}
	
	}
}

function afficheNouveau(el) {
	
	document.getElementById(el).style.display = "block";
	
	for (i=1; i<10; i++) {	
	if (document.getElementById('sommaireN1'+i).className == "n1active"){
	document.getElementById('sommaireN1'+i).className = "n1";
	document.getElementById('sommaireN2'+i).style.display = "none";
	}
	}

	
	
}



// FONCTIONS SwitchNouveautesBoutique
function switchNouveautes(el) {
	if (el == "onglet1")
	{
	switchProtuitsNouveautes('n','1')
	document.getElementById('onglet1').className = 'onglet1active';
	document.getElementById('onglet1Contenu').style.display = "block";
	document.getElementById('onglet2').className = 'onglet2';
	document.getElementById('onglet2Contenu').style.display = "none";
	document.getElementById('onglet3').className = 'onglet3';
	document.getElementById('onglet3Contenu').style.display = "none";
	} 
	if (el == "onglet2")
	{
	switchProtuitsNouveautes('mv','1')
	document.getElementById('onglet2').className = 'onglet2active';
	document.getElementById('onglet2Contenu').style.display = "block";
	document.getElementById('onglet1').className = 'onglet1';
	document.getElementById('onglet1Contenu').style.display = "none";
	document.getElementById('onglet3').className = 'onglet3';
	document.getElementById('onglet3Contenu').style.display = "none";
	} 
	if (el == "onglet3")
	{
	switchProtuitsNouveautes('cc','1')
	document.getElementById('onglet3').className = 'onglet3active';
	document.getElementById('onglet3Contenu').style.display = "block";
	document.getElementById('onglet2').className = 'onglet2';
	document.getElementById('onglet2Contenu').style.display = "none";
	document.getElementById('onglet1').className = 'onglet1';
	document.getElementById('onglet1Contenu').style.display = "none";
	}

}



// FONCTIONS MenuOngletBoutique
function switchMenuOnglet(el) {
	if (el == "onglet1")
	{
	document.getElementById('onglet1').className = 'onglet1active';
	document.getElementById('onglet1Liste').style.display = "block";
	document.getElementById('onglet2').className = 'onglet2';
	document.getElementById('onglet2Liste').style.display = "none";
	} else {
	document.getElementById('onglet2').className = 'onglet2active';
	document.getElementById('onglet2Liste').style.display = "block";
	document.getElementById('onglet1').className = 'onglet1';
	document.getElementById('onglet1Liste').style.display = "none";
	}
}


// FONCTIONS MenuOngletBoutique
function switchAdresseLivraison(el) {
	if (el == "adresseAmi")
	{
	document.getElementById('adresseAmi').style.display = "block";
	document.getElementById('adresseMoi').style.display = "none";
	} else {
	document.getElementById('adresseAmi').style.display = "none";
	document.getElementById('adresseMoi').style.display = "block";
	}
}



// FONCTIONS Switch 10 Produits onglets Nouveautes Boutique - 
// el = nouveaute, meilleur vente ou coup de coeur 
// el2 = id du produits
function switchProtuitsNouveautes(el,el2) {
	suivant = parseInt(el2) + 1;
	precedent = parseInt(el2) - 1;
	cacheByClass('contenuVisu');
	document.getElementById(el+el2).style.display = 'block';
	if (parseInt(el2) ==1) {	
	document.getElementById("flecheG"+el).innerHTML='<img alt="" src="medias/commun/scrollGaucheOff.jpg"/>';
	} else {
	document.getElementById("flecheG"+el).innerHTML='<a href="javascript:void(0)" onclick="switchProtuitsNouveautes(\''+el+'\',\''+precedent+'\')"><img alt="" src="medias/commun/scrollGaucheOn.jpg"/></a>';
	}
	if (parseInt(el2) ==10) {
	document.getElementById("flecheD"+el).innerHTML='<img alt="" src="medias/commun/scrollDroiteOff.jpg"/>';
	} else {
	document.getElementById("flecheD"+el).innerHTML='<a href="javascript:void(0)" onclick="switchProtuitsNouveautes(\''+el+'\',\''+suivant+'\')"><img alt="" src="medias/commun/scrollDroiteOn.jpg"/></a>';
	}
}

/*** Ajout Rakesh ***/
var maxImage = 3;
var currImage = 1;
var dirImg = "medias/boutique/"
function scrollImgFiche(scrollDir, imgId, imgSrc){
	if((currImage == maxImage) && (scrollDir == "right")){
		document.getElementById("rightScrollFiche").style.cursor = "default";
		return;
	}
	else if((currImage == 1) && (scrollDir == "left")){
		document.getElementById("leftScrollFiche").style.cursor = "default";
		return;
	}
	else {
		document.getElementById("rightScrollFiche").style.cursor = "pointer";
		document.getElementById("leftScrollFiche").style.cursor = "pointer";
	}
	if(scrollDir == "right"){
		currImage++;
	}
	else{
		currImage--;
	}
	document.getElementById(imgId).src = dirImg +"visu-" + currImage + "-" + imgSrc;
	if((currImage == maxImage) && (scrollDir == "right")){
		document.getElementById("rightScrollFiche").style.cursor = "default";
		return;
	}
	else if((currImage == 1) && (scrollDir == "left")){
		document.getElementById("leftScrollFiche").style.cursor = "default";
		return;
	}
	else {
		document.getElementById("rightScrollFiche").style.cursor = "pointer";
		document.getElementById("leftScrollFiche").style.cursor = "pointer";
	}
}

function swapImgFiche(imgSrc, imgId, imgPos){
	currImage = imgPos;
	document.getElementById(imgId).src = dirImg + "visu-" + currImage + "-" + imgSrc;
	if(currImage == maxImage){
		document.getElementById("rightScrollFiche").style.cursor = "default";
	}
	else if(currImage == 1){
		document.getElementById("leftScrollFiche").style.cursor = "default";
	}
	else	{
		document.getElementById("rightScrollFiche").style.cursor = "pointer";
		document.getElementById("leftScrollFiche").style.cursor = "pointer";
	}
}

function montrePopUpZoom(imgSrc, id, largeur){
	document.getElementById('zoomProduitFiche').src = dirImg + "zoom-" + currImage + "-" + imgSrc;
	montreCenterPopUp(id, largeur);
}

function printDocumentFiche(){
	document.getElementById('buttImp').style.visibility = 'hidden';
	window.print();
	document.getElementById('buttImp').style.visibility = 'visible';
}

















// FONCTIONS SwitchOngletMagasin
function switchOngletMagasin(el) {
	if (el == "onglet1")
	{
	document.getElementById('carte').style.display = "block";
	document.getElementById('enCeMoment').style.display = "none";
	document.getElementById('carteBtn').src = "languages/french/medias/boutons/ongletMagasinOn-01.gif";
	document.getElementById('enCeMomentBtn').src = "languages/french/medias/boutons/ongletMagasinOff-02.gif";
	} 
	if (el == "onglet2")
	{
	document.getElementById('carte').style.display = "none";
	document.getElementById('enCeMoment').style.display = "block";
	document.getElementById('carteBtn').src = "languages/french/medias/boutons/ongletMagasinOff-01.gif";
	document.getElementById('enCeMomentBtn').src = "languages/french/medias/boutons/ongletMagasinOn-02.gif";
	} 
}













// FONCTIONS RotatifVisuMag
var timeDelay = 5;
timeDelay *= 600;


function visuInit()
{
	PicCurrentNum = 1;
	nbre = 3;
	suivant = "visu" + parseInt(1+1);
	precedent = "visu" +  parseInt(nbre);	
	document.getElementById("visuFlecheG").innerHTML='<a href="javascript:void(0)" onclick="montreVisuMag(\''+precedent+'\')"><img alt="" src="medias/magasins/petiteFlecheG.gif"/></a>';
	document.getElementById("visuFlecheD").innerHTML='<a href="javascript:void(0)" onclick="montreVisuMag(\''+suivant+'\')"><img alt="" src="medias/magasins/petiteFlecheD.gif"/></a>';
	document.getElementById("visuPP").innerHTML='<a href="javascript:void(0);"><img onclick="VisuMagPlay(\''+nbre+'\');" src="medias/magasins/playBtn.gif" width="17" height="22" /></a><a href="javascript:void(0);"><img onclick="VisuMagStop();" src="medias/magasins/pauseBtn.gif" width="18" height="22" /></a>';
}		
		
function VisuMagPlay(nbre)
{
    VisuMagRun(nbre);
    slide = setInterval("VisuMagRun("+nbre+")", timeDelay);
}

function VisuMagPlayOne(nbre)
{
    VisuMagRun(nbre);
	 VisuMagStop();
}

function VisuMagRun(nbre)
{
	if (PicCurrentNum >= nbre) {
	   suivant = "visu" + parseInt(1);
		precedent = "visu" +  parseInt(PicCurrentNum - 1);	
      montreVisuMag('visu'+PicCurrentNum+'');
		PicCurrentNum = 1; 
		} else if (PicCurrentNum == 1) {
	  	suivant = "visu" + parseInt(PicCurrentNum + 1);
		precedent = "visu" +  parseInt(nbre);	  
      montreVisuMag('visu'+PicCurrentNum+'');
		PicCurrentNum++;
		} else {
	   suivant = "visu" + parseInt(PicCurrentNum + 1);
		precedent = "visu" + parseInt(PicCurrentNum - 1);			
      montreVisuMag('visu'+PicCurrentNum+'');
		PicCurrentNum++;
	}
}

function montreVisuMag(el) {
     cibles = getElementsByClass("visuOn");
     for (i=0; i < cibles.length; i++) {
            cibles[i].className = "visuOff";
         }
      document.getElementById(el).className = "visuOn";
		document.getElementById("visuFlecheG").innerHTML='<a href="javascript:void(0)" onclick="montreVisuMag(\''+precedent+'\');VisuMagPlayOne(\''+nbre+'\');"><img alt="" src="medias/magasins/petiteFlecheG.gif"/></a>';
		document.getElementById("visuFlecheD").innerHTML='<a href="javascript:void(0)" onclick="montreVisuMag(\''+suivant+'\');VisuMagPlayOne(\''+nbre+'\');"><img alt="" src="medias/magasins/petiteFlecheD.gif"/></a>';
}

function VisuMagStop()
{
	if (typeof slide != "undefined") clearInterval(slide);
}








// FONCTIONS AfficheMenuRSS
function afficheMenuRSS(el) {
     cibles = getElementsByClass("rssN2");
     for (i=0; i < cibles.length; i++) {
            cibles[i].style.display = "none";
         }
     cibles2 = getElementsByClass("rssActive");
     for (i=0; i < cibles2.length; i++) {
            cibles2[i].className = "";
         }
			document.getElementById('listeRSS'+el).style.display = "block";
			document.getElementById('lienRSS'+el).className = "rssActive";
}


function afficheCalque(el){
	document.getElementById('blocEmploi'+el).style.display = "none";
 	document.getElementById('blocEmploiDetail'+el).style.display = "block";
}

function cacherCalque(el){
	document.getElementById('blocEmploi'+el).style.display = "block";
 	document.getElementById('blocEmploiDetail'+el).style.display = "none";
}

function afficheReponse(el){
	document.getElementById('afficheReponse'+el).style.display = "block";
}

function cacherReponse(el){
	document.getElementById('afficheReponse'+el).style.display = "none";
}

//// FUNCTIONS VALIDATIONS SUR ETAPES PIECES DETACHES ////
	function validatePDT1(){	
		var radioLength = document.frmPDT1.groupeFamille.length;
		for(var i = 0;i < radioLength;i++){
			if(document.frmPDT1.groupeFamille[i].checked == true){
				return true;
			}
		}
		alert("Veuillez choisir une famille de produit");
		return false;
	}
	
	function validatePDT2(){
		if( (document.frmPDT2.comboProduits.value == -1) || (document.frmPDT2.comboMarques.value == -1) ){
			alert("Veuillez choisir un produit et une marque");
			return false;
		}
		return true;
	}
		
	/*** Validation pour etape 3 pdt ***/
	function validatePDT3(){
		var stackError = "";
		if(document.getElementById('txtModele').value.length > 50) {
			stackError += '- Le mod&egrave; inscrite est limit&eacute; &agrave; 50 maximum<br />';
		}
		if(document.getElementById('d02').value.length > 50) {
			stackError += '- Le mod&egrave; inscrite est limit&eacute; &agrave; 50 maximum<br />';
		}
		if(document.getElementById('d03').value.length > 50) {
			stackError += '- Le mod&egrave; inscrite est limit&eacute; &agrave; 50 maximum<br />';
		}
		
		// Ajout de Samuel
		if(document.getElementById('magasin').value.length != 5) {
			stackError += '- Le code magasin doit avoir une longeur de 5 caract&egrave;res<br />';
			document.getElementById('magasin').style.border = "1px solid #FF0000";
		}
		// Fin ajout
		
		//debut d'ajout de vimla
		var customers_gsm       = document.getElementById('customers_gsm').value;
		var customers_telephone = document.getElementById('customers_telephone').value;
		var alert_sms_numgsm    = document.getElementById('alert_sms_numgsm').value;
		
		if (customers_telephone.length != '' && customers_telephone.replace(/\s/g, "").length != 10 ){
		    stackError += '- Votre num&eacute;ro de t&eacute;l&eacute;phone doit avoir 10 chiffres.<br />';			    
			document.getElementById('customers_telephone').style.border = "1px solid #FF0000";
		}else{
			document.getElementById("customers_telephone").style.border = "1px solid #B2B2B2";	
		}
	
		if(customers_gsm != ''){
			if (customers_gsm.replace(/\s/g, "").length != 10 ){
				stackError += '- Votre num&eacute;ro de t&eacute;l&eacute;phone portable doit avoir 10 chiffres.<br />';			    
				document.getElementById('customers_gsm').style.border = "1px solid #FF0000";
			} else
			if((customers_gsm.charAt(0)!=0)||(customers_gsm.charAt(1)!=6)){
				stackError += '- Votre num&eacute;ro de t&eacute;l&eacute;phone portable doit commencer par \'06\'<br />';
				document.getElementById('customers_gsm').style.border = "1px solid #FF0000";
			} else{	
				document.getElementById("customers_gsm").style.border = "1px solid #B2B2B2";	
			}
		}
	
		
		//fin d'ajout de vimla
		
		stackError += chkInputForNotNull("txtModele", "mod&egrave;le", 'un') + chkDescToQty() + chkLivraison() + chkIfSMS();
		if(stackError == ""){
			return true;
		}
		else {
			document.getElementById("stackError").innerHTML = stackError;
			scrollWindow();
			return false;
		}
	}
	
	/** valide si les champs descriptif non vide ont une quatit� superieure a 0 et si au moins un
	    descriptif a �t� rempli
	* chkDescToQty()
	*
	* @author rakesh
	* @copyright 2008
	* @param
	* @return String vide en cas de succes de la validation message erreur si non
	*/
	function chkDescToQty(){
		var numDesc = 0, stackError = "";
		for(var i = 1;i < 6;i++){
			if( trim(document.getElementById("desc" + i).value) != "" ){
				numDesc++;
				if( isNaN(document.getElementById("qty" + i).value) )	{//mauvais format du champ quatit�
					document.getElementById("qty" + i).style.border = "1px solid #FF0000";
					stackError += ("- Veuillez saisir une quantit&eacute; pour la description " + i + " correctement<br />");
				}
				else if(document.getElementById("qty" + i).value == 0)	{
					document.getElementById("qty" + i).style.border = "1px solid #FF0000";
					stackError += (" - Veuillez saisir une quantit&eacute; pour la description No " + i + " entre 1 et 99<br />");
				}
				else if(document.getElementById("qty" + i).value > 100)	{
					document.getElementById("qty" + i).style.border = "1px solid #FF0000";
					stackError += (" - Veuillez saisir une quantit&eacute; pour la description No " + i + " entre 1 et 99<br />");
				}				
				else {
					document.getElementById("desc" + i).style.border = "1px solid #B2B2B2";
					document.getElementById("qty" + i).style.border = "1px solid #B2B2B2";
				}
			}
		}
		if(numDesc == 0){//aucune descriptif n'a �t� rempli
			document.getElementById("desc" + 1).style.border = "1px solid #FF0000";
			stackError += (" - Veuillez saisir au moins une description<br />");
		}
		return stackError;
	}
	
	/** valide si une m�thode de livraison a �t� coch� et si livraison � domicile validation des champs
	* chkLivraison()
	*
	* @author rakesh
	* @copyright 2008
	* @param
	* @return String vide en cas de succes de la validation message erreur si non
	*/
	function chkLivraison(){
		var stackError = "";
		if( !((document.frmPDT3.groupeModeLiv[0].checked) || (document.frmPDT3.groupeModeLiv[1].checked) ))	{
			document.getElementById("miseADispo").style.border = "1px solid #FF0000";
			return (" - Veuillez choisir un mode de livraison <br />");
		}
		else {
			/** Option Retrait magasin, valide si un magasin a �t� choisi de la liste des magasins **/
			document.getElementById("miseADispo").style.border = "none";
			if(document.frmPDT3.groupeModeLiv[0].checked)	{
				if(document.frmPDT3.comboMagasins.value == -1)	{
					document.frmPDT3.comboMagasins.style.border = "1px solid #FF0000";
					stackError += (" - Veuillez choisir un magasin de la liste magasins<br />");
				}
			}
			/** Option � domicile choisi **/

			/** valide si les champs obligatiores sont pas vide **/
			document.frmPDT3.comboMagasins.style.border = "1px solid #B2B2B2"
			if(document.frmPDT3.customers_gender[2].checked) {
				stackError += chkInputForNotNull("customers_company", "Soci&eacute;t&eacute;") + chkInputForNotNull("customers_email_address", "Email") + chkInputForNotNull("customers_street_address", "N&deg; de voie - Voie") + chkInputForNotNull("customers_postcode", "Code postal") + chkInputForNotNull("customers_city", "Ville");			
				document.getElementById("customers_firstname").style.border = "1px solid #B2B2B2";
			}
			else {
				stackError += chkInputForNotNull("customers_lastname", "Nom") + chkInputForNotNull("customers_firstname", "Prenom") + chkInputForNotNull("customers_email_address", "Email") + chkInputForNotNull("customers_street_address", "N&deg; de voie - Voie") + chkInputForNotNull("customers_postcode", "Code postal") + chkInputForNotNull("customers_city", "Ville");			
			}
			if(chkInputForNotNull("customers_email_address", "Email") == "")	{
				stackError += chkEmail("customers_email_address", "Email");
			}
			
			if(chkInputForNotNull("customers_postcode", "Code postal") == "")	{
				stackError += chkCodePostale("customers_postcode", "Code postal");
			}
			
			/** si les deux champs t�l�phone sont vides **/
			/*
			if(trim(document.getElementById("customers_gsm").value) == "" && trim(document.getElementById("customers_telephone").value) == "") {
				stackError += " - Veuillez saisir au moins un num&eacute;ro de t&eacute;l&eacute;phone<br />";
				document.getElementById("customers_gsm").style.border = "1px solid #FF0000";
			}
			
			else {
				document.getElementById("customers_gsm").style.border = "1px solid #B2B2B2";
				if(trim(document.getElementById("customers_gsm").value) != "")	{
					stackError += chkPhoneNumber("customers_gsm", "T&eacute;l&eacute;phone portable");
				}
									
				if(trim(document.getElementById("customers_telephone").value) != "")	{
					stackError += chkPhoneNumber("customers_telephone", "T&eacute;l&eacute;phone fixe");
				}
			}*/
			return stackError;
		}
	}
	
	
	
	/** Valide si un champ email
	* chkEmail()
	*
	* @author rakesh
	* @copyright 2008
	* @param String idChamp, String libelleChamp
	* @return String vide en cas de succes de la validation message erreur si non
	*/
	function chkEmail(idChamp, libelleChamp){
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		var emailAdd = document.getElementById(idChamp).value;
		if (!filter.test(emailAdd))	{
			document.getElementById(idChamp).style.border = "1px solid #FF0000";
			return (" - Veuillez saisir votre " + libelleChamp + " correctement<br />");
		}
		else {
			document.getElementById(idChamp).style.border = "1px solid #B2B2B2";
			return "";
		}
	}
	
	/** Valide si un champ numero de t�l�phone est compos� de 10 chiffres
	* chkPhoneNumber()
	*
	* @author rakesh
	* @copyright 2008
	* @param String idChamp, String libelleChamp
	* @return String vide en cas de succes de la validation message erreur si non
	*/
	function chkPhoneNumber(idChamp, libelleChamp)	{
		if( (isNaN(document.getElementById(idChamp).value) ) || (document.getElementById(idChamp).value.length != 10) ){
			document.getElementById(idChamp).style.border = "1px solid #FF0000";
			return (" - Le champ " + libelleChamp + " doit etre 10 chiffres<br />");
		}
		else {
			document.getElementById(idChamp).style.border = "1px solid #B2B2B2";
			return "";	
		}

	}

	/** Valide si un champ numero de code postale est compos� de 5 caract�res
	* chkCodePostale()
	*
	* @author rakesh
	* @copyright 2008
	* @param String idChamp, String libelleChamp
	* @return String vide en cas de succes de la validation message erreur si non
	*/
	function chkCodePostale(idChamp, libelleChamp)	{
		if( document.getElementById(idChamp).value.length > 5 || document.getElementById(idChamp).value.length < 1 ){
			document.getElementById(idChamp).style.border = "1px solid #FF0000";
			return (" - Le champ " + libelleChamp + " doit etre 5 caract&egrave;res<br />");
		}
		else {
			document.getElementById(idChamp).style.border = "1px solid #B2B2B2";
			return "";
		}
	}
	
	/** Valide si la case alerter par sms est coch� et le numero mobile inscrit est valide
	* chkIfSMS()
	*
	* @author rakesh
	* @copyright 2008
	* @param
	* @return String vide en cas de succes de la validation message erreur si non
	*/
	function chkIfSMS()	{
		var stackError = "";
		if(document.getElementById("alert_sms").checked == 1) {
		
		    if (document.getElementById("alert_sms_numgsm").value.replace(/\s/g, "").length != 10 ){
		         stackError += '- Votre num&eacute;ro d\'alerte SMS doit avoir 10 chiffres.<br />';			    
		    	document.getElementById("alert_sms_numgsm").style.border = "1px solid #FF0000";
		    } 
		    else if(document.getElementById("alert_sms_numgsm").value.indexOf("06") != 0) {
				stackError += " - Votre num&eacute;ro de t&eacute;l&eacute;phone portable (envoi sms) doit commencer par \'06\'";
				document.getElementById("alert_sms_numgsm").style.border = "1px solid #FF0000";
			
			} else {
				document.getElementById("alert_sms_numgsm").style.border = "1px solid #B2B2B2";
			}
		} else {
			document.getElementById("alert_sms_numgsm").style.border = "1px solid #B2B2B2";
		}
		return stackError;
	}
	
	/** Passe la quantit� d'un descriptif appareil � 1 automatiquement en cas de modif du champs descriptif
	* changeQty()
	*
	* @author rakesh
	* @copyright 2008
	* @param
	* @return String vide en cas de succes de la validation message erreur si non
	*/
	function changeQty(indexChamp) {
		if( (trim(document.getElementById("desc" + indexChamp).value) != "") && (document.getElementById("qty" + indexChamp).value == "0") ) {
			document.getElementById("qty" + indexChamp).value = "1";
		}
	}
	
	/** trim un String gauche et droite pour des espaces vides
	* trim()
	*
	* @author rakesh
	* @copyright 2008
	* @param String str
	* @return un String trimmed
	*/
	function trim (str) {
		return str.replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, ''); 
	}
		
//// FIN FUNCTION VALIDATIONS SUR ETAPES PIECES DETACHES ////

	function minusQty(idChamp)	{
		if (isNaN(parseInt(document.getElementById("qty" + idChamp).value)) ){
			document.getElementById("qty" + idChamp).value = '0';
		}else
		if(document.getElementById("qty" + idChamp).value != 0)	{
			document.getElementById("qty" + idChamp).value = parseInt(document.getElementById("qty" + idChamp).value) - parseInt(1);
		}
	}
	
	function addQty(idChamp)	{
		if (isNaN(parseInt(document.getElementById("qty" + idChamp).value)) ){
			document.getElementById("qty" + idChamp).value = '0';
		}else{
			document.getElementById("qty" + idChamp).value = parseInt(document.getElementById("qty" + idChamp).value) + parseInt(1);
		}
	}
	
	function chkListeTravaux() {
		var radioLength = document.frm_TAD_ESC_1.type_travaux.length;
		if (radioLength > 0) {
			for(var i = 0;i < radioLength;i++){
				if(document.frm_TAD_ESC_1.type_travaux[i].checked == true){
					return true;
				}
			}
		} else {
			return true;
		}
		alert("Veuillez choisir un type de travaux");
		return false;
	}
	
	
	
	
/** ouvre une nouvelle fenetre comme un pop up.
	* popup_win()
	*
	* @author dheeraj
	* @copyright 2008
	* @param String idChamp, String libelleChamp
	* @return String vide en cas de succes de la validation message erreur si non
*/	
	function popup_win(url)
	{
	newwindow=window.open(url,'name1','width=795,height=770,left=0,top=0,toolbar=No,location=No,scrollbars=Yes,status=No,resizable=no,fullscreen=No');
	if (window.focus) {newwindow.focus()}
	return false;
	}
	
	
	
	function chkListeDomaineFP() {
		var error_message = "";
		var counter = 0;
		
		/* validation pour le domaine de pose */
		var radioLength = document.tad_fp_1.domaine_fp.length;
		
		if (document.tad_fp_1.domaine_fp.length == undefined) {
			if (document.tad_fp_1.domaine_fp.value == '') {
				
			} else {
				counter++;
			}
		} else {
			for(var i = 0;i < radioLength;i++){
				if(document.tad_fp_1.domaine_fp[i].checked == true){
					counter++;
				}
			}
		}
		if(counter == 0) {
			error_message += " - Veuillez choisir un domaine de pose.<br />";
		}
		counter = 0;
		
		/* validation pour le type de logement */
		radioLength = document.tad_fp_1.type_logement.length;
		for(var i = 0;i < radioLength;i++){
			if(document.tad_fp_1.type_logement[i].checked == true){
				counter++;
			}
		}
		if(counter == 0) {
			error_message += " - Veuillez choisir un type de logement.<br />";
		}
		counter = 0;
		
		/* validation pour l'age du logement */
		radioLength = document.tad_fp_1.age_logement.length;
		for(var i = 0;i < radioLength;i++){
			if(document.tad_fp_1.age_logement[i].checked == true){
				counter++;
			}
		}
		if(counter == 0) {
			error_message += " - Veuillez choisir un domaine de pose";
		}
		
		if(error_message != ""){ 
			document.getElementById("stackError").innerHTML = error_message;;
			return false;
		}
		return true;
	}
		
		function showHideQty(idProduit) {
			if( document.getElementById('chkProduit_' + idProduit).checked == 0 ) {
				document.getElementById('selectQty_' + idProduit).disabled = true;
				document.getElementById('selectQty_' + idProduit).value = "0";
			}
			else {
				document.getElementById('selectQty_' + idProduit).disabled = false;
			}
		}
		
		function validateFP3() {
			var counter = 0;
			var stackError = '';
			for(i=1; i<=total_produits; i++) {
				if(document.getElementById("chkProduit_" + i).checked == true) {
					counter++;
					if(document.getElementById("selectQty_" + i).value == 0) {
						stackError = 'Veuillez renseigner la (les) quantit&eacute;(s) associ&eacute;e(s) au(x) produit(s) s&eacute;lectionn&eacute;(s) <br />';
					}
				}
			}
			if(counter == 0) {
				document.getElementById("stackError").innerHTML = " - Veuillez cocher au moins un produit";
				scrollWindow();
				return false;
			}
			else if(stackError != ''){
				document.getElementById("stackError").innerHTML = stackError;
				scrollWindow();
				return false;
			}
			return true;
		}
		
		function validateEstimeCout3() {
			var stackError = '';
			var total_produits = document.getElementById('nb_prod').value;
			
			for(i=0; i<total_produits; i++) {
				if(document.getElementById("product_" + i).value > 0) {
					document.etape2Form.submit();return true;
				}
			}
				document.getElementById("stackError").innerHTML = "Vous devez selectionner au moin un element";
				return false;
	
		}
		
		function validateEstimeCout4()
		{
			var oblig_fields = new Array(
										'customers_gender',
	 									'customers_name',
	 									'customers_firstname',
	 									'customers_email_address',
	 									'delivery_gender',
	 									'delivery_name',
	 									'delivery_firstname',
	 									'delivery_street_address',
	 									'delivery_city',
	 									'delivery_postcode',
	 									'TADsurfacelogement',
	 									'TADtypelogement',
	 									'TADagelogement'
										); 	
			
			// Verification remplissage de tous les champs obligatoires
			for(i=0;i<oblig_fields.length;i++)
			{
				if(document.getElementById(oblig_fields[i]).value == '')
				{
					document.getElementById('stackError').innerHTML = 'Veuillez saisir tous les champs obligatoires.';
				}
			}
			
			// Verification code postale								
			chkCodePostale('delivery_postcode', 'code postale');
			
			/*'delivery_telephone',
 									'delivery_gsm',*/
			
		}
		
		function tad_estime_cout_etape4_validate_popup()
		{
			if(document.getElementById('code_postale_pop').value != '')
			{
				document.getElementById('delivery_postcode').value = document.getElementById('code_postale_pop').value;
				cacheCenterPopUp('popFormContainer1');
				//document.envoi_devis.submit();
			}
		}
		

/*-- ceci est une fonction pour mettre du masque sur des textbox genre.. pour les numero de telephone--*/
var dFilterStep

function dFilterStrip (dFilterTemp, dFilterMask)
{
    dFilterMask = replace(dFilterMask,'#','');
    for (dFilterStep = 0; dFilterStep < dFilterMask.length++; dFilterStep++)
		{
		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}
		return dFilterTemp;
}

function dFilterMax (dFilterMask)
{
 		dFilterTemp = dFilterMask;
    for (dFilterStep = 0; dFilterStep < (dFilterMask.length+1); dFilterStep++)
		{
		 		if (dFilterMask.charAt(dFilterStep)!='#')
				{
		        dFilterTemp = replace(dFilterTemp,dFilterMask.charAt(dFilterStep),'');
				}
		}
		return dFilterTemp.length;
}

function dFilter (key, textbox, dFilterMask)
{
		dFilterNum = dFilterStrip(textbox.value, dFilterMask);
		
		if (key==9)
		{
		    return true;
		}
		else if (key==8&&dFilterNum.length!=0)
		{
		 	 	dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
		}
 	  else if ( ((key>47&&key<58)||(key>95&&key<106)) && dFilterNum.length<dFilterMax(dFilterMask) )
		{ 
			
		if ( key>95 && key<106 ){	
		
			key = key-48;	
		}
		
        dFilterNum=dFilterNum+String.fromCharCode(key);
		}

		var dFilterFinal='';
    for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
		{
        if (dFilterMask.charAt(dFilterStep)=='#')
				{
					  if (dFilterNum.length!=0)
					  {
				        dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
					      dFilterNum = dFilterNum.substring(1,dFilterNum.length);
					  }
				    else
				    {
				        dFilterFinal = dFilterFinal + "";
				    }
				}
		 		else if (dFilterMask.charAt(dFilterStep)!='#')
				{
				    dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep); 			
				}
//		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}

		if ((dFilterFinal.replace(/^\s+|\s+$/g, ''))==''){
			dFilterFinal = '';
		}
		textbox.value = dFilterFinal;
    return false;
}

function replace(fullString,text,by) {
// Replaces text with by in string
    var strLength = fullString.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return fullString;

    var i = fullString.indexOf(text);
    if ((!i) && (text != fullString.substring(0,txtLength))) return fullString;
    if (i == -1) return fullString;

    var newstr = fullString.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(fullString.substring(i+txtLength,strLength),text,by);

    return newstr;
}
/*-- fin fonction pour mettre du masque sur des textbox genre.. pour les numero de telephone--*/

function scrollWindow()
{

	var obj = document.getElementById('stackError');
	var error_msg; 
	
	if(obj != null)
	{
		error_msg = new String(obj.innerHTML);
	}
	else
	{
		error_msg = new String('');
	}
	error_msg = error_msg.replace(/^\s*/, "").replace(/\s*$/, ""); // Trim
	if(error_msg != '')
	{
		var pos = findPos(obj);
		window.scroll(pos[1], pos[2]);
	}
	
	
	
}

function scrollWindowTo(divId)
{

	var obj = document.getElementById(divId);
	var error_msg; 
	
	if(obj != null)
	{
		error_msg = new String(obj.innerHTML);
	}
	else
	{
		error_msg = new String('');
	}
	error_msg = error_msg.replace(/^\s*/, "").replace(/\s*$/, ""); // Trim
	if(error_msg != '')
	{
		var pos = findPos(obj);
		window.scroll(pos[1], pos[2]);
	}
	
	
	
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
	do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
		var arr = new Array();
		arr[1] = curleft;
		arr[2] = curtop;
		return arr;
}
}


function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}

/* fonction qui affiche le nom et premom et les infos panier de l'utilisateur dans le header à partir des cookies */

function displayUserCookieData(){
	var nom    = getCookie('user[nom]');
	var prenom = getCookie('user[prenom]');
	var nb_article = getCookie('user[nb_article]');
	var text_article = getCookie('user[text_article]');
	var total_panier = getCookie('user[total_panier]');
	if ( nom != '' || prenom != ''){
	  if ( document.getElementById('headerNom') ){
	  	document.getElementById('headerNom').innerHTML = prenom +  '&nbsp;' + nom;
	  }
	}		
	if (nb_article != '' || text_article != '' ||  total_panier != ''){
	  if ( document.getElementById('lienPanier') ){
	  	document.getElementById('lienPanier').innerHTML = nb_article + ' ' + text_article + ' - <strong>' + total_panier + '</strong>';	
	  }
    }
}

function chkCombInterdite(){
	for(var a = 0;a < arrayInterdite.length;a++) {
		for(var b = 0;b < arrayInterdite[a].length;b++) {
			document.getElementById(arrayInterdite[a][b] + "_text").innerHTML = "";
		}
	} 
	
	var flagAllChecked = false;
	for(var i = 0;i < arrayInterdite.length;i++) {
		for(var j = 0;j < arrayInterdite[i].length;j++) {
			if(document.getElementById(arrayInterdite[i][j]).type == "radio" || document.getElementById(arrayInterdite[i][j]).type == "checkbox"){
				if(document.getElementById(arrayInterdite[i][j]).checked == false) {
					flagAllChecked = false;
					break;
				}
				else {
					flagAllChecked = true;
				}
			}
		}
		if(flagAllChecked) {
			for(var k = 0;k < arrayInterdite[i].length;k++) {
				document.getElementById(arrayInterdite[i][k] + "_text").innerHTML = " (combinaison interdite)";
				scrollWindowTo(arrayInterdite[i][k] + "_text");
			}
			scrollWindowTo(arrayInterdite[i][0] + "_text");
			break;
		}
	}
	return (!flagAllChecked);
}

function toggleDisplayChampsSociete(displaySociete){
	if (displaySociete){
	    jQuery('#tr_company').show();
	    jQuery('#tr_nom').hide();
	    jQuery('#label_prenom').hide();
	    jQuery('#label_nom_contact').show();
	} else {
	    jQuery('#tr_company').hide();
	    jQuery('#tr_nom').show();	
	    jQuery('#label_nom_contact').hide();
	    jQuery('#label_prenom').show();	
	}
}