var formEvent		= "";
var elementEvent	= "";
var formSelect		= "";
var AllOk			= true;
var submitIdentification	= false ;

var obj				= {    
						validate_fm: function(event) 
						{
							if( Event.element( event ).id == "formIdentification" )	submitIdentification = true ;

							if(event.target)	form = $(event.target.id);
							else				form = $(event.srcElement);

							elements	= $A(form.elements);							
							formEvent	= event;		
							formSelect	= Event.element( event ).id;
							elements.each(validate_element);

							if ( AllOk )
							{
								var dontReloadPage = true ;

								switch( Event.element( event ).id )
								{
									case "formIdentification" :
										logIn();
									break;

									case "formNewsletter" :
										inscriptionNewsletter();
									break;

									default :
										dontReloadPage = false;
									break;
								}

								if( dontReloadPage )	Event.stop( formEvent );
								
							}

						},
						
						validate_et: function(event) 
						{
							if(event.target)	form = $(event.target.id);
							else				form = $(event.srcElement.id);

							element			= $(form);
							elementEvent	= event;
							formSelect		= Event.element( event ).id;
							validate_element(element);
						}
					};

obj.validate_form = obj.validate_fm.bindAsEventListener(obj);
obj.validate_elem = obj.validate_et.bindAsEventListener(obj);


document.observe( "dom:loaded", function() 
								{
									var forms = document.forms;
									
									for( var i = 0; i < forms.length; i++ ) 
									{
										if( forms[i].id != "" )	Event.observe( forms[i].id, "submit", obj.validate_form );
									}
								}
);

function validate_regex( validator, element ) 
{
	var reg = regex[ validator ] ;
	if ( reg.exec( element.value ) )
	{
		if ( comparaison[ validator ] == "Egal" )	return true;
		else										return false;	
	}
	else
	{
		if ( comparaison[ validator ] == "Egal" )	return false;
		else										return true;
	}
}

function validate_element( element ) 
{
	validate_class_array = element.title.split( " " );
	AllOk				 = true;

    validate_class_array.each
	( 
		function( one_validate_class ) 
		{
			if( one_validate_class.search(/^\s*$/) == -1 )  
			{
				
				if( validate_regex( one_validate_class, element ) ) 
				{
					span_id = "error-span" + element.id;

					if($(span_id) != null)	$(span_id).remove();

					$( element ).removeClassName( errorCss[formSelect] );
					$( element ).addClassName( "success-validate" );

				} 
				else 
				{
					$( element ).removeClassName( "success-validate" );
					$( element ).addClassName( borderCss[formSelect] );
					
					span_id = "error-span" + element.id;

					if($(span_id) == null)	
					{
						element.insert(
							{ after: "<div id='" + span_id + "' style='display:none'><div class='" + errorCss[formSelect] + "-top'></div><div id='error_" + span_id + "' class='" + errorCss[formSelect] + "'><span>" + messages[one_validate_class] + "</span>" + "</div></div>" }
						);

						dimensionChamp = $( element ).getDimensions();
						dimensionWidth = dimensionChamp.width - 29 ;
						$( "error_"+span_id ).setStyle( { width : dimensionWidth+"px" } );

						Effect.Appear( span_id );                           
						//Event.observe(element, "change", obj.validate_elem);
						Event.observe(element, "keypress", obj.validate_elem);
					}
					Event.stop( formEvent );

					AllOk = false;
				}
			}            
		}
	);


}