// JavaScript Document
var myFocus={
	//Design By Koen @ 2010.7.x
	//http://hi.baidu.com/koen_li
	//koen_lee@qq.com
	$:function(id){return document.getElementById(id);},
	$$:function(tag,obj){return (typeof obj=='object'?obj:this.$(obj)).getElementsByTagName(tag);},
	linear:function(t,b,c,d){return c*t/d + b;},
	easeIn:function(t,b,c,d){return c*(t/=d)*t*t*t + b;},
	easeOut:function(t,b,c,d){return -c*((t=t/d-1)*t*t*t - 1) + b;},
	opa:function(obj,v){
		if(v!=undefined) {v=v>100?100:(v<0?0:v); obj.style.filter = "alpha(opacity=" + v + ")"; obj.style.opacity = (v / 100);}
		else return (document.all)?((obj.filters.alpha)?obj.filters.alpha.opacity:100):((obj.style.opacity)?obj.style.opacity*100:100);
	},
	move:function(obj,dir,val,type,spd,fn){
		var t=0,b=parseInt(obj.style[dir])||0,c=val-b,d=spd||50,st=type||'linear',m=c>0?'ceil':'floor';
		if(obj[dir+'timer']) clearInterval(obj[dir+'timer']);
		obj[dir+'timer']=setInterval(function(){
			if(t<d){obj.style[dir]=Math[m](myFocus[st](t++,b,c,d))+'px';}
			else {clearInterval(obj[dir+'timer']);fn&&fn.call(myFocus);}
		},10);return this;
	},
	fade:function(obj,type,spd,fn){
		var o=this.opa(obj),m=spd||5;
		if(o==0) obj.style.display='';
		if(type=='out') m=-m;
		if(obj.fadeTimer) clearInterval(obj.fadeTimer);
		obj.fadeTimer=setInterval(function(){
			o+=m;myFocus.opa(obj,o);
			if(o<=0) obj.style.display='none';
			if(o>=100||o<=0){clearInterval(obj.fadeTimer);fn&&fn.call(myFocus);}
		},10);return this;
	},
	addList:function(obj,cla,arr){
		var s=[],n=this.$$('li',this.$$('ul',obj)[0]).length,num=cla.length;
		for(var j=0;j<num;j++){
			s.push('<ul class='+cla[j]+'>');
			for(var i=0;i<n;i++){s.push('<li>'+(cla[j]=='num'?(i+1):(cla[j]=='txt'?this.$$('li',obj)[i].innerHTML.replace(/\<img.*?\>/i,this.$$('img',obj)[i].alt):''))+'<span></span></li>')};
			s.push('</ul>');
		}; obj.innerHTML+=s.join('');
	},
	setting:function(par){//设置DOM/文档加载就绪后执行的任务
		if(window.attachEvent){window.attachEvent('onload',function(){myFocus[par.style](par)});}
　　		else{window.addEventListener('load',function(){myFocus[par.style](par)},false);}
	},
	mF_expo2010:function(par){
		var box=this.$(par.id),t=par.time*1000;
		this.addList(box,['txt-bg','txt','num-bg','num']);
		var pic=this.$$('ul',box)[0],txt=this.$$('ul',box)[2],num=this.$$('ul',box)[4],img=this.$$('li',pic),tip=this.$$('li',txt);
		var H=tip[0].clientHeight+60;
		var n=img.length;
		var index=0;
		for(var i=0;i<img.length;i++){this.opa(img[i],0); img[i].style.display='none'; tip[i].style.bottom=-H+'px'}
		box.removeChild(this.$$('div',box)[0]);
		this.fade(img[index],'in');
		this.move(tip[index],'bottom',0,'easeOut',40)
		this.$$('li',num)[index].className='current';
		var run=function(idx){
			myFocus.fade(img[index],'out');
			myFocus.move(tip[index],'bottom',-H,'easeIn',10);
			myFocus.$$('li',num)[index].className='';
			if(index==n-1) index=-1;
			var N=idx!=undefined?idx:index+1;
			myFocus.fade(img[N],'in');
			myFocus.move(tip[N],'bottom',0,'easeOut',40);
			myFocus.$$('li',num)[N].className='current';
			index=N;
		}
		var auto=setInterval(function(){run()},t);
		for (var j=0;j<n;j++){
			this.$$('li',num)[j].j=j;
			this.$$('li',num)[j].onclick=function(){run(this.j)}
			this.$$('li',num)[j].onmouseover=function(){if(!this.className) this.className = 'hover';}
			this.$$('li',num)[j].onmouseout=function(){if(this.className=='hover') this.className ='';}
		}
		box.onmouseover=function(){clearInterval(auto);}
    	box.onmouseout=function(){auto=setInterval(function(){run()},t);}
	}
}
myFocus.setting({style:'mF_expo2010',id:'myFocus',time:5});//style为风格样式，id为焦点图ID，time为每帧间隔时间(秒)
//之后推出的myFocus正式版将会有更多的样式、更强大的效果及更详细的文档描述，敬请期待!^_^ 

