$(document).ready(initInscription);
var _serveur = 1;
var _pseudo = "";
var _equipe;
var _nomEquipe;
var interval;
var _etape = 1;
var _sexe;
var _email;
var _parrain;
var _isEmailOk = false;
var _isPasswordOk = false;
function initInscription(){
  if(window.parent.document.getElementById("subPseudo")){
    _pseudo = window.parent.document.getElementById("subPseudo").value;
  }else if($.url.param("pseudo") != undefined){
    _pseudo = $.url.param("pseudo");
  }
  $("#pseudo").val(_pseudo);
  $("#pseudo").attr("readonly", "").attr("disabled", "");
  $("#equipeMusique, #detailsEquipe .equipe, #detailsEquipe, #presentation, #titreEquipe").hide();
  $(".lien_equipe").click(clickEquipe);
  $("#choix_sexe .lien_sexe").click(clickSexe);
  $("#pseudo").keyup(changePseudo);
  $("#pseudo").keydown(verrouPseudo);
  $("#email").keyup(changeEmail);
  $(".btn_suite").click(function(){ gotoEtape(_etape+1) });
  $(".btn_retour").click(function(){ gotoEtape(_etape-1); });
  $("#password2").blur(changePassword);
  $("#compte_suite").click(clickSuiteCompte);
  $("#chargement, #chargement_email, #chargement_parrain").hide();
  gotoEtape(_etape);
  if(_pseudo!="")
    changePseudo();
  $("#form_inscription").submit(submitForm);
  $("#submit_inscription").click(clickSubmit);
  $("#parrain").keyup(changeParrain);
};
function verrouPseudo(){
  $("#presentation, #titreEquipe").hide();
}
function changePseudo(){
  clearInterval(interval);
  $("#chargement").css("display", "inline");
  $("#pseudo_msg").html("").removeClass("confirm").removeClass("error");
  interval = setInterval("verifPseudo()", 400);
};
function changeEmail(){
  clearInterval(interval);
  $("#chargement_email").css("display", "inline");
  $("#email_msg").html("").removeClass("confirm").removeClass("error");
  $("#s_pseudo").html("").removeClass("s_confirm").removeClass("s_error");
  interval = setInterval("verifEmail()", 400);
};
function verifPseudo(){
  clearInterval(interval);
  _pseudo = $("#pseudo")[0].value;
  if(_pseudo.length < 2){
    $("#pseudo_msg").html("le pseudo doit contenir au moins 2 caract&egrave;res.").removeClass("confirm").addClass("error");
    $("#s_pseudo").removeClass("s_confirm").addClass("s_error");
    $("#presentation, #titreEquipe").hide(200);
    $("#chargement").hide();
  }else{
    if(!/^[a-zA-Z0-9_-]+$/.test(_pseudo)){
        $("#pseudo_msg").html("le pseudo ne doit contenir aucun caract&egrave;re sp&eacute;cial.").removeClass("confirm").addClass("error");
        $("#s_pseudo").removeClass("s_confirm").addClass("s_error");
        $("#presentation, #titreEquipe").hide(200);
        $("#chargement").hide();
    }else{
        $.post(WEBSERVICE_URL+"joueur/pseudoExiste.json/"+_pseudo+"/"+_serveur, null, retourPseudo, "json");
    }
  }
};
function verifEmail(){
  clearInterval(interval);
  _email = $("#email")[0].value;
  if(isEmail(_email)){
    $("#email_msg").html("").removeClass("confirm").removeClass("error");
    $("#s_email_msg").removeClass("s_confirm").removeClass("s_error");
    $("#chargement_email").css("display", "inline");
    $.post(WEBSERVICE_URL+"joueur/emailExiste.json/"+_email+"/"+_serveur, null, retourEmail, "json");
    _isEmailOk = true;
    _email = $("#email")[0].value;
  }else{
    $("#email_msg").html("l'adresse email indiquée n'est pas une adresse valide !").addClass("error").removeClass("confirm");
    $("#s_email").addClass("s_error").removeClass("s_confirm");
    _isEmailOk = false;
    $("#chargement_email").hide();
  }

};
function retourPseudo(retour){
    $("#chargement").hide();
    if(retour.response){
        $("#pseudo_msg").html("ce pseudo est d&eacute;j&agrave; utilis&eacute;").removeClass("confirm").addClass("error");
        $("#s_pseudo").removeClass("s_confirm").addClass("s_error");
        $("#presentation, #titreEquipe").hide(200);
    }else{
        $("#pseudo_msg").html("").removeClass("error").addClass("confirm");
        $("#s_pseudo").html("").removeClass("s_error").addClass("s_confirm");
        $("#presentation, #titreEquipe").show(200);
    }
};
function retourEmail(retour){
    $("#chargement_email").hide();
    if(retour.response){
        $("#email_msg").html("cet email est d&eacute;j&agrave; utilis&eacute;").removeClass("confirm").addClass("error");
        $("#s_email").removeClass("s_confirm").addClass("s_error");
        _isEmailOk = false;
    }else{
        $("#email_msg").html("").removeClass("error").addClass("confirm");
        $("#s_email").removeClass("s_error").addClass("s_confirm");
        _isEmailOk = true;
    }
};
function gotoEtape(numEtape){
    var etapeBackup = _etape;
    _etape = numEtape;
    switch(numEtape){
      case 1:
        $("#pseudo").attr("readonly", "").attr("disabled", "").css("background", "").keyup(changePseudo);
      break;
      case 3:
        if(etapeBackup < 3){
          $("#email").val('');
          $("#password").val('');
          verifParrain();
        }
      case 5:
          $("#recap_pseudo").html(_pseudo);
          $("#recap_equipe").html(_nomEquipe);
          $("#recap_sexe").html(_sexe);
          $("#recap_email").html(_email);
          if(_parrain.length > 1)
            $("#recap_parrain").html(_parrain);
          else
            $("#recap_parrain").html('<em>aucun parrain</em>');
      break;
    }
    $("div[id^=etape]").hide();
    $("#etape"+numEtape).show(100);
};

function clickEquipe(){
    _equipe = $(this).attr("rel");
    _nomEquipe = $(this).html();
    $("#input_equipe")[0].value = _equipe;
    $("#pseudo").attr("readonly", "readonly").css("background", "#C5D59E").unbind('keyup', changePseudo);
    $("#presentation").hide(200);
    gotoEtape(2);
};

function clickSexe(){
  gotoEtape(3);
  _sexe = $(this).attr("rel");
  $("#input_sexe")[0].value = _sexe;
};

function changePassword(){
  if($("#password")[0].value.length <= 5){
    $("#password_msg").html("Attention, votre mot de passe doit faire plus de 5 caractères").addClass("error");
    _isPasswordOk = false;
  }else if($("#password")[0].value != $("#password2")[0].value){
    $("#password_msg").html("Attention vous avez saisi deux mots de passe différents").addClass("error");;
    _isPasswordOk = false;
  }else{
    $("#password_msg").html("");
    _isPasswordOk = true;
  }
};
function clickSuiteCompte(){
  if(_isPasswordOk && _isEmailOk){
    gotoEtape(4);
  }else{
    changePassword();
  }
};
function submitForm(){
  return false;
}
function clickSubmit(){
  $("#form_inscription").unbind("submit", submitForm);
  $("#form_inscription").submit();
}
function changeParrain(){
  clearInterval(interval);
  $("#chargement_parrain").css("display", "inline");
  $("#parrain_msg").html("").removeClass("confirm").removeClass("error");
  interval = setInterval("verifParrain()", 400);
}
function verifParrain(){
  clearInterval(interval);
  _parrain = $("#parrain").val();
  if(_parrain.length > 2){
    if(!/^[a-zA-Z0-9_-]+$/.test(_parrain)){
        $("#parrain_msg").html("le pseudo de votre parrain ne doit contenir aucun caract&egrave;re sp&eacute;cial.").removeClass("confirm").addClass("error");
        $("#s_parrain").removeClass("s_confirm").addClass("s_error");
        $("#chargement_parrain").hide();
    }else{
        $.post(WEBSERVICE_URL+"joueur/pseudoExiste.json/"+_parrain+"/"+_serveur, null, retourParrain, "json");
    }
  }else{
    $("#s_parrain").removeClass("s_confirm").removeClass("s_error");
        $("#chargement_parrain").hide();
  }
};
function retourParrain(retour){
    $("#chargement_parrain").hide();
    if(retour.response){
        $("#parrain_msg").html("").removeClass("error").addClass("confirm");
        $("#s_parrain").html("").removeClass("s_error").addClass("s_confirm");
    }else{
        $("#parrain_msg").html("Ce joueur n'existe pas, assurez vous de la syntaxe ou laissez ce champ vide").removeClass("confirm").addClass("error");
        $("#s_parrain").removeClass("s_confirm").addClass("s_error");
    }
};