

/*** functions generales ***/
    function displayDiv(division,modeDisplay) {
        if(document.getElementById(division)!=null) {
            document.getElementById(division).style.display = modeDisplay;
        }
    }
    
    function displayDivByName(division,modeDisplay,divcachees) {

    	//cache ses soeurs
    	//bug à faire
    	/*
    	if(divcachees!='') {
    	   displayDivByName(divcachees,'none','');
    	}*/
        
        var a   = document.getElementsByTagName('div');
    	var len = a.length;
    	var out = new Array();
    	
    	for (var i = 0; i < len; i++)
    	{
    		if (a[i].getAttribute('name')==division)
            var idDiv = a[i].getAttribute('id');
            if(document.getElementById(idDiv)!=null) {
                document.getElementById(idDiv).style.display = modeDisplay;
            }
    	}



    }

function resizeFlash(divId,h){
	document.getElementById(divId).style.height = h+"px";		
}
    
function popup(page,nom,largeur,hauteur,options) {
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;
	window.open(page,nom,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

function zoomImage(source) {
    //enleve la string minis/
    source = source.replace('/minis', '');    
    popup(source,'zoom','700','500','resizable=1,scrollbars=1');
} 

/*****utils*****/
function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }

    return true;
}

String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g, "");
}

/*** recherche ***/
function valideRechercheForm(formulaire) {
	formulaire.mots.value = formulaire.mots.value.trim();
	if(formulaire.mots.value=='') {
		alert('Veuillez indiquer un mot pour votre recherche !');
		formulaire.mots.focus();
        return false;	
	} else {
		if(formulaire.mots.value.length<=2) {
			alert('Veuillez indiquer un mot de plus de 2 lettres !');
			formulaire.mots.focus();
            return false;	
		}		
	}
	return true;	
}

/*** required (formulaire complet) + champs aux formats speciaux (email,date) ***/
function validateAllForm(formulaire) {


    
    if(validateEmail(formulaire)==false) {
        return false;
    }
    if(validateDate(formulaire)==false) {
        return false;
    }


    var alerte = 0;
    for(f=0;f<formulaire.elements.length;f++) {
        if(formulaire.elements[f].value=='') {
            alerte++;
            break;
        }
    }

    
    if(alerte>0) {
		alert('Merci de remplir tous les champs !');
		if ((formulaire.elements[f].type == "radio") || (formulaire.elements[f].type == "select") || (formulaire.elements[f].type == "text") || (formulaire.elements[f].type == "textarea")) {
		  formulaire.elements[f].focus();
		}
        
		return false;   
    }
    return true;
    
}

/***champs required + formats speciaux ***/
function validateRequiredFormInscription(formulaire) {
    
    if((formulaire.mdp1.value!=formulaire.mdp2.value)&&(formulaire.mdp1.value!=""))
    {
        alert("Votre mot de passe et sa confirmation sont différents.\nVeuillez les saisir à nouveau");
        formulaire.mdp1.value="";
        formulaire.mdp2.value="";
        return false;
    }    
    
    if(formulaire.mdp1.value.length<6)
    {
        alert("Votre mot de passe est trop court (6 caractères minimum)");
        return false;
    }
    
                
   var origine = document.getElementById("origine").value;
   if((origine==1)&&(formulaire.nomprescrip.value=="")&&(formulaire.villeprescrip.value==""))
	 {
     displayDiv('code20','block');
     alert("Vous n'avez pas indiqué votre prescripteur\nVeuillez saisir son nom et / ou sa ville");
     return false;     
   }
    
    if(validateEmail(formulaire)==false) {
        return false;
    }
    if(validateDate(formulaire)==false) {
        return false;
    }

    if(validateFloat(formulaire)==false) {
        return false;
    }

    var alerte = 0;
    for(f=0;f<formulaire.elements.length;f++) {
        var thisAttribut = formulaire.elements[f].getAttribute("required");
        if((thisAttribut!='')&&(thisAttribut!=null)) {
            //cas speciaux 
            var thisType = formulaire.elements[f].getAttribute("type");
            if(thisType == "radio" || thisType == "checkbox") {
                var thisName = formulaire.elements[f].getAttribute("name");
                caseChecked = false;
                for(i=0;i<formulaire[thisName].length;i++) {
                    if(formulaire[thisName][i].checked==true) {
                        caseChecked = true;
                    }
                    
                }
                if(!caseChecked) {
                    alert('Merci de remplir le champ "'+thisAttribut+'"');
                    formulaire.elements[f].focus();
                    return false;   
                    break;
                }
            } else {
                if(formulaire.elements[f].value=='') {
                    alert('Merci de remplir le champ "'+thisAttribut+'"');
                    formulaire.elements[f].focus();
                    return false;   
                    break;
                }
            }
        }
    }
    return true;
}

function validateRequiredFormCoordonnes(formulaire) {
    
    
    if((formulaire.idPrescripteur.value=="")&&((formulaire.nomprescrip.value!="")||(formulaire.villeprescrip.value!="")))
    {
        alert("Vous n'avez pas validé votre choix de prescripteur\nVeuillez selectionner votre médecin en cliquant sur son nom");
        rechercheCode('idPrescripteur','nommedecin','code1','nomprescrip','villeprescrip');         
        return false;
    }
            
    
    if(validateEmail(formulaire)==false) {
        return false;
    }
    if(validateDate(formulaire)==false) {
        return false;
    }

    if(validateFloat(formulaire)==false) {
        return false;
    }

    var alerte = 0;
    for(f=0;f<formulaire.elements.length;f++) {
        var thisAttribut = formulaire.elements[f].getAttribute("required");
        if((thisAttribut!='')&&(thisAttribut!=null)) {
            //cas speciaux 
            var thisType = formulaire.elements[f].getAttribute("type");
            if(thisType == "radio" || thisType == "checkbox") {
                var thisName = formulaire.elements[f].getAttribute("name");
                caseChecked = false;
                for(i=0;i<formulaire[thisName].length;i++) {
                    if(formulaire[thisName][i].checked==true) {
                        caseChecked = true;
                    }
                    
                }
                if(!caseChecked) {
                    alert('Merci de remplir le champ "'+thisAttribut+'"');
                    formulaire.elements[f].focus();
                    return false;   
                    break;
                }
            } else {
                if(formulaire.elements[f].value=='') {
                    alert('Merci de remplir le champ "'+thisAttribut+'"');
                    formulaire.elements[f].focus();
                    return false;   
                    break;
                }
            }
        }
    }
    return true;
}

/***champs required + formats speciaux ***/
function validateRequiredForm(formulaire) {
    
    if(validateEmail(formulaire)==false) {
        return false;
    }
    if(validateDate(formulaire)==false) {
        return false;
    }

    if(validateFloat(formulaire)==false) {
        return false;
    }

    var alerte = 0;
    for(f=0;f<formulaire.elements.length;f++) {
        var thisAttribut = formulaire.elements[f].getAttribute("required");
        if((thisAttribut!='')&&(thisAttribut!=null)) {
            //cas speciaux 
            var thisType = formulaire.elements[f].getAttribute("type");
            if(thisType == "radio" || thisType == "checkbox") {
                var thisName = formulaire.elements[f].getAttribute("name");
                caseChecked = false;
                for(i=0;i<formulaire[thisName].length;i++) {
                    if(formulaire[thisName][i].checked==true) {
                        caseChecked = true;
                    }
                    
                }
                if(!caseChecked) {
                    alert('Merci de remplir le champ "'+thisAttribut+'"');
                    formulaire.elements[f].focus();
                    return false;   
                    break;
                }
            } else {
                if(formulaire.elements[f].value=='') {
                    alert('Merci de remplir le champ "'+thisAttribut+'"');
                    formulaire.elements[f].focus();
                    return false;   
                    break;
                }
            }
        }
    }
    return true;
}


/*****date*****/

function validateDate(formulaire) {
    var alerte = 0;
    for(f=0;f<formulaire.elements.length;f++) {
        var thisAttribut = formulaire.elements[f].getAttribute("format");
        if(thisAttribut=='date' && thisAttribut!=null) {
            tabDate = formulaire.elements[f].value.split('/');
            if(formulaire.elements[f].value!='') {
                if(tabDate.length!=3) {
                    alerte++;
                    break;                
                } else {
                    if(tabDate[2]!='0000' && isValidDate(tabDate[0], tabDate[1], tabDate[2])==false) {
                        alerte++;
                        break;
                    }                
                }
            
            }

        }
    }
      
    if(alerte>0) {
		alert('Merci de respecter le format des dates !');
		if ((formulaire.elements[f].type == "radio") || (formulaire.elements[f].type == "select") || (formulaire.elements[f].type == "text") || (formulaire.elements[f].type == "textarea")) {
            formulaire.elements[f].focus();
		}
        
		return false;   
    }
    return true;
    
}

function isValidDate(day, month, year) {
	    if(day=='' || month=='' || year=='' || day=='undefined' || month=='undefined' || year=='undefined') {
            return false;
        } else {
            if (month < 1 || month > 12) {
                return false;
            }
            if (day < 1 || day > 31) {
                return false;
            }
            if ((month == 4 || month == 6 || month == 9 || month == 11) &&
                (day == 31)) {
                return false;
            }
            if (month == 2) {
                var leap = (year % 4 == 0 &&
                   (year % 100 != 0 || year % 400 == 0));
                if (day>29 || (day == 29 && !leap)) {
                    return false;
                }
            }        
        }
        

        return true;
}

/***email***/
function validateEmail(formulaire) {
    var alerte = 0;
    for(f=0;f<formulaire.elements.length;f++) {
        var thisAttribut = formulaire.elements[f].getAttribute("format");
        if(thisAttribut=='email' && thisAttribut!=null) {
            if(formulaire.elements[f].value!='') {
                if(checkEmail(formulaire.elements[f].value)==false) {
                        alerte++;
                        break;
                }                
            }

        }
    }
      
    if(alerte>0) {
		alert('Merci de respecter le format des e-mails !');
		if ((formulaire.elements[f].type == "text") || (formulaire.elements[f].type == "textarea")) {
            formulaire.elements[f].focus();
		}
        
		return false;   
    }
    return true;
    
}

function checkEmail(emailStr) {
       if (emailStr.length == 0) {
           return true;
       }
       var emailPat=/^(.+)@(.+)$/;
       var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
       var validChars="\[^\\s" + specialChars + "\]";
       var quotedUser="(\"[^\"]*\")";
       var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
       var atom=validChars + '+';
       var word="(" + atom + "|" + quotedUser + ")";
       var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
       var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
       var matchArray=emailStr.match(emailPat);
       if (matchArray == null) {
           return false;
       }
       var user=matchArray[1];
       var domain=matchArray[2];
       if (user.match(userPat) == null) {
           return false;
       }
       var IPArray = domain.match(ipDomainPat);
       if (IPArray != null) {
           for (var i = 1; i <= 4; i++) {
              if (IPArray[i] > 255) {
                 return false;
              }
           }
           return true;
       }
       var domainArray=domain.match(domainPat);
       if (domainArray == null) {
           return false;
       }
       var atomPat=new RegExp(atom,"g");
       var domArr=domain.match(atomPat);
       var len=domArr.length;
       if ((domArr[domArr.length-1].length < 2) ||
           (domArr[domArr.length-1].length > 4)) {
           return false;
       }
       if (len < 2) {
           return false;
       }
       return true;
    }
    
/* A FAIRE
float
*/    
function validateFloat(formulaire) {
    var alerte = 0;
    for(f=0;f<formulaire.elements.length;f++) {
        var thisAttribut = formulaire.elements[f].getAttribute("format");
        if(thisAttribut=='float' && thisAttribut!=null) {
            if(formulaire.elements[f].value!='') {
                if(isNaN(parseFloat(formulaire.elements[f].value))) {
                    alerte++;
                    break;                
                }
            
            }

        }
    }
      
    if(alerte>0) {
		alert('Merci de respecter le format des prix !');
		if ((formulaire.elements[f].type == "radio") || (formulaire.elements[f].type == "select") || (formulaire.elements[f].type == "text") || (formulaire.elements[f].type == "textarea")) {
            formulaire.elements[f].focus();
		}
        
		return false;   
    }
    return true;
    
}

/***photo detail**/
function viewPhotoDetail(photo,division) {
    document.getElementById(division).innerHTML = "<p align=\"right\"><a href=\"javascript:void(0)\" onclick=\"displayDiv('"+division+"','none')\">[X]</a></p><p align=\"center\"><img src=\""+photo+"\"/></p>";
    document.getElementById(division).style.display = "block";
}

/*AJAX*/
function runfile(fichier) 
     { 
     if(window.XMLHttpRequest) // FIREFOX 
          xhr_object = new XMLHttpRequest(); 
     else if(window.ActiveXObject) // IE 
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
     else 
          return(false); 
     xhr_object.open("GET", fichier, false); 
     xhr_object.send(null); 
     if(xhr_object.readyState == 4) {
        return(xhr_object.responseText);
        } else {
        return(false);
        } 
     }

/**codes securite**/
function verifCodeSecurite(codeValue) {
    var retour = runfile("web/moduledynamique/ajaxVerifCodeSecurite.php?codeValue="+codeValue);
    if(retour=="1") {
        return true;
    } else {
        alert('Le code sécurité est erroné !');
        return false;
    }
}


/*
special orl medica
*/
function selDivColor(idView,nbDivs,prefixe) {
    for(n=0;n<nbDivs;n++) {
        displayDiv(prefixe+n,"none");
    }
    displayDiv(prefixe+idView,"block");
}

function viewColors(idDeclinaison,idDiv,nbphotos){
    document.getElementById('imageSelect').innerHTML = "";
    var contenu = runfile("web/produit/ajaxGetCouleurs.php?idDeclinaison="+idDeclinaison+"&nbphotos="+nbphotos);
    document.getElementById(idDiv).innerHTML = contenu;
    var idCoul=document.getElementById('idCouleur').value;
    viewStock(idDeclinaison,document.getElementById('idCouleur').value);
    
}

function changeLien(idDeclinaison,idDiv){
    var contenu = runfile("web/ajaxChangeLien.php?id="+idDeclinaison);
    document.getElementById(idDiv).innerHTML = contenu;
}

function ajaxChangePort(gratuit,prix){
    var contenu = runfile("web/ajaxChangePort.php?gratuit="+gratuit+"&prix="+prix);
    //document.getElementById(idDiv).innerHTML = contenu;
}

function viewStock(idDeclinaison,idCouleur){
    var contenu = runfile("web/produit/ajaxGetStock.php?idDeclinaison="+idDeclinaison+"&idCouleur="+idCouleur);
    //alert("web/produit/ajaxGetStock.php?idDeclinaison="+idDeclinaison+"&idCouleur="+idCouleur+"  ===>  "+contenu);
    if(contenu=="0")
    {
      //alert("Il n'y a plus de produit disponible dans cette couleur !\nVeuillez en choisir une autre...");  
      /**/
      displayDiv("ajout","none");
      displayDiv("ajout2","block");
      /*/
      displayDiv("ajout","block");
      displayDiv("ajout2","none");
      /**/
    }
    else
    {
      displayDiv("ajout","block");
      displayDiv("ajout2","none");
    }
    var contenu2 = runfile("web/produit/ajaxGetPhoto.php?idCouleur="+idCouleur);
    document.getElementById('imageSelect').innerHTML = contenu2;    
    //document.getElementById(idDiv).innerHTML = contenu;
}

  function ajaxColissimo(colissimo,iscolissimo) {
      //alert(colissimo+","+iscolissimo);
      retour = runfile("web/produit/ajaxColissimo.php?colissimo="+colissimo+"&iscolissimo="+iscolissimo);
      
      if(retour!=0)
      {
        //alert(retour+"!=0");
        displayDiv('gratuit','none');
        displayDiv('fraisport','block');
        displayDiv('gratuit2','none');
        displayDiv('fraisport2','block');
        displayDiv('gratuit0','none');
        displayDiv('fraisport0','block');
        //ajaxChangePort(2,colissimo);
      }
      else
      {
        //alert(retour+"=0");
        displayDiv('gratuit','block');
        displayDiv('fraisport','none');
        displayDiv('gratuit2','block');
        displayDiv('fraisport2','none');
        displayDiv('gratuit0','block');
        displayDiv('fraisport0','none');
        //ajaxChangePort(1,colissimo);
      
      }
  }

  function ajaxFDP(idFDP,totalSansFDP,fraisPreparation) {
      retour = runfile("web/produit/ajaxFDP.php?idFDP="+idFDP);
      
      retour=parseFloat(retour);
      totalSansFDP=parseFloat(totalSansFDP);
      fraisPreparation=parseFloat(fraisPreparation);
      
      total = totalSansFDP + fraisPreparation + retour;
      total=parseFloat(total);
      
      total=total.toFixed(2);
      retour=retour.toFixed(2);
      total=total.replace(".",",");
      retour=retour.replace(".",",");
       
      document.getElementById('totalavecFDP').innerHTML=total+" €";
      document.getElementById('tarifPort').innerHTML=retour+" €";
       
      /*document.getElementById('prixPort').innerHTML = contenu2;*/
      /** /
      if(retour!=0)
      {
        //alert(retour+"!=0");
        /*displayDiv('gratuit','none');
        displayDiv('fraisport','block');
        displayDiv('gratuit2','none');
        displayDiv('fraisport2','block');
        displayDiv('gratuit0','none');
        displayDiv('fraisport0','block');* /
        //ajaxChangePort(2,colissimo);
      }
      else
      {
        //alert(retour+"=0");
        /*displayDiv('gratuit','block');
        displayDiv('fraisport','none');
        displayDiv('gratuit2','block');
        displayDiv('fraisport2','none');
        displayDiv('gratuit0','block');
        displayDiv('fraisport0','none');* /
        //ajaxChangePort(1,colissimo);
      
      }
      /**/
  }

  function ajaxReduction(code) {
      retour = runfile("web/produit/ajaxReduction.php?code="+code);
      /*
      if(retour=='1')
      {
        //alert('YES Refresh !!!'+retour);
        //windows.refresh();
        location.href="web/produit/panier.php";
      }      
      else
      {
        //alert('no refresh...'+retour);        
        location.href="web/produit/panier.php";
      }*/                                        
      location.href="web/produit/panier.php";
  }

function changePhoto(photo,idimg) {
    monImage = new Image()
    monImage.src = photo;
    var maxWidth = 250;
    var thisWidth = monImage.width;
    if(thisWidth > maxWidth) {
        thisWidth = maxWidth;
    }
    document.getElementById(idimg).width = thisWidth;
    document.getElementById(idimg).src = photo;
}

function changePhoto2(photo,idimg,thisWidth) {
    monImage = new Image()
    monImage.src = photo;
    var maxWidth = 250;
    //var thisWidth = monImage.width;
    if(thisWidth > maxWidth) {
        thisWidth = maxWidth;
    }
    document.getElementById(idimg).width = thisWidth;
    document.getElementById(idimg).src = photo;
}

function highlightPhotos(idCouleur,idDeclinaison,nbphotos) {
    
    for(n=0;n<nbphotos;n++) {
        var divPic = document.getElementById("photo_"+n);
        if(divPic.getAttribute("idDeclinaison")!=null) {
            divPic.style.border = "1px solid #cfcfcf";
        }
    }
    
    for(n=0;n<nbphotos;n++) {
        var divPic = document.getElementById("photo_"+n);
        if(divPic.getAttribute("idDeclinaison")!=null) {
            if(divPic.getAttribute("idDeclinaison")==idDeclinaison || divPic.getAttribute("idDeclinaison")==0) {
                divPic.style.border = "2px solid #FF9900";
                if(divPic.getAttribute("idCouleur")!=null) {
                    if(divPic.getAttribute("idCouleur")==idCouleur) {
                        divPic.style.border = "2px solid #335599";
                    }
                }
            }

        }

    }
}

function rempliCodePrescripteur(champ,code) {
    document.getElementById(champ).value = code;
}

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_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_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];}
}

function gotoAncre(ancre) {
    var thisLocation = window.location.href;
    tabLocation = thisLocation.split('#');
    window.location.href = tabLocation[0] + "#" + ancre;
    var message = "Lien vers"; 
    window.status = message + " " + ancre;  
}
