/*
* @file
* @brief    sigplus Image Gallery Plus image slider engine with MooTools
* @author   Levente Hunyadi
* @version  1.2.6
* @remarks  Copyright (C) 2009-2010 Levente Hunyadi
* @remarks  Licensed under GNU/GPLv3, see http://www.gnu.org/licenses/gpl-3.0.html
* @see      http://hunyadi.info.hu/projects/sigplus
*/
function imageSlider(m,d){Element.extend({getOuterSize:function(){var n=this.getSize().size;return{width:n.x+this.getStyle("margin-left").toInt()+this.getStyle("margin-right").toInt(),height:n.y+this.getStyle("margin-top").toInt()+this.getStyle("margin-bottom").toInt()}}});Elements.extend({getMaxOuterSize:function(){var n=0;var o=0;this.each(function(q){var p=q.getOuterSize();n=Math.max(n,p.width);o=Math.max(o,p.height)});return{width:n,height:o}}});var e={rowCount:1,columnCount:4,showButtons:true,showLinks:true,showPageCounter:true,showOverlayButtons:true,alignment:"left",orientation:"horizontal",navigation:"top",firstText:"First",prevText:"Previous",nextText:"Next",lastText:"Last",pageText:"%1$d of %2$d",duration:800};d=$extend(e,d);if(d.itemCount){switch(d.orientation){case"vertical":d.rowCount=d.itemCount;d.columnCount=1;break;default:d.rowCount=1;d.columnCount=d.itemCount}}var l;var i;var j;var a=0;function k(n){switch(d.alignment){case"center":n.addClass("imageSliderCenter");break;case"right":n.addClass("imageSliderRight");break;default:n.addClass("imageSliderLeft")}}function h(){var o=m.getElements("li");var n=m.getElements("li img");if(n.length==o.length){return n.getMaxOuterSize()}else{return o.getMaxOuterSize()}}function f(){m.addClass("imageSlider");switch(d.alignment){case"left":m.addClass("imageSliderLeft");break;case"right":m.addClass("imageSliderRight");break}var o=m.getElement("div.imageSliderViewportArea");if(!o){var o=new Element("div",{"class":"imageSliderViewportArea"});o.injectBefore(m.getElement("ul"));o.adopt(m.getElement("ul"))}o.addClass("imageSliderScrollableViewportArea");var n=m.getElement("div.imageSliderViewport");if(!n){var n=new Element("div",{"class":"imageSliderViewport"});n.injectBefore(o);n.adopt(o)}n.addClass("imageSliderScrollableViewport");l=h();j={width:d.columnCount*l.width,height:d.rowCount*l.height};var p=m.getElements("li").length;switch(d.orientation){case"vertical":i={width:d.columnCount*l.width,height:Math.ceil(p/d.columnCount)*l.height};break;default:i={width:Math.ceil(p/d.rowCount)*l.width,height:d.rowCount*l.height}}m.getElements("li").each(function(q){q.setStyles({width:l.width,height:l.height});var t=q.getElement("img").getOuterSize();var r=new Element("div",{"class":"imageSliderAlignment",styles:{width:t.width,height:t.height}});var s=new Element("div",{"class":"imageSliderAlignment",styles:{width:t.width,height:t.height}});s.adopt(q.getChildren());s.injectInside(r);r.injectInside(q)});o.removeClass("imageSliderViewportAreaFlow");if(d.rowCount>1&&d.columnCount>1){o.addClass("imageSliderViewportAreaMatrix")}else{switch(d.orientation){case"vertical":o.addClass("imageSliderViewportAreaColumn");break;default:o.addClass("imageSliderViewportAreaRow")}}o.setStyles({width:i.width,height:i.height});n.setStyles({width:j.width,height:j.height});k(n);b()}function b(){if(d.showButtons||d.showLinks||d.showPageCounter){var q=Math.ceil(m.getElements("li").length/(d.rowCount*d.columnCount));var o='<a class="pg_first" href="#" title="'+d.firstText+'">'+(d.showButtons?"<span></span>":"")+(d.showLinks?d.firstText:"")+"</a>";var x='<a class="pg_prev" href="#" title="'+d.prevText+'">'+(d.showButtons?"<span></span>":"")+(d.showLinks?d.prevText:"")+"</a>";var y='<a class="pg_next" href="#" title="'+d.nextText+'">'+(d.showLinks?d.nextText:"")+(d.showButtons?"<span></span>":"")+"</a>";var r='<a class="pg_last" href="#" title="'+d.lastText+'">'+(d.showLinks?d.lastText:"")+(d.showButtons?"<span></span>":"")+"</a>";var w=d.showPageCounter?d.pageText.replace("%1$d",'<span class="current">1</span>').replace("%2$d",'<span class="total">'+q+"</span>"):"";var n=new Element("div",{"class":"imageSliderPaging",styles:{width:j.width}});n.setHTML(o+" "+x+" "+w+" "+y+" "+r);k(n);switch(d.navigation){case"both":n.clone().injectTop(m);n.injectInside(m);break;case"top":n.injectTop(m);break;default:n.injectInside(m)}}if(d.showOverlayButtons){var p=new Element("div",{"class":"pg_prev",href:"#"});var u=new Element("div",{"class":"pg_prev",title:d.prevText,styles:{visibility:"hidden"}});u.injectInside(p);var s=new Element("div",{"class":"pg_next",href:"#"});var t=new Element("div",{"class":"pg_next",title:d.nextText,styles:{visibility:"hidden"}});t.injectInside(s);switch(d.orientation){case"vertical":if(l.height<120){p.addClass("pg_top_small");s.addClass("pg_bottom_small")}else{p.addClass("pg_top_large");s.addClass("pg_bottom_large")}break;default:if(l.width<120){p.addClass("pg_left_small");s.addClass("pg_right_small")}else{p.addClass("pg_left_large");s.addClass("pg_right_large")}}var v=m.getElement("div.imageSliderViewport");s.injectTop(v);p.injectTop(v);p.addEvent("mouseenter",function(){u.setStyle("visibility","visible")});p.addEvent("mouseleave",function(){u.setStyle("visibility","hidden")});s.addEvent("mouseenter",function(){t.setStyle("visibility","visible")});s.addEvent("mouseleave",function(){t.setStyle("visibility","hidden")})}if(d.showButtons||d.showLinks||d.showOverlayButtons){m.getElements(".pg_first").each(function(z){z.addEvent("click",function(A){c("first");new Event(A).stop()})});m.getElements(".pg_prev").each(function(z){z.addEvent("click",function(A){c("prev");new Event(A).stop()})});m.getElements(".pg_next").each(function(z){z.addEvent("click",function(A){c("next");new Event(A).stop()})});m.getElements(".pg_last").each(function(z){z.addEvent("click",function(A){c("last");new Event(A).stop()})})}}function c(o){var u=d.rowCount*d.columnCount;var x=m.getElements("li").length;var q=(x%u?x-x%u:x-u);switch(o){case"first":a=0;break;case"prev":a=(a>=u)?a-u:0;break;case"next":a=(a<q)?a+u:q;break;case"last":a=q;break;default:return}switch(d.orientation){case"vertical":var w="top";var v=-(a/d.columnCount*l.height);break;default:var w="left";var v=-(a/d.rowCount*l.width)}var r=m.getElement("div.imageSliderViewportArea");if(window.ie){r.setStyle(w,v)}else{var s=new Fx.Style(r,w,{duration:d.duration});s.start(v)}g()}function g(){var q=d.rowCount*d.columnCount;var r=m.getElements("li").length;var o=(r%q?r-r%q:r-q);if(d.showPageCounter){m.getElements("span.current").each(function(n){n.setText(Math.ceil(a/(d.rowCount*d.columnCount))+1)})}if(d.showButtons||d.showLinks||d.showOverlayButtons){if(a>0){m.getElements(".pg_first").each(function(n){n.removeClass("imageSliderPagingDisabled")});m.getElements(".pg_prev").each(function(n){n.removeClass("imageSliderPagingDisabled")})}else{m.getElements(".pg_first").each(function(n){n.addClass("imageSliderPagingDisabled")});m.getElements(".pg_prev").each(function(n){n.addClass("imageSliderPagingDisabled")})}if(a<o){m.getElements(".pg_next").each(function(n){n.removeClass("imageSliderPagingDisabled")});m.getElements(".pg_last").each(function(n){n.removeClass("imageSliderPagingDisabled")})}else{m.getElements(".pg_next").each(function(n){n.addClass("imageSliderPagingDisabled")});m.getElements(".pg_last").each(function(n){n.addClass("imageSliderPagingDisabled")})}}}f();g()};