$(function() {
	var email = $("#dialog #email"),
		allFields = $([]).add(email),
		tips = $("#dialog #validateTips");
		
	var nom = $("#dialog #nom"),
		allFields = $([]).add(nom),
		tips = $("#dialog #validateTips");
		
	var prenom = $("#dialog #prenom"),
		allFields = $([]).add(prenom),
		tips = $("#dialog #validateTips");

	function updateTips(t) {
		tips.text(t).effect("highlight",{},1500);
	}

	function checkLength(o,n,min,max) {
		if ( o.val().length > max || o.val().length < min ) {
			o.addClass('ui-state-error');
			updateTips(n + " doit comporter entre "+min+" et "+max+".");
			return false;
		} else {
			return true;
		}
	}

	function checkRegexp(o,regexp,n) {
		if ( !( regexp.test( o.val() ) ) ) {
			o.addClass('ui-state-error');
			updateTips(n);
			return false;
		} else {
			return true;
		}

	}
	
	$("#dialog").dialog({
		bgiframe: true,
		autoOpen: false,
		height: 400,
		width: 400,
		modal: true,
		buttons: {
			"S'inscrire": function() {
				var bValid = true;
				allFields.removeClass('ui-state-error');

				bValid = bValid && checkLength(email,"email",6,80);
				bValid = bValid && checkLength(nom,"nom",2,80);
				bValid = bValid && checkLength(prenom,"prenom",2,80);
				bValid = bValid && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"eg. ui@jquery.com");
				
				if (bValid) {
					//$(this).dialog('close');
					//mon action ajax
					 $.ajax({
					   type: "POST",
					   url: "index.php/newsletter_users/add/",
					   data: "email=" + email.val() + "&nom=" + nom.val() + "&prenom=" + prenom.val(),
					   dataType: "text",
					   success: function (data, textStatus) {
								switch(data) {
									case "ok":
										updateTips("votre email a bien \351t\351 enregistr\351");
										setTimeout("$('#dialog').dialog('close')", 3000);
										break;
									case "yet":
										updateTips("votre email est d\351j\340 enregistr\351");
										break;
								}
							}
					 });
				}
			},
			"Annuler": function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			allFields.val('').removeClass('ui-state-error');
		}
	});
	
	$('#nslttr').click(function(ev) {
		ev.preventDefault();
		$('#dialog').css({'visibility' : 'visible'});
		$('#dialog').dialog('open');
	});
});