function ATopTabSourceDiv(objectID) {
	ABase.register(
		{
			name:'ATopTabSourceDiv',
			id: objectID,
			object: this
		}
	) ;
}

ATopTabSourceDiv.prototype.init = ABase.init ;

ATopTabSourceDiv.prototype.first = function() {
	var tabs = this.container.controls.tabs ;
	if (tabs.length) {
		tabs[0][this.tabFunction]() ;
	}
}

ATopTabSourceDiv.prototype.on_init_tabs = function() {
	var container  = this.container ;
	var controls = container.controls ;
	
	var childs = this.dataProvider.childNodes ;
	var table = $table(1, childs.length) ;
	var tabClassName = this.id + '-Tab ' ;
	var divs = [] ;
	for (var i = 0 ; i < childs.length ; i++) {
		var child = childs[i] ;
		if (child.tagName == undefined) {
			continue ;
		}
		divs.push(child) ;
	}
	
	controls.tabs = [] ;
	var table = $table(1, divs.length) ;
	container.header.appendChild(table) ;
	
	for (var i = 0 ; i < (cells = table.rows[0].cells).length ; i++) {
		var child = divs[i] ;
		var cell = cells[i] ;
		cell.child = child ;
		cell.id = container.id + '-Tab-' + i
		cell.innerHTML = child.getAttribute("label") ;
		cell[this.tabFunction] = function() {
			//if (ie) container.main.filters[0].apply() ;
			if (this.child.style.display == 'block') {
				return ;
			}
			for (var i = 0 ; i < (cells = this.parentNode.cells).length ; i++) {
				cells[i].child.style.display = 'none' ;
				cells[i].className = 'ATopTabSourceDiv-Tab ATopTabSourceDiv-Tab-Off ' + tabClassName + ' ' + container.id + '-Tab-Off';
			}
			this.child.style.display = 'block' ;
			this.className = 'ATopTabSourceDiv-Tab ATopTabSourceDiv-Tab-On ' + tabClassName + ' ' + container.id + '-Tab-On' ;
			container.main.className = 'ATopTabSourceDiv-Main ' + container.id + '-Main ' + container.id + '-Main-On' ;
			Dom.show(this.id, 500) ;
			if (container.onTabChange) {
				container.onTabChange() ;
			}
		}
		
		child.style.display = 'none' ;
		container.main.appendChild(child) ;
		controls.tabs.push(cell) ;
	}
	
	container.header.appendChild(table) ;
}

ATopTabSourceDiv.prototype.on_init_mirror = function() {
	var mirror = this.container.controls.mirror = document.createElement('DIV') ;
	document.add(mirror) ;
	with (mirror.style) { 
		//filter = "alpha(opacity:10)" ; 
		position = "absolute" ;
	}
	mirror.className = 'ATopTabSourceDiv-Mirror ' + this.id + "-Mirror" ;
}

ATopTabSourceDiv.prototype.on_instance_container = function() {
	var container  = this.container = $table(2, 1) ;
	container.className = 'ATopTabSourceDiv-Container ' + this.id + '-Container' ;
	container.header = container.rows[0].cells[0] ;
	container.header.className = 'ATopTabSourceDiv-Header ' + this.id + '-Header' ;
	container.main = container.rows[1].cells[0] ;
	if (ie) container.main.style.filter = "progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=0.25,wipestyle=1,motion=forward)" ;
	container.main.vAlign = 'TOP' ;
	container.main.className = 'ATopTabSourceDiv-Main ' + this.id + '-Main' ;
	container.controls = {} ;
}



/*


var aTopTabSourceDiv1 = new ATopTabSourceDiv('aTopTabSourceDiv1') ;
aTopTabSourceDiv1.dataProvider = $("ForATopTab1Component") ;
aTopTabSourceDiv1.owner = $("tdtab1") ;
aTopTabSourceDiv1.onTabChange = function() {
}
aTopTabSourceDiv1.tabFunction = "onclick" ;
aTopTabSourceDiv1.init() ;


<div id="ForATopTab1Component">
	<div label="Highlights">
			text
	</div>
</div>

*/




