/*
style IE <=6
*/
/*
fonction pour tester s'il s'agit de IE6
*/
if(navigator.appName == "Microsoft Internet Explorer") {
  var version = navigator.appVersion;
  tabV = version.split('MSIE ');
  versionIE = tabV[1];
  tabVersionIE = versionIE.split(';');
  var versionN = parseInt(tabVersionIE[0]);
  if(versionN<=6) {
    //feuille de style IE6...
    document.write('<link rel="stylesheet" type="text/css" href="web/vieuxIE.css" media="screen" />');
  }
}


/*** 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;
	
	if(page.indexOf("web/")<0 && page.indexOf("http://")<0) {
	 var chemin = runfile("ajax/ajaxGetCheminsite.php");
   page = chemin + "web/" + page;
	}
	
	window.open(page,nom,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

function popupFenetre(idItem,largeur,hauteur) {
	if(largeur=="") {
   largeur = 800;
  }
  if(hauteur=="") {
    hauteur = 500;
  }

  var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;
	var chemin = runfile("ajax/ajaxGetCheminsite.php");
	popup(chemin+"web/popup.php?idItem="+idItem,'fenetre',largeur,hauteur,'resizable=1,scrollbars=1');
}



//zoom image par visionneuse FLA
var yOffset = 0;



function zoomImageFull(source, titre) {
    source = source.replace('/minis', '');
    
    //affiche le swf
    var divVisionneuse = runfile("ajax/ajaxVisionneuse.php?source="+source+"&titre="+titre);
    displayDiv("ajax_div_visionneuse","block");
    document.getElementById("ajax_div_visionneuse").innerHTML = divVisionneuse;
    /*
    var newDiv = document.createElement("div");
    newDiv.setAttribute("id","div_visionneuse");
    newDiv.innerHTML = divVisionneuse;
    document.body.appendChild(newDiv);
    */
    
    yOffset = window.pageYOffset;
    if(yOffset==undefined) {
      yOffset = document.documentElement.scrollTop;
    }
    

    window.scrollTo(0,0);
    document.body.style.overflowY = "hidden";
    
} 

//version simplifiée
function zoomImage(source) {
  zoomImageFull(source, "");
}

//recup les images de la page
function getImagesHTML() {

  var tabImages = new Array();
  
  var j = 0;
  var images = window.document.images;
  var reg=new RegExp("(minis/)", "g");
  var regR=new RegExp("(reduites/)", "g");
  var regAlt=new RegExp("( - Cliquez pour agrandir)", "g");
   
  
  for(i=0;i<images.length;i++) {
    //ne recup que celles issues de upload
    if(images[i].src.indexOf("upload/")>-1) {
      var idImage = images[i].getAttribute("id");
      if(idImage!="" && idImage!=null) {
        var thisImage = document.getElementById(idImage);
        //ne recupere que celle de la class zoomImage
        if(thisImage.className=="zoomImage") {
          var photoImage = new Object();
          photoImage.titre = thisImage.getAttribute("alt").replace(regAlt,"");
          photoImage.titre = photoImage.titre.replace('- Cliquez pour agrandir', '');
          photoImage.mini = images[i].src; 
          photoImage.grande = images[i].src.replace(reg,"");
          photoImage.grande = photoImage.grande.replace(regR,"");
          tabImages[j] = photoImage;
          j++;         
        }
      }
    }
  }


  //utilise externalInterface de FLASH
  thisMovie("swf_visionneuse_image").createMosaiqueFromJs(tabImages);
}

function thisMovie(movieName) {
     if (navigator.appName.indexOf("Microsoft") != -1) {
          return document.getElementById(movieName);
     } else {
          return document[movieName];
     }
}


//reinit et revient sur la position de depart
function jsResetZoom() {

  if(yOffset==undefined) {
    yOffset = 0;
  }  
  /*
  divV = document.getElementById("div_visionneuse");
  document.body.removeChild(divV);
  */
  displayDiv("ajax_div_visionneuse","none");

  
  document.body.style.overflowY = "visible";
  window.scrollTo(0,yOffset);
}

//affiche une galerie photo avec la visionneuse
function visionneuseGalerie(idGalerie, idPhoto) {

    //affiche le swf
    var divVisionneuse = runfile("ajax/ajaxVisionneuse.php?idGalerie="+idGalerie+"&idPhoto="+idPhoto);
    displayDiv("ajax_div_visionneuse","block");
    document.getElementById("ajax_div_visionneuse").innerHTML = divVisionneuse;

    
    yOffset = window.pageYOffset;
    if(yOffset==undefined) {
      yOffset = document.documentElement.scrollTop;
    }
    

    window.scrollTo(0,0);
    document.body.style.overflowY = "hidden";
}

//zoom image par popup
/*
function zoomImage(source) {
    source = source.replace('/minis', '');
    var chemin = runfile("ajax/ajaxGetCheminsite.php");
    popup(chemin+"web/zoomImage.php?source="+source,'zoom','730','500','resizable=1,scrollbars=1');
} 
*/


//fonction zoom image simple
/*
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, "");
}


/***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)) {
        //si pas disabled
             if(formulaire.elements[f].disabled==false){
                    //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) {
                            
                            var message = ajaxGetTraduction('Merci de remplir le champ ','');
                            alert(message + ' "'+thisAttribut+'"');
                            formulaire.elements[f].focus();
                            return false;   
                            break;
                        }
                    } else {
                        if(formulaire.elements[f].value=='') {
                            var message = ajaxGetTraduction('Merci de remplir le champ ','');
                            alert(message + ' "'+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) {
		var message = ajaxGetTraduction('Merci de respecter le format des dates !','');
        alert(message);
		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) {
		var message = ajaxGetTraduction('Merci de respecter le format des e-mails !','');
        alert(message);
		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) {
		var message = ajaxGetTraduction('Merci de respecter le format des prix !','');
        alert(message);		
		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); 
     try {
      xhr_object.send(null); 
     } catch(e) {
     
     }
     
     if(xhr_object.readyState == 4) {
        return(xhr_object.responseText);
        } else {
        return(false);
        } 
     }

/**codes securite**/
function verifCodeSecurite(codeValue) {
    var retour = runfile("ajax/ajaxVerifCodeSecurite.php?codeValue="+codeValue);
    if(retour=="1") {
        return true;
    } else {
		var message = ajaxGetTraduction('Le code sécurité est erroné !','');
        alert(message);	
        return false;
    }
}


function gotoAncre(ancre) {
    var thisLocation = window.location.href;
    tabLocation = thisLocation.split('#');
    window.location.href = tabLocation[0] + "#" + ancre;
    var message = ajaxGetTraduction('Lien vers',''); 
    window.status = message + " " + ancre;  
}

//recup en ajax un texte traduit
function ajaxGetTraduction(texte,langue) {
    var retour = runfile("ajax/ajaxGetTraduction.php?traduction_texte="+texte+"&traduction_langue="+langue);
    
    return retour;
}


/* alertes */
var yOffset = 0;

function nc_alerte_get_content_sans_appar(page) {

  var chemin = runfile("ajax/ajaxGetCheminsite.php");
  if(page.indexOf(chemin)==-1) {
    page = chemin + page;
  }

  var retour = runfile(page);
  if(retour!="") {
    document.getElementById("div_alerte_message").innerHTML = retour;
  }
    
}

function nc_alerte_get_content(page) {
  var chemin = runfile("ajax/ajaxGetCheminsite.php");
  if(page.indexOf(chemin)==-1) {
    page = chemin + page;
  }

  var retour = runfile(page);
  if(retour!="") {
    nc_alerte(retour);
  }
    
}

function nc_alerte(message) {
 
  //scroll
  yOffset = window.pageYOffset;
  if(yOffset==undefined) {
      yOffset = document.documentElement.scrollTop;
  }
  window.scrollTo(0,0);
  document.body.style.overflowY = "hidden";
  

  document.getElementById("div_alerte_message").innerHTML = message;
  document.getElementById("div_alerte_fond").style.display = "block";
  document.getElementById("div_alerte").style.display = "block";
  document.getElementById("div_alerte").scrollTop = 0;
  document.getElementById("div_alerte_fermer").style.display = "block";
  document.getElementById("div_alerte_fond").style.height = document.body.clientHeight + "px";
}

function nc_alerte_fermer() {
  document.getElementById("div_alerte_fond").style.display = "none";
  document.getElementById("div_alerte").style.display = "none";
  document.getElementById("div_alerte_fermer").style.display = "none";

  //scroll
  if(yOffset==undefined) {
    yOffset = 0;
  }   

  
  document.body.style.overflowY = "auto";
  window.scrollTo(0,yOffset);
}


/* contact email form */
function nc_contact_par_email(idModule, idDonnee) {
  var retour = runfile("ajax/ajaxContactParEmail.php?idModule="+idModule+"&idDonnee="+idDonnee);
  nc_alerte(retour);
}

function envoi_ecrire_contact_par_email(elements) {
  var params = "envoi=1";
  for(e=0;e<elements.length;e++) {
    params += "&" + elements[e].name + "=" + elements[e].value;
  }
  var retour = runfile("ajax/ajaxEnvoiEcrireContactParEmail.php?"+params);
  nc_alerte(retour);
}

function stripHTML(oldString) {

   var newString = "";
   var inTag = false;
   for(var i = 0; i < oldString.length; i++) {
   
        if(oldString.charAt(i) == '<') inTag = true;
        if(oldString.charAt(i) == '>') {
              if(oldString.charAt(i+1)=="<")
              {
              		//dont do anything
	}
	else
	{
		inTag = false;
		i++;
	}
        }
   
        if(!inTag) newString += oldString.charAt(i);

   }

   return newString;
}

/*
notabene
*/
function ajaxSetSelectCategoriesAdherents(idCategorie) {
    var retour = runfile("ajax/ajaxSetSelectCategoriesAdherents.php?idCategorie="+idCategorie);
    document.getElementById("div_droite_titre").innerHTML = retour;
}

function changePageCatAdherents(page) {
  if(page!="") {
  window.location.href=page;
  }
}

function envoi_ecrire_adherent(elements) {
  var params = "envoi=1";
  for(e=0;e<elements.length;e++) {
    params += "&" + elements[e].name + "=" + elements[e].value;
  }
  var retour = runfile("ajax/ajaxEnvoiEcrireAdherent.php?"+params);
  nc_alerte(retour);
}

function adherent_identifiants_perdu() {
  var retour = runfile("ajax/ajaxAdherentIdentifiantsPerdus.php");
  nc_alerte(retour);
}

function adherent_identifiants_recevoir(email) {
  var retour = runfile("ajax/ajaxAdherentIdentifiantsRecevoir.php?email="+email);
  nc_alerte(retour);
}

function trombi_adherent() {
  var retour = runfile("ajax/ajaxGetAdherent.php");
  document.getElementById("div_trombi_adherent").innerHTML = retour;
  
  setTimeout("trombi_adherent()", 6000); 
}

function changeTypeFormField(champ, newType) {
  try {
    champ.setAttribute('type',newType);
  } catch(e) {
    //ne fonctionne pas sous IE
  }
}

/*
special PJ (ajoute des input file)
*/
function addInputFile(div) {
  var newInput = document.createElement("div");
  newInput.innerHTML = "<br/><div style=\"margin:4px;\"><input type=\"file\" name=\"pj[]\" /></div>";
  document.getElementById(div).appendChild(newInput);
}


/*
special detail adh
*/

function goToDivAdh(prefixe, numDiv) {
  try {
    cumul = 0;
    
    //cumul des hauteurs des div precedentes
    for(d=0;d<numDiv;d++) {
      thisDiv = prefixe + d.toString();
      cumul = cumul + document.getElementById(thisDiv).scrollHeight;
    }
    document.getElementById("div_alerte").scrollTop = cumul;
  } catch(e) {
    //alert(e);
  }
}

/*
evenement
*/
function notabene_evenement_inscription(idE, divMessage) {
  var retour = runfile("ajax/ajaxInscriptionEvenement.php?idEvenement="+idE);
  document.getElementById(divMessage).innerHTML = retour;
}

//vide le contenu d'un champ 
//si str1==str2
function vide_champ(champ, str1, str2) {
  if(str1==str2) {
    champ.value = '';
  }
}