/*
 * Copyright (c) Spookies Co.,Ltd
 * http://www.spookies.co.jp
 */

var Message = Class.create();
Message.INFO = {id:1, className:'message-info'};
Message.ERROR = {id:2, className:'message-error'};
Message.WARNING= {id:3, className:'message-warning'};

Message.prototype = {
  initialize: function(msg, level, options) {
    this.options = Object.extend({
                                   parent: false
                                 }, options || {});
    this.document = this.options.parent ? parent.document : document;
    this.message = msg;
    this.level = level;
    this.domNode = this._createDomNode();
  },

  _createDomNode: function() {
    var messageNode = this.document.createElement('div');
    messageNode.className = this.level.className;
    var msg_span = this.document.createElement('span');
    msg_span.innerHTML = this.message;
    messageNode.appendChild(msg_span);
/*
    var closeBtn = this.document.createElement('img');
    with(closeBtn){ src = '/images/close.gif'; alt = 'close'; className = 'link close-button';};
    Event.observe(closeBtn, 'click', function(){messageNode.remove();});
    messageNode.appendChild(closeBtn);
*/
    this.document.getElementById('message_bar').appendChild(messageNode);
    Rico.Corner.round(messageNode);
    return messageNode;
  },

  destroy: function() {
    this.domNode.remove();
  }
}
Message.clear = function(options) {
  if (options && options.parent) {
    parent.document.getElementById('message_bar').innerHTML = '';
  } else {
    $('message_bar').innerHTML = '';
  }
}

/**
 * チェックボックスをすべてチェックする/すべてチェック外す。
 */
function toggleCheckboxAll(selector, model) {
  var cbs = $$(selector);
  var len = cbs.length;
  for (var i=0;i<len;i++) {
    var e = cbs[i];
    if (e.tagName == 'INPUT') {
      if (model != undefined) {
        e.checked = model.checked;
      } else {
        if (e.checked) {
          e.checked = false;
        } else {
          e.checked = true;
        }
      }
    }
  }
}
