/**
* Ensemble de fonctions utiles pour l'envoi de mail via un formulaire de contact
* @author DELPORTE Stanislas
*/
	
	/**
	* function sendMail Fonction pour envoyer des mails (AJAX)
	* @author DELPORTE Stanislas
	*/
    function sendMail(a) {
		if(testForm()){
			var httpRequest;

			if (window.XMLHttpRequest) { // Mozilla, Safari, ...
				httpRequest = new XMLHttpRequest();
				if (httpRequest.overrideMimeType) {
					httpRequest.overrideMimeType('text/xml');
					// See note below about this line
				}
			} 
			else if (window.ActiveXObject) { // IE
				try {
					httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
				} 
				catch (e) {
					try {
						httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
					} 
					catch (e) {}
				}
			}

			if (!httpRequest) {
				alert('Giving up :( Cannot create an XMLHTTP instance');
				return false;
			}
			httpRequest.onreadystatechange = function() { httpHandler(httpRequest); };
			
			httpRequest.open('GET', './ajax/send-mail.php?mail='+document.getElementById('mail').value+
				'&nom='+document.getElementById('nom').value+
				'&prenom='+document.getElementById('prenom').value+
				'&societe='+document.getElementById('soc').value+
				'&tel='+document.getElementById('tel').value+
				'&mess='+document.getElementById('mess').value, true);
			//alert('./ajax/send-mail.php?mail='+document.getElementById('mail').value+'&nom='+document.getElementById('nom').value+'prenom='+document.getElementById('prenom').value+'&societe='+document.getElementById('societe')+'&tel='+document.getElementById('tel')+'&mess='+document.getElementById('mess'));
			$(document.getElementById('form')).fadeOut(2000);
			document.getElementById('form').innerHTML="<img src='./resources/images/loading.gif' />";
			httpRequest.send('');
		}
    }

	/**
	* function requestResult Fonction qui traite le resultat de l'envoi de mail (AJAX)
	* @param httpRequest la requête XHTML
	* @author DELPORTE Stanislas
	*/
    function httpHandler(httpRequest) {

        if (httpRequest.readyState == 4) {
            if (httpRequest.status == 200) {
				$(document.getElementById('form')).fadeIn(1500);
				document.getElementById('form').innerHTML=httpRequest.responseText;
            } else {
                document.getElementById('form').innerHTML="Erreur...";
            }
        }

    }
	
	/**
	* function testForm Fonction pour tester la validité des formulaires 
	* @author DELPORTE Stanislas
	*/
	function testForm(){
		resetField();
		var notNull = testOblig();
		var mailOK = testMail();
		if(notNull && mailOK)
			return true;
		return false;
	}
	
	/**
	* function testMail Fonction pour tester la validité des  adresses mails 
	* @author DELPORTE Stanislas
	*/
	function testMail(){
		var mail = document.getElementById('mail').value;
		var re=new RegExp("^[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+","i");
		if(!re.test(mail)){
			document.getElementById('mail').style.backgroundColor="red";
			return false;
		}else{
			return true;
		}
	}
	
	/**
	* function testOblig Fonction pour tester si les champs obligatoires ne sont pas null
	* @author DELPORTE Stanislas
	*/
	function testOblig(){
		var nom = document.getElementById('nom').value;
		var prenom = document.getElementById('prenom').value;
		var mess = document.getElementById('mess').value;
		
		if(nom.length==0 ||prenom.length==0 || mess.length==0){
			if(nom.length==0)
				document.getElementById('nom').style.backgroundColor="red";
			if(prenom.length==0)
				document.getElementById('prenom').style.backgroundColor="red";
			if(mess.length==0)
				document.getElementById('mess').style.backgroundColor="red";
			return false
		}
		return true;
	}
	
	/**
	* function resetField Fonction pour enlever les messages d'erreurs (quand un champs obligatoire est vide)
	* @author DELPORTE Stanislas
	*/
	function resetField(){
		document.getElementById('nom').style.backgroundColor="white";
		document.getElementById('prenom').style.backgroundColor="white";
		document.getElementById('mail').style.backgroundColor="white";
		document.getElementById('mess').style.backgroundColor="white";
	}