




function issltb(ele) {
	if(isempty(ele)) return false;
	else if(!isdefined(ele.eletype)) return false;
	else if(ele.eletype==71) return true;
	return false;
}

function newsltb(sltbid) {
	var ele=newvele(sltbid+'c'); if(!ele) return false; 
	if(ele.eletype==71) return ele;
	ele.eletype=71;

	ele.sltbt=newtbele(sltbid);
	ele.sltbw=0; ele.sltbh=0;
	ele.sltborientation=0;
	ele.sltbtotalcell=0;
	ele.sltbcurrentcellpos=0;
	ele.sltbcurrentpos=0;
	ele.sltbismoving=0;
	ele.sltbuptrigger=0;
	ele.sltbdowntrigger=0;
	
	ele.sltbset=sltbset;
	ele.sltbslide=sltbslide;
	ele.sltbfixpos=sltbfixpos;
	ele.sltbsetpos=sltbsetpos;

	return ele;
}

function sltbset(orientation,uptrigger,downtrigger) {
	var container=this; var transport=container.sltbt;
	container.sltborientation=orientation;
	container.sltbw=container.getw(); container.sltbh=container.geth();
	container.sltbcurrentcellpos=2;
	var firstcell=0; var lastcell=0;
	var firstshadow=0; var lastshadow=0;
	var nodes=0;
	if(container.sltborientation==0) {
		container.sltbtotalcell=transport.gettotalcell(1);
		transport.setstyle("position:relative;"); transport.setx(container.sltbw*-1); transport.sety(0);
		transport.setw(container.sltbw*(container.sltbtotalcell+2)); transport.seth(container.sltbh);
		for(var c1=0;c1<container.sltbtotalcell;c1++) velesetw(container.sltbw,transport.getcell(1,c1+1));
		firstcell=newvele(transport.getcell(1,1)); lastcell=newvele(transport.getcell(1,container.sltbtotalcell));
		transport.insertcell(1,0,1); firstshadow=newvele(transport.getcell(1,1));
		transport.insertcell(1,container.sltbtotalcell+1,1); lastshadow=newvele(transport.getcell(1,container.sltbtotalcell+2));
	} else if(container.sltborientation==1) {
		container.sltbtotalcell=transport.gettotalrow();
		transport.setstyle("position:relative;"); transport.setx(0); transport.sety(container.sltbh*-1);
		transport.setw(container.sltbw); transport.seth(container.sltbh*(container.sltbtotalcell+2));
		for(var c1=0;c1<container.sltbtotalcell;c1++) veleseth(container.sltbh,transport.getcell(c1+1,1));
		firstcell=newvele(transport.getcell(1,1)); lastcell=newvele(transport.getcell(container.sltbtotalcell,1));
		transport.insertrow(0,1); firstshadow=newvele(transport.getcell(1,1));
		transport.insertrow(container.sltbtotalcell+1,1); lastshadow=newvele(transport.getcell(container.sltbtotalcell+2,1));
	}
	firstshadow.sethtml(lastcell.gethtml());
	firstshadow.setstyle(lastcell.getstyle());
	firstshadow.setatt('bgcolor',lastcell.getatt('bgcolor'));
	firstshadow.setatt('background',lastcell.getatt('background'));
	nodes=firstshadow.getelebytag('*');
	for(var c1=0;c1<nodes.length;c1++){ if(nodes[c1].getAttribute('id')){
		var tagid=nodes[c1].getAttribute('id'); nodes[c1].setAttribute('id',tagid+'sltbfirstshadow');
	}}
	lastshadow.sethtml(firstcell.gethtml());
	lastshadow.setstyle(firstcell.getstyle());
	lastshadow.setatt('bgcolor',firstcell.getatt('bgcolor'));
	lastshadow.setatt('background',firstcell.getatt('background'));
	nodes=lastshadow.getelebytag('*');
	for(var c1=0;c1<nodes.length;c1++){ if(nodes[c1].getAttribute('id')){
		var tagid=nodes[c1].getAttribute('id'); nodes[c1].setAttribute('id',tagid+'sltblastshadow');
	}}
	if(uptrigger) {
		container.sltbuptrigger=newvele(uptrigger);
		container.sltbuptrigger.addevent('click',function(){container.sltbslide(1);});
	}
	if(downtrigger) {
		container.sltbdowntrigger=newvele(downtrigger);
		container.sltbdowntrigger.addevent('click',function(){container.sltbslide(0);});
	}
}
function sltbslide(slidedir) {
	var container=this; var transport=container.sltbt;
	if(container.sltbismoving) return;
	container.sltbismoving=1;
	var startpos=0; var endpos=0; var halflen=0;
	var currentposaction='';
	if(container.sltborientation==0) { 
		startpos=container.sltbw*(container.sltbcurrentcellpos-1)*-1;
		halflen=container.sltbw/2;
		if(slidedir==1) {
			halfpos=startpos-halflen;
			endpos=startpos-container.sltbw;
			currentposaction="container.sltbcurrentcellpos+=1;";
		} else if(slidedir==0) {
			halfpos=startpos+halflen;
			endpos=startpos+container.sltbw;
			currentposaction="container.sltbcurrentcellpos-=1;";
		}
		eval("transport.fade(1,2,'at','at',20,20,function(){"+
				"transport.move(1,2,"+
				"'at','at',"+startpos+","+halfpos+","+
				"0,0,0,0,"+
				"function(){"+
					"transport.move(1,3,"+
					(halflen*30/100)+",0.23,"+halfpos+","+endpos+","+
					"0,0,0,0,"+
					"function(){"+
						"transport.fade(1,3,'at','at',20,100,function(){"+
							"container.sltbismoving=0;"+
							currentposaction+
							"container.sltbfixpos();setmodel(container.sltbcurrentcellpos-1);"+
						"});"+
					"});"+
				"});"+
			"});");
	} else if(container.sltborientation==1) {
		startpos=container.sltbh*(container.sltbcurrentcellpos-1)*-1;
		halflen=container.sltbh/2;
		if(slidedir==1) {
			halfpos=startpos-halflen;
			endpos=startpos-container.sltbh;
			currentposaction="container.sltbcurrentcellpos+=1;";
		} else if(slidedir==0) {
			halfpos=startpos+halflen;
			endpos=startpos+container.sltbh;
			currentposaction="container.sltbcurrentcellpos-=1;";
		}
		eval("transport.fade(1,2,'at','at',20,20,function(){"+
				"transport.move(1,2,"+
				"0,0,0,0,"+
				"'at','at',"+startpos+","+halfpos+","+
				"function(){"+
					"transport.move(1,3,"+
					"0,0,0,0,"+
					(halflen*30/100)+",0.23,"+halfpos+","+endpos+","+
					"function(){"+
						"transport.fade(1,3,'at','at',20,100,function(){"+
							"container.sltbismoving=0;"+
							currentposaction+
							"container.sltbfixpos();"+
						"});"+
					"});"+
				"});"+
			"});");
	}
}
function sltbfixpos() {
	var container=this; var transport=container.sltbt;
	if(container.sltbcurrentcellpos==1) {
		container.sltbcurrentcellpos=container.sltbtotalcell+2-1;
		if(container.sltborientation==0) transport.setx((container.sltbw*(container.sltbtotalcell))*-1);
		else if(container.sltborientation==1) transport.sety((container.sltbh*(container.sltbtotalcell))*-1);
	} else if(container.sltbcurrentcellpos==(container.sltbtotalcell+2)) {
		container.sltbcurrentcellpos=2;
		if(container.sltborientation==0) transport.setx(container.sltbw*-1);
		else if(container.sltborientation==1) transport.sety(container.sltbh*-1);
	}
	container.sltbcurrentpos=container.sltbcurrentcellpos-1;
}
function sltbsetpos(pos) {
	var container=this; var transport=container.sltbt;
	if(container.sltborientation==0) transport.setx(container.sltbw*pos*-1);
	else if(container.sltborientation==1) transport.setx(container.sltbh*pos*-1);
	container.sltbcurrentcellpos=pos+1;
	container.sltbfixpos();
	container.sltbcurrentpos=pos;
}





