/* ****************************************************

	@file         global.js
	@description  Comportements globaux
	@author       remi (ixmedia.com)
	vim: set noet ts=4 fdm=marker fenc=utf-8:

***************************************************** */

(function($) {

	$(function() {

/* @section Basic {{{
******************************************************************************/

/*}}}*/

/* @section Champs de recherche {{{
******************************************************************************/
		$('#i-recherche').focus(function() {
			var meta = $.metadata.get(this);
			if (meta && meta.libele) {
				if ( $(this).val() == meta.libele ) {
					$(this).val( '' ).removeClass('libele');
				}
			}									
		}).blur( function() {
			var meta = $.metadata.get(this);
			if (meta && meta.libele) {			
				if ( $(this).val() == '' ) {
					$(this).val( meta.libele ).addClass('libele');
				}
			}
		}).each( function(){
			var meta = $.metadata.get(this);
			if (meta && meta.libele)
				$(this).val() == meta.libele ? $(this).addClass('libele') : $(this).removeClass('libele') ;			
		});	
/*}}}*/

/* @section Overlay {{{
*******************************************************************************/
		$('.mdp-oublier').click(function(){
			ixbox.toggle('mdp-oublier');
			return false;
		});

		var ixbox = {
			init : function() {
				$('.form-overlay .fermer').live('click',function() {
					ixbox.toggle($(this).parent().parent().attr('id'));
				})
				$('#overlay').css('opacity', 0.54);
				$('.form-overlay').find('.loading, .confirmation, .form-erreur:not(".ouvert"), a.fermer').hide();

				$('.form-overlay[class*=ouvert]').each(function(){
						ixbox.toggle($(this).attr('id'));
				});

				$('#mdp-oublier form').submit(function() {
					
					$(this).find('input').removeClass('erreur');
					var valide = true;

					var courriel = $('#i-courriel').val();
					
					if (!courriel.match(/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i)) {
						$('#i-courriel').addClass('erreur');
						valide = false;
					}
					
					if (valide === true) {
						$(this).find('.champs, .confirmation').hide().parent().find('.loading').show();

						// envoi du courriel!
						$.ajax({
							type: 'post',
							url : $('#mdp-oublier form').attr('action'),
							data : {
								'courriel' : courriel
							},
							success : function(data) {
								// affichage de confirmation
								if (parseInt(data) == 1) {
									$('#mdp-oublier').find('.confirmation').show().parent().find('.loading, .champs').hide();
								} else {
									$('#mdp-oublier').find('.form-erreur').show().parent().find('.loading, .champs').hide();
								}
							}
						})
					}
					
					return false;
				})


			},
			toggle : function(id, callback) {
				$('.form-overlay').find('.loading, .confirmation, .form-erreur:not(".ouvert"),a.fermer').hide();								 
				$overlay = $('#overlay');
				$overlay.bgiframe();
				$form = $('#'+id);
				if ($overlay.is(':animated')) {
					$overlay.stop();
				}
				if ($overlay.is(':visible')) {
					$overlay.fadeOut(400, function() {
						if (callback) {
							callback();
						}
					});
					$form.slideUp();
					$form.find('input, textarea').val('').removeClass('erreur');
					$form.find('.loading, .confirmation, .form-erreur').hide().parent().find('.champs').show();
				} else {
					$('.form-overlay').find('a.fermer').hide();								 

					if ($.browser.msie && $.browser.version <= 6) {
						window.scrollTo(0,1);
					}
					$form.css('top', (100+$(window).scrollTop())+'px');
					$form.slideDown(600, function() {
						if ($.browser.msie) {
							$('a.fermer').show();				
						}	else{
							$('a.fermer').fadeIn('fast');	
						}							
						if (callback) {
							callback()
						}
					});

					$overlay.fadeIn();
				}
			}			
		};

		$(document).keypress(function(event) {
			if ($('#overlay').is(':visible')) {	if (event.keyCode == '27') { ixbox.toggle($('.form-overlay:visible').attr('id'));	}	}
		});

		ixbox.init();		
			
/*}}}*/

	})

})(jQuery);

