//Form Contact Form JavaScript Validator
//Author: Clifton Labrum <clifton(at)fusionfox(dot)com>
//Web page: http://fusionfox.com/2006/10/usability_updates.html

function submitContact(){
	var contactAuthor = document.getElementById("author").value;
	var contactEmail = document.getElementById("email").value;
	var contactSubject = document.getElementById("subject").value;
	var contactMessage = document.getElementById("commentaire-long").value;
	
	if(contactAuthor.length > 0 && contactEmail.length > 0 && validEmail(contactEmail) && contactSubject.length > 0 && contactMessage.length > 0){
		
		var contactedError = document.getElementById("contactedError");
			contactedError.className = "invisible";

		var authorError = document.getElementById("authorError");
		authorError.className = "invisible";
				var authorID = document.getElementById("author");
				authorID.className = "vrai";
		
		var emailError = document.getElementById("emailError");
		emailError.className = "invisible2";
				var emailID = document.getElementById("email");
				emailID.className = "vrai";
		
			var emailErrorInvalid = document.getElementById("emailErrorInvalid");
			emailErrorInvalid.className = "invisible";
		
		var subjectError = document.getElementById("subjectError");
		subjectError.className = "invisible";
				var subjectID = document.getElementById("subject");
				subjectID.className = "vrai";
		
		var messageID = document.getElementById("commentaire-long");
		messageID.className = "vrai";
		
		
			var sendingspan = document.getElementById("thesending");
			sendingspan.className = "processing";
		
				var url = "contacted.php";
					request.open("POST",url,true);
					request.onreadystatechange = showConfirmationContact;
					request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
					request.send("author="+escape(contactAuthor)+"&email="+escape(contactEmail)+"&subject="+escape(contactSubject)+"&message="+escape(contactMessage));
	}
	else{
		
	var contactedError = document.getElementById("contactedError");
			contactedError.className = "error1";
	
		if(contactAuthor.length <= 0){
			var authorError = document.getElementById("authorError");
			authorError.className = "error1";
				var authorID = document.getElementById("author");
				authorID.className = "faux";
			} else {
				var authorError = document.getElementById("authorError");
				authorError.className = "invisible";
				var authorID = document.getElementById("author");
				authorID.className = "vrai";
			}

		if(contactEmail.length <= 0){
			var emailError = document.getElementById("emailError");
			emailError.className = "error1";
				var emailID = document.getElementById("email");
				emailID.className = "faux";
		} else if(!validEmail(contactEmail)){ 

				var emailError = document.getElementById("emailError");
				emailError.className = "invisible";

				var emailID = document.getElementById("email");
				emailID.className = "faux";

				var emailErrorInvalid = document.getElementById("emailErrorInvalid");
				emailErrorInvalid.className = "error1";
			} else {
				var emailError = document.getElementById("emailError");
				emailError.className = "invisible";
				var emailID = document.getElementById("email");
				emailID.className = "vrai";
			}

		if(contactSubject.length <= 0){
			var subjectError = document.getElementById("subjectError");
			subjectError.className = "error1";
				var subjectID = document.getElementById("subject");
				subjectID.className = "faux";
			} else {
				var subjectError = document.getElementById("subjectError");
				subjectError.className = "invisible";
				var subjectID = document.getElementById("subject");
				subjectID.className = "vrai";
			}

		if(contactMessage.length <= 0){

			var messageID = document.getElementById("commentaire-long");
				messageID.className = "faux";
			} else {
			
				var messageID = document.getElementById("commentaire-long");
				messageID.className = "vrai";
			}
		}
}

function showConfirmationContact(){
		if(request.readyState == 4){
			if(request.status == 200){
				
				var successContactspan = document.getElementById("thesuccessContact");
				var contactForm = document.getElementById("contactForm");
				var beta = document.getElementById("contenu-global");
				

				successContactspan.className = "success";
				
				beta.removeChild(contactForm); 
			} else {
				var message = request.getResponseHeader("Status");
				if((message.length == null) || (message.length <= 0)){
					alert("Error! Request status is "+ request.status);
				} else {
				alert(message);
			}
		}
	}
}



function validEmail(contactEmail){
	var goodEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	return goodEmail.test(contactEmail);
}
