(function(c){function aa(Q,A){function s(){a.settings.shuffle&&g.sort(function(){return 0.5-Math.random()});if(a.settings.preloadPanels){ba();for(var b=0,f=g.length,h=0;h<f;h++)c("<img/>").load(function(){b++;if(b==f){q.find(".preloader").remove();W()}}).attr("src",g[h].path)}else W()}function W(){r=g.length;i=a.settings.columns;E=Math.ceil(r/i);x=(a.settings.width-(i-1)*a.settings.distance)/a.settings.columns;F=(a.settings.height-(E-1)*a.settings.distance)/Math.ceil(r/a.settings.columns);R=a.settings.width-
(i-1)*(a.settings.closedPanelWidth+a.settings.distance);S=a.settings.height-(E-1)*(a.settings.closedPanelHeight+a.settings.distance);var b=c('<div class="panel"></div>').appendTo(q);p=(isNaN(parseInt(b.css("borderLeftWidth")))?0:parseInt(b.css("borderLeftWidth")))+(isNaN(parseInt(b.css("borderRightWidth")))?0:parseInt(b.css("borderRightWidth")));t=(isNaN(parseInt(b.css("borderTopWidth")))?0:parseInt(b.css("borderTopWidth")))+(isNaN(parseInt(b.css("borderBottomWidth")))?0:parseInt(b.css("borderBottomWidth")));
b.remove();for(b=0;b<r;b++)ca(b);a.settings.slideshow&&T();q.hover(function(){a.settings.slideshow&&a.settings.stopSlideshowOnHover&&G&&clearInterval(G)},function(){a.settings.closePanelOnMouseOut&&da();a.settings.slideshow&&a.settings.stopSlideshowOnHover&&T()})}function ca(b){var f=c('<img class="panel"/>').appendTo(q);n.push(f);g[b].width=R;g[b].height=S;c("<img/>").load(function(){n[b].attr("src",c(this).attr("src"));a.settings.shadow&&c('<div class="shadow"></div>').appendTo(f);g[b].width=c(this).attr("width");
g[b].height=c(this).attr("height");g[b].html&&c("<div></div>").html(g[b].html.content).attr("class",g[b].html.clss).appendTo(f);var d={type:"panelLoaded",index:b,data:g[b]};c.isFunction(a.settings.panelLoaded)&&a.settings.panelLoaded.call(this,d)}).attr("src",g[b].path);f.css("width",x-p);f.css("height",F-t);f.css("left",b%i*(x+a.settings.distance));f.css("top",Math.floor(b/i)*(F+a.settings.distance));f.hover(function(){if(a.settings.openPanelOnMouseOver){H&&clearTimeout(H);H=setTimeout(function(){I(b)},
a.settings.openPanelDelay)}var d={type:"panelMouseOver",index:b,data:g[b]};c.isFunction(a.settings.panelMouseOver)&&a.settings.panelMouseOver.call(this,d)},function(){var d={type:"panelMouseOut",index:b,data:g[b]};c.isFunction(a.settings.panelMouseOut)&&a.settings.panelMouseOut.call(this,d)});g[b].link&&f.css("cursor","pointer");f.click(function(){a.settings.openPanelOnClick&&I(b);g[b].link&&window.open(g[b].link,g[b].properties.linkTarget);var d={type:"panelClick",index:b,data:g[b]};c.isFunction(a.settings.panelClick)&&
a.settings.panelClick.call(this,d)});var h={type:"panelCreated",index:b,data:g[b]};c.isFunction(a.settings.panelCreated)&&a.settings.panelCreated.call(this,h);if(b==g.length-1){h={type:"allPanelsCreated"};c.isFunction(a.settings.allPanelsCreated)&&a.settings.allPanelsCreated.call(this,h)}}function I(b){if(!(m==b&&M=="opened")){M="opened";m!=-1&&n[m].stop();m=b;var f={type:"openPanel",index:b,data:g[b]};c.isFunction(a.settings.openPanel)&&a.settings.openPanel.call(this,f);X();var h=false;f=n[m];var d,
k;if(a.settings.openedPanelWidth=="auto"){d=R;for(var e=0;e<r;e++)if(e%i==m%i)d=Math.min(d,g[e].width)}else d=a.settings.openedPanelWidth=="max"?g[m].width:a.settings.openedPanelWidth;if(a.settings.openedPanelHeight=="auto"){k=S;for(e=0;e<r;e++)if(Math.floor(e/i)==Math.floor(m/i))k=Math.min(k,g[e].height)}else k=a.settings.openedPanelHeight=="max"?g[m].height:a.settings.openedPanelHeight;var B=(a.settings.width-(i-1)*a.settings.distance-d)/(i-1),y=(a.settings.height-(E-1)*a.settings.distance-k)/(E-
1),C={},u=[],D=[],v=[],w=[],o=[],j=[],Y=[],U=[],J;for(e=0;e<r;e++){D[e]=parseFloat(n[e].css("width"));w[e]=parseFloat(n[e].css("height"));j[e]=parseFloat(n[e].css("left"));U[e]=parseFloat(n[e].css("top"));if(e==m){u[e]=d-p;v[e]=k-t}else{u[e]=e%i==m%i?Math.min(d-p,g[e].width):B-p;v[e]=Math.floor(e/i)==Math.floor(m/i)?Math.min(k-t,g[e].height):y-t}o[e]=e%i*(B+a.settings.distance)+(e%i<=m%i?0:d-B)+(e%i==m%i&&d-p>u[e]?(d-p-u[e])/2:0);Y[e]=Math.floor(e/i)*(y+a.settings.distance)+(Math.floor(e/i)<=Math.floor(m/
i)?0:k-y)+(Math.floor(e/i)==Math.floor(m/i)&&k-t>v[e]?(k-t-v[e])/2:0)}var N,K,L;if(parseFloat(f.css("width"))!=d-p){N=parseFloat(f.css("width"));K=d;L=p;C.width=K-L}else{N=parseFloat(f.css("height"));K=k;L=t;C.height=K-L}f.stop();f.animate(C,{duration:a.settings.slideDuration,complete:function(){if(!h){h=true;if(g[b].caption){var l=g[b].caption,z=g[m].properties,ea=parseInt(z.captionFadeDuration),O=parseInt(z.captionWidth),V=parseInt(z.captionHeight),fa=parseInt(z.captionTop);z=parseInt(z.captionLeft);
O=c('<div class="caption-container"></div>').css({width:O,height:V,left:z,top:fa,opacity:0}).appendTo(n[m]);V=c('<div class="caption-background"></div>').css({width:"100%",height:"100%"}).appendTo(O);c("<div></div>").html(l.content).attr("class",l.clss).css({width:"100%",height:"100%",opacity:1}).appendTo(V);O.animate({opacity:1},ea)}l={type:"animationComplete"};c.isFunction(a.settings.animationComplete)&&a.settings.animationComplete.call(this,l)}},step:function(l){J=(l-N)/(K-L-N);for(l=0;l<r;l++){n[l].css("width",
J*(u[l]-D[l])+D[l]);n[l].css("height",J*(v[l]-w[l])+w[l]);n[l].css("left",J*(o[l]-j[l])+j[l]);n[l].css("top",J*(Y[l]-U[l])+U[l])}}})}}function da(){M="closed";H&&clearTimeout(H);X();for(var b=false,f=n[m],h=parseFloat(f.css("width")),d={},k=[],e=[],B=[],y=[],C=[],u=[],D=[],v=[],w,o=0;o<r;o++){e[o]=parseFloat(n[o].css("width"));y[o]=parseFloat(n[o].css("height"));k[o]=x-p;B[o]=F-t;u[o]=parseFloat(n[o].css("left"));v[o]=parseFloat(n[o].css("top"));C[o]=o%i*(x+a.settings.distance);D[o]=Math.floor(o/
i)*(F+a.settings.distance)}d.width=x-p;f.stop();f.animate(d,{duration:a.settings.slideDuration,complete:function(){if(!b){b=true;var j={type:"animationComplete"};c.isFunction(a.settings.animationComplete)&&a.settings.animationComplete.call(this,j)}},step:function(j){w=(h-j)/(h-x+p);for(j=0;j<r;j++){n[j].css("width",w*(k[j]-e[j])+e[j]);n[j].css("height",w*(B[j]-y[j])+y[j]);n[j].css("left",w*(C[j]-u[j])+u[j]);n[j].css("top",w*(D[j]-v[j])+v[j])}}})}function Z(){I(m==g.length-1?0:m+1)}function $(){I(m==
0?g.length-1:m-1)}function ba(){var b=c('<div class="preloader"></div>').hide().fadeIn(300).appendTo(q),f=(a.settings.width-parseInt(b.css("width")))*0.5,h=(a.settings.height-parseInt(b.css("height")))*0.5;b.css({left:f,top:h})}function X(){var b=q.find(".caption-container");b&&b.stop().animate({opacity:0},300,function(){b.remove()})}function T(){G=setInterval(function(){if(a.settings.slideshowDirection=="next")Z();else a.settings.slideshowDirection=="previous"&&$()},a.settings.slideshowDelay)}this.settings=
c.extend({},c.fn.gridAccordion.defaults,A);var q=c(Q),a=this,m=-1,g=[],n=[],G=0,P=["captionFadeDuration","captionWidth","captionHeight","captionTop","captionLeft","linkTarget"],x,F,R,S,M="closed",p=0,t=0,r=0,i,E,H;(function(){q.addClass("accordion").css({width:a.settings.width,height:a.settings.height});if(a.settings.xmlSource){q.empty();c.ajax({type:"GET",url:a.settings.xmlSource,dataType:c.browser.msie?"text":"xml",success:function(b){var f;if(c.browser.msie){f=new ActiveXObject("Microsoft.XMLDOM");
f.async=false;f.loadXML(b)}else f=b;c(f).find("panel").each(function(){var h={};h.properties={};for(var d=0;d<c(this).children().length;d++){var k=c(this).children()[d];h[k.nodeName]=c(this).find(k.nodeName).text()}for(d=0;d<P.length;d++){k=P[d];var e=c(this).attr(k);h.properties[k]=e==undefined?a.settings[k]:e}g.push(h)});s()}})}else{q.children().each(function(b){var f={};f.properties={};for(var h=0;h<c(this).children().length;h++){var d=c(this).children()[h];if(c(d).is("a")){f.path=c(d).find("img").attr("src");
f.link=c(d).attr("href");if(c(d).attr("target"))f.properties.linkTarget=c(d).attr("target")}else if(c(d).is("img"))f.path=c(d).attr("src");else if(c(d).hasClass("caption"))f.caption={clss:c(d).attr("class"),content:c(d).html()};else if(c(d).hasClass("html"))f.html={clss:c(d).attr("class"),content:c(d).html()};else f[c(d).attr("class")]=c(d).html()}for(h=0;h<P.length;h++){d=P[h];var k;if(a.settings.panelProperties)if(a.settings.panelProperties[b])k=a.settings.panelProperties[b][d];f.properties[d]||
(f.properties[d]=k==undefined?a.settings[d]:k)}g.push(f)});q.empty();s()}})();this.nextPanel=Z;this.previousSlide=$;this.openPanel=I;this.startSlideshow=function(){T()};this.stopSlideshow=function(){G&&clearInterval(G)};this.getSlideshowState=function(){return slideshowState};this.getCurrentIndex=function(){return m};this.getPanelAt=function(b){return g[b]};this.getAccordionState=function(){return M}}c.fn.gridAccordion=function(Q){for(var A=[],s=0;s<this.length;s++)if(!this[s].accordion){this[s].accordion=
new aa(this[s],Q);A.push(this[s].accordion)}return A.length>1?A:A[0]};c.fn.gridAccordion.defaults={xmlSource:null,width:500,height:300,alignType:"leftTop",distance:0,columns:3,slideshow:false,slideshowDelay:5E3,slideshowDirection:"next",stopSlideshowOnHover:true,slideDuration:700,openPanelOnMouseOver:true,closePanelOnMouseOut:true,openPanelOnClick:false,preloadPanels:false,shuffle:false,openedPanelWidth:"auto",openedPanelHeight:"auto",closedPanelWidth:30,closedPanelHeight:30,captionFadeDuration:500,
captionWidth:300,captionHeight:100,captionTop:100,captionLeft:30,shadow:false,linkTarget:"_blank",openPanelDelay:200,panelProperties:null,panelMouseOver:null,panelMouseOut:null,panelClick:null,panelLoaded:null,panelCreated:null,allPanelsCreated:null,animationComplete:null,openPanel:null}})(jQuery);

