/* 
 * jQuery OneByOne Slider
 * 
 * Writen by sike
 * http://codecanyon.net/user/sike
 * 
 * Modified by Architector
 * Based on OneByOne Slider
 * 
 * All Rights Reserved (c) 2011
 */

 
(function(a){var b=["rollIn","fadeIn","fadeInUp","fadeInDown","fadeInLeft","fadeInRight","fadeInRight","bounceIn","bounceInDown","bounceInUp","bounceInLeft","bounceInRight","rotateIn","rotateInDownLeft","rotateInDownRight","rotateInUpLeft","rotateInUpRight"];var c=b.length;a.fn.oneByOne=function(d){function C(){var a=h;a-=1;a=a<0?q-1:a;y(a)}function B(){var a=h;a+=1;a=a>=q?0:a;y(a)}function A(){clearInterval(g.data("interval"));slideShowInt=setInterval(function(){B()},e.slideShowDelay);g.data("interval",slideShowInt)}function z(){clearInterval(g.data("interval"))}function y(d){if(e.slideShow){z()}g.stop(true,true).animate({left:-d*i},e.delay,function(){if(d!==h){r=h;if(p[r]){p[r].fadeOut();a(".buttonArea a:eq("+r+")",f).removeClass("active")}a(".buttonArea a:eq("+d+")",f).addClass("active");if(e.easeType.toLowerCase()!=="random"){p[d].show().children().each(function(b){if(a(this).hasClass(e.easeType)){a(this).removeClass(e.easeType);a(this).hide()}var c=b;a(this).show().addClass("animate"+c+" "+e.easeType)})}else{o=b[Math.floor(Math.random()*c)];n[d]=o;if(p[r]){p[r].children().each(function(b){if(a(this).hasClass(n[r])){a(this).removeClass(n[r]);a(this).hide()}})}p[d].show().children().each(function(b){var c=b;a(this).show().addClass("animate"+c+" "+o)})}g.delay(p[d].children().length*200).queue(function(){if(e.slideShow){A()}});if(u){u.css("cursor","pointer")}h=d}})}var e={className:"oneByOne",sliderClassName:"oneByOne_item",easeType:"fadeInLeft",width:940,height:400,delay:300,tolerance:.25,enableDrag:true,showArrow:true,showButton:true,slideShow:false,slideShowDelay:3e3};if(d){a.extend(e,d)}var f,g,h=-1;var i=e.width,j=e.height;var k=0;var l=false,m=false;var n=[];var o;var p=[];var q=0;var r=0,s,t,u;g=this;g.wrap('<div class="'+e.className+'"/>');f=g.parent();f.css("overflow","hidden");g.find("."+e.sliderClassName).each(function(b){a(this).hide();q+=1;a(this).css("left",i*b);p[b]=a(this)});g.bind("touchstart",function(a){a.preventDefault();var b=a.originalEvent.touches[0]||a.originalEvent.changedTouches[0];if(!l){l=true;this.mouseX=b.pageX}if(t){t.fadeIn()}if(u){u.fadeIn()}return false});g.bind("touchmove",function(a){a.preventDefault();var b=a.originalEvent.touches[0]||a.originalEvent.changedTouches[0];if(l){k=b.pageX-this.mouseX;g.css("left",-h*i+k);if(e.slideShow){z()}}return false});g.bind("touchend",function(a){var b=h;a.preventDefault();var c=a.originalEvent.touches[0]||a.originalEvent.changedTouches[0];l=false;if(!k){return false}var d=parseInt(e.width);var f=d/2;if(-k>f-d*e.tolerance){b+=1;b=b>=q?q-1:b;y(b)}else if(k>f-d*e.tolerance){b-=1;b=b<0?0:b;y(b)}else{y(b);if(e.slideShow){A()}}k=0;if(t){t.delay(400).fadeOut()}if(u){u.delay(400).fadeOut()}return false});if(e.enableDrag){g.mousedown(function(a){if(!l){l=true;this.mouseX=a.pageX}return false});g.mousemove(function(a){if(l){k=a.pageX-this.mouseX;g.css("left",-h*i+k);if(e.slideShow){z()}}return false});g.mouseup(function(a){l=false;var b=h;if(!k){return false}var c=parseInt(e.width);var d=c/2;if(-k>d-c*e.tolerance){b+=1;b=b>=q?q-1:b;B()}else if(k>d-c*e.tolerance){b-=1;b=b<0?0:b;C()}else{y(b);if(e.slideShow){A()}}k=0;return false});g.mouseleave(function(b){a(this).mouseup()})}f.mouseover(function(a){if(t){t.fadeIn()}if(u){u.fadeIn()}});f.mouseleave(function(a){if(t){t.fadeOut()}if(u){u.fadeOut()}});if(e.showButton){s=a('<div class="buttonArea"><div class="buttonCon"></div></div>');f.append(s);t=s.find(".buttonCon");for(var v=0;v<q;v+=1){t.append('<a class="theButton" rel="'+v+'">'+(v+1)+"</a>").css("cursor","pointer")}a(".buttonCon a:eq("+h+")",s).addClass("active");a(".buttonCon a",s).bind("click",function(b){if(a(this).hasClass("active")){return false}var c=a(this).attr("rel");y(c);return this})}if(e.showArrow){u=a('<div class="arrowButton"><div class="prevArrow"></div><div class="nextArrow"></div></div>');f.append(u);var w=a(".nextArrow",u).bind("click",function(a){B();return this});var x=a(".prevArrow",u).bind("click",function(a){C();return this})}if(t){t.hide()}if(u){u.hide()}y(0);if(e.slideShow){slideShowInt=setInterval(function(){B()},e.slideShowDelay);g.data("interval",slideShowInt)}}})(jQuery)

