(function(b){b.fn.galleryView=function(F){var a=b.extend(b.fn.galleryView.defaults,F);var D;var i=0;var v;var E;var l=10;var z;var w;var e=0;var p;var o;var A=false;var x=20;var n=5;var s=2;var g;var j;var f;var h;var t;function B(c){b('img.nav-next').unbind('click');b('img.nav-prev').unbind('click');f.unbind('click');if(has_panels){if(a.fade_panels){h.fadeOut(a.transition_speed).eq(c%e).fadeIn(a.transition_speed,function(){if(!has_filmstrip){b('img.nav-prev').click(y);b('img.nav-next').click(m)}})}}if(has_filmstrip){if(p=='strip'){j.stop();var k=q(f[c]).left-(q(t[0]).left+2);var u=(k>=0?'-=':'+=')+Math.abs(k)+'px';j.animate({'left':u},a.transition_speed,a.easing,function(){if(c>e){c=c%e;i=c;j.css('left','-'+((a.frame_width+l)*c)+'px')}else if(c<=(e-strip_size)){c=(c%e)+e;i=c;j.css('left','-'+((a.frame_width+l)*c)+'px')}if(!a.fade_panels){h.hide().eq(c%e).show()}b('img.nav-prev').click(y);b('img.nav-next').click(m);C()})}else if(p=='pointer'){t.stop();var r=q(f[c]);t.animate({'left':(r.left-2+'px')},a.transition_speed,a.easing,function(){if(!a.fade_panels){h.hide().eq(c%e).show()}b('img.nav-prev').click(y);b('img.nav-next').click(m);C()})}if(b('a',f[c])[0]){t.unbind('click').click(function(){var d=b('a',f[c]).eq(0);if(d.attr('target')=='_0'){window.open(d.attr('href'))}else{location.href=d.attr('href')}})}}};function m(){b(document).stopTime("transition");if(++i==f.length){i=0}B(i);b(document).everyTime(a.transition_interval,"transition",function(){m()})};function y(){b(document).stopTime("transition");if(--i<0){i=e-1}B(i);b(document).everyTime(a.transition_interval,"transition",function(){m()})};function q(d){var c=0,k=0;var u=d.id;if(d.offsetParent){do{c+=d.offsetLeft;k+=d.offsetTop}while(d=d.offsetParent)}if(u==D){return{'left':c,'top':k}}else{var r=q(g[0]);var G=r.left;var H=r.top;return{'left':c-G,'top':k-H}}};function C(){f.each(function(d){if(b('a',this).length==0){b(this).click(function(){b(document).stopTime("transition");B(d);i=d;b(document).everyTime(a.transition_interval,"transition",function(){m()})})}})};function I(){if(b('.panel-overlay').length>0){h.append('<div class="overlay"></div>')}if(!has_filmstrip){b('<img />').addClass('nav-next').attr('src',o+a.nav_theme+'/next.png').appendTo(g).css({'position':'absolute','zIndex':'1100','cursor':'pointer','top':((a.panel_height-22)/2)+'px','right':'-20px','display':'none'}).click(m);b('<img />').addClass('nav-prev').attr('src',o+a.nav_theme+'/prev.png').appendTo(g).css({'position':'absolute','zIndex':'1100','cursor':'pointer','top':((a.panel_height-22)/2)+'px','left':'-20px','display':'none'}).click(y);b('<img />').addClass('nav-overlay').attr('src',o+a.nav_theme+'/panel-nav-next.png').appendTo(g).css({'position':'absolute','zIndex':'1099','top':((a.panel_height-22)/2)-10+'px','right':'-20px','display':'none'});b('<img />').addClass('nav-overlay').attr('src',o+a.nav_theme+'/panel-nav-prev.png').appendTo(g).css({'position':'absolute','zIndex':'1099','top':((a.panel_height-22)/2)-10+'px','left':'-20px','display':'none'})}h.css({'width':(a.panel_width-parseInt(h.css('paddingLeft').split('px')[0],10)-parseInt(h.css('paddingRight').split('px')[0],10))+'px','height':(a.panel_height-parseInt(h.css('paddingTop').split('px')[0],10)-parseInt(h.css('paddingBottom').split('px')[0],10))+'px','position':'absolute','top':(a.filmstrip_position=='top'?(a.frame_height+n+(a.show_captions?x:n))+'px':'0px'),'left':'0px','overflow':'hidden','background':'white','display':'none'});b('.panel-overlay',h).css({'position':'absolute','zIndex':'999','width':(a.panel_width-20)+'px','height':a.overlay_height+'px','top':(a.overlay_position=='top'?'0':a.panel_height-a.overlay_height+'px'),'left':'0','padding':'0 10px','color':a.overlay_text_color,'fontSize':a.overlay_font_size});b('.panel-overlay a',h).css({'color':a.overlay_text_color,'textDecoration':'underline','fontWeight':'bold'});b('.overlay',h).css({'position':'absolute','zIndex':'998','width':a.panel_width+'px','height':a.overlay_height+'px','top':(a.overlay_position=='top'?'0':a.panel_height-a.overlay_height+'px'),'left':'0','background':a.overlay_color,'opacity':a.overlay_opacity});b('.panel iframe',h).css({'width':a.panel_width+'px','height':(a.panel_height-a.overlay_height)+'px','border':'0'})};function J(){j.wrap('<div class="strip_wrapper"></div>');if(p=='strip'){f.clone().appendTo(j);f.clone().appendTo(j);f=b('li',j)}if(a.show_captions){f.append('<div class="caption"></div>').each(function(d){b(this).find('.caption').html(b(this).find('img').attr('title'))})}j.css({'listStyle':'none','margin':'0','padding':'0','width':z+'px','position':'absolute','zIndex':'900','top':'0','left':'0','height':(a.frame_height+10)+'px','background':a.background_color});f.css({'float':'left','position':'relative','height':a.frame_height+'px','zIndex':'901','marginTop':n+'px','marginBottom':'0px','marginRight':l+'px','padding':'0','cursor':'pointer'});b('img',f).css({'border':'none'});b('.strip_wrapper',g).css({'position':'absolute','top':(a.filmstrip_position=='top'?'0px':a.panel_height+'px'),'left':((v-w)/2)+'px','width':w+'px','height':(a.frame_height+n+(a.show_captions?x:n))+'px','overflow':'hidden'});b('.caption',g).css({'position':'absolute','top':a.frame_height+'px','left':'0','margin':'0','width':a.frame_width+'px','padding':'0','color':a.caption_text_color,'textAlign':'center','fontSize':'10px','height':x+'px','lineHeight':x+'px'});var c=b('<div></div>');c.attr('id','pointer').appendTo(g).css({'position':'absolute','zIndex':'1000','cursor':'pointer','top':q(f[0]).top-(s/2)+'px','left':q(f[0]).left-(s/2)+'px','height':a.frame_height-s+'px','width':a.frame_width-s+'px','border':(has_panels?s+'px solid '+(a.nav_theme=='dark'?'black':'white'):'none')});t=b('#pointer',g);if(has_panels){var k=b('<img />');k.attr('src',o+a.nav_theme+'/pointer'+(a.filmstrip_position=='top'?'-down':'')+'.png').appendTo(b('#pointer')).css({'position':'absolute','zIndex':'1001','top':(a.filmstrip_position=='bottom'?'-'+(10+s)+'px':a.frame_height+'px'),'left':((a.frame_width/2)-10)+'px'})}if(p=='strip'){j.css('left','-'+((a.frame_width+l)*e)+'px');i=e}if(b('a',f[i])[0]){t.click(function(){var d=b('a',f[i]).eq(0);if(d.attr('target')=='_0'){window.open(d.attr('href'))}else{location.href=d.attr('href')}})}b('<img />').addClass('nav-next').attr('src',o+a.nav_theme+'/next.png').appendTo(g).css({'position':'absolute','cursor':'pointer','top':(a.filmstrip_position=='top'?0:a.panel_height)+n+((a.frame_height-22)/2)+'px','right':(v/2)-(w/2)-10-22+'px'}).click(m);b('<img />').addClass('nav-prev').attr('src',o+a.nav_theme+'/prev.png').appendTo(g).css({'position':'absolute','cursor':'pointer','top':(a.filmstrip_position=='top'?0:a.panel_height)+n+((a.frame_height-22)/2)+'px','left':(v/2)-(w/2)-10-22+'px'}).click(y)};function K(d,c){var k=q(g[0]);var u=k.top;var r=k.left;return d>r&&d<r+a.panel_width&&c>u&&c<u+a.panel_height};return this.each(function(){g=b(this);b('script').each(function(d){var c=b(this);if(c.attr('src')&&c.attr('src').match(/jquery\.galleryview/)){o=c.attr('src').split('jquery.galleryview')[0]+'themes/'}});g.css('visibility','hidden');j=b('.filmstrip',g);f=b('li',j);h=b('.panel',g);D=g.attr('id');has_panels=h.length>0;has_filmstrip=f.length>0;if(!has_panels)a.panel_height=0;e=has_panels?h.length:f.length;strip_size=has_panels?Math.floor((a.panel_width-64)/(a.frame_width+l)):Math.min(e,a.filmstrip_size);if(strip_size>=e){p='pointer';strip_size=e}else{p='strip'}v=has_panels?a.panel_width:(strip_size*(a.frame_width+l))-l+64;E=(has_panels?a.panel_height:0)+(has_filmstrip?a.frame_height+n+(a.show_captions?x:n):0);if(p=='pointer'){z=(a.frame_width*e)+(l*(e))}else{z=(a.frame_width*e*3)+(l*(e*3))}w=((strip_size*a.frame_width)+((strip_size-1)*l));g.css({'position':'relative','margin':'0','background':a.background_color,'border':a.border,'width':v+'px','height':E+'px'});if(has_filmstrip){J()}if(has_panels){I()}if(has_filmstrip)C();b().mousemove(function(d){if(K(d.pageX,d.pageY)){if(a.pause_on_hover){b(document).oneTime(500,"animation_pause",function(){b(document).stopTime("transition");A=true})}if(has_panels&&!has_filmstrip){b('.nav-overlay').fadeIn('fast');b('.nav-next').fadeIn('fast');b('.nav-prev').fadeIn('fast')}}else{if(a.pause_on_hover){b(document).stopTime("animation_pause");if(A){b(document).everyTime(a.transition_interval,"transition",function(){m()});A=false}}if(has_panels&&!has_filmstrip){b('.nav-overlay').fadeOut('fast');b('.nav-next').fadeOut('fast');b('.nav-prev').fadeOut('fast')}}});h.eq(0).show();if(e>1){b(document).everyTime(a.transition_interval,"transition",function(){m()})}g.css('visibility','visible')})};b.fn.galleryView.defaults={panel_width:400,panel_height:300,frame_width:80,frame_height:80,filmstrip_size:3,overlay_height:70,overlay_font_size:'1em',transition_speed:400,transition_interval:6000,overlay_opacity:0.6,overlay_color:'black',background_color:'transparent',overlay_text_color:'white',caption_text_color:'white',border:'1px solid black',nav_theme:'light',easing:'swing',filmstrip_position:'bottom',overlay_position:'bottom',show_captions:false,fade_panels:true,pause_on_hover:false}})(jQuery);
