function initSlider(data,width,numInView,autoRotate){
	var arrowWidth=30;

	var i=0,inum=data.length;
	if(inum<numInView){
		for(i=inum;i<numInView+2;i++)
			data[i] = Object({url:" ", img:" ", text:" ", title:" "});
		inum = data.length;
	}
	var innerWidth=(width-(2*arrowWidth))-((width-(2*arrowWidth))%numInView);
	var ID=rndInt(1000,9999);
	var promoWidth=innerWidth/numInView;
	echo('<style>.sthumb{width:'+promoWidth+'px;height:100%;text-align:center;float:left;}</style>');
	echo('<div id="slider'+ID+'" class="slider" style="width:'+width+'px;overflow:hidden;">');
	echo('<div id="left'+ID+'" class="left" style="float:left;z-index:101;cursor:pointer;" onclick="sml('+ID+', '+promoWidth+', '+((0-inum)*promoWidth)+', .15);"></div>');
	echo('<div id="middle'+ID+'" class="middle" style="float:left;z-index:100;width:'+innerWidth+'px;overflow:hidden;position:relative;">');
	echo('<div id="sliderContent'+ID+'" style="width:'+(promoWidth*(inum+numInView))+'px;position:relative;left:0px;">');
	echo('</div></div><div id="right'+ID+'" class="right" style="float:left;z-index:101;cursor:pointer;width:'+(get('slider'+ID).offsetWidth-(get('left'+ID).offsetWidth+get('middle'+ID).offsetWidth))+'px;" onclick="smr('+ID+', '+promoWidth+', '+((0-inum)*promoWidth)+', .15);"></div></div>');
	for(i=1;i<inum;i++)sad(data[i], ID, promoWidth);
	for(i=1;i<numInView+1;i++)if(i<inum)sad(data[i], ID, promoWidth);else sad(data[i-inum+1], ID, promoWidth);
	if(autoRotate>0)setTimeout("sma("+ID+","+promoWidth+","+((0-inum)*promoWidth)+",1,"+autoRotate+")",autoRotate*1000);
}
function sad(data, ID, promoWidth){
	var tmp = make('div');
	setClass(tmp, 'sthumb');
	tmp.innerHTML = '<div class="title">'+data['title']+'</div><a href="'+data['url']+'"><img src="'+data['img']+'" class="promoImg" /><div class="text">'+data['text']+'</div></a>';
	get('sliderContent'+ID).appendChild(tmp);
}
function sma(ID,promoWidth,trigger,duration,autoRotate){
	if(get('sliderContent'+ID).offsetLeft<=(trigger+promoWidth))
		get('sliderContent'+ID).style.left='0px';
	smp(ID,promoWidth,trigger,duration,'-');
	setTimeout("sma("+ID+","+promoWidth+","+trigger+","+duration+","+autoRotate+")",autoRotate*1000);
}
function sml(ID,promoWidth,trigger,duration){
	if(get('sliderContent'+ID).offsetLeft>=0)
		get('sliderContent'+ID).style.left=(trigger+promoWidth)+'px';
	smp(ID,promoWidth,trigger,duration,'+');
}
function smr(ID,promoWidth,trigger,duration){
	if(get('sliderContent'+ID).offsetLeft<=(trigger+promoWidth))
		get('sliderContent'+ID).style.left='0px';
	smp(ID,promoWidth,trigger,duration,'-');
}
function smp(ID,promoWidth,trigger,duration,type){
	if(type=='-')type=0-1;else type=1;
	var fps=20;
	var frameCount=fps*duration;
	var offset=Math.round(promoWidth/frameCount,0);
	var difference=promoWidth-(offset*frameCount);
	for(var i=0;i<frameCount;i++){
		if(i==frameCount-1)offset+=difference;
		setTimeout("get('sliderContent"+ID+"').style.left=(get('sliderContent"+ID+"').offsetLeft+"+(type*offset)+")+'px';",(1000/fps)*(i+1));
	}
}
