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