// les deux fonctions suivantes ajoutent la propriété outerHTML pour Mozilla
var _emptyTags = {
   "IMG":   true,
   "BR":    true,
   "INPUT": true,
   "META":  true,
   "LINK":  true,
   "PARAM": true,
   "HR":    true
};

//
// fonction ajax principale
//
function getAjax(){ // initialise l'utilisation de l'ajax
 var Ajax = null;
 if(window.XMLHttpRequest) // Firefox et autres
  Ajax = new XMLHttpRequest(); 
 else if(window.ActiveXObject){ // Internet Explorer 
  try {Ajax = new ActiveXObject("Msxml2.XMLHTTP");} 
  catch (e) {Ajax = new ActiveXObject("Microsoft.XMLHTTP");}
 } else { // XMLHttpRequest non supporté par le navigateur 
  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
  Ajax = false;
 } 
    return Ajax;
}
 
// [1] 
// fonction ajax avec requete
//
function loadAjax(div,page,vars){ 
 var Ajax = getAjax();
 // On définit ce qu'on va faire quand on aura la réponse
 Ajax.onreadystatechange = function(){
  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  if(Ajax.readyState == 4 && Ajax.status == 200){
   retour = Ajax.responseText;
   // On met a jour la div transmise
   if(page!=''){
	   document.getElementById(div).innerHTML = retour;
	   //alert(document.getElementById(div).outerHTML);
   }else{document.getElementById(div).innerHTML = '';}
  } else {
   var chargement = '<br><font class=bleu12>chargement en cours...</font><br>&nbsp;';
   document.getElementById(div).innerHTML = chargement;
  }
 }
 // poste la page
 Ajax.open("POST",page,true);
 // ne pas oublier ça pour le post
 Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 // arguments
 //var menu = document.getElementById('journee');
 //var journee = menu.options[menu.selectedIndex].value;
 Ajax.send(vars);
}

function loadAjax2(div,page,vars){ 
 var Ajax = getAjax();
 // On définit ce qu'on va faire quand on aura la réponse
 Ajax.onreadystatechange = function(){
  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  if(Ajax.readyState == 4 && Ajax.status == 200){
   retour = Ajax.responseText;
   // On met a jour la div transmise
   if(page!=''){
	   document.getElementById(div).innerHTML = retour;
	   //alert(document.getElementById(div).outerHTML);
   }else{document.getElementById(div).innerHTML = '';}
  } else {
   var chargement = '<font class=bleu12>chargement en cours...</font>';
   document.getElementById(div).innerHTML = chargement;
  }
 }
 // poste la page
 Ajax.open("POST",page,true);
 // ne pas oublier ça pour le post
 Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 // arguments
 //var menu = document.getElementById('journee');
 //var journee = menu.options[menu.selectedIndex].value;
 Ajax.send(vars);
}

// outerHTML au lieu de inner, pour les niceforms
function loadAjaxNice(div,page,vars){ 
 var Ajax = getAjax();
 // On définit ce qu'on va faire quand on aura la réponse
 Ajax.onreadystatechange = function(){
  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  if(Ajax.readyState == 4 && Ajax.status == 200){
   retour = Ajax.responseText;
   // On met a jour la div transmise
   if(page!=''){
	   // spécial niceforms : on récupère les proppriété de style de l'ancienne balise
	   var styles = document.getElementById(div).style;
	   // on remplace le outer
	   document.getElementById(div).outerHTML = retour;
	   // on remet les styles
	   document.getElementById(div).style.width = styles.width;
	   document.getElementById(div).style.height = styles.height;
	   // comptage 
	   compteurVO();
   }else{document.getElementById(div).innerHTML = '';}
  } else {
   var chargement = '<span class=bleu12>chargement en cours...</span>';
   document.getElementById(div).innerHTML = chargement;
  }
 }
 // poste la page
 Ajax.open("POST",page,true);
 // ne pas oublier ça pour le post
 Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 // arguments
 //var menu = document.getElementById('journee');
 //var journee = menu.options[menu.selectedIndex].value;
 Ajax.send(vars);
}


	
 


 
//////////////////////////////////// CONTROLE CHAMP STANDARD ////////////////////////////
// [6] 
// fonction de controle d'un champ unique
//
// pré-requis : le nom des champs spéciaux doivent correspondre au tests effectués : 
// email (contrôle de cohérence),cp (5 chiffres),telephone (10 chiffres),login (6 char min),pass (6 char min)
// par défaut, on contrôle juste si le champ est vide
// 
// affichage du code erreur : une div doit être présente à côté de chaque champ avec un id comme 'ctl_email' par ex.
//
// ex d'utilisation : <input type="text" name="nom" id="nom" style="width:220px;" onBlur="controle_champ('inscription',this.name);"><span id="ctl_nom" class="rouge12"></span>
//
    function DrawBotBoot()
    {
        document.write(""+ a + " + " + b +" ? ");
    }    
	
	var a = Math.ceil(Math.random() * 10);
    var b = Math.ceil(Math.random() * 10);       
    var c = a + b
    // FIN

  
  
function controle_champ(form,champ){
	var d = document.getElementById('captcha').value;
	var test=document.forms[form].elements[champ].value;
	var span= 'ctl_'+champ;
	var valid=true;
	var message="";
	switch(champ) {
		case 'captcha':
		if(test=='' || d != c){valid=false;message='code non valide'; }
		break;
		case 'email':
			// test de l'email
			var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
			var regex_adresse = new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
			if(test=='' || test.search(regex_adresse)!=0 || test.length>150){valid=false;message=' //// Email non valide';}
		break;
		case 'cp':
			if(isNaN(test) || test.length!=5){valid=false;message='code-postal non valide';}
		break;
		case 'telephone':
			if(isNaN(test) || test.length!=10){valid=false;message='t&eacute;l&eacute;phone non valide';}
		break;
		case 'log':
			if(test.length<6){valid=false;message='login trop court';}
			else {check_login(test,span);}
		break;
		case 'pass':
			var login=document.forms[form].elements['log'].value
			if(test.length<6){valid=false;message='mot de passe trop court';}
			else if(test==login){valid=false;message='identique au login';}
		break;
		default:
			if(test==''){valid=false;message=' //// Champ obligatoire';}
		break;
	}
	if(valid==false){
		document.getElementById(span).className='orange12';
	} else{
		document.getElementById(span).className='grisF12';
	}
	return valid;
}

// validation inscription
function valideform(form){
	// recupération des champs
	controle_champ('inscription','nom');
	var nom =document.getElementById('ctl_nom').className;
	controle_champ('inscription','prenom');
	var prenom = document.getElementById('ctl_prenom').className;
	controle_champ('inscription','number');
	var number = document.getElementById('ctl_number').className;
	controle_champ('inscription','email');
	var email = document.getElementById('ctl_email').className;
	controle_champ('inscription','message');
	var message = document.getElementById('ctl_message').className;
	
	controle_champ('inscription','captcha');
	var captcha = document.getElementById('ctl_captcha').className;
	
	// variable de controle
	var valide = true;
	// controles
	if(nom!='blanc12' || prenom!='blanc12' || email!='blanc12' || captcha!='blanc12') {valide = false;}
	//alert(valide);
	// actions
	if(valide==false){
		document.getElementById('message_form').innerHTML = '<strong>Veuillez corriger les champs en rouge.</strong>'; return false;
	} else {document.getElementById('message_form').innerHTML = ''; 
	return true;
	} 
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
////// FIN CONTROLE FORMULAIRE
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
// controle à validation

var MpreviousZON="mmmenu1";

function Mmontre(Mzone){
	
	if(MpreviousZON!=''){
	document.getElementById(MpreviousZON).style.display="none";
	}
	document.getElementById(Mzone).style.display="block";
	 MpreviousZON=Mzone;
}


var previousZON=""
function montre(zone){
	
	if(previousZON!=''){
	document.getElementById(previousZON).style.display="none";
	}
	document.getElementById(zone).style.display="block";
	 previousZON=zone;
}

function developpe(zone){
	
	if(previousTXT!=""){
	document.getElementById(previousTXT).style.display="none";
	}
	document.getElementById(zone).style.display="block";
	previousTXT=zone;
}

function masque(zone){
document.getElementById(zone).style.display='none'
}

function affiche(zone){
document.getElementById(zone).style.display='block'
}
