(function($){$.fn.multiSlider=function(o){return this.each(function(){new g(this,o)})};var f={type:'vertical',internal:'auto',element:'auto',width:'auto',height:'auto',effect:false,speed:1000,changeSpeed:5000,nextAfter:false};$.multiSlider=function(e,o){this.options=$.extend({},f,o||{});this.mainId=e.id;this.setup();if(this.options.noAuto!=true){this.start()}return this};var g=$.multiSlider;g.fn=g.prototype={multiSlider:'2.1.2-dev'};g.fn.extend=g.extend=$.extend;g.fn.extend({setup:function(){this.reset();if(this.options.internal=='auto'){var a=$('#'+this.mainId+' > *');if(a.length<2){this.options.internal=a[0].tagName+((a[0].id)?'#'+a[0].id:(($(a[0]).attr('class'))?'.'+$(a[0]).attr('class'):''))}else{this.options.internal='parent'}}this.handler='#'+this.mainId+((this.options.internal&&this.options.internal!='parent')?' '+this.options.internal:'');if(this.options.element=='auto'||!this.options.element){this.options.element=$(this.handler+' > *:first')[0].tagName}if(this.options.width=='auto'){this.options.width=$(this.handler+' '+this.options.element).css('width').substring(0,$(this.handler+' '+this.options.element).css('width').length-2)}if(this.options.height=='auto'){this.options.height=$(this.handler+' '+this.options.element).css('height').substring(0,$(this.handler+' '+this.options.element).css('height').length-2)}if(this.options.type!='horizontal'){this.step=-1*this.options.height}else{this.step=-1*this.options.width;var w=($(this.handler+' '+this.options.element).length+1)*this.options.width;$(this.handler).css({width:w})}if(this.options.type!='fade'){if(this.options.type=='horizontal'){$(this.handler+' '+this.options.element+':first').clone(true).removeClass('active first').addClass('duplicate').insertAfter(this.handler+' '+this.options.element+':last')}else{$(this.handler+' '+this.options.element+':first').clone(true).removeClass('active first').addClass('duplicate').insertAfter(this.handler)}}this.lock()},reset:function(){if(this.locked){alert('Sorry, locked!');return}this.req=0;this.i=0;this.reset=false;this.step=-1;this.handler=null;this.unlock();this.clip=null},lock:function(){this.locked=true},unlock:function(){this.locked=false},fade:function(){var a=$(this.handler+' '+this.options.element+'.active');if(a.length==0)a=$(this.handler+' '+this.options.element+':last');var b=a.next().length?a.next():$(this.handler+' '+this.options.element+':first');a.css({opacity:1.0}).addClass('last-active');a.animate({opacity:0.0},this.options.speed,function(){a.removeClass('active last-active').css({opacity:1.0});b.css({opacity:1.0}).addClass('active')})},shake:function(){var a=this.handler;var b=0;if(this.options.type=='horizontal'){b=(this.step*this.i)}else{b=0}$(a).animate({marginLeft:b-10},200,function(){$(a).animate({marginLeft:b+10},200,function(){$(a).animate({marginLeft:b},200)})})},bounce:function(){var a=0;if(this.options.type=='vertical'){a=(this.step*this.i)}else{a=0}var b=this.handler;var c=2*(this.options.speed/10);$(b).animate({marginTop:a-10},c,function(){$(b).animate({marginTop:a+10},c,function(){$(b).animate({marginTop:a},c)})})},animate:function(){if(this.options.type=='fade'){var a=$(this.handler+' '+this.options.element+'.active');if(a.length==0)a=$(this.handler+' '+this.options.element+':last');var b=a.next().length?a.next():$(this.handler+' '+this.options.element+':first');a.addClass('last-active');b.css({opacity:0.0}).addClass('active').animate({opacity:1.0},this.options.speed,function(){a.removeClass('active last-active')})}else if(this.options.type=='vertical'){this.i=this.i+1;if(this.reset==true){this.i=1;this.reset=false;$(this.handler+' '+this.options.element+':first').addClass('active').css({opacity:1.0});$(this.handler+' '+this.options.element+'.active').next().css({opacity:1.0});$(this.handler).css({marginTop:0})}if(this.i>($(this.handler+' '+this.options.element).length-1)){this.i=$(this.handler+' '+this.options.element).length;this.reset=true}this.fade();var c=this;$(this.handler).animate({marginTop:(this.step*this.i)},this.options.speed,function(){if(c.options.effect=='bounce'){c.bounce()}else if(c.options.effect=='shake'){c.shake()}else if(typeof c.options.effect=='function'){c.options.effect()}else if(typeof c.options.effect=='object'&&typeof c.options.effect.init=='function'){c.options.effect.init()}})}else if(this.options.type=='horizontal'){this.i=this.i+1;if(this.reset==true){this.i=1;this.reset=false;$(this.handler).css({marginLeft:0})}if(this.i>($(this.handler+' '+this.options.element).length-2)){this.reset=true}var d=this;$(this.handler).animate({marginLeft:(this.step*this.i)},this.options.speed,function(){if(d.options.effect=='bounce'){d.bounce()}else if(d.options.effect=='shake'){d.shake()}else if(typeof d.options.effect=='function'){d.options.effect()}else if(typeof d.options.effect=='object'&&typeof d.options.effect.init=='function'){d.options.effect.init()}})}else if(typeof this.options.type=='function'||typeof this.options.type=='object'){if(typeof this.options.type=='function'){this.options.type(this)}else if(typeof this.options.type=='object'&&typeof this.options.type.init=='function'){this.options.type.init(this)}}else{if(this.req<=3){this.req=this.req+1;this.options.type='vertical';this.animate()}else{alert('Fatal Error! Cannot exit function (too many tries) req:'+this.req);return}}},start:function(){var a=this;if(this.options.nextAfter){setTimeout(function(){a.animate()},this.options.nextAfter);this.options.changeSpeed=this.options.speed+this.options.changeSpeed}this.timer=setInterval(function(){a.animate()},this.options.changeSpeed)}});g.extend({defaults:function(d){return $.extend(f,d||{})},intval:function(v){v=parseInt(v);return isNaN(v)?0:v}})})(jQuery);
