function subscribe_login()
{
	document.forms['formb'].password.value=$P.md5(document.forms['forma'].password.value);
	document.forms['formb'].login.value=document.forms['forma'].login.value;
	document.forms['formb'].submit();
	return true;
}

function subscribe_testEmail(callbackok, callbackko)
{
	if(callbackok===null||callbackok===undefined)callbackok=function(){};
	if(callbackko===null||callbackko===undefined)callbackko=function(){};
	
	document.forms['forma'].email.value=$P.trim(document.forms['forma'].email.value);
	var email=document.forms['forma'].email.value;
	var id='msgEmail';
	//idform, idt, idart, idrub, tag, idnick, idfrom, idcmt, idanswer, idcaptcha
	var xhr = null;

 	var ok=true;
//	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	if(!valid_email(email))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Veuillez saisir une adresse de messagerie';
		callbackko();
		return false;
	}
   
    if (window.XMLHttpRequest) 
    { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
    	callbackko();
    	return false;
    }
    xhr.onreadystatechange = function() {
 		if (xhr.readyState == 4) { 
			var docXML = xhr.responseXML;
			if(docXML.getElementsByTagName("code").item(0).firstChild.data=='ok')
			{
				if(docXML.getElementsByTagName("usable").item(0).firstChild.data=='yes')
				{
					document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
					document.getElementById(id).innerHTML='';
					callbackok();
				}
				else
				{
					document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
					document.getElementById(id).innerHTML="Cette adresse est déjà utilisée. Peut-être vous êtes vous déjà inscrit.<br/>Si vous ne vous souvenez plus de votre mot de passe, utilisez le lien 'mot de passe oublié'.";
					callbackko();
				}				
			}
			else
			{
				callbackko();
				alert('Une erreur est survenue');
			}
 		}
    };

    xhr.open("GET", xmlBaseUrl + "?w=testitem"+"&f=m&v="+escape(email)+'&'+Math.random(), true);
    xhr.send(null);
    return true;
}

function subscribe_testPseudo(callbackok, callbackko)
{
	if(callbackok===null||callbackok===undefined)callbackok=function(){};
	if(callbackko===null||callbackko===undefined)callbackko=function(){};
	
	document.forms['forma'].pseudo.value=$P.trim(document.forms['forma'].pseudo.value);
	var pseudo=document.forms['forma'].pseudo.value;
	var id='msgPseudo';
	
	//idform, idt, idart, idrub, tag, idnick, idfrom, idcmt, idanswer, idcaptcha
	var xhr = null;

 	var ok=true;
//	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	var re_pseudo = new RegExp('^[a-z][a-z0-9]{5,31}$','i');
	if(!re_pseudo.test(pseudo))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Votre pseudo doit faire au moins 6 caractères et ne comporter que des lettres non accentuées ou des chiffres.';
		callbackko();
		return false;
	}
   
    if (window.XMLHttpRequest) 
    { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
    	callbackko();
    	return false;
    }
    xhr.onreadystatechange = function() {
 		if (xhr.readyState == 4) { 
			var docXML = xhr.responseXML;
			if(docXML.getElementsByTagName("code").item(0).firstChild.data=='ok')
			{
				if(docXML.getElementsByTagName("usable").item(0).firstChild.data=='yes')
				{
					document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
					document.getElementById(id).innerHTML='';
					callbackok();
				}
				else
				{
					document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
					document.getElementById(id).innerHTML="Ce pseudo est déjà utilisé. Essayez encore. Vous pouvez ajouter votre année de naissance par exemple.";
					callbackko();
				}				
			}
			else
			{
				callbackko();
				alert('Une erreur est survenue');
			}
 		}
    };

    xhr.open("GET", xmlBaseUrl + "?w=testitem"+"&f=p&v="+escape(pseudo)+'&'+Math.random(), true);
    xhr.send(null);	
}

function subscribe_testPassword()
{
	var password=document.forms['forma'].password1.value;
	var id='msgPassword';

	if(password.length<5)
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Votre mot de passe doit faire au moins 5 caractères.';
		return false;
	}
	
	var level=valid_passwordLevel(password);
	
	if(level>=5)
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
		document.getElementById(id).innerHTML='OK. Sécurité maximale.';
	}
	else if (level==4)
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "warning1");
		document.getElementById(id).innerHTML='OK. Sécurité suffisante.';
	}
	else if(level==3)
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "warning2");
		document.getElementById(id).innerHTML='OK. Sécurité moyenne.';
	}
	else if(level==2)
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "warning3");
		document.getElementById(id).innerHTML='OK. Sécurité insuffisante.';
	}
	else
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "warning4");
		document.getElementById(id).innerHTML='OK. Sécurité médiocre.';
	}

	return true;
	
}

function subscribe_testPassword2()
{
	var password=document.forms['forma'].password1.value;
	var password2=document.forms['forma'].password2.value;
	var id='msgPassword2';
	if(password!=password2)
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Les mots de passe sont différents.';
		return false;
	}
	
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_step1()
{
	var ok=true;
	if(!subscribe_testPassword()) ok=false;
	if(!subscribe_testPassword2()) ok=false;
	
	if(ok)
	{
		subscribe_testEmail(
			function(){
				subscribe_testPseudo(
					function(){
						document.forms['formb'].password.value=$P.md5(document.forms['forma'].password1.value);
						document.forms['formb'].pseudo.value=document.forms['forma'].pseudo.value;
						document.forms['formb'].email.value=document.forms['forma'].email.value;
						document.forms['formb'].submit();
					},
					function(){
						alert('Veuillez verifier votre saisie.');
					}
				);
			},
			function(){
				alert('Veuillez verifier votre saisie.');
			}
		);
	}
	else
	{
		alert('Veuillez verifier votre saisie.');
	}
	
}

function subscribe_step2()
{
	var ok=true;
	if(!subscribe_testNom()) ok=false;
	if(!subscribe_testPrenom()) ok=false;
	if(!subscribe_testAdresse1()) ok=false;
	if(!subscribe_testAdresse2()) ok=false;
	if(!subscribe_testCP()) ok=false;
	if(!subscribe_testVille()) ok=false;
	if(!subscribe_testTelephone()) ok=false;
	if(!subscribe_testOptinNM()) ok=false;
	if(!subscribe_testOptinCarte()) ok=false; 
	if(!subscribe_testOptinAutre()) ok=false;
	if(!subscribe_testAbonne()) ok=false;
	if(!subscribe_testCgu()) ok=false;	
	return ok;
}

function subscribe_testNom()
{
	document.forms['forma'].nom.value=$P.trim(document.forms['forma'].nom.value);
	var nom=document.forms['forma'].nom.value;
	var id='msgNom';
	if(!valid_notEmpty(nom))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire.';
		return false;
	}
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testPrenom()
{
	document.forms['forma'].prenom.value=$P.trim(document.forms['forma'].prenom.value);
	var prenom=document.forms['forma'].prenom.value;
	var id='msgPrenom';
	if(!valid_notEmpty(prenom))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire.';
		return false;
	}
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testNaissance()
{
	document.forms['forma'].naissance.value=$P.trim(document.forms['forma'].naissance.value);
	var naissance=document.forms['forma'].naissance.value;
	var id='msgNaissance';
	var naissanceok;
	if(!(naissanceok=valid_dateFr(naissance)))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire (jj/mm/aaaa).';
		return false;
	}
	document.forms['forma'].naissance.value=naissanceok;
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testAbonne()
{
	document.forms['forma'].abonne.value=$P.trim(document.forms['forma'].abonne.value);
	var abonneok=document.forms['forma'].abonne.value;
	abonneok=valid_integer(abonneok);
	if(abonneok===false)
	{
		document.forms['forma'].abonne.value='';
	}
	else
	{
		document.forms['forma'].abonne.value=abonneok;
	}
	return true;
}

function subscribe_testAdresse1()
{
	document.forms['forma'].adresse1.value=$P.trim(document.forms['forma'].adresse1.value);
	var adresse1=document.forms['forma'].adresse1.value;
	var id='msgAdresse1';
	if(!valid_notEmpty(adresse1))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire.';
		return false;
	}
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testAdresse2()
{
	document.forms['forma'].adresse2.value=$P.trim(document.forms['forma'].adresse2.value);
	return true;
}

function subscribe_testCP()
{
	document.forms['forma'].cp.value=$P.trim(document.forms['forma'].cp.value);
	var cp=document.forms['forma'].cp.value;
	var id='msgCP';
	var cpok;
	if(document.forms['forma'].pays.value=='fr')
	{
		if(!(cpok=valid_cpFr(cp)))
		{
			document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
			document.getElementById(id).innerHTML='Champ obligatoire (99999).';
			return false;
		}
	}
	else
	{
		if(!valid_notEmpty(cp))
		{
			document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
			document.getElementById(id).innerHTML='Champ obligatoire.';
			return false;			
		}
		cpok=cp;
	}
	document.forms['forma'].cp.value=cpok;
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testVille()
{
	document.forms['forma'].ville.value=$P.trim(document.forms['forma'].ville.value);
	var ville=document.forms['forma'].ville.value;
	var id='msgVille';
	if(!valid_notEmpty(ville))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire.';
		return false;
	}
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testTelephone()
{
	document.forms['forma'].telephone.value=$P.trim(document.forms['forma'].telephone.value);
	var telephone=document.forms['forma'].telephone.value;
	var id='msgTelephone';
	var telephoneok;
	if(!(telephoneok=valid_telephone(telephone)))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire (99 99 99 99 99/+999 9 99 99 99 99).';
		return false;
	}
	document.forms['forma'].telephone.value=telephoneok;
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testActivite()
{
	var activite=document.forms['forma'].activite.value;
	var id='msgActivite';
	if(!valid_notEmpty(activite))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire.';
		return false;
	}
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testHbAutre()
{
	document.forms['forma'].hb_autre.value=$P.trim(document.forms['forma'].hb_autre.value);
	return true;
}

function subscribe_testOptinNM()
{
	var optinnm=document.forms['forma'].optinnm.value;
	var id='msgOptinNM';
	if(!valid_notEmpty(optinnm))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire.';
		return false;
	}
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testCgu()
{
	var cgu=document.forms['forma'].cgu.checked;
	var id='msgCgu';
	if(!cgu)
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire.';
		return false;
	}
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testOptinCarte()
{
	var optincarte=document.forms['forma'].optincarte.value;
	var id='msgOptinCarte';
	if(!valid_notEmpty(optincarte))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire.';
		return false;
	}
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}

function subscribe_testOptinAutre()
{
	var optinautre=document.forms['forma'].optinautre.value;
	var id='msgOptinAutre';
	if(!valid_notEmpty(optinautre))
	{
		document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ko");
		document.getElementById(id).innerHTML='Champ obligatoire.';
		return false;
	}
	document.getElementById(id).setAttribute((document.all ? "className" : "class"), "ok");
	document.getElementById(id).innerHTML='';

	return true;
}
