/*** function panier ***/
function getXMLHTTP(){
  var xhr=null;
  if(window.XMLHttpRequest) // Firefox et autres
  xhr = new XMLHttpRequest();
  else if(window.ActiveXObject){ // Internet Explorer
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e1) {
        xhr = null;
      }
    }
  }
  else { // XMLHttpRequest non supporté par le navigateur
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
  }
  return xhr;
}

function sendSearch(){
        var mots = document.getElementById("mots").value;
        var url = 'http://www.jardinage-bio.com/web/resultatRecherche.php'+ '?mots=' + escape(mots);
        window.location.href=url;
}

var http = getXMLHTTP();

function addPanier(idColisage){
        //on ajoute ce produit au panier
            var url = 'http://192.168.1.133/jardinage-bio.com/www/panier/addPanier.php'+ '?idColisage=' + escape(idColisage);
                alert(url);
                http.open('POST', url, true);
                http.onreadystatechange = function retour(){
                   if(http.readyState == 4){
                        var text = http.responseText;
                        alert(text);
                        /*
                        if(text!=""){
                                document.getElementById("panier").innerHTML = text;
                                document.getElementById("panier").style.display = "block";
                                document.getElementById("imgPanier").style.display = "block";
                        }*/
                    }
                };
                http.send(null);
}
function termineCommande(){
        contenu = "<table width=\"280\" height=\"100\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\"><tr><td rowspan=\"3\" width=\"15\">&nbsp;</td><td class=\"texteCadre\"><strong>Le produit a bien été ajouté dans votre panier.</strong></td></tr>";
        contenu += "<tr><td class=\"texteCadre\"><a class=\"lienCadre\" href=\"javascript:closeCadre();\">Continuer vos achats</a></td></tr>";
        contenu += "<tr><td class=\"texteCadre\"><a class=\"lienCadre\" href=\"web/panier.php\">Terminer votre commande</a></td></tr>";
        contenu += "</table>";
        document.getElementById("termineCommande").innerHTML = contenu;
        
        var hauteur = 100;
        var largeur = 300;
        var haut=(screen.height-hauteur)/4;
        var gauche=(screen.width-largeur)/3;
        document.getElementById("termineCommande").style.width = largeur;
        document.getElementById("termineCommande").style.height = hauteur;
        document.getElementById("termineCommande").style.top = haut+"px";
        document.getElementById("termineCommande").style.left = gauche+"px";
        document.getElementById("termineCommande").style.display = "block";       
}
function cgvCB(){
        if(document.getElementById("cgv").checked){
                var chemin = getLocation();
                window.location.href= chemin + "/web/client/commande.php?commande=CB";       
        } else {
                alert('Veuillez accepter nos Conditions Générales de Ventes avant de poursuivre votre commande.');
                document.getElementById("cgv").focus;
                return false;
        }
}
function cgvCheque(){
        if(document.getElementById("cgv").checked){
                var chemin = getLocation();
                window.location.href= chemin + "/web/client/paiementCheque.php";       
        } else {
                alert('Veuillez accepter nos Conditions Générales de Ventes avant de poursuivre votre commande.');
                document.getElementById("cgv").focus;
                return false;
        }
}
function getLocation(){
        var chemin = window.location.toString();
        var debut = chemin.split('/web/');
        return debut[0];
}
function closeCadre(){
        document.getElementById("termineCommande").style.display = "none";
}

function deleteProduitPanier(index){
        //on efface ce produit au panier
            var url = 'panier/deleteProduitPanier.php'+ '?index=' + escape(index);
                http.open('POST', url, true);
                http.onreadystatechange = function retour(){
                   if(http.readyState == 4){
                        var text = http.responseText;
                        if(text!=""){
                                document.getElementById("panier").innerHTML = text;
                                document.getElementById("panier").style.display = "block";
                                document.getElementById("imgPanier").style.display = "block";
                        } else {
                                document.getElementById("panier").style.display = "none";
                                document.getElementById("imgPanier").style.display = "none";
                        }
                    }
                };
                http.send(null);
}

function addProduitPanier(index){
        //on efface ce produit au panier
            var url = 'panier/addProduitPanier.php'+ '?index=' + escape(index);
                http.open('POST', url, true);
                http.onreadystatechange = function retour(){
                   if(http.readyState == 4){
                        var text = http.responseText;
                        if(text!=""){
                                document.getElementById("panier").innerHTML = text;
                                document.getElementById("panier").style.display = "block";
                                document.getElementById("imgPanier").style.display = "block";
                        } else {
                                document.getElementById("panier").style.display = "none";
                                document.getElementById("imgPanier").style.display = "none";
                        }
                    }
                };
                http.send(null);
}
function reloadPanier(){
        window.location.href="web/panier.php";       
}
function trim (myString)
{
        return myString.replace(/^\s+/g,'').replace(/\s+$/g,'');
} 
function connexion(){
        if ( trim(document.getElementById("email_conn").value) == "" ) {
                alert("Veuillez indiquer votre email");
        } else if ( trim(document.getElementById("motdepasse_conn").value) == "" ) {
                alert("Veuillez indiquer votre mot de passe");
        } else if ( !checkEmail(trim(document.getElementById("email_conn").value)) ) {
                alert("L'email que vous avez indiqué est incorrect");
        } else {
        var email = document.getElementById("email_conn").value;
        var motdepasse = MD5(document.getElementById("motdepasse_conn").value);
                var url = 'web/connexion.php?s='+Math.random()+'&email_conn='+escape(email)+'&motdepasse_conn='+motdepasse;
               http.open('POST', url, true);
               http.onreadystatechange = connect;
               http.send(null);
        }
}
function deconnexion(){
               var url = 'web/deconnexion.php?s='+Math.random();
               http.open('POST', url, true);
               http.onreadystatechange = deconnect;
               http.send(null);
}
function deconnect(){
        if(http.readyState == 4){
                var text = http.responseText;
                document.getElementById("bloc_membre").innerHTML = text;
        }
}
function connect(){
        if(http.readyState == 4){
                var text = http.responseText;
                if(text==""){
                        alert('Votre email et/ou votre mot de passe sont incorrectes, veuillez recommencer.');
                } else {
                        document.getElementById("bloc_membre").innerHTML = text;
                }
        }
}

function paiement(){
               var url = 'panier/insertcommande.php?s='+Math.random();
               http.open('GET', url, true);
               http.onreadystatechange = sendForm;
               http.send(null);
}
function checkProduit(reference, index){
        if(reference.length > 4){
               var url = 'panier/verifProduit.php?s='+Math.random()+'&reference='+reference+'&index='+index;
               http.open('GET', url, true);
               http.onreadystatechange = function formulaireProduit(){
                  if(http.readyState == 4){
                        var text = http.responseText;
                        if(text!=""){
                                var exp = text.split("|");
                                var contenu = "<table><tr><td>";
                                if(exp[5]!=''){
                                        contenu += "<img src=\"upload/colisage/"+exp[5]+"\" width=\"50\"/>";
                                }
                                contenu += "</td><td valign=\"top\"><b>"+exp[2]+"</b><br/>"+exp[3]+"<br/><strong>Prix : </strong>"+exp[4]+"</td></tr></table><input type=\"hidden\" id=\"idColisage"+index+"\" name=\"idColisage[]\" value=\""+exp[0]+"\"/>";
                                document.getElementById("produit"+index).innerHTML = contenu;
                                document.getElementById("produit"+index).style.display = "block";
                        } else {
                                document.getElementById("produit"+index).style.display = "none";
                        }
                  }
               };
               http.send(null);
        } else {
               document.getElementById("produit"+index).style.display = "none";
        }
}
function voirDetailProduit(index){
        if(document.getElementById("idColisage"+index) != null){
          var idColisage = document.getElementById("idColisage"+index).value;
          window.location.href="/web/catalogue/detailProduit.php?idColisage="+idColisage;
        }
}
/*** 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 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";
}

function verifInscription(formulaire){
        if(formulaire.nom.value==""){
                alert("Veuillez indiquer votre nom.");
                formulaire.nom.focus();
                return false;
        }
        if(formulaire.prenom.value==""){
                alert("Veuillez indiquer votre prénom.");
                formulaire.prenom.focus();
                return false;
        }
        if(formulaire.adresse.value==""){
                alert("Veuillez indiquer votre adresse.");
                formulaire.adresse.focus();
                return false;
        }
        if(formulaire.cp.value==""){
                alert("Veuillez indiquer votre code postal.");
                formulaire.cp.focus();
                return false;
        }
        if(formulaire.ville.value==""){
                alert("Veuillez indiquer votre ville.");
                formulaire.ville.focus();
                return false;
        }
        if(formulaire.pays.value==""){
                alert("Veuillez indiquer votre pays.");
                formulaire.pays.focus();
                return false;
        }
        if(formulaire.email.value==""){
                alert("Veuillez indiquer votre email.");
                formulaire.email.focus();
                return false;
        } else {
                if(!checkEmail(formulaire.email.value)){
                        alert("L'email que vous nous avez indiqué est invalide.");
                        formulaire.email.focus();
                        return false;
                } else {
                        if(formulaire.email.value!=formulaire.confirmemail.value){
                                alert("La confirmation de l'email est incorrecte.");
                                formulaire.confirmemail.focus();
                                return false;
                        }
                }
        }
        if(formulaire.password.value==""){
                alert("Veuillez indiquer un mot de passe.");
                formulaire.password.focus();
                return false;
        } else {
                if(formulaire.password.value.length < 4){
                        alert("Indiquer un mot de passe d'au moins 4 caractères.");
                        formulaire.password.focus();
                        return false;
                } else {
                        if(formulaire.password.value!=formulaire.password2.value){
                                alert("La confirmation de votre mot de passe est incorrecte.");
                                formulaire.password2.focus();
                                return false;
                        }
                }
        }
        return true;
}

/*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;
    }
}