var is_gecko = /gecko/i.test(navigator.userAgent); var is_ie = /MSIE/.test(navigator.userAgent); //Fonction qui test la validité d'un email et renvoi le messge function checkMail(mail,msg) { var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!filter.test(mail)) { alert(msg); return false; } } //Fonction qui test la validité d'un email et renvoi True or False function booCheckMail(mail) { var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!filter.test(mail)) { return false; } else { return true; } } //Fonction qui test si une chaine contient des caractére spéciaux accent et espace (_ permit) function booCheckFieldName(strString) { var filter = /^[A-Za-z_0-9]+$/; if (!filter.test(strString)) { return false; } else { return true; } } //remplace les caractéres spéciaux et numérique dans un champ de formulaire function checkNameForm(obj) { var strString = new String(obj.value); var intPos = new Number(getSelectionStart(obj)); //obj.value = strString.replace(/[0-9&"#'\{\(\[|\-`_\\\^@\)\]=\}\+°²$£¤ù%\*µ\/:!§<>;.?,]/g,''); obj.value = strString.replace(/[^A-Za-z\ \-áåâäàãêéèëíîïìóôöòõûüùúñç]/g,''); setSelectionRange(obj, intPos, intPos); } //controle d'une chaine ( pas de valuer numérique ) function checkString(strString) { if (strString.match('[0-9]')) { return false; } else { return true; } } //remplace les numérique dans un champ de formulaire function checkStringForm(obj) { var strString = new String(obj.value); var intPos = new Number(getSelectionStart(obj)); obj.value = strString.replace(/[0-9]/g,''); setSelectionRange(obj, intPos, intPos); } //Comme son nom l'indique function cleanNumberInString(strString) { strString = strString.replace(/[0-9]/g,''); return strString; } //Passe 1 lettre en majuscule dans un champ de formulaire function majFirstForm(obj) { var strString = new String(obj.value); if (strString.length == 1) { var intPos = new Number(getSelectionStart(obj)); obj.value = strString.toUpperCase(); setSelectionRange(obj, intPos, intPos); } } // Passe 1er lettre en majuscule function majFirst(strString) { var intLength = strString.length; strString = strString.substr(0, 1).toUpperCase() + strString.substr(1, intLength); return strString; } //remplace les non numerique dans un champ de formulaire function checkIntForm(obj) { var strNumber = new String(obj.value); var intPos = new Number(getSelectionStart(obj)); obj.value = strNumber.replace(/[^0-9]/g,''); setSelectionRange(obj, intPos, intPos); } //remplace les non numerique exepté , et . dans un champ de formulaire function checkNumberForm(obj) { var strNumber = new String(obj.value); var intPos = new Number(getSelectionStart(obj)); obj.value = strNumber.replace(/[^0-9,\.]/g,''); setSelectionRange(obj, intPos, intPos); } //Comme son nom l'indique function cleanStringInInt(strNumber) { strNumber = strNumber.replace(/[^0-9]/g,''); return strNumber; } //selectione ce qu'il faut dans input function setSelectionRange(input, start, end) { if (is_gecko) { input.setSelectionRange(start, end); } else { // assumed IE var range = input.createTextRange(); range.collapse(true); range.moveStart('character', start); range.moveEnd('character', end - start); range.select(); } }; function getSelectionStart(o) { if (o.createTextRange) { var r = document.selection.createRange().duplicate() r.moveEnd('character', o.value.length) if (r.text == '') return o.value.length return o.value.lastIndexOf(r.text) } else return o.selectionStart } function getSelectionEnd(o) { if (o.createTextRange) { var r = document.selection.createRange().duplicate() r.moveStart('character', -o.value.length) return r.text.length } else return o.selectionEnd } //Maj en Min function formUpperToMin(obj) { var strString = new String(obj.value); var intPos = new Number(getSelectionStart(obj)); strString = strString.toLowerCase(); obj.value = strString; setSelectionRange(obj, intPos, intPos); } //Min en Maj function formMinToUpper(obj) { var strString = new String(obj.value); var intPos = new Number(getSelectionStart(obj)); var intLength = strString.length; strString = noAccent(strString); strString = strString.toUpperCase(); obj.value = strString; //document.getElementById("xhrJsDebug").innerHTML = '    Pos : ' + intPos + ', Longeur : ' + intLength + ' -> setSelectionRange('+obj.name+', '+intPos+', '+intPos+')'; setSelectionRange(obj, intPos, intPos); } //Controle email saisie function saisieFormMail(obj) { var strString = new String(obj.value); var intPos = new Number(getSelectionStart(obj)); strString = noAccent(strString); strString = strString.toLowerCase(); obj.value = strString; setSelectionRange(obj, intPos, intPos); } //On keyup chang virgule en point function procVirguleToPoint(strSaisi, input) { if (strSaisi.substr(strSaisi.length-1,1) == ",") { input.value = strSaisi.substr(0,strSaisi.length-1)+ "." ; } } //Control le validité d'une date function proCheckDate(strDate, strFormat ) { // Fonction que tes la validité d'un date et si elle existe // Renvoi true ou le msg d'erreur // By Benoit Raux var intAnneMin = new Number(2000); var intAnneMax = new Number(3000); var msg = new String(); switch (strFormat) { case 'AAAA-MM-JJ': var separateur="-"; var j=(strDate.substring(8)); var m=(strDate.substring(5,7)); var a=(strDate.substring(0,4)); var strSep1 = strDate.substring(4,5); var strSep2 = strDate.substring(7,8); break; case 'AAAA-MM-JJ HH:II:SS': var separateur="-"; var j=(strDate.substring(8,10)); var m=(strDate.substring(5,7)); var a=(strDate.substring(0,4)); var strSep1 = strDate.substring(4,5); var strSep2 = strDate.substring(7,8); var booHour = true; var separateur2=":"; var h=(strDate.substring(11,13)); var strSep3 = strDate.substring(13,14); var i=(strDate.substring(14,16)); var strSep4 = strDate.substring(16,17); var s=(strDate.substring(17)); break; case 'JJ/MM/AAAA': var separateur="/"; var j=(strDate.substring(0,2)); var m=(strDate.substring(3,5)); var a=(strDate.substring(6)); var strSep1 = strDate.substring(2,3); var strSep2 = strDate.substring(5,6); break; } var booTest = true; if ( ((isNaN(j))||(j<1)||(j>31)) && (booTest == true) ) { //msg+="Le jour "+j+" n'est pas correct.\n"; msg+="Le jour "+j+" est invalide.\n"; booTest = false; } if ( ((isNaN(m))||(m<1)||(m>12)) && (booTest == true) ) { //msg+="Le mois "+m+" n'est pas correct.\n"; msg+="Le mois "+m+" est invalide.\n"; booTest = false; } if ( ((isNaN(a))||(aintAnneMax)) && (booTest == true) ) { //msg+="L'année "+a+" n'est pas correcte.\n"; msg+="L'année "+a+" est invalide.\n"; booTest = false; } if ( ((strSep1!=separateur)||(strSep2!=separateur)) && (booTest == true) ) { //msg+="Les séparateurs doivent être des "+separateur+".\n"; msg+="Les séparateurs doivent être des "+separateur+".\n"; booTest = false; } if ( ((strSep3!=separateur2)||(strSep4!=separateur2)) && (booTest == true) && (booHour == true) ) { msg+="Les séparateurs d\'heure doivent être des "+separateur2+".\n"; booTest = false; } if ( ((isNaN(h))||(h<0)||(h>24)) && (booTest == true) && (booHour == true) ) { msg+="L'heure "+h+" n'est pas correct.\n"; booTest = false; } if ( ((isNaN(i))||(i<0)||(i>59)) && (booTest == true) && (booHour == true) ) { msg+="La minute "+i+" n'est pas correct.\n"; booTest = false; } if ( ((isNaN(s))||(s<0)||(s>99)) && (booTest == true) && (booHour == true) ) { msg+="La seconde "+s+" n'est pas correct.\n"; booTest = false; } if (booTest == true) { var d2=new Date(a,m-1,j); j2=d2.getDate(); m2=d2.getMonth()+1; a2=d2.getFullYear(); if ( (j!=j2)||(m!=m2)||(a!=a2) ) { //msg+="La date "+strDate+" n'existe pas !\n"; msg+="La date "+strDate+" n'éxiste pas !\n"; booTest = false; } } if ( booTest == true ) { return true; } else { return msg; } } //Control le validité d'une date function proCheckTime(strTime) { // Renvoi true ou le msg d'erreur // By Benoit Raux var msg = new String(); var separateur = ':'; var h=(strTime.substring(0,2)); var strSep3 = strTime.substring(2,3); var i=(strTime.substring(3,5)); var strSep4 = strTime.substring(5,6); var s=(strTime.substring(6,8)); var booTest = true; if ( ((strSep3!=separateur)||(strSep4!=separateur)) && (booTest == true) ) { msg+="Les séparateurs d\'heure doivent être des "+separateur+".\n"; booTest = false; } if ( ((isNaN(h))||(h<0)||(h>24)) && (booTest == true) ) { msg+="L'heure "+h+" n'est pas correct.\n"; booTest = false; } if ( ((isNaN(i))||(i<0)||(i>59)) && (booTest == true) ) { msg+="La minute "+i+" n'est pas correct.\n"; booTest = false; } if ( ((isNaN(s))||(s<0)||(s>99)) && (booTest == true) ) { msg+="La seconde "+s+" n'est pas correct.\n"; booTest = false; } if ( booTest == true ) { return true; } else { return msg; } } function preg_replace (arrayPattern, arrayPatternReplace, stringToConvert) { var strNew = String (stringToConvert); for (i=0; i=0; x--) { if (Combo[x].text==itemText) { trouve=true; } } if (trouve==false) { // add blank row Combo.length++; Combo.options[Combo.length-1].text=itemText; Combo.options[Combo.length-1].value=itemVal; } return true; } function DeleteSelected(Combo) { for (var x=Combo.length-1; x>=0; x--) { if (Combo[x].value != 0 && Combo[x].selected==true) { Combo[x]=null; } } } function procMoveToList(Combo1, Combo2 ) { for (var x=Combo1.length-1; x>=0; x--) { if ( Combo1[x].value != 0 && Combo1[x].selected==true) { AppendToList(Combo2, Combo1[x].text, Combo1[x].value); } } for (var x=Combo1.length-1; x>=0; x--) { if ( Combo1[x] && Combo1[x].selected==true){ DeleteSelected(Combo1); } } } function procMakeHidden(objCombo, objHidden) { var strIdList = new String(''); var intComboLenght = new Number(objCombo.length); var intId = new Number() for ( i=0; i<\/div>'; Modalbox.show(html, {title: 'Alert: ' + document.title, width: intWidth}); } function addOtherThanIn(objInput){ objInput = $(objInput); if(objInput.value=='##_OTHER_##'){ objParent = objInput.up(0); var strIniName = new String(objInput.name); var strIniId = new String(objInput.id); objInput.blur(); new Element.remove(objInput); objNewInput = new Element( 'input', { name: strIniName, id: strIniId, value: '', 'class': 'input_text', type: 'text' } ); objNewInput.onfocus = function(){ this.className='input_text_focus'; } objNewInput.onblur = function(){ this.className='input_text'; } objNewA = new Element( 'a', { href: '#' , id: 'add_other_than_in_temp_link', 'class': 'a_back_to_list', title: 'Retouner à la liste des valeurs' } ); objNewA.onclick = function(){ objNewInput.remove(); $(this).remove(); objParent.appendChild(objInput); objInput.value = ''; return false; } objNewA.update(''); objParent.appendChild(objNewInput); objParent.appendChild(objNewA); objNewInput.focus(); } }