/*
* @file
* @brief    boxplus image slider engine
* @author   Levente Hunyadi
* @version  1.3.0
* @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/boxplus
*/
if(!__jQuery__){var __jQuery__=jQuery.noConflict()}(function(b){var a="boxplus-disabled";b.fn.maxOuterWidth=function(){var c=0;this.each(function(d,e){c=Math.max(c,b(e).outerWidth(true))});return c};b.fn.maxOuterHeight=function(){var c=0;this.each(function(d,e){c=Math.max(c,b(e).outerHeight(true))});return c};b.fn.boxplusSlider=function(d){var e={rowCount:1,columnCount:2,orientation:"horizontal",navigation:"top",showButtons:true,showLinks:true,showPageCounter:true,showOverlayButtons:true,duration:800,animationDelay:0,opacity:1};d=b.extend(e,d);var c=this.filter("ul, ol");c.each(function(){var m=d.rowCount;var B=d.columnCount;var k=m*B;var u=d.duration;var x=d.animationDelay;var K=0;var w=b(this).wrap("<div />");var L=w.parent().addClass("boxplus-slider").addClass(a);L.wrapInner('<div class="boxplus-viewport" />');var E=b("li:visible",w);var q=E.find("img:first");var g=q.maxOuterWidth();var M=q.maxOuterHeight();E.css({width:g,height:M});g=E.maxOuterWidth();M=E.maxOuterHeight();function z(S,T,r){for(D=0;D<S;D++){for(P=0;P<T;P++){E.eq(r?D*T+P:P*S+D).css({left:P*g,top:D*M})}}}var G=E.length;var J,o,D,P;var v=d.orientation=="vertical";if(v){o=B;J=Math.ceil(G/B);z(J,o,true)}else{o=Math.ceil(G/m);J=m;z(J,o)}w.css({width:o*g,height:J*M});b(".boxplus-viewport",L).css({width:B*g,height:m*M});L.css("width",B*g);function O(r){return'<a class="boxplus-'+r+'" href="javascript:void(0)" />'}function R(r){return'<div class="boxplus-'+r+'" />'}function t(S,r){return'<span class="boxplus-'+S+'">'+r+"</span>"}var N='<div class="boxplus-paging">'+(d.showButtons?R("first")+R("prev"):"")+(d.showLinks?O("first")+"&nbsp;"+O("prev")+" ":"")+(d.showPageCounter?t("current",1)+" / "+t("total",Math.ceil(G/k)):"")+(d.showLinks?" "+O("next")+"&nbsp;"+O("last"):"")+(d.showButtons?R("next")+R("last"):"")+"</div>";switch(d.navigation){case"both":L.prepend(N).append(N);break;case"top":L.prepend(N);break;default:L.append(N)}if(d.showOverlayButtons){b(".boxplus-viewport",L).append(b(R("prev")+R("next")).addClass((v?g:M)<120?"boxplus-small":"boxplus-large").addClass(v?"boxplus-vertical":"boxplus-horizontal"))}var A=b(".boxplus-first",L).click(f);var s=b(".boxplus-prev",L).click(I);var Q=b(".boxplus-next",L).click(p);var h=b(".boxplus-last",L).click(y);E.addClass("boxplus-loading").children().addClass(a);E.each(function(){var r=b("img:first",this);if(j(r)){b(this).one("boxplus-load",l)}});i();L.removeClass(a);w.css({top:0,left:0,visibility:"visible"});if(d.opacity<1){q.css("opacity",d.opacity);q.hover(function(){b(this).stop().animate({opacity:1},"slow")},function(){b(this).stop().animate({opacity:d.opacity},"slow")})}if(x>0){x=Math.max(x,u);var n=window.setInterval(F,x);L.hover(function(){window.clearInterval(n)},function(){n=window.setInterval(F,x)})}function j(r){return/\.(gif|jpe?g|png)$/i.test(r.attr("longdesc"))}function C(r){r.each(function(){var S=b("img:first",this);if(j(S)){S.attr("src",S.attr("longdesc")).attr("longdesc","");b(this).removeClass("boxplus-loading").children().removeClass(a)}})}function l(r){var T=b(r.target);var S=b("img:first",T);b(new Image()).load(function(){C(T)}).attr("src",S.attr("longdesc"))}function F(){H("cycle")}function f(){H("first")}function I(){H("prev")}function p(){H("next")}function y(){H("last")}function H(S){var U=G%k?G-G%k:G-k;switch(S){case"first":K=0;break;case"prev":K=(K>=k)?K-k:0;break;case"next":K=(K<U)?K+k:U;break;case"last":K=U;break;case"cycle":K=(K>=U)?0:K+k;break;default:return}var T=Math.max(0,K-k);var r=Math.min(G,K+2*k);E.slice(0,T).detach();E.slice(r).detach();var V=v?{top:-(K/B*M)}:{left:-(K/m*g)};switch(S){case"first":case"last":w.css(b.extend(V,{opacity:0}));i();w.prepend(E.slice(0,T)).append(E.slice(r));w.animate({opacity:1},u,"linear");break;default:i();w.animate(V,u,"swing",function(){w.prepend(E.slice(0,T)).append(E.slice(r))})}}function i(){var T=G%k?G-G%k:G-k;s.add(A).toggleClass(a,K<=0);Q.add(h).toggleClass(a,K>=T);b(".boxplus-current",L).text(K/k+1);var S=Math.max(0,K-k);var r=Math.min(G,K+2*k);E.slice(S,r).trigger("boxplus-load")}});return this}})(__jQuery__);
