var CoachRasage = function( triggerElement, formElement, addTriggerElement ) {
  this.trigger = triggerElement;
  this.form = formElement;
  this.add_field_trigger = addTriggerElement;
  this.visible = ( this.trigger.className.indexOf( 'selected' ) != -1 );
  this.input_num = 1;

  this.onTriggerClick = function( e ) {
    DOMEvent.preventDefault( e );
    if ( !this.visible ) {
      this.trigger.className = 'trigger selected';
      this.form.style.display = 'block';
      this.visible = true;
    } else {
      this.trigger.className = 'trigger';
      this.form.style.display = 'none';
      this.visible = false;
    }
  }

  this.onAddTriggerClick = function( e ) {
    DOMEvent.preventDefault( e );
    if ( this.input_num >= 5 )
      return ;
    var p = document.createElement( 'p' );
    p.className = 'criteria';
    var input = document.createElement( 'input' );
    input.type = 'text';
    input.name = 'email_' + this.input_num;
    p.appendChild( input );
    this.add_field_trigger.parentNode.parentNode.insertBefore( p, this.add_field_trigger.parentNode );
    this.input_num++;
  }

  this.onFormSubmit = function( e ) {
    this.form.action += '/' + this.input_num;
  }

  addListener( this.trigger, 'click', Delegate.create( this, 'onTriggerClick' ) );
  addListener( this.add_field_trigger, 'click', Delegate.create( this, 'onAddTriggerClick' ) );
  addListener( this.form, 'submit', Delegate.create( this, 'onFormSubmit' ) );
}

addListener( window, 'load', function() {
  var cr = new CoachRasage( document.getElementById( 'envoyer_ami_trigger' ), document.getElementById( 'envoyer_ami' ), document.getElementById( 'envoyer_ami_add_trigger' ) );
  var inputs = document.getElementsByTagName( 'input' );
  var count = 0;
  for( var i=0; i<inputs.length; i++ ) {
    if ( inputs[ i ].type == 'text' ) {
      inputs[ i ].__defaultValue = inputs[ i ].value;
      inputs[ i ].onfocus = function() {
        if ( this.value == this.__defaultValue )
          this.value = '';
      }
      inputs[ i ].onblur = function() {
        if ( '' == this.value.trim() )
          this.value = this.__defaultValue;
      }
      if ( inputs[ i ].name == 'email_' + count )
        count++;
    }
  }
  cr.input_num = count;
} );