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

function zoomMediaFull(source, titre) {
    yOffset = window.pageYOffset;
    if(yOffset==undefined) {
      yOffset = document.documentElement.scrollTop;
    }
	document.getElementById("scrolltopvalue").value=document.documentElement.scrollTop;
    //window.scrollTo(0,0);
	////////alert(document.body.style.overflowY);
    document.body.style.overflowY = "hidden";

	
    source = source.replace('/minis', '');
    ////////affiche le swf
    var divVisionneuse = runfile("ajax/ajaxVisionneuseMedia.php?source=web/images/chargement.gif&titre=Chargement du mÃ©dia en cours...");
    /////////var divVisionneuse = runfile("ajax/ajaxVisionneuseMedia.php?source="+source+"&titre="+titre);
	/////////alert(divVisionneuse);
    displayDiv("fondtransp","block");
    displayDiv("fondtranspmedia","block");
    displayDiv("fondmedia","block");
    document.getElementById("fondmedia").innerHTML = divVisionneuse;
	offset=(yOffset+(document.documentElement.clientHeight/2)-20);
	offset=offset+"px";
	document.getElementById("fondmedia").style.top=offset;
    var divVisionneuse = runfile("ajax/ajaxVisionneuseMedia.php?source="+source+"&titre="+titre);
	
    

    

	
    document.getElementById("fondmedia").innerHTML = divVisionneuse;
    /*
    var newDiv = document.createElement("div");
    newDiv.setAttribute("id","div_visionneuse");
    newDiv.innerHTML = divVisionneuse;
    document.body.appendChild(newDiv);
    */
    
    
} 

function masqueMedia() {
	document.getElementById("fondtransp").style.display = "none";
	document.getElementById("fondtranspmedia").style.display = "none";
	document.getElementById("fondmedia").style.display = "none";
	document.documentElement.scrollTop=document.getElementById("scrolltopvalue").value;
  document.body.style.overflowY = "";
  
  //btns netconception
  try {
    document.body.removeChild(document.getElementById('div_btns_netc'));
  } catch(e) {
  }
  
}
			
function zoomMediaFullOld(source, titre) {
    source = source.replace('/minis', '');

    //affiche le swf
    var divVisionneuse = runfile("ajax/ajaxVisionneuseMedia.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;
    }
	document.getElementById("scrolltopvalue").value=document.documentElement.scrollTop;
    

    window.scrollTo(0,0);
	//alert(document.body.style.overflowY);
    document.body.style.overflowY = "hidden";
    
} 

function zoomPdfFull(source, titre) {
    source = source.replace('/minis', '');

    //affiche le swf
    var divVisionneuse = runfile("pdfreader/ajaxVisionneusePdf.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;
    }
	document.getElementById("scrolltopvalue").value=document.documentElement.scrollTop;
    

    window.scrollTo(0,0);
	//alert(document.body.style.overflowY);
    document.body.style.overflowY = "hidden";
    
} 

 
function masqueIntro() {
	//document.getElementById("divtotal").style.display = "none";
	//document.getElementById("divIntro").style.display = "none";
	document.getElementById("ajax_div_visionneuse").style.display = "none";
	document.documentElement.scrollTop=document.getElementById("scrolltopvalue").value;
    document.body.style.overflowY = "";
	
}


//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") {

          //grande
          var grande = images[i].src.replace(reg,"");
          var grande = grande.replace(regR,"");
          
          //verifie le onclick, car la source de l'originale est peut-être une image différente (nom différent)
          var onclick = images[i].getAttribute("onclick");
          if(onclick!="" && onclick!=null) {
            //on tente de sortir les params : fonction zoomImage ou zoomImageFull
            //zoomImageFull('upload/editeur/islande-aout-2005-071.jpg',this.alt)
            var value_onclick = onclick.toString();
            //parenthese et virgule sont les points de separation à chercher
            //à finir
            var array_parenthese = value_onclick.split('(');
            var last_parenthese = array_parenthese[array_parenthese.length-1];
            var array_virgule = last_parenthese.split(',');
            var param_src_originale = array_virgule[0];
            
            param_src_originale = param_src_originale.replace('\'', '');
            param_src_originale = param_src_originale.replace('\'', '');
            if(param_src_originale!='') {
              grande = param_src_originale;
            }
            
          }
          
          var photoImage = new Object();
          photoImage.mini = images[i].src;

          try {
            photoImage.titre = thisImage.getAttribute("alt").replace(regAlt,"");
          } catch(e) {
            try {
              photoImage.titre = thisImage.getAttribute("title").replace(regAlt,"");
            } catch(e) {
              photoImage.titre = "";
            }
          }
          
          if(photoImage.titre!=null && photoImage.titre!="") {
            photoImage.titre = photoImage.titre.replace('- Cliquez pour agrandir', '');
          } else {
            photoImage.titre = " ";
          }
          
          if(photoImage.titre=="null" && photoImage.titre==null) {
            photoImage.titre = " ";
          }
          
          
          photoImage.mini = images[i].src; 
          photoImage.grande = grande;

          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(r=0;r<formulaire.elements.length;r++) {
                          if(formulaire.elements[r].getAttribute("name")==thisName) {
                            if(formulaire.elements[r].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); 
     xhr_object.send(null); 
     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;
    }
}

/**codes securite**/
function ajaxMiniBrochure(id) {
    var retour = runfile("ajax/ajaxMiniBrochure.php?id="+id);
    if(retour!="") {
        document.getElementById('cadre_mini_brochure').innerHTML=retour;
        return true;
    } else {
        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.indexOf("http://")==-1) {
    page = chemin + page;
  }

  //var retour = runfile(page);
  var retour = runfile("ajax/ajaxGetFileContents.php?page=" + 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);
}

/*
specials modules include
*/
//recupere toutes les div de class "div_module_include" pour en afficher les contenus
function makeDivModulesIncludes() {
  var divs   = document.getElementsByTagName("div");
  var len = divs.length;
  var out = new Array();
  	
  for (var i = 0; i < len; i++) {
    
    var classDiv = "";
    classDiv = divs[i].getAttribute('class');
    
    if(classDiv==null) {
      try {
        classDiv = divs[i].className;
      } catch(ee) {      
      }    
    }

    if (classDiv=='div_module_include') {
      var idDiv = divs[i].getAttribute('id');
      
      if(idDiv!=undefined && idDiv!='' && idDiv!=0) {
        ajaxGetContenuModule(idDiv);
      }      
    }
  }
}

//liste le contenu d'un module
function ajaxGetContenuModule(idDiv) {
  var contenu = runfile("ajax/ajaxGetContenuModule.php?idDiv="+idDiv);
  
  if(document.getElementById(idDiv)!=null) {
    document.getElementById(idDiv).innerHTML = contenu;
  }
}


//liste le contenu d'un module
function ajaxMediatheque(idCategorie,type,ordre,page) {
  var contenu = runfile("ajax/ajaxMediatheque.php?idCategorie="+idCategorie+"&type="+type+"&ordre="+ordre+"&page="+page);  
  //alert(contenu);
  if((document.getElementById('mediatheque')!=null)&&(contenu!=null)) {
    document.getElementById('mediatheque').innerHTML = contenu;
  }
}

//liste le contenu d'un module
function extranetChange(etat,id_document,id_user) {
  var contenu = runfile("http://nouveau.projetmontsaintmichel.com/ajax/ajaxExtranetChange.php?etat="+etat+"&id_document="+id_document+"&id_user="+id_user);  
  //alert(contenu);
  /*if((document.getElementById('mediatheque')!=null)&&(contenu!=null)) {
    document.getElementById('mediatheque').innerHTML = contenu;
  }*/
}

