function q_FindObj(id) { if (document.getElementById) obj = document.getElementById(id); else if (document.all) obj = document.all[id]; else if (document.layers) obj = document.layers[id]; if ((obj == 'undefined') || (obj == null)) return ''; else return obj; } function q_Log(txt) { q_FindObj('logs').innerHTML = q_FindObj('logs').innerHTML + '
[' + txt + ']'; } var fields = new Array( new Array('0', 'edit_societe', '^[\\S]{2,}$', 'check_societe', new Array(), 0) , new Array('1', 'edit_nom', '^[\\S]{2,}$', 'check_nom', new Array(), 1) , new Array('2', 'edit_prenom', '^[\\S]{2,}$', 'check_prenom', new Array(), 0) , new Array('3', 'edit_adresse', '^[\\n\\r]*[\\S]{2,}', 'check_adresse', new Array(), 1) , new Array('4', 'edit_cp', '^[\\d]{5}$', 'check_cp', new Array('edit_ville'), 1) , new Array('5', 'edit_ville', '^[\\S]{2,}$', 'check_cp', new Array('edit_cp'), 1) , new Array('6', 'edit_telephone', '^((\\+[0-9]{2,3})[ \\.\\-\\/])?([0-9]{1,2})[ \\.\\-\\/]?([0-9]{2})[ \\.\\-\\/]?([0-9]{2})[ \\.\\-\\/]?([0-9]{2})[ \\.\\-\\/]?([0-9]{2})$', 'check_telephone', new Array(), 1) , new Array('7', 'edit_gsm', '^(06)[ \\.\\-\\/]?([0-9]{2})[ \\.\\-\\/]?([0-9]{2})[ \\.\\-\\/]?([0-9]{2})[ \\.\\-\\/]?([0-9]{2})$', 'check_gsm', new Array(), 0) , new Array('8', 'edit_email', '^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$', 'check_email', new Array(), 1) , new Array('9', 'edit_commentaire', '.*', 'check_commentaire', new Array(), 0) , new Array('10', 'edit_prof', '^[\\S]{2,}$', 'check_prof', new Array(), 0) ); function findField(fields, id) { for(var loop = 0; loop < fields.length; loop++) //{ //q_Log(fields[loop][1] + '___'); if (fields[loop][1] == id) return loop; //} return -1; } function checkField(id) { //q_Log(fields[id][2]); var Reg = new RegExp(fields[id][2]), Obj = q_FindObj(fields[id][1]), ObjErr = q_FindObj(fields[id][3]); //q_Log('Obj = "' + Obj.value + '"'); if (fields[id][5] || (Obj.value != '')) { //q_Log('MAND = "' + fields[id][5] + '"'); if (!Reg.test(Obj.value)) { ObjErr.innerHTML = '';//'ERR ' + RegExp; return; } for(var loop = 0; loop < fields[id][4].length; loop++) { //q_Log('_A_' + fields[id][4] + '_'); //q_Log('_B_' + loop + '_' + fields[id][4][loop] + '_'); idx = findField(fields, fields[id][4][loop]); //q_Log('_B2_' + loop + '_' + fields[id][4][loop] + '_'); if (idx >= 0) { //q_Log('_C_' + fields[id][4][loop] + '_' + idx + '_'); //q_Log('_C2_' + fields[id][4][loop] + '_' + idx + '_'); Reg = new RegExp(fields[idx][2]); Obj = q_FindObj(fields[idx][1]); if (!Reg.test(Obj.value)) { ObjErr.innerHTML = '';//'ERR ' + RegExp; return; } } //else q_Log('_D_' + fields[id][4][loop] + '_' + idx + '_KO'); } } ObjErr.innerHTML = '';//'OK'; //q_Log(ObjErr.innerHTML); }