/* 
Accordion Gallery
Ghinda - Cristian Colceriu
www.ghinda.net

v1.0 - 7:40 PM 11/8/2010
*/
jQuery.support.transition=function(){var a=(document.body||document.documentElement).style;return a.WebkitTransition!==undefined||a.MozTransition!==undefined||a.OTransition!==undefined||a.transition!==undefined}();
(function(a){a.fn.accordionGallery=function(b){b=a.extend({theme:"air",maxHeight:360,scrollSpeed:2E3,minSliceWidth:100,maxSliceWidth:500,maxSliceHeight:480},b);b.maxHeight=parseInt(b.maxHeight);b.scrollSpeed=parseInt(b.scrollSpeed);b.minSliceWidth=parseInt(b.minSliceWidth);b.maxSliceWidth=parseInt(b.maxSliceWidth);b.maxSliceHeight=parseInt(b.maxSliceHeight);return this.each(function(){var r=a(this),v=r.find("section");r.addClass("accordiongallery "+b.theme);v.each(function(){var c=a(this);c.attr({"aria-live":"assertive",
"aria-atomic":"true",relevant:"additions"});var e=function(){var g=c.find("a");g.wrapAll('<div class="accordiongallery-thumbs" aria-live="polite" />');var f=a(".accordiongallery-thumbs",c),q=function(){e.$scroller.stop()},m=function(){e.$scroller.stop().animate({top:0},b.scrollSpeed)},d=function(){e.$scroller.stop().animate({top:b.maxHeight-e.$scroller.height()},b.scrollSpeed)};if(f.height()>b.maxHeight){f.height(b.maxHeight).wrapInner('<div class="accordiongallery-scroller" />');var h=a(".accordiongallery-scroller",
c);f.before('<a class="accordiongallery-scrollup">Scroll up</a>').after('<a class="accordiongallery-scrolldown">Scroll down</a>');var k=a(".accordiongallery-scrollup",c);k.hover(m,q);var l=a(".accordiongallery-scrolldown",c);l.hover(d,q)}var i;setTimeout(function(){i=c.height();c.css("height",i);c.attr("data-originalheight",i)},100);setTimeout(function(){jQuery.support.transition&&c.addClass("agtransitions")},200);return{$scroller:h,$container:f,$scrollup:k,$scrolldown:l,$items:g}}(),u=function(){var g=
v.not(c),f={},q=function(){var d=new Image;d.src=f.url;var h='<img src="'+d.src+'" ';if(f.title)h+='alt="'+f.title+'" ';h+='class="accordiongallery-active-image"/>';var k='<p class="image-caption">';if(f.title)k+=f.title;k+="</p>";var l='<a class="accordiongallery-scrollleft" style="visibility: hidden">Scroll left</a><div class="accordiongallery-preview-thumbs"><div class="accordiongallery-preview-scroller">';l+=e.$scroller?e.$scroller.html():e.$container.html();l+='</div></div><a class="accordiongallery-scrollright" style="visibility: hidden">Scroll right</a>';
h+=k+l;h='<p class="accordiongallery-loader">Loading... </p><div class="accordiongallery-preview" style="visibility: hidden; opacity: 0">'+h+"</div>";c.append(h);var i=a(".accordiongallery-preview",c),s=a(".accordiongallery-loader",c);h=a(".accordiongallery-scrollleft",i);k=a(".accordiongallery-scrollright",i);var t=a(".accordiongallery-preview-thumbs",i);l=a("a",t);var o=a(".accordiongallery-active-image",i),p=a(".image-caption",i);p.text()||p.hide();var n=a(".accordiongallery-preview-scroller",
i),w=n.find("a").outerWidth(true)*n.find("a").length;n.width(w);var x=function(j){s.css({visibility:"hidden",opacity:0});i.css({visibility:"visible",opacity:1});if(j==true){o.css("width","100%");o.attr("alt","Error loading image. Please try refreshing. ")}};d.onload=function(){x(false)};d.onerror=function(){x(true)};d.src=f.url;e.$container.hide();if(e.$scrollup){e.$scrollup.hide();e.$scrolldown.hide()}if(w>t.width()){d=function(){n.stop()};h.hover(function(){n.stop().animate({left:0},b.scrollSpeed)},
d);k.hover(function(){n.stop().animate({left:t.outerWidth()-n.outerWidth()},b.scrollSpeed)},d);h.css("visibility","visible");k.css("visibility","visible")}l.click(function(){s.css({visibility:"visible",opacity:1});var j=new Image;j.title=a(this).attr("title");var y=function(z){if(z==true){o.css("width","100%");o.attr("alt","Error loading image. Please try refreshing. ")}else{o.attr({src:j.src,title:j.title,alt:j.title});if(j.title){p.show();p.text(j.title)}else p.hide()}s.css({visibility:"hidden",
opacity:0})};j.onload=function(){y(false)};j.onerror=function(){y(true)};j.src=a(this).attr("href");return false})},m;return{init:function(){c.find("a:has(img)").click(u.open);setTimeout(function(){m=c.width()},100)},open:function(){f.url=a(this).attr("href");f.title=a(this).attr("title");var d=a(".active-section",r);if(d){a(".accordiongallery-preview",d).hide(0,function(){a(this).remove()});a(".accordiongallery-loader",d).hide(0,function(){a(this).remove()});a(".accordiongallery-thumbs",d).fadeIn(500);
a(".accordiongallery-scrollup",d).fadeIn(500);a(".accordiongallery-scrolldown",d).fadeIn(500)}g.removeClass("active-section").addClass("inactive-section");c.addClass("active-section").removeClass("inactive-section");if(jQuery.support.transition){c.css({width:b.maxSliceWidth,height:b.maxSliceHeight});g.each(function(){a(this).css({width:b.minSliceWidth,height:a(this).attr("data-originalheight")*1})})}else{c.stop().animate({width:b.maxSliceWidth,height:b.maxSliceHeight},300);g.each(function(){a(this).stop().animate({width:b.minSliceWidth,
height:a(this).attr("data-originalheight")},300)})}$startedLoader=a(".accordiongallery-loader",g);$startedLoader.css({visibility:"hidden",opacity:0});c.unbind("click");g.click(u.close);q();return false},close:function(){a(".accordiongallery-preview",c).hide(0,function(){a(this).remove()});e.$container.fadeIn(700);if(e.$scrollup){e.$scrollup.fadeIn(700);e.$scrolldown.fadeIn(700)}g.removeClass("inactive-section");c.removeClass("active-section");if(jQuery.support.transition){c.css({width:m,height:c.attr("data-originalheight")*
1});g.each(function(){a(this).css({width:m,height:a(this).attr("data-originalheight")*1})})}else{c.stop().animate({width:m,height:c.attr("data-originalheight")},300);g.each(function(){a(this).stop().animate({width:m,height:a(this).attr("data-originalheight")},300)})}g.unbind("click")}}}();u.init()})})}})(jQuery);
