Array.prototype.sum = function() {
  return (! this.length) ? 0 : this.slice(1).sum() +
      ((typeof this[0] == 'number') ? this[0] : 0);
};

var CP = {
 "invalideForm" : {"sonprenom" : "error", "sonemail" : "error", "votreprenom" : "error"},
 "validForm" : function(form){
   form = $('#'+form)[0];

   if ($.trim(form.sonprenom.value) == ""){
     alert(CP.invalideForm.sonprenom);
     return false;
   }

   if (!Std.verifEmail(form.sonemail.value)){
     alert(CP.invalideForm.sonemail);
     return false;
   }

   if ($.trim(form.votreprenom.value) == ""){
     alert(CP.invalideForm.votreprenom);
     return false;
   }

   $('#formSubmitBtn').attr("disabled", "disabled");
   return true;
 },
  "retourForm" : function (responseText, statusText) {
    alert(responseText);
    if (statusText == "success") tb_remove();
  }
/*
,
//javascript:CP.loadGame('fr', 'faut_pas_toucher');tb_remove();
  "loadGame" : function (lang, swf) {
    tb_show(null, '/'+lang+'/service/jeux?height=610&width=995&modal=true&jeu='+swf);
  }
  "pageRetour" : function () {
    if (_url == "/"+_lang+"/"+location.href.split("/"+_lang+"/")[1]) {
      window.history.back(1);
    } else if ( _url.length == 0) {
      location.href = "/"+_lang+"/home";
    } else {
      location.href = _url;
    }
  }
*/
};

var Std = {
  "verifEmail" : function (email) {
    var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/
    return reg.exec(email);
  }
};

var Quizz = {
  currentStep : 0,
  currentQuizz : null,
  totalReponse : [],
  "init" : function (obj) {
    Quizz.currentQuizz = $('#'+obj)[0];
    $('.question-'+Quizz.currentStep).show();
  },
  "selectedItem" : function(elts) {
    var ret = null;
    $(elts).each( function() { if (this.checked && ret == null) ret = this; })
/*
    for (el in elts){
      if (typeof elts[el] != "object") continue;
      if (elts[el].checked == true) return elts[el];
    }
*/
    return ret;
  },
  "stepNext" : function (callback) {
    $('.question-'+Quizz.currentStep).hide();
    Quizz.currentStep++;
    if (callback) {
      callback();
    } else {
      $('.question-'+Quizz.currentStep).show();
    }
  },
  "stepValid" : function () {
    var answer = Quizz.selectedItem(Quizz.currentQuizz['q'+Quizz.currentStep]);
    var goodAnswer = Quizz.currentQuizz['r'+Quizz.currentStep];
    if (answer == null || Quizz.totalReponse[Quizz.currentStep] >= 0) {
      return false;
    }
    $(Quizz.currentQuizz['q'+Quizz.currentStep]).attr("disabled","disabled");
    if (answer.value == goodAnswer.value) {
      Quizz.totalReponse[Quizz.currentStep] = 1;
      $('.question-'+Quizz.currentStep+' .r-true').show();
    } else {
      Quizz.totalReponse[Quizz.currentStep] = 0;
      $('.question-'+Quizz.currentStep+' .r-false').show();
    }
    $('.question-'+Quizz.currentStep+' .comment').show();
  },
  "stepFinal" : function () {
    content = $('#resultat-quizz').html();
    _sum = Quizz.totalReponse.sum();
    _nb_question = Quizz.totalReponse.length;
    _search = ['%%nb-bonne-reponse%%', '%%nb-question%%'];
    _replace = [_sum, _nb_question];
    $(_search).each (
			function (n) {
				var reg = new RegExp(_search[n], "ig");
				content = content.replace(reg, _replace[n]);
			});
    $('#resultat-quizz').html(content);
    $('#resultat-quizz').show();
    if (_sum == _nb_question) {
      $('#resultat-parfait').show();
    } else {
      $('#resultat-moyen').show();
    }
  }
}
