/*
* @file
* @brief    sigplus Image Gallery Plus extended prettySlider engine with jQuery
* @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(a){a.fn.maxWidth=function(){var b=0;this.each(function(c,d){b=Math.max(b,a(d).outerWidth(true))});return b};a.fn.maxHeight=function(){var b=0;this.each(function(c,d){b=Math.max(b,a(d).outerHeight(true))});return b};a.fn.imageSlider=function(e){var f={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 n=this;var m;var j;var k;var b=0;function l(o){switch(e.alignment){case"center":o.addClass("imageSliderCenter");break;case"right":o.addClass("imageSliderRight");break;default:}}function i(){if(a("li img",n).length==a("li",n).length){var o=a("li img",n).maxWidth();var p=a("li img",n).maxHeight()}else{var o=a("li",n).maxWidth();var p=a("li",n).maxHeight()}return{width:o,height:p}}function g(){n.addClass("imageSlider");switch(e.alignment){case"left":n.addClass("imageSliderLeft");break;case"right":n.addClass("imageSliderRight");break}var p=a("li",n).length;m=i();switch(e.orientation){case"vertical":j={width:m.width,height:m.height*p};k={width:m.width,height:m.height*e.itemCount};break;default:j={width:m.width*p,height:m.height};k={width:m.width*e.itemCount,height:m.height}}a("ul",n).css({width:j.width,height:j.height});a("li",n).each(function(){if(j.height>j.width){a(this).addClass("imageSliderVertical")}else{a(this).addClass("imageSliderHorizontal")}a(this).css({width:m.width,height:m.height});var q=a("img",this);if(q.length==1){a(this).children().wrapAll('<div class="imageSliderAlignment"><div></div></div>');a("div.imageSliderAlignment",this).width(q.outerWidth(true)).height(q.outerHeight(true))}});a("ul",n).wrap('<div class="imageSliderViewport"></div>');var o=a("div.imageSliderViewport",n);o.css({width:k.width,height:k.height});l(o);c()}function c(){var t=Math.ceil(a("li",n).length/e.itemCount);var u='<a class="pg_first" href="#" title="'+e.firstText+'">'+(e.showButtons?"<span></span>":"")+(e.showLinks?e.firstText:"")+"</a>";var s='<a class="pg_prev" href="#" title="'+e.prevText+'">'+(e.showButtons?"<span></span>":"")+(e.showLinks?e.prevText:"")+"</a>";var p='<a class="pg_next" href="#" title="'+e.nextText+'">'+(e.showLinks?e.nextText:"")+(e.showButtons?"<span></span>":"")+"</a>";var r='<a class="pg_last" href="#" title="'+e.lastText+'">'+(e.showLinks?e.lastText:"")+(e.showButtons?"<span></span>":"")+"</a>";var o=e.showPageCounter?e.pageText.replace("%1$d",'<span class="current">1</span>').replace("%2$d",'<span class="total">'+t+"</span>"):"";nav='<div class="imageSliderPaging">'+u+" "+s+" "+o+" "+p+" "+r+"</div>";switch(e.navigation){case"both":a(n).prepend(nav);a(n).append(nav);break;case"top":a(n).prepend(nav);break;default:a(n).append(nav)}var q=a(".imageSliderPaging",n);q.width(k.width);l(q);a("a.pg_first",n).click(function(){d("first");return false});a("a.pg_prev",n).click(function(){d("prev");return false});a("a.pg_next",n).click(function(){d("next");return false});a("a.pg_last",n).click(function(){d("last");return false})}function d(o){var r=e.itemCount;var s=a("li",n).length;var q=(s%r?s-s%r:s-r);switch(o){case"first":b=0;break;case"prev":b=(b>=r)?b-r:0;break;case"next":b=(b<q)?b+r:q;break;case"last":b=q;break;default:return}if(j.height>j.width){pad=b*m.height;a("ul",n).animate({top:-pad},e.duration)}else{pad=b*m.width;a("ul",n).animate({left:-pad},e.duration)}h()}function h(){var q=e.itemCount;var r=a("li",n).length;var o=(r%q?r-r%q:r-q);a("span.current",n).text(Math.ceil(b/e.itemCount)+1);if(b>0){a("a.pg_first",n).removeClass("imageSliderPagingDisabled");a("a.pg_prev",n).removeClass("imageSliderPagingDisabled")}else{a("a.pg_first",n).addClass("imageSliderPagingDisabled");a("a.pg_prev",n).addClass("imageSliderPagingDisabled")}if(b<o){a("a.pg_next",n).removeClass("imageSliderPagingDisabled");a("a.pg_last",n).removeClass("imageSliderPagingDisabled")}else{a("a.pg_next",n).addClass("imageSliderPagingDisabled");a("a.pg_last",n).addClass("imageSliderPagingDisabled")}}e=a.extend(f,e);g();h()}})(jQuery);