function RecordListButton(id, text)
{
  this.id = id;
  this.text = text;
  this.toolTip = text;
  this.image = null;
  this.parent = null;
  this.actionFilter = null;
  
  this.buttonClass = StyleButton.statics.Size["NORMAL"];
  
  this.onClick = new REvent();
  
  RegisterControl.statics.getInstance().add(this);
}

RecordListButton.prototype.getId = function()
{
  return this.id
}

RecordListButton.prototype.getDivId = function()
{
  return this.getId() + '_div';
}

RecordListButton.prototype.setToolTip = function(toolTip)
{
  this.toolTip = toolTip;
}

RecordListButton.prototype.setIcon = function(iconName)
{
  this.image = Icons[iconName];
}

RecordListButton.prototype.setButtonClass = function(buttonClass)
{
  this.buttonClass = buttonClass;
}

RecordListButton.prototype.init = function(parent)
{
  this.parent = parent;
}

RecordListButton.prototype.setActionFilter = function(actionFilter)
{
  this.actionFilter = actionFilter;
}

RecordListButton.prototype.attach = function(node, hidden)
{
  var div = document.createElement('div');
  div.id = this.getDivId();
  div.className = 'buttonDiv';
  if (hidden)
    div.style.display = 'none';
  node.appendChild(div);
  var button = new StyleButton(this.getId(), this.getId(), this.text, RecordListButton.statics.onClick, this.toolTip, this.image, this.buttonClass);
  button.PlaceInDom(div, Mixin_DomInsertable.statics.INSERTMETHOD_APPENDASCHILD);
}

RecordListButton.statics = new Object();

RecordListButton.statics.onClick = function()
{
  var params = new Array();
  var instance = RegisterControl.statics.decodeId(this.id, params);
  instance.onClick.trigger();
}