if (!(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 6)) {
  Event.observe(window, 'load', function() {

    // Child rows
    showChildren($('number_of_children'));
    Event.observe('number_of_children', 'change', function() {
      showChildren($('number_of_children'));
    });
    
    ($("has_existing_carrier_0").checked) ? $('existing_carrier_row').hide() : $('existing_carrier_row').show();
    
    //Carrier
    if($('has_existing_carrier_1').checked){
      $('existing_carrier_row').show();
      $('existing_carrier').addClassName('validate-selection');
    }else{
      $('existing_carrier_row').hide();
      $('existing_carrier').removeClassName('validate-selection');
    }
    
    Event.observe('has_existing_carrier_0', 'click', function() {
      $('existing_carrier_row').hide();
      Validation.reset('existing_carrier');
      $('existing_carrier').removeClassName('validate-selection');
    });
    
    Event.observe('has_existing_carrier_1', 'click', function() {
      $('existing_carrier_row').show();
      $('existing_carrier').addClassName('validate-selection');
    });
    
    
    // Medication
    $F('takes_medications_1') ? $('insured1_current_medications_detail_row').show() : $('insured1_current_medications_detail_row').hide();

    Event.observe('takes_medications_0', 'click', function() {
      $('insured1_current_medications_detail_row').hide();
      $('insured1_current_medications_detail').removeClassName('required');
    });
    
    Event.observe('takes_medications_1', 'click', function() {
      $('insured1_current_medications_detail_row').show();
      $('insured1_current_medications_detail').addClassName('required');
    });
    
    // Pre Existing Conditions
    $F('pre_existing_1') ? $('pre_existing_conditions_row').show() : $('pre_existing_conditions_row').hide();

    Event.observe('pre_existing_0', 'click', function() {
      $('pre_existing_conditions_row').hide();
    });
    
    Event.observe('pre_existing_1', 'click', function() {
      $('pre_existing_conditions_row').show();
    });
    
    //Bundle
    /*
    $F('agreed_to_bundle') ? $('life_policy_amount_row').show() : $('life_policy_amount_row').hide();
    Event.observe('agreed_to_bundle', 'click', function() {
      $F('agreed_to_bundle') ? $('life_policy_amount_row').show() : $('life_policy_amount_row').hide();
    });
    */
    
    Event.observe('gender2', 'change', function() {
      var gender = $F('gender2');

      if ( gender.length != 0 ) {
        $('gender2').addClassName('validate-selection');
        $('insured2_height_inches').addClassName('validate-all-selection');
        $('insured2_weight').addClassName('required');
        $('dob2_yyyy_on').addClassName('validate-three-part-dob');
      } else {
        Validation.reset('gender2');
        Validation.reset('insured2_height_inches');
        Validation.reset('insured2_weight');
        Validation.reset('dob2_yyyy_on');
        
        $('gender2').removeClassName('validate-selection');
        $('insured2_height_inches').removeClassName('validate-all-selection');
        $('insured2_weight').removeClassName('required');
        $('dob2_yyyy_on').removeClassName('validate-three-part-dob');
      }
    });

    // Children on gender change
    Event.observe('gender3', 'change', function() { changeValidationForInsured(3) });      
    Event.observe('gender4', 'change', function() { changeValidationForInsured(4) });      
    Event.observe('gender5', 'change', function() { changeValidationForInsured(5) });      
    Event.observe('gender6', 'change', function() { changeValidationForInsured(6) });      
    Event.observe('gender7', 'change', function() { changeValidationForInsured(7) });      
    Event.observe('gender8', 'change', function() { changeValidationForInsured(8) });

    // Validations
  	new Validation('health-form',{ immediate: false });
  });
}

function showChildren(el) {
  var num_children = $F(el);

  for (var i = 1;i <= 6; i++) {
    var id      = 'child-' + i;
    var insured = i + 2;
    
    if ( i <= num_children ) {
      $(id).show();
    } else {
      $(id).hide();
      $('gender' + insured).value = '';
      changeValidationForInsured(insured);
    }
  }
}

function changeValidationForInsured(insured) {
  var id      = 'gender' + insured;
  var gender  = $F(id);
  
  if ( gender.length != 0 ) {
    $('gender' + insured).addClassName('validate-selection');
    $('insured' + insured + '_height_inches').addClassName('validate-all-selection');
    $('insured' + insured + '_weight').addClassName('required');
    $('insured' + insured + '_weight').addClassName('validate-number');
    $('dob' + insured + '_yyyy_on').addClassName('validate-three-part-dob');
  } else {
    Validation.reset('gender' + insured);
    Validation.reset('insured' + insured + '_height_inches');
    Validation.reset('insured' + insured + '_weight');
    Validation.reset('dob' + insured + '_yyyy_on');

    $('gender' + insured).removeClassName('validate-selection');
    $('insured' + insured + '_height_inches').removeClassName('validate-all-selection');
    $('insured' + insured + '_weight').removeClassName('required');
    $('insured' + insured + '_weight').removeClassName('validate-number');
    $('dob' + insured + '_yyyy_on').removeClassName('validate-three-part-dob');
  }
}