 	var BasicValidate = 
	{
		//////////////////////////////////////////////////
		Form: function(form, validate_event, required_class, error_class)
		{
			var form_id = (form.id != undefined) ? form.id : form;
			
			var field_errors 	= 0;
    		var required_class  = (required_class != undefined) ? required_class : 'mandatoryfield';
    		var error_class 	= (error_class != undefined) ? error_class : 'errorfield';

			//---[ get fields ]---
			var inputs = $(form_id).getInputs();

			for( i=0; i < inputs.length; i++ )
			{
				var field_name = inputs[i].name;

				if( $(field_name).hasClassName(required_class) )
				{
					if( $(field_name).value.blank() )
					{
						BasicValidate.SetError(field_name, true, error_class);

						field_errors++;
					}
					else
					{
						BasicValidate.SetError(field_name, false, error_class);
					}
				}
			}

			if( validate_event != null )
				field_errors += validate_event(this);  
    		

			if( field_errors == 0 )
				return true;
			else
				return false;
		},
		//////////////////////////////////////////////////
		SetError: function(field_name, error_on, error_class )
		{
			var error_class = (error_class != undefined ) ? error_class : 'errorfield';
		
			if( error_on == undefined || error_on == true )
				Element.addClassName(field_name, error_class);
			else
				Element.removeClassName(field_name, error_class);
		},            		
		IsValidEmail: function(email)
		{
			var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

			return pattern.test(email);
		}
	};		
