// Valide le formulaire avant envoi 
// src http://www.editeurjavascript.com/scripts/scripts_formulaires_3_568.php
 
function Validation_Form(q, id, nav, actif){
	var currentTime = new Date();
	var chx = "";
	//Boucle sur les inputbox de la page
	var inputs=document.getElementsByTagName("input");
	for (var i=0; i < inputs.length; i++){
		if(inputs[i].checked){
			chx = chx + inputs[i].id;
		}
	}
	//On teste que l'utilisateur a bien coché au moins une case
	if(chx.length>0){
		//On travaille de manière synchrone ou asynchrone
		if(nav == 'ie6'){
			Ajax_Update_Page('q='+q+'&chx='+chx+'&actif='+actif+'&id='+id+'&'+currentTime.getTime(),'display_answers.php','GET','ajax_resp', 'false');
			//On travaille de maniere synchrone pour laisser le tempas à ie6 de faire suivre l'anim en bas de DIV
			var o_illustration = document.getElementById("illustration");
			o_illustration.style.bottom = 0; 
		}else{
			Ajax_Update_Page('q='+q+'&chx='+chx+'&actif='+actif+'&id='+id+'&'+currentTime.getTime(),'display_answers.php','GET','ajax_resp', 'true');
		}
	}

}

function Allow_Validation(q,n, actif) {
	var currentTime = new Date();
	var chx = "";
	//Vide la box de la reponse
	document.getElementById("ajax_resp").innerHTML = "";
	//Regarde si il y a au moins une case de cochée
	var inputs=document.getElementsByTagName("input");	
	for (var i=0; i < inputs.length; i++){
		if(inputs[i].checked){
			if(n>1){
				chx = chx + inputs[i].id;
				Ajax_Update_Page('q='+q+'&chx='+chx+'&actif='+actif+'&'+currentTime.getTime(),'update_questions.php','GET','ajax_quest', 'true');
			}			
		}
	}

}
function Allow_Started_Validation() {
	//Regarde si il peut valider la page
	var ok = false;
	var o_input = document.getElementById("age");
	if(o_input.value == ""){
		alert("Vous devez renseigner votre \xE2ge");
		ok = false;
		return;
	}else{
		ok = true;
	}
	if(isNaN(parseInt(o_input.value))){
		alert("Vous devez renseigner votre \xE2ge avec un nombre");
		ok = false;
		return;
	}else{
		ok = true;
	}
	if((parseInt(o_input.value) < 0) || (parseInt(o_input.value) > 120)){
		alert("\xE2ge non valide");
		ok = false;
		return;
	}else{
		ok = true;
	}
	var selects=document.getElementsByTagName("select");	
	for (var i=0; i < selects.length; i++){
		//On test si le premier element 'none' est selectionné
		if(selects[i].options[0].selected == true){
			alert("Vous devez renseigner votre situation actuelle");
			ok = false;
			return;
		}else{
			ok = true;
		}
	}
	//Soumet le questionnaire
	if(ok){
		document.form_usr_info.submit();
	}	
}

function Update_Listbox(obj) {
	var currentTime = new Date();
	Ajax_Update_Page('v='+obj.value+'&'+currentTime.getTime(),'update_csp.php','GET','ajax_csp', 'true');
}

// http://qwix.media-box.net/index.php/2005/01/21/45-XmlhttprequestEtPhp#c706
// Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest 

function Ajax_Update_Page(data, page, method, idobj, sync) 
{ 
	if(document.all){
       
        //Car document.all detect IE et OPERA http://www.javascriptkit.com/javatutors/objdetect3.shtml
        if(window.opera){
			//Opera
			var XhrObj = new XMLHttpRequest(); 
		}else{
			//Internet Explorer 
			var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
		} 
    }//fin if 
    else 
    { 
        //Mozilla 
        var XhrObj = new XMLHttpRequest(); 
    }//fin else 
     
    //définition de l'endroit d'affichage: 
    var content = document.getElementById(idobj); 
     
    //si on envoie par la méthode GET: 
    if(method == "GET") 
    { 
        if(data == 'null') 
        { 
            //Ouverture du fichier sélectionné: 
            XhrObj.open("GET", page, sync); 
        }//fin if 
        else 
        { 
            //Ouverture du fichier en methode GET 
            XhrObj.open("GET", page+"?"+data , sync); 
        }//fin else 
    }//fin if 
    else if(method == "POST") 
    { 
        //Ouverture du fichier en methode POST 
        XhrObj.open("POST", page, sync); 
    }//fin elseif 

    //Ok pour la page cible 
    XhrObj.onreadystatechange = function() 
    { 
        if (XhrObj.readyState == 4 && XhrObj.status == 200){ 
            content.innerHTML = XhrObj.responseText;
	} 
    }     

    if(method == "GET") 
    { 
        XhrObj.send(null); 
    }//fin if 
    else if(method == "POST") 
    { 
        XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
	XhrObj.send(data); 
    }//fin elseif 
}//fin fonction

function Ajax_Eval_Page (data, page, method) { 
	if(document.all) {       
        //Car document.all detect IE et OPERA http://www.javascriptkit.com/javatutors/objdetect3.shtml
        	if(window.opera){
			//Opera
			var XhrObj = new XMLHttpRequest(); 
		}else{
			//Internet Explorer 
			var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
		} 
    	}else { 
        	//Mozilla 
        	var XhrObj = new XMLHttpRequest(); 
    	}//fin else 
     
    //si on envoie par la méthode GET: 
    if(method == "GET") { 
        if(data == 'null') 
        { 
            //Ouverture du fichier sélectionné: 
            XhrObj.open("GET", page); 
        }//fin if 
        else 
        { 
            //Ouverture du fichier en methode GET 
            XhrObj.open("GET", page+"?"+data); 
        }//fin else 
    }//fin if 
    else if(method == "POST") { 
        //Ouverture du fichier en methode POST 
        XhrObj.open("POST", page); 
    }//fin elseif 

    //Ok pour la page cible 
    XhrObj.onreadystatechange = function() { 
        if (XhrObj.readyState == 4 && XhrObj.status == 200){ 
            eval(XhrObj.responseText);
	} 
    }     
    if(method == "GET") { 
        XhrObj.send(null); 
    }//fin if 
    else if(method == "POST") { 
        XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
        XhrObj.send(data); 
    }//fin elseif 
}//fin fonction

