/**
 * 图片轮换
 * @param pos
 * @return
 */
var easeInOutCubic= function(pos)
{
    if ((pos/=0.5) < 1)
	{
		 return 0.5*Math.pow(pos,3);
	}
    return 0.5 * (Math.pow((pos-2),3) + 2);
}

  var transition = function(el)
  {
    var options = arguments[1] || {},
    begin =  options.begin,//开始位置
    change = options.change,//变化量
    duration = options.duration || 500,//缓动效果持续时间
    ftp = options.ftp || 50,
    onEnd = options.onEnd || function(){},
    ease = options.ease,//要使用的缓动公式
    end = begin + change,//结束位置
    startTime = new Date().getTime();//开始执行的时间
    (function()
		{
			setTimeout(function()
			{
				var newTime = new Date().getTime(),//当前帧开始的时间
				timestamp = newTime - startTime,//逝去时间
				delta = ease(timestamp / duration);
				el.style.left = Math.ceil(begin + delta * change) + "px"
				if(duration <= timestamp)
				{
					el.style.left = end + "px";
					onEnd();
				}
				else
				{
					setTimeout(arguments.callee,1000/ftp);
				}
			},1000/ftp)
    	}
	)()
  }
  var Rotate = function(id)
  {
    try
	{
		document.execCommand("BackgroundImageCache", false, true);
	}
	catch(e)
	{};
    var container = document.getElementById(id),
    slide = container.getElementsByTagName("li")[0],
    paginater = container.getElementsByTagName("span")[0],
    links = paginater.getElementsByTagName("a"),
    images = slide.getElementsByTagName("img"),
    length = links.length, aBefore = length, aIndex = 1;
    slide.innerHTML += slide.innerHTML;
    var tip = document.createElement("li");//信息栏
    tip.style.cssText = "position:absolute;bottom:0;width:400px;height:40px;line-height:40px;text-indent:2em;";
    slide.parentNode.appendChild(tip);
    if(!+"\v1")
	{
      tip.style.cssText += "color:#369;background:#fff;filter:alpha(opacity=50)";
    }
	else
	{
      tip.style.cssText += "color:#fff;background: rgba(164, 173, 183, .65);";
    }
    var item  = slide.getElementsByTagName("a"),
    critical = item[length].offsetLeft,//临界值
    distance = critical/length,
    delta = - distance;
    paginater.onclick = function(e)
	{//实现手动切换
      e = e || window.event;
      var target = e.srcElement ? e.srcElement : e.target;
      if(target.nodeName.toLowerCase() == "a")
	  {//事件代理
        var _aIndex = aIndex;
        aIndex = target.getAttribute("href").slice(-1);
          !+"\v1" ?(e.returnValue = false) :(e.preventDefault());
        delta = - distance * _aIndex;
        var change = (aIndex - _aIndex) * distance;
        if(aIndex >= _aIndex)
		{
          transition(slide,{begin:delta,change: change,ease:easeInOutCubic})
        }
		else
		{
          transition(slide,{begin:delta,change: -change,ease:easeInOutCubic})
        }
      }
    };
    (function(){/*实现自动轮换图片*/
      setTimeout(function(){
        (aIndex > length) && (aIndex = 1);
        delta = - distance * aIndex;
        tip.innerHTML = images[aIndex-1].getAttribute("alt");//改变信息栏的文字
        links[aBefore-1].className = "";//改变按钮的样式
        links[aIndex-1].className = "hover";//改变按钮的样式
        aBefore = aIndex;
        aIndex++;
        transition(slide,{begin:delta,change:distance,ease:easeInOutCubic})
        setTimeout(arguments.callee,2000)
      },2000)
    })()
  }

