var DhoniShow=function(B,A){jQuery(".dhonishow").removeClass("nascosta");if(this.elementsSet(B)){this.current_index=0;this.queue=new this.queue();this.dom=new this.dom(B,this);this.options=jQuery.extend(jQuery.extend(this.defaultOptions(),A),new this.options(B));this.queue.invokeModulesQueue(this,this.options)}};DhoniShow.prototype={defaultOptions:function(){return{preloader:true,duration:0.6,center:{elements:true},effect:"appear"}},animating:function(){return this.dom.element.find("*:animated").length},elementsSet:function(A){if(jQuery(A).children().length>0){return true}jQuery(A).append("<p>Please read instructions about using this on <a href='http://supporto.forumfree.net' style='color: #fff;' title='to DhoniShow site'>FF Support Board</a></p>").find("p").addClass("error");return false}};DhoniShow.prototype.queue=function(){this.queues={};this.invoked=[]};DhoniShow.prototype.queue.prototype={moduleQueue:[],register:function(D,C,E){this.queues[D]=this.queues[D]||[];var A=[];for(var B=3;B<arguments.length;B++){A.push(arguments[B])}this.queues[D].push({scope:C,func:E,args:A});return E},invokeAll:function(C){if(this.invoked.length!=this.moduleQueue.length){this.setWaiter(jQuery.makeArray(arguments));return }for(var B=0;B<this.queues[C].length;B++){if(arguments.length>1){var A=jQuery.makeArray(arguments);A.shift();jQuery.extend(this.queues[C][B].args,A)}this.queues[C][B].func.apply(this.queues[C][B].scope,this.queues[C][B].args)}},invokeModulesQueue:function(D,A){var C=this.moduleQueue;for(var B=0;B<C.length;B++){D[C[B]]=new DhoniShow.fn[C[B]](A[C[B]],D);this.invoked.push(C[B])}},setWaiter:function(A){var B=this;return setTimeout(function(){if(B.invoked.length!=B.moduleQueue.length){setTimeout(arguments.callee,100)}else{B.invokeAll.apply(B,A)}},100)}};DhoniShow.prototype.options=function(B){var E=B.className.match(/((\w*)-(\w*)|\w*)_(\w*-\w*-\w*|\w*-\w*|\w*)/g)||[];for(var A=0;A<E.length;A++){var C=/((\w*)-(\w*)|\w*)_(\w*-\w*-\w*|\w*-\w*|\w*)/.exec(E[A]);var D=this.recognizeValue(C[4]);switch(typeof C[3]){case"undefined":this[C[1]]=D;break;case"string":if(C[3].length){if(!this[C[2]]||this[C[2]].constructor!=Object){this[C[2]]={}}this[C[2]][C[3]]=D}else{if(C[2].length==0&&jQuery.browser.msie){this[C[1]]=D}}break}}};DhoniShow.prototype.options.prototype.recognizeValue=function(A){if(/true|false/.test(A)){return A=!!(A.replace(/false/,""))}if((/dot/).test(A)){return A=Number(A.replace(/dot/,"."))}return A};DhoniShow.helper={image:function(B){var A;B=(typeof B=="object"&&B.nodeType=="undefined"||B.length)?B[0]:B;if(B.nodeName.toLowerCase()!="img"){if((A=jQuery(B).find("img"))||(A=jQuery(B).filter("img"))){if(A.length>0){B=A[0]}}}return B},delayed_image_load:function(D,C,B,A){var E=D.attr("src");D.attr("src","#");D.bind("load",function(){if(A){var F=jQuery.makeArray(A);F.push({width:this.width,height:this.height})}C.apply(B,F||[]);jQuery(this).unbind("load")});D.attr("src",E)},delayed_dimensions_load:function(D,C,B,A){var E;if(!!!D.width&&!!!D.height){if((E=jQuery(this.image(B))).length>0){this.delayed_image_load(E,C,B,A)}}},to_number:function(A){return new Number(A.replace(/dot|px/,""))}};DhoniShow.prototype.dom=function(A,B){this.parent=B;this.element=jQuery(A);this.saveChildren();this.placeholders();this.invokeModules();this.setUpdaters()};DhoniShow.prototype.dom.prototype={template:['<div class="dhonishow-aligner">','<div class="dhonishow-effect-helper"><ol class="dhonishow-elements">@images</ol></div>','<p class="dhonishow-alt">@alt</p>','<div class="dhonishow-paging-buttons">','<div class="dhonishow-theme-helper">','<a class="dhonishow-next-button" title="Next">Next</a>','<p class="dhonishow-paging">@current/@allpages</p>','<a class="dhonishow-previous-button" title="Previous">Back</a>',"</div>","</div>","</div>"].join(""),setUpdaters:function(){this.parent.queue.register("updaters",this,this.alt,this.giveModluePlaceholder("alt"));this.parent.queue.register("updaters",this,this.current,this.giveModluePlaceholder("current"));this.parent.queue.register("updaters",this,this.allpages,this.giveModluePlaceholder("allpages"))},saveChildren:function(){this.children=jQuery(this.element).children();this.element.text("")},placeholders:function(){var A={};jQuery(this.element).append(this.template.replace(/@(\w*)/g,function(C,B){A[B]=".dhonishow_module_"+B;return'<span class="dhonishow_module_'+B+'"></span>'}));return this.modulePlaceholders=A},invokeModules:function(){for(var A in this.modulePlaceholders){this[A](this.giveModluePlaceholder(A))}},giveModluePlaceholder:function(A){return jQuery(this.element).find(this.modulePlaceholders[A])},images:function(A){var B=this;this.children||[];A.replaceWith(this.children);this.elements=jQuery(this.children).wrap(arguments.callee.wrapper).parent()},alt:function(D){var A,C,B;if(A=jQuery(this.elements[this.parent.current_index]).find("*[alt]").attr("alt")){if(jQuery(A).filter("*").length){D.each(function(){this.innerHTML=A});return }D.text(A);return }if(C=jQuery(this.elements[this.parent.current_index]).find("*[title]").attr("title")){D.text(C);return }if(B=jQuery(this.elements[this.parent.current_index]).find("*[src]").attr("src")){var B=B.split("/");D.text(B[B.length-1]);return }},current:function(A){A.text(this.parent.current_index+1)},allpages:function(A){A.text(this.elements.length)}};DhoniShow.prototype.dom.prototype.images.wrapper="<li class='element'></li>";DhoniShow.fn={};DhoniShow.prototype.queue.prototype.moduleQueue.push("preloader");DhoniShow.fn.preloader=function(B,A){this.parent=A;this.value=B;this.elements=[];this.parent.queue.register("loaded_one",this,this.loadedOne)};DhoniShow.fn.preloader.prototype={loadedOne:function(A){if(this.elements.push(A)==this.parent.dom.elements.length){this.parent.queue.invokeAll("loaded_all")}}};DhoniShow.prototype.queue.prototype.moduleQueue.push("duration");DhoniShow.fn.duration=function(B,A){if(B==0){A.options.duration=0.01}};DhoniShow.prototype.queue.prototype.moduleQueue.push("hide");DhoniShow.fn.hide=function(B,A){this.parent=A;if(B==undefined||!B.buttons){this.parent.queue.register("updaters",this,this.previous_button).call(this);this.parent.queue.register("updaters",this,this.next_button).call(this)}};DhoniShow.fn.hide.prototype={previous_button:function(){if(!this.parent.dom.previous_button){this.parent.dom.previous_button=this.parent.dom.element.find(".dhonishow-previous-button")}this.parent.dom.previous_button.css("visibility","hidden");if(this.parent.current_index!=0){this.parent.dom.previous_button.css("visibility","")}},next_button:function(){if(!this.parent.dom.next_button){this.parent.dom.next_button=this.parent.dom.element.find(".dhonishow-next-button")}this.parent.dom.next_button.css("visibility","hidden");if(this.parent.current_index!=(this.parent.dom.elements.length-1)){this.parent.dom.next_button.css("visibility","")}},not_current:function(){var A,B=this.parent.current_index;jQuery(this.parent.dom.elements).each(function(C){if(C!=B){jQuery(this).hide()}else{A=jQuery(this)}});return A}};DhoniShow.prototype.queue.prototype.moduleQueue.push("effect");DhoniShow.fn.effect=function(A,C){this.parent=C;var B=A.split("-");if(B.length>1){A=B[0];B.shift()}this.effect=new DhoniShow.fn.effect.fx[A](this,B.join("-"));this.parent.queue.register("loaded_all",this.effect,this.effect.center);this.addObservers()};DhoniShow.fn.effect.prototype={addObservers:function(){this.parent.dom.element.find(".dhonishow-previous-button").bind("click",this,this.previous);this.parent.dom.element.find(".dhonishow-next-button").bind("click",this,this.next)},next:function(A){var B=A.data;if(!B.parent.animating()){B.update(B.parent.current_index,++B.parent.current_index)}},previous:function(A){var B=A.data;if(!B.parent.animating()){B.update(B.parent.current_index,--B.parent.current_index)}},update:function(A,B){this.parent.queue.invokeAll("updaters");this.effect.update(jQuery(this.parent.dom.elements[A]),jQuery(this.parent.dom.elements[B]),this.parent.options.duration)}};DhoniShow.fn.effect.fx={};DhoniShow.fn.effect.fx.appear=function(B,A){this.parent=B};DhoniShow.fn.effect.fx.appear.prototype={update:function(A,B,C){B.animate({opacity:"toggle"},C*1000);A.animate({opacity:"toggle"},C*1000)},center:function(B){if(!B){this.parent.parent.hide.not_current()}var A=this.parent.parent.center;this.parent.parent.dom.element.css({width:A.dimensions.max.width+"px"});this.parent.parent.dom.elements.parent().css({height:A.dimensions.max.height+"px"});if(A.value){if(A.value.elements||A.value.elements==undefined){this.parent.parent.dom.elements.each(function(C){jQuery(this).css(A.dimensions[C].center)})}if(A.value.width){this.parent.parent.dom.element.css({width:A.value.width+"px"})}if(A.value.height){this.parent.parent.dom.elements.parent().css({height:A.value.height+"px"})}}}};DhoniShow.fn.effect.fx.resize=function(B,A){this.parent=B};DhoniShow.fn.effect.fx.resize.prototype={update:function(A,C,D){var B=this.parent.parent.center.dimensions[this.parent.parent.current_index];this.parent.parent.dom.elements.parent().animate({height:B.height},D*1000);this.parent.parent.dom.element.animate({width:B.width},D*1000);C.animate({opacity:"toggle"},D*1000);A.animate({opacity:"toggle"},D*1000)},center:function(){var C=jQuery(this.parent.parent.dom.elements.get().reverse());for(var B=0;B<C.length;B++){jQuery(C[B]).css("z-index",B+1);if(B!=(C.length-1-this.parent.parent.current_index)){jQuery(C[B]).hide()}}var A=this.parent.parent.center;this.parent.parent.dom.element.css({width:A.dimensions[this.parent.parent.current_index].width+"px"});this.parent.parent.dom.elements.parent().css({height:A.dimensions[this.parent.parent.current_index].height+"px"})}};DhoniShow.fn.effect.fx.slide=function(B,A){this.parent=B;this.element=this.parent.parent.dom.element.find(".dhonishow-elements");this.options=(function(){if(A=="top"){return{dimension:"height",side:"top"}}return{dimension:"width",side:"left"}})()};DhoniShow.fn.effect.fx.slide.prototype={update:function(C,E,F,D){var A={};var B=E;if(this.parent.parent.options.autoplay){B=C}A[this.options.side]=-DhoniShow.helper.to_number(B.css(this.options.side));this.element.animate(A,F*1000)},center:function(){DhoniShow.fn.effect.fx.appear.prototype.center.apply(this,[true]);var D=this.options.dimension;var B=this.options.side;var E=0;this.dimensions=this.parent.parent.center.dimensions.max;var C=this.dimensions[D];this.parent.parent.dom.elements.each(function(){this.style[B]=E+"px";E+=C});var A={};A[B]=0;A[D]=this.parent.parent.dom.elements.length*this.dimensions[D];this.element.css(A);this.parent.parent.dom.element.find(".dhonishow-effect-helper").css({height:this.dimensions.height,width:this.dimensions.width})}};DhoniShow.prototype.queue.prototype.moduleQueue.push("autoplay");DhoniShow.fn.autoplay=function(B,A){this.parent=A;if(B){this.create(B);this.parent.queue.register("updaters",this,this.reset)}};DhoniShow.fn.autoplay.prototype={create:function(A){var B=this;this.executer=setInterval(function(){B.parent.current_index++;if(B.parent.current_index==B.parent.dom.elements.length){B.parent.effect.effect.update(jQuery(B.parent.dom.elements[B.parent.current_index=0]),jQuery(B.parent.dom.elements[B.parent.dom.elements.length-1]),B.parent.options.duration)}else{B.parent.effect.effect.update(jQuery(B.parent.dom.elements[B.parent.current_index]),jQuery(B.parent.dom.elements[B.parent.current_index-1]),B.parent.options.duration)}B.parent.queue.invokeAll("updaters")},A*1000)},reset:function(){clearInterval(this.executer);this.executer=null;this.create(this.parent.options.autoplay)}};DhoniShow.prototype.queue.prototype.moduleQueue.push("center");DhoniShow.fn.center=function(B,A){this.parent=A;this.value=B;this.dimensions={max:{width:0,height:0}};this.set_dimensions()};DhoniShow.fn.center.prototype={set_dimensions:function(){var A=this;this.parent.dom.elements.each(function(D){var G=arguments[2]?arguments[2]:{width:0,height:0};DhoniShow.helper.delayed_dimensions_load(G,arguments.callee,this,arguments);if(!G.width||!G.height){return }A.dimensions.max.height=(G.height>A.dimensions.max.height)?G.height:A.dimensions.max.height;A.dimensions.max.width=(G.width>A.dimensions.max.width)?G.width:A.dimensions.max.width;A.dimensions[D]={width:G.width,height:G.height};if(A.value==true||A.value.elements){for(var D in A.dimensions){if(D!="max"){A.dimensions[D].center={paddingLeft:((A.dimensions.max.width-A.dimensions[D].width)/2)+"px",paddingTop:((A.dimensions.max.height-A.dimensions[D].height)/2)+"px"}}}}else{if((A.value.width||A.value.height)&&(A.value.elements||A.value.elements==undefined)){for(var D in A.dimensions){var C={width:new Number((A.value.width)?A.value.width:A.dimensions.max.width),height:new Number((A.value.height)?A.value.height:A.dimensions.max.height)};var E={};var F=(A.dimensions[D].width-C.width)/2;var B=(A.dimensions[D].height-C.height)/2;if(F>0){E.paddingLeft=0;E.marginLeft=F-F-F+"px"}else{E.paddingLeft=F-F-F+"px"}if(B>0){E.paddingTop=0;E.marginTop=B-B-B+"px"}else{E.paddingTop=B-B-B+"px"}A.dimensions[D].center=E}}}A.parent.queue.invokeAll("loaded_one",D)})}};DhoniShow.prototype.queue.prototype.moduleQueue.push("align");DhoniShow.fn.align=function(A,C){var D=C.dom.element.find(".dhonishow-aligner");for(var B in A){switch(B){case"alt":C.dom.element.addClass("align-"+B+"_"+A[B]);break;default:D.addClass("align-"+B+"_"+A[B]);break}}};DhoniShow.prototype.queue.prototype.moduleQueue.push("thumbnails");DhoniShow.fn.thumbnails=function(B,A){this.parent=A;if(B){this.option=B.constructor==Boolean?50:B.split("-")[1];this.parent.queue.register("updaters",this,this.set_active);this.parent.queue.register("loaded_all",this,this.loaded_all)}};DhoniShow.fn.thumbnails.prototype={loaded_all:function(){this.create_dom();this.center();this.addObservers();this.set_active()},create_dom:function(){this.lis=this.parent.dom.elements.clone().removeClass("element").css({padding:"",top:"",left:"",display:""});this.lis.children().each(function(A){jQuery(this).wrap('<a href="'+this.src+"#"+A+'"></a>')});this.element=jQuery("<ol class='dhonishow-thumbnails'></ol>").append(this.lis);this.parent.dom.element.find(".dhonishow-aligner").append(this.element)},center:function(){var B=this;var A={width:this.lis.width(),height:this.lis.height()};jQuery.each(this.parent.center.dimensions,function(C){if(C!="max"){jQuery(B.lis[C]).children().css({left:(A.width/2-this.width/2)+"px",top:(A.height/2-this.height/2)+"px"})}})},addObservers:function(){var A=this;this.lis.find("a").bind("click",function(C){var B=new Number(this.href.split("#")[1]),D=A.parent.current_index;A.parent.current_index=B;A.parent.effect.update(D,B);return false})},set_active:function(){this.lis.removeClass("active").eq(this.parent.current_index).addClass("active")}};jQuery.fn.dhonishow=function(A){return jQuery.each(this,function(B){new DhoniShow(this,A,B)})};jQuery(function(){jQuery(".dhonishow").dhonishow()});
