/*
* @name: Gallery
* @version: 0.3
* @release: 2010-03-05 17:20:21
* @type: jQuery plugin
* @author: David Sklar
--------------------------------------- */
(function($){var Gallery=function(box,opts){var $this=box;var frame;var slider;var slide;var btn_prev;var btn_next;var w_frame;var w_slider;var count=0;var page=1;var pages=0;var timer;var status=true;var options=opts;var length=opts.length-1;$this.find('a').wrapAll('
');slide=$this.find('a').eq(0);count=$this.find('a').length;w_slider=slide.outerWidth(true)*count;h_slider=slide.outerHeight(true);w_frame=slide.outerWidth(true)*(length+1);pages=Math.ceil(count/(length+1));slider=$this.find('div.g-slider');slider.width(w_slider).height(h_slider).css({padding:0,margin:0,position:'relative'});frame=$this.find('div.g-frame');frame.width(w_frame).css({padding:0,margin:0,position:'relative',overflow:'hidden'});$this.append('').append('');$this.find('.prev, .next').css({'opacity':0});$this.hover(function(){clearTimeout(timer);controlShow();},function(){timer=setTimeout(function(){controlHide()},1000);});$(options.area).hover(function(){clearTimeout(timer);controlShow();},function(){timer=setTimeout(function(){controlHide()},1000);});btn_prev=$this.find('a.prev');btn_prev.addClass(options.css).bind('click',function(e){if(status&&page>1){rewind();status=false;}
e.preventDefault();});btn_next=$this.find('a.next');btn_next.bind('click',function(e){if(status&&page1&&page1){btn_next.stop().animate({'backgroundColor':options.color.live},{duration:options.color.duration,complete:function(){btn_next.removeClass(options.css);}});}}else if(page==pages){btn_next.stop().animate({'backgroundColor':options.color.dead},{duration:options.color.duration,complete:function(){btn_next.addClass(options.css);}});if(pages>1){btn_prev.stop().animate({'backgroundColor':options.color.live},{duration:options.color.duration,complete:function(){btn_prev.removeClass(options.css);}});}}}else{if(page>1&&page1){btn_next.removeClass(options.css);}}else if(page==pages){btn_next.addClass(options.css);if(pages>1){btn_prev.removeClass(options.css);}}}
status=true;}});};function controlShow(){$this.find('.prev, .next').stop().animate({'opacity':1},300);};function controlHide(){$this.find('.prev, .next').stop().animate({'opacity':0},300);};};$.fn.gallery=function(options){var opts=$.extend({},{area:'#master',length:3,easing:'swing',duration:500,css:'disabled',color:{live:'#000',dead:'#666',duration:300}},options);return this.each(function(){return new Gallery($(this),opts);});};})(jQuery);