function hideBar(event){
  //$$('div.message_bar').first().hide();
  Effect.BlindUp($$('div.message_bar').first(),{duration:0.3})
  event.stop();
} 
function moreMessage(){
  var message = this;
  new Ajax.Request('/messages/ignore/'+message.id,{
    method: 'get',
    onSuccess:function(request){}
  }); 
}
function ignoreMessage(){
  var message = this;
 // Effect.BlindUp($$('div.message_bar').first(),{duration:0.3})
  $('container_loading_contacts').show();
  $('container_menu').removeClassName('bar_on');
  $('container_menu').addClassName('bar_off')
  Effect.BlindUp(message.answer(),{duration:0.3})
  new Ajax.Request('/messages/ignore/'+message.id,{
    //anynchronous:true,
    method: 'get',
    onComplete:function(request){
      $('message_bar').innerHTML = request.responseText
      $$('div.message_bar').first().show();
      $('container_menu').removeClassName('bar_off')
      $('container_menu').addClassName('bar_on')
      $('container_loading_contacts').hide();
      //Effect.BlindDown($$('div.message_bar').first(),{duration:0.3})
      bindAjaxLinks();
    }
  });
}

function showMessageBarAnswerForm(){
  var message = this;
  if(message.answer().visible()){
    Effect.BlindUp(message.answer(),{duration:0.3,afterFinish:function(){
      $('container_menu').removeClassName('answer_form_on');
    }})
  }else{
    new Ajax.Updater(message.answer(),'/messages/answer/'+message.id,{ansynchronous:true,evalScripts:true,
      onLoading: function(){
        $('container_loading_contacts').show();
        message.answer_btn().hide();
      },
      onComplete:function(request){
        $('container_loading_contacts').hide();
        Effect.BlindDown(message.answer(),{duration:0.3,afterFinish:function(){
          $('container_menu').addClassName('answer_form_on');
          message.answer().select('textarea').invoke('focus');
        }})
        $('close_message_bar').observe('click',function(){
          //message.answer().hide();
          $('container_menu').removeClassName('answer_form_on');
          Effect.BlindUp(message.answer(),{duration:0.3})
          message.answer_btn().show();
        }) 
      }
    });
  }
}

function bindAjaxLinks(){
  $$('div.message_bar').each(function(div,index){
    if(index == 0) div.show();
    var message_bar = new MessageBar(div);
    message_bar.answer_btn().observe('click',showMessageBarAnswerForm.bindAsEventListener(message_bar));
    message_bar.answer_btn().observe('dblclick',doNothing());
    message_bar.ignore_btn().observe('click',ignoreMessage.bindAsEventListener(message_bar));
    message_bar.more().observe('click',moreMessage.bindAsEventListener(message_bar));
  });
  //if(btn_ignore = $('btn_ignore')) btn_ignore.observe('click',hideBar);
}

function initAll(){
  bindAjaxLinks();
}

var MessageBar = Class.create({
  initialize: function(obj){
    this.id = obj.id.match(/\d+/);
    this.element_id = obj.id
  },
  element: function(){
    return $('message_bar_'+this.id);
  },
  answer_btn: function(){
    return $('btn_answer_'+this.id);
  },
  ignore_btn: function(){
    return $('btn_ignore_'+this.id);
  },
  answer: function(){
    return $('answer_form_'+this.id);
  },
  more: function(){
    return $('more_'+this.id); 
  }
});

Event.observe(document,'dom:loaded',initAll);
