$('document').ready(function(){
    
    
    
    
    $('#newsletter p input[type="text"]').after('<span class="errorbox"></span>');
    
    $('#newsletter p input[type="text"]').blur(function(){
    	
    	
    	$(this).parent().addClass('white_form');
    
    });
    
    
    var is_newsletter = $('#newsletter').length;
    
    //Si il y a un élément newsletter nous lançons la fonction
    //(la variable contient soit 0 ou 1 qui sera traduit par false ou true)
    if( is_newsletter )
    {
    
    	$('#newsletter #email').focus(function(){
    		
    		$('#form_hidden').slideDown();
    	
    	});
    
    
    	$('#newsletter p').each(function(){
    		
    		//On teste la présence d’un champ texte
    		var is_text = $(this).find('input[type="text"]').length;
    		
    		if( is_text )
    		{
    			var placeholder = $(this).find('label').html();
    			
    			$(this).find('input').val(placeholder);
    			
    			$(this).find('label').css('display','none');
    			
    			$(this).children('input').focus(function(){
    				
    				//Lorsqu'on focus dessus on sauvegarde le contenu du champ
    				var actual_val = $(this).val();
    				
    				//Si le contenu du champ est identique au label…
    				if( actual_val == placeholder)
    				{
    					//…Alors on vide le champ
    					$(this).val('');
    				}
    				
    			});
    			
    			//Lorsqu’on quitte le champ…
    			$(this).children('input').blur(function(){
    				
    				//…On étudie la valeur actuelle du champ…
    				var actual_val = $(this).val();
    				
    				//…Si le champ est vide, l’utilisateur n’a rentré aucune information…
    				if( actual_val == '' )
    				{
    					//…Alors on remet la valeur par défaut
    					$(this).val(placeholder);
    				}
    			
    			});				
    		
    		}

    	});
    	
    	//Actions d’envoi de formulaire : vérification des données, puis envoi
    	$('#newsletter form').submit(function(){
    		
    		check_form();				
    						
    		//On vérifie qu’il n’y a pas d’erreur en regardant si les champs d’erreurs sont vides
    			var compteur = 0;
    			
    			$('.errorbox').each(function(){
    				
    				var test_lenght = $(this).html().length;
    				
    				if( test_lenght != 0 )
    				{
    					compteur++;
    				}
    			
    			
    			});
    			
    			//Si il n’y a pas de message d’erreur on envoie le formulaire !
    			if( compteur == 0 )
    			{
    				var _email = $('#email').val() ;
    				var _nom = $('#name').val();
    				var _pays = $('#f_2').val();
    				var _soc = $('#f_1').val();
    				
    				var url_to_send = $('#newsletter form').attr('action');
    				
    				var _data = {
    					
    					email : _email,
    					name : _nom,
    					f_2 : _pays,
    					f_1 : _soc
    				}
    				
    				$.ajax({
    					url : url_to_send,
    					type : "POST",
    					dataType : 'json',
    					data : _data,
    					success : function(data){
    						
    						
    						
    						if( data == true )
    						{
    							var new_content = '<p class="errorbox">Votre inscription a la newsletter a bien été envoyée.</p>';
    						}
    						else
    						{
    							var new_content = '<p class="errorbox">Erreur lors de votre inscription a la newsletter.</p>';
    						}
    						
    						$('#newsletter-wrap').html(new_content);
    						
    					
    					}
    				
    				});						
    			
    			}			
    			

    		
    		//On ne change pas de page quoiqu’il arrive
    		return false;
    		
    	
    	});	
    
    }
    
});

function check_form()
{
    $('#newsletter form').find('input[type="text"]').each(function(){
    			
    			var _value =  $(this).val();
    			
    			
    			
    			
    			if( _value ==  '' ) //Ceci n’est jamais censé arriver
    			{
    				$(this).siblings('.errorbox').html('Ce champ n’est pas rempli.');
    			}
    			
    					
    			if( _value == 'votre email' || _value == 'nom' || _value == 'pays' || _value == 'société'  )//Vide
    			{
    				$(this).siblings('.errorbox').html('Ce champ n’est pas rempli.');
    				$(this).parent().addClass('error_form');
    				
    			}
    			else
    			{
    				
    				$(this).siblings('.errorbox').html('');
    				$(this).parent().removeClass('error_form');
    			
    				var _id = $(this).attr('id');

    				switch( _id ){
    					
    					case 'email':								
    						
    						if( _value.search( /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z_]([-\.]?[0-9a-zA-Z_])*\.[a-zA-Z]{2,4}$/ ) == -1 )
    						{
    							$(this).siblings('.errorbox').html('L’adresse n’est pas correcte.');
    						}
    						
    					break;							
    				
    				}
    				
    			}
    			
    												
    		});

}
