var lNUMS = new Array();

var lDisplayNUMS = new Array();

var nav = navigator.appName;

var version = parseFloat(navigator.appVersion);

var ua = navigator.userAgent.toLowerCase();

var OS;

var NBROWS;



function manageTel (act) {

    if (act == "add") {

        if (document.formulaire.NUMTEL.value == "") {

            alert ("Veuillez saisir une numéro de destinataire");

            return;

        } else {

            if(limitDests() && verifNum(document.formulaire.NUMTEL.value)) {

                lNUMS.push(Array(document.formulaire.NUMTEL.value)); // prenom, nom, num

	            lDisplayNUMS.push(document.formulaire.NUMTEL.value);

	            document.formulaire.NUMTEL.value = "06";

	            document.formulaire.TEL.value = "";

	            setList();

            }

        }

    }

    else if (act == "rem") {

        if (document.formulaire.TEL.value == "") {

            alert ("Veuillez sélectionner un numéro");

            return;

        }

        else {

            lNUMS.splice(eval(document.formulaire.TEL.value), 1);

            lDisplayNUMS.splice(eval(document.formulaire.TEL.value), 1);

            document.formulaire.TEL.value = "";

	        setList();

        }

    }

}



/**

 * V?rifie si le nombre de destinataires autoris?s est d?pass?

 * @return boolean

 */

function limitDests() {

  if(nbDestInList() >= 10)

  {

    alert("10 destinataires maximum");

    return false;

  }

  else return true;

}



// retourne le nombre de destinataires de la liste

function nbDestInList()

{

    return lNUMS.length;

}



var lNUMS = new Array();

var lDisplayNUMS = new Array();





function setList () {

  if (isMSIE() && isMAC()) {

    //for (i = 0; i < lNUMS.length; i++)

    //      document.all.listNums.innerHTML = document.all.listNums.innerHTML + "<span id='" + String(i) + "'><a href='javascript:setTel(" + i + ")'>" + lNUMS[i] + "<\/a><\/span>\n";

  }

  else {

    document.getElementById("listNums").innerHTML = "";

    for (i = 0; i < lDisplayNUMS.length; i++)

      document.getElementById("listNums").innerHTML = document.getElementById("listNums").innerHTML + "<span id='" + String(i) + "'><a class='sel_num_tel' href='javascript:setTel(" + i + ")'>" + lDisplayNUMS[i] + "<\/a><br><\/span>";

  }

}





function isMSIE() {

  return (nav == "Microsoft Internet Explorer");

}

function isMAC() {

  return (OS == "macppc");

}



function setTel (num) {

  if (document.formulaire.TEL.value != "") document.getElementById(document.formulaire.TEL.value).className = "";

  document.formulaire.TEL.value = num;

  document.getElementById(num).className = "current";

}



// V?rifie la validit? du num?ro pass? en param?tre

function verifNum(num)

{

    if(trim(num) == '') {

        alert("Numéro de mobile incorrect.");

        return false;

    } else if (isNaN(num)) {

        alert("Numéro de mobile incorrect.");

        return false;

    } else {

        if(!isMobile(num)) {

            return false;

        }

    }

    return true;

}





// V?rifie si le num?ro pass? en param?tre est un mobile

function isMobile(num)

{

  var indicatif = num.substring(0,2);

  var mobileIndicatif = '06';

  var numFrance = (document.formulaire.NUMTEL.value.substr(0,3) == '+33');



  if (num.substr(0,1) == '+')

  {

      indicatif = num.substring(0,4);

      mobileIndicatif = '+336';

      if (indicatif != mobileIndicatif)

      {

          alert("Indicatif du numéro de mobile incorrect.");

          return false;

      }

      else

      {

        if ( (num.length - 2) != '10' )

        {

            alert("Numéro de mobile incorrect.");

            return false;

        }

        else return true;

      }

  }

  else

  {

      if ( (num.substring(0,2) != '06') )

      {

          alert("Numéro de mobile incorrect.");

          return false;

      }

      if (num.length != '10')

      {

          alert("Numéro de mobile incorrect.");

          return false;

      }

      return true;

  }

}





function update_message()

{

	messageLen = document.formulaire.MSG.value.length + document.formulaire.SIGN.value.length ; 
	if (document.formulaire.SIGN.value.length>0)
	{
		messageLen = messageLen +1; //pour l'espace
	}

	document.formulaire.NBCAR.value = messageLen;

	document.formulaire.NBSMS.value = parseInt(messageLen / 160) + 1;

	if (messageLen % 160 == 0)

	{

		document.formulaire.NBSMS.value = document.formulaire.NBSMS.value - 1;

	}

	if (document.formulaire.NBSMS.value == 3)

	{
		var toskip = 320-document.formulaire.SIGN.value.length;
		if (document.formulaire.SIGN.value.length>0)
		{
			toskip = toskip-1;
		}
		document.formulaire.MSG.value = document.formulaire.MSG.value.substr(0, toskip);

		alert("Votre message ne peut contenir plus de 320 caractères");

		update_message();

		

	}

	

}



function sendSMS()

{

	if (document.formulaire.MSG.value == "")

	{

		alert("Veuillez insérer un message à envoyer");

	}

	else if (lNUMS.length == 0)

	{

		alert("Veuillez insérer un numéro de destinataire");

	}

	else 

     {

         for(var i=0; i<lNUMS.length ; i++) {

         	document.formulaire.TEL.value = document.formulaire.TEL.value + ";" + lNUMS[i] ;

         }

         document.formulaire.submit();

     }

     

}





function trim(chaine)

{

  return chaine.replace(/(^\s*)|(\s*$)/g,'');

}





function checkSubscription()

{

	if (!isMail(document.subscribe.login.value))

	{

		alert("Votre adresse email est invalide");

	}

	else if (!ispassword(document.subscribe.password.value))

	{

		alert("Votre mot de passe est incorrect. Seuls les caractères alpha-numériques sont autorisés");

	}

	else

	if (document.subscribe.password.value != document.subscribe.password2.value)

	{

		alert("Vos mots de passe doivent être identiques");

	}

	else

	{

		document.subscribe.submit();

	}

}



function isMail(_email) {

	var emailReg = /^[a-z][a-z-_0-9\.]+@[a-z-_=>0-9\.]+\.[a-z]{2,3}$/i

	return emailReg.test(_email);

}



function ispassword(_password)

{

	var passwordReg = /^[a-z-_0-9\.]+$/i;

	return passwordReg.test(_password);

	

}


