/**
 * Tab
 **/

function Tab(name,width,height){
	this.name      = name;
	this.width     = width;
	this.height    = height;
	this.container = 'tab_content';
	this.curtab    = 'tab_0';
	this.curBtn;

	this.init=function(){
		var lapok = this.getElementsByClassName('box','div');

		var maxheight=0;
		var i;
		if(this.height) for(i in lapok) if(maxheight<lapok[i].offsetHeight) maxheight=lapok[i].offsetHeight;
		else maxheight=this.height;
		for(i in lapok){
			if(lapok[i].tagName=="DIV"){
				if(i>0) lapok[i].style.display="none";
				lapok[i].style.width    = this.width+"px";
				lapok[i].style.height   = maxheight+"px";
			}
		}

		var cont=document.getElementById(this.container);
		if(cont){
			for(var i=0;i<cont.childNodes.length;i++){
				if((cont.childNodes[i].tagName=='DIV')&&(cont.childNodes[i].className=='tab')){
					cont.childNodes[i].style.background='url(images/browntab_over.jpg)';
					this.curBtn=cont.childNodes[i];
					break;
				}
			}
		}

		var rid=Math.floor(Math.random()*3);
		this.showTab('tab_'+rid,document.getElementById('tablink_'+rid));
	}

	this.setContainer=function(id){
		this.container=id;
	}

	this.showTab=function(tab,btn){
		var elozo=document.getElementById(this.curtab);
		elozo.style.display='none';
		if(this.curBtn) this.curBtn.style.background='url(images/browntab.jpg)';

		this.curtab=tab;
		document.getElementById(this.curtab).style.display='block';

		var button=btn.parentNode.parentNode;
		button.style.background='url(images/browntab_over.jpg)';

		this.curBtn=button;
	}

	this.getElementsByClassName=function(className, tag, elm){
		var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
		var tag = tag || "*";
		var elm = elm || document;
		var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
		var returnElements = [];
		var current;
		var length = elements.length;
		for(var i=0; i<length; i++){
			current = elements[i];
			if(testClass.test(current.className)){
				returnElements.push(current);
			}
		}
		return returnElements;
	}

	this.addInit(this.name);
}