/* fonction relatives au rollover d'images etc. */
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //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=MM_preloadImages.arguments; 
	for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ 
	d.MM_p[j]=new Image; 
	d.MM_p[j++].src=a[i];}
	}
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}


/* fonctions relatives à l'AJAX utilisé dans les pages */ 
function createXMLHttpRequest() {
	try { return new ActiveXObject("Msxml2.XMLHTTP");    } 
	catch(e) {}                
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } 
	catch(e) {}                
	try { return new XMLHttpRequest();                   } 
	catch(e) {}                
	alert("XMLHttpRequest not supported");               
	return null;
}             




function file(fichier, data)     {   

	if (data){
		xhr_object = createXMLHttpRequest();
		xhr_object.open("POST", fichier, false);
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
		xhr_object.send(data); 
		if(xhr_object.readyState == 4) return(xhr_object.responseText);
		else return(false);    
		
		
	}else{
		xhr_object = createXMLHttpRequest();
		xhr_object.open("POST", fichier, false);
		xhr_object.send(null); 
	
		if(xhr_object.readyState == 4) return(xhr_object.responseText);
		else return(false);    
	}
} 









var crlf = "<br />";



function valide_formulaire(formulaire){
	var existe_erreur = 0;
	erreur_div = document.getElementById("erreur");
	erreur_div.innerHTML = '';
	
	for(key in tableau){
		if (tableau[key] ) {

			message="";
			existe_erreur = 0;
			test_array = tableau[key].split(';');
			
			champ_libelle = key;
			nom_champ = test_array[0];
			obligatoire = test_array[1];
			champ_type = test_array[2];
			champ_minchar = test_array[3];
			
			
			if(document.forms[formulaire][nom_champ]){
				champ_value = valeur_input(document.forms[formulaire][nom_champ]);
			}else{
				champ_value ='';
			}
			
			
			if((champ_value == '') && (obligatoire) ){
				existe_erreur = 1;
				if (champ_type == 'file'){
					existe_erreur = 1;
					message = lang["merci_de_joindre_un_fichier_pour"] + ' ' + champ_libelle ;
				}else{
					message = lang["le_champs"] + ' ' + champ_libelle + ' ' + lang["est_obligatoire"];
					if (champ_minchar > 2){
						message +=" (" + champ_minchar + ' '  + lang['characteres'] + ")";
					}
				}
			}else{
			
				if ((champ_type == 'email') && (!valid_email(champ_value))){
					existe_erreur = 1;
					message = lang["le_champs"] + ' ' + champ_libelle + ' '  + lang['doit_etre_un_email'];
				}else if ((champ_type == 'numeric') && (!is_numeric(champ_value))){
					existe_erreur = 1;
					message = lang["le_champs"] + ' ' + champ_libelle + ' '  + lang['doit_etre_numerique'];
					if (champ_minchar > 2){
					message +=" (" + champ_minchar + ' '  + lang['characteres'] + ")";
					}
				}else if(champ_type == 'file'){
					auth_ext = champ_minchar.split('|');
					ext = champ_value.slice(champ_value.indexOf(".")).toLowerCase();
					in_array = false
					
					for (var i = 0; i < auth_ext.length; i++) {
						if ('.'+auth_ext[i] == ext) { in_array = true }
					}
					if (!in_array){
					existe_erreur = 1;
					message += champ_libelle + ' ' + lang["merci_de_proposer_un_fichier_qui_se_termine_par"] + ' : ' + auth_ext.join("  ");
					}
				}
				
				
				if (champ_value.length < champ_minchar){
					existe_erreur = 1;
					message = lang["le_champs"] + ' ' + champ_libelle + ' '  + lang['doit_contenir'] + ' '  + champ_minchar + ' '  + lang['characteres'];
				}
				
			}
			
			if (existe_erreur == 1){
				//document.getElementById('label_formulaire_'+nom_champ).style.color = '#FF0000';
				erreur_div.innerHTML += message;
				erreur_div.innerHTML += crlf;
			}else{
				//document.getElementById('label_formulaire_'+nom_champ).style.color = '#000000';
			}			
		}
	}
	
	
	if(erreur_div.innerHTML  == ''){
		document.forms[formulaire].submit();
	}
}








function LimitAttach(form, file) {
    extArray = new Array(".jpg", ".png", ".bmp");
    allowSubmit = false;
    if (!file) return;
    while (file.indexOf("\\") != -1)
    file = file.slice(file.indexOf("\\") + 1);
    ext = file.slice(file.indexOf(".")).toLowerCase();
    for (var i = 0; i < extArray.length; i++) {
    if (extArray[i] == ext) { allowSubmit = true; break; }
    }
    if (allowSubmit) return true;
    else
    alert("Please only upload files that end in types:  "
    + (extArray.join("  ")) + "\nPlease select a new "
    + "file to upload and submit again.");
    return false;
}


function valid_email(mail){
	if (mail.length < 1){
		return false;
	}else{
		if ((mail.indexOf("@")>=0)&&(mail.indexOf(".")>=0)) {
			return true;
		}else{
			return false;
		}
	}
}

function is_numeric(valeur) {
numChars = "0123456789";
var isNum = true;
var index = 0;
while ((index < valeur.length) && (isNum))
     {
     isNum = (numChars.indexOf(valeur.charAt(index)) != -1);
     index ++;
     }
return isNum;
}

function valeur_input(objet){
	col_name = objet.name;
	col_value = escape(objet.value);
	
	if (objet.type == 'checkbox' ) {
		col_value = (objet.checked == true ) ? 1 : 0 ;
	}else if (objet.type == 'file' ) {
		col_value = objet.value;
	}else{
		Nom = navigator.appName;
		Version = navigator.appVersion;
			ns = (Nom == 'Netscape') ? 1:0
			ie = (Nom == 'Microsoft Internet Explorer') ? 1:0
			if ((ie)&&(objet.type == 'textarea') ) {col_value = escape(objet.firstChild.data);}
		}

	return col_value;	
}








