$(document).ready(function(){
	$('div.gallery').gallery({
		duration: 700,
		autoRotation: 10000,
		listOfSlides: 'ul.big > li',
		switcher: 'ul.switcher > li > a',
		effect: true
	});
});

/**
 * jQuery gallery v1.1.0
 * Copyright (c) 2011 JetCoders
 * email: yuriy.shpak@jetcoders.com
 * www: JetCoders.com
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 **/

$.fn.gallery=function(options){return new Gallery(this.get(0),options);};function Gallery(context,options){this.init(context,options);};Gallery.prototype={options:{},init:function(context,options){this.options=$.extend({infinite:false,duration:700,slideElement:1,autoRotation:false,effect:false,listOfSlides:'ul > li',switcher:false,disableBtn:false,nextBtn:'a.link-next, a.btn-next, a.next',prevBtn:'a.link-prev, a.btn-prev, a.prev',circle:true,direction:false,event:'click',IE:false,autoHeight:false,easing:'swing'},options||{});var _el=$(context).find(this.options.listOfSlides);if(this.options.effect)this.list=_el;else this.list=_el.parent();if(this.options.switcher)this.switcher=$(context).find(this.options.switcher);this.nextBtn=$(context).find(this.options.nextBtn);this.prevBtn=$(context).find(this.options.prevBtn);this.count=_el.index(_el.filter(':last'));if(this.options.switcher)this.active=this.switcher.index(this.switcher.filter('.active:eq(0)'));else this.active=_el.index(_el.filter('.active:eq(0)'));if(this.active<0)this.active=0;this.last=this.active;this.woh=_el.outerWidth(true);if(!this.options.direction)this.installDirections(this.list.parent().width());else{this.woh=_el.outerHeight(true);this.installDirections(this.list.parent().height());}if(!this.options.effect){this.rew=this.count-this.wrapHolderW+1;if(!this.options.direction)this.anim='{marginLeft: -(this.woh * this.active)}';else this.anim='{marginTop: -(this.woh * this.active)}';eval('this.list.css('+this.anim+')');}else{this.rew=this.count;this.list.css({opacity:0}).removeClass('active').eq(this.active).addClass('active').css({opacity:1}).css('opacity','auto');this.switcher.removeClass('active').eq(this.active).addClass('active');if(this.options.autoHeight)this.list.parent().css({height:this.list.eq(this.active).outerHeight()});}this.flag=true;if(this.options.infinite){this.count++;this.active+=this.count;this.list.append(_el.clone());this.list.append(_el.clone());eval('this.list.css('+this.anim+')');}this.initEvent(this,this.nextBtn,true);this.initEvent(this,this.prevBtn,false);if(this.options.disableBtn)this.initDisableBtn();if(this.options.autoRotation)this.runTimer(this);if(this.options.switcher)this.initEventSwitcher(this,this.switcher);},initDisableBtn:function(){this.prevBtn.removeClass('prev-'+this.options.disableBtn);this.nextBtn.removeClass('next-'+this.options.disableBtn);if(this.active==0||this.count+1==this.wrapHolderW)this.prevBtn.addClass('prev-'+this.options.disableBtn);if(this.active==0&&this.count+1==1||this.count+1<=this.wrapHolderW)this.nextBtn.addClass('next-'+this.options.disableBtn);if(this.active==this.rew)this.nextBtn.addClass('next-'+this.options.disableBtn);},installDirections:function(temp){this.wrapHolderW=Math.ceil(temp/this.woh);if(((this.wrapHolderW-1)*this.woh+this.woh/2)>temp)this.wrapHolderW--;},fadeElement:function(){if($.browser.msie&&this.options.IE){this.list.eq(this.last).css({opacity:0});this.list.removeClass('active').eq(this.active).addClass('active').css({opacity:'auto'});}else{this.list.eq(this.last).animate({opacity:0},{queue:false,easing:this.options.easing,duration:this.options.duration});this.list.removeClass('active').eq(this.active).addClass('active').animate({opacity:1},{queue:false,duration:this.options.duration,complete:function(){$(this).css('opacity','auto');}});}if(this.options.autoHeight)this.list.parent().animate({height:this.list.eq(this.active).outerHeight()},{queue:false,duration:this.options.duration});if(this.options.switcher)this.switcher.removeClass('active').eq(this.active).addClass('active');this.last=this.active;},scrollElement:function($this){if(!$this.options.infinite)eval('$this.list.animate('+$this.anim+', {queue:false, easing: "'+$this.options.easing+'", duration: $this.options.duration});');else eval('$this.list.animate('+$this.anim+', $this.options.duration, "'+$this.options.easing+'", function(){ $this.flag = true });');if($this.options.switcher)$this.switcher.removeClass('active').eq($this.active/$this.options.slideElement).addClass('active');},runTimer:function($this){if($this._t)clearTimeout($this._t);$this._t=setInterval(function(){if($this.options.infinite)$this.flag=false;$this.toPrepare($this,true);},this.options.autoRotation);},initEventSwitcher:function($this,el){el.bind($this.options.event,function(){$this.active=$this.switcher.index($(this))*$this.options.slideElement;if($this._t)clearTimeout($this._t);if($this.options.disableBtn)$this.initDisableBtn();if(!$this.options.effect)$this.scrollElement($this);else $this.fadeElement();if($this.options.autoRotation)$this.runTimer($this);return false;});},initEvent:function($this,addEventEl,dir){addEventEl.bind($this.options.event,function(){if($this.flag){if($this.options.infinite)$this.flag=false;if($this._t)clearTimeout($this._t);$this.toPrepare($this,dir);if($this.options.autoRotation)$this.runTimer($this);}return false;});},toPrepare:function($this,side){if(!$this.options.infinite){if(($this.active==$this.rew)&&$this.options.circle&&side)$this.active=-$this.options.slideElement;if(($this.active==0)&&$this.options.circle&&!side)$this.active=$this.rew+$this.options.slideElement;for(var i=0;i<$this.options.slideElement;i++){if(side){if($this.active+1<=$this.rew)$this.active++;}else{if($this.active-1>=0)$this.active--;}};}else{if($this.active>=$this.count+$this.count&&side)$this.active-=$this.count;if($this.active<=$this.count-1&&!side)$this.active+=$this.count;eval('$this.list.css('+$this.anim+')');if(side)$this.active+=$this.options.slideElement;else $this.active-=$this.options.slideElement;}if(this.options.disableBtn)this.initDisableBtn();if(!$this.options.effect)$this.scrollElement($this);else $this.fadeElement();},stop:function(){if(this._t)clearTimeout(this._t);},play:function(){if(this._t)clearTimeout(this._t);if(this.options.autoRotation)this.runTimer(this);}}

