Event.observe(window, 'load', function (event) {
    $('dobMonth').observe('change', function (event) {

        var maxBoundary = 30;

        switch (parseInt(event.element().value)) {
          case 2:
            maxBoundary = 28;
            break;

          case 1:
          case 3:
          case 5:
          case 7:
          case 8:
          case 10:
          case 12:
            maxBoundary = 31;
            break;
        }
        
        $$('#dobDay option').each( function (option) { option.remove() });
        
        var days = $('dobDay');

        days.options[days.options.length] = new Option('', '');
        
        for (var i=1; i<=maxBoundary; i++) {
          days.options[days.options.length] = new Option(i, i);
        } 
    })

    $$('select.dob').each( function (select) {
      select.observe('change', function (event) {
          if ( ( $('dobYear').value != '' ) && 
               ( $('dobMonth').value != '' ) &&
               ( $('dobDay').value != '' ) ) {
            
            var now = new Date();
            var age = now.getFullYear() - $('dobYear').value;

            if ( parseInt($('dobMonth').value) > 9 ) age--; 
            if ( ( $('dobMonth').value == 9 ) && ( $('dobDay').value < 30 ) ) age--; 
            
            if (age <= 0) {            
              $('ageValue').innerHTML = '-';
              $('age').value = '-';
            } else {    
              $('ageValue').innerHTML = age + ' ans';
              $('age').value =  age + ' ans';
            }    

          } else {
            $('ageValue').innerHTML = '-';     
            $('age').value = '-';
          }
        });
    });
});
