




var eleidscroll = new Array();
var iidscroll = new Array();
var iidsteptimer = new Array();
var sctype = new Array();
var scdir = new Array();
var scms = new Array();
var scstep = new Array();
var scstage = new Array();
var scstagenextpos = new Array();
var scintv = new Array();
var screpeat = new Array();
var scmouseint = new Array();
var sctotal = 10;
for (var c1=0;c1<sctotal;c1++) {
	eleidscroll[c1] = -1;
	iidscroll[c1] = -1;
	iidsteptimer[c1] = -1;
	sctype[c1] = 0;
	scdir[c1] = 0;
	scms[c1] = 0;
	scstep[c1] = 0;
	scstage[c1] = 0;
	scstagenextpos[c1] = 0;
	scintv[c1] = 0;
	screpeat[c1] = 0;
	scmouseint[c1] = 0;
}
function scrollele(containerid,contentid,sct,scd,scsp,scst,thisscintv,scr,scmi) {
	var scid=getfreeslot(eleidscroll,containerid); if (scid==-1) return;
	
	var container=document.getElementById(containerid); container.style.overflow='hidden';
	var transport=0; var transportid=containerid+'sctransport';
	var content=document.getElementById(contentid).cloneNode(true);
	var contentshadow=document.getElementById(contentid).cloneNode(true); var contentshadowid=contentid+'scshadow'; contentshadow.setAttribute('id',contentshadowid);
	var contentshadow2=document.getElementById(contentid).cloneNode(true); var contentshadow2id=contentid+'scshadow2'; contentshadow2.setAttribute('id',contentshadow2id);
	var contentspan=0; var contentspanid=contentid+'scspan';
	var contentshadowspan=0; var contentshadowspanid=contentshadowid+'scspan';
	var contentshadow2span=0; var contentshadow2spanid=contentshadow2id+'scspan';
	
	if (document.getElementById(contentid)) if (document.getElementById(contentid).parentNode.getAttribute('id')==container.getAttribute('id')) container.removeChild(document.getElementById(contentid));
	if (document.getElementById(transportid)) if (document.getElementById(transportid).parentNode.getAttribute('id')==container.getAttribute('id')) container.removeChild(document.getElementById(transportid));

	transport=document.createElement('div'); transport.setAttribute('id',transportid); container.appendChild(transport); //transport=document.getElementById(transportid);
	transport.style.position='relative';
//transport.style.borderStyle='solid'; transport.style.borderWidth='1px'; transport.style.borderColor='#ff0000';

	if (scd=='u'||scd=='d') {
		transport.appendChild(content); //content=document.getElementById(contentid);
		transport.appendChild(contentshadow); //contentshadow=document.getElementById(contentshadowid);
		transport.appendChild(contentshadow2); //contentshadow2=document.getElementById(contentshadow2id);
		transport.style.width='100%';
	}
	else if (scd=='l'||scd=='r') {
		contentspan=document.createElement('div'); contentspan.setAttribute('id',contentspanid); contentspan.appendChild(content); //content=document.getElementById(contentid);
		//if (isie()) content.style.display='inline'; else content.style.display='inline-table';
		//contentspan=document.createElement('span'); contentspan.setAttribute('id',contentspanid); contentspan.appendChild(content); content=document.getElementById(contentid);
		transport.appendChild(contentspan); contentspan=document.getElementById(contentspanid); if (isie()) contentspan.style.styleFloat='left'; else contentspan.style.cssFloat='left';
		contentshadowspan=document.createElement('div'); contentshadowspan.setAttribute('id',contentshadowspanid);  contentshadowspan.appendChild(contentshadow); //contentshadow=document.getElementById(contentshadowid);
		transport.appendChild(contentshadowspan); contentshadowspan=document.getElementById(contentshadowspanid); if (isie()) contentshadowspan.style.styleFloat='left'; else contentshadowspan.style.cssFloat='left';
		contentshadow2span=document.createElement('div'); contentshadow2span.setAttribute('id',contentshadow2spanid);  contentshadow2span.appendChild(contentshadow2); //contentshadow2=document.getElementById(contentshadow2id);
		transport.appendChild(contentshadow2span); contentshadow2span=document.getElementById(contentshadow2spanid); if (isie()) contentshadow2span.style.styleFloat='left'; else contentshadow2span.style.cssFloat='left';
		container.style.width=Math.round(container.offsetWidth*100)+'px';
//debugmsg(getelew(contentid)*3,0,0); return;
		transport.style.width=Math.round(getelew(contentid)*3)+'px';
		container.style.width=Math.round(container.offsetWidth/100)+'px';
		transport.style.height='100%';
	}

	eleidscroll[scid]=containerid;
	sctype[scid] = sct;
	scdir[scid] = scd;
	scms[scid] = scsp;
	scstep[scid] = scst;
	scstage[scid] = 0;
	scstagenextpos[scid] = 0;
	scintv[scid] = thisscintv;
	screpeat[scid] = scr;
	scmouseint[scid] = scmi;
	
	// continuous
	if (sctype[scid]==0) {
		if (scdir[scid]=='u') moveele(transportid,scms[scid],1,0,0,0,0,scstep[scid],0,0,0-geteleh(contentid),0);
		else if (scdir[scid]=='d') moveele(transportid,scms[scid],1,0,0,0,0,scstep[scid],0,0-geteleh(transportid)+geteleh(containerid),0-geteleh(transportid)+geteleh(containerid)+geteleh(contentid),0);
		else if (scdir[scid]=='l') moveele(transportid,scms[scid],1,scstep[scid],0,0,0-getelew(contentid),0,0,0,0,0);
		else if (scdir[scid]=='r') moveele(transportid,scms[scid],1,scstep[scid],0,0-getelew(transportid)+getelew(containerid),0-getelew(transportid)+getelew(containerid)+getelew(contentid),0,0,0,0,0);
	}
	// by steps
	else if (sctype[scid]==1||sctype[scid]==2||sctype[scid]==3||sctype[scid]==4) {
		if (scdir[scid]=='u') { seteley(transportid,0); scstage[scid]=0; }
		else if (scdir[scid]=='d') { seteley(transportid,0-geteleh(transportid)+geteleh(containerid)); scstage[scid]=content.rows.length-1; }
		else if (scdir[scid]=='l') { setelex(transportid,0); scstage[scid]=0; }
		else if (scdir[scid]=='r') { setelex(transportid,0-getelew(transportid)+getelew(containerid)); scstage[scid]=content.rows[0].cells.length-1; }
		iidsteptimer[scid]=window.setTimeout("scrollsteptimeout('" + containerid + "','" + contentid + "'," + scid + ");",scintv[scid]);
//debugmsg(scstage[scid],0,0);
	}
	
	iidscroll[scid]=window.setInterval("scrollelenext('" + containerid + "','" + contentid + "'," + scid + ");",1);
}
function scrollelenext(containerid,contentid,scid) {
	var container=document.getElementById(containerid);
	var transportid=containerid+'sctransport';
	var transport=document.getElementById(transportid);
	var content=document.getElementById(contentid);
	var contentshadowid=contentid+'scshadow';
	var contentshadow=document.getElementById(contentshadowid);
	var cellw=0; cellh=0;
	// continuous
	if (sctype[scid]==0) {
		if (scdir[scid]=='u') { if (Math.abs(geteley(transport)) >= geteleh(content)) {
//debugmsg('a',0,0); clearInterval(iidscroll[scid]);
			moveele(transportid,scms[scid],1,0,0,0,0,scstep[scid],0,0,0-geteleh(content),0);
		} }
		else if (scdir[scid]=='d') { if (geteley(transport)+geteleh(transport) >= geteleh(container)+geteleh(content)) {
//debugmsg('a',0,0); clearInterval(iidscroll[scid]);
			moveele(transportid,scms[scid],1,0,0,0,0,scstep[scid],0,0-geteleh(transport)+geteleh(container),0-geteleh(transport)+geteleh(container)+geteleh(content),0);
		} }
		else if (scdir[scid]=='l') { if (Math.abs(getelex(transport)) >= getelew(content)) {
//debugmsg('a',0,0); clearInterval(iidscroll[scid]);
			moveele(transportid,scms[scid],1,scstep[scid],0,0,0-getelew(content),0,0,0,0,0);
		} }
		else if (scdir[scid]=='r') { if (getelex(transport)+getelew(transport) >= getelew(container)+getelew(content)) {
//debugmsg('a',0,0); clearInterval(iidscroll[scid]);
			moveele(transportid,scms[scid],1,scstep[scid],0,0-getelew(transport)+getelew(container),0-getelew(transport)+getelew(container)+getelew(content),0,0,0,0,0);
		} }
	}
	// by steps
	else if (sctype[scid]==1||sctype[scid]==2||sctype[scid]==3||sctype[scid]==4) {
		if (scdir[scid]=='u') { if (geteley(transport)<=scstagenextpos[scid]&&iidsteptimer[scid]==-1) {
//debugmsg('set timeout',0,0);
			iidsteptimer[scid]=window.setTimeout("scrollsteptimeout('" + containerid + "','" + contentid + "'," + scid + ");",scintv[scid]);
		} }
		else if (scdir[scid]=='d') { if (geteley(transport)>=scstagenextpos[scid]&&iidsteptimer[scid]==-1) {
//debugmsg('set timeout',0,0);
			iidsteptimer[scid]=window.setTimeout("scrollsteptimeout('" + containerid + "','" + contentid + "'," + scid + ");",scintv[scid]);
		} }
		else if (scdir[scid]=='l') { if (getelex(transport)<=scstagenextpos[scid]&&iidsteptimer[scid]==-1) {
//debugmsg('set timeout',0,0);
			iidsteptimer[scid]=window.setTimeout("scrollsteptimeout('" + containerid + "','" + contentid + "'," + scid + ");",scintv[scid]);
		} }
		else if (scdir[scid]=='r') { if (getelex(transport)>=scstagenextpos[scid]&&iidsteptimer[scid]==-1) {
//debugmsg('set timeout',0,0);
			iidsteptimer[scid]=window.setTimeout("scrollsteptimeout('" + containerid + "','" + contentid + "'," + scid + ");",scintv[scid]);
		} }
	}
}
function scrollsteptimeout(containerid,contentid,scid) {
//debugmsg('timeout',0,0);
	var container=document.getElementById(containerid);
	var transportid=containerid+'sctransport';
	var transport=document.getElementById(transportid);
	var content=document.getElementById(contentid);
	var contentshadowid=contentid+'scshadow';
	var contentshadow=document.getElementById(contentshadowid);
	var cellw=0; cellh=0;

	//window.clearTimeout(iidsteptimer[scid]);
	iidsteptimer[scid]=-1;

	if (scdir[scid]=='u') {
		cellh=content.rows[scstage[scid]].offsetHeight;
		if (Math.abs(geteley(transport)) >= geteleh(content)) seteley(transport,0);
		if (sctype[scid]==4)
			setTimeout("fadeele('"+transportid+"',1,3,'at','at',100,80,function(){"+
				"moveele('"+transportid+"','"+scms[scid]+"',2,0,0,0,0,'at','at',"+geteley(transport)+","+(geteley(transport)-cellh/2)+",function(){"+
					"moveele('"+transportid+"','"+scms[scid]+"',3,0,0,0,0,"+(cellh/2*30/100)+",0.23,"+(geteley(transport)-cellh/2)+","+(geteley(transport)-cellh)+",function(){"+
						"fadeele('"+transportid+"',1,2,'at','at',80,100,0);"+
					"});"+
				"});"+
			"});",0);
		else if (sctype[scid]==3) moveele(transportid,scms[scid],sctype[scid],0,0,0,0,cellh*30/100,0.23,geteley(transport),geteley(transport)-cellh,0);
		else moveele(transportid,scms[scid],sctype[scid],0,0,0,0,scstep[scid],'at',geteley(transport),geteley(transport)-cellh,0);
		scstagenextpos[scid]=geteley(transport)-cellh;
		scstage[scid]+=1; if (scstage[scid]>content.rows.length-1) scstage[scid]=0;
	}
	else if (scdir[scid]=='d') {
		cellh=content.rows[scstage[scid]].offsetHeight;
		if (geteley(transport)+geteleh(transport) >= geteleh(container)+geteleh(content)) seteley(transport,0-geteleh(transport)+geteleh(container));
		if (sctype[scid]==4)
			setTimeout("fadeele('"+transportid+"',1,3,'at','at',100,80,function(){"+
				"moveele('"+transportid+"','"+scms[scid]+"',2,0,0,0,0,'at','at',"+geteley(transport)+","+(geteley(transport)+cellh/2)+",function(){"+
					"moveele('"+transportid+"','"+scms[scid]+"',3,0,0,0,0,"+(cellh/2*30/100)+",0.23,"+(geteley(transport)+cellh/2)+","+(geteley(transport)+cellh)+",function(){"+
						"fadeele('"+transportid+"',1,2,'at','at',80,100,0);"+
					"});"+
				"});"+
			"});",0);
		else if (sctype[scid]==3) moveele(transportid,scms[scid],sctype[scid],0,0,0,0,cellh*30/100,0.23,geteley(transport),geteley(transport)+cellh,0);
		else moveele(transportid,scms[scid],sctype[scid],0,0,0,0,scstep[scid],'at',geteley(transport),geteley(transport)+cellh,0);
		scstagenextpos[scid]=geteley(transport)+cellh;
		scstage[scid]-=1; if (scstage[scid]<0) scstage[scid]=content.rows.length-1;
	}
	else if (scdir[scid]=='l') {
		cellw=content.rows[0].cells[scstage[scid]].offsetWidth;
		if (Math.abs(getelex(transport)) >= getelew(content)) setelex(transport,0);
		if (sctype[scid]==4)
			setTimeout("fadeele('"+transportid+"',1,3,'at','at',100,80,function(){"+
				"moveele('"+transportid+"','"+scms[scid]+"',2,'at','at',"+getelex(transportid)+","+(getelex(transportid)-cellw/2)+",0,0,0,0,function(){"+
					"moveele('"+transportid+"','"+scms[scid]+"',3,"+(cellw/2*30/100)+",0.23,"+(getelex(transportid)-cellw/2)+","+(getelex(transportid)-cellw)+",0,0,0,0,function(){"+
						"fadeele('"+transportid+"',1,2,'at','at',80,100,0);"+
					"});"+
				"});"+
			"});",0);
		else if (sctype[scid]==3) moveele(transportid,scms[scid],sctype[scid],cellw*30/100,0.23,getelex(transport),getelex(transport)-cellw,0,0,0,0,0);
		else moveele(transportid,scms[scid],sctype[scid],scstep[scid],'at',getelex(transport),getelex(transport)-cellw,0,0,0,0,0);
		scstagenextpos[scid]=getelex(transport)-cellw;
		scstage[scid]+=1; if (scstage[scid]>content.rows[0].cells.length-1) scstage[scid]=0;
	}
	else if (scdir[scid]=='r') {
		cellw=content.rows[0].cells[scstage[scid]].offsetWidth;
		if (getelex(transport)+getelew(transport) >= getelew(container)+getelew(content)) setelex(transport,0-getelew(transport)+getelew(container));
		if (sctype[scid]==4)
			setTimeout("fadeele('"+transportid+"',1,3,'at','at',100,80,function(){"+
				"moveele('"+transportid+"','"+scms[scid]+"',2,'at','at',"+getelex(transportid)+","+(getelex(transportid)+cellw/2)+",0,0,0,0,function(){"+
					"moveele('"+transportid+"','"+scms[scid]+"',3,"+(cellw/2*30/100)+",0.23,"+(getelex(transportid)+cellw/2)+","+(getelex(transportid)+cellw)+",0,0,0,0,function(){"+
						"fadeele('"+transportid+"',1,2,'at','at',80,100,0);"+
					"});"+
				"});"+
			"});",0);
		else if (sctype[scid]==3) moveele(transportid,scms[scid],sctype[scid],cellw*30/100,0.23,getelex(transport),getelex(transport)+cellw,0,0,0,0,0);
		else moveele(transportid,scms[scid],sctype[scid],scstep[scid],'at',getelex(transport),getelex(transport)+cellw,0,0,0,0,0);
		scstagenextpos[scid]=getelex(transport)+cellw;
		scstage[scid]-=1; if (scstage[scid]<0) scstage[scid]=content.rows[0].cells.length-1;
	}
}
function setscrollcontent(containerid,contentid,sct,scd,scsp,scst,scintv,scr,scmi) {
	var container=document.getElementById(containerid);
	var contentclone=document.getElementById(contentid).cloneNode(true);
	if(contentclone.rows.length<1) return;
	if(contentclone.rows[0].cells.length<1) return;
	var contentcloneid=contentid+'scclone';
	contentclone.setAttribute('id',contentcloneid);
	container.appendChild(contentclone);
	document.getElementById(contentid).style.visibility='hidden';
	scrollele(containerid,contentcloneid,sct,scd,scsp,scst,scintv,scr,scmi);
}
function scrollnextstep(containerid,contentid) {
	var scid=getfreeslot(eleidscroll,containerid); if (scid==-1) return;
	if(iidsteptimer[scid]==-1) return;
	window.clearTimeout(iidsteptimer[scid]); iidsteptimer[scid]=-1;
	scrollsteptimeout(containerid,contentid,scid);
}





