$(document).ready(function(){
	$(".form").inputHighlight();
});

sIFR.replace(futura, {
	selector: '.form label',
	fitExactly: true,
	css: [
		'.sIFR-root { font-size: 15px; color: #2181da; text-align: right; }',
		'strong { font-style: bold; }',
		'em { font-style: italic; }'
		],
	wmode: 'transparent'
});

function Envoyer(form_name) {
	if(form_name==null) form_name = "infos";
	var form = $("form[name="+form_name+"]");
	form.find("input,select,textarea").removeClass("required");
	if(validateForm(form)) {		
		var input_arr = new Array();
		var i = 0;
		form.find("input,textarea,select").each(function() {
			var indice = $(this).attr("tabindex");
			var champ = $(this).attr("name");
			var value = $(this).val();
			if(indice==null) var indice = i;
			if($(this).attr("type")=="checkbox") {
				if($(this).is(":checked")) input_arr[indice] = champ+"=1";
			} else {
				if(value!="") input_arr[indice] = champ+"="+value;
			}
			i++;
		});
		var data_array = input_arr;
		var input_data = "";
		$.each(data_array, function(indice,value) {
			if(value!=null)	input_data += value+"&";
		});
		$.ajax({
			type: "POST",
			url: SITE_PATH+form.attr("action"),
			data: input_data+"action=send",
			success: function(msg){
				warning(msg);
				$(form).find("input,textarea,select").each(function() {
					$(this).attr("disabled",true);
					$(this).addClass("disabled");
				});
				$(form).find("a.envoyer").removeAttr("onclick");
				$(form).find("a.envoyer").click(function() { warning("Votre e-mail à déja été envoyé !"); });
				$(form).find("a.envoyer").fadeTo("slow",0.3);
			}
		});
	} else {
		return false;
	}
}

function warning(msg) {
	$(".warning_msg").hide();
	$(".warning_msg").html(msg);
	$(".warning_msg").fadeIn(1000);
}

function validateForm(form) {
	var alertMsg = "Merci de saisir au moins les champs suivant :<br/><em>";
	var l_Msg = alertMsg.length;
	form.find("input,textarea,select").each(function() {
		if($(this).attr("obligatory")) {
			var val = $(this).val();
			var label = $(this).attr("title");
			if((label=="")||(label==null)) label = $(this).attr("label");
			if((val=="")||(val==null)||(val==" ")) {
				alertMsg += label+", ";
				$(this).blink();
				$(this).addClass("required");
			} else if($(this).attr("mailcheck")==true) {
				if(!emailCheck($(this).val())) {
					alertMsg = "<em>Votre adresse mail n'est pas valide !, ";
					$(this).blink();
					$(this).addClass("required");
				}			
			}
		}
	});
	if (alertMsg.length == l_Msg) return true;
	else {
		var len = alertMsg.length-2;
		var msg = alertMsg.substring(0,len);
		warning(msg+"</em>");
		return false;
	}
}

function emailCheck(emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {return false}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null){return false}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {for (var i=1;i<=4;i++){if (IPArray[i]>255) {return false}}return true}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {return false}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {return false}
	if (len<2) {return false}
	return true;
}