function $tab(element){
	if(arguments.length>1){
		for(var i=0,elements=[],length=arguments.length;i<length;i++)
			elements.push($tab(arguments[i]));
		return elements;
	}
	if(typeof element=="string")
		return document.getElementById(element);
	else
		return element;
}
var Class={
	create:function(){
		return function(){
			this.initialize.apply(this,arguments);
		}	
	}
}
Function.prototype.bind=function(){
	var args=Array.apply(this,arguments);
	var $fun=this;
	var owner=args.shift();
	return function(){
		$fun.apply(owner,args.concat(arguments));
	}
}
var tabMenu=Class.create();
tabMenu.prototype={
	initialize:function(tab_nav,tab_body,current,other){
		//用for循环得到objs数组,主要是为了兼容非IE浏览器把空白也当作子对象
		var tabArray=$tab(tab_nav.split("|")[0]).getElementsByTagName(tab_nav.split("|")[1]);
		//用for循环得到divArray数组,主要是为了兼容非IE浏览器把空白也当作子对象
		var divArray=[];
		for(var i=0,length=$tab(tab_body).childNodes.length;i<length;i++){
			if($tab(tab_body).childNodes[i].nodeType==1)
				divArray.push($tab(tab_body).childNodes[i]);
		}
		var currentIndex=0;
		tabArray[currentIndex].className=current;
		divArray[currentIndex].style.display="block";
		length=Math.min(tabArray.length,divArray.length);
		for(i=0;i<length;i++){
			tabArray[i].length=length;
			tabArray[i].index=i;
			tabArray[i].onmouseover=function(){
				setTimeout(function(){
					//其他选项卡
					tabArray[currentIndex].className=other;
					divArray[currentIndex].style.display="none"
					
					currentIndex=this.index;
					//当前选项卡样式
					this.className=current;
					divArray[this.index].style["display"]="block";
				}.bind(this),300);
			}
		}
	}
}
var transition = function(el){
	var options = arguments[1] || {},
	begin =  options.begin,//开始位置
	change = options.change,//变化量
	duration = options.duration || 500,//缓动效果持续时间
	field = options.field,//必须指定，基本上对top,left,width,height这个属性进行设置
	ftp = options.ftp || 50,
	onStart = options.onStart || function(){},
	onEnd = options.onEnd || function(){},
	ease = options.ease,//要使用的缓动公式
	end = begin + change,//结束位置
	startTime = new Date().getTime();//开始执行的时间
	onStart();
	(function(){
		setTimeout(function(){
			var newTime = new Date().getTime(),//当前帧开始的时间
			timestamp = newTime - startTime,//逝去时间
			delta = ease(timestamp / duration);
			el.scrollLeft = Math.ceil(begin + delta * change);
			if(duration <= timestamp){
				el.scrollLeft = end;
				onEnd();
			}else{
				setTimeout(arguments.callee,1000/ftp);
			}
		},1000/ftp)
	})()
}
