$(document).ready(function () {


	$('form:not(.noValid)').live('submit', formValidate);

	function formValidate()
	{
		var formSource = $(this);

		$.post( base_url+$(this).attr('action'), $(this).serialize(), function(json)
		{
			$.each(json, function(fieldName, error)
			{
				
				
				
				if(error == null) // plus d'erreur, on cache
				{
					$('#error_'+fieldName).fadeOut(400, function() { $(this).remove() } );
				}
				else if($('#error_'+fieldName).length == 1 && $('#error_'+fieldName).html() != error) // il y avait deja une erreur, on l'�crase si elle est diff�rente
				{
					$('#error_'+fieldName).fadeOut(400, function() { 
						$(this).remove() 
						$('[name='+fieldName+']').after('<div id="error_'+fieldName+'" class="error">'+error+'</div>');
						$('#error_'+fieldName).fadeIn(400);
					} );
					
				}
				else if($('#error_'+fieldName).length == 1 && $('#error_'+fieldName).html() == error) // il y avait deja une erreur et c'est la meme
				{
					// on ne fait rien
				}
				else // l'erreur n'existe pas encore, on l'affiche
				{
					$('[name='+fieldName+']').after('<div id="error_'+fieldName+'" class="error">'+error+'</div>');
					$('#error_'+fieldName).fadeIn(400);
				}
				
				
				if(fieldName == 'success')
				{
					formSource[0].reset();
                                        
                    if(error != '')
					alert(error);
				}
				else if(fieldName == 'callback')
				{
					window[error]();
				}
				
			});
		
			
		},'json');
		
		return false;
		
	}
	
});


$('[class=error]').live('click', function() { $(this).fadeOut(400, function() { $(this).remove() } ); } );


function reload()
{
    window.location.href = window.location.pathname;
}

function refresh()
{
    location.reload(true);
}

function refresh2()
{
    location.reload(false);
}
