var jgallery={};
(function(l,j){l.instances={};l.jgallery=function(i,l){var a=this;a.obj={config:l,images:{},view:{dom:i.find(".image_frame"),current_index:!1},pagination:{dom:i.find(".pagination_frame"),dom_list:i.find(".pagination_frame").find("li"),count:i.find(".pagination_frame").find("li").length},slideshow:{dom:i.find(".slideshow-menu"),interval:null,active:!0,remaining_time:0}};a.init=function(){if(a.obj.config.start=="random")a.obj.config.start=Math.floor(Math.random()*(a.obj.pagination.count-2));a.build_structure(function(){a.get_images(function(){a.preload_loaded_image(a.obj.config.start+
1);a.display_image(a.obj.config.start);a.obj.pagination.dom.trigger("focusitem",a.obj.config.start);a.slideshow_play()})})};a.build_structure=function(c){var d=j('<div class="controls"></div>'),f=j('<div class="image_wrapper"></div>'),b=j('<button class="prev" rel="prev">'),e=j('<button class="next" rel="next">'),h=a.obj.pagination.count-1;b.bind("click",function(){index=a.obj.view.current_index-1;index<0&&(index=h);next_index=index-1;next_index<0&&(next_index=h);a.obj.pagination.dom.trigger("focusitem",
[index]);a.preload_loaded_image(next_index);a.display_image(index);a.slideshow_stop()}).hide();e.bind("click",function(){index=a.obj.view.current_index+1;index>h&&(index=0);next_index=index+1;next_index>h&&(next_index=0);a.obj.pagination.dom.trigger("focusitem",[index]);a.preload_loaded_image(next_index);a.display_image(index);a.slideshow_stop()}).hide();d.hover(function(){b.stop(!0,!0).fadeIn();e.stop(!0,!0).fadeIn();a.obj.slideshow.tab_focus===!0&&a.slideshow_pause()},function(){b.stop(!0,!0).fadeOut();
e.stop(!0,!0).fadeOut();a.obj.slideshow.active===!0&&a.obj.slideshow.tab_focus===!0&&a.slideshow_play()});f.append(j('<div class="loader"></div>'));d.append(b,e);a.obj.view.dom.append(f,d.fadeOut());a.obj.pagination.dom_list.animate({opacity:"0"},0);var g=a.obj.pagination.dom,k=null,i=g.width(),d=g.find("li").outerHeight(!0),f=k;pagination_width_first=g.find("li:first-child").outerWidth(!0);pagination_width_last=g.find("li:last-child").outerWidth(!0);pagination_width_first>pagination_width_last?(k=
pagination_width_first*(a.obj.pagination.count-1),k+=pagination_width_last):(k=pagination_width_last*(a.obj.pagination.count-1),k+=pagination_width_first);set_pagination_height=g.height();set_pagination_height>d&&(f=k/Math.floor(set_pagination_height/d));g.find("menu").height(set_pagination_height);g.find("ul").width(f).height(set_pagination_height);g.hover(function(){g.addClass("hovering")},function(){g.removeClass("hovering")}).mousemove(function(a){if(k>i){var b=g.find("li").outerWidth(!0),a=a.pageX-
g.offset().left;a<b?a=b:a>i-b&&(a=i-b);a-=b;b=(k-i)/(i-b*2)*a;g.find("ul").stop().animate({left:-b},400,"easeOutCirc")}}).bind("focusitem",function(b,c){if(k>i&&!g.hasClass("hovering")){var d=a.obj.images[c].thumbnail_image_dom,e=d.position().left;d.position();d=k-i;e>d&&g.find("ul").stop().animate({left:-d},700);e<d&&g.find("ul").stop().animate({left:-e},700)}});a.fireCallback(c)};a.get_images=function(c){a.obj.pagination.dom_list.each(function(c){if(a.obj.images[c]&&a.obj.images[c].loaded=="true")return!0;
var b=j(this),d=b.find("img");image_dom=j("<img />");a.obj.images[c]={li:b,large_image_dom:image_dom,thumbnail_image_dom:d,loaded:!1,preload:!1};b.bind("click",function(b){b.preventDefault();c!=a.obj.view.current_index&&(a.display_image(c),a.slideshow_stop());return!1}).hover(function(){b.hasClass("active")||b.stop().addClass("hover").animate({opacity:"1"},"slow")},function(){b.hasClass("active")||b.stop().removeClass("hover").animate({opacity:"0.4"},"slow")}).bind("active",function(){b.stop().addClass("active").animate({opacity:"1"},
"slow")}).bind("deactive",function(){b.stop().removeClass("active").animate({opacity:"0.4"},"slow")});image_dom.load(function(){b.delay(100).animate({opacity:"0.4"},"slow");a.obj.images[c].loaded=!0}).error(function(){a.obj.images[c]={loaded:!1}}).attr({src:b.find("a").attr("href")})});if(a.obj.images[a.obj.config.start])var d=setInterval(function(){a.obj.images[a.obj.config.start].loaded===!0&&(clearInterval(d),a.fireCallback(c))},600)};a.resize_check=function(c,d){var f;if(c)f=a.obj.images[c].large_image_dom;
else if(a.obj.view.current_index!==!1)f=a.obj.images[a.obj.view.current_index].large_image_dom;else return a.fireCallback(d),!1;var b={image:f,ratio:(f.height()/f.width()).toFixed(2),viewwidth:a.obj.view.dom.width(),viewheight:a.obj.view.dom.height()};if(f.width()==b.viewwidth)return a.fireCallback(d),!1;switch(a.obj.config.scale){case "auto":a.resize(b,d);a.resize_center(b);break;case "fixed":f.height()<b.viewheight?(a.resize(b,d),a.resize_center(b)):(a.resize_center(b),a.fireCallback(d))}};a.resize=
function(c,d){var f=c.image,b=c.viewwidth,e=c.viewheight;f.width(f.width());e<=a.obj.config.min_height&&b<=a.obj.config.min_width?e/b>c.ratio?a.resize_height(c,d,!0):a.resize_width(c,d,!0):b<=a.obj.config.min_width?e/b>c.ratio?a.resize_height(c,d):a.resize_width(c,d,!0):e/b>c.ratio?a.resize_height(c,d):a.resize_width(c,d)};a.resize_width=function(c,d,f){var b=c.image,e=c.ratio,h=c.viewwidth,g=c.viewheight;if(f){if(console.log(b.width()+"="+h+"-"+a.obj.config.min_width),b.width()<h||b.width()<a.obj.config.min_width)b.width()*
e>=a.obj.config.min_height?(b.width(a.obj.config.min_width),b.height(b.width()*e),a.fireCallback(d)):a.resize_height(c,d)}else a.obj.config.min_height>=g&&!a.obj.config.fit_landscape?h*e>=a.obj.config.min_height||h*e>=a.obj.config.min_height&&e<=1?(b.width(h),b.height(h*e),a.fireCallback(d)):e>1?(b.height(a.obj.config.min_height),b.width(b.height()/e),a.fireCallback(d)):b.width()<h&&(b.width(h),b.height(b.width()*e),a.fireCallback(d)):(b.width(h),b.height(h*e),a.fireCallback(d))};a.resize_height=
function(c,d,f){var b=c.image,e=c.ratio,h=c.viewwidth,g=c.viewheight;f?b.height()<g&&(b.height()/e>=a.obj.config.min_width?(b.height(a.obj.config.min_height),b.width(b.height()/e),a.fireCallback(d)):a.resize_width(c,d,!0)):a.obj.config.min_width>=h?g/e>=a.obj.config.min_width||e>1?(b.height(g),b.width(g/e),a.fireCallback(d)):e<=1&&(b.width(a.obj.config.min_width),b.height(b.width()*e),a.fireCallback(d)):(b.height(g),b.width(g/e),a.fireCallback(d))};a.resize_center=function(c){var c=c.image,d=a.obj.view.dom.width(),
f=a.obj.view.dom.height();c.css("left",(d-c.width())/2);c.css("top",(f-c.height())/2)};a.tranisitions=function(c,d,f){var b=a.obj.config.transition,e="fade,slide-top,slide-right,slide-bottom,slide-left,carousel".split(",");b=="random"&&(b=Math.floor(Math.random()*(e.length-0+1)+0),b=e[b]);c.hasClass("loader")&&(b="fade");e=a.obj.view.dom.width();switch(b){default:d.show();c.hide();break;case "fade":d.stop().fadeTo(a.obj.config.transition_speed,1,"easeInOutCirc");c.stop().fadeTo(a.obj.config.transition_speed,
0,"easeInOutCirc");break;case "carousel":f=="left"?(d.stop().animate({left:e},0).show().animate({left:0},a.obj.config.transition_speed),c.stop().animate({left:-e},a.obj.config.transition_speed).show().animate({left:-e},0)):(d.stop().animate({left:-e},0).show().animate({left:0},a.obj.config.transition_speed),c.stop().animate({left:e},a.obj.config.transition_speed).show().animate({left:e},0));case "blinds":}};a.display_image=function(c,d){a.obj.images[c].loaded===!1||a.obj.images[c].preload===!1?a.display_loader("show",
function(){a.obj.images[c]&&a.display_loaded_image(c,d)}):a.obj.images[c]&&a.display_loaded_image(c,d)};a.preload_loaded_image=function(c,d){var f=a.obj.images[c].large_image_dom;if(a.obj.images[c].preload==!1)a.obj.images[c].preload=!0,a.obj.view.dom.find(".image_wrapper").append(f.hide()),a.resize_check(c);a.fireCallback(d)};a.display_loaded_image=function(c,d){var f=a.obj.images[c],b,e=f.large_image_dom,h="right";a.obj.view.current_index!==!1?(b=a.obj.images[a.obj.view.current_index].large_image_dom,
a.obj.images[a.obj.view.current_index].li.triggerHandler("deactive")):b=a.obj.view.dom.find(".loader");a.obj.view.current_index<c&&(h="left");a.obj.view.current_index=c;f.li.triggerHandler("active");f.preload===!1&&a.obj.view.dom.find(".image_wrapper").append(e.hide());a.resize_check(c,function(){a.display_loader("hide",function(){a.tranisitions(b,e,h)})});a.fireCallback(d)};a.display_loader=function(c,d){c=="show"&&a.obj.view.dom.find(".loader").fadeIn("slow",a.fireCallback(d));c=="hide"&&a.obj.view.dom.find(".loader").fadeOut("slow",
a.fireCallback(d))};a.slideshow_play=function(){var c=a.obj.view.current_index+1,d=a.obj.pagination.count-1,f=a.obj.config.slideshow.delay;a.obj.slideshow.active=!0;a.obj.slideshow.interval=setInterval(function(){if(a.obj.slideshow.remaining_time>a.obj.config.slideshow.delay)a.obj.slideshow.remaining_time=0;c!=a.obj.view.current_index&&(c=a.obj.view.current_index+1);var b=c+1;c>d&&(c=0);b>d&&(b=0);a.obj.pagination.dom.trigger("focusitem",[c]);a.display_image(c);a.preload_loaded_image(b);c++},f)};
a.slideshow_pause=function(){clearInterval(a.obj.slideshow.interval)};a.slideshow_stop=function(){a.obj.slideshow.active=!1;clearInterval(a.obj.slideshow.interval)};a.slideshow_controls=function(){};a.fireCallback=function(a){j.isFunction(a)&&a.call(this)};j(window).resize(function(){a.resize_check()})};j.fn.jgallery=function(i){var m={start:0,transition:"fade",transition_speed:1800,min_width:0,min_height:0,scale:"auto",slideshow:{auto:!0,delay:4E3}};return this.each(function(a){i=j.extend(!0,m,i);
l.instances[a]=j(this).data("jgallery",(new l.jgallery(j(this),i)).init())})}})(jgallery,jQuery);
