	var SeniorHealthForm = Class.create();
	SeniorHealthForm.prototype =
	{
		initialize: function(form_id){
			this.initializeRequiredFields();
			this.initializeEvents();
			this.lockReturnKey	= false;
			this.form_elements	= $$(".error");
		},

		/*************************************************
		 *initialize the validations for required elements
		 */
		initializeRequiredFields : function(){
			$("gender1_error").addClassName("required");
			$("dob1_on_error").addClassName("validate-dob");
			
			$("has_medicare_a_b_error").addClassName("validate-one-selected");
			$("has_esrd_error").addClassName("validate-one-selected");
			
			$("first_name_error").addClassName("validate-alpha");
			$("last_name_error").addClassName("validate-alpha");
			$("address1_street1_error").addClassName("required");
			$("address1_city_error").addClassName("validate-alpha");
			
      if($("address1_state_error") != null){
      	$("address1_state_error").addClassName("validate-state");
      }
      
      if($("address1_zip_error") != null){
      	$("address1_zip_error").addClassName("validate-zip");
      }
			
			$("phone1_error").addClassName("validate-phone");
			$("email1_error").addClassName("validate-email");
			$("privacy_policy_error").addClassName("validate-privacy");
		},

		/***************************************************************************************************
		 *add event listeners for submit button, return key and custom onclick/onchange
		 */
		initializeEvents : function(){
			Event.observe(document, 'keypress', this.validateOnReturnKey.bindAsEventListener(this));
			Event.observe('submit', 'click', this.validateFields.bindAsEventListener(this));
		},

		/***************************************************************************************************
		 *show/add functions
		 *takes hidden row, element and validation to apply/remove
		 */
		showAddValidations: function(name, element, validation_name){
			var name = String(name);
			$$(name).each(function(element){ element.show(); });
			$(element.id).addClassName(validation_name);
		},

		hideRemoveValidations: function(name, element, validation_name){
			var name = String(name);
			$$(name).each(function(element){ element.hide(); });
			$(element.id).hide();
			$(element.id).removeClassName(validation_name);
		},

		validateFields: function(e){
			var form			= new Validator(this.form_elements);
			var is_valid	= form.isFormValid();

			if(!is_valid) Event.stop(e);
		},

		validateOnReturnKey: function(e){
			if(e.keyCode == Event.KEY_RETURN){
				this.validateFields(e);
				Event.stop(e);
			}
		}
	}

	if (!(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 6)) {
		FastInit.addOnLoad(function() {
			var senior_health_form = new SeniorHealthForm();
		});
	}