//Regex
var integer = "^[0-9]*$";
var validMail = "\\b[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}\\b";
var validDate = "^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)\\d\\d$";
var validTel = "^\\+?\\d{10,11}$";
var validMdp = "\\S{6,15}";

//Valide le contenu d'un ï¿½lï¿½ment par son id et une regex 
//sinon affiche le message
function isValid(expr, regex, message) {
	//Construction de la regex
	tester = new RegExp(regex);
	//Si regex invalide
	if ($(expr).attr('value')=="" || !tester.test($(expr).attr('value'))) {
		//afficher le message
		appendToToolTip(expr,message);
		return false;
	} else {
		removeFromToolTip(expr)
		return true;
	}
}

function isEqualValues(expr1, expr2, message) {
	if($(expr1).attr('value') == $(expr2).attr('value')) {
		return true;
		removeFromToolTip(expr1)
	} else {
		appendToToolTip(expr1,message);
		return false;
	}
}

function isEmptyValue(expr, message) {
	var empty = true;
	if($(expr).attr('type') == 'radio') {
		for (i=0; i<$(expr).size() ;i++){
			if ($(expr).get(i).checked ==true){
				empty=false;
				break
			}
		}	
	} else {
		empty = $(expr).val() == "";
	}

	if (empty) {
		//afficher le message
		appendToToolTip(expr, message);
		return true;
	} else {
		removeFromToolTip(expr);
		return false;
	}
}

function appendToToolTip(expr, message) {
	$(expr).css('border','#e31f1c 2px solid');
	exprErr = '#tooltipErreur';
	if(message != "") {
		if(!$(exprErr).html() == '') {
			$(exprErr).append('<br/>');
		}
		$(exprErr).append(message);
	}
}

function removeFromToolTip(expr) {
	$(expr).css('border','');
}

function valideContact() {
	
	var form = '#formContact';
	
	$('#tooltipErreur').empty();
	
	var empty = isEmptyValue(form+" input[name='nom']",'Veuillez indiquer votre nom');
	//empty = isEmptyValue(form+" input[name='civilite']",'Veuillez indiquer votre civilitée') || empty;
	empty = isEmptyValue(form+" input[name='prenom']",'Veuillez indiquer votre prénom') || empty;
	
	//var tel = isValid(form+" input[name='tel']", validTel, 'Téléphone invalide');
	
	var mail = isValid(form+" input[name='mail']", validMail, 'Mail invalide');
	mail = isValid(form+" input[name='conf_email']", validMail, 'Confirmation du mail invalide') && mail;
	if(mail) {
		mail = isEqualValues(form+" input[name='mail']",
							form+" input[name='conf_email']",
							'Le mail et sa confirmation ne correspondent pas') && mail;
	}
	
	if($('#tooltipErreur').html() != "") {
		var errOffsetTop = $(form).offset().top - -10;
		var errOffsetLeft = $(form).offset().left - -250;
		
		$('#tooltipErreur').css('top',errOffsetTop);
		$('#tooltipErreur').css('left',errOffsetLeft);
		$('#tooltipErreur').show();
	} 
	
	
	if(!empty && mail) {
	
	$.post("class/contactAjax.php", $('#formContact').serialize(),
		function (data) {
			if(data.indexOf('Erreur : ',0) > 0) {
			} else {
				$("#formContact *:not(#formContact input[type='hidden'])").val('');
			}
			dialogBox(data);
		});
	}	
}


function valideDevis() {
	
	var form = '#formContact';
	
	$('#tooltipErreur').empty();
	
	var empty = isEmptyValue(form+" input[name='nom']",'Veuillez indiquer votre nom');
	//empty = isEmptyValue(form+" input[name='civilite']",'Veuillez indiquer votre civilitée') || empty;
	empty = isEmptyValue(form+" input[name='prenom']",'Veuillez indiquer votre prénom') || empty;
	empty = isEmptyValue(form+" input[name='adresse']",'Veuillez indiquer votre adresse') || empty;
	
	var tel = isValid(form+" input[name='tel']", validTel, 'Téléphone invalide');
	
	var mail = isValid(form+" input[name='mail']", validMail, 'Mail invalide');
	mail = isValid(form+" input[name='conf_email']", validMail, 'Confirmation du mail invalide') && mail;
	if(mail) {
		mail = isEqualValues(form+" input[name='mail']",
							form+" input[name='conf_email']",
							'Le mail et sa confirmation ne correspondent pas') && mail;
	}
	
	if($('#tooltipErreur').html() != "") {
		var errOffsetTop = $(form).offset().top - -10;
		var errOffsetLeft = $(form).offset().left - -250;
		
		$('#tooltipErreur').css('top',errOffsetTop);
		$('#tooltipErreur').css('left',errOffsetLeft);
		$('#tooltipErreur').show();
	} 
	
	
	if(!empty && mail) {
	
	$.post("class/devisAjax.php", $('#formContact').serialize(),
		function (data) {
			if(data.indexOf('Erreur : ',0) > 0) {
			} else {
				$("#formContact *:not(#formContact input[type='hidden'])").val('');
			}
			dialogBox(data);
		});
	}	
}

function dialogBox(message) {
	
	var dialog = '#dialogBox';
	
	$('body').append('<div id="dialogBox">'+message+'</div>');
	
	$(dialog).dialog({
		draggable: false,
		resizable: false,
		title: 'Information',
		modal: true,
		close:function(){$(dialog).remove();}
	});
	
	$(dialog).click(function() {$(dialog).dialog('close')});
	
	$('.ui-widget-overlay').click(function() {$(dialog).dialog('close')});
	
	$(dialog).oneTime(5000, function() {$(dialog).dialog('close')});
}
