//' Version :
//' ---------
//' 1.00 / 2004-05-06 / JA => Création

var vLOC_check_form_1=		"Enter ";
var vLOC_check_form_1A=		"Enter at least one phone number...";
var vLOC_check_form_2A=		"Enter at least ";
var vLOC_check_form_2B=		"digit(s) ";
var vLOC_check_form_2C=		"for ";
var vLOC_check_form_5=		" should contain numbers only!";
var vLOC_check_form_6=		" should not start with '9'";
var vLOC_check_form_7b=		"Please verify ";
var vLOC_check_form_7a=		" :\n"+
											"it must be entered using the international format,\n"+
											"00 + code for your country of residence + your phone number.";
var vLOC_check_form_7frb=	"Please verify ";
var vLOC_check_form_7fra=	" :\n"+
											"it must be entered using the international format and must start withr\n"+
											"00331, 00332, 0333, 00334, 00335 ou 00336 and consist 13 digits.";
var vLOC_check_form_7domb=	"The international format for the number ";
var vLOC_check_form_7doma=	"\nregistered on your account is ";
var vLOC_check_form_8=		" can't be verified";

var vLOC_check_form_10=		" is incorrectly configured";

//'pour le parrainage
var vLOC_check_form_12 =	"You are not permitted to provide the 'helping hand' service to yourself.\nPlease select another person to give a 'helping hand' to";

//' Tableau des erreurs de saisie des numéros dans les DOMs
function DOMItem(pLabel, pPrefix, pPrefixInput, pNatLength) {
  this.label				= pLabel;
  this.prefix				= pPrefix;
  this.prefix_input			= pPrefixInput;
  this.nat_length			= pNatLength
}
var vDOMArray = new Array;
vDOMArray[0]	= new DOMItem('Guadeloupe',						'00590590', '0033590',	6);
vDOMArray[1]	= new DOMItem('Guadeloupe',						'00590590', '00590',	6);
vDOMArray[2]	= new DOMItem('Guadeloupe',						'00590690', '0033690',	6);
vDOMArray[3]	= new DOMItem('Martinique',						'00596596', '0033596',	6);
vDOMArray[4]	= new DOMItem('Martinique',						'00596596', '00596',	6);
vDOMArray[5]	= new DOMItem('Martinique',						'00596696', '0033696',	6);
vDOMArray[6]	= new DOMItem('Réunion',						'00262262', '0033262',	6);
vDOMArray[7]	= new DOMItem('Réunion',						'00262262', '00262',	6);
vDOMArray[8]	= new DOMItem('Réunion',						'00262692', '0033692',	6);
vDOMArray[9]	= new DOMItem('Guyane Française',					'00594594', '0033594',	6);
vDOMArray[10]	= new DOMItem('Guyane Française',					'00594594', '00594',	6);
vDOMArray[11]	= new DOMItem('Guyane Française',					'00594694', '0033694',	6);
vDOMArray[12]	= new DOMItem('Mayotte',						'002696',   '00332696',	5);
vDOMArray[13]	= new DOMItem('St Pierre & Miquelon',					'00508',    '0033508',	6);


//' Vérifie que le champ 'pField' ne soit pas vide et comporte au moins pCount caractères. 
//' Si oui, affiche un message spécifiant que le champ 'pLibelle' est vide et retourne false.
//' Si non, return true.
function checkStrField(pField, pLibelle, pCount, pCheckEmpty) {
	if (pCheckEmpty+''=="undefined") pCheckEmpty=true; else pCheckEmpty=false;
	if (pCheckEmpty && pField.value == "") {
	  alert(vLOC_check_form_1 + pLibelle + " !");
	  pField.focus();
	  return false;
	}
	if (pField.value.length < pCount) {
	  var vString= vLOC_check_form_2A + ' ' + pCount + ' ' + vLOC_check_form_2B + ' ';
	  vString+= vLOC_check_form_2C + pLibelle + " !";
	  alert(vString);
	  pField.focus();
	  return false;
	}
	return true;
}

//' Appelle checkStrField. 
//' Vérifie que le champ 'pField' soit composé uniquement de chiffres.
//' Si non, affiche un message.
//' Si oui, return true.
function checkNumField(pField, pLibelle, pCount, pCheckEmpty) {
	if (checkStrField(pField, pLibelle, pCount, pCheckEmpty) == false)
		return false;
	var vC;
	var vLen = pField.value.length;
	for (var x = 0; x < vLen; x++) {
		vC = pField.value.charAt(x);
		if (vC < '0' || vC > '9') {
			alert(pLibelle + ' ' + vLOC_check_form_5);
			pField.focus();
			return false;
		}
	}
	return true;
}

function checkUserPIN(pField, pLibelle, pCount) {
	if (checkNumField(pField, pLibelle, pCount)==false)
		return false;
	if (pField.value.charAt(0)=="9") {
		alert(pLibelle + vLOC_check_form_6);
		return false;
	}
	return true;
}

function checkPhone(pField, pLibelle, pCount) {
	if (checkNumField(pField, pLibelle, pCount)==false)
		return false;
	//' Teste le préfixe
	var vZItem = getZItemByCli(pField.value);
	//' if (vZItem != null) alert(pField.value+', '+vZItem.prefix+', '+vZItem.title);
	if (vZItem == null) {
		alert(vLOC_check_form_7b + pLibelle + vLOC_check_form_7a);
		return false;
	}
	return true;
}

function checkPhoneFR(pField, pLibelle, bPrefixExclusive) {
	if (bPrefixExclusive+'' == "undefined") bPrefixExclusive = true;
	var vValue = pField.value;
	if (!bPrefixExclusive && vValue.substr(0, 4) != '0033') return true;
	//' Regarde s'il s'agit d'un numéro de test interne
	if (vValue.substr(0,9) == '003399999') return true;

	var vPrefixNumber = vValue.substr(2, 3)-0;
	if (vPrefixNumber < 331 || vPrefixNumber > 336 || vValue.length != 13) {
		alert(vLOC_check_form_7frb + pLibelle + vLOC_check_form_7fra);
		return false;	
	}
	return true;
}

function checkPhoneDOM(pField, pLibelle) {
	var vDomNumber = pField.value;
	for (var i = 0; i < vDOMArray.length; i++) {
		var vLabel				= vDOMArray[i].label;
		var vPrefix				= vDOMArray[i].prefix;
		var vPrefixInput	= vDOMArray[i].prefix_input;
		var vNatLength		= vDOMArray[i].nat_length;
		var vPrefixInputLength	= vPrefixInput.length;
		
		if (vDomNumber.substr(0, vPrefixInputLength) == vPrefixInput &&
				vDomNumber.length == vPrefixInputLength + vNatLength) {
			pField.value = vPrefix + vDomNumber.substr(vPrefixInputLength, vNatLength);
		alert(vLOC_check_form_7domb + pLibelle + vLOC_check_form_7doma + pField.value);
		}
	}
}

function checkCheckField(pField, pFieldCheck, pLibelle) {
	if (pField.value!=pFieldCheck.value) {
		alert(pLibelle + vLOC_check_form_8);
		return false;
	}
	return true;
}

function checkAutoParrain (pMailF,pMailP) {
	if (pMailF.value==pMailP.value) {
		return true;
	}	else{
		return false;
	}		
}

//' Appelle checkStrField. 
//' Vérifie que le champ 'pField' soit un EMail (dans sa composition)
//' Si non, affiche un message.
//' Si oui, return true.
function chechEMailRestriction(pField, pLibelle) {
	var vDotPlace=	pField.value.lastIndexOf(".", pField.value.length);
	var vCountry=	pField.value.substring(vDotPlace+1, pField.value.length);
	var vLowCountry=	vCountry.toLowerCase();

	var vAtPlace=	pField.value.indexOf("@",1);
	var vDomain=	pField.value.substring(vAtPlace+1, pField.value.length);
	var vLowDomain=	vDomain.toLowerCase();

//' Vérifie les noms spéciaux
	if (
		(pField.value.indexOf("jkbd",0)==0)  		//' Voleur signalé par Marc le 2001-11-24
	|| 	(pField.value.indexOf("jackessam",0)==0)	//' Signalé par NaimaB le 2006-01-10
	|| 	(pField.value.indexOf("wellydash",0)==0)	//' Signalé par NaimaB le 2006-01-10
	|| 	(pField.value.indexOf("islamsayed",0)==0)	//' Signalé par NaimaB le 2006-01-10
	)
		{
		alert("Pour des raisons de sécurité, nous ne pouvons livrer votre code personnel sur cette boite à lettres Web.\n" + 
		      "Veuillez saisir une adresse Email associée à votre fournisseur d'accès ou à votre entreprise.\n" +
                  "Si votre boîte à lettres Web ne correspond pas à ces critères, merci de nous téléphoner au 0 820 00 00 04 (0,12€/mn)");
		return false;
		}

	if (
	
//' Les fournisseurs d'accès sont autorisés, même si c'est pas béton...
vLowDomain=="6sens.com" ||
vLowDomain=="aol.com" ||
vLowDomain=="everyday.com" ||
vLowDomain=="infonie.com" ||
vLowDomain=="itineris.net" ||
vLowDomain=="mageos.com" ||
vLowDomain=="net-up.com" ||
vLowDomain=="oreka.com" ||
vLowDomain=="sfr.net" ||
vLowDomain=="voonoo.net" ||
vLowDomain=="waika9.com" ||

//' Les entreprises suivantes sont autorisés, mais c'est plus béton du tout...
vLowDomain=="globalone.net" ||
vLowDomain=="budgetelecom.com"
				)	
		{
		return true;
		}

	if ((vLowCountry=="fr" || vLowCountry=="edu")==false)
		{
		alert("Pour des raisons de sécurité, nous ne pouvons actuellement livrer votre code personnel que sur une boite à lettres de type '.fr' ou '.edu'\n" + 
		      "Veuillez saisir une adresse Email associée à votre fournisseur d'accès ou à votre entreprise.\n" +
                  "Si votre boîte à lettres Web ne correspond pas à ces critères, merci de nous téléphoner au 0 820 00 00 04 (0,12€/mn)");
		return false;
		}

	if (
vLowDomain=="altavista.fr" ||
vLowDomain=="apexmail.fr" ||
vLowDomain=="bonjour.fr" ||
vLowDomain=="club.elle.fr" ||
vLowDomain=="club.lemonde.fr" ||
vLowDomain=="excite.fr" ||
vLowDomain=="fairesuivre.fr" ||
//' vLowDomain=="freesurf.fr" ||
vLowDomain=="genie.fr" ||	//' ajout 2001-10-15
vLowDomain=="gmx.fr" ||
vLowDomain=="lemel.fr" ||
vLowDomain=="leparisien.fr" ||
vLowDomain=="libertysurf.fr" ||
vLowDomain=="lycos.fr" ||
vLowDomain=="mail.dotcom.fr" ||
vLowDomain=="netpme.fr" ||
vLowDomain=="nomade.fr" ||
vLowDomain=="pagefrance.fr" ||
vLowDomain=="respublica.fr" ||
vLowDomain=="skymail.fr" ||
vLowDomain=="spray.fr" ||
vLowDomain=="voila.fr" ||
vLowDomain=="yahoo.fr" ||
vLowDomain=="youpy.fr"	
				)
		{
		alert("Pour des raisons de sécurité, nous ne pouvons livrer votre code personnel sur une boite à lettres Web de type '" + vLowDomain + "'.\n" + 
		      "Veuillez saisir une adresse Email associée à votre fournisseur d'accès ou à votre entreprise.\n" +
                  "Si votre boîte à lettres Web ne correspond pas à ces critères, merci de nous téléphoner au 0 820 00 00 04 (0,12€/mn)");
		return false;
		}
	return true;
}

function checkEMailField(pField, pLibelle, pCount) {
	if (checkStrField(pField, pLibelle, pCount)==false)
		return false;
	var vAtPlace=		pField.value.indexOf("@",1);
	var vDotPlace=		pField.value.indexOf(".",vAtPlace+1);
	var vQuotePlace=	pField.value.indexOf("'",0);
	if (pField.value.indexOf(" ",0)!= -1){
		alert("'" + pLibelle + "'" + vLOC_check_form_10);
		pField.focus();
		return false;
	} 
	//'Restriction de domaine
	var vDomain=	pField.value.substring(vAtPlace+1, pField.value.length);
	if (vDomain == "netzero.net") {
		alert("'" + pLibelle + "'" + vLOC_check_form_10);
		pField.focus();
		return false	
	}






	if (vAtPlace>1 && vDotPlace>vAtPlace && vQuotePlace==-1 && (vDotPlace<pField.value.length-1))
		return true;
	alert("'" + pLibelle + "'" + vLOC_check_form_10);
	pField.focus();
	return false;
}
