function getHTTPObject() { var xmlhttp ; /*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP") ; } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") ; } catch (e) { xmlhttp = false ; } } @else xmlhttp = false ; @end @*/ if ((! xmlhttp) && (typeof XMLHttpRequest != 'undefined')) { try { xmlhttp = new XMLHttpRequest() ; } catch (e) { xmlhttp = false ; } } return xmlhttp ; } function traiterRetour(Retour) { var Objet, Composantes, i , Saisir ; // Sous IE, il y a des caracteres parasites non imprimables // en fin du texte de retour -> a eliminer for (i = Retour.length - 1 ; i > 0 ; i--) if (Retour.charCodeAt(i) >= 32) break ; Retour = Retour.substr(0, i + 1) ; if (Debug) { clearDebug() ; debug(Retour) ; } if ( (Retour.toLowerCase().indexOf('404 not found') != -1) || (Retour.toLowerCase().indexOf('page non trouv') != -1)) Retour = 'AFonction non disponible actuellement !' ; if (Retour.toLowerCase().indexOf('parse error') != -1) Retour = 'A' + Retour ; var Ordres = Retour.split('|') ; for (i = 0 ; i < Ordres.length ; i++) { switch (Ordres[i].charAt(0)) { case 'A' : // Message d'alerte javascript alert(Ordres[i].substr(1)) ; break ; case 'B' : // Bloc de donnees d'un formulaire Composantes = Ordres[i].substr(1).split('`') ; for (j = 0 ; j < Composantes.length ; j++) chargerValeur(document.formulaire, Composantes[j]) ; break ; case 'D' : // Bloc de données // Chaque bloc contient des elements decoupes en trois parties, separees par le caractere '`' // - La premiere partie est le nom de la zone // - La seconde est le type (zone HTML, champ, liste de valeurs) // - La troisieme est la valeur elle-meme Composantes = Ordres[i].substr(1).split('`') ; switch (Composantes[1]) { case 'zone' : Objet = getObject(Composantes[0]) ; Objet.innerHTML = Composantes[2] ; break ; case 'champ' : Objet = getObject(Composantes[0]) ; Objet.value = Composantes[2] ; break ; } Composantes = null ; break ; case 'E' : // Message d'erreur HTML Objet = getObject('message_erreur') ; Objet.innerHTML = Ordres[i].substr(1) + '
 ' ; break ; case 'F' : // Focus eval('document.formulaire.' + Ordres[i].substr(1) + '.focus()') ; break ; case 'J' : // Execution de JavaScript eval(Ordres[i].substr(1)) ; break ; case 'M' : // Message d'erreur pour un champ Composantes = Ordres[i].substr(1).split('`') ; Objet = getObject('EC_' + Composantes[0]) ; if (Objet) { Objet.innerHTML = Composantes[1] ; setDisplay(Objet, 'block') ; } Composantes = null ; break ; case 'N' : // Nettoyage du message d'erreur general Objet = getObject('message_erreur') ; Objet.innerHTML = ' ' ; break ; case 'O' : // Nettoyage des messages d'erreur des champs Champs = document.formulaire.elements ; for (j = 0 ; j < Champs.length ; j++) { Objet = getObject('EC_' + Champs[j].name) ; if (Objet) setDisplay(Objet, 'none') ; } break ; case 'R' : // Branchement sur une autre page window.location.href = Ordres[i].substr(1) ; break ; } } document.body.style.cursor = 'default' ; } function recupererValeurs(Formulaire) { var Champs, i , Chaine ; Chaine = '' ; Champs = Formulaire.elements ; for (i = 0; i < Champs.length ; i++) { Chaine += Champs[i].name + ' = ' + Champs[i].type + '\n' ; switch(Champs[i].type) { case 'select-multiple' : // Champs[i].options[Champs[i].selectedIndex].value = "" ; // Champs[i].selectedIndex = 1 ; break ; case 'select-one' : // Champs[i].options[Champs[i].selectedIndex].value = "" ; // Champs[i].selectedIndex = 1 ; break ; case 'text' : // Champs[i].value= "AdminTest" ; break ; case 'textarea' : // Champs[i].value= "AdminTest" ; break ; case 'checkbox' : // Champs[i].checked = true ; break ; case 'radio' : // Champs[i].checked = true ; break ; default : break ; } } } function chargerValeur(Formulaire, Ordre) { var i , Composantes, Champ, Valeurs ; // Un champ qui a l'attribut 'verrouille' ne doit pas etre modifie / vide // Un champ qui a l'attribut 'nonmodifiable' ne doit pas etre bascule en saisissable Composantes = Ordre.split('~') ; Champ = Formulaire.elements[Composantes[0]] ; if (Champ) { switch(Champ.type) { case 'select-multiple' : Valeurs = new Array() ; for (i = 1 ; i < Composantes.length ; i += 2) { if (Composantes[i] == '') break ; Valeurs[Composantes[i]] = Composantes[i + 1] ; Valeurs.length++ ; } chargerListe(Champ, Valeurs, 'RT') ; break ; case 'select-one' : Valeurs = new Array() ; for (i = 1 ; i < Composantes.length ; i += 2) { if (Composantes[i] == '') break ; Valeurs[Composantes[i]] = Composantes[i + 1] ; Valeurs.length++ ; } chargerListe(Champ, Valeurs, 'RT') ; break ; case 'text' : Champ.value = Composantes[1] ; break ; case 'textarea' : Champ.value = Composantes[1] ; break ; case 'checkbox' : Champ.checked = true ; break ; case 'radio' : Champ.value = Composantes[1] ; break ; } /* if ((Formulaire.DROIT.value == 'modifiable') && (! (Champ.attributes['nonmodifiable'] == "undefined"))) initChampTexte(Champ.id, 0, 0, true) ; */ } } function effacerValeurs(Formulaire) { var Champs, i , Chaine ; Champs = Formulaire.elements ; for (i = 0; i < Champs.length ; i++) { switch(Champs[i].type) { case 'select-multiple' : if (! (Champs[i].attributes['verrouille'])) Champs[i].length = 0 ; break ; case 'select-one' : /* Chaine = '' ; for (attribut in Champs[i].attributes) Chaine += attribut + ' - ' + Champs[i].attributes[attribut] + ' / ' ; alert(Chaine) ; */ if (! (Champs[i].attributes['verrouille'])) Champs[i].length = 0 ; break ; case 'text' : if (! (Champs[i].attributes['verrouille'])) Champs[i].value = '' ; break ; case 'textarea' : if (! (Champs[i].attributes['verrouille'])) Champs[i].value = '' ; break ; case 'checkbox' : if (! (Champs[i].attributes['defaut'])) Champs[i].checked = false ; else Champs[i].checked = true ; break ; case 'radio' : // PAS BON !! if (! (Champs[i].attributes['defaut'])) Champs[i].checked = false ; else Champs[i].checked = true ; break ; default : break ; } } } function creer(Formulaire) { if (Formulaire.DROIT.value == 'modifiable') effacerValeurs(Formulaire) ; else alert ('Fonction non autorisee') ; }