/**
 * zudolab jqAccordion
 *
 * @version    1
 * @copyright    (c)2008 Takeshi Takatsudo (http://zudolab.net/)
 * @license    MIT (http://www.opensource.org/licenses/mit-license.php)
 */
(function(a){jqAccordion=function(c){this.bodyHeight=c.bodyHeight?c.bodyHeight:"auto";this.trigger=c.trigger?c.trigger:"click";this.animation=c.animation?c.animation:"quick";this.speed=c.speed?c.speed:200;this.selector_container=c.container?c.container:null;this.selector_item=c.item?c.item:null;this.selector_header=c.header?c.header:null;this.selector_body=c.body?c.body:null;this.elemSets=[];this.currentSet=null;var b=this;a(function(){b.setup()})};jqAccordion.prototype.setup=function(){this.prepareSets();this.setBodyHeight();this.preploadImgs();if(!this.elemSets){return}this.setEvents()};jqAccordion.prototype.prepareSets=function(){var k=this;var b=this.selector_container;var e=this.selector_item;var f=this.selector_header;var j=this.selector_body;var d=a(b);for(var g=0,c;c=d[g];g++){h(c)}function h(m){var p=null;var t=[];var u=a(m).find(e);for(var n=0,y;y=u[n];n++){var x=a(y);var l=x.find(f);var q=l.get(0);var i=l.find("img");if(i.length!=0){var o=i.get(0);var v=o.src;var s=v.replace(/\/off\//,"/on/")}else{var o=null}var r=x.find(j).get(0);var w={item:y,header:q,body:r,img:o,srcOff:v?v:null,srcOn:s?s:null};t.push(w);if(x.hasClass("showThis")){x.removeClass("showThis").addClass("opened");if(o){o.src=s}p=w}}k.elemSets.push({currentItemSet:p,itemSets:t});if(p){a(p.body).show()}}};jqAccordion.prototype.setBodyHeight=function(){if(this.bodyHeight=="auto"){return}for(var d=0,c;c=this.elemSets[d];d++){for(var b=0,e;e=c.itemSets[b];b++){a(e.body).height(this.bodyHeight)}}};jqAccordion.prototype.preploadImgs=function(){for(var d=0,c;c=this.elemSets[d];d++){for(var b=0,e;e=c.itemSets[b];b++){if(!e.img){return}(new Image).src=e.srcOn;(new Image).src=e.srcOff}}};jqAccordion.prototype.setEvents=function(){var c=this;for(var f=0,e;e=this.elemSets[f];f++){for(var d=0,g;g=e.itemSets[d];d++){switch(this.trigger){case"click":a(g.header).click(b);break;case"mouseover":a(g.header).mouseover(b);a(g.header).focus(b);break}}}function b(){var l=c.getSetInfoFromHeader(this);var o=l.itemSet;var k=l.elemSet;var n=k.currentItemSet;if(n==o){return false}switch(c.animation){case"slide":m(n,o);break;default:i(n,o);break}k.currentItemSet=o;return false;function i(p,q){if(p){a(p.body).hide()}a(q.body).show();h(p,q);j(p,q)}function m(p,r){h(p,r);j(p,r);if(p){a(p.body).stop().slideUp(c.speed)}var s=a(r.body);s.css("height","0").css("display","block").animate({height:q(r.body)},c.speed-10,function(){s.height(c.bodyHeight)});function q(w){if(c.bodyHeight!="auto"){return c.bodyHeight}var v=a(w).children();var u=0;for(var t=0,x;x=v[t];t++){u+=a(x).outerHeight()}return u}}function h(p,q){if(p){a(p.item).removeClass("opened")}a(q.item).addClass("opened")}function j(p,q){if(p&&p.img){p.img.src=p.srcOff}if(q.img){q.img.src=q.srcOn}}}};jqAccordion.prototype.getSetInfoFromHeader=function(f){for(var d=0,c;c=this.elemSets[d];d++){for(var b=0,e;e=c.itemSets[b];b++){if(e.header==f){return{elemSet:c,itemSet:e}}}}}})(jQuery);
