function HTMLTab(divTab)
{	var debut=1;
	if (typeof divTab=="string") divTab=document.getElementById(divTab);
	
	divTab.enabled=function (onglet,value)
		{	if (typeof value=="undefined") return !this.onglets[onglet].disabled;

			if (this.onglets[onglet].disabled==(!value)) return false;
			this.onglets[onglet].disabled=(!value);
			this.onglets[onglet].tab.className=value?'off':'inactif';
			if (!value && this.value==onglet)
			{	for (var i in this.onglets)
				{	if (this.change(i)) break;
				}
			}
			return true;
		};

	divTab.label=function (onglet,value)
		{	if (typeof value=="undefined")
			{	v=this.onglets[onglet].tab.innerHTML;
				return v.substring(6,v.length-6);
			}
			else
			{	this.onglets[onglet].tab.innerHTML='&nbsp;'+value+'&nbsp;';
			}
		};

	divTab.visible=function (onglet,value)
		{	if (typeof value=="undefined") return this.onglets[onglet].visible;
		
			if (this.onglets[onglet].visible==value) return false;
		
			this.onglets[onglet].visible=value;
			this.onglets[onglet].tab.style.display=value?'':'none';
			this.length+=value?1:-1;
			
			for (var i in this.onglets)
			{	if (!value && this.value==onglet) this.change(i);
				this.onglets[i].tab.width=(100/this.length)+'%';
			}
			return true;
		};

	divTab.change=function (onglet)
		{	if (!this.onglets[onglet]) return false;
			if (this.onglets[onglet].disabled || !this.onglets[onglet].visible) return false;
			this.onglets[this.value].style.display='none';
			this.onglets[this.value].tab.className=this.onglets[this.value].disabled?'inactif':'off';
			this.value=onglet;
			this.onglets[this.value].style.display='';
			this.onglets[this.value].tab.className='on';
			if (this.ontabclick) try { eval(this.ontabclick); } catch (e) { alert('Erreur dans '+this.id+'.ontabclick() :\n'+e.message);};
			return true;
		};

	divTab.resize=function ()
		{	if (!this.onglets[this.value]) this.value='';
			for (var i in this.onglets)
			{	if (this.onglets[i].visible)
				{	if (this.value=='') this.value=i;
					this.onglets[i].tab.style.width=(100/this.length)+'%';
				}
			}
		};

	divTab.add=function (onglet)
		{	if (typeof onglet == "string") onglet=document.getElementById(onglet);
			if (!onglet || !onglet.id) return false;
			id=onglet.id;
			this.onglets[id]=onglet;
			if (this.value=='') this.value=id;

			// Insertion du contenu
			this.onglets[id].style.display=this.value==id?'':'none';
			if (!document.all)
			{	if (this.onglets[id].attributes['disabled'])
				{	if (this.onglets[id].attributes['disabled'].value.toString()=='')
					{ this.onglets[id].disabled=true;
					}
					else this.onglets[id].disabled=this.onglets[id].attributes['disabled'].value;
				}
				else this.onglets[id].disabled=false;
			}

			if (this.onglets[id].attributes['visible'])
			{	this.onglets[id].visible=(parseInt('0'+this.onglets[id].attributes['visible'].value)!=0);
			}
			else this.onglets[id].visible=true;
			if (this.onglets[id].visible) this.length++;
			this.tabBody.appendChild(this.onglets[id]);

			// Onglet
			var td=document.createElement('td');
			td.className=this.onglets[id].disabled?'inactif':((id==this.value?'on':'off'));
			td.style.whiteSpace='nowrap';
			td.style.display=this.onglets[id].visible?'':'none';
			td.value=id;
			td.tabParent=this;
			td.onclick=function()
				{	this.tabParent.change(this.value);
				}
			td.innerHTML='&nbsp;'+this.onglets[id].attributes['tabtitle'].value+'&nbsp;';
			td.title=this.onglets[id].title;
			this.onglets[id].tab=td;
			divTab.tabHead.appendChild(td);

			this.enabled(id,!this.onglets[id].disabled);
			this.visible(id,this.onglets[id].visible);
			this.resize();
			return true;
		};
		
	divTab.remove=function (id)
		{	if (!this.onglets[id]) return false;
		
			onglet=this.onglets[id];
		   this.visible(id,false);

			divTab.tabHead.removeChild(this.onglets[id].tab);
			delete onglet.tab;
			
			this.tabBody.removeChild(this.onglets[id]);
			delete this.onglets[id];

			this.resize();
			return true;
		};

	// Initialisation du classeur
	if (!divTab.attributes['value'])  divTab.value='';  else divTab.value =divTab.attributes['value'].value;
	if (!divTab.attributes['width'])  divTab.width='';  else divTab.width =divTab.attributes['width'].value;
	if (!divTab.attributes['height']) divTab.height=''; else divTab.height=divTab.attributes['height'].value;
	if (!divTab.attributes['type'])   divTab.type='';   else divTab.type  =divTab.attributes['type'].value;
	if (!divTab.attributes['ontabclick']) divTab.ontabclick=null; else divTab.ontabclick =divTab.attributes['ontabclick'].value;

	// Dessiner le classeur
	var table=document.createElement('table');
	table.className=divTab.className?divTab.className:'classeur0';
	table.cellSpacing="0";
	table.cellPadding="0";
	if (divTab.width) table.style.width=divTab.width;
	if (divTab.height) table.style.height=divTab.height;
	var tbody=document.createElement('tbody');

	// Onglets
	var tr=document.createElement('tr');
		var td;
		td=document.createElement('td');
			var table2;
			table2=document.createElement('table');
			table2.className="onglet";
			table2.cellSpacing="0";
			table2.cellPadding="0";
			table2.onselectstart=function(e) { return false; };
			table2.height="100%";
			var tbody2=document.createElement('tbody');
				var tr2,td2,content;
				tr2=document.createElement('tr');
				divTab.tabHead=tr2;
				tbody2.appendChild(tr2);
			table2.appendChild(tbody2);
			td.appendChild(table2);
		tr.appendChild(td);
	tbody.appendChild(tr);

	// Contenu
	tr=document.createElement('tr');
	tr.height="100%";
		td=document.createElement('td');
		td.className='corps';
		divTab.tabBody=td;
		tr.appendChild(td);
	tbody.appendChild(tr);

	table.appendChild(tbody);
	divTab.appendChild(table);

// Détournement bug IE (1/2)
// 	if (document.all)
// 	{	var savedata=new Object();
// 		for (var i in divTab.onglets)
// 		{	savedata[i]=new Object();
// 			for (var j=0;j<divTab.onglets[i].all.length;j++)
// 			{	var o=divTab.onglets[i].all[j];
// 				if (o.tagName.toLowerCase()=='input')
// 				{	if (o.type.toLowerCase()=='checkbox' || o.type.toLowerCase()=='radio')
// 						savedata[i][j]=o.checked;
// 				}
// 			}
// 		}
// 	}
//---

	var old=divTab.value;
	
	// Création des onglets
	divTab.length=0;
	divTab.onglets=new Object();
	for (i=debut; i<arguments.length; i++)
	{	divTab.add(arguments[i]);
	}
	
	// Onglet par défaut
	divTab.change(old);

// Détournement bug IE (2/2)
// 	if (document.all)
// 	{	for (var i in divTab.onglets)
// 		{	for (var j in savedata[i])
// 			{	divTab.onglets[i].all[j].checked=savedata[i][j];
// 			}
// 		}
// 	}
//---
}

