
(function($){

window.ixbox = {
	init : function() {
		$('.form-overlay .fermer').click(function() {
			ixbox.toggle($(this).parent().parent().attr('id'));
		})
		$('#overlay').css('opacity', 0.8);
		$('.form-overlay').find('.loading, .confirmation, .form-erreur').hide();
		$('#envoyer form').submit(function() {

			$(this).find('input, textarea').removeClass('erreur');
			var valide = true;

			var auteur_nom 				= $('#auteur-nom').val();
			var auteur_courriel 		= $('#auteur-courriel').val();
			var destinataire_nom 		= $('#destinataire-nom').val();
			var destinataire_courriel 	= $('#destinataire-courriel').val();
			var commentaires 			= $('#commentaires').val();

			if (auteur_nom == "") {
				$('#auteur-nom').addClass('erreur');
				valide = false;
			}

			if (!auteur_courriel.match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i)) {
				$('#auteur-courriel').addClass('erreur');
				valide = false;
			}

			if (destinataire_nom == "") {
				$('#destinataire-nom').addClass('erreur');
				valide = false;
			}

			if (!destinataire_courriel.match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i)) {
				$('#destinataire-courriel').addClass('erreur');
				valide = false;
			}

			if (valide === true) {
				$(this).find('.champs, .confirmation').hide().parent().find('.loading').show();

				// Envoi du courriel!
				$.ajax({
					type: 'POST',
					url : '/envoyer-ami.php',
					data : {
						'auteur-nom' : auteur_nom,
						'auteur-courriel' : auteur_courriel,
						'destinataire-nom' : destinataire_nom,
						'destinataire-courriel' : destinataire_courriel,
						'commentaires' : commentaires,
						'url' : window.location.toString(),
						'title' : document.title
					},
					success : function(data) {
						// Affichage de confirmation
						if (parseInt(data) == 1) {
							$('#envoyer form').find('.confirmation').show().parent().find('.loading, .champs').hide();
						} else {
							$('#envoyer form').find('.form-erreur').show().parent().find('.loading, .champs').hide();
						}
					}
				})
			}
			return false;
		})

		$(document).keyup(function(e){
			keycode = (e == null) ? event.keyCode : e.which;
			if (keycode == 27 && $('#overlay').is(':visible')) { // close
				var id = $('.form-overlay:visible, .form-overlay-alt:visible, .form-overlay-video:visible').attr('id');
				ixbox.toggle(id);
			}
		});

	},
	toggle : function(id, callback) {
		$overlay = $('#overlay');
		$overlay.bgiframe();
		$form = $('#'+id);
		if ($overlay.is(':animated')) {
			$overlay.stop();
		}
		if ($overlay.is(':visible')) {
			$overlay.fadeOut(400);
			$form.slideUp();
			$form.find('input, textarea').val("").removeClass('erreur');
			$form.find('.loading, .confirmation, .form-erreur').hide().parent().find('.champs').show();
		} else {

			if ($.browser.msie && $.browser.version <= 6) {
				window.scrollTo(0,1);
			}

			$form.slideDown(600, function() {
				if (callback) {
					callback()
				}
			});

			$overlay.fadeIn();
		}
	}
};

})(jQuery);