var validation = {
	missed: new Array(),
	rt: true,
	initialize: function( form,required,highlight,clearHighlight,alertMessage ) {
		validation.form = form;
		validation.required = required;
		validation.highlight = highlight;
		validation.clearHighlight = clearHighlight;
		validation.alertMessage = alertMessage;
	},
	check: function() {
		elements = Form.getElements( validation.form );
		if( validation.clearHighlight ) {
			elements.each( validation.clearBackground );
		}
		elements.all( validation.checkElement );
		if( validation.rt == false ) {
			if( validation.highlight ) {
				validation.missed.each( validation.highlightElement );
			}
			if( validation.alertMessage ) {
				alert( validation.alertMessage );
			}
			validation.rt = true;
			validation.missed.clear();
			return false;
		} else {
			return true;
		}
	},
	clearBackground: function( element ) {
		$( element ).style.background = validation.clearHighlight;
	},
	checkElement: function( element ) {
		var inArray = validation.required.indexOf( element.name );
		if( inArray != -1 && $F( element ) == '' ) {
			validation.missed.push( element.name );
			validation.rt = false;
		}
		return true;
	},
	highlightElement: function( element ) {
		$( element ).style.background = validation.highlight;
	}
}

validation.initialize( 'contact_form',[ 'full_name','email_address' ], '#fdd','#fff','Please fill in all the required fields.' );