/*
* @file
* @brief    sigplus Image Gallery Plus image slider engine with MooTools
* @author   Levente Hunyadi
* @version  1.2.8
* @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.getStyle("margin").split(" ").map(function(o){return o.toInt()});return{width:this.offsetWidth+n[3]+n[1],height:this.offsetHeight+n[0]+n[2]}}});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}}});if(!m){return}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 p=m.getElement("ul");var o=p.getElements("li");var n=p.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("imageGalleryLeft");break;case"center":m.addClass("imageGalleryCenter");break;case"right":m.addClass("imageGalleryRight");break}var q=m.getElement("div.imageSliderViewportArea");if(!q){var q=new Element("div",{"class":"imageSliderViewportArea"});q.injectBefore(m.getElement("ul"));q.adopt(m.getElement("ul"))}q.addClass("imageSliderScrollableViewportArea");var n=m.getElement("div.imageSliderViewport");if(!n){var n=new Element("div",{"class":"imageSliderViewport"});n.injectBefore(q);n.adopt(q)}n.addClass("imageSliderScrollableViewport");l=h();j={width:d.columnCount*l.width,height:d.rowCount*l.height};var s=m.getElement("ul");var r=s.getElements("li").length;switch(d.orientation){case"vertical":i={width:d.columnCount*l.width,height:Math.ceil(r/d.columnCount)*l.height};break;default:i={width:Math.ceil(r/d.rowCount)*l.width,height:d.rowCount*l.height};if(d.rowCount>1&&d.columnCount>1){var p=s.getElements("li");p.each(function(t){t.remove()});for(var o=0;o<d.rowCount;o++){p.each(function(u,t){if(t%d.rowCount==o){u.injectInside(s)}})}}}s.getElements("li").each(function(v){v.setStyles({width:l.width,height:l.height});var w=v.getElement("img").getOuterSize();var t=new Element("div",{"class":"imageSliderAlignment",styles:{width:w.width,height:w.height}});var u=new Element("div",{"class":"imageSliderAlignment",styles:{width:w.width,height:w.height}});u.adopt(v.getChildren());u.injectInside(t);t.injectInside(v)});q.removeClass("imageSliderViewportAreaFlow");if(d.rowCount>1&&d.columnCount>1){q.addClass("imageSliderViewportAreaMatrix")}else{switch(d.orientation){case"vertical":q.addClass("imageSliderViewportAreaColumn");break;default:q.addClass("imageSliderViewportAreaRow")}}q.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 u=m.getElement("ul");var q=Math.ceil(u.getElements("li").length/(d.rowCount*d.columnCount));var p='<a class="pg_first" href="#" title="'+d.firstText+'">'+(d.showButtons?"<span></span>":"")+(d.showLinks?d.firstText:"")+"</a>";var y='<a class="pg_prev" href="#" title="'+d.prevText+'">'+(d.showButtons?"<span></span>":"")+(d.showLinks?d.prevText:"")+"</a>";var z='<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 x=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(p+" "+y+" "+x+" "+z+" "+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 o=new Element("div",{"class":"pg_prev",href:"#"});var v=new Element("div",{"class":"pg_prev",title:d.prevText});v.injectInside(o);var s=new Element("div",{"class":"pg_next",href:"#"});var t=new Element("div",{"class":"pg_next",title:d.nextText});t.injectInside(s);switch(d.orientation){case"vertical":if(l.height<120){o.addClass("pg_top_small");s.addClass("pg_bottom_small")}else{o.addClass("pg_top_large");s.addClass("pg_bottom_large")}break;default:if(l.width<120){o.addClass("pg_left_small");s.addClass("pg_right_small")}else{o.addClass("pg_left_large");s.addClass("pg_right_large")}}var w=m.getElement("div.imageSliderViewport");s.injectTop(w);o.injectTop(w)}if(d.showButtons||d.showLinks||d.showOverlayButtons){m.getElements(".pg_first").each(function(A){A.addEvent("click",function(B){c("first");new Event(B).stop()})});m.getElements(".pg_prev").each(function(A){A.addEvent("click",function(B){c("prev");new Event(B).stop()})});m.getElements(".pg_next").each(function(A){A.addEvent("click",function(B){c("next");new Event(B).stop()})});m.getElements(".pg_last").each(function(A){A.addEvent("click",function(B){c("last");new Event(B).stop()})})}}function c(v){var x=m.getElement("ul");var q=d.rowCount*d.columnCount;var s=x.getElements("li").length;var y=(s%q?s-s%q:s-q);switch(v){case"first":a=0;break;case"prev":a=(a>=q)?a-q:0;break;case"next":a=(a<y)?a+q:y;break;case"last":a=y;break;default:return}switch(d.orientation){case"vertical":var o="top";var u=-(a/d.columnCount*l.height);break;default:var o="left";var u=-(a/d.rowCount*l.width)}var r=m.getElement("div.imageSliderViewportArea");if(window.ie){r.setStyle(o,u)}else{var w=new Fx.Style(r,o,{duration:d.duration});w.start(u)}g()}function g(){var s=m.getElement("ul");var q=d.rowCount*d.columnCount;var r=s.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")})}}}m.removeClass("imageGalleryHidden");f();g()};
