




function isstab(ele) {
	if(isempty(ele)) return false;
	else if(!isdefined(ele.eletype)) return false;
	else if(ele.eletype==81) return true;
	return false;
}

function newstab(id) {
	var ele=newtbele(id); if(!ele) return false; 
	if(ele.eletype==81) return ele;
	ele.eletype=81;
	
	ele.stabid=id;
	ele.stabw=0; ele.stabh=0;
	ele.stabtotalcell=0;
	ele.stabcurrentcell=0;
	ele.stabtotallen=0;
	ele.stabaveragelen=0;
	ele.stabexpandlen=0;
	ele.stabcollapselen=0;
	ele.staborientation=0;
	ele.stabatrestore=0;
	
	ele.stabcell=new Object;
	ele.stabcelldiv=new Object;
	
	ele.stabset=stabset;
	ele.stabexpand=stabexpand;
	ele.stabrestore=stabrestore;

	return ele;
}

function stabset(orientation,atrestore,expandlen) {
	var tb=this;
	tb.staborientation=orientation;
	if(tb.staborientation==0) tb.stabtotalcell=tb.gettotalcell(1);
	else if(tb.staborientation==1) tb.stabtotalcell=tb.gettotalrow();
	for(var c1=0;c1<tb.stabtotalcell;c1++) {
		var row=0; var cell=0;
		if(tb.staborientation==0) { row=1;cell=c1+1; }
		else if(tb.staborientation==1) { row=c1+1;cell=1; }
		tb.getcell(row,cell).id=tb.stabid+'cell'+c1;
		tb.stabcell[tb.getcell(row,cell).id]=newvele(tb.getcell(row,cell));
		tb.stabcelldiv[tb.getcell(row,cell).id]=newvele(tb.stabcell[tb.getcell(row,cell).id].getelebytag('div')[0]);
	}
	for(var k in tb.stabcell) tb.stabcelldiv[k].style.display='none';
	tb.stabw=tb.getw(); tb.stabh=tb.geth();
	if(tb.staborientation==0) tb.stabtotallen=tb.stabw;
	else if(tb.staborientation==1) tb.stabtotallen=tb.stabh;
	tb.stabaveragelen=Math.round(tb.stabtotallen/tb.stabtotalcell);
	tb.stabexpandlen=expandlen;
	tb.stabcollapselen=(tb.stabtotallen-tb.stabexpandlen)/(tb.stabtotalcell-1);
	for(var k in tb.stabcell) {
		tb.stabcelldiv[k].style.overflow='hidden';
		if(tb.staborientation==0) {
			tb.stabcell[k].setw(tb.stabaveragelen);
			tb.stabcell[k].seth(tb.stabh);
			tb.stabcelldiv[k].setw(tb.stabaveragelen);
			tb.stabcelldiv[k].seth(tb.stabh);
		} else if(tb.staborientation==1) {
			tb.stabcell[k].seth(tb.stabaveragelen);
			tb.stabcell[k].setw(tb.stabw);
			tb.stabcelldiv[k].seth(tb.stabaveragelen);
			tb.stabcelldiv[k].setw(tb.stabw);
		}
		tb.stabcelldiv[k].style.display='';
	}
	tb.stabatrestore=atrestore;
	for(var k in tb.stabcell) {
		eval("tb.stabcell['"+k+"'].addevent('mouseover',function(){this.style.cursor='pointer';tb.stabexpand('"+k+"');})");
		eval("tb.stabcell['"+k+"'].addevent('mousemove',function(){this.style.cursor='pointer';tb.stabexpand('"+k+"');})");
		if(tb.stabatrestore) eval("tb.stabcell['"+k+"'].addevent('mouseout',function(){tb.stabrestore('"+k+"');})");
	}
}
function stabexpand(entry) {
	var tb=this;
	if(tb.stabcurrentcell==entry) return; tb.stabcurrentcell=entry;
	var start=0; var stop=0;
	for(var k in tb.stabcell) {
		if(k==entry) stop=tb.stabexpandlen;
		else stop=tb.stabcollapselen;
		if(tb.staborientation==0) {
			start=tb.stabcell[k].getw();
			/*tb.stabcell[k].resize('at',3,
				'at','at',start,stop,
				//tb.stabcell[entry].getw()*30/100,0.23,tb.stabcol[entry].getw(),tb.stabcollapsew,
				0,0,tb.stabh,tb.stabh,
				function(){});*/
			tb.stabcelldiv[k].resize('at',3,
				'at','at',start,stop,
				//tb.stabcell[entry].getw()*30/100,0.23,tb.stabcol[entry].getw(),tb.stabcollapsew,
				0,0,tb.stabh,tb.stabh,
				function(){});
		} else if(tb.staborientation==1) {
			start=tb.stabcell[k].geth();
			/*tb.stabcell[k].resize('at',3,
				0,0,tb.stabw,tb.stabw,
				'at','at',start,stop,
				//tb.stabrow[entry].geth()*30/100,0.23,tb.stabrow[entry].geth(),tb.stabcollapseh,
				function(){});*/
			tb.stabcelldiv[k].resize('at',3,
				0,0,tb.stabw,tb.stabw,
				'at','at',start,stop,
				//tb.stabrow[entry].geth()*30/100,0.23,tb.stabrow[entry].geth(),tb.stabcollapseh,
				function(){});
		}
	}
}
function stabrestore(entry) {
	var tb=this;
	var start=0; var stop=0;
	for(var k in tb.stabcell) {
		stop=tb.stabaveragelen;
		if(tb.staborientation==0) {
			start=tb.stabcell[k].getw();
			/*tb.stabcell[k].resize('at',3,
				'at','at',start,stop,
				//tb.stabcell[entry].getw()*30/100,0.23,tb.stabcol[entry].getw(),tb.stabcollapsew,
				0,0,tb.stabh,tb.stabh,
				function(){tb.stabcurrentcell=0;});*/
			tb.stabcelldiv[k].resize('at',3,
				'at','at',start,stop,
				//tb.stabcell[entry].getw()*30/100,0.23,tb.stabcol[entry].getw(),tb.stabcollapsew,
				0,0,tb.stabh,tb.stabh,
				function(){tb.stabcurrentcell=0;});
		} else if(tb.staborientation==1) {
			start=tb.stabcell[k].geth();
			/*tb.stabcell[k].resize('at',3,
				0,0,tb.stabw,tb.stabw,
				'at','at',start,stop,
				//tb.stabrow[entry].geth()*30/100,0.23,tb.stabrow[entry].geth(),tb.stabcollapseh,
				function(){tb.stabcurrentcell=0;});*/
			tb.stabcelldiv[k].resize('at',3,
				0,0,tb.stabw,tb.stabw,
				'at','at',start,stop,
				//tb.stabrow[entry].geth()*30/100,0.23,tb.stabrow[entry].geth(),tb.stabcollapseh,
				function(){tb.stabcurrentcell=0;});
		}
	}
}





