// Vitesses
var speedShowMsgForContactForm = 1000;
var speedHideMsgForContactForm = 500;

// Effet
var effectShowMsgForContactForm = "easeOutBounce";
var effectHideMsgForContactForm = "easeInExpo";

// Temps
var timeBeforeHideDivMsgForContactForm = 2000;


$(document).ready(function(){

	$(".formContact").submit(function(event){
		
		// On recupère les valeures de champs
		nom = $("input[name='name']").val();
		email = $("input[name='mail']").val();
		sujet = $("input[name='sujet']").val();
		message = $("textarea[name='message']").val();
		url_to_contact = $("input[name='url_to_contact']").val();

		sendContact(nom, email, sujet, message, url_to_contact);
		
		return false;
	});
});

// Cette fonction envoi une requête en AJAX au script d'envoi de mail
function sendContact(name, mail, sujet, message, url_to_contact)
{
	$.post(url_to_contact, {name: name, mail: mail, sujet: sujet, message: message}, function(data){

		if(data > 0)
			showSuccess("Message envoyé !");
		else
			switch(data)
			{
				case "-1":
					showError("Et le nom ?");
				break;
				
				case "-2":
					showError("Comment va-t-on répondre sans mail ?");
				break;
				
				case "-3":
					showError("C'est à quel sujet ?");
				break;
				
				case "-4":
					showError("Rien à nous dire ?");
				break;
				
				case "-5":
					showError("On risque pas de répondre avec ce mail...");
				break;
								
				case "-100":
					showError("Erreur interne");
				break;
			}
	});
}

function showSuccess(msg)
{
	$("#divMsgForContactForm").addClass("success");
	
	$("#divMsgForContactForm P").html(msg);

	showDivMsgForContactForm();
}

function showError(msg)
{
	$("#divMsgForContactForm").addClass("error");

	$("#divMsgForContactForm P").html(msg);

	showDivMsgForContactForm();
}

function showDivMsgForContactForm()
{
	// On centre le paragraphe
	milieuMsg = $("#divMsgForContactForm").outerHeight()/2-$("#divMsgForContactForm P").outerHeight()/2;
	$("#divMsgForContactForm P").css({
		top:milieuMsg
	})
	
	// Position de départ
	startPosTop = $('body').scrollTop() - $("#divMsgForContactForm").outerHeight();
	startPosLeft = $('body').scrollLeft() + $(window).width()/2 - $("#divMsgForContactForm").outerWidth()/2;
	
	$("#divMsgForContactForm").css({
		top:startPosTop,
		left:startPosLeft
	});

	// Position visible
	visiblePosTop = $('body').scrollTop() + $(window).height()/2 - $("#divMsgForContactForm").outerHeight()/2;
	visiblePosLeft = startPosLeft;

	// On le montre
	$("#divMsgForContactForm").show();

	$("#divMsgForContactForm").animate({
		top:visiblePosTop,
		left:visiblePosLeft
	}, speedShowMsgForContactForm, effectShowMsgForContactForm, function(){
		setTimeout("hideDivMsgForContactForm()", timeBeforeHideDivMsgForContactForm)
	});
}

function hideDivMsgForContactForm()
{
	// On tire au sort de quel coté le message s'en va
	iMsgDepart = Math.round(Math.random()*2);
	
	// Position caché
	if(iMsgDepart%2 == 0)
		hiddenPosLeft = $('body').scrollLeft() + $(window).width();
	else
		hiddenPosLeft = -$("#divMsgForContactForm").outerWidth();

	$("#divMsgForContactForm").animate({
		left:hiddenPosLeft
	}, speedHideMsgForContactForm, effectHideMsgForContactForm, function(){
		$("#divMsgForContactForm").hide();
	});
}