(function(a){jBGallery={};jBGallery.Settings=function(){return{style:"centered",menu:"slider",shortcuts:[37,39],slideshow:false,fade:true,popup:false,randomize:0,caption:true,autohide:false,clickable:false,current:1,webkit:navigator.userAgent.toLowerCase().search(/webkit/)!=-1,ie6:/MSIE 6/i.test(navigator.userAgent),ie7:/MSIE 7/i.test(navigator.userAgent),labels:{play:"play",next:"next",prev:"prev",stop:"stop",close:"close",info:"info"},timers:{fade:400,interval:7e3,autohide:7e3},delays:{mousemove:200,resize:500,mouseover:800},close:function(){},before:function(){},after:function(a){},load:function(a){},ready:function(a){},fullscreen:true,push:function(a){},unshift:function(a){},shift:function(){},pop:function(){},empty:function(){}}};jBGallery.Init=function(b,c){function d(c){if(a(c).data("jbgallery"))return;var d=new jBGallery.Options(b,c);var e=new jBGallery.Data(c,b);a(c).data("jbgallery",new jBGallery.Core(c,e,d));return a(c).data("jbgallery")}if(typeof b=="string"){if(a(this).data("jbgallery"))return a(this).eq(0).data("jbgallery")[b](c)}else if(typeof c=="boolean"){return d(a(this).get(0))}else{return this.each(function(a){d(this)})}};jBGallery.Data=function(b,c,d){function h(){e=a.map(a(b).find("ul > li"),function(b,c){var d=a("a",b).get(0);return f({href:d.href,title:d.title,rel:d.rel,caption:a("div.caption",b).html(),caption_css:a("div.caption",b).clone().removeClass("caption").attr("class"),thumb:a("img",b).attr("src")},"push")})}function g(b){var c;if(typeof b=="string"){c=g({href:b})}else{c=a.extend({href:"",title:"",caption:"",caption_css:"",thumb:"",rel:""},b)}if(c.thumb.length==0||!c.thumb)c.thumb=c.href;return c}function f(b,c){if(a.isArray(b)){a.each(b,function(a,d){b[a]=g(d);e[c](b[a])})}else{b=g(b);e[c](b)}return b}var e=[];h();return{get:function(a){if(e[a])return e[a];else return g("")},items:function(){return e},push:function(a){return f(a,"push")},unshift:function(a){return f(a,"unshift")},shift:function(){e.shift()},pop:function(){e.pop()},empty:function(){e=[]},length:function(){return e.length}}};jBGallery.Core=function(b,c,d){function f(){a("html, body").removeClass("jbg").removeClass("ie6");g.target.unbind();g.target.remove();a(e).removeData("jbgallery");a(e).unbind();a(".jbg-wrap",e).remove();var c=".jbgs-thumb, .jbgs, .jbgs-opacity, .jbgs-top, .jbgs-top-opacity, .jbg-loading, .jbg-caption, .jbg-menu-opacity, .jbg-menu";a(c,b).unbind().find("a").unbind();a(c,b).remove();a(document).unbind("keydown.jbgallery").unbind("mousemove.jbgallery").unbind("click.jbgallery");a(window).unbind("resize.jbgallery")}var e=b;new jBGallery.Interface(e,c,d);var g=new jBGallery.Engine(e,c,d);var h=new jBGallery.Keys(g,d.shortcuts);g.register(h);new jBGallery.OnLoadImage(b,g,d);var i=d.caption?new jBGallery.Caption(e,c,g,d):{};if(d.menu){var j;if(d.menu=="slider"){j=new jBGallery.MenuSlider(e,c,g,i,d)}else{j=new jBGallery.MenuSimple(e,c,g,i,d)}g.register(j)}a(e).bind("destroy",f);a(window).bind("unload",f);a(e).fadeIn(d.timers.fade,function(){d.ready(e)});return{current:g.current,play:g.play,stop:g.stop,go:g.go,right:g.right,left:g.left,destroy:f,length:c.length,push:g.push,shift:g.shift,pop:g.pop,unshift:g.unshift,empty:g.empty}};jBGallery.Loading=function(){document.getElementsByTagName("html")[0].className="loading"};jBGallery.Options=function(b,c){var d={};if(a.metadata)d=a(c).metadata();var e=new jBGallery.Settings;var f=a.extend(true,e,d,b);if(f.current!==1)f.randomize=0;if(f.popup&&f.current===1){var g=parseInt(location.hash.replace("#",""),10);if(g)f.current=g}f.current--;if(f.current<0)f.current=0;if(!f.fade)f.timers.fade=0;if(f.popup&&f.style=="centered")f.style="centered modal";return f};jBGallery.EventTimer=function(b,c,d,e,f,g){a.each(c,function(c,g){var h=null;a(b).bind(g,function(a){if(h){clearTimeout(h)}h=setTimeout(function(){e(a)},d)});if(f){a(b).bind(f,function(a){if(h)clearTimeout(h)})}})};jBGallery.AutoToggle=function(b,c,d){function h(){if(i){clearInterval(i);i=false}i=setInterval(f,c.timers.autohide)}function g(d){a(b).each(function(){if(a(this).css("visibility")!=="hidden")a(this)[d](c.timers.fade)})}function f(){g(d[1])}function e(){h();g(d[0])}var i=false;var j=false;if(!d)d=["slideDown","slideUp"];a(document).bind("click.jbgallery",e).bind("mousemove.jbgallery",function(){if(j){clearTimeout(j);j=false}j=setTimeout(e,c.delays.mousemove)});h()};jBGallery.Randomizer=function(a,b){a=Math.ceil((b-1)*Math.random());if(a>=b)a=0;return a};jBGallery.Interface=function(b,c,d){if(d.randomize>0)d.current=jBGallery.Randomizer(d.current,c.length());var e=d.style;if(d.webkit)e="";var f='<img style="visibility:hidden" class="'+e+' jbgallery-target" alt="'+c.get(d.current).title+'" src="'+c.get(d.current).href+'" />';var g='<div class="jbg-wrap '+d.style+'"><table cellpadding="0" cellspacing="0"><tr><td>'+f+"</td></tr></table></div>";var h='<div class="jbg-caption" style="display:none"></div>';var i='<div class="jbg-loading"><span class="jbg-loading"></span></div>';a(b).hide().find("ul").hide();if(d.fullscreen){a("html, body").addClass("jbg-body")}else{a(b).addClass("jbox")}if(d.ie6)a("html").addClass("ie6");a(b).prepend(g).prepend(h).prepend(i);var j=new Image;j.onload=function(){a(".jbgallery-target",b).hide().css("visibility","").fadeIn(d.timers.fade)};j.src=c.get(d.current).href};jBGallery.Engine=function(b,c,d){function B(b,c){a.each(i,function(a,d){i[a].notify(b,c)})}function A(a){i.push(a)}function z(){j=true;c.empty();B("empty");d.empty()}function y(){c.shift();if(e==1&&c.length()>0){j=true;o(1)}else{e--}B("shift");d.shift();if(c.length()==0)z()}function x(){c.pop();if(e>c.length()&&c.length()>0){j=true;o(c.length())}B("pop");d.pop();if(c.length()==0)z()}function w(a){if(c.length()>1)e++;u("unshift",a)}function v(a){u("push",a)}function u(a,b){var e=c[a](b);if(c.length()==1)o(1);B(a,e);d[a](e)}function t(a){clearTimeout(h);h=setTimeout(function(){p(a)},g)}function s(){f=false;clearTimeout(h)}function r(){if(f)return;f=true;p(g)}function q(){if(d.randomize==2)e=jBGallery.Randomizer(e,c.length());if(e>1){var a=e-1}else{var a=c.length()}o(a)}function p(a){if(d.randomize==2)e=jBGallery.Randomizer(e,c.length());if(e<c.length()){var b=e+1}else{var b=1}o(b,a)}function o(a,b){if(a>c.length()||a===e&&!j)return;if(f){if(b){n(a)}else{n(a)}}else{n(a)}j=false}function n(b){d.before();m();e=b;var f=c.get(e-1);var g=new Image;g.onload=function(){k.fadeOut(d.timers.fade,function(){if(this.src==f.href)f.href+="#"+(new Date).getTime();a(this).hide().attr({src:f.href,alt:f.title})})};g.src=f.href}function m(){l.show()}var e=d.current?d.current+1:1;var f=d.slideshow;var g=d.timers.interval;var h=false;var i=[];var j=false;var k=a(".jbgallery-target",b);var l=a(".jbg-loading",b);return{current:function(){return e},slideshow:function(){return f},length:function(){return c.length()},play:r,stop:s,go:o,right:p,left:q,target:k,loading:l,timeout:t,register:A,push:v,shift:y,pop:x,unshift:w,empty:z}};jBGallery.OnLoadImage=function(b,c,d){function f(){return d.ie6||d.webkit||d.style!=="zoom"}function e(a){c.loading.hide();c.target.hide().css("visibility","").fadeIn(d.timers.fade)}if(f()){new jBGallery.Fix(b,c.target,d)}if(d.clickable){c.target.click(function(){c.right();return false}).css({cursor:"pointer"})}c.target.one("load",function(){a("html").removeClass("loading")}).bind("load",function(a){e(a);d.load(a);d.after(a);if(c.slideshow()){c.timeout(a)}})};jBGallery.Fix=function(b,c,d){function j(a,b,e){if(e||d.style=="centered"||b.bw<b.w)c.width(a)}function i(a,b,e){if(e||d.style=="centered"||b.bh<b.h)c.height(a)}function h(b){a(b).width("auto").height("auto");var c=e(b);if(c.bh>c.bw){var d=c.w*c.bh/c.h;if(d<c.bw){var f=c.h*c.bw/c.w;i(f,c,true)}else{i(c.bh,c,true)}}else{var f=c.h*c.bw/c.w;if(f<c.bh){var d=c.w*c.bh/c.h;j(d,c,true)}else{j(c.bw,c,true)}}}function g(b){a(b).width("auto").height("auto");var c=e(b),f;if(d.style=="original"&&c.bw>=c.w&&c.bh>=c.h)return false;if(c.bw<c.bh){var g=c.h*c.bw/c.w;if(f=g>c.bh){var h=c.w*c.bh/c.h;j(h,c,f)}else{j(c.bw,c)}}else{var h=c.w*c.bh/c.h;if(f=h>c.bw){var g=c.h*c.bw/c.w;i(g,c,f)}else{i(c.bh,c)}}}function f(){var a=c.get(0);var b=d.style=="zoom"?h:g;if(d.ie6||d.ie7){setTimeout(function(){b(a)},10)}else{b(a)}}function e(c){var e=d.fullscreen?"body":b;var f=a(e).width();var g=a(e).height();var h=f/g;var i=c.width/c.height;var j={bw:f,bh:g,pm:h,p:i,h:c.height,w:c.width};_img=null;return j}if(d.fullscreen)jBGallery.EventTimer(window,["resize.jbgallery"],d.delays.resize,f);c.bind("load",function(a){f()})};jBGallery.Keys=function(b,c){function f(){if(!d&&b.length()>1){a(document).bind("keydown.jbgallery",e);d=true}}function e(a){var d=a.which||a.keyCode;switch(d){case c[0]:b.left();return false;break;case c[1]:b.right();return false;break;case 37:case 38:case 39:case 40:return false;break}}var d=false;f();return{notify:function(){f()}}};jBGallery.Caption=function(b,c,d,e){function j(){var a=h();f=a.length;k.html(a);if(f==0)k.hide()}function i(){if(f>0)k.toggle()}function h(){var a=d.current();var b="",e="";var f=c.get(a-1);var e=f.title;if(f.rel.length>0)e='<a href="'+f.rel+'" target="_blank">'+f.title+"</a>";if(f.title.length>0)b+="<h3>"+e+"</h3>";if(f.caption)b+="<div>"+f.caption+"</div>";k.removeAttr("class").addClass(f.caption_css).addClass("jbg-caption");return b+""}var f=0;var g=false;var k=a(".jbg-caption",b);j();if(f>0)k.fadeIn(e.timers.fade);if(e.autohide){jBGallery.AutoToggle(k,e)}d.target.bind("load",function(){j()});return{toggle:i}};jBGallery.MenuSimple=function(b,c,d,e,f){function x(b){a("li.jbg-n:last",i).remove()}function w(b){if(!h)t();if(a.isArray(b)){var c="";var e=d.length()-b.length;a.each(b,function(a,b){c+='<li class="jbg-n"><a href="#">'+(e+a+1)+"</a></li>"});v(c)}else{v('<li class="jbg-n"><a href="#">'+d.length()+"</a></li>")}n();m=d.length()}function v(b){a(".jbg-next",i).parent().before(b)}function u(){if(f.menu=="numbers")a(".jbg-n",i).remove();a(j).fadeOut(f.timers.fade);m=d.length()}function t(){if(!h&&d.length()>0){a('<div class="jbg-menu-opacity" /><ul class="jbg-menu" />').hide().appendTo(b);i=a(".jbg-menu",b);j=a(".jbg-menu-opacity , .jbg-menu",b);if(f.menu=="numbers"){i.append(p()).click(q).find("a:eq("+(d.current()-1)+")").addClass("selected").addClass("visited")}i.append(o("jbg-next",f.labels.next,d.right)).prepend(o("jbg-prev",f.labels.prev,d.left));i.append(k).append(l);if(f.caption&&f.labels.info){i.append(o("jbg-info",f.labels.info,function(){e.toggle();return false}))}if(f.labels.extra){i.append("<li>"+f.labels.extra+"</li>")}if(f.popup){i.append(o("jbg-close",f.labels.close,function(){a(g).trigger("destroy");f.close();return false}))}if(f.menu=="numbers")d.target.bind("load",n);if(f.autohide)jBGallery.AutoToggle(a(j),f);a(j).fadeIn(f.timers.fade);h=true}}function s(){d.stop();k.show();l.hide()}function r(){d.play();k.hide();l.show()}function q(b){var c=b.target||b.srcElement;if(c.tagName.toString().toLowerCase()==="a"){var e=parseInt(a(c).text());d.go(e)}return false}function p(){var a="";for(var b=1;b<=d.length();b++)a+='<li class="jbg-n"><a href="#">'+b+"</a></li>";return a}function o(b,c,d){var e=a('<a href="#" class="'+b+'">'+c+"</a>").click(function(){d();return false});return a("<li></li>").append(e)}function n(a){var b=d.current();i.find("a.selected").removeClass("selected");i.find("a:eq("+b+")").addClass("visited").addClass("selected")}var g=b;var h=false;var i,j;var k=o("jbg-play",f.labels.play,r).toggle(!f.slideshow);var l=o("jbg-stop",f.labels.stop,s).toggle(f.slideshow);var m=d.length();t();return{notify:function(b,d){if(c.length()>0&&!a(j).eq(0).is(":visible")){a(j).fadeIn(f.timers.fade)}if(f.menu=="numbers"){switch(b){case"push":case"unshift":w(d);break;case"pop":case"shift":x();break}}if(b=="empty"){u()}}}};jBGallery.MenuSlider=function(b,c,d,e,f){function Z(){if(!y&&d.length()>0){a(h).append(n+o).addClass("jbgs-cnt");r=a(".jbgs-top-right",b);s=a(".jbgs-viewer",b);q=a('<div class="jbgs-inner"></div>').appendTo(s);t=a(".jbgs-inner",b);u=a(".jbgs-h-play",b);v=a(".jbgs-h-pause",b);w=a("a",t);x=a(".jbgs-opacity, .jbgs, .jbgs-top",b);X(c.items(),"appendTo",true);a(".jbgs-opacity, .jbgs-h").css("opacity",.8);if(d.slideshow())u.hide();else v.hide();if(f.caption){a(m).click(function(){e.toggle();return false}).appendTo(r)}if(f.popup){if(a("a",r).length>0){a(k).appendTo(r)}a(l).click(function(){a(g).trigger("destroy");f.close();return false}).appendTo(r)}A(".jbgs-h-left",H);A(".jbgs-h-right",I);u.click(function(){a(this).hide();v.show();d.play();return false});v.click(function(){a(this).hide();u.show();d.stop();return false});a(".jbgs-h-prev",b).click(function(){d.left();return false});a(".jbgs-h-next",b).click(function(){d.right();return false});a("a",t).live("click",function(){var b=a("a",t).index(this)+1;d.go(b);return false});jBGallery.EventTimer(t,["mouseover"],f.delays.mouseover,Q,"mouseout");t.bind("mouseout",P);d.target.bind("load",function(){var a=d.current();if(!J(a)){var b=B(a);G(b)}D(a)});jBGallery.EventTimer(window,["resize.jbgallery"],f.delays.resize,R);if(f.autohide){jBGallery.AutoToggle(x,f);jBGallery.AutoToggle(".jbgs-thumb",f,["fadeIn","fadeOut"])}y=true}}function Y(b){a("li"+b,q).remove()}function X(b,c,e){if(!e&&!y)Z();if(a.isArray(b)){a.each(b,function(a,b){V(b,c)})}else{V(b,c)}if(z==0&&!e){x.fadeIn(f.timers.fade)}z=d.length()}function W(){t.empty();x.hide(f.timers.fade);z=d.length()}function V(b,c){var d=a('<li><a title="'+b.title+'" href="'+b.href+'"><img src="'+b.thumb+'" alt="" /></a></li>')[c](q);var e=a("img",d).css("opacity",.7).get(0);U(e)}function U(b){a(b).wrap("<div />");if(b.complete){T(b)}else{a(b).one("load",function(){T(b)})}}function T(b){a(b).addClass(E(b)).css(S(b))}function S(a){return a.height>=a.width?{top:-(a.height*51/a.width-51)/2}:{left:-(a.width*51/a.height-51)/2}}function R(){var b=a(h).width()-130;var c=b-b%60;s.width(c)}function Q(c){var d=c.target||c.srcElement;if(d.tagName.toString().toLowerCase()==="img"){a(d).parent().parent().css("margin-top","3px");var e=a(w).index(a(d).parent().parent());var g=a(d).get(0);var i=new Image;i.src=g.src;var j="jbgs-thumb-"+e;var k=a(g).parents("li:eq(0)").offset().left-a(b).offset().left;var l=E(i);var m=k-F(i);if(a("#"+j).length==0){var n=f.ie6||f.ie7?"":'<div class="jbgs-thumb-btn"><div class="jbgs-thumb-tip" /></div>';var o='<div style="left:'+m+'px" class="jbgs-thumb" id="'+j+'"><img src="'+g.src+'" alt="" class="'+l+'" />'+n+"</div>";a(o).hide().appendTo(h).fadeIn(f.timers.fade)}}}function P(b){a("a",t).css("margin-top","");a(".jbgs-thumb").fadeOut(f.timers.fade,function(){a(this).remove()})}function O(a){return Math.abs(a)/60}function N(){var b=a(h).width()-130;var c=b-b%60;return c/60}function M(){return parseInt(t.css("left"),10)}function L(a,b){return a+1}function K(a,b){return a+b}function J(a){var b=M();var c=O(b);var d=N();var e=L(c,d);var f=K(c,d);return a>=e&&a<=f}function I(a){var b=M();var c=d.length();var e=O(b);var f=N();var g=(c-f)*60;if(c<f||f+e>=c)return a();b=e+f+f>c?-g:b-60*f;G(b,a)}function H(a){var b=M();var c=N();b=b+60*c>0?0:b+60*c;G(b,a)}function G(a,b){t.animate({left:a},function(){if(b)b()})}function F(a){if(a.height>=a.width){return 25}else{var b=a.width*100/a.height;return(b-60)/2}}function E(a){return a.height>=a.width?"jbgs-thumb-portrait":"jbgs-thumb-landscape"}function D(b){a("a",t).find(".focus").removeClass("focus").css("opacity","0.7").end().eq(b-1).find("img").addClass("focus").css("opacity","1").parent().addClass("focus").css("opacity","1")}function C(a){var b=d.length;var c=N();return b-c<a?b-c:a}function B(a){a=a-1;a=C(a);var b=-(a*60)<=0?-(a*60):0;return b}function A(b,c){a(b).click(function(){var b=this;if(a(b).is(".lock"))return;a(b).addClass("lock");c(function(){a(b).removeClass("lock")});return false})}var g=b;var h=b;if(f.fullscreen)var i=a("body").width()-130;else var i=a(h).width()-130;var j=i-i%60;var k="<span> | </span>";var l='<a href="#" class="jbgs-h-close">'+f.labels.close+"</a>";var m='<a href="#" class="jbgs-h-info">'+f.labels.info+"</a>";var n='<div class="jbgs-top"><div class="jbgs-top-center"><a href="#" class="jbgs-h jbgs-h-prev"> </a><a href="#" class="jbgs-h jbgs-h-next"> </a></div><div class="jbgs-top-right"></div></div>';var o='<div class="jbgs-opacity"></div><div class="jbgs"><div class="jbgs-wrapper"><div class="jbgs-left"><a href="#" class="jbgs-h-play jbgs-h"> </a><a href="#" class="jbgs-h-pause jbgs-h"> </a><a href="#" class="jbgs-h-left jbgs-h"> </a></div><div class="jbgs-viewer" style="width:'+j+'px"></div><div class="jbgs-right"><a href="#" class="jbgs-h-right jbgs-h"> </a></div></div></div>';var p,q,r,s,t,u,v,w,x;var y=false;var z=d.length();Z();return{notify:function(a,b){switch(a){case"empty":W();break;case"push":X(b,"appendTo");break;case"unshift":X(b,"prependTo");break;case"shift":Y(":first");break;case"pop":Y(":last");break}}}};jBGallery.Adapters={};a.fn.jbgallery=jBGallery.Init})(jQuery)
