/*
* @file
* @brief    sigplus Image Gallery Plus image slider engine with MooTools
* @author   Levente Hunyadi
* @version  1.2
* @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={itemCount:4,showButtons:true,showLinks:true,showPageCounter:true,alignment:"left",orientation:"horizontal",navigation:"top",firstText:"First",prevText:"Previous",nextText:"Next",lastText:"Last",pageText:"%1$d of %2$d",duration:800};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:}}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.getElements("li").length;l=h();switch(d.orientation){case"vertical":i={width:l.width,height:l.height*o};j={width:l.width,height:l.height*d.itemCount};break;default:i={width:l.width*o,height:l.height};j={width:l.width*d.itemCount,height:l.height}}m.getElement("ul").setStyles({width:i.width,height:i.height});m.getElements("li").each(function(p){if(i.height>i.width){p.addClass("imageSliderVertical")}else{p.addClass("imageSliderHorizontal")}p.setStyles({width:l.width,height:l.height});var t=p.getElement("img");if(t){var u=t.getOuterSize();var q=new Element("div",{"class":"imageSliderAlignment",styles:{width:u.width,height:u.height}});var r=new Element("div",{styles:{width:u.width,height:u.height}});var s=p.getChildren();r.adopt(s);r.injectInside(q);q.injectInside(p)}});var n=new Element("div",{"class":"imageSliderViewport",styles:{width:j.width,height:j.height}});n.injectInside(m);n.adopt(m.getElement("ul"));k(n);b()}function b(){var r=Math.ceil(m.getElements("li").length/d.itemCount);var s='<a class="pg_first" href="#" title="'+d.firstText+'">'+(d.showButtons?"<span></span>":"")+(d.showLinks?d.firstText:"")+"</a>";var q='<a class="pg_prev" href="#" title="'+d.prevText+'">'+(d.showButtons?"<span></span>":"")+(d.showLinks?d.prevText:"")+"</a>";var o='<a class="pg_next" href="#" title="'+d.nextText+'">'+(d.showLinks?d.nextText:"")+(d.showButtons?"<span></span>":"")+"</a>";var p='<a class="pg_last" href="#" title="'+d.lastText+'">'+(d.showLinks?d.lastText:"")+(d.showButtons?"<span></span>":"")+"</a>";var n=d.showPageCounter?d.pageText.replace("%1$d",'<span class="current">1</span>').replace("%2$d",'<span class="total">'+r+"</span>"):"";nav=new Element("div",{"class":"imageSliderPaging",styles:{width:j.width}});nav.setHTML(s+" "+q+" "+n+" "+o+" "+p);k(nav);switch(d.navigation){case"both":nav.clone().injectTop(m);nav.injectInside(m);break;case"top":nav.injectTop(m);break;default:nav.injectInside(m)}m.getElements("a.pg_first").each(function(t){t.addEvent("click",function(u){c("first");new Event(u).stop()})});m.getElements("a.pg_prev").each(function(t){t.addEvent("click",function(u){c("prev");new Event(u).stop()})});m.getElements("a.pg_next").each(function(t){t.addEvent("click",function(u){c("next");new Event(u).stop()})});m.getElements("a.pg_last").each(function(t){t.addEvent("click",function(u){c("last");new Event(u).stop()})})}function c(o){var u=d.itemCount;var x=m.getElements("li").length;var r=(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<r)?a+u:r;break;case"last":a=r;break;default:return}var q=m.getElement("ul");if(i.height>i.width){var w="top";var v=(-a*l.height)}else{var w="left";var v=(-a*l.width)}if(window.ie){q.setStyle(w,v)}else{var s=new Fx.Style(q,w,{duration:d.duration});s.start(v)}g()}function g(){var q=d.itemCount;var r=m.getElements("li").length;var o=(r%q?r-r%q:r-q);m.getElements("span.current").each(function(n){n.setText(Math.ceil(a/d.itemCount)+1)});if(a>0){m.getElements("a.pg_first").each(function(n){n.removeClass("imageSliderPagingDisabled")});m.getElements("a.pg_prev").each(function(n){n.removeClass("imageSliderPagingDisabled")})}else{m.getElements("a.pg_first").each(function(n){n.addClass("imageSliderPagingDisabled")});m.getElements("a.pg_prev").each(function(n){n.addClass("imageSliderPagingDisabled")})}if(a<o){m.getElements("a.pg_next").each(function(n){n.removeClass("imageSliderPagingDisabled")});m.getElements("a.pg_last").each(function(n){n.removeClass("imageSliderPagingDisabled")})}else{m.getElements("a.pg_next").each(function(n){n.addClass("imageSliderPagingDisabled")});m.getElements("a.pg_last").each(function(n){n.addClass("imageSliderPagingDisabled")})}}d=$extend(e,d);f();g()};
