var mandatory=new Array(
	'nom',
	'adresse',
	'directeur',
	'cp',
	'Ville',
	'tel',
	'rcs'
);
function checkForm(fenetre){
	try {
		document.getElementById('msgErr').innerHTML='';
	}catch(e) {}
	var _form=eval('document.add');
	
	for(var i=0;i<_form.length;i++){
		try{
			ok(_form[i]);
			}catch(e){}
	}
	for(var i=0;i<mandatory.length;i++){
		try {
			var _objectInput=eval('document.add.' + mandatory[i]);
			if(_objectInput.value == ''){
				erreur('Vous devez renseigner le champ '+mandatory[i], _objectInput);
				return;
			}
		}catch(err){}
	}
	// Control du Code Postal
	if(document.add.cp.value.length == 1 || document.add.cp.value.length == 4 || (document.add.cp.value.length ==3 && document.add.cp.value != 971 && document.add.cp.value != 972 && document.add.cp.value != 973 && document.add.cp.value != 974)){
		erreur("Le champ CP n'est pas conforme", document.add.cp);
		return;
	}
	// Control du champ Ville
	if(document.add.Ville == ''){
		erreur("Vous devez sélectionner une ville", document.add.Ville);
		return;
	}
	// Control du champ telephone
	if(document.add.tel.value.length != 10){
		erreur("Le numéro de téléphone doit contenir 10 chiffres. Vous pouvez vous aider de l'exemple situé à droite du champ",document.add.tel);
		return;
	}
	var regExpTel=/^\d{10}$/;
	if(! document.add.tel.value.match(regExpTel)){
		erreur("Le numéro de téléphone doit contenir 10 chiffres. Vous pouvez vous aider de l'exemple situé à droite du champ",document.add.tel);
		return;
	}
	if(document.add.tel.value == '0160929600' || document.add.tel.value == '0160929601' || document.add.tel.value == '0160929595'){
		erreur("Ce numéro de téléphone est incorrect",document.add.tel);
		return;
	}
	// Control du champ fax
// 	if(document.add.fax.value.length != 10){
// 		erreur("Le numéro de fax doit contenir 10 chiffres. Vous pouvez vous aider de l'exemple situé à droite du champ",document.add.fax);
// 		return;
// 	}
	// Control du champ email
	if(!checkEmail(document.add.email.value)){
		erreur("L'adresse e-mail n'est pas valide. Vous pouvez vous aider de l'exemple situé à droite du champ",document.add.email);
		return;
	}
	try{document.add.code.disabled=false;}catch(e){}
	if (fenetre) {
		popup('', fenetre, '400', '200', '');
	}
	document.add.submit();
}
function checkEmail(email){
	var i;
	
	// Recherche de @
	i = email.indexOf("@");
	if (i == -1) return false;

	// Recherche des www. en debut de chaine
	var regExpWWW = /^www\./i;
	if(email.match(regExpWWW)){
		return false;
	}
	
	// Séparation du nom de l'utilisateur et du nom de domaine.
	var username = email.substring(0, i);
	var domain = email.substring(i + 1, email.length)

	// Recherche des espaces au début du nom de l'utilisateur.
	i = 0;
	while ((username.substring(i, i + 1) == " ") && (i < username.length)){
		i++;
	}
	
	// Les enlève s'il en trouve.
	if (i > 0) username = username.substring(i, username.length);
	
	// Recherche d'espaces à la fin du nom de domaine.
	i = domain.length - 1;
	while ((domain.substring(i, i + 1) == " ") && (i >= 0)) {
		i--;
	}
	
	// Les enlève s'il en trouve.
	if (i < (domain.length - 1)) domain = domain.substring(0, i + 1);
	
	// Vérifie que le nom de l'utilisateur et du domaine ne soit pas vide.
	if ((username == "") || (domain == ""))	return false;
	
	// Vérifie s'il n'y a pas de caractères interdits dans le nom de l'utilisateur.
	var ch;
	for (i = 0; i < username.length; i++){
		ch = (username.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || ((ch >= "0") && (ch <= "9")) ||	(ch == "_") || (ch == "-") || (ch == "."))) return false;
	}
	
	// Vérifie s'il n'y a pas de caractères interdits dans le nom de domaine
	for (i = 0; i < domain.length; i++){
		ch = (domain.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || ((ch >= "0") && (ch <= "9")) ||	(ch == "_") || (ch == "-") || (ch == "."))){
			return false;
		}
	}

	// Ajouter ci-dessous de nouveaux noms de domaine (une liste sur http://www.toulouse-renaissance.net/c_outils/c-nom-domaine.htm)
	var aSuffix = new Array("com","net","int","aero","biz","museum","name","info","coop","pro","eu","edu","org","gov","gouv","mil","bj","dz","de","ad","be","ca","bf","bi","cm","cf","cg","cd","ci","cn","dj","fr","ga","gp","gf","jp","lu","mg","ml","ma","mq","mr","mc","nc","pf","re","pm","sn","ch","td","tf","tn", "aero","biz","com","coop","edu", "info", "int", "net", "org", "mil", "museum", "name", "pro", "uk", "co");

	// Recherche du domaine autre que le suffix
	for(var j=0;j<aSuffix.length;j++){
		if(domain == '.' + aSuffix[j]){
			return false;
		}
	}

	var bFoundSuffix = false;
	i = 0;
	while (i < aSuffix.length){
		if (("." + aSuffix[i]) == domain.substring(domain.length - aSuffix[i].length - 1, domain.length))	return true;
		i++;
	}
	
	// Si le nom de domaine est inconnu  : return false
	return false;
}

function erreur(txt, elt) {
	try{
		if (document.getElementById('msgErr').innerHTML.length > 1) {
			 document.getElementById('msgErr').innerHTML = txt + document.getElementById('msgErr').innerHTML;
		}else {
			document.getElementById('msgErr').innerHTML = txt+"<br /> Si vous rencontrez des difficult&eacute;s, merci de contacter notre service commercial <a href='javascript:contact(document.add)' value='Contact'>Contact commercial</a><br />";
		}
		try{elt.style.border="1px solid red";elt.focus();}catch(e){}
	}catch(e) {
		alert(txt);
	}
	
}

function ok(elt) {
// 	document.getElementById('msgErr').innerHTML = '';
	elt.style.border='1px solid grey';
}

function printPDF(formulaire, idtype) {
	if (!idtype) {idtype = 401}
	var formContact = document.createElement('form');
	formContact.action='/perl/offrespeciale/genContrat.pl';
	formContact.method='POST';
	formContact.target='_parent';
	document.getElementsByTagName('div')[0].appendChild(formContact);
		var newinput = document.createElement('input');
		newinput.type='hidden';
		newinput.name = 'idtype';
		newinput.value = idtype;
		formContact.appendChild(newinput);
	for (var i = 0; i < formulaire.elements.length;i++) {
		var newinput = document.createElement('input');
		newinput.type='hidden';
		newinput.name = formulaire[i].name;
		newinput.value = formulaire[i].value;
		formContact.appendChild(newinput);
	}
	formContact.submit();
}

function checkPasserelle(elt, elt2) {
	
	var bool = /open.m.dia|nax|p.ricl.s/i.exec(document.getElementById(elt).value);
	if (bool) {
		document.getElementById(elt2).style.display = 'inline';
	}else{
		document.getElementById(elt2).style.display = 'none';
	}
}

function popup(url,nom,largeur,hauteur,options) {
	if (window.winref && !window.winref.closed) {
		window.winref.replace(url);
		}
	else{
		var haut=(screen.height)/2;
		var Gauche=(screen.width)/4;
		f=window.open(url,nom,"top="+haut+",left="+Gauche+",width="+largeur+",height="+hauteur+","+options);
		}
	self.blur();
}

