Glider=Class.create();Object.extend(Object.extend(Glider.prototype,Abstract.prototype),{initialize:function(wrapper,options){this.scrolling=false;this.wrapper=$(wrapper);this.scroller=this.wrapper.down('div.scroller');this.sections=this.wrapper.getElementsBySelector('div.section');this.options=Object.extend({duration:1.0,frequency:3},options||{});this.sections.each(function(section,index){section._index=index;});this.events={click:this.click.bind(this)};this.addObservers();if(this.options.initialSection)this.moveTo(this.options.initialSection,this.scroller,{duration:this.options.duration});if(this.options.autoGlide)this.start();},addObservers:function(){var controls=this.wrapper.getElementsBySelector('div.controls a');controls.invoke('observe','click',this.events.click);},click:function(event){this.stop();var element=Event.findElement(event,'a');if(this.scrolling)this.scrolling.cancel();this.moveTo(element.href.split("#")[1],this.scroller,{duration:this.options.duration});Event.stop(event);},moveTo:function(element,container,options){this.current=$(element);Position.prepare();var containerOffset=Position.cumulativeOffset(container),elementOffset=Position.cumulativeOffset($(element));this.scrolling=new Effect.SmoothScroll(container,{duration:options.duration,x:(elementOffset[0]-containerOffset[0]),y:(elementOffset[1]-containerOffset[1])});return false;},next:function(){if(this.current){var currentIndex=this.current._index;var nextIndex=(this.sections.length-1==currentIndex)?0:currentIndex+1;}else var nextIndex=1;this.moveTo(this.sections[nextIndex],this.scroller,{duration:this.options.duration});},previous:function(){if(this.current){var currentIndex=this.current._index;var prevIndex=(currentIndex==0)?this.sections.length-1:currentIndex-1;}else var prevIndex=this.sections.length-1;this.moveTo(this.sections[prevIndex],this.scroller,{duration:this.options.duration});},stop:function()
{clearTimeout(this.timer);},start:function()
{this.periodicallyUpdate();},periodicallyUpdate:function()
{if(this.timer!=null){clearTimeout(this.timer);this.next();}
this.timer=setTimeout(this.periodicallyUpdate.bind(this),this.options.frequency*1000);}});Effect.SmoothScroll=Class.create();Object.extend(Object.extend(Effect.SmoothScroll.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);var options=Object.extend({x:0,y:0,mode:'absolute'},arguments[1]||{});this.start(options);},setup:function(){if(this.options.continuous&&!this.element._ext){this.element.cleanWhitespace();this.element._ext=true;this.element.appendChild(this.element.firstChild);}
this.originalLeft=this.element.scrollLeft;this.originalTop=this.element.scrollTop;if(this.options.mode=='absolute'){this.options.x-=this.originalLeft;this.options.y-=this.originalTop;}},update:function(position){this.element.scrollLeft=this.options.x*position+this.originalLeft;this.element.scrollTop=this.options.y*position+this.originalTop;}});;(function($){var defaults={autoPlay:true,speed:5000,text:{play:"",stop:"",previous:"Previous",next:"Next"},transition:[-1],showCaption:false,IESafe:false};$.fn.PikaChoose=function(o){return this.each(function(){$(this).data('pikachoose',new $pc(this,o));});}
$.PikaChoose=function(e,o){this.options=$.extend({},defaults,o||{});this.list=null;this.image=null;this.anchor=null;this.caption=null;this.imgNav=null;this.imgPlay=null;this.imgPrev=null;this.imgNext=null;this.textNext=null;this.textPrev=null;this.previous=null;this.next=null;this.aniDiv=null;this.thumbs=null;this.transition=null;this.active=null;this.animating=false;if(e.nodeName=='UL'||e.nodeName=='OL'){this.list=$(e);this.build();this.bindEvents();}else{return;}
var y=0;var x=0;for(var t=0;t<25;t++)
{var a='<div col="'+y+'" row="'+x+'"></div>';this.aniDiv.append(a);y++
if(y==5)
{x++;y=0;}}}
var $pc=$.PikaChoose;$pc.fn=$pc.prototype={pikachoose:'4.0.3'};$pc.fn.extend=$pc.extend=$.extend;$pc.fn.extend({build:function(){this.step=0;this.wrap=$("<div class='pika-image'></div>").insertBefore(this.list);this.image=$("<img>").appendTo(this.wrap);this.anchor=this.image.wrap("<a>").parent();this.imgNav=$("<div class='pika-imgnav'></div>").insertAfter(this.anchor);this.imgPlay=$("<a></a>").appendTo(this.imgNav);if(this.options.autoPlay){this.imgPlay.addClass('pause');}else{this.imgPlay.addClass('play');}
this.imgPrev=$("<a class='previous'></a>").insertAfter(this.imgPlay);this.imgNext=$("<a class='next'></a>").insertAfter(this.imgPrev);this.caption=$("<div class='caption'></div>").insertAfter(this.imgNav);if(!this.options.showCaption){this.caption.hide();}
this.aniDiv=$("<div class='animation'></div>").insertAfter(this.caption);this.textNav=$("<div class='pika-textnav'></div>").insertAfter(this.aniDiv);this.textPrev=$("<a class='previous'>"+this.options.text.previous+"</a>").appendTo(this.textNav);this.textNext=$("<a class='next'>"+this.options.text.next+"</a>").appendTo(this.textNav);this.list.addClass('pika-thumbs');this.list.children('li').wrapInner("<div class='clip' />");this.thumbs=this.list.find('img');this.active=this.thumbs.eq(0);this.finishAnimating({'source':this.active.attr('ref')||this.active.attr('src'),'caption':this.active.parents('li:first').find('span:first').html(),'clickThrough':this.active.parent().attr('href')||""});this.thumbs.each(this.createThumb);},createThumb:function(){var self=$(this);$(this).hide();$.data(this,'clickThrough',$(this).parent('a').attr('href')||"#");if($(this).parent('a').length>0){$(this).unwrap();}
$.data(this,'caption',$(this).next('span').html()||"");$(this).next('span').remove();$.data(this,'source',$(this).attr('ref')||$(this).attr('src'));$.data(this,'order',$("ul li").index($(this).parents('li')));var data=$.data(this);},bindEvents:function(){this.thumbs.bind('click',{self:this},this.imgClick);this.imgNext.bind('click',{self:this},this.nextClick);this.textNext.bind('click',{self:this},this.nextClick);this.imgPrev.bind('click',{self:this},this.prevClick);this.textPrev.bind('click',{self:this},this.prevClick);this.imgPlay.bind('click',{self:this},this.playClick);this.wrap.bind('mouseenter',{self:this},function(e){e.data.self.imgPlay.stop(true,true).fadeIn('fast');});this.wrap.bind('mouseleave',{self:this},function(e){e.data.self.imgPlay.stop(true,true).fadeOut('fast');});},imgClick:function(e,x){var self=e.data.self;if(self.animating){return;}
self.caption.fadeOut('slow');if(typeof(x)=='undefined'||x.how!="auto")
{if(self.options.autoPlay)
{self.imgPlay.trigger('click');}}
self.animating=true;self.active.fadeTo(300,0.4).removeClass('active');self.active=$(this);self.active.addClass('active').fadeTo(200,1);var data=$.data(this);$('<img />').bind('load',{self:self,data:data},function()
{self.aniDiv.css({height:self.image.innerHeight(),width:self.image.innerWidth()}).fadeIn('fast');self.aniDiv.children('div').css({'width':'20%','height':'20%','float':'left'});var n=0;if(self.options.transition[0]==-1)
{n=Math.floor(Math.random()*6);}else{n=self.options.transition[self.step];self.step++;if(self.step>=self.options.transition.length){self.step=0;}}
if(self.options.IESafe&&$.browser.msie){n=0;}
self.doAnimation(n,data);}).attr('src',$.data(this).source);},doAnimation:function(n,data)
{var self=this;var aWidth=self.aniDiv.children('div').eq(0).innerWidth();var aHeight=self.aniDiv.children('div').eq(0).innerHeight();self.aniDiv.children().each(function()
{var div=$(this);var xOffset=Math.floor(div.parent().innerWidth()/5)*div.attr('col');var yOffset=Math.floor(div.parent().innerHeight()/5)*div.attr('row');div.css({'background':'url('+data.source+') -'+xOffset+'px -'+yOffset+'px','width':'0px','height':'0px','position':'absolute','top':yOffset+'px','left':xOffset+'px','float':'none'});});switch(n)
{case 0:self.aniDiv.css('height',self.image.innerHeight()+'px').hide().css({'background':'url('+data.source+') top left no-repeat'});self.aniDiv.children('div').hide();self.aniDiv.fadeIn('slow',function(){self.finishAnimating(data);self.aniDiv.css({'background':'transparent'});});break;case 1:self.aniDiv.children().hide().each(function(index)
{var delay=index*30;$(this).css({opacity:0.1}).delay(delay).animate({opacity:1,"width":aWidth,"height":aHeight},200,'linear',function()
{if($(".animation div").index(this)==24)
{self.finishAnimating(data);}});});break;case 2:self.aniDiv.children().hide().each(function(index)
{var delay=$(this).attr('row')*30;$(this).css({opacity:0.1,"width":aWidth}).delay(delay).animate({opacity:1,"height":aHeight},500,'linear',function()
{if($(".animation div").index(this)==24)
{self.finishAnimating(data);}});});break;case 3:self.aniDiv.children().hide().each(function(index)
{var delay=$(this).attr('col')*10;aHeight=self.gapper($(this),aHeight);$(this).css({opacity:0.1,"height":aHeight}).delay(delay).animate({opacity:1,"width":aWidth},800,'linear',function()
{if($(".animation div").index(this)==24)
{self.finishAnimating(data);}});});break;case 4:self.aniDiv.children().show().each(function(index)
{var delay=index*Math.floor(Math.random()*5)*10;aHeight=self.gapper($(this),aHeight);if($(".animation div").index(this)==24)
{delay=800;}
$(this).css({"height":aHeight,"width":aWidth,"opacity":.01}).delay(delay).animate({"opacity":1},800,function()
{if($(".animation div").index(this)==24)
{self.finishAnimating(data);}});});break;case 5:self.aniDiv.css('height',self.image.innerHeight()+'px').hide().css({'background':'url('+data.source+') top left no-repeat'});self.aniDiv.children('div').hide();self.aniDiv.css({width:0}).animate({width:self.image.innerWidth()},'slow',function(){self.finishAnimating(data);self.aniDiv.css({'background':'transparent'});});break;case 6:self.aniDiv.hide();self.image.fadeOut('slow',function(){self.image.attr('src',data.source).fadeIn('slow',function()
{self.finishAnimating(data);});});break;}},finishAnimating:function(data)
{this.animating=false;this.image.attr('src',data.source);this.aniDiv.hide();this.anchor.attr('href',data.clickThrough);if(this.options.showCaption)
{this.caption.html(data.caption).fadeIn('slow');}
if(this.options.autoPlay==true)
{var self=this;this.image.delay(this.options.speed).fadeIn(0,function(){if(self.options.autoPlay){self.nextClick();}});}},gapper:function(ele,aHeight)
{if(ele.attr('row')==9&&ele.attr('col')==0)
{var gap=ani_divs.innerHeight()-(aHeight*9);return gap;}
return aHeight;},nextClick:function(e)
{var how="natural";try{var self=e.data.self;}catch(err)
{var self=this;how="auto";}
var next=self.active.parents('li:first').next().find('img');if(next.length==0){next=self.list.find('img').eq(0);};next.trigger('click',{how:how});},prevClick:function(e)
{var self=e.data.self;var prev=self.active.parents('li:first').prev().find('img');if(prev.length==0){prev=self.list.find('img:last');};prev.trigger('click');},playClick:function(e)
{var self=e.data.self;self.options.autoPlay=!self.options.autoPlay;self.imgPlay.toggleClass('play').toggleClass('pause');if(self.options.autoPlay){self.nextClick();}}});})(jQuery);
