//******************************************************************************
// Fonction pour ne permettre que la saisie des nombres dans un formulaire
//******************************************************************************
function checkNombre(event)
{
  nie = (event.which);
  if (nie)
    code = event.which;
  else
    code = event.keyCode;
  res = ((code < 45 || code > 57) && (code != 127) && (code != 8));
  if (nie)
    return !res;
  else
    event.returnValue = !res;
  return true;
}

//******************************************************************************
// Fonction qui vérifie qu'un email est bien écrit
//******************************************************************************
function verifMail(email)
{
  var usr    = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
  var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
  var regex  = "^" + usr + "\@" + domain + "$";

  var rgx    = new RegExp(regex);
  return rgx.exec(email) ? true : false;
}

//******************************************************************************
// Fonction qui affiche le bon texte pour le jeu en fonction du mode
//******************************************************************************
function changeModeCode(numero, consigne, tarif, idmethode)
{
  obj = document.getElementById('regleAppel');
  obj.innerHTML = consigne + '<br/><span class="numeroAppel">' + numero + ' *</span>';

  obj = document.getElementById('montantAppel');
  obj.innerHTML = '* ' + tarif;

  obj = document.getElementById('idmethode');
  if (obj != null) {
    obj.value = idmethode;
  }

  obj = document.getElementById('image_methode');
  if (obj != null) {
    switch(idmethode){
      case 1: img = 'mobiletrend.gif'; break;
      case 2: img = 'monelib.gif'; break;
      case 3: img = 'allopass.png'; break;
      case 4: img = 'cellpass.png'; break;
    }
    obj.src = 'images/' + img;
  }

  return false;
}

//******************************************************************************
// Fonction qui affiche le chrono
//******************************************************************************
function afficheSpy()
{
  spy_reste--;
  seconde = spy_reste;
  document.getElementById('spychrono').innerHTML = 'Temps restant<br/>' + seconde;

  if (spy_reste > 0)
    chrono = setTimeout('afficheSpy()',1000);
  else
  {
    alert('Le spy mode est terminé !');
  }
}

//******************************************************************************
// Fonctions pour le live
//******************************************************************************
var xhr_object = null;
function getlive()
{
  appelAjax(null, 'ajax_live.php', true, callbackLive);
  setTimeout('getlive()',5000) //la fonction est relancée
}

//******************************************************************************
var callbackLive = function getCallbackLive()
{
  if ((xhr_object.readyState == 4))
  {
    s = xhr_object.responseText;
    if (s != '')
    {
      var obj = document.getElementById('livebloc');
      if (obj != null)
        obj.innerHTML = s;
    }
  }
}


//******************************************************************************
function appelAjax(obj, url, retour, fn)
{
  if (xhr_object == null)
    if(window.XMLHttpRequest)
      xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject)
      xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
      return true;

  xhr_object.open("GET", url, true);
  if (retour)
    xhr_object.onreadystatechange = fn;
  xhr_object.send(null);

  return false;
}

//******************************************************************************
function fermePop()
{
  document.getElementById('popfond').style.display = 'none';
  document.getElementById('popbulle').style.display = 'none';
  return false;
}

//******************************************************************************
var idxPop = 0;
function nextPop()
{
  document.getElementById('messageintro' + idxPop).style.display = 'none';
  idxPop++;
  obj = document.getElementById('messageintro' + idxPop);
  if (obj) obj.style.display = '';
  document.getElementById('messageintro_prev').style.display = '';
  document.getElementById('messageintro_suiv').style.display = document.getElementById('messageintro' + (idxPop+1))?'':'none';
  document.getElementById('messageintro_numero').innerText = idxPop+1;
  return false;
}

function prevPop()
{
  document.getElementById('messageintro' + idxPop).style.display = 'none';
  idxPop--;
  obj = document.getElementById('messageintro' + idxPop);
  if (obj) obj.style.display = '';
  document.getElementById('messageintro_prev').style.display = idxPop > 0?'':'none';
  document.getElementById('messageintro_suiv').style.display = '';
  document.getElementById('messageintro_numero').innerText = idxPop+1;
  return false;
}

//******************************************************************************
// Conception Django (Oznog) Blais
// 8 décembre 1997 - MAJ : 11 juin 2005 // Copyright © 2005 Trucsweb.com
// http://www.trucsweb.com

var nBanDelais = 5; // Délais de la rotation
aBannieres = new Array(); // Bannières
aBannieres[0] = new twBanniere('http://www.appel-mania.com/spymode.php','http://www.appel-mania.com/bannieres/espion.gif','Mode Espion');
aBannieres[1] = new twBanniere('http://www.appel-mania.com','http://www.appel-mania.com/bannieres/46860.gif','Inscription');
aBannieres[2] = new twBanniere('http://www.appel-mania.com/parrainage.php','http://www.appel-mania.com/bannieres/parrainage.gif','Parrainage');
aBannieres[3] = new twBanniere('http://www.appel-mania.com/top_joueurs.php','http://www.appel-mania.com/bannieres/cagnottev2.gif','La Cagnotte');

// Ne pas modifier le code suivant
function twBanniere(_url,_src,_texte) {
  this.url=_url;this.src=_src;this.texte=_texte;
}

function twRotation(){
  nBanPos=(nBanPos<nBanMax-1)?nBanPos+1:0;
  if (document.all){
    document.images["twban"].style.filter="blendTrans(duration=2)";
    document.images["twban"].style.filter="blendTrans(duration=CrossFadeDuration)";
    document.images["twban"].filters.blendTrans.Apply();
  }
  document.images["twban"].src=aBannieres[nBanPos].src;
  if (document.all) document.images["twban"].filters.blendTrans.Play();
  oTimer = setTimeout('twRotation()',nBanDelais*1000);
}
var nBanPos = 0;
var oTimer;
var nBanMax = aBannieres.length;



//******************************************************************************
//******************************************************************************
var MinCaracteres = 6; // Nombre minimum de caratères du mot de passe
var CaracteresSecurite = 7; // Nombre de caractères correct pour un mot de passe
var SecuriteBouton = 2; // Niveau de sécurité pour dévérouiller le bouton Faible : 1, Moyen : 2, Fort : 3

function NiveauSecurite(pwd)
{
  if (IsStrong(pwd))
  {
    document.getElementById("niveau_securite").innerHTML = '<span class="sforte">Sécurité forte</span>';
	  document.getElementById("btnValider").disabled = false;
  }
  else if (IsMedium(pwd))
  {
    document.getElementById("niveau_securite").innerHTML = '<span class="smoyen">Sécurité moyenne</span>';
    if (SecuriteBouton<=2)
      document.getElementById("btnValider").disabled = false;
    else
      document.getElementById("btnValider").disabled = true;39.
  }
  else if (IsWeak(pwd))
  {
    document.getElementById("niveau_securite").innerHTML = '<span class="sfaible">Sécurité faible</span>';
    if (SecuriteBouton<=1)
      document.getElementById("btnValider").disabled = false;
    else
  	  document.getElementById("btnValider").disabled = true;
  }
  else
  {
    document.getElementById("niveau_securite").innerHTML = '<span class="sfaible">Sécurité médiocre</span>';
    document.getElementById("btnValider").disabled = true;
  }
}

function IsStrong(pwd)
{
	if (pwd.length < CaracteresSecurite)
		return false;
	else
	{
    if (!SpansAtLeastNCharacterSets(pwd,3))
     	return false;
    else
      return true;
  }
}

function IsMedium(pwd)
{
	if (pwd.length < CaracteresSecurite)
		return false;
	else
	{
    if (!SpansAtLeastNCharacterSets(pwd,2))
     	return false;
    else
	    return true;
	}
}

function IsWeak(pwd)
{
  return (pwd.length >= (MinCaracteres));
}

function SpansAtLeastNCharacterSets( word, N)
{
// Calcul les différents types de caractères du mot de passe
// word : mot de passe, N : Nombre minimun de types de caractère différents pour retour à vrai
	if (word == null)
		return false;

	var csets = new Array(false,false,false,false);

	ncs = 0;
	var listeNombre = "0123456789";
	var listeCaractereSpe = "&é'(-è_çà)=*ù!:;,?./§-+<>$£µ%"+'"';
  for (i = 0; i < word.length; i++)
	{
    c = word.charAt(i);
		if (listeNombre.indexOf(c)>=0)
  	{
  		// caractère numérique
			if (csets[0] == false)
			{
				csets[0] = true;
				ncs++;
				if (ncs >= N)
					return true;
			}
		}
		else if (listeCaractereSpe.indexOf(c)>=0)
		{
  		// caractère spécial
			if (csets[1] == false)
			{
				csets[1] = true;
				ncs++;
				if (ncs >= N)
					return true;
			}
		}
		else if (c.toUpperCase() ==c)
		{
  		// caractère en Majuscule
			if (!csets[2])
			{
				csets[2] = true;
				ncs++;
				if (ncs >= N)
					return true;
			}
			continue;
		}
		else if (c.toLowerCase() ==c)
		{
  		// caractère en Minuscule
			if (!csets[3])
			{
				csets[3] = true;
				ncs++;
				if (ncs >= N)
					return true;
			}
		}
	}
	return false;
}
