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('error', "Votre navigateur ne supporte pas les objets XMLHTTPRequest...", 'Erreur');
		xhr = false; 
	} 
	return xhr
} 

function envoiEmail()
{				
	if (verif())
	{
		var parametres = '';
		var i = 0;
		$("#form").find("label").each(function(){
			i++;
			parametres = parametres + i + '=' + $(this).text() + '&';
				
			if ($(this).next("select").size() > 0 )
			{	
				i++;
				parametres = parametres + i + '=' + $(this).next("select").children("option:selected").text() + '&';
			}
			
			if ($(this).next("input").size() > 0 )
			{	
				i++;
				parametres = parametres + i + '=' + $(this).next("input").val() + '&';
			}
			
			if ($(this).next("textarea").size() > 0 )
			{	
				i++;
				parametres = parametres + i + '=' + $(this).next("textarea").val() + '&';
			}
		});
		
		
		var url = 'script.php';
		
		$.blockUI({ message: '<img src="combo/image/busy.gif" /><font class="titre"> Envoi du formulaire en cours...</font>', 
			css: { border: '3px solid #bbb' }  }); 
						
		var 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)
			{
				if (xhr.responseText == 'commandeOK')
				{	
					setTimeout('afficheLoading("Le formulaire a \351t\351 envoy\351.", "Formulaire envoy\351.", "true")', 1000);	
				}
				else if (xhr.responseText == 'commandeErreur')
				{
					setTimeout('afficheLoading("Une erreur est survenue durant l\'envoi.", "Erreur", "false")', 500);
				}
				else if (xhr.responseText == 'noData')
				{		
					setTimeout('afficheLoading("Une erreur est survenue.", "Erreur", "false")', 500);
				}
				else
				{
					setTimeout('afficheLoading("Une erreur est survenue, veuillez essayer de nouveau.", "Erreur", "false")', 500);	
				}
			}
		}
		xhr.open("POST",url,true);
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhr.send(parametres);
	}
}

function checkInput(el)
{
	if (el.value.length > 0)
	{
		if (el.id == 'email')// test si c'est un champs contenant un email
		{
			if (!isEmail(el.value))
			{
				changeClassInput(el, 'inputAlert');
				//alert("le courriel saisie est invalide");
			}
			else
			{
				changeClassInput(el, 'input');
			}
		}
		else
		{
			if (el.tagName == 'TEXTAREA')
				changeClassInput(el, 'textarea');
			else
				changeClassInput(el, 'input');
		}
	}
	else
	{
		if (el.tagName == 'TEXTAREA')
			changeClassInput(el, 'textareaAlert');
		else
			changeClassInput(el, 'inputAlert');
	}
}

function verif()
{
	var pass = true;
	$("#form").find("textarea").each(function(){
		if ($(this).val().length <= 0)
		{
			$(this).addClass('inputAlert');
			$(this).removeClass('input');
			pass = false;
		}
		else
		{
			$(this).addClass('input');
			$(this).removeClass('inputAlert');
		}
	});	
	
	$("#form").find("input").each(function(){
		if ($(this).val().length <= 0)
		{
			$(this).addClass('inputAlert');
			$(this).removeClass('input');
			pass = false;
		}
		else
		{
			if ($(this).attr("id") == 'email')// test si c'est un champs contenant un email
			{
				if (!isEmail($(this).val()))
				{
					$(this).addClass('inputAlert');
					$(this).removeClass('input');
					pass = false;
				}
				else
				{
					$(this).addClass('input');
					$(this).removeClass('inputAlert');
				}
			}
			else
			{
				$(this).addClass('input');
				$(this).removeClass('inputAlert');
			}
		}
	});


	$("#form").find("select").each(function(){
		if ($(this).children("option:selected").text().length <= 0)
		{			
			$(this).addClass('selectAlert');
			$(this).removeClass('select');
			pass = false;
		}
		else
		{
			$(this).addClass('select');
			$(this).removeClass('selectAlert');
		}
	});	
	return pass;
}

function verifInput(el, typeInput)
{
	if (typeInput == 'select')
	{
		if (el.children("option:selected").text().length <= 0)
		{			
			el.addClass('selectAlert');
			el.removeClass('select');
		}
		else
		{
			el.addClass('select');
			el.removeClass('selectAlert');
		}	
	}
	else if (typeInput == 'textarea')
	{
		if (el.val().length <= 0)
		{
			el.addClass('textareaAlert');
			el.removeClass('textarea');
		}
		else
		{
			el.addClass('textarea');
			el.removeClass('textareaAlert');
		}		
	}
	else
	{
		if (el.val().length <= 0)
		{
			el.addClass('inputAlert');
			el.removeClass('input');
		}
		else
		{
			el.addClass('input');
			el.removeClass('inputAlert');
		}		
	}
}

function changeClassInput(el, valClass)
{
	el.className = valClass;	
}

function isEmail(value) 
{  
	var verif = /^[^@]+@(([\w\-]+\.){1,4}[a-zA-Z]{2,4}|(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]))$/
	if (verif.test(value))
	{	
		return true;
	}
	else
	{		
		return false;
	}
}

function afficheLoading(alertTexte, titre, fermer)
{			  
	$.unblockUI();
	jAlert(alertTexte, titre, 
	function(r) 
	{
		if (fermer == 'true')
		{						
			
		}		
	});		
}
