function image_transform(_rootId){
	var elms=Dom.$id(_rootId).getElementsByTagName('ul');
	var timer=null, curI=0, transformElmToHide=null, transformElmToShow=null;
	var isChanging=false;
	var elmToShow=elms[0];
	var htmls=[];
	if(Base.isIE() && (window.createPopup)){
		elmToShow.style.filter="revealTrans(duration=2,transition=18)";
	}
	for(var i=0; i<elms.length; i++){
		if(i!=0){
			kStyle.setAtt(elms[i], 'display', 'none');
		}
		htmls[i]=elms[i].innerHTML;
	}
	elmToShow.innerHTML=htmls[0];
	function chgTo(_ti){
		timeStart=new Date();
		if(Base.isIE() && (window.createPopup)){
			curI=_ti;
			elmToShow.filters[0].Transition=Math.floor(Math.random()*23);
			elmToShow.filters[0].apply();
			elmToShow.innerHTML=htmls[_ti];
			elmToShow.filters[0].play();
		}else{
			if(curI==_ti){
				return;
			}
			var ci=curI;
			curI=_ti;
			var temp1=parseFloat(kStyle.getAtt(elmToShow, 'opacity'));
			animateOpac(timer, elmToShow, temp1, 0, Math.round(500*temp1),
								function(){
									elmToShow.innerHTML=htmls[_ti];
									var temp1=parseFloat(kStyle.getAtt(elmToShow, 'opacity'));
									animateOpac(timer, elmToShow, temp1, 1, Math.round(300*(1-temp1)));
								});
		}
	}
	/*S func animateOpac*/
	function animateOpac(timer, _elm, v1, v2, duration, whenDone){
		clearInterval(timer);
		timer=null;
		var scrollStart=false;
		var startTime=null;
		timer=setInterval(animate, 1000/kAnimator.FPS);
		function animate(){
			if(scrollStart){
				var now=new Date();
				var percent=parseFloat((now-startTime)/duration);
				var sl=v1+(v2-v1)*percent;
				if(percent<0.99999){
					try{
						kStyle.setAtt(_elm, 'opacity', sl);
					}catch(er){}
				}else{
					clearInterval(timer);
					timer=null;
					kStyle.setAtt(_elm, 'opacity', v2);
					scrollStart=false;
					if(whenDone && (typeof whenDone=='function')){
						whenDone();
					}
				}
			}else{
				scrollStart=true;
				startTime=new Date();
			}
		}
		/*E func scroll*/
	}
	
	var timeStart=new Date();
	setInterval(function(){
						if(((new Date()).getTime()-timeStart.getTime())>5000){
							var ti=curI+1;
							if(ti==elms.length){
								ti=0;
							}
							chgTo(ti);
						}
					   }, 1000/(kAnimator.FPS||30));
	/*E func animateOpac*/
}
