// !! Doit d'être indépendant de tout autre script !!! // function erreur(id,infos,fichier,ligne,fonction,fatale,visible,retour){ if(window.XMLHttpRequest){ // FIREFOX xhr_object = new XMLHttpRequest(); }else if(window.ActiveXObject){ // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); }else{ window.location.replace("erreur.php?id="+id+"&infos="+infos+"&fich="+fichier+"&ligne="+ligne+"&fonction="+fonction+"&fatale="+fatale+"&visible="+visible,false); return false; } if((fatale=="non" && visible=="non") || (retour=="oui" && visible=="oui")){ xhr_object.open("GET", "erreur.php?id="+id+"&infos="+infos+"&fich="+fichier+"&ligne="+ligne+"&fonction="+fonction+"&fatale="+fatale+"&visible="+visible+"&retour="+retour,false); xhr_object.send(null); if(xhr_object.readyState == 4){ if(retour=="oui" && visible == "oui"){ return xhr_object.responseText; }else{ return true; } }else{ return false; } }else{ window.location.replace("erreur.php?id="+id+"&infos="+infos+"&fich="+fichier+"&ligne="+ligne+"&fonction="+fonction+"&fatale="+fatale+"&visible="+visible,false); } } function execscripts(code){ var script = ''; var offset = 0; while(script != 'erreur'){ var bdebut1 = '<'+'script'; var bdebut2 = '>'; var bfin1 = '<'+'/'+'script'+'>'; var bdebut = code.indexOf(bdebut1,offset); if(bdebut < 0){ script = 'erreur'; }else{ bdebut = code.indexOf(bdebut2,bdebut) + 1; if(bdebut < 0){ script = 'erreur'; }else{ var bfin = code.indexOf(bfin1,bdebut) - 0; if(bfin < 0){ script = 'erreur'; }else{ offset = bfin; eval(code.substring(bdebut,bfin)); } } } } } appendChildFirst = function(nouveau,conteneur){ if(conteneur.firstChild){ conteneur.insertBefore(nouveau,conteneur.firstChild); }else{ conteneur.appendChild(nouveau); } } insertAfter = function(nouveau,ref){ if(ref.nextSibling){ ref.parentNode.insertBefore(nouveau,ref.nextSibling); }else{ ref.parentNode.appendChild(nouveau); } } function ajoutermodule(id,titre,contenu){ // Vérifications sur le id, titre, contenu var nouveaumodule = document.createElement('div'); nouveaumodule.setAttribute('id', id); nouveaumodule.setAttribute('class', 'module'); var nouveaumoduletitre = document.createElement('div'); nouveaumoduletitre.setAttribute('class', 'titre'); nouveaumoduletitre.appendChild(document.createTextNode(titre)); var nouveaumodulecontenu = document.createElement('div'); nouveaumodulecontenu.setAttribute('class', 'contenu'); //nouveaumodulecontenu.appendChild(document.createTextNode(contenu)); nouveaumodulecontenu.innerHTML = contenu; var nouveaumodulebas = document.createElement('div'); nouveaumodulebas.setAttribute('class', 'bas'); nouveaumodule.appendChild(nouveaumoduletitre); nouveaumodule.appendChild(nouveaumodulecontenu); nouveaumodule.appendChild(nouveaumodulebas); var modules = document.getElementById('modules'); // Vérifier l'existence var modulegoogleads; if(modulegoogleads = document.getElementById('modulegoogleads')){ modules.insertBefore(nouveaumodule,modulegoogleads); }else{ modules.appendChild(nouveaumodule); } adapterdimentions(); } function ajouterevenement(objet, type, fonction, capmode){ if(typeof objet == "string"){ if(!(objet = document.getElementById(objet))){ // ERREUR return false; } } try{ objet.addEventListener(type, fonction, capmode); }catch (e1){ try{ objet.attachEvent('on' + type, fonction); }catch (e2){ // ERREUR return false; } } } function creerliensmenu(){ try{ var c = document.getElementsByTagName("a"); var str1 = "section-"; for (var i = 0; i < c.length; i++) { // alert(c[i].getAttribute("href")+"\n"+'indexof:'+c[i].getAttribute("href").indexOf(str1,0)); if(c[i].getAttribute("href")){ // alert('chaine: ' + c[i].getAttribute("href") + ' & indexOf: ' +c[i].getAttribute("href").indexOf(':',0)); if( c[i].getAttribute("href").indexOf(str1,0) > -1 && c[i].getAttribute("href").indexOf(':',5) == -1 ){ c[i].setAttribute("onclick","chargerpage(this.href);return false;"); c[i].onclick = function() {chargerpage(this.href);return false;} } } } var a = document.getElementById("menucontenu"); var b = a.getElementsByTagName('a'); for (var i = 0; i < b.length; i++) { b[i].setAttribute("ondblclick","favoris(this.href);return false"); b[i].ondblclick = function() {favoris(this.href);return false;} } }catch (e){ // ERREUR var rien = false; } } attquetout = false; function attendreque(quoi, valeur, intervalle, resultat){ // Vérifier que intervalle est un nombre etc // Vérifier que tout les arguments on été passé var restempquoi = null; eval('restempquoi = '+quoi); if(restempquoi == valeur){ eval(resultat); if(attquetout){ clearTimeout(attquetout); attquetout = false; } }else{ if(typeof valeur != "boolean"){ valeur = '"'+valeur+'"'; } attquetout = setTimeout('attendreque("'+quoi+'",'+valeur+','+intervalle+',"'+resultat+'")',intervalle); } return true; } function favorisdialog(){ if ( navigator.appName != 'Microsoft Internet Explorer' ){ window.sidebar.addPanel(titrepage,urlpage,""); }else{ window.external.AddFavorite(urlpage,titrepage); } } function favoris(lien) { if(lien){ chargerpage(lien); } attendreque("ischargement()",false,500,"favorisdialog()"); } function adapterdimentions(){ var hauteurwin = (typeof window.innerHeight == "undefined") ? (document.body.offsetHeight) : (window.innerHeight); setcss("modules","height",(hauteurwin-130)+"px"); if(typeof window.innerHeight == "undefined"){ if(document.body.offsetHeight < document.documentElement.clientHeight){ setcss("modules","height",(document.documentElement.clientHeight-130)+"px"); } }else{ if((window.scrollMaxY-document.body.scrollHeight) == 0){ var hauteurwin = (window.innerHeight - document.body.scrollHeight); setcss("modules","height",(hauteurwin-130)+"px"); } if(window.scrollMaxY > 0){ var hauteurwin = (window.innerHeight + window.scrollMaxY); setcss("modules","height",(hauteurwin-130)+"px"); } } } function changeimage(id, src){ if( document.getElementById(id)){ document.getElementById(id).src = src; return true; }else{ return false; } } function chargementstart(){ setcss("chargement1","top","130px"); setcss("chargement1","left","180px"); setcss("chargement2","top","40%"); setcss("chargement2","left","40%"); setcss("chargement1","right","0px"); setcss("chargement1","bottom","0px"); // setcss("chargement1","display","block"); setcss("chargement2","display","block"); } function chargementend(){ setcss("chargement1","display","none"); setcss("chargement2","display","none"); } function ischargement(){ if( getcss("chargement1","display") == "none" && getcss("chargement2","display") == "none" ){ return false; }else{ return true; } } function PrechargeImg() { //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=PrechargeImg.arguments; for(i=0; i',tstart); tstart += tstr1.length; titrepage = "PCmaniaque - " + val.substring(tstart,tstop); document.title = titrepage; } */ function structcache(titre,contenu,description){ this.titre = titre; this.contenu = contenu; this.description = description; } urlpage = nom; var str1 = "section-"; var start = nom.indexOf(str1,0) + str1.length; if(start == str1.length - 1){ ecrirepage(erreur("2407","","ajax.js.php","107","chargerpage()","oui","oui","oui")); return false; } var end = -1; if((end = nom.indexOf("-",start)) == -1){ nom = nom.substring(start); }else{ nom = nom.substring(start,end); } if(!nom){ ecrirepage(erreur("2401","","ajax.js.php","121","chargerpage()","oui","oui","oui")); return false; } // Vérifier que nom contien que des chiffres et/ou des lettres sinon erreur de sécurité var regexpnom = new RegExp("[a-z0-9_-]+"); var nomfichier = nom.toLowerCase(); nomfichier = format(nomfichier,regexpnom); if(!nomfichier){return false;} if(pagescache[nom]){ titrepage = pagescache[nom].titre; document.title = titrepage; ecrirepage (pagescache[nom].contenu); execscripts(pagescache[nom].contenu); adapterdimentions(); chargementend(); return true; } var xhr = initajax(); if(!xhr){return false;} xhr.onreadystatechange = function(){ if(xhr.readyState == 4){ if(xhr.status == 200){ reponsepage = xhr.responseText; var RepJSON = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(reponsepage.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + reponsepage + ')'); if(RepJSON == false){ // ERREUR Générer message var erreurmsg = "Une erreur est survenue!
Les données reçues sont incorrectes.
Echec du chargement de la page."; ecrirepage(erreurmsg); return false; }else{ if(!RepJSON.titre || !RepJSON.contenu){ // ERREUR } titrepage = RepJSON.titre; document.title = titrepage; ecrirepage (RepJSON.contenu); chargementend(); execscripts(RepJSON.contenu); adapterdimentions(); if(RepJSON.dynamique == false){ pagescache[nom] = new structcache(RepJSON.titre,RepJSON.contenu,RepJSON.description); // pagescache[nom].titre = RepJSON.titre; // pagescache[nom].contenu = RepJSON.contenu; // pagescache[nom].description = RepJSON.description; } return true; } }else{ var erreurmsg = "Une erreur est survenue!
Echec du chargement de la page.
Veuillez vérifier votre connection internet."; ecrirepage(erreurmsg); var erreurresult = null; chargementend(); erreurresult = erreur("2404",req,"ajax.js.php","184","chargerpage()","oui","oui","oui"); if(erreurresult){ ecrirepage(erreurresult); }else{ ecrirepage(erreurmsg); } return false; } } }; xhr.open("POST",'/pagecontenu',true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send('page='+nomfichier); } function demandelogin(lform){ var membrecontenu = false; var reqxhr = initajax(); if(!reqxhr){return false;} if(!lform){ erreur('2401','','ajax.js.php','208','demandelogin()','oui','oui','non'); return false; } function afferreurlogin(message){ if(document.getElementById('erreurloginmessage')){ document.getElementById('erreurloginmessage').innerHTML = message; }else{ var nouveau = document.createElement('div'); nouveau.innerHTML = message; nouveau.setAttribute('id' ,'erreurloginmessage'); nouveau.setAttribute('class','erreur'); appendChildFirst(nouveau,membrecontenu); } return false; } reqxhr.onreadystatechange = function(){ if(reqxhr.readyState == 4){ if(reqxhr.status == 200){ if(!(membrecontenu = document.getElementById('modulemembrecontenu'))){ erreur('2403','','ajax.js.php','229','demandelogin()','oui','oui','non'); return false; } if(reqxhr.responseText == ''){ return afferreurlogin('Erreur du gestionnaire de session'); } execscripts(reqxhr.responseText); membrecontenu.innerHTML = reqxhr.responseText; creerliensmenu(); return true; }else{ return afferreurlogin('Erreur de connection au gestionnaire de session'); } } } var urlreqxhr = urlpage; var data = ''; if(lform == 'logout'){ urlreqxhr += ':logout'; data = 'act=logout'; }else{ urlreqxhr += ':login'; var insertamp = false; for(i=0; i<=(lform.elements.length-1); i++){ if((lform.elements[i].type != 'checkbox') || (lform.elements[i].type == 'checkbox' && lform.elements[i].checked == true)){ if(insertamp == true){ data += '&'; } insertamp = true; data += lform.elements[i].id; data += '='; data += lform.elements[i].value; } } } data += '&ajax=enable'; reqxhr.open('POST',urlreqxhr,true); reqxhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); reqxhr.send(data); } /* Fonction relative à l'historique */ history.go = function(nb){ return true; } history.back = function(){ return true; } history.forward = function(){ return true; } /**/ function addcss(url){ if(document.createStyleSheet){ // IE document.createStyleSheet(url); }else{ var styles = "@import url('"+url+"');"; var bstyle=document.createElement('link'); bstyle.rel='stylesheet'; bstyle.href='data:text/css,'+escape(styles); document.getElementsByTagName("head")[0].appendChild(bstyle); } } function getcss(id,propriete){ // Renvoie la valeur de la propriété css passée en paramètre ou false si une erreur s'est produite if(id && propriete){ var objet = document.getElementById(id); var valeur=""; if (objet.currentStyle){ valeur = objet.currentStyle[propriete]; }else if (window.getComputedStyle){ valeur = document.defaultView.getComputedStyle(objet,null)[propriete]; } return valeur; }else{ return false; } } function setcss(id,propriete,valeur){ // Renvoie true si le changement s'est effectué correctement if(id && propriete){ var css = new Array("text-decoration","text-decoration:line-through","text-decoration:none","text-decoration:underline","text-decoration:overline","text-indent","text-transform","float" ,"list-style","list-style-image","list-style-position","list-style-type","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","font-family","font-size","font-weight","font-variant","border-bottom","border-bottom-color","border-bottom-style","border-bottom-width","border-color","border-left","border-left-color","border-left-style","border-left-width","border-right","border-right-color","border-right-style","border-right-width","border-style","border-top","border-top-color","border-top-style","border-top-width","border-width","margin-bottom","margin-left","margin-right","margin-top","line-height","letter-spacing","vertical-align","z-index","background-attachment","background-color","background-image","background-position","background-repeat"); var javascript = new Array("textDecoration" ,"textDecorationLineThrough" ,"textDecorationNone" ,"textDecorationUnderline" ,"textDecorationOverline" ,"textIndent" ,"textTransform" ,"styleFloat","listStyle" ,"listStyleImage" ,"listStylePosition" ,"listStyleType" ,"paddingBottom" ,"paddingLeft" ,"paddingRight" ,"paddingTop" ,"pageBreakAfter" ,"pageBreakBefore" ,"fontFamily" ,"fontSize" ,"fontWeight" ,"fontVariant" ,"borderBottom" ,"borderBottomColor" ,"borderBottomStyle" ,"borderBottomWidth" ,"borderColor" ,"borderLeft" ,"borderLeftColor" ,"borderLeftStyle" ,"borderLeftWidth" ,"borderRight" ,"borderRightColor" ,"borderRightStyle" ,"borderRightWidth" ,"borderStyle" ,"borderTop" ,"borderTopColor" ,"borderTopStyle" ,"borderTopWidth" ,"borderWidth" ,"marginBottom" ,"marginLeft" ,"marginRight" ,"marginTop" ,"lineHeight" ,"letterSpacing" ,"verticalAlign" ,"zIndex" ,"backgroundAttachment" ,"backgroundColor" ,"backgroundImage" ,"backgroundPosition" ,"backgroundRepeat"); for(i=0; i < css.length; i++){ if(propriete == css[i]){ propriete = javascript[i]; break; } } var objet = document.getElementById(id); if(objet){ objet.style[propriete] = valeur; if(valeur == getcss(id,propriete)){ return true; }else{ return false; } }else{ return false; } }else{ return false; } } function changedisplay(id){ // Change l'affichage d'un élément (affiché <-> masqué) if(!id){return "ERREUR - no id";} (getcss(id,"display") == "block") ? setcss(id,"display","none") : setcss(id,"display","block"); } function changebckcolor(id,couleur){ if(!id){return "ERREUR - no id";} setcss(id,"background-color",couleur); } // Classe Formulaire : // Contient un représentation du formulaire, de ses champs et de son bouton d'envoi, ainsi que des fonctions permettant d'ajouter une vérification avancée du contenu des champs // Attention : le nom de l'instance doit être identique à l'id du formulaire !!! // Vous pouvez modifier la gestion du résultat de la vérification d'un champ en créant une fonction avec ces argument (formualire,element,etat,description) // formulaire : contiendra l'objet formulaire // element: contiendra une référence au champ en cours. // etat : etat représentant le résulat de la vérification : {0:validation réussie | 1:le champ est obligatoire et vide | 2:la valeur est trop courte | 3:la valeur est trop longue | 4:la syntaxe est erronée | 5:le formulaire à tenté de s'envoyer mais un/des champ(s) est/étaient erroné(s) | 6:initialisation terminée | 7:le bouton à été activé | 8:le bouton à été désactivé} // description: contient la description entrée pour l'élément (peut être utilisée pour créer des messages plus personnalisé) // Vous pouvez aussi utiliser la fonction formulaire.verifierbouton(); pour que votre bouton submit soit désactiver lorsque il y a une/des erreur(s) // Remarque : Vous pouvez utiliser conjointement cette classe avec le script 'erreur'. // Prototype de la classe Formulaire function protoformulaire(){ function pasimplemente(){ alert("ERREUR: La méthode n'est pas implémentée par la classe fille !"); } // Valeurs par defaut des propriétés (variables membres) this.id = "monformulaire"; this.action = "#"; this.method = "post"; this.boutonsubmit = ""; this.traitement = "traitchamp"; // Erreur si méthode (fonction membre) non implémentée this.Ajouter = pasimplemente; this.Item = pasimplemente; this.Length = pasimplemente; this.initialiser = pasimplemente; this.envoyer = pasimplemente; this.verifierbouton = pasimplemente; this.verifiertout = pasimplemente; this.verifier = pasimplemente; } Formulaire.prototype = new protoformulaire(); function Formulaire(nomid,action,methode,boutonsubmit,traitement){ // Classe Formulaire : Contient un représentation du formulaire, de ses champs et de son bouton d'envoi, ainsi que des fonctions permettant d'ajouter une vérification avancée du contenu des champs function protostructchamp(){ // Prototype (valeurs par defaut) de la structure champ this.nom = ""; this.type = "text"; this.requis = false; this.regexp = ".*"; this.lmin = 0; this.lmax = 0; this.defaut = ""; } structchamp.prototype = new protostructchamp(); function structchamp(nom,type,requis,regexp,lmin,lmax,defaut){ // Structure qui contien les données des champs du formulaire if(nom) {this.nom = nom;} // [string] Description du champ if(type) {this.type = type;} // [string] Type du champ if(requis){this.requis = requis;} // [boolean] Indique si le champ est obligatoire if(regexp){this.regexp = regexp;} // [string | regexp] Contien l'expression régulière qui va vérifier le champ if(lmin) {this.lmin = lmin;} // [int] Longueur minimum du champ if(lmax) {this.lmax = lmax;} // [int] Longueur maximum du champ (0=indéfini) if(defaut){this.defaut = defaut;} // [string] Valeur par defaut du champ } // Déclaration des propriétés (variables membres) if(nomid) {this.id = nomid;} // [string] Contient le nom et l'id du formulaire if(action) {this.action = action;} // [string] Contien l'action que le formulaire exécutera lors de son envoi if(methode) {this.method = methode;} // [string] [get/post] Méthode d'envoi du formulaire if(boutonsubmit){this.boutonsubmit = boutonsubmit;} // [string] id du bouton d'envoi du formulaire if(traitement){this.traitement = traitement;} this.champ = new Array(); // Initialise le tableau qui contiendra les champs this.clef = new Array(); // Initialise le tableau qui contiendra la liste des clef du tableau champ // Déclaration et implémentation des fonctions membres (méthodes) this.Ajouter = function(id,nom,type,requis,regexp,lmin,lmax,defaut){ // Ajouter un champ dans la structure du formulaire if(this.champ[id] == true){ return false; } if(!nom){nom = id;} article = new structchamp(nom,type,requis,regexp,lmin,lmax,defaut); this.champ[id] = article; //this.champ = this.champ.concat(article); this.clef.push(id); this.champ.length += 1; return true; } this.Item = function(index){ // Retourne la valeur du champ passé en paramètre return this.champ[index]; } this.Length = function(){ // Retourne le nombre de champ enregistré return this.champ.length; } this.initialiser = function(){ var baliseform = document.getElementById(this.id); if(this.action){ baliseform.setAttribute('action', this.action); baliseform.action = this.action; } if(this.method){ baliseform.setAttribute('method', this.method); baliseform.method = this.method; } var formerreur = document.createElement('div'); formerreur.setAttribute('id', this.id+'erreur'); formerreur.setAttribute('class', 'erreur'); //ne fonctionne pas sur ie formerreur.className = 'erreur'; // fonctionne sur ie appendChildFirst(formerreur,baliseform); if(this.boutonsubmit){ // var boutonenvoyer = document.getElementById(this.boutonsubmit); // boutonenvoyer.setAttribute('type', 'button'); // boutonenvoyer.type = 'button'; // boutonenvoyer.setAttribute('onclick', 'this.form.submit();'); // ne fonctionne pas sur ie // boutonenvoyer.onclick = function() {this.form.submit();} // fonctionne sur ie var ancien = document.getElementById(this.boutonsubmit); var nouveau = document.createElement ('input'); nouveau.setAttribute('type','button'); nouveau.setAttribute('name',ancien.getAttribute('name')); nouveau.setAttribute('id',ancien.getAttribute('id')); nouveau.setAttribute('style',ancien.getAttribute('style')); nouveau.setAttribute('value',ancien.getAttribute('value')); nouveau.setAttribute('onclick', 'env'+this.id+'();'); nouveau.setAttribute('disabled','true'); var classe = ancien.getAttribute('class'); if(classe != null && classe != false && classe != 'null'){ nouveau.setAttribute('class',classe); } ancien.parentNode.replaceChild (nouveau, ancien); var boutonenvoyer = document.getElementById(this.boutonsubmit); boutonenvoyer.disabled = true; } // eval('mod'+this.id+' = function(element){formverif(element,'+this.id+');}'); eval('mod'+this.id+' = function(element){'+this.id+'.verifier(element);}'); eval('env'+this.id+' = function(){'+this.id+'.envoyer();}'); for(i1=0;i1 champ.lmax && champ.lmax > 0){ //erreurchamp('La valeur est trop longue'); if(!silentieu){ eval(this.traitement+'(this,element,3,champ.nom)'); this.verifierbouton(); } return false; } var regexp1 = champ.regexp; if(typeof(regexp1) == "string"){ regexp1 = new RegExp(regexp1,"g"); }else if(typeof(regexp1) != "object" && typeof(regexp1) != "function"){ ecrirepage(erreur("2405","regexp1:"+regexp1,"/home/pcmaniaq/www/res/scripts/formulaire.js","255","Formulaire.verifier()","oui","oui","oui")); return false; } if(regexp1.test(value) != true){ //erreurchamp('La valeur ne correspond pas à un(e) '+champ.nom+' valide'); if(!silentieu){ eval(this.traitement+'(this,element,4,champ.nom)'); this.verifierbouton(); } return false; } //erreurchamp('',true); if(!silentieu){ eval(this.traitement+'(this,element,0,champ.nom)'); this.verifierbouton(); } return true; } } function traitchamp(form,element,statu,descr){ var message = new Array('','Ce champ est obligatoire','La valeur est trop courte','La valeur est trop longue','La valeur ne correspond pas à un(e) '+descr+' valide',"Un/des champ(s) est/sont erroné(s) ! \n Veuillez vérifier"); if(statu == 0 || statu == 7){ setcss(element.id,'border-color','green'); }else if(statu <= 4 || statu == 8){ setcss(element.id,'border-color','red'); /* }else if(statu == 6){ var rien = 'rien'; }else if(statu == 7){ }else if(statu == 8){ */ } if(typeof(message[statu]) != 'undefined'){ document.getElementById(element.id+'erreur').innerHTML = ' '+message[statu]; } } function ajouterevenement(objet, type, fonction, capmode){ if(typeof objet == "string"){ if(!(objet = document.getElementById(objet))){ // ERREUR return false; } } try{ objet.addEventListener(type, fonction, capmode); return true; }catch (e1){ try{ objet.attachEvent('on' + type, fonction); return true; }catch (e2){ alert("ERREUR"); return false; } } } // Fonctions personelles aux pages function skypestatu(){ if(!(skypestat = document.getElementById("skypestatu")) || !(skypestatimg = document.getElementById("skypestatuimg"))){ if(skypeinterval == "rien"){ erreur("2402","skypestatu | skypestatuimg","ajax.js.php","39","skypestatu()","non","non","non"); }else{ clearInterval(skypeinterval); skypeinterval = "rien"; } return false; } if(skypeinterval == "rien"){ skypeinterval = setInterval('skypestatu()',25000); return true; } var ajx; if(ajx = initajax()){ ajx.onreadystatechange = function(){ if(ajx.readyState == 4){ var mess = new Array() mess[0] = "Imposible d'afficher l'état du service"; mess[1] = "Aucun de nos collaborateurs est actuellement connecté"; mess[2] = "Un de nos collaborateurs vous répondera immédiatement"; mess[3] = "Aucun de nos collaborateurs est disponible actuellement"; mess[4] = "Tous nos collaborateurs sont occupés pour le moment"; mess[5] = "Tous nos collaborateurs sont occupés pour le moment"; mess[7] = "Un de nos collaborateurs vous répondera immédiatement"; if(ajx.status == 200){ var statu = ajx.responseText; if(statu > 7 || statu < 1){ statu = 0; } if(mess[statu] != ""){ skypestat.innerHTML = mess[statu]; }else{ skypestat.innerHTML = mess[0]; } skypestatimg.src = "res/images/" + "skype" + statu + ".png"; return true; }else{ skypestat.innerHTML = mess[0]; skypestatimg.src = "res/images/" + "skype0.png"; return false; } } }; ajx.open("GET","/res/ajax/statutskype.php",true); ajx.send(null); } } function source(){ alert(document.getElementById('nom').maxlength); } forminscrip = new Formulaire('forminscrip','javascript:validerform(document.getElementById("forminscrip"))','post','inscripok'); // Formulaire.Ajouter(id,nom,type,requis,regexp,lmin,lmax,defaut); forminscrip.Ajouter('nom', '', 'text', true, '^([A-ZÉ][a-zéèëüéîïç]{2,}([- ][A-ZÉ][a-zéèëüéîïç]{2,}){0,})$', '3', '20', ''); forminscrip.Ajouter('prenom', 'prénom', 'text', true, '^([A-ZÉ][a-zéèëüéîïç]{2,}([- ][A-ZÉ][a-zéèëüéîïç]{2,}){0,})$', '3', '20', ''); forminscrip.Ajouter('societe', 'association', 'text', false, '^([A-ZÉÈÜËÎÏa-zéèëüéîïç]{2,}(([ ][0-9]{0,}){0,1}[ ]{0,1}[A-ZÉÈÜËÎÏa-zéèëüéîïç]{2,}){0,})$', '3', '50', ''); forminscrip.Ajouter('email', '', 'text', true, '^([a-zA-Z0-9]{1,}([._-][a-zA-Z0-9]{1,}){0,})[@]([a-zA-Z0-9]{1,}([.-][a-zA-Z0-9]{1,}){0,}[.]){0,}(([a-zA-Z0-9]{3,}|([a-zA-Z0-9]{1,}[-][a-zA-Z0-9]{1,}){1,})([.][a-z]{2,4}){1,2})$', '8', '100', ''); forminscrip.Ajouter('adresse', '', 'text', true, '^([0-9]{0,3}[A-Za-z]{0,1}[,]{0,1}[ ].{1,})|(.{1,}[ ][0-9]{0,3})$', '6', '150', ''); forminscrip.Ajouter('ville', '', 'text', true, '^([Ll]([ae]|es)[ ]){0,1}[A-Z][a-zèïâéêô]{1,15}((([ ](les|Les|la|La|de|De)){0,1}[ ][A-Z][a-zèïâéêô]{1,15})|(([-](les|Les|la|La|de|De)){0,1}[-][A-Z][a-zèïâéêô]{1,15})){0,1}$', '2', '30', ''); // max 21 |11| forminscrip.Ajouter('npa', 'code postal', 'text', true, '^((1200)|(1201)|(1202)|(1203)|(1204)|(1205)|(1206)|(1207)|(1208)|(1209)|(1211)|(1212)|(1213)|(1214)|(1215)|(1216)|(1217)|(1218)|(1219)|(1220)|(1222)|(1223)|(1224)|(1225)|(1226)|(1227)|(1228)|(1231)|(1232)|(1233)|(1234)|(1236)|(1237)|(1239)|(1240)|(1241)|(1242)|(1243)|(1244)|(1245)|(1246)|(1247)|(1248)|(1251)|(1252)|(1253)|(1254)|(1255)|(1256)|(1257)|(1258)|(1281)|(1283)|(1284)|(1285)|(1286)|(1287)|(1288)|(1289)|(1290)|(1292)|(1293)|(1294)|(1295)|(1296)|(1298))$', '4', '4', ''); forminscrip.Ajouter('telephonne', 'téléphonne', 'text', false, '^(([+]|00)(41)([ ]{0,1}[1-9]{2}[ ][0-9]{3}([ ][0-9]{2}){2}|[.]{0,1}[1-9]{2}[.][0-9]{3}([.][0-9]{2}){2}|[1-9]{2}[0-9]{7})|[0][1-9]{2}([0-9]{7}|[./][0-9]{3}([.][0-9]{2}){2}|[ ][0-9]{3}([ ][0-9]{2}){2}))$', '10', '17', ''); validerform = function(formlink){ var reqajx = initajax(); if(!reqajx){return false;} reqajx.onreadystatechange = function(){ if(reqajx.readyState == 4){ if(reqajx.status == 200){ reponsetext = reqajx.responseText; if(reponsetext == '1'){ setcss('forminscriperreur','color','green'); document.getElementById('forminscriperreur').innerHTML = 'L\'inscription s\'est effectuée avec succès'; return true; }else{ setcss('forminscriperreur','color','red'); document.getElementById('forminscriperreur').innerHTML = reponsetext; return false; } }else{ setcss('forminscriperreur','color','red'); document.getElementById('forminscriperreur').innerHTML = 'Le système d\'inscription est indisponible'; return false; } } }; reqajx.open('POST','/res/ajax/inscription.php',true); reqajx.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); var data = ''; for(i=0; i<=(formlink.elements.length-1); i++){ data += formlink.elements[i].id; data += '='; data += formlink.elements[i].value; if(i != formlink.elements.length-1){ data += '&'; } } reqajx.send(data); } function forminscription(){ forminscrip.initialiser(); } formcontact = new Formulaire('formcontact','/section-contacts','post','envoyerdemande'); formcontact.Ajouter('nom', '', 'text', true, '^([A-ZÉ][a-zéèëüéîïç]{1,}([- ][A-ZÉ][a-zéèëüéîïç]{2,}){0,})$', '1', '20', ''); formcontact.Ajouter('prenom', 'prénom', 'text', true, '^([A-ZÉ][a-zéèëüéîïç]{1,}([- ][A-ZÉ][a-zéèëüéîïç]{2,}){0,})$', '1', '20', ''); formcontact.Ajouter('email', '', 'text', true, '^([a-zA-Z0-9]{1,}([._-][a-zA-Z0-9]{1,}){0,})[@]([a-zA-Z0-9]{1,}([.-][a-zA-Z0-9]{1,}){0,}[.]){0,}(([a-zA-Z0-9]{3,}|([a-zA-Z0-9]{1,}[-][a-zA-Z0-9]{1,}){1,})([.][a-z]{2,4}){1,2})$', '8', '100', ''); // formcontact.Ajouter('objet', '', 'select', true, '', '6', '150', ''); formcontact.Ajouter('text', '', 'text', true, '', '20', '0', '30', ''); // max 21 |11| validerformcontact = function(idform){ alert("Salut"); } function formulairecontact(){ formcontact.initialiser(); } dateprec = ""; function h_timer(){ var d=new Date(); var h=d.getHours(); var m=d.getMinutes(); // var s=d.getSeconds(); if (h<10) h="0"+h; if (m<10) m="0"+m; // if (s<10) s="0"+s; //document.getElementById("horloge").innerHTML = h+":"+m+":"+s; if(dateprec != (h+":"+m)){ dateprec = h+":"+m; if(document.getElementById("horloge")){ document.getElementById("horloge").innerHTML = dateprec }else{ erreur("2403","horloge","horloge.js","15","h_timer()","non","non","non"); } } } function getvisibilite(id){ if(!id){return "ERREUR - no id";} return document.getElementById(id).style.visibility; } function setvisibilite(id,valeur){ if(!id){return "ERREUR - no id";} document.getElementById(id).style.visibility = valeur; } function cacher(id){ if(!id){return "ERREUR - no id";} setvisibilite(id,"hidden"); } function afficher(id){ if(!id){return "ERREUR - no id";} setvisibilite(id,"visible"); } function changevisibilite(id){ if(!id){return "ERREUR - no id";} (getvisibilite(id) == "hidden") ? afficher(id) : cacher(id); } function getposition(id,pos,numerique){ if(!id){return "ERREUR - no id";} var objetstyle = document.getElementById(id).style; var top = objetstyle.top; var left = objetstyle.left; if(numerique){ top = parseInt(top); left = parseInt(left); } if(pos == "top"){ return top; }else if(pos == "left"){ return left; }else{ return left+";"+top; } } function setposition(id,left,top){ if(!id){return "ERREUR - no id";} var objetstyle = document.getElementById(id).style; objetstyle.left = left; objetstyle.top = top; } function getdimentions(id,pos,numerique){ if(!id){return "ERREUR - no id";} var objetstyle = document.getElementById(id).style; var width = objetstyle.width; var height = objetstyle.height; if(numerique){ width = parseInt(width); height = parseInt(height); } if(pos == "width"){ return width; }else if(pos == "height"){ return height; }else{ return width+";"+height; } } function setdimentions(id,width,height){ if(!id){return "ERREUR - no id";} var objetstyle = document.getElementById(id).style; objetstyle.width = width; objetstyle.height = height; } /* function writeToLayer(id, content) { // ne marche pas sous Opera if (isIE | isNS6 | isKonqueror) { getLayer(id).innerHTML=content; } else { var doc=getLayer(id).document; doc.write(content); doc.close(); } } function moveLayer(id, x, y) { style=getLayerStyle(id); style.left=x; style.top=y; } */