{
	active: new Array,
	show: function(ns, no) {
		var atel = $(ns+'_tab_'+this.active[ns]);
		var ntel = $(ns+'_tab_'+no);
		var acel = $(ns+'_content_'+this.active[ns]);
		var ncel = $(ns+'_content_'+no);
		this.active[ns] = no;
		if(atel) {
			this.setTabActive(atel, false);
		}
		if(ntel) {
			this.setTabActive(ntel, true);
		}
		if(acel) {
			this.setContentActive(acel, false);
		}
		if(ncel) {
			this.setContentActive(ncel, true);
		}
		return false;
	},
	setTabActive: function(el, active) {
		el = $(el);
		if(el) {
			if(active) {
				el.addClassName('tab_active');
			} else {
				el.removeClassName('tab_active');
			}
		}
	},
	setContentActive: function(el, active) {
		el = $(el);
		if(el) {
			if(active) {
				el.setStyle({ display: 'block' });
			} else {
				el.setStyle({ display: 'none' });
			}
		}
	},
	create: function(el) {
		var el = $(el);
		if(!el) {
			return;
		}
		if(!el.id) {
			return;
		}
		if(this.active[el.id] != null) {
			return;
		}
		el.addClassName('tabs');
		var tabNo = 0;
		var divNo = 0;
		var html = '';
		for(var i = 0;i < el.childNodes.length;i++) {
			var child = el.childNodes[i];
			if(child.nodeName.toLowerCase() == 'ul') {
				child.style.display = 'none';
				for(var ii = 0;ii < child.childNodes.length;ii++) {
					var c = child.childNodes[ii];
					// c.className += ' tab_link';
					if(c.nodeName.toLowerCase() == 'li') {
						var cls = (tabNo == 0) ? 'tab_link tab_active' : 'tab_link';
						html += '<div id="'+el.id+'_tab_'+tabNo+'" class="'+cls+'">';
						for(var iii = 0;iii < c.childNodes.length;iii++) {
							cn = c.childNodes[iii];
							// var a = document.createElement('a');
							html += '<div class="tab-inner">'
							html += '<a href="#" onclick="TCMS.using(\'Tabs\', function(Tabs) { Tabs.show(\''+el.id+'\', '+tabNo+'); } );return false;">'+c.innerHTML+'</a>';
							html += '</div>'
						}
						html += '</div>';
						// el.innerHTML = html + el.innerHTML;
						tabNo++;
					}
				}
			} else if(child.nodeName.toLowerCase() == 'div') {
				html += '<div id="'+el.id+'_content_'+divNo+'" class="tab_content"';
				if(divNo == 0) {
					this.active[el.id] = 0;
				} else {
					html += ' style="display:none;"';
				}
				html += '>';
				html += '<div class="ts-inner">'+child.innerHTML+'</div>';
				html += '</div>';
				// child.
				divNo++;
			}
		}
		el.innerHTML = html;
		var borderTab = RUZEE.ShadedBorder.create({ corner: 15, shadow: 0, border: 0, edges:"tlr" });
		var borderContent = RUZEE.ShadedBorder.create({ corner: 15, shadow: 0, border: 0, edges:"tlrb" });
		for(var i = 0;i < tabNo;i++) {
			borderTab.render(el.id+'_tab_'+i);
		}
		for(var y = 0;y < divNo;y++) {
			borderContent.render(el.id+'_content_'+y);
		}
	}
}
