var id;
function getXhr(){
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject)
	{ 
	// Internet Explorer 
	   try 
	   {
		xhr = new ActiveXObject("Msxml2.XMLHTTP");
	    } 
	    catch (e) 
	    {
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	    }
	}
	else 
	{ // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
	return xhr;
}

function  testAlphaNumerique(chaine, where) 
{
	var regxp = /^[a-zA-Z0-9 .éèçàâêîôûäïëöü]{3,200}$/;
	if (regxp.test(chaine))
	{
		document.getElementById(where).innerHTML = '<span class=\'green\'>Ok!</span>';
		return true;
	}
	else
	{
		document.getElementById(where).innerHTML = 'Identifiant non valide!';
		return false;
	}
}

function  testCP(chaine, where)
{
	var regxp = /^[a-zA-Z0-9 ]{4,20}$/;
	if (regxp.test(chaine))
	{
		document.getElementById(where).innerHTML = '<span class=\'green\'>Ok!</span>';
		return true;
	}
	else
	{
		document.getElementById(where).innerHTML = 'Identifiant non valide!';
		return false;
	}
}

function  testNumerique(chaine, where) 
{
	var regxp = /^[0-9]{4,5}$/;
	if (regxp.test(chaine))
	{
		document.getElementById(where).innerHTML = '<span class=\'green\'>Ok!</span>';
		return true;
	}
	else
	{
		document.getElementById(where).innerHTML = 'Code postal non valide!';
		return false;
	}
}
function testAlpha(chaine, where) 
{
	var regxp = /^[a-zA-Z .éèçàâêîôûäïëöü'-]{3,50}$/;
	if (regxp.test(chaine))
	{
		document.getElementById(where).innerHTML = '<span class=\'green\'>Ok!</span>';
		return true;
	}
	else
	{
		document.getElementById(where).innerHTML = 'Invalide!';
		return false;
	}
}
function testSociete(chaine, where)
{
  if(chaine!=''){
  	var regxp = /^[a-zA-Z0-9 .éèçàâêîôûäïëöü'-]{3,50}$/;
  	if (regxp.test(chaine))
  	{
  		document.getElementById(where).innerHTML = '<span class=\'green\'>Ok!</span>';
  		return true;
  	}
  	else
  	{
  		document.getElementById(where).innerHTML = 'Invalide!';
  		return false;
  	}
  }
}
function testMail(mail, where)
{
	var regxp= /^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$/;
	if(regxp.test(mail))
	{
		document.getElementById(where).innerHTML = '<span class=\'green\'>Ok!</span>';
		return true;
	}
	else
	{
		document.getElementById(where).innerHTML = 'Adresse e-mail non valide';
		return false;
	}
}
function testTel(tel, where)
{
	var regxp= /^[0-9+()]{6,200}$/;
	if(regxp.test(tel))
	{
		document.getElementById(where).innerHTML = '<span class=\'green\'>Ok!</span>';
		return true;
	}
	else
	{
		document.getElementById(where).innerHTML = 'Téléphone non valide';
		return false;
	}
}
function testTel2(tel, where)
{
	var regxp= /^[0-9+()]{6,200}$/;
	if(tel!=''){
  	if(regxp.test(tel))
  	{
  		document.getElementById(where).innerHTML = '<span class=\'green\'>Ok!</span>';
  		return true;
  	}
  	else
  	{
  		document.getElementById(where).innerHTML = 'Téléphone e-mail non valide';
  		return false;
  	}
	}
}
function testPass(password)
{
	var pass1, pass2;
	pass1 = document.getElementById('pass1').value
	pass2 = document.getElementById('pass2').value

	var regxp= /^[a-zA-Z0-9]{6,20}$/;

	if((password.length != 0)&&((document.getElementById('pass1').value.length == 0)&&(document.getElementById('pass2').value.length == 0)))
	{
		return true;
	}
	else
	{
		if(regxp.test(pass1))
		{
			if(pass1 == pass2)
			{
				document.getElementById('validPass2').innerHTML = '<span class=\'green\'>Ok!</span>';
				return true;
			}
			else
			{
				document.getElementById('validPass2').innerHTML = 'Mot de passe non identique';
				return false;
			}
		}
		else
		{
			if((pass2.length < 6)&&(pass1.length < 6))
			{
				document.getElementById('validPass1').innerHTML = '';
				document.getElementById('validPass2').innerHTML = 'Mot de passe trop court';
				return false;
			}
			else
			{
				document.getElementById('validPass2').innerHTML = 'Saisie incorrecte';
			}
		}
	}
}
function identUnique(user_id)
{
	var xhr;
	var send;
	var identifiant = document.user.identifiant.value;
	xhr = getXhr();
	// On défini ce qu'on va faire quand on aura la réponse
	if(user_id.length !=0 )
	{
		id = true;
	}
	else
	{
		xhr.onreadystatechange = function()
		{		
			//On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				reponse = xhr.responseText;
				if(reponse != '')
				{
					document.getElementById('validIdent').innerHTML = 'Pseudo dejà reservé';
					id = false;
				}
				else
				{
					id = true;
				}
			}
		}
		send = "identifiant="+identifiant;
		xhr.open("POST","uniqueuser",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send(send);
	}
}
function validOrder(url)
{
	var xhr;
	var baseUrl;
	var send = document.getElementById('tableau').value;

	xhr = getXhr();
	// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function()
		{		
			//On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				reponse = xhr.responseText;
				if(reponse != '')
				{
					document.getElementById('stateXHR').innerHTML = '<span id="etat">Succés!</span>';
				}
				else
				{
					document.getElementById('stateXHR').innerHTML = 'Une erreur est survenue';
				}
			}
			else
			{
					document.getElementById('stateXHR').innerHTML = '<img src=\'../public/images/wait.gif\' />traitement en cours';
			}
		}
		baseUrl = url+"/admin/insertorder";
		xhr.open("POST",baseUrl,true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send(send);
}
function testAllForm(password){
	if(testAlphaNumerique(document.getElementById('identifiant').value, 'validIdent'))
	{
			if(testPass(password))
			{
				if(testAlpha(document.getElementById('nom').value, "validNom"))
				{
					if(testAlpha(document.getElementById('prenom').value, "validPrenom"))
					{
						if(testAlpha(document.getElementById('ville').value, "validLocalisation"))
						{
							if(testNumerique(document.getElementById('cp').value,'validCp'))
							{
								if(testMail(document.getElementById('email').value, 'validEmail'))
								{
									return true;
								}
								else
								{
									alert('l\'adresse mail saisie est incorrecte');
									return false;
								}
							}
							else
							{
								alert('Le code postal est incorect');
								return false;
							}
						}
						else
						{
							alert('Le nom et le prenom et la ville ne doivent contenir que des lettres');
							return false;
						}
					}
					else
					{
						alert('Le nom et le prenom et la ville ne doivent contenir que des lettres');
						return false;
					}
				}
				else
				{
					alert('Le nom et le prenom ne doivent contenir que des lettres');
					return false;
				}
			}
			else
			{
				alert('Les mots de passe ne sont pas corrects');
				return false;
			}
		
	}
	else
	{
		alert('L\'identifiant ne doit contenir que des caractères alphanumérique et avoir une longeur comprise entre 3 et 20 caractères');
		return false;
	}
}

function submitValue(password)
{
	if(testAllForm(password))
	{
		return true;
	}
	else
	{
		return false;
	}
}

