var TTabSheetChat = function (name,sheets,base_class)
{
	this.self = name;
	this.active_sheet = 0;
	this.sheets = sheets;
	this.OnClick = new Array();
	this.OnFirstClick = new Array();
	this.base_class = base_class || 'TTabSheetChat_';
}

TTabSheetChat.prototype.draw = function (intoTag)
{
	this.intoTag = intoTag;
	var parent = document.getElementById(this.intoTag);
	
	var common_div = document.createElement("div");
	common_div.id = this.self+'_common_div';
	common_div.className = this.base_class+'common_div';
	
	var top_div = document.createElement("div");
	top_div.id = this.self+'_top_div';
	top_div.className = this.base_class+'top_div';
	var sheets = this.sheets;
	for (var i=0;i<sheets.length;i++)
	{
		var tempdiv = document.createElement("div");
		tempdiv.id = this.self+'_tab'+i+'_div';
		if (this.active_sheet == i) tempdiv.className = this.base_class+'tabs_div_active';
		else tempdiv.className = this.base_class+'tabs_div';
		tempdiv.innerHTML = '<a href="javascript:'+this.self+'.set_active_sheet('+i+');">'+sheets[i]+'</a>';
		//if ((this.nodelete != 'Y' || i > 0)&&this.nodelete != 'All') tempdiv.innerHTML += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:'+this.self+'.delete_sheet('+i+');">x</a>';
		top_div.appendChild(tempdiv);
	}
	common_div.appendChild(top_div);
	
	var bottom_div = document.createElement("div");
	bottom_div.id = this.self+'_bottom_div';
	bottom_div.className = this.base_class+'bottom_div';
	
	for (var i=0;i<sheets.length;i++)
	{
		var tempdiv = document.createElement("div");
		tempdiv.id = this.self+'_work'+i+'_div';
		if (this.active_sheet == i) tempdiv.className = this.base_class+'work_div_active';
		else tempdiv.className = this.base_class+'work_div';
		tempdiv.innerHTML = '';
		bottom_div.appendChild(tempdiv);
	}
	common_div.appendChild(bottom_div);
	
	parent.appendChild(common_div);
	this.set_active_sheet(this.active_sheet);
}

TTabSheetChat.prototype.set_active_sheet = function(i)
{
	var tabsheet = document.getElementById(this.self+'_tab'+this.active_sheet+'_div');
	var worksheet = document.getElementById(this.self+'_work'+this.active_sheet+'_div');
	
	if (tabsheet!=null) tabsheet.className = this.base_class+'tabs_div';
	if (worksheet!=null) worksheet.className = this.base_class+'work_div';
	
	this.active_sheet = i;
	
	var tabsheet = document.getElementById(this.self+'_tab'+this.active_sheet+'_div');
	var worksheet = document.getElementById(this.self+'_work'+this.active_sheet+'_div');
	
	if (tabsheet!=null) tabsheet.className = this.base_class+'tabs_div_active';
	if (worksheet!=null) worksheet.className = this.base_class+'work_div_active';
	
	worksheet.visibility= 'visible';
	
	if (this.OnFirstClick[this.active_sheet]!=null&&this.OnFirstClick[this.active_sheet]!="undefined")
	{
		eval(this.OnFirstClick[this.active_sheet]);
		delete(this.OnFirstClick[this.active_sheet]);
	}
	if (this.OnClick[this.active_sheet]!=null&&this.OnClick[this.active_sheet]!="undefined") eval(this.OnClick[this.active_sheet]);
}

TTabSheetChat.prototype.add_sheet = function (caption,buttons,innerdata)
{
	this.sheets.push(caption);
	for (last in this.sheets) {}
	
	var top_div = document.getElementById(this.self+'_top_div');
	var tempdiv = document.createElement("div");
	tempdiv.id = this.self+'_tab'+last+'_div';
	tempdiv.className = this.base_class+'tabs_div';
	tempdiv.innerHTML = '<a href="javascript:'+this.self+'.set_active_sheet('+last+');">'+this.sheets[last]+'</a>';
	
	if (buttons != null)
	{
		for (var i=0;i<buttons.length;i++) tempdiv.innerHTML += '<a href="'+buttons[i].action+'" title="'+buttons[i].title+'" class="'+this.base_class+'ext_button">'+buttons[i].caption+'</a>';
	}

	top_div.appendChild(tempdiv);
	
	var bottom_div = document.getElementById(this.self+'_bottom_div');
	if (innerdata!=null && innerdata!='') 
	{
		var tempdiv = document.getElementById(innerdata);
		bottom_div.appendChild(tempdiv);
		tempdiv.id = this.self+'_work'+last+'_div';
		tempdiv.className = this.base_class+'work_div';
		tempdiv.style.display = '';
	}
	else
	{
		var tempdiv = document.createElement("div");
		tempdiv.id = this.self+'_work'+last+'_div';
		tempdiv.className = this.base_class+'work_div';
		tempdiv.innerHTML = '';
		bottom_div.appendChild(tempdiv);
		//this.sheets[last];
	}
	
	
	this.set_active_sheet(last);
	return last;
}

TTabSheetChat.prototype.append_to_sheet = function (into,app_elem)
{
//	var bottom_div = document.getElementById(this.self+'_bottom_div');
	var tempdiv = document.getElementById(this.self+'_work'+into+'_div');
	var app_elem_el = document.getElementById(app_elem);
	app_elem_el.style.display = 'inline';
	tempdiv.appendChild(app_elem_el);
//	app_elem_el.style.display = (navigator.appName == "Microsoft Internet Explorer") ? 'block' : 'table-cell';
	
}

TTabSheetChat.prototype.delete_sheet = function (i)
{
	if (i == null) i = this.active_sheet;
	
	var td = document.getElementById(this.self+'_tab'+i+'_div');
	var wd = document.getElementById(this.self+'_work'+i+'_div');
	
	td.innerHTML = '';
	td.style.display = 'none';
	wd.innerHTML = '';
	wd.style.display = 'none';
	
	delete(this.sheets[i]);
	if (this.active_sheet == i)
	{
		for (last in this.sheets) {}
		if (last!=null) this.set_active_sheet(last);
	}
}

TTabSheetChat.prototype.SetOnFirstSheetClick = function (sheet_id,action)
{
	this.OnFirstClick[sheet_id] = action;
}

TTabSheetChat.prototype.SetOnSheetClick = function (sheet_id,action)
{
	this.OnClick[sheet_id] = action;
}

TTabSheetChat.prototype.AddButtonToTab = function (tab_id,id_b,action,img_src,className,needshow)
{
	var tab_el = document.getElementById(this.self+'_tab'+tab_id+'_div');
	if (needshow == null || needshow == true) action += this.self+'.set_active_sheet('+tab_id+');';
	tab_el.innerHTML += '<img id="'+id_b+'" src="'+img_src+'" onclick="'+action+'" class="'+className+'" align="absmiddle" hspace=0 vspace=0>';
}