/*** 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)) {        //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) {                            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);        }      }function loadAnnee(formationName){    var retour = runfile("web/espace/ajaxVerifGroupeFormation.php?formationName="+formationName);    if(retour!=""){        document.getElementById("chooseAnnee").innerHTML=retour;        document.getElementById("chooseAnnee").style.display="block";    } else {        document.getElementById("chooseAnnee").style.display="none";    }}function loadAnneeId(idFormation){    var retour = runfile("web/espace/ajaxVerifGroupeFormation.php?idFormation="+idFormation);    if(retour!=""){        document.getElementById("chooseAnnee").innerHTML=retour;        document.getElementById("chooseAnnee").style.display="block";    } else {        document.getElementById("chooseAnnee").style.display="none";    }}/**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;    }}function backToTop() {    window.scrollTo(0,0);}function gotoAncre(ancre) {    var thisLocation = window.location.href;    tabLocation = thisLocation.split('#');    window.location.href = tabLocation[0] + "#" + ancre;      window.status = "Lien vers " + ancre;  }/* special CV */function bloqueAnnees(annee,champBloqueur) {    //bloque les annees d'obtention des autres      selectsArray = new Array();    selectsArray[0] = "bac_annee";    selectsArray[1] = "prepa_annee";    selectsArray[2] = "dut_annee";    selectsArray[3] = "bts_annee";    selectsArray[4] = "universite_annee";    selectsArray[5] = "emn_obtention";        diplomeIndice = 0;    for(s=0;s<selectsArray.length;s++) {        if(selectsArray[s]==champBloqueur) {            diplomeIndice = s;            break;        }    }    //bloque ceux avant    for(s=0;s<diplomeIndice;s++) {        champSelect = selectsArray[s];        thisSelect = document.getElementById(champSelect);        for(t=0;t<thisSelect.options.length;t++) {            if(thisSelect.options[t].value!='' && thisSelect.options[t].value >= annee) {                thisSelect.options[t].disabled = true;            } else {                thisSelect.options[t].disabled = false;            }        }        }        //bloque ceux apres    for(s=diplomeIndice+1;s<selectsArray.length;s++) {        champSelect = selectsArray[s];        thisSelect = document.getElementById(champSelect);        for(t=0;t<thisSelect.options.length;t++) {            if(thisSelect.options[t].value!='' && thisSelect.options[t].value <= annee) {                thisSelect.options[t].disabled = true;            } else {                thisSelect.options[t].disabled = false;            }        }        }}