function TabSplit()
{
	//Importent to set these settings.
	this.container;
	this.list;
	this.box;
	this.tab = new Array();
}

TabSplit.prototype.init = function(container_id, list_id) 
{
  this.container = document.getElementById(container_id);
  if (list_id)
  {
    this.list = document.getElementById(list_id);
  }
  else
  {
    var div = document.createElement('div');
     
    this.list = document.createElement('ul');
    div.appendChild(this.list);
    div.className = 'tab_split_list_div';
    this.container.appendChild(div);
  }
  
  this.box = document.createElement('div');
  this.container.appendChild(this.box);
  
  this.container.className = 'tab_split_cont';
  this.list.className = 'tab_split_list';
  this.box.className = 'tab_split_box';
}

TabSplit.prototype.addTab = function(box_id, tab_title, replace) 
{
  var box_source = document.getElementById(box_id);
  var box_source_elements = box_source.getElementsByTagName('*');
  var key = this.tab.length;
  var box_child = document.createElement('div');
  var list_child = document.createElement('li');
  var anchor = document.createElement('a');

  anchor.href = 'javascript://';
  anchor.innerHTML = tab_title;
  list_child.appendChild(anchor);
  list_child.key = key;
  list_child.class_obj = this;
  list_child.onclick = function()
  {
    var link;
  	for (var i = 0; i < this.class_obj.tab.length; i++)
    {
      link = this.class_obj.tab[i]['list'].getElementsByTagName('a')[0];
    
      if (this.class_obj.tab[i]['list'] == this)
      {
        //link.style.background = '#E7F0F7';
        this.class_obj.tab[i]['box'].style.display = 'block';
      }
      else
      {
        //link.style.background = '#F7F7F7';
        this.class_obj.tab[i]['box'].style.display = 'none';
      }
    }
  };
  this.list.appendChild(list_child);
  
  box_child.id = box_id
	for (var i = 0; i < box_source_elements.length; i++)
  {
    if (box_source_elements[i]) box_child.appendChild(box_source_elements[i]);
	}
	this.box.appendChild(box_child);
	box_source.parentNode.removeChild(box_source);
	
	this.tab[key] = new Array();
  this.tab[key]['id'] = box_id;
  this.tab[key]['title'] = tab_title;
  this.tab[key]['box'] = box_child;
  this.tab[key]['list'] = list_child;
  return list_child;
}

TabSplit.prototype.boundFunc = function(method) 
{
	var obj = this;
	return function() 
	{
		return method.apply(obj, arguments);
	};
}
