function init(){
  if(getURLParam("email") != ""){
    elem("email").value = getURLParam("email");
  }
  try {
    elem("prenom").focus();
  } catch(e){}

}

/* Retourne la valeur d'un paramètre passé en GET dans l'url de la page */
/* Le nom du paramètre est sensible à la casse */
/* Retourne une chaîne vide si le paramètre n'est pas défini */
function getURLParam(paramName){	
	var t = location.search.substring(1).split('&');
	var f = [];
	for (var i=0; i<t.length; i++){
		var x = t[ i ].split('=');
		if(x[0] == paramName) return x[1];
	}

	return "";
}


function inscription_naissance_changer(texte){
  if(isDateValid(texte) && isBeforeToday(texte)){
    elem('res_naissance').style.color = 'green';
    elem('res_naissance').innerHTML = 'OK :)';
  } else {
    elem('res_naissance').style.color = 'red';
    elem('res_naissance').innerHTML = 'Incorrecte';
  }
}

function inscription_email_changer(texte){
  ajax(1, 'email='+crypte(texte));
}

function inscription_alias_changer(texte){
  ajax(2, 'alias='+crypte(texte));
}

function inscription_pass_changer(texte){
  if(nettoyerVariable(texte).length < 5){
    elem('res_pass').style.color = 'red';
    elem('res_pass').innerHTML = 'Trop court';
  } else {
    elem('res_pass').style.color = 'green';
    elem('res_pass').innerHTML = 'OK :)';
  }
}

function validerInscription(){
  messageInfo("Inscription en cours...");
  elem("btInscription").disabled = true;
  var nom = crypte(elem('nom').value);
  var prenom = crypte(elem('prenom').value);
  var naissance = crypte(elem('naissance').value);
  var eSexe = elem("sexe");
  var sexe = eSexe.options[eSexe.selectedIndex].value;
  var alias = crypte(elem('pseudo').value);
  var email = crypte(elem('email').value);
  var pass = crypte(elem('pass').value);
  var news = (elem('checkNewsletter').checked)?1:0;
  var inviter = (elem('checkInviter').checked)?1:0;
  ajax(45, 'nom='+nom+'&prenom='+prenom+'&sexe='+sexe+'&naissance='+naissance+'&alias='+alias+'&email='+email+'&newsletter='+news+'&pass='+pass);
}

function isDateValid(chaineDate) {
	if (chaineDate == "") return false;
 	var ladate = (chaineDate).split("/");
 	if ((ladate.length != 3) || isNaN(parseInt(ladate[0], 10)) || isNaN(parseInt(ladate[1], 10)) || isNaN(parseInt(ladate[2], 10))) return false;
	var unedate = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]));
	var annee = unedate.getYear();
	if ((Math.abs(annee)+"").length < 4) annee = annee + 1900;
	return ((unedate.getDate() == eval(ladate[0])) && (unedate.getMonth() == eval(ladate[1])-1) && (annee == eval(ladate[2])));
}

function isBeforeToday(dd){
	var d1 = dd.split("/");
	var jj1 = parseInt(d1[0], 10);
	var mm1 = parseInt(d1[1], 10);
	var aa1 = parseInt(d1[2], 10);
	var total1 = (aa1 * 10000) + (mm1 * 100) + jj1;
	
	var maDate = new Date();
	var jj = maDate.getDate();
	var mm = maDate.getMonth() + 1;
	var yy = maDate.getFullYear();
	var total2 = (yy * 10000) + (mm * 100) + jj;
	
	return (total2 > total1);
}




function elem(id){
  return document.getElementById(id);
}

function getCookieInfo(dataName)
{
   var cookieLen = dataName.length;
   var cookieData = document.cookie;
   var allcookieLen = cookieData.length;

   var i = 0;
   var cookieEnd;

   while(i < allcookieLen)
   {
        var j = i + cookieLen;
        if (cookieData.substring(i,j) == dataName)
        {
             cookieEnd = cookieData.indexOf(";", j);
             if (cookieEnd == -1)
             {
                  cookieEnd = cookieData.length;
             }
            return unescape(cookieData.substring(j+1, cookieEnd))
       }
       i++;
   }
   return "";
}

function setCookieInfo(dataName, val){
  var expire = new Date();
  var unAn = expire.getTime() + (365*24*60*60*1000);
  expire.setTime(unAn);
  document.cookie = dataName+"="+val+"; expires=" + expire.toGMTString()+"; domain=.omail.fr; path=/";
}

/**************************************/
/* Traitement résultats requetes  */
/**************************************/

function requeteTerminee(action, reponse){
  //alert(action + ": " + reponse);
  switch(action){
    // Réponse vérification validité email
  	case 1: {
		if(reponse == '0'){
			elem('res_email').style.color = 'red';
			elem('res_email').innerHTML = 'Incorrecte';
		} else if(reponse == '1'){
			elem('res_email').style.color = 'red';
			elem('res_email').innerHTML = 'Déjà inscrite';
		} else if(reponse == 'OK'){
			elem('res_email').style.color = 'green';
			elem('res_email').innerHTML = 'OK :)';
		} else {
			elem('res_email').innerHTML = '';
		}
		break;
	}

	// Réponse vérification validité alias
	case 2: {
		if(reponse == '0'){
			elem('res_pseudo').style.color = 'red';
			elem('res_pseudo').innerHTML = 'Incorrect';
		} else if(reponse == '1'){
			elem('res_pseudo').style.color = 'red';
			elem('res_pseudo').innerHTML = 'Déjà réservé';
		} else if(reponse == 'OK'){
			elem('res_pseudo').style.color = 'green';
			elem('res_pseudo').innerHTML = 'OK :)';
		} else {
			elem('res_pseudo').innerHTML = '';
		}
		break;
	}

  // Réponse validation inscription
  case 45: {
    if(reponse == '2'){
      messageErreur("Erreur", "Mot de passe trop court.");
      elem("btInscription").disabled = false;
    } else if(reponse == '0'){
      messageErreur("Erreur", "Adresse email incorrecte ou déjà utilisée.");
      elem("btInscription").disabled = false;
    } else if(reponse == '1'){
      messageErreur("Erreur", "Pseudo incorrect ou déjà utilisé.");
      elem("btInscription").disabled = false;
    } else if(reponse == '4'){
      messageErreur("Erreur", "Tu dois indiquer ton nom et ton prénom.");
      elem("btInscription").disabled = false;
    } else if(reponse == '5'){
      messageErreur("Erreur", "Tu dois indiquer ton sexe (homme ou femme).");
      elem("btInscription").disabled = false;
    } else if(reponse == '6'){
      messageErreur("Erreur", "Tu dois indiquer ta date de naissance (format JJ/MM/AAAA).");
      elem("btInscription").disabled = false;
    } else if(reponse == '3'){
      messageErreur("Inscription impossible", "Les nouvelles inscriptions sont temporairement impossibles.");
      elem("btInscription").disabled = false;
    } else if(reponse.indexOf('OK') == -1){
      messageErreur("Une erreur s'est produite", "Merci de renouveler l'opération. Si le problème persiste, contacte-nous.");
      elem("btInscription").disabled = false;
    } else {
      // Inscription réussie
      if(elem("checkInviter").checked){
        // Invitation
        makeRequest(36, "omail_invit_new.php?id="+reponse.substring(2));
      } else {
        window.location.href='index.php?nouveau=1';
      }
    
    }
    break;
  }

  // Réponse invitation
  case 36: {
    window.location.href='index.php?nouveau=1';
  }

  }
}



/****************************/
/* Utilitaires divers       */
/****************************/

function messageErreur(titre, texte){
  elem("info").style.display = "none";
  elem("erreur").style.display = "block";
  elem("erreur_titre").innerHTML = titre;
  elem("erreur_message").innerHTML = texte;
}

function messageInfo(texte){
  elem("erreur").style.display = "none";
  elem("info").style.display = "block";
  elem("info_message").innerHTML = texte;
}

function effacerMessages(){
  elem("erreur").style.display = "none";
  elem("info").style.display = "none";
}

function nettoyerVariable(texte){
  var reg=new RegExp("\"", "g");
  return texte.replace(reg,"''");

}

var urlBase = "omail.php";

function ajax(action, params){
  makeRequest(action, urlBase + '?action='+action+'&' + params);
}

function makeRequest(action, url) {
	var httpRequest = false;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/plain');
			// Voir la note ci-dessous à propos de cette ligne
		}
	}
	else if (window.ActiveXObject) { // IE
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}
	
	if (!httpRequest) {
		messageErreur("Ton navigateur n'est pas compatible", "Tu utilises un navigateur internet trop ancien... Nous te conseillons d'installer gratuitement Firefox.");
		return false;
	}
	httpRequest.onreadystatechange = function() { alertContents(action, httpRequest); };
	httpRequest.open('GET', url, true);
	httpRequest.send(null);
}

function alertContents(action, httpRequest) {
	if (httpRequest.readyState == 4) {
		if (httpRequest.status == 200) {
			requeteTerminee(action, httpRequest.responseText);
		} else {
		}
	}
}

function crypte(texte){
  return encodeURIComponent(texte);
}


function viderNoeud(n){
	while(n.hasChildNodes()){
		n.removeChild(n.firstChild);
	}
}
