;(function($){
var easeTypeArr=['rollIn','fadeIn','fadeInUp','fadeInDown','fadeInLeft','fadeInRight','fadeInRight','bounceIn','bounceInDown','bounceInUp','bounceInLeft','bounceInRight','rotateIn','rotateInDownLeft','rotateInDownRight','rotateInUpLeft','rotateInUpRight'];
var easeTypeNum=easeTypeArr.length;$.fn.oneByOne=function(options){
var settings={className:'oneByOne',sliderClassName:'oneByOne_item',easeType:'fadeInLeft',width:960,height:420,delay:300,tolerance:0.25,enableDrag:true,showArrow:true,showButton:true,slideShow:false,slideShowDelay:3000};
if(options){$.extend(settings,options)}var parent;
var _this;var currentBannerNum=-1;
var bannerWidth=settings.width;var bannerHeight=settings.height;
var xdiff=0;
var isMouseDown=false;
var isTweenning=false;
var realEaseTypeArr=[];
var _easeType;
var bannerArr=[];
var bannerNum=0;var _preBannerNum=0,buttonArea,buttonCon,arrowButton;
_this=this;_this.wrap('
');
parent=_this.parent();
parent.css('overflow','hidden');
_this.find('.'+settings.sliderClassName).each(function(index){$(this).hide();
bannerNum++;$(this).css('left',bannerWidth*index);
bannerArr[index]=$(this)});
if(settings.enableDrag){
_this.mousedown(function(event){
if(!isMouseDown){
isMouseDown=true;this.mouseX=event.pageX
}
return false});
_this.mousemove(function(event){
if(isMouseDown){
xdiff=event.pageX-this.mouseX;
_this.css('left',-currentBannerNum*bannerWidth+xdiff);
if(settings.slideShow){stopSlideShow()}
}
return false});
_this.mouseup(function(event){
isMouseDown=false;var _n=currentBannerNum;
if(!xdiff)return false;
var fullWidth=parseInt(settings.width);
var halfWidth=fullWidth/2;
if(-xdiff>halfWidth-fullWidth*settings.tolerance){
_n++;_n=_n>=bannerNum?bannerNum-1:_n;
tweenTo(_n)}else if(xdiff>halfWidth-fullWidth*settings.tolerance){
_n--;
_n=_n<0?0:_n;tweenTo(_n)}
else{
tweenTo(_n);
if(settings.slideShow){
startSlideShow()}
}
xdiff=0;
return false});
_this.mouseleave(function(event){
$(this).mouseup()})
}
parent.mouseover(function(event){
if(buttonCon)buttonCon.fadeIn();
if(arrowButton)arrowButton.fadeIn()});
parent.mouseleave(function(event){
if(buttonCon)buttonCon.fadeOut();
if(arrowButton)arrowButton.fadeOut()});
if(settings.showButton){
buttonArea=$('');
parent.append(buttonArea);
buttonCon=buttonArea.find('.buttonCon');
for(var i=0;i'+(i+1)+'')
.css('cursor','pointer')}
$('.buttonCon a:eq('+currentBannerNum+')',buttonArea).addClass('active');
$('.buttonCon a',buttonArea).bind('click',function(event){if($(this).hasClass('active'))
return false;
var _n=$(this).attr('rel');
tweenTo(_n)})
}
if(settings.showArrow){
arrowButton=$('');
parent.append(arrowButton);
var _next=$('.nextArrow',arrowButton).bind('click',function(event){nextBanner()});
var _prev=$('.prevArrow',arrowButton).bind('click',function(event){prevBanner()})}
if(buttonCon)buttonCon.hide();
if(arrowButton)arrowButton.hide();
tweenTo(0);
if(settings.slideShow){
slideShowInt=setInterval(function(){nextBanner()},
settings.slideShowDelay);
_this.data('interval',slideShowInt)}
function tweenTo(n){
if(settings.slideShow){
stopSlideShow()}_this.stop(true,true).animate({left:-n*bannerWidth},
settings.delay,function(){
if(n!=currentBannerNum){
_preBannerNum=currentBannerNum;
if(bannerArr[_preBannerNum]){
if(!($.browser.msie||$.browser.opera)){bannerArr[_preBannerNum].fadeOut()}
$('.buttonArea a:eq('+_preBannerNum+')',parent).removeClass('active')}
$('.buttonArea a:eq('+n+')',parent).addClass('active');
if(settings.easeType.toLowerCase()!="random"){
bannerArr[n].show().children().each(function(index){
var userEaseType=$(this).attr('data-ease-type');
if(!userEaseType||userEaseType=='')userEaseType=settings.easeType;
if($(this).hasClass(userEaseType)){
$(this).removeClass(userEaseType);
$(this).hide()}var _n=index;
$(this).show().addClass("animate"+_n+" "+userEaseType)})}
else{
_easeType=easeTypeArr[Math.floor(Math.random()*easeTypeNum)];
realEaseTypeArr[n]=_easeType;
if(bannerArr[_preBannerNum]){
bannerArr[_preBannerNum].children().each(function(index){
if($(this).hasClass(realEaseTypeArr[_preBannerNum])){
$(this).removeClass(realEaseTypeArr[_preBannerNum]);
$(this).hide()}})}
bannerArr[n].show().children().each(function(index){
var _n=index;
$(this).show().addClass("animate"+_n+" "+_easeType)})}_this.delay(bannerArr[n].children().length*200).queue(function(){if(settings.slideShow)startSlideShow()});
if(arrowButton)arrowButton.css('cursor','pointer');
currentBannerNum=n}})}
function stopSlideShow(){
clearInterval(_this.data('interval'))}
function startSlideShow(){
clearInterval(_this.data('interval'));
slideShowInt=setInterval(function(){nextBanner()},settings.slideShowDelay);
_this.data('interval',slideShowInt)}
function nextBanner(){
var _n=currentBannerNum;
_n++;
_n=_n>=bannerNum?0:_n;tweenTo(_n)}function prevBanner(){
var _n=currentBannerNum;_n--;
_n=_n<0?bannerNum-1:_n;
tweenTo(_n)}return this}})
(jQuery);