From cb8c1e3e4a25f353946a4a0da757b3d22270d9e7 Mon Sep 17 00:00:00 2001 From: SUTJael Date: Mon, 17 Feb 2014 18:10:05 +0100 Subject: [PATCH] Center slideshow. Should be improved for none "stretching" effect. --- .../jquery-jplayer/jplayer.playlist.ext.js | 188 ++ modules/rhinoslider/css/rhinoslider-1.05.css | 123 ++ .../rhinoslider/img/rhinoslider-sprite.png | Bin 0 -> 7469 bytes modules/rhinoslider/img/slider/01.jpg | Bin 0 -> 37654 bytes modules/rhinoslider/img/slider/02.jpg | Bin 0 -> 35462 bytes modules/rhinoslider/img/slider/03.jpg | Bin 0 -> 35629 bytes modules/rhinoslider/img/slider/04.jpg | Bin 0 -> 38395 bytes modules/rhinoslider/img/slider/05.jpg | Bin 0 -> 35472 bytes modules/rhinoslider/js/easing.js | 206 ++ modules/rhinoslider/js/mousewheel.js | 12 + modules/rhinoslider/js/rhinoslider-1.05.js | 871 ++++++++ .../rhinoslider/js/rhinoslider-1.05.min.js | 61 + modules/rhinoslider/rhinoslider-1.05.js | 1770 ----------------- server/index.ajax.php | 20 +- templates/base.css | 17 +- templates/header.inc.php | 8 +- 16 files changed, 1486 insertions(+), 1790 deletions(-) create mode 100644 modules/jquery-jplayer/jplayer.playlist.ext.js create mode 100644 modules/rhinoslider/css/rhinoslider-1.05.css create mode 100644 modules/rhinoslider/img/rhinoslider-sprite.png create mode 100644 modules/rhinoslider/img/slider/01.jpg create mode 100644 modules/rhinoslider/img/slider/02.jpg create mode 100644 modules/rhinoslider/img/slider/03.jpg create mode 100644 modules/rhinoslider/img/slider/04.jpg create mode 100644 modules/rhinoslider/img/slider/05.jpg create mode 100644 modules/rhinoslider/js/easing.js create mode 100644 modules/rhinoslider/js/mousewheel.js create mode 100644 modules/rhinoslider/js/rhinoslider-1.05.js create mode 100644 modules/rhinoslider/js/rhinoslider-1.05.min.js delete mode 100644 modules/rhinoslider/rhinoslider-1.05.js diff --git a/modules/jquery-jplayer/jplayer.playlist.ext.js b/modules/jquery-jplayer/jplayer.playlist.ext.js new file mode 100644 index 00000000..b328f015 --- /dev/null +++ b/modules/jquery-jplayer/jplayer.playlist.ext.js @@ -0,0 +1,188 @@ +'use strict'; + +jPlayerPlaylist.prototype._createListItem = function(media) { + var self = this; + + // Wrap the
  • contents in a
    + var attrClass = ' class="playlist-row '; + if ('string' === typeof media.attrClass) { + attrClass += media.attrClass; + } + attrClass += '" '; + + var listItem = "
    "; + + // Create image + // listItem += "\"""; + + // Create remove control + listItem += "×"; + + // Create settings link + if (media.id) { + listItem += ""; + } + + // The title is given next in the HTML otherwise the float:right on the free media corrupts in IE6/7 + listItem += "" + media.title + (media.artist ? " " : "") + ""; + listItem += "
  • "; + + return listItem; +}; + +// TODO: take away the playlistName +jPlayerPlaylist.prototype.rmTrack = function(trackId, playlistName) { + playlistName = playlistName || 'default'; + // $.bootstrapMessageLoading(); + $.post('/playlist/rmtrack', { + playlist: playlistName, + trackId: trackId + }, function (data) { + // $.bootstrapMessageAuto(data[0], data[1]); + if ('error' === data[1]) { + $.loadPlaylist(); + } + }, 'json').error(function (e) { + $.bootstrapMessageAuto('An error occured while trying to remove the track from your playlist.', 'error'); + }); +} + + +jPlayerPlaylist.prototype.remove = function(index) { + var self = this; + + console.log("remove track " + index); + + if (index === undefined) { + this._initPlaylist([]); + this._refresh(function() { + $(self.cssSelector.jPlayer).jPlayer("clearMedia"); + self.scan(); + }); + return true; + } else { + + if (this.removing) { + return false; + } else { + index = (index < 0) ? self.original.length + index : index; // Negative index relates to end of array. + if (0 <= index && index < this.playlist.length) { + this.removing = true; + + if ('playlist' === myPlaylist.type) { + console.log('delete track index ' + index); + var trackId = $($('.jp-playlist-item-remove')[index]).parent().parent().attr('track_id') + myPlaylist.rmTrack(trackId, myPlaylist.name); + } + + $(this.cssSelector.playlist + " li:nth-child(" + (index + 1) + ")").slideUp(this.options.playlistOptions.removeTime, function() { + $(this).remove(); + + if (self.shuffled) { + var item = self.playlist[index]; + $.each(self.original, function(i,v) { + if (self.original[i] === item) { + self.original.splice(i, 1); + return false; // Exit $.each + } + }); + self.playlist.splice(index, 1); + } else { + self.original.splice(index, 1); + self.playlist.splice(index, 1); + } + + if (self.original.length) { + if (index === self.current) { + self.current = (index < self.original.length) ? self.current : self.original.length - 1; // To cope when last element being selected when it was removed + self.select(self.current); + } else if (index < self.current) { + self.current--; + } + } else { + $(self.cssSelector.jPlayer).jPlayer("clearMedia"); + self.current = 0; + self.shuffled = false; + self._updateControls(); + } + + self.removing = false; + self.scan(); + }); + } + return true; + } + } +}; + +jPlayerPlaylist.prototype.removeAll = function() { + this.original = []; + this._originalPlaylist(); + $(this.cssSelector.playlist + " ul").html(' '); +}; + +jPlayerPlaylist.prototype.scan = function() { + var self = this; + var isAdjusted = false; + + var replace = []; + var maxName = 0; // maximum value that name attribute assumes. + $.each($(this.cssSelector.playlist + " ul li"), function(index, value) { + if ($(value).attr('name') > maxName) + maxName = parseInt($(value).attr('name')); + }); + + var diffCount = maxName + 1 != $(this.cssSelector.playlist + " ul li").length; // Flag that marks if the number of "ul li" elements doesn't match the name attribute counting. + + $.each($(this.cssSelector.playlist + " ul li"), function(index, value) { + if (!diffCount) { + replace[index] = self.original[$(value).attr('name')]; + if (!isAdjusted && self.current === parseInt($(value).attr('name'), 10)) { + self.current = index; + isAdjusted = true; + } + } + $(value).attr('name', index); + }); + + if (!diffCount) { + this.original = replace; + this._originalPlaylist(); + } +}; + + +jPlayerPlaylist.prototype.setCurrent = function(current) { + this.current = current; + this.select(this.current); +}; + +jPlayerPlaylist.prototype.play = function(index) { + index = (index < 0) ? this.original.length + index : index; // Negative index relates to end of array. + + if ('function' === typeof this.options.callbackPlay) { + this.options.callbackPlay(index); + } + + if (0 <= index && index < this.playlist.length) { + if (this.playlist.length) { + this.select(index); + $(this.cssSelector.jPlayer).jPlayer("play"); + } + } else if (index === undefined) { + $(this.cssSelector.jPlayer).jPlayer("play"); + } +}; + +jPlayerPlaylist.prototype._highlight = function(index) { + $(this.cssSelector.title + " li:first").html('Playlist: ' + this.name); + $(this.cssSelector.title + " li:last").html(' '); + if (this.playlist.length && index !== undefined) { + $(this.cssSelector.playlist + " .jp-playlist-current").removeClass("jp-playlist-current"); + $(this.cssSelector.playlist + " li:nth-child(" + (index + 1) + ")").addClass("jp-playlist-current").find(".jp-playlist-item").addClass("jp-playlist-current"); + $(this.cssSelector.title + " li:last").html(this.playlist[index].title + (this.playlist[index].artist ? " by " + this.playlist[index].artist + "" : "")); + } +}; + +$(document).ready(function() { +}); diff --git a/modules/rhinoslider/css/rhinoslider-1.05.css b/modules/rhinoslider/css/rhinoslider-1.05.css new file mode 100644 index 00000000..1e68518d --- /dev/null +++ b/modules/rhinoslider/css/rhinoslider-1.05.css @@ -0,0 +1,123 @@ +/** + * Rhinoslider 1.05 + * http://rhinoslider.com/ + * + * Copyright 2014: Sebastian Pontow, Rene Maas (http://renemaas.de/) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://rhinoslider.com/license/ + */ +.rhino-btn { + background:url(../img/rhinoslider-sprite.png) 0 0 no-repeat; + z-index:10; + width:56px; + height:53px; + display:block; + text-indent:-999%; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; +} + +.rhino-prev, .rhino-next { bottom:-4px; } + +.rhino-prev { + left:-6px; + background-position:-168px 0; +} + +.rhino-next { + right:-6px; + background-position:-106px 0; +} + +.rhino-prev:hover { background-position:-168px -53px; } + +.rhino-next:hover { background-position:-106px -53px; } + +.rhino-toggle { + top:-4px; + left:-6px; +} + +.rhino-play { background-position:0 0; } + +.rhino-play:hover { background-position:0 -53px; } + +.rhino-pause { background-position:-56px 0; } + +.rhino-pause:hover { background-position:-56px -53px; } + +.rhino-container { position:relative; } + +.rhino-caption { + position:absolute; + background: #000; + display:none; + left:0; + right:0; + top:0; + color:#fff; + padding:10px; + text-align:right; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; +} + +.rhino-bullets { + position: absolute; + bottom: -3px; + left: 50%; + margin:0 0 0 -50px; + z-index: 10; + background: #fff; + padding:0; +} + +.rhino-bullets:before, .rhino-bullets:after { + position:absolute; + display:block; + left:-16px; + content:' '; + width:16px; + height:26px; + background:url(../img/rhinoslider-sprite.png) -224px 0 no-repeat; +} + +.rhino-bullets:after { + left:auto; + right:-16px; + background-position: -240px 0; +} + +.rhino-bullets li { + float:left; + display:inline; + margin:0 2px; +} + +.rhino-bullets li a.rhino-bullet { + display: block; + width: 16px; + height: 15px; + cursor: pointer; + background: white; + font-size: 10px; + text-align: center; + padding: 6px 0 5px 0; + color: #333; + text-decoration:none; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; +} + +.rhino-bullets li a.rhino-bullet:hover, .rhino-bullets li a.rhino-bullet:focus { + color:#999; + background:#eee; +} + +.rhino-bullets li a.rhino-bullet.rhino-active-bullet { + color:#fff; + background:#5cd4e8; +} \ No newline at end of file diff --git a/modules/rhinoslider/img/rhinoslider-sprite.png b/modules/rhinoslider/img/rhinoslider-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..65babf7b9aa688f431324f486881bd97104a9d21 GIT binary patch literal 7469 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 literal 0 HcmV?d00001 diff --git a/modules/rhinoslider/img/slider/01.jpg b/modules/rhinoslider/img/slider/01.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f92f2295b38b6eff674adb1de224e86911181409 GIT binary patch literal 37654 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 E*>1l(TmS$7 literal 0 HcmV?d00001 diff --git a/modules/rhinoslider/img/slider/02.jpg b/modules/rhinoslider/img/slider/02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f09b7dadc277c05dd30b4f14672f353cd7790396 GIT binary patch literal 35462 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 literal 0 HcmV?d00001 diff --git a/modules/rhinoslider/img/slider/03.jpg b/modules/rhinoslider/img/slider/03.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ef06d760bad7445f935381fafbfb7f20f656f4a GIT binary patch literal 35629 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 bynHSWxVSO#4lHAitQo2}I5?agd>{YW#(O4w literal 0 HcmV?d00001 diff --git a/modules/rhinoslider/img/slider/04.jpg b/modules/rhinoslider/img/slider/04.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7594d8603e942ee2359a29e5d3dcaab891123ab5 GIT binary patch literal 38395 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 E{~d?b4*&oF literal 0 HcmV?d00001 diff --git a/modules/rhinoslider/img/slider/05.jpg b/modules/rhinoslider/img/slider/05.jpg new file mode 100644 index 0000000000000000000000000000000000000000..215f67e9d0f8287bfcaae67d8871dee4d027e106 GIT binary patch literal 35472 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

    wyiGFb{3JP&u3X)E%QQ7Ig28jm5|P=1XgWduz! z!7*hWoOScTFi?1M2~jtlbAb9f(LQqE0hH2on|r**ih*SpFLK1@9#Y0Ao}NRJm1)$9 zt zeo+H*V)+Fjh{4Y_dN)qJYvWf?<&+yFr(br~vGamEv1`>})k&YJ-tLnobAA8Sg1gu$ z%u}ajRs+@3eKs6+;kn|-$RfMBd1Sahp&SFe0N~!MVRQ@34W8hQaE1C^2_e?P{{*GqgSL=I2W%lB{{`1z-$k8fLG%7h>E2N zg`d!yYM8-*^k&mYiFj`EFv52ie$K*C0buls|M8OHMbI9iS*5dC+!Ei8w zq$FX1XhQH{crf;wi4JP=1L*k!=(1}?*RxA<7=^h9g*gRm6bv?^6vtpuA`=Y_kbVyf z$fF6t(4t8NNIifAe59nL6t1(5ZP{L7ixWHpq%j_0J=ho&lCfmEk|`7_U}P#BTF02=}9j}T^(07SBE0PzeaNVyvE%-wI8uLE_v zXFJQ_ilkVU{t?nG{$$i&M9QNc(NI`;5)xrV08Et+y!9}T-9$fthSw@Mg26>S{s5>C z00oAEpM)`3p0J2wPlzW2H(w~{OGDdWCnoZx6W8S79-UWxbRF;~mQ4IF4io;-Ml@0w zL=sZ$M`ggjVttsc2T;2zHr*43IhOp%NL%==&IDkhKfl@Z*J|e;_=fp=ud6U6*Vnf-%)IT2;V%T0r;-_b4tI zOAf?A2!lcvgP88I=EnLkRUGWY^wJ{v9o##@{`Po)XaHg?vt*3W`v8_ua6dOVwkr??76=;3qn<=KT-l z#xKrGO>`1eeT2PM)whG>YFDC){c)zqo^-zeIui^;uZtW5v7f?NoQ2u27d-;ej2)R{EhN1lh+l;a2pRwcm$?m1Rv1lqMclo{ueR>px ze(;5Bm?K8pN6OxInLndeV6PG^+zs91g;Z60ybVYZCW+zW-( zo;w**Y`Dt>f7Fql`)VemN#6GLTtaBZYCoDZ!kaY0fhCF@ER6O=7z{>y7s!lADEr$} z^Ap~NU;=Dpzw~z{DtOPTBBWyrZO8l%_i*UiAV)<1*u_v-)+y^ft3+BAkII9)oHER` zRjf7cx!E9_mF$df2+(COlfyUG>7jBRh`Sb5-+c7YVFt;fN)o@#aD`Bt({CDn@<6^k zBt)@hX+=|P=;tOcS`#V6o{{DI{24vDeKfPoKGSzJywa!|cH#pG=9^kH<*^{TbOanc z?Fgp(W7Cwm@xq4kU9dO2K(s0eT`1fUNcC)5xhr8Zci+os0>KI|H>hgS z!qXT0zsQ*e=u5}YesX)UXJ%e9b-WpF|Aj4|QRs8aJDy?=5M=GuGnOy?+z}8&VIq*B zAt|CehEl?0RcM*G@B3@q?M>z03K>G7@tvSBIf0Wup!{0vmaa7;Z^cH$!irwHx=>AL zc6bcynX_Df9eO*s=rhE~g??^bt<_g({*dPguT~y8Vvj5hUiM z@#ytSL36@Cs*~v)8Iw#BY+-AIG_7ISLTx2HBG|}7Jo?RZU%SZwzmDN+xp1Z$Nqfx{ zul$1u>5HTd6IDsP+|fG@+%fVw7*Y;aEY^g2_#*EC-n~`egB@xDdH;vC1|I; zGn#F;x7#^#I$`J-!84~ER$d+9&+sfu%60ed*HS&UL0E)_?~27= z6`{9{$E_X1hjkHS{u=a5UKq>`CO zj0Ts=K;|t=wM@iSoz34>v=C0<59Y`qSk|RV3jwb|2vC;61F&F} z$8;4Yf<^QXklYq(#LQrguZR9I|4F6T^3lx(s~c`U-)v1KW}2Kw-n>A4Jbw-8qQPok zd0P9GdDu53yF?tDocu*@xv11x&J^0=uz&!vEtu&T{uIfAWG!xt8io&Kq}E<6LPfZ1 zv25eUpKtxuY#1w*@er=bI?f0Dt`o4zp*ZjmLEAxz=C{R^P(wTKHRvI20h16j&mli_cFlo3nsb*E| zcTckyj&7cR5QuikXl73qQ}v;?c>Zb{a^pUz&e^qOrHP^6wLl7+H0BI8D?Km1B`CO! zz~`(9@AS||7q57(xQDTlp7L7K##+1^A|a4Au@s}F;1#1Po=vx$LhA4)%|J!^k|lKV z40wj94FcW(a)bp@1Qsor9HvW>XHN(=AtE(ZlLVybK}_WskJ_GOrAC+$WWUwSH~5Yu z;6k z*jV_rx8zQkbR8kJQ%OstoaOfPR&@p0=a_u!QOj-^MD`J$H28g)ajMulODquyxxfQL z#EZRVoPIHav2AvY&Y%gxR90`3`bj6526)V4T1nQ(XCJSH!IqtYGPn#_q!^QT6IXPp6Ph7i3uf|%@#~lv9BGU6}4=YP&M9b@YKFK_!L#-)@FKtCh2d2)y~#V zdfh$v&SZ=C3*O;Oed?igDjQ|eS>ygV5b# zmZ)dUMu@`H%!X^shFu??p%6SrPMfLn%Ng`mHf;;o;*r^I$+9Ji;Zdck7&=ctoR0r( zp6;nTb3vzEK4$Vh-2-4vX4KVk++M3T?hD6ZiBK}`i!csjPpNqwb?E019~POAZ=N25SP?WWcg&(${6&7xtGx34#O6#(%v5GaJD@(|sL?Lbg2|NQ9;Z==6ng zJjKy9T4!W_G#ISe^bb57haRvXr?1N%?H?>qyKAdqeoPz&hr6uo$q&#Tl`op(mjCU9zeT5OXULy z-{4l_0c7z28uV81e*ld&20eg&3SNJ@BEADYD1=+*dxm;Db`L-#Fz=&piSI=oK*ho% z31+Pt$%H#u_~Cj2J@mWYGY+4dmpHx3nmyUMX@}}#=GuQfKWFt)V@zL~>|xXFdM*LC z_k8pXaQpeP_W{)9_y9U8aJaJ7MH;ru)TYc#|I=8<#y6aE|B`LHN(q)L2U9{fH&sy) zVe6Id(NB++GS3(t+m@Rm!srszyC3)3iL@FIpl0$1P}&3N*5v^-w7qF?w*VY3`#pe2 zn;lOc)8GNLO?-EL|LN~TXpbT3d^y~|z4;$Q?Vl0%pKtnHjQU(mT~FA^tI954FIGL%({qNvrLhc4s-{Jz{{o>6PdBv!Y z%cu(&^dEx%KsF!cPdX8X`)}a@Umie_fX%}vj~D-Ql6XQr3ZAwBytlZK51_ezKtBLW zjvNMNkOxrya5pfe1g-nxpFEoO075@mYQqI)30$UuN0*+azvQ(xMuPyruG3EN18C|L z@E$*Tz1e-~Q5B#z88~I?@kKsCjXEX1OI$YPM8M}IVK$Dy-ehl z9e)35=e2H|9X{~b)u#KW3&Fjn4*c$0t{`m<>st*giLtzGDo73Q8@>FiUne3`IL)5W#1a8B$YaMfL78f~z73{P(I zdvya9fk@#l`YPpd%i_Yt?Y(OKhUyA3Cwg{BK4}nIwv1KD?i-O!>51vWx}v0UERoRc z)W&{$e+omQsx$J9gNuhjenY>78$>i;fr7KUy)}D$3gbw^Ip{i|q&5l-;7o>b+)8$= zLa-&M-8AUzhhGp#u@<6M8#T(R`9P&fL35a<0$UjN%sNN@=Z3nHsh$7 z&sET?XBugh{P&$PSIAM{6!5dBAG_gp3P?*k%RO{6LJ%Y3saD%`_+?8Lj9<_yOP45^mmYLK%a^(-6>z@xVN+0Ioalo^4(A7e8%wVI$ zit~F056nmQ)Pd1f$u{}&+;CM&Y1G`aNQ~a_yDE_or#s%s(veg9k32_h?fiwGK9Rmu z-k27YZJKpwap}CVRU)j{MTT-iBZ!PLGb53A^*xg(HdjY6!)@RU861m)B#H zKR?gxU07HeIUAO!%@_$%=o-yD*RguhVg0P{g)O_p5>s6*q`WyfBd>h1FnlQg@=#6B zq^(_yZ|`k*zhlYo&9mbR0utc=CShUWlePC|L=BI({KUqD2PZ8tlzh+!j1R?z=v;#g zUH*zP(*-XXCk5LpJKa*N9r*D0;!z8{hO9YT9xJ_doX&;@q`5N=ysFm5ml6z?pbzmC zSY`I~v!mOqW2h7Xb8-WW%zzH@H=$9eL0zW^W4Lzv3f8y?2L!bvpX*${uF+906Qdx} zg(SRKw!HBpE48J~)%nG4+bgO;-->NMXQiDa!-KJJ>KpLOiD{1nv=X_fpWs=u)ug}2 z!DYBbHNT?1{W1{Uy1jm=*0tis>@`Zzmb_5^tT=8 zm!);K4xeA7!t#Dt2TkWsE4I?#PVH~ri_SOoq&-3jZ1|w-tNiK`RwoT(0Ah|s$R|}Z zk^lA};u8`QR=q&00!}+qpbJNq`2(0ta=~Bxa>G| z7F45h8BSFq@+0~Z5zT!*zBR(Nsit+Aw*A5bTNxalU(8TG1H`T>n}w8;+y)JsgKclE zexDoGOZW`OT?LGbo_7SNi7D9+ng1|(~+A4F_ zehdHSjG9wG+t*Hg>4%D@{@DGH!WX+OA*ykWi_N2d{Gq12!+1|Qch1KxZ?p|apEk%Y zB@XO>&-<{Ixzk5JoYs31%(JT!g!x66F zzcIhdY*qp{aXTW$yut--t)tfxd|ie$W!C?euy7^b8W!38Paps^{TJ~4P0oYv>N0DF zG(Lv^b6qR#i&olNnHe$`zWeOF!o@VIx`Ow$#OnWq|4$hjz6bxxtXA;#SPOUJP$X}0 zvT@gI{uSx|rvgqIuC~__yv9&Mt+bdxoN`3CB|L&I>wlG*{kwpBr}>{gxZ?juvv!FX zJDdzNWQ4H7D%~tiOd#*SA{998aWemJ+5agZ@xKdD!ncO)IH@ehrct=6tN*Wp(A(Mn zS1_&^-@hv18#YH?pqpZ192DUrZj$i-6RuDS3Lgy`3q=7hJmqKI74T~C3sEkA0p80e z%I=kKJ}AHp0Mww9yttQ~FW-c4ZEh7D?Z90=<){UAKfHXU8GSHB`-0@deE}V9qL03<)^hRvvhSnqfHlHW|1?UXO)nc9U%8jW`l9lQzn1V3C z428P?$eR9ui@&W%g@pFsH|5flHO!sz2}4O#Je;*B*L%%EDIAo(rT;Z;?@`9SPtY`YY^*v$M(c`XQvUKP$d^(1kK=9RxJMO=}THLIrT5uAFC(SdG}U-rah?i zj!DGgg%_JhMb4XN%oe?C}jY_dmgU%6yy3ruXh!guP9nOjMAZ;%y9pz3kwV2-hcS+ ztf8a>p3g$+3By*I2Ct_+XRk$GQ+-ne03LNTC0u-4J!(pA#D^W_U_y63ym`|=$*`&! z2q;sXYwS+E1*VO;e+>^*3Fd!~_8Y2zQ|gO(J)udt)s_|f3G5mb6J*?W`V#Yej|%3c zp{k7UqB@Bq(c%9zk`_v}wie7YmHjC=RZ3n}b(fF@7EQ_NmNCI_e-JM~HQq9CHuXnA zsy{``W1<+ML514;4|MEBpd>#+R@UFtwI>ZII4be4%-LmWO4_}=hwrQ>e&L^6!rStG zhR=!O#6q5Zw&GM~IaOToQJi%3O#Jfi7Vh0q)=xGJVf%GE_mX&MefU3%;=M~3{0)iH zR#`0X9#z6?H z3Mt2z>)yf5$+ri9+#pB2y;;sHJdR*I9gcTj2PgTO@U3c4{A$s(5_g#|st*C+hA@n*MqRj1c3#qXvvFiVs z%xUhd6p2F+ct*H2!KS&N(l0c*FwQy;!tM_w8-9Ebh?3uMuer5beNG|&Lp+Nk(~}`} zDiXP-0z#x#CgBb9R)XFhxC?z7_h`~<5*z4{bUTQc%Iv(s^J+l zf?NkILN(=*RIZ86Z<>8DVJN)W@RQ$UC(X{L)~7T3d|-i_;fG1!9nGLu@X)OzAxcYC ze{A&r0*1CRAg&jer?e;7kR2)UxQY^1D_@ycs9T=a!zlvaS*{W$R|4^okzxO^pd>bY z`~92jltApW=0%%#sr%rPs?(1P(1qeWjJ5Ug`E@+M4|<(lu1yX|4KFl>wwQ)vf-LzD zk<=4s@QM=pS<5;u+18V6;>$|`q+oNDdw6afrywZ*CUR@M-`bQAYF*`9-Qrj5Em_ru z!n?Cs5_3l8KiIFTUW7wu^&9NRJAg8;a{q`qT7_vjB4Osk9!-2Re*s*tK`k@62Y&Cz zEB*p}IuwRb=mq&#c33s9&^xx~GYpCuftY$`V{I@4wlQEjNz@Ag)hHxw8SLBvZJ4ue zJN*7VnS7kkzvtje5e&4z<-!wfN)CI>czeOj`mWvp1 zHt)>|-;}xS)OYkD(|;}$h88XnNiT7+x7So%>B)Q2CrOT{*et)R z+oY%G3L;iHZ3DSGH{auOut9y^`=C;!+Z~r9RFrkTuCnCY&7Du=ENHGy8q?)lakDN2 zq4i(KcQ!?xKVB3H3h>Ct4skt~48C;np+Sl{3mq6h(DlTI94!8^XxqJuI1pB<1U-t^yXMLHmJ__Ij$Y3 z!B)75vlBT-R;Yr$ZZo<;)i)2lOkwqGekA$c+&M3UeDP+;UjPZyDY{-V;ry8B;`ZWW z?k-b4GHCLdl#0-%=_%nrdc!Fpasux+PAR6KE#V=@snhJSI;28bclpZdN9XhqjJ<4e z6AU(0r#=w4SAKDo3SGMyH*5$|*n_@0;cK$irghInjGn+oJ$sN+>TRL$j5<)#1)nce zvd}b_iLAsx;aS=4`REvWZ`S8~P-fRS43zTq3ZwOYY=i6E@O$|#K|`>XEKEW4aKLiR ztpoIK2P-BfWbLSC&r>6chO~yb%P6#fW=PYGlA zRvx<8r!8Er2yFCqyf)Pd$5E3KA|y0h=XQy4zPI39rLTM6^I4R06@00IO#BE@@@3* z9Nltv$>>VSh0V6ma8wr5`3Kjr^t-!FnOlXHqw_3zzZ}opKcTtHzMn?eq46G{HJDch zZ)~jC+LxQ{A;<$+A4GYh{Ht$94SoxjSEykl)H0mPAs;pC#dw)^GT_;Rjc&0D8JKeS zF!BpGk%ABC91Oh*J56AbYrRTyc_tm)xp;NsE{AY%NA>|1K_v$wxhDkkTRyq-m|G2| z^214+pzy)AoJ*Z@{?jN(RW2&^FW_a)&Pr0*%*;sp&AtzGtmhYc7!QM%w6H2u{q+ON z&FnU5CAnR;aK3Ua^9;JT`L7T5YS?%#$~;zEhgP2EAet`x!}-w9nRB(UoyW)5b|nG< zMb{ry3W$>ib^&v@w`u4&8(wsVynOt^HJ3W5%yk%6bi?r%U~#7R31qN(x{va~_@8C( zmQTu+Ap^niYz^l5P}TRKw{Riemh!9ZH$j;2br0ZKz%cAIA;&!Qu7t=sjJjqY+^Yf? z5uB_-S)UrVB4(mDkAa2VaE@n4^CWx@2<|nzP5)i{YTsAMk-K*~IpB>nhfH#3zhSHeBGw zQHCjiWq;rFSYW!U&H3>On$4frU#NxWKq(kA4qe)_KbC~co#bvd6{n=4+sjAB-}wkP zEPg(TSXPnPlfA+Wk1v57ZNxxdKt}owl{sx;y1EDfHpr|^qBxi-)Y(*q{@5md-+d7i zZhAbgn(_@jZkYy?X#7jB8>{_$~SU}ju)F)-C8H? zYwHQ7hhetf`?u-#69frYHxbgq_ZQD8%yU*UycR3X1Z2GLRI)BHk%vd&taBs5>4(yO zhMCBk3DVcEJbpSZ3X0y?H(z75y-&io!eDR_Mi4A>pb7RT_~C&yd-PNRSIB;vsmHM+ zi2pC(-uA>rTv+Y&Cx(%6*@`c>cPPEjf8_hU!Zy(<1TqTNUx2u=`E*D#NDm9hvXS5!LM*$!4`+Y!DO@xgW(dQG!ers*I+&jh&Q?pO`@OWUQ;ck+ zXKfZ`+k)+R!#8i-mu*5X7u@WH1~w zH2@YYvr5bn$HPUxT~GN6>d@w60Z-gtpmu}5x6VGss=XIQJCSurO{Z@M!{>a_lbcV2 z;ibMG@jB3we3Q^wruU`Pz&l&9kxAIv+|A}q)J9`Y2d{3b>ag z^{i1-F>ERU>RgVV@U=VyS#i*dg=Sy>2S=<;x+ckwhoAFV%N6W8h8re^*|+=!)b@zo z%5}6|q@AM{N}Q@1W({(Yw_fI_g8Msi>$tq?EEJ^Te1ho6Jiui0lIVB1EmT48_m(|+ z*4pP%jx+ak%O5j`@5z3MCfWyI2zI zEX*`+bmqLp#U9pS!tD@0L)hivvB2V_Q94u@G+$SOu6ZF3(qFX!?bR(RC`dkfxTx;w zJj~6SkqoH~Px1HT%`@`}D+)8rr4AOe zZRbXy#dF?(Yrgtf3Fzg^wA=akI%%8l+gZPZbP*u=kXJh^T4hH%yXWI(Ml#kx??*>= zTQcK7prKR$NMu7;?-qqt;O^Sc3TH=q{uy=*0s3?>`bGL8I=m``MBbk8&IZ!AxomKW z9w;Qm9?KrW8#f1oTyHA2x6i&CLvM}VFs^7=?1>q z|2HCuX>-0R3$}Y7EaK`>`Y0-yl7me=4wX{zqp7|m@Y-)Ocw(6E zb@s;!Y0RciERNeSD}518!#$0jb^Wu9P>2KbpK?468W!7`G|xvjotR_5_5&guR!}I9 z`U*-kQSRboTpxC1@3#`>8y$Ebgj?DFAjP2q_278z-elQR2Jtc~xuw8_+eIK=9i~?= z!zMZ!Sf)>*y>{gt!IKZS;9lU+)~!{&i9danlCbcG>v2LS#pd)>lD-+k@*zK_X^-C@tH=g+SQ`cnnyWqP zNP74|rQfR1WOmNOIC>sM;gw{?@XJSLMC|&UiH`5Kl?|oxKQr+Y3UB7T8_H?=k>{VE zVp;x><>D$awD#<-kKr6$7^ndj;mIm#q;)*ddOiYmq8ak?F$In%hV5GAEZ(7xzLf2H zKH8k0xiwK5uZ7xh9dmn5K{W%=>kOf|9jk+;EoOftRLXmEWh8{ePa!m@r|R}=RmRIJ7_2*%rl~O)}%tplSrdo?%cI;Q6<+V<9QPj zNN(SSdvFMsSSGs(Umby-_$OZ9g>-qq;XkwU6vZ$rIloXf^nPJMfiWUn&ENZHz7O(N z;5TO&R-0AR1ocsPJs>B@D1FAR!vm9g)J0&99`{~wu57(lomBL!*J7;N$J3hF((lvF zPV|fX!BO%mi{@T-=8AUBfJTo-Cxw{4f1)QJiD`p!m426cWWT#bKk?ps`DuZte z8p8f@!?9juM-zSDmLPeTy~Mo(A?A7)Bp1xTQVBf>C>H_FHH6Q!R4HNyt$5H){SW`- z=-lc^fJ7dumla+ZJMyX7zC8TH*c=MCC%KC|q}SWSD_^ z@2&?5OS?`V{}SdmYq*9$gdg4gbVVPK)lH2*`?+i*zc5CD_0JrK8!3q&=b|OKGo=rI zN52Y_ZO?0mg50-CU4n9bRd>{_tH;zAf|dUQfBX&OICN_6u&9-sY>Urz)doQ|XH~ z=2tW)7ortphSI&AHGOq zFB>T_t1$$*iYul2h3A&l4Q66(Dj4Dm!Wn0RJr&GLPuUi1U^AzMf_1Yl8v>vzSm%Ispx{2lMLLQmiB zfmQZq*}hZ&&V};~C`l&4q<;a%@yZr_?;%L47NUvRpzcDYm?yeleHrUM zbGu_$EV)>9;*H8~YzfW|Y%Hua1B_(#(mu<17!LbK^OkV{uJn5~V%tRV6JFaO$I{Nw ze%_+A@flvt!ar3$9n84^l;=OyMY$M6d$&s~@RTMYrJ&A1gQDsV2HM&Uu+~AcIX>^W8f^0l6Ot zQ)ourX>18ZT+Jj$uSvr1HcL)=U5>0y`cIORGqRt^?ym2Ln>ZWW7Uv7zRKvK9uSv&- zwEPqW&A(x#840zKToH^#yx;!_Zd(-nXO4i``0R=B>Cf$vi^gzTD&hs_Ka{2NjWD?R z3*fJ4F!?l!8id;0Hn}M(m%TAkv0%@Bw+IW)k;7rkfqy=AQ#VTPKYvKFM%fY*v0X*n zS3*`QL=&YM9Z}c4x1AUz9`#%4Tz@PW_|WAMG5x8D*6#o|0sR24$f$_xNi9=63GV+| z$y|+4+m;3V>KEEC8@jIWApPd7BhMq(Dpi-?qrHF5c}%0j^uF#X=gDeTL23eE2S0)x zXX#3F%LpK~*#<*m_vM&wP}X>^3`yS-g}d5ZX%u!-yWz94@&YnbEKXR+1H zAER=?!?;$F&yA}Mt**e0p3U3WYE4^SnOFq_KZDTl&>xHC33|ukGTpMVfiY!9`s-!6@A_bOW#{nkZDoT#E&i5r5%*sY%{}}iMTGaL#tn}QZ zeWKERHxXi{NPLguXByyBJVyDve=2`podffdnmc?&Wie#0Iwfh?&fMnF+g^$J5@oZjc=v-}y zBr(SzCqUQMdEUDGTfU#G-f}R2;l7@exx1A4K<@8*bZxrieC7(D>3AOfdZMHc_P+l} z*D( zN7AFVUUnFy^Nu=X)OMWfJmd=lx=wPFME@K&rFV5XL0F=fW$eX%F7R2E3woN>`VF^v zN4hVZb)Kv%0B@y2lVYGi22~)!hN(%={9@6|_rfd>rylj|p`v%AMko4}8q54WBC|+}ogoY^1GB_HhHH?jt-8PUd|EZ`m|*-sJrL@oGBQ`S^*y z`DTz>WUK#fm5>6c`O?aN(qLw6JhyrO{Da9#{hOJM?1GD{+k_D47db~l@0}dKcE9VX z0)bkD^^~ed(DuY3lVzppx|}r$yvF9qIpf?ZbRYndf2RiZ6u@kt1$-e4;SXO04wSE~ z%lTby#GUTb7h8w=rcb!;gDWh(nP?E}#nCeZ8GixE=1iMmK}$hF<69vsPb%(A&y9Q? zfYw{p9^TeKjI-hAA@8c-of(90)nx1dG=8W=G^vdv_Y3UkhZW=P5)+~{SV7pbXpEfh z=aP^Fu|H!SVGx07@daxZeqzv1in#22K_RF(5!oz(cO1*N5i8TuKeJmtWhN#wz!@X| zAcPNBPRk*6diY9aJYu6#v!fY-X!KdS*$lrKwv}bmJseROHGu6ki~vp71T-OBHQ6BmW`FcsLi^)u9#EkS$_e<_G!$ATa143 zT{)M64<6jH6=2&p8iLz5#+wh*y%(2|>sG1en;?bU((N}_w{cZBech*DBh__ z2b389b~Fa`=nM5o1&Sj~QL4*7EFZCQNl@3Jt=s{8#*TFUlX}R*!-KpiwiylCYF?(A9`aC9T&ISxf?YH<-1^%cZa-N6m#2a=rtS(7G_0WC7zP)U z30^u&pSr|MK0DxEv97jyrYSS<`*P}7ZfGnE+5Y~{k&{k2 zd;Tqw39PpN$w&4D;ufUS6Mlr8{H9bI>cF%eN*2g`?CHtJ*6YjQe}?0~TgE-)KnB8L zZgX(Yr6!yB9%MyH$bPVPz+ITqi*u~+>;b^HA8 z;Z|^n0blzHZnVRCs&2G#+)efxL6CGbw|q&pv)~eRJnTo)u+<`@rpf%2dtv<$CD8&J zNeJvOcl~sU#_ZF;sWxros9c7VFEU@A!z-NyPd65&`ccU2CZSK`1~-R~p{%&&b~wls z-F_I(nTYDp4)N-irVnSqEkmj)_+rV!^3ex=`uz0fn*-|sJcqaGj^|Bnu4%m8%|BxEpWZs?|V&Pd5{r1 z-|5DDT6pl}^NwfUV7Xwm(w&kPH0er3Q8=#m&BJ{6g_dqwM!>0X8_&@nqR&oObXnR^ z&w;I1*}C6x>lLrHr0d3s<*~-%j=7e-5{ScFJj6PKGaQIwN9O1=HdKWPTiu*SY_)EY z=7!$co^@PfbX(6a`L3q6n9Rdc1}{@*@9eW~YuijK{{lE%J%@Ir8?cFCSoAty=ANJT zZp|9=#?0NYY=_^;r|S?UiEyXv|BT9SzP#XIx`S~nz?-F?keZC!xNlxc`={?5a_6ip z*Y3ranTN_(toy>^OAm$aJdZR|1e|=*?%+NhxUJx@mGuyeFD<4R2?tXrRGob8xY?JG zx1K!gx0zq&gK9QCe~vk(Z5xr|tCUfGo(+QxlmK1D%PZ=Nse$J;(jdc1OLU-MVi;s7 zW%CZfF4dO{osxkq-iUE!qx4p!wfv@*iHm=`SdaV?c`7BB2mz-Y-)2D(y8&V3Z#ohiqClLm@GL!3 zo@^AjX2CmTc)u-d6YDt|z~5FW=VFRDaBaOD!8q#m%K2kPp7NT2;ci8bzMNu$#>R?} z1+HQC&!97XP3@&f`Hlj3iv#fb;*-0=A34>kX0&-H65c#kbbDB_IK6l+sQ~-cz_34~ zXo1+c%r1H5yd9>eF^w^{QD{BQlo7I^@ocJb=i;0?y>qQHXzP%bI@OE}Eg|s4 zx{sF4&$y7>)R97gK&C0IG*O22wo|QwhTX@;ZqVBve6sQ%tc@HWJ z-nH@sK^k4pZ$I8h<$O zSl#7kAqPe;@4|v|G>UT?#Ni5Y6y{yqxY=az2m+Ek#4~{nM+qI?66A)-`+ody-xymh zy?LmAfT$c)P{`ercEm;oEY=GwB7{aMc6RQD_p=L6;VmfNRMdeH#M~xf)+hzqg1*4^ z23%r+*1tpgPN8MTskj|T8-{_TSsRh9??Ib#uQJ+^h!gX>C;L2g;bQPGw#JdI{~FGR zz4qZJ9)8E9{spJt8p$lQ^I)s*r3Clw&8J{Yr#NbAN(y9hC^#_^F7HU3rWF=|yBmXU zZHjtrMoZYuSAy4HTi-HVkAI)HoYfy~`ED7uN%Q1-7I-$jYFfjOn5x*!3{w;bS>QT&H33%gHVCVqERu4aHqbhti`?02WQTy`6msZaUz~{eGq$fDP$hi1EdKUv3}zeSw9H6R&t?MWQbhPpunn zqEJvXA-!1@1R68`)GheDr9|M_K!wcWDYk32^-i`S>Ngy8LK=*$bQB0HUk;MKOx>-$ zPG1j_!}0LzL2^s0Uct*eblOj@mvO&nOov=R|Ady*+$IIA9DTXI!S?yfZj4s~nKC41;J(~7c-X%kdNPh+KG^LK~qqHGC8 zn6J$IF$Q8~Q>Yh=>GeP)!Cp~wLF4N|VZK@E;YC=u{D(I7m1R&-U%?$mM+bUy*fa=* z5zYMP-tc4T4)NB(|mmgv%kd|!-kcE6`b9AZt!@_+Y5|;cc$J$*(|AqcL^YD=WfbiSzwKj9!Y0UY0ewO*-{A9ry!&-HhIW}bqnbKt~ zzH1$`erpxRnqQTLMnAOCbcGk!9jsWvglAo$Rm_zQ7~S8@fy}L*h2j|T*sL3LWd7OI zq{sG2&dpWC&b2cWQ<%hARvQkgzz9jL7ekn?2RBWf zz6dz{E$(@B-eY>L>*;^$507uNv3j3r72NT*_%0Jy$m77dm_gU?EURJaXQu4u8TiIz z@Y$l(S*|0rVhVkm1ck0kdloO;=q|US#SdXA+bcFN^O02!-?8G0=4EK-N@V#Iu`X8P z|6mw!=hZ1tLaL?G8SD(ZEn`MEwNmYJ=(W>vA9{FFYt8w={1BaDv)A+^={nWp_PnoY zM}%Sa-n_v4)NjY_0uYfeoXytK+Rb3WhHgl4in-xfaqCF>aGIz{EpXg;7}$an#_?^- zXPMJi3bznH!fECx0OlW%^5w}sO;znir8d4BP9LU!DfF~6DBk-Kh4fnC(|BK<;@X1g zSu34Y#jPN_)OHWcSi>zJ$jg^z_M+)J#YQ~o;##)FjzW;sap17=C^*r8L%VxEh1W(z zGV^UAj>>>TDRZrgee`9rK&H;B7P)szcA2lNP&_UHb#wH1*qlEdr_<28T62aLKoW`b@7a|Gp=HrQqfd9mBsB|`4lg1nqWDAjUx>bnTYlGK@|6#V=8i6hE zM!JkdfwQL6x?W`-r<~3bX*`^DIv!goT;#$`1-4mTy$&g6X=G#)T|H(rv2~hFyv}0w z#w|Hg+Ta+SqHjY!n>fGLb@?C&MjleN6+vt>y{#ji_oMuN23r{o0@){o zi{w6$MlUNYGS?YLGI0nH7)P^lQygvTFwUE1!`;Vafrh$X44q!Ot7}z6fhMR(nK3UU zP@>aIj3ri(B1o~UnA8ki_#h$i+tFb9KJRL^iQT*Zfm!&wQ4tceOMzbSEpze0Z{7V`v!)kX?&f=_DdpSUBXY( z$mldgsXo|6r$o}(ZrKJhu|`LxFajA>?F#Lpqo!Fv-3iTL{B~j;BdL7azm0Y*a4(c1V>?hZtrv<{C=NkZ%67dLr?kxY zz^-Nu{8<(8)RCf+8(GuZ=2Npu%Qp%W`o&Ec^C?wHu{Ez7ToT9;;lfLx!5?d_55RN9 zAD-7u2sWbAu;}eurw%ov7P9Q)+V9#M^ z`CvGUqxMNqz1T}<(!I`iYvqBSt5(&*!ixmt)r&;JSp&poJCbk962Gio8R2ztes$0Z z)Yew!7ySgorJYxZCrD)4(g}ZN$Mt_NVd3|mIgh(0nF-9AC7o7Rv(_cR(Llo^25^iq zt{>Kn|4XKq?(EX69)D*`m*JYjR2<7!FZ-Xb!xdvc)hr#ux}^#+0e`iZ)(6{tY9@Qz zXdaGPa<4KYDW9Wu-!wi#wq=@ei7&uO*Z6ckBOn8f275ndqE`VtafIDt%}b4yT=;y%%l z&ZBy8>{oTusP@OW5Gnu`w5G3x=u|nVORSEi3B{vgTNNvKt7ndONSdATH=>gzdW9#Y zdl-6vycFa2`|pc`V`}@25sXDz5FCmPhg(}SEMk6OueR=h76&yP!TF2mIFw<{G`8+##b~szxsjEk70A0c`$MpNL zwbfM|ZC%~f`DwkQU_o3Y7lVx0*Uq~&T8ecSn*qm-+J8K-w=En?wKF`LB8#gtFDxI> zeX~R+(PLg{X&dOwS*I!5?-=tIXlEowI9jB0G;F|Ygp=_PedjCnFSgs`v=XkhtVe{3 zrQxbO1^3g8(~P!@;zFuKrixUdWn|3TiWZ}B<4Lli{^}MSumB>kY%cVGLo0Q3D{z^9 zbW^lQr@9u{Xe!3f>nv!*-Q9u{5yL+S=CyfLBi1REsn$$qGA2Ch%=cN)l7 zS(e?RT9)%z3uny;?&zy@+@YCTwy??h?6P$FVTd+lxaYaOP`nSMuvlL^b2Q$SkFxW{ zn=xBEGqiX@O=Rb1Sz=5s#_>aMBAKv6Z|@WlolD}qP|gfbh5rxqNEz4%q!kj`prI8c zq6HRu@!$Z65yV+tp{HXT_;dBKgx}_HuvTW4%Lv=9PE`UDmcVGDyw42LM61&R5lalw z5!Ghx10PHS+tm^YS8=FV$q!mjSxXLNKiL;5;A>Kis1^(e>gOW&k`gwuv{Ao$_&ReOy^-U3$ z0_j~kwBWQ0 zM99wj*K8=o;ei}VW zCn3|-PE1I)y8l0@@2FYB<36w;+w-{ezPRo(pA3QY|BDoDv?Rnb$qZ12Y*iM?vg07m6)FSG2wd4h-({@B2TTcVL2n4v$E@Z*hm;;T)6>?s@r+S(r+PsHkh5@;_$VV=@B$z|Q|6$@L>kWikl< zSy+#IF?8B?CD01=l{P&gdXiD&BHZ5By+J#|{=j}j7$*trv+F95KH_CAXhEma%aQ;l zdY~+ux5Ptq^z>6+SF^AO8Lr>t9jJNvcNx#}ldUh}b-g*JEm#7oC3wd)HwbR_3nUoe zK71Ob9RaVmKTg-yAs}RRl2u7%B%=63A3&TT0az9B{byvS2f48AK2e5)QkPOO8AGNr zxzd8*go{Am5vjLYb2ERS8m>!}xrz$2D`)PA{@_zGeo*iDm2dGW$4G3Er}4x}^V-l9 ze~N)3-j(g`mpoM-{`5d%!eb)yd&;jHP^N>>Ap;Xr7w}R*qHpb38=QrOgMT12v zXh*UrY%A&ODyb^1NcB5&Mh)7^hu?<}6*gK@dQz3W6=PXy?WKD`j2G+mrc|j5XsHxU z>_)`UW9Cfun3c#mvcint;kPh}poqvwLYo#rnS zu$zchE_)HBKaYA0Fj23t;1hSxx|NU452|k+Z>ZQD7%EtfbDS?oN`bh!qvf_-|JbgX zAh(b|>=uef`d7Q!H5~EUX$c}`3B*5`Q5lgqsFA6Pu}5124&#d-Nb)nTcXfH03C;t|yQ_bVy1krq-R21th!yJwhNXKH!a+ts7MAckSI*+&-SE~>;n|z1>d??PVGr9jU z-!4wi_|tQig2!7H4UJX9CQFhg$_(P>?CiEg>ts<5vcmNewD(5DM0EPC@fmo>ai`C8 z9(ws{{5a*@UvViQ^{?l&Ez1@wy(ixdfCl*aM!fFUe6a7QNUoe-s5uy+%nUi_WuWi9s5vu@U3NK_QBv;qALjh9L$fsWFFXt`fw#Y|q zPfPsHAStsDLe}XcE|u4ySxP%Y6#pEcWHCLWlKhd+5iVF|VL|(|{H>_jm;|}hoSJ%u zt~bNFL~Na^2tyBE6`5bpYn)Y*(pMiF`MI95=URpPIlen?Pg}8IAC5VoD<%7!qa6LK zVSP}qA{yoR=ar6O-ON*y8B+;cTB1*?A)N18Lf0q7sYVeZ8p)b3UZ}fkDAzjsrJ>E$ zJ0+tg8{eu|mQOCEUnyItCqEijV^*(TnLlS3GPSUx37#drb!w34wsv$E*6P3!)KA(} zP|6idpEN*U{-i%=Xf3Z4tnF}-Q%)t-vNHeidS=Ii>Elc0h|L|c3xAz)ZHBQNTU4{8 zp+}lBUqpN2g0A^k*XvVzCsGS5yim%i&KYuVhOxCm@m|;aKN(ihOkOjQQv}6iew|&> zRXjA)hU1yUbxXD#&qw_1H{bulZ;_%bec%u&+ay^X@|?f_b2kT>P5)vWPkaL zuxUM*bWzf2FT)Es>&b9dn-F-CXJP+Xit6j5@^^$4s`TWl6~X3h@UMUWojds}%0n`$K@^*wu0qL!Kt4!b9_rrYWhc|av;0KRd+ z4-P-(PAXTfXo=R>-pzq&WC>F^5+GMr-rdxv-L7#+stSor)?#)uTZ!J)x5WgsWJEj( zVqy{;cH~^nSD9JcOJb?<%>bD3I}ZWJZ=Gp|Y-~O*{{hW>bJfCFWORl6Kb5H-{Sq#ZeEid;(ziqB zdc8LCD@)$NuN_azUx$2(R%Im6#24bsb5 zk$E#>)keSy} zygysg{FFc4FZef-Mj-JdR5YDe$vHnOOWO(&bCPUQ-%B%KPt~D*+)VS>>=)QV%ns$7gOFh^!I!WpU;BBo$l8~#zIdP!t*bKg*tG3@q z^b3#AZlAVStnlM-(lw-!s}CZ*cu6DmJqZXjg~g+eSS!S1zuMa3-c$(8oZ|+2!H)`T z*{ttJ>AtZhxVLd{gXt}E_%ESR(N{9D@3Md0)*O>+$Yq4s98g=k*?ht%PUfb_I2nx& zr)qI9Kd{3aXZ4A4B1dnB=_=KI21UM>179a_w5Fk>Ym*lBp=@UZ5<$EL!t5170!H+n4zlg_20Sz9l z`{H;n-@M6)CB;1@a>(M(rKa(8`lhClug{$2jleco8#b2r{1F=h?j@&r>E;T)}C`W~`ar|L8yW$ErBb$iDH#NuzrMG2`iu ze|4SpSgU)E0PnG)83`w@iF&0J*C}zveYi(q3w#h6^O=Gr5+W*p5_sUI&~nJ zI-}>MVF6IbfQlz=!BFybmpVsLQITl2mX@%^BQ;9;-z1zFM)(gNf8=IV#*t1cDwbLh zDs~UjkdV++kan`DNU{L`sZ*f3C8A@;##Thf%hK=3Y?c;Pq_B2Z`z`)YFN;13poKGp zQK|C-F=Z6KF-t^bFN-T_HTNlZ&iOW~vdl_`}7vdJhln(W1_mPoPY3_mdBf&! literal 0 HcmV?d00001 diff --git a/modules/rhinoslider/js/easing.js b/modules/rhinoslider/js/easing.js new file mode 100644 index 00000000..a25f53fb --- /dev/null +++ b/modules/rhinoslider/js/easing.js @@ -0,0 +1,206 @@ +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +jQuery.easing['jswing'] = jQuery.easing['swing']; + +jQuery.extend( jQuery.easing, +{ + def: 'easeOutQuad', + swing: function (x, t, b, c, d) { + //alert(jQuery.easing.default); + return jQuery.easing[jQuery.easing.def](x, t, b, c, d); + }, + easeInQuad: function (x, t, b, c, d) { + return c*(t/=d)*t + b; + }, + easeOutQuad: function (x, t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }, + easeInOutQuad: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t + b; + return -c/2 * ((--t)*(t-2) - 1) + b; + }, + easeInCubic: function (x, t, b, c, d) { + return c*(t/=d)*t*t + b; + }, + easeOutCubic: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t + 1) + b; + }, + easeInOutCubic: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t + b; + return c/2*((t-=2)*t*t + 2) + b; + }, + easeInQuart: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t + b; + }, + easeOutQuart: function (x, t, b, c, d) { + return -c * ((t=t/d-1)*t*t*t - 1) + b; + }, + easeInOutQuart: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t + b; + return -c/2 * ((t-=2)*t*t*t - 2) + b; + }, + easeInQuint: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t*t + b; + }, + easeOutQuint: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t*t*t + 1) + b; + }, + easeInOutQuint: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; + return c/2*((t-=2)*t*t*t*t + 2) + b; + }, + easeInSine: function (x, t, b, c, d) { + return -c * Math.cos(t/d * (Math.PI/2)) + c + b; + }, + easeOutSine: function (x, t, b, c, d) { + return c * Math.sin(t/d * (Math.PI/2)) + b; + }, + easeInOutSine: function (x, t, b, c, d) { + return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; + }, + easeInExpo: function (x, t, b, c, d) { + return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; + }, + easeOutExpo: function (x, t, b, c, d) { + return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; + }, + + easeInOutExpo: function (x, t, b, c, d) { + if (t==0) return b; + if (t==d) return b+c; + if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; + return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; + }, + easeInCirc: function (x, t, b, c, d) { + return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; + }, + easeOutCirc: function (x, t, b, c, d) { + return c * Math.sqrt(1 - (t=t/d-1)*t) + b; + }, + easeInOutCirc: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; + return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + }, + easeInElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + }, + easeOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; + }, + easeInOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + }, + easeInBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*(t/=d)*t*((s+1)*t - s) + b; + }, + easeOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + }, + easeInOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + }, + easeInBounce: function (x, t, b, c, d) { + return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; + }, + easeOutBounce: function (x, t, b, c, d) { + if ((t/=d) < (1/2.75)) { + return c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + }, + easeInOutBounce: function (x, t, b, c, d) { + if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; + return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; + } +}); + +/* + * + * TERMS OF USE - EASING EQUATIONS + * + * Open source under the BSD License. + * + * Copyright © 2001 Robert Penner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ \ No newline at end of file diff --git a/modules/rhinoslider/js/mousewheel.js b/modules/rhinoslider/js/mousewheel.js new file mode 100644 index 00000000..fc07ba56 --- /dev/null +++ b/modules/rhinoslider/js/mousewheel.js @@ -0,0 +1,12 @@ +/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net) + * Licensed under the MIT License (LICENSE.txt). + * + * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. + * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. + * Thanks to: Seamus Leahy for adding deltaX and deltaY + * + * Version: 3.0.6 + * + * Requires: 1.2.2+ + */ +(function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=!0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,c.axis!==undefined&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),c.wheelDeltaY!==undefined&&(h=c.wheelDeltaY/120),c.wheelDeltaX!==undefined&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); diff --git a/modules/rhinoslider/js/rhinoslider-1.05.js b/modules/rhinoslider/js/rhinoslider-1.05.js new file mode 100644 index 00000000..955b4e57 --- /dev/null +++ b/modules/rhinoslider/js/rhinoslider-1.05.js @@ -0,0 +1,871 @@ +/** + * Rhinoslider 1.05 + * http://rhinoslider.com/ + * + * Copyright 2014: Sebastian Pontow, Rene Maas (http://renemaas.de/) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://rhinoslider.com/license/ + */ +(function ($, window, undefined) { + + $.extend($.easing, { + def: 'out', + out: function (none, currentTime, startValue, endValue, totalTime) { + return -endValue * (currentTime /= totalTime) * (currentTime - 2) + startValue; + }, + kick: function (none, currentTime, startValue, endValue, totalTime) { + if ((currentTime /= totalTime / 2) < 1) { + return endValue / 2 * Math.pow(2, 10 * (currentTime - 1)) + startValue; + } + return endValue / 2 * (-Math.pow(2, -10 * --currentTime) + 2) + startValue; + }, + shuffle: function (none, currentTime, startValue, endValue, totalTime) { + if ((currentTime /= totalTime / 2) < 1) { + return endValue / 2 * currentTime * currentTime * currentTime * currentTime * currentTime + startValue; + } + return endValue / 2 * ((currentTime -= 2) * currentTime * currentTime * currentTime * currentTime + 2) + startValue; + } + }); + + var rhinoSlider = function (element, opts) { + var + settings = $.extend({}, $.fn.rhinoslider.defaults, opts), + $slider = $(element), + effects = $.fn.rhinoslider.effects, + preparations = $.fn.rhinoslider.preparations, + //internal variables + vars = { + isPlaying: false, + intervalAutoPlay: false, + active: '', + next: '', + container: '', + items: '', + buttons: [], + prefix: 'rhino-', + playedArray: [], + playedCounter: 0, + original: element + }; + + settings.callBeforeInit(); + + var + setUpSettings = function (settings) { + settings.controlsPrevNext = String(settings.controlsPrevNext) == 'true' ? true : false; + settings.controlsKeyboard = String(settings.controlsKeyboard) == 'true' ? true : false; + settings.controlsMousewheel = String(settings.controlsMousewheel) == 'true' ? true : false; + settings.controlsPlayPause = String(settings.controlsPlayPause) == 'true' ? true : false; + settings.pauseOnHover = String(settings.pauseOnHover) == 'true' ? true : false; + settings.animateActive = String(settings.animateActive) == 'true' ? true : false; + settings.autoPlay = String(settings.autoPlay) == 'true' ? true : false; + settings.cycled = String(settings.cycled) == 'true' ? true : false; + settings.showTime = parseInt(settings.showTime, 10); + settings.effectTime = parseInt(settings.effectTime, 10); + settings.controlFadeTime = parseInt(settings.controlFadeTime, 10); + settings.captionsFadeTime = parseInt(settings.captionsFadeTime, 10); + tmpShiftValue = settings.shiftValue; + tmpParts = settings.parts; + settings.shiftValue = []; + settings.parts = []; + return settings; + }, + + //init function + init = function ($slider, settings, vars) { + settings = setUpSettings(settings); + + $slider.wrap('

    '); + vars.container = $slider.parent('.' + vars.prefix + 'container'); + vars.isPlaying = settings.autoPlay; + + //the string, which will contain the button-html-code + var buttons = ''; + + //add prev/next-buttons + if (settings.controlsPrevNext) { + vars.container.addClass(vars.prefix + 'controls-prev-next'); + buttons = '' + settings.prevText + '' + settings.nextText + ''; + vars.container.append(buttons); + + vars.buttons.prev = vars.container.find('.' + vars.prefix + 'prev'); + vars.buttons.next = vars.container.find('.' + vars.prefix + 'next'); + + //add functionality to the "prev"-button + vars.buttons.prev.click(function () { + prev($slider, settings); + + //stop autoplay, if set + if (settings.autoPlay) { + pause(); + } + }); + + //add functionality to the "next"-button + vars.buttons.next.click(function () { + next($slider, settings); + + //stop autoplay, if set + if (settings.autoPlay) { + pause(); + } + }); + } + + //add play/pause-button + if (settings.controlsPlayPause) { + vars.container.addClass(vars.prefix + 'controls-play-pause'); + buttons = settings.autoPlay ? '' + settings.pauseText + '' : '' + settings.playText + ''; + vars.container.append(buttons); + + vars.buttons.play = vars.container.find('.' + vars.prefix + 'toggle'); + + //add functionality + vars.buttons.play.click(function () { + //self-explaining + if (vars.isPlaying === false) { + play(); + } else { + pause(); + } + }); + } + + //style + vars.container.find('.' + vars.prefix + 'btn').css({ + position: 'absolute', + display: 'block', + cursor: 'pointer' + }); + + //hide/show controls on hover or never + if (settings.showControls !== 'always') { + var allControls = vars.container.find('.' + vars.prefix + 'btn'); + allControls.stop(true, true).fadeOut(0); + if (settings.showControls === 'hover') { + vars.container.mouseenter(function () { + allControls.stop(true, true).fadeIn(settings.controlFadeTime); + }).mouseleave(function () { + allControls.delay(200).fadeOut(settings.controlFadeTime); + }); + } + } + if(settings.showControls !== 'never'){ + vars.container.addClass(vars.prefix + 'show-controls'); + } + + + //get content-elements and set css-reset for positioning + vars.items = $slider.children(); + vars.items.addClass(vars.prefix + 'item'); + vars.items.first().addClass(vars.prefix + 'active'); + + //give sliderstyle to container + var sliderStyles = settings.styles.split(','), style; + $.each(sliderStyles, function(i, cssAttribute){ + style = $.trim(cssAttribute); + vars.container.css(style, $slider.css(style)); + $slider.css(style, ' '); + switch(style){ + case 'width': + case 'height': + $slider.css(style, '100%'); + break; + } + }); + if(vars.container.css('position') == 'static'){ + vars.container.css('position', 'relative'); + } + + $slider.css({ + top: 'auto', + left: 'auto', + position: 'relative' + }); + + //style items + vars.items.css({ + margin: 0, + width: $slider.css('width'), + height: $slider.css('height'), + position: 'absolute', + top: 0, + left: 0, + zIndex: 0, + opacity: 0, + overflow: 'hidden' + }); + + vars.items.each(function (i) { + $(this).attr('id', vars.prefix + 'item' + i); + }); + + //generate navigation + if (settings.showBullets !== 'never') { + vars.container.addClass(vars.prefix + 'show-bullets'); + var navi = '
      '; + vars.items.each(function (i) { + var $item = $(this); + var id = vars.prefix + 'item' + i; + navi = navi + '
    1. ' + parseInt(i + 1, 10) + '
    2. '; + }); + navi = navi + '
    '; + vars.container.append(navi); + + vars.navigation = vars.container.find('.' + vars.prefix + 'bullets'); + vars.buttons.bullets = vars.navigation.find('.' + vars.prefix + 'bullet'); + vars.buttons.bullets.first().addClass(vars.prefix + 'active-bullet ' + vars.prefix + 'first-bullet'); + vars.buttons.bullets.last().addClass(vars.prefix + 'last-bullet'); + vars.buttons.bullets.click(function () { + var itemID = $(this).attr('id').replace('-bullet', ''); + var $next = vars.container.find('#' + itemID); + var curID = parseInt(vars.navigation.find('.' + vars.prefix + 'active-bullet').attr('id').replace('-bullet', '').replace(vars.prefix + 'item', ''), 10); + var nextID = parseInt(itemID.replace(vars.prefix + 'item', ''), 10); + if (curID < nextID) { + next($slider, settings, $next); + } else if (curID > nextID) { + prev($slider, settings, $next); + } else { + return false; + } + + //stop autoplay, if set + if (settings.autoPlay) { + pause(); + } + }); + } + //hide/show bullets on hover or never + if (settings.showBullets === 'hover') { + vars.navigation.hide(); + vars.container.mouseenter(function () { + vars.navigation.stop(true, true).fadeIn(settings.controlFadeTime); + }).mouseleave(function () { + vars.navigation.delay(200).fadeOut(settings.controlFadeTime); + }); + } + + //add captions + if (settings.showCaptions !== 'never') { + vars.container.addClass(vars.prefix + 'show-captions'); + vars.items.each(function () { + var $item = $(this); + if ($item.children('.' + vars.prefix + 'caption').length == 0) { + if ($item.children('img').length > 0) { + var title = $.trim($item.children('img:first').attr('title')); + if(undefined != title || '' == title){ + $item.append('
    ' + title + '
    '); + $item.children('.' + vars.prefix + 'caption:empty').remove(); + } + } + } + }); + + if (settings.showCaptions === 'hover') { + $('.' + vars.prefix + 'caption').hide(); + vars.container.mouseenter(function () { + vars.active.find('.' + vars.prefix + 'caption').stop(true, true).fadeTo(settings.captionFadeTime, settings.captionsOpacity); + }).mouseleave(function () { + vars.active.find('.' + vars.prefix + 'caption').delay(200).fadeOut(settings.captionFadeTime); + }); + } else if (settings.showCaptions === 'always') { + $('.' + vars.prefix + 'caption').fadeTo(0, settings.captionsOpacity); + } + } + //remove titles + vars.items.each(function () { + $(this).children('img').removeAttr('title'); + }); + + + //start autoplay if set + if (settings.autoPlay) { + vars.intervalAutoPlay = setInterval(function () { + next($slider, settings); + }, settings.showTime); + } else { + vars.intervalAutoPlay = false; + } + //if pause on hover + if (settings.pauseOnHover) { + vars.container.addClass(vars.prefix + 'pause-on-hover'); + //play/pause function cannot be used for they trigger the isPlaying variable + $slider.mouseenter(function () { + if (vars.isPlaying) { + clearInterval(vars.intervalAutoPlay); + if (settings.controlsPlayPause) { + vars.buttons.play.text(settings.playText).removeClass(vars.prefix + 'pause').addClass(vars.prefix + 'play'); + } + } + }).mouseleave(function () { + if (vars.isPlaying) { + vars.intervalAutoPlay = setInterval(function () { + next($slider, settings); + }, settings.showTime); + + if (settings.controlsPlayPause) { + vars.buttons.play.text(settings.pauseText).removeClass(vars.prefix + 'play').addClass(vars.prefix + 'pause'); + } + } + }); + } + + //catch keyup event and trigger functions if the right key is pressed + if (settings.controlsKeyboard) { + vars.container.addClass(vars.prefix + 'controls-keyboard'); + $(document).keyup(function (e) { + switch (e.keyCode) { + case 37: + pause(); + prev($slider, settings); + break; + case 39: + pause(); + next($slider, settings); + break; + case 80: + //self-explaining + if (vars.isPlaying === false) { + play(); + } else { + pause(); + } + break; + } + }); + } + + //catch mousewheel event and trigger prev or next + if (settings.controlsMousewheel) { + vars.container.addClass(vars.prefix + 'controls-mousewheel'); + if (!$.isFunction($.fn.mousewheel)) { + alert('$.fn.mousewheel is not a function. Please check that you have the mousewheel-plugin installed properly.'); + } else { + $slider.mousewheel(function (e, delta) { + e.preventDefault(); + if(vars.container.hasClass('inProgress')){ + return false; + } + var dir = delta > 0 ? 'up' : 'down'; + if (dir === 'up') { + pause(); + prev($slider, settings); + } else { + pause(); + next($slider, settings); + } + }); + } + } + + vars.active = $slider.find('.' + vars.prefix + 'active'); + vars.active.css({ + zIndex: 1, + opacity: 1 + }); + + //check if slider is non-cycled + if(!settings.cycled) { + vars.items.each(function() { + var $item = $(this); + if($item.is(':first-child')) { + $item.addClass(vars.prefix + 'firstItem'); + } + if($item.is(':last-child')) { + $item.addClass(vars.prefix + 'lastItem'); + } + }); + + if(vars.active.is(':first-child') && settings.controlsPrevNext){ + vars.buttons.prev.addClass('disabled'); + } + if(vars.active.is(':last-child')){ + if(settings.controlsPrevNext){ + vars.buttons.next.addClass('disabled'); + pause(); + } + if(settings.autoPlay){ + vars.buttons.play.addClass('disabled'); + } + } + } + + if(preparations[settings.effect] == undefined){ + console.log('Effect for ' + settings.effect + ' not found.'); + }else{ + preparations[settings.effect]($slider, settings, vars); + } + + //return the init-data to the slide for further use + $slider.data('slider:vars', vars); + + settings.callBackInit(); + }, + + //check if item element is first-child + isFirst = function($item) { + return $item.is(':first-child'); + }, + + //check if item element is last-child + isLast = function($item) { + return $item.is(':last-child'); + }, + + //pause the autoplay and change the bg-image of the button to "play" + pause = function () { + var vars = $slider.data('slider:vars'); + clearInterval(vars.intervalAutoPlay); + vars.isPlaying = false; + if (settings.controlsPlayPause) { + vars.buttons.play.text(settings.playText).removeClass(vars.prefix + 'pause').addClass(vars.prefix + 'play'); + } + + settings.callBackPause(); + }, + + //start/resume the autoplay and change the bg-image of the button to "pause" + play = function () { + var vars = $slider.data('slider:vars'); + vars.intervalAutoPlay = setInterval(function () { + next($slider, settings); + }, settings.showTime); + vars.isPlaying = true; + if (settings.controlsPlayPause) { + vars.buttons.play.text(settings.pauseText).removeClass(vars.prefix + 'play').addClass(vars.prefix + 'pause'); + } + + settings.callBackPlay(); + }, + + prev = function ($slider, settings, $next) { + var vars = $slider.data('slider:vars'); + if(!settings.cycled && isFirst(vars.active)){ + return false; + } + + settings.callBeforePrev(); + + //if some effect is already running, don't stack up another one + if (vars.container.hasClass('inProgress')) { + return false; + } + vars.container.addClass('inProgress'); + + if (!$next) { + if (settings.randomOrder) { + var nextID = getRandom(vars); + vars.next = vars.container.find('#' + nextID); + } else { + vars.next = vars.items.first().hasClass(vars.prefix + 'active') ? vars.items.last() : vars.active.prev(); + } + } else { + vars.next = $next; + } + + if (vars.next.hasClass(vars.prefix + 'active')) { + return false; + } + + //hide captions + if (settings.showCaptions !== 'never') { + $('.' + vars.prefix + 'caption').stop(true, true).fadeOut(settings.captionsFadeTime); + } + + if (settings.showBullets !== 'never' && settings.changeBullets == 'before') { + vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); + vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); + } + + setTimeout(function() { + var params = []; + params.settings = settings; + params.animateActive = settings.animateActive; + params.direction = settings.slidePrevDirection; + + if(effects[settings.effect] == undefined){ + console.log('Preparations for ' + settings.effect + ' not found.'); + }else{ + effects[settings.effect]($slider, params, resetElements); + } + + setTimeout(function () { + if (settings.showBullets !== 'never' && settings.changeBullets == 'after') { + vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); + vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); + } + settings.callBackPrev(); + }, settings.effectTime); + }, settings.captionsFadeTime); + + if (settings.showBullets !== 'never' && settings.changeBullets == 'after') { + vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); + vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); + } + }, + + next = function ($slider, settings, $next) { + var vars = $slider.data('slider:vars'); + if(!settings.cycled && isLast(vars.active)){ + return false; + } + + settings.callBeforeNext(); + + //if some effect is already running, don't stack up another one + if (vars.container.hasClass('inProgress')) { + return false; + } + vars.container.addClass('inProgress'); + //check, if the active element is the last, so we can set the first element to be the "next"-element + if (!$next) { + if (settings.randomOrder) { + var nextID = getRandom(vars); + vars.next = vars.container.find('#' + nextID); + } else { + vars.next = vars.items.last().hasClass(vars.prefix + 'active') ? vars.items.first() : vars.active.next(); + } + } else { + vars.next = $next; + } + + if (vars.next.hasClass(vars.prefix + 'active')) { + return false; + } + + //hide captions + if (settings.showCaptions !== 'never') { + $('.' + vars.prefix + 'caption').stop(true, true).fadeOut(settings.captionsFadeTime); + } + + if (settings.showBullets !== 'never' && settings.changeBullets == 'before') { + vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); + vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); + } + + setTimeout(function() { + var params = []; + params.settings = settings; + params.animateActive = settings.animateActive; + params.direction = settings.slideNextDirection; + + //run effect + if(effects[settings.effect] == undefined){ + console.log('Preparations for ' + settings.effect + ' not found.'); + }else{ + effects[settings.effect]($slider, params, resetElements); + } + + setTimeout(function () { + if (settings.showBullets !== 'never' && settings.changeBullets == 'after') { + vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); + vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); + } + settings.callBackNext(); + }, settings.effectTime); + + }, settings.captionsFadeTime); + }, + + //get random itemID + getRandom = function (vars) { + var curID = vars.active.attr('id'); + var itemCount = vars.items.length; + var nextID = vars.prefix + 'item' + parseInt((Math.random() * itemCount), 10); + var nextKey = nextID.replace(vars.prefix + 'item', ''); + if (vars.playedCounter >= itemCount) { + vars.playedCounter = 0; + vars.playedArray = []; + } + if (curID == nextID || vars.playedArray[nextKey] === true) { + return getRandom(vars); + } else { + vars.playedArray[nextKey] = true; + vars.playedCounter++; + return nextID; + } + }, + + //function to reset elements and style after an effect + resetElements = function ($slider, settings) { + var vars = $slider.data('slider:vars'); + //set the active-element on the same z-index as the rest and reset css + vars.next + //add the active-class + .addClass(vars.prefix + 'active') + //and put it above the others + .css({ + zIndex: 1, + top: 0, + left: 0, + width: '100%', + height: '100%', + margin: 0, + opacity: 1 + }); + vars.active + .css({ + zIndex: 0, + top: 0, + left: 0, + margin: 0, + opacity: 0 + }) + //and remove its active class + .removeClass(vars.prefix + 'active'); + + settings.additionalResets(); + + //check if cycled is false and start or end is reached + if(!settings.cycled) { + if(settings.controlsPrevNext){ + if(isFirst(vars.next)) { + vars.buttons.prev.addClass('disabled'); + } else { + vars.buttons.prev.removeClass('disabled'); + } + if(isLast(vars.next)) { + vars.buttons.next.addClass('disabled'); + pause(); + } else { + vars.buttons.next.removeClass('disabled'); + } + } + if(settings.controlsPlayPause){ + if(isLast(vars.next)) { + vars.buttons.play.addClass('disabled'); + pause(); + } else { + vars.buttons.play.removeClass('disabled'); + } + } + } + + if (settings.showBullets !== 'never') { + + vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); + vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); + } + + //make the "next"-element the new active-element + vars.active = vars.next; + + //show captions + if (settings.showCaptions !== 'never') { + vars.active.find('.' + vars.prefix + 'caption').stop(true, true).fadeTo(settings.captionsFadeTime, settings.captionsOpacity); + } + + vars.container.removeClass('inProgress'); + }; + + this.pause = function () {pause();}; + this.play = function () {play();}; + this.prev = function ($next) {prev($slider, settings, $next);}; + this.next = function ($next) {next($slider, settings, $next);}; + this.uninit = function () { + pause(); + vars.container.before($(element).data('slider:original')); + $slider.data('slider:vars', null); + vars.container.remove(); + $(element).data('rhinoslider', null); + }; + + init($slider, settings, vars); + }; + + $.fn.rhinoslider = function (opts) { + return this.each(function () { + var element = $(this); + if (element.data('rhinoslider')) { + return element.data('rhinoslider'); + } + + element.data('slider:original', element.clone()); + var rhinoslider = new rhinoSlider(this, opts); + element.data('rhinoslider', rhinoslider); + }); + }; + + $.fn.rhinoslider.defaults = { + //which effect to blend content + effect: 'slide', + //easing for animations of the slides + easing: 'swing', + //linear or shuffled order for items + randomOrder: false, + //enable/disable mousewheel navigation + controlsMousewheel: true, + //enable/disable keyboard navigation + controlsKeyboard: true, + //show/hide prev/next-controls + controlsPrevNext: true, + //show/hide play/pause-controls + controlsPlayPause: true, + //pause on mouse-over + pauseOnHover: true, + //if the active content should be animated too - depending on effect slide + animateActive: true, + //start slideshow automatically on init + autoPlay: false, + //begin from start if end has reached + cycled: true, + //time, the content is visible before next content will be blend in - depends on autoPlay + showTime: 3000, + //time, the effect will last + effectTime: 1000, + //duration for fading controls + controlFadeTime: 650, + //duration for fading captions + captionsFadeTime: 250, + //opacity for captions + captionsOpacity: 0.7, + //delay for parts in "chewyBars" effect + partDelay: 100, + //width, the animation for moving the content needs, can be comma-seperated string (x,y) or int if both are the same + shiftValue: '150', + //amount of parts per line for shuffle effect + parts: '5,3', + //show image-title: hover, always, never + showCaptions: 'never', + //show navigation: hover, always, never + showBullets: 'hover', + //change bullets before or after the animation + changeBullets: 'after', + //show controls: hover, always, never + showControls: 'hover', + //the direction, the prev-button triggers - depending on effect slide + slidePrevDirection: 'toLeft', + //the direction, the next-button triggers - depending on effect slide + slideNextDirection: 'toRight', + //text for the prev-button + prevText: 'prev', + //text for the next-button + nextText: 'next', + //text for the play-button + playText: 'play', + //text for the pause-button + pauseText: 'pause', + //style which will be transfered to the containerelement + styles: 'position,top,right,bottom,left,margin-top,margin-right,margin-bottom,margin-left,width,height', + //callbacks + //the function, which is started bofore anything is done by this script + callBeforeInit: function () { + return false; + }, + //the function, which is started when the slider is ready (only once) + callBackInit: function () { + return false; + }, + //the function, which is started before the blending-effect + callBeforeNext: function () { + return false; + }, + //the function, which is started before the blending-effect + callBeforePrev: function () { + return false; + }, + //the function, which is started after the blending-effect + callBackNext: function () { + return false; + }, + //the function, which is started after the blending-effect + callBackPrev: function () { + return false; + }, + //the function, which is started if the autoplay intervall starts + callBackPlay: function () { + return false; + }, + //the function, which is started if the autoplay intervall ends + callBackPause: function () { + return false; + }, + //the function, which is started within resetElements + additionalResets: function () { + return false; + } + }; + + $.fn.rhinoslider.effects = { + //options: direction, animateActive, easing + slide: function ($slider, params, callback) { + var vars = $slider.data('slider:vars'); + var settings = params.settings; + var direction = params.direction; + var values = []; + values.width = vars.container.width(); + values.height = vars.container.height(); + //if showtime is 0, content is sliding permanently so linear is the way to go + values.easing = settings.showTime === 0 ? 'linear' : settings.easing; + values.nextEasing = settings.showTime === 0 ? 'linear' : settings.easing; + $slider.css('overflow', 'hidden'); + + //check, in which direction the content will be moved + switch (direction) { + case 'toTop': + values.top = -values.height; + values.left = 0; + values.nextTop = -values.top; + values.nextLeft = 0; + break; + case 'toBottom': + values.top = values.height; + values.left = 0; + values.nextTop = -values.top; + values.nextLeft = 0; + break; + case 'toRight': + values.top = 0; + values.left = values.width; + values.nextTop = 0; + values.nextLeft = -values.left; + break; + case 'toLeft': + values.top = 0; + values.left = -values.width; + values.nextTop = 0; + values.nextLeft = -values.left; + break; + } + + //put the "next"-element on top of the others and show/hide it, depending on the effect + vars.next.css({ + zIndex: 2, + opacity: 1 + }); + + //if animateActive is false, the active-element will not move + if (settings.animateActive) { + vars.active.css({ + top: 0, + left: 0 + }).animate({ + top: values.top, + left: values.left, + opacity: 1 + }, settings.effectTime, values.easing); + } + vars.next + //position "next"-element depending on the direction + .css({ + top: values.nextTop, + left: values.nextLeft + }).animate({ + top: 0, + left: 0, + opacity: 1 + }, settings.effectTime, values.nextEasing, function () { + //reset element-positions + callback($slider, settings); + }); + } + }; + + $.fn.rhinoslider.preparations = { + slide: function ($slider, settings, vars) { + vars.items.css('overflow', 'hidden'); + $slider.css('overflow', 'hidden'); + } + }; + +})(jQuery, window); \ No newline at end of file diff --git a/modules/rhinoslider/js/rhinoslider-1.05.min.js b/modules/rhinoslider/js/rhinoslider-1.05.min.js new file mode 100644 index 00000000..c50c21bd --- /dev/null +++ b/modules/rhinoslider/js/rhinoslider-1.05.min.js @@ -0,0 +1,61 @@ +/** + * Rhinoslider 1.05 + * http://rhinoslider.com/ + * + * Copyright 2014: Sebastian Pontow, Rene Maas (http://renemaas.de/) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://rhinoslider.com/license/ + */ + +(function($,window,undefined){$.extend($.easing,{def:'out',out:function(none,currentTime,startValue,endValue,totalTime){return-endValue*(currentTime/=totalTime)*(currentTime-2)+startValue;},kick:function(none,currentTime,startValue,endValue,totalTime){if((currentTime/=totalTime/2)<1){return endValue/2*Math.pow(2,10*(currentTime-1))+startValue;} +return endValue/2*(-Math.pow(2,-10*--currentTime)+2)+startValue;},shuffle:function(none,currentTime,startValue,endValue,totalTime){if((currentTime/=totalTime/2)<1){return endValue/2*currentTime*currentTime*currentTime*currentTime*currentTime+startValue;} +return endValue/2*((currentTime-=2)*currentTime*currentTime*currentTime*currentTime+2)+startValue;}});var rhinoSlider=function(element,opts){var +settings=$.extend({},$.fn.rhinoslider.defaults,opts),$slider=$(element),effects=$.fn.rhinoslider.effects,preparations=$.fn.rhinoslider.preparations,vars={isPlaying:false,intervalAutoPlay:false,active:'',next:'',container:'',items:'',buttons:[],prefix:'rhino-',playedArray:[],playedCounter:0,original:element};settings.callBeforeInit();var +setUpSettings=function(settings){settings.controlsPrevNext=String(settings.controlsPrevNext)=='true'?true:false;settings.controlsKeyboard=String(settings.controlsKeyboard)=='true'?true:false;settings.controlsMousewheel=String(settings.controlsMousewheel)=='true'?true:false;settings.controlsPlayPause=String(settings.controlsPlayPause)=='true'?true:false;settings.pauseOnHover=String(settings.pauseOnHover)=='true'?true:false;settings.animateActive=String(settings.animateActive)=='true'?true:false;settings.autoPlay=String(settings.autoPlay)=='true'?true:false;settings.cycled=String(settings.cycled)=='true'?true:false;settings.showTime=parseInt(settings.showTime,10);settings.effectTime=parseInt(settings.effectTime,10);settings.controlFadeTime=parseInt(settings.controlFadeTime,10);settings.captionsFadeTime=parseInt(settings.captionsFadeTime,10);tmpShiftValue=settings.shiftValue;tmpParts=settings.parts;settings.shiftValue=[];settings.parts=[];return settings;},init=function($slider,settings,vars){settings=setUpSettings(settings);$slider.wrap('
    ');vars.container=$slider.parent('.'+vars.prefix+'container');vars.isPlaying=settings.autoPlay;var buttons='';if(settings.controlsPrevNext){vars.container.addClass(vars.prefix+'controls-prev-next');buttons=''+settings.prevText+''+settings.nextText+'';vars.container.append(buttons);vars.buttons.prev=vars.container.find('.'+vars.prefix+'prev');vars.buttons.next=vars.container.find('.'+vars.prefix+'next');vars.buttons.prev.click(function(){prev($slider,settings);if(settings.autoPlay){pause();}});vars.buttons.next.click(function(){next($slider,settings);if(settings.autoPlay){pause();}});} +if(settings.controlsPlayPause){vars.container.addClass(vars.prefix+'controls-play-pause');buttons=settings.autoPlay?''+settings.pauseText+'':''+settings.playText+'';vars.container.append(buttons);vars.buttons.play=vars.container.find('.'+vars.prefix+'toggle');vars.buttons.play.click(function(){if(vars.isPlaying===false){play();}else{pause();}});} +vars.container.find('.'+vars.prefix+'btn').css({position:'absolute',display:'block',cursor:'pointer'});if(settings.showControls!=='always'){var allControls=vars.container.find('.'+vars.prefix+'btn');allControls.stop(true,true).fadeOut(0);if(settings.showControls==='hover'){vars.container.mouseenter(function(){allControls.stop(true,true).fadeIn(settings.controlFadeTime);}).mouseleave(function(){allControls.delay(200).fadeOut(settings.controlFadeTime);});}} +if(settings.showControls!=='never'){vars.container.addClass(vars.prefix+'show-controls');} +vars.items=$slider.children();vars.items.addClass(vars.prefix+'item');vars.items.first().addClass(vars.prefix+'active');var sliderStyles=settings.styles.split(','),style;$.each(sliderStyles,function(i,cssAttribute){style=$.trim(cssAttribute);vars.container.css(style,$slider.css(style));$slider.css(style,' ');switch(style){case'width':case'height':$slider.css(style,'100%');break;}});if(vars.container.css('position')=='static'){vars.container.css('position','relative');} +$slider.css({top:'auto',left:'auto',position:'relative'});vars.items.css({margin:0,width:$slider.css('width'),height:$slider.css('height'),position:'absolute',top:0,left:0,zIndex:0,opacity:0,overflow:'hidden'});vars.items.each(function(i){$(this).attr('id',vars.prefix+'item'+i);});if(settings.showBullets!=='never'){vars.container.addClass(vars.prefix+'show-bullets');var navi='
      ';vars.items.each(function(i){var $item=$(this);var id=vars.prefix+'item'+i;navi=navi+'
    1. '+parseInt(i+1,10)+'
    2. ';});navi=navi+'
    ';vars.container.append(navi);vars.navigation=vars.container.find('.'+vars.prefix+'bullets');vars.buttons.bullets=vars.navigation.find('.'+vars.prefix+'bullet');vars.buttons.bullets.first().addClass(vars.prefix+'active-bullet '+vars.prefix+'first-bullet');vars.buttons.bullets.last().addClass(vars.prefix+'last-bullet');vars.buttons.bullets.click(function(){var itemID=$(this).attr('id').replace('-bullet','');var $next=vars.container.find('#'+itemID);var curID=parseInt(vars.navigation.find('.'+vars.prefix+'active-bullet').attr('id').replace('-bullet','').replace(vars.prefix+'item',''),10);var nextID=parseInt(itemID.replace(vars.prefix+'item',''),10);if(curIDnextID){prev($slider,settings,$next);}else{return false;} +if(settings.autoPlay){pause();}});} +if(settings.showBullets==='hover'){vars.navigation.hide();vars.container.mouseenter(function(){vars.navigation.stop(true,true).fadeIn(settings.controlFadeTime);}).mouseleave(function(){vars.navigation.delay(200).fadeOut(settings.controlFadeTime);});} +if(settings.showCaptions!=='never'){vars.container.addClass(vars.prefix+'show-captions');vars.items.each(function(){var $item=$(this);if($item.children('.'+vars.prefix+'caption').length==0){if($item.children('img').length>0){var title=$.trim($item.children('img:first').attr('title'));if(undefined!=title||''==title){$item.append('
    '+title+'
    ');$item.children('.'+vars.prefix+'caption:empty').remove();}}}});if(settings.showCaptions==='hover'){$('.'+vars.prefix+'caption').hide();vars.container.mouseenter(function(){vars.active.find('.'+vars.prefix+'caption').stop(true,true).fadeTo(settings.captionFadeTime,settings.captionsOpacity);}).mouseleave(function(){vars.active.find('.'+vars.prefix+'caption').delay(200).fadeOut(settings.captionFadeTime);});}else if(settings.showCaptions==='always'){$('.'+vars.prefix+'caption').fadeTo(0,settings.captionsOpacity);}} +vars.items.each(function(){$(this).children('img').removeAttr('title');});if(settings.autoPlay){vars.intervalAutoPlay=setInterval(function(){next($slider,settings);},settings.showTime);}else{vars.intervalAutoPlay=false;} +if(settings.pauseOnHover){vars.container.addClass(vars.prefix+'pause-on-hover');$slider.mouseenter(function(){if(vars.isPlaying){clearInterval(vars.intervalAutoPlay);if(settings.controlsPlayPause){vars.buttons.play.text(settings.playText).removeClass(vars.prefix+'pause').addClass(vars.prefix+'play');}}}).mouseleave(function(){if(vars.isPlaying){vars.intervalAutoPlay=setInterval(function(){next($slider,settings);},settings.showTime);if(settings.controlsPlayPause){vars.buttons.play.text(settings.pauseText).removeClass(vars.prefix+'play').addClass(vars.prefix+'pause');}}});} +if(settings.controlsKeyboard){vars.container.addClass(vars.prefix+'controls-keyboard');$(document).keyup(function(e){switch(e.keyCode){case 37:pause();prev($slider,settings);break;case 39:pause();next($slider,settings);break;case 80:if(vars.isPlaying===false){play();}else{pause();} +break;}});} +if(settings.controlsMousewheel){vars.container.addClass(vars.prefix+'controls-mousewheel');if(!$.isFunction($.fn.mousewheel)){alert('$.fn.mousewheel is not a function. Please check that you have the mousewheel-plugin installed properly.');}else{$slider.mousewheel(function(e,delta){e.preventDefault();if(vars.container.hasClass('inProgress')){return false;} +var dir=delta>0?'up':'down';if(dir==='up'){pause();prev($slider,settings);}else{pause();next($slider,settings);}});}} +vars.active=$slider.find('.'+vars.prefix+'active');vars.active.css({zIndex:1,opacity:1});if(!settings.cycled){vars.items.each(function(){var $item=$(this);if($item.is(':first-child')){$item.addClass(vars.prefix+'firstItem');} +if($item.is(':last-child')){$item.addClass(vars.prefix+'lastItem');}});if(vars.active.is(':first-child')&&settings.controlsPrevNext){vars.buttons.prev.addClass('disabled');} +if(vars.active.is(':last-child')){if(settings.controlsPrevNext){vars.buttons.next.addClass('disabled');pause();} +if(settings.autoPlay){vars.buttons.play.addClass('disabled');}}} +if(preparations[settings.effect]==undefined){console.log('Effect for '+settings.effect+' not found.');}else{preparations[settings.effect]($slider,settings,vars);} +$slider.data('slider:vars',vars);settings.callBackInit();},isFirst=function($item){return $item.is(':first-child');},isLast=function($item){return $item.is(':last-child');},pause=function(){var vars=$slider.data('slider:vars');clearInterval(vars.intervalAutoPlay);vars.isPlaying=false;if(settings.controlsPlayPause){vars.buttons.play.text(settings.playText).removeClass(vars.prefix+'pause').addClass(vars.prefix+'play');} +settings.callBackPause();},play=function(){var vars=$slider.data('slider:vars');vars.intervalAutoPlay=setInterval(function(){next($slider,settings);},settings.showTime);vars.isPlaying=true;if(settings.controlsPlayPause){vars.buttons.play.text(settings.pauseText).removeClass(vars.prefix+'play').addClass(vars.prefix+'pause');} +settings.callBackPlay();},prev=function($slider,settings,$next){var vars=$slider.data('slider:vars');if(!settings.cycled&&isFirst(vars.active)){return false;} +settings.callBeforePrev();if(vars.container.hasClass('inProgress')){return false;} +vars.container.addClass('inProgress');if(!$next){if(settings.randomOrder){var nextID=getRandom(vars);vars.next=vars.container.find('#'+nextID);}else{vars.next=vars.items.first().hasClass(vars.prefix+'active')?vars.items.last():vars.active.prev();}}else{vars.next=$next;} +if(vars.next.hasClass(vars.prefix+'active')){return false;} +if(settings.showCaptions!=='never'){$('.'+vars.prefix+'caption').stop(true,true).fadeOut(settings.captionsFadeTime);} +if(settings.showBullets!=='never'&&settings.changeBullets=='before'){vars.navigation.find('.'+vars.prefix+'active-bullet').removeClass(vars.prefix+'active-bullet');vars.navigation.find('#'+vars.next.attr('id')+'-bullet').addClass(vars.prefix+'active-bullet');} +setTimeout(function(){var params=[];params.settings=settings;params.animateActive=settings.animateActive;params.direction=settings.slidePrevDirection;if(effects[settings.effect]==undefined){console.log('Preparations for '+settings.effect+' not found.');}else{effects[settings.effect]($slider,params,resetElements);} +setTimeout(function(){if(settings.showBullets!=='never'&&settings.changeBullets=='after'){vars.navigation.find('.'+vars.prefix+'active-bullet').removeClass(vars.prefix+'active-bullet');vars.navigation.find('#'+vars.next.attr('id')+'-bullet').addClass(vars.prefix+'active-bullet');} +settings.callBackPrev();},settings.effectTime);},settings.captionsFadeTime);if(settings.showBullets!=='never'&&settings.changeBullets=='after'){vars.navigation.find('.'+vars.prefix+'active-bullet').removeClass(vars.prefix+'active-bullet');vars.navigation.find('#'+vars.next.attr('id')+'-bullet').addClass(vars.prefix+'active-bullet');}},next=function($slider,settings,$next){var vars=$slider.data('slider:vars');if(!settings.cycled&&isLast(vars.active)){return false;} +settings.callBeforeNext();if(vars.container.hasClass('inProgress')){return false;} +vars.container.addClass('inProgress');if(!$next){if(settings.randomOrder){var nextID=getRandom(vars);vars.next=vars.container.find('#'+nextID);}else{vars.next=vars.items.last().hasClass(vars.prefix+'active')?vars.items.first():vars.active.next();}}else{vars.next=$next;} +if(vars.next.hasClass(vars.prefix+'active')){return false;} +if(settings.showCaptions!=='never'){$('.'+vars.prefix+'caption').stop(true,true).fadeOut(settings.captionsFadeTime);} +if(settings.showBullets!=='never'&&settings.changeBullets=='before'){vars.navigation.find('.'+vars.prefix+'active-bullet').removeClass(vars.prefix+'active-bullet');vars.navigation.find('#'+vars.next.attr('id')+'-bullet').addClass(vars.prefix+'active-bullet');} +setTimeout(function(){var params=[];params.settings=settings;params.animateActive=settings.animateActive;params.direction=settings.slideNextDirection;if(effects[settings.effect]==undefined){console.log('Preparations for '+settings.effect+' not found.');}else{effects[settings.effect]($slider,params,resetElements);} +setTimeout(function(){if(settings.showBullets!=='never'&&settings.changeBullets=='after'){vars.navigation.find('.'+vars.prefix+'active-bullet').removeClass(vars.prefix+'active-bullet');vars.navigation.find('#'+vars.next.attr('id')+'-bullet').addClass(vars.prefix+'active-bullet');} +settings.callBackNext();},settings.effectTime);},settings.captionsFadeTime);},getRandom=function(vars){var curID=vars.active.attr('id');var itemCount=vars.items.length;var nextID=vars.prefix+'item'+parseInt((Math.random()*itemCount),10);var nextKey=nextID.replace(vars.prefix+'item','');if(vars.playedCounter>=itemCount){vars.playedCounter=0;vars.playedArray=[];} +if(curID==nextID||vars.playedArray[nextKey]===true){return getRandom(vars);}else{vars.playedArray[nextKey]=true;vars.playedCounter++;return nextID;}},resetElements=function($slider,settings){var vars=$slider.data('slider:vars');vars.next.addClass(vars.prefix+'active').css({zIndex:1,top:0,left:0,width:'100%',height:'100%',margin:0,opacity:1});vars.active.css({zIndex:0,top:0,left:0,margin:0,opacity:0}).removeClass(vars.prefix+'active');settings.additionalResets();if(!settings.cycled){if(settings.controlsPrevNext){if(isFirst(vars.next)){vars.buttons.prev.addClass('disabled');}else{vars.buttons.prev.removeClass('disabled');} +if(isLast(vars.next)){vars.buttons.next.addClass('disabled');pause();}else{vars.buttons.next.removeClass('disabled');}} +if(settings.controlsPlayPause){if(isLast(vars.next)){vars.buttons.play.addClass('disabled');pause();}else{vars.buttons.play.removeClass('disabled');}}} +if(settings.showBullets!=='never'){vars.navigation.find('.'+vars.prefix+'active-bullet').removeClass(vars.prefix+'active-bullet');vars.navigation.find('#'+vars.next.attr('id')+'-bullet').addClass(vars.prefix+'active-bullet');} +vars.active=vars.next;if(settings.showCaptions!=='never'){vars.active.find('.'+vars.prefix+'caption').stop(true,true).fadeTo(settings.captionsFadeTime,settings.captionsOpacity);} +vars.container.removeClass('inProgress');};this.pause=function(){pause();};this.play=function(){play();};this.prev=function($next){prev($slider,settings,$next);};this.next=function($next){next($slider,settings,$next);};this.uninit=function(){pause();vars.container.before($(element).data('slider:original'));$slider.data('slider:vars',null);vars.container.remove();$(element).data('rhinoslider',null);};init($slider,settings,vars);};$.fn.rhinoslider=function(opts){return this.each(function(){var element=$(this);if(element.data('rhinoslider')){return element.data('rhinoslider');} +element.data('slider:original',element.clone());var rhinoslider=new rhinoSlider(this,opts);element.data('rhinoslider',rhinoslider);});};$.fn.rhinoslider.defaults={effect:'slide',easing:'swing',randomOrder:false,controlsMousewheel:true,controlsKeyboard:true,controlsPrevNext:true,controlsPlayPause:true,pauseOnHover:true,animateActive:true,autoPlay:false,cycled:true,showTime:3000,effectTime:1000,controlFadeTime:650,captionsFadeTime:250,captionsOpacity:0.7,partDelay:100,shiftValue:'150',parts:'5,3',showCaptions:'never',showBullets:'hover',changeBullets:'after',showControls:'hover',slidePrevDirection:'toLeft',slideNextDirection:'toRight',prevText:'prev',nextText:'next',playText:'play',pauseText:'pause',styles:'position,top,right,bottom,left,margin-top,margin-right,margin-bottom,margin-left,width,height',callBeforeInit:function(){return false;},callBackInit:function(){return false;},callBeforeNext:function(){return false;},callBeforePrev:function(){return false;},callBackNext:function(){return false;},callBackPrev:function(){return false;},callBackPlay:function(){return false;},callBackPause:function(){return false;},additionalResets:function(){return false;}};$.fn.rhinoslider.effects={slide:function($slider,params,callback){var vars=$slider.data('slider:vars');var settings=params.settings;var direction=params.direction;var values=[];values.width=vars.container.width();values.height=vars.container.height();values.easing=settings.showTime===0?'linear':settings.easing;values.nextEasing=settings.showTime===0?'linear':settings.easing;$slider.css('overflow','hidden');switch(direction){case'toTop':values.top=-values.height;values.left=0;values.nextTop=-values.top;values.nextLeft=0;break;case'toBottom':values.top=values.height;values.left=0;values.nextTop=-values.top;values.nextLeft=0;break;case'toRight':values.top=0;values.left=values.width;values.nextTop=0;values.nextLeft=-values.left;break;case'toLeft':values.top=0;values.left=-values.width;values.nextTop=0;values.nextLeft=-values.left;break;} +vars.next.css({zIndex:2,opacity:1});if(settings.animateActive){vars.active.css({top:0,left:0}).animate({top:values.top,left:values.left,opacity:1},settings.effectTime,values.easing);} +vars.next.css({top:values.nextTop,left:values.nextLeft}).animate({top:0,left:0,opacity:1},settings.effectTime,values.nextEasing,function(){callback($slider,settings);});}};$.fn.rhinoslider.preparations={slide:function($slider,settings,vars){vars.items.css('overflow','hidden');$slider.css('overflow','hidden');}};})(jQuery,window); \ No newline at end of file diff --git a/modules/rhinoslider/rhinoslider-1.05.js b/modules/rhinoslider/rhinoslider-1.05.js deleted file mode 100644 index 0d3016f6..00000000 --- a/modules/rhinoslider/rhinoslider-1.05.js +++ /dev/null @@ -1,1770 +0,0 @@ -/** - * Rhinoslider 1.05 - * rhinoslider.com/rhinoslider - * - * Copyright 2012: Sebastian Pontow, René Maas - * Dual licensed under the MIT or GPL Version 2 licenses. - * rhinoslider.com/license - */ -(function ($, window, undefined) { - - $.extend($.easing, { - def: 'out', - out: function (none, currentTime, startValue, endValue, totalTime) { - return -endValue * (currentTime /= totalTime) * (currentTime - 2) + startValue; - }, - kick: function (none, currentTime, startValue, endValue, totalTime) { - if ((currentTime /= totalTime / 2) < 1) { - return endValue / 2 * Math.pow(2, 10 * (currentTime - 1)) + startValue; - } - return endValue / 2 * (-Math.pow(2, -10 * --currentTime) + 2) + startValue; - }, - shuffle: function (none, currentTime, startValue, endValue, totalTime) { - if ((currentTime /= totalTime / 2) < 1) { - return endValue / 2 * currentTime * currentTime * currentTime * currentTime * currentTime + startValue; - } - return endValue / 2 * ((currentTime -= 2) * currentTime * currentTime * currentTime * currentTime + 2) + startValue; - } - }); - - var rhinoSlider = function (element, opts) { - var - settings = $.extend({}, $.fn.rhinoslider.defaults, opts), - $slider = $(element), - effects = $.fn.rhinoslider.effects, - preparations = $.fn.rhinoslider.preparations, - //internal variables - vars = { - isPlaying: false, - intervalAutoPlay: false, - active: '', - next: '', - container: '', - items: '', - buttons: [], - prefix: 'rhino-', - playedArray: [], - playedCounter: 0, - original: element - }; - - settings.callBeforeInit(); - - var - setUpSettings = function (settings) { - settings.controlsPrevNext = String(settings.controlsPrevNext) == 'true' ? true : false; - settings.controlsKeyboard = String(settings.controlsKeyboard) == 'true' ? true : false; - settings.controlsMousewheel = String(settings.controlsMousewheel) == 'true' ? true : false; - settings.controlsPlayPause = String(settings.controlsPlayPause) == 'true' ? true : false; - settings.pauseOnHover = String(settings.pauseOnHover) == 'true' ? true : false; - settings.animateActive = String(settings.animateActive) == 'true' ? true : false; - settings.autoPlay = String(settings.autoPlay) == 'true' ? true : false; - settings.cycled = String(settings.cycled) == 'true' ? true : false; - settings.showTime = parseInt(settings.showTime, 10); - settings.effectTime = parseInt(settings.effectTime, 10); - settings.controlFadeTime = parseInt(settings.controlFadeTime, 10); - settings.captionsFadeTime = parseInt(settings.captionsFadeTime, 10); - tmpShiftValue = settings.shiftValue; - tmpParts = settings.parts; - settings.shiftValue = []; - settings.parts = []; - return settings; - }, - - //init function - init = function ($slider, settings, vars) { - settings = setUpSettings(settings); - - $slider.wrap('
    '); - vars.container = $slider.parent('.' + vars.prefix + 'container'); - vars.isPlaying = settings.autoPlay; - - //the string, which will contain the button-html-code - var buttons = ''; - - //add prev/next-buttons - if (settings.controlsPrevNext) { - vars.container.addClass(vars.prefix + 'controls-prev-next'); - buttons = '' + settings.prevText + '' + settings.nextText + ''; - vars.container.append(buttons); - - vars.buttons.prev = vars.container.find('.' + vars.prefix + 'prev'); - vars.buttons.next = vars.container.find('.' + vars.prefix + 'next'); - - //add functionality to the "prev"-button - vars.buttons.prev.click(function () { - prev($slider, settings); - - //stop autoplay, if set - if (settings.autoPlay) { - pause(); - } - }); - - //add functionality to the "next"-button - vars.buttons.next.click(function () { - next($slider, settings); - - //stop autoplay, if set - if (settings.autoPlay) { - pause(); - } - }); - } - - //add play/pause-button - if (settings.controlsPlayPause) { - vars.container.addClass(vars.prefix + 'controls-play-pause'); - buttons = settings.autoPlay ? '' + settings.pauseText + '' : '' + settings.playText + ''; - vars.container.append(buttons); - - vars.buttons.play = vars.container.find('.' + vars.prefix + 'toggle'); - - //add functionality - vars.buttons.play.click(function () { - //self-explaining - if (vars.isPlaying === false) { - play(); - } else { - pause(); - } - }); - } - - //style - vars.container.find('.' + vars.prefix + 'btn').css({ - position: 'absolute', - display: 'block', - cursor: 'pointer' - }); - - //hide/show controls on hover or never - if (settings.showControls !== 'always') { - var allControls = vars.container.find('.' + vars.prefix + 'btn'); - allControls.stop(true, true).fadeOut(0); - if (settings.showControls === 'hover') { - vars.container.mouseenter(function () { - allControls.stop(true, true).fadeIn(settings.controlFadeTime); - }).mouseleave(function () { - allControls.delay(200).fadeOut(settings.controlFadeTime); - }); - } - } - if(settings.showControls !== 'never'){ - vars.container.addClass(vars.prefix + 'show-controls'); - } - - - //get content-elements and set css-reset for positioning - vars.items = $slider.children(); - vars.items.addClass(vars.prefix + 'item'); - vars.items.first().addClass(vars.prefix + 'active'); - - //give sliderstyle to container - var sliderStyles = settings.styles.split(','), style; - $.each(sliderStyles, function(i, cssAttribute){ - style = $.trim(cssAttribute); - vars.container.css(style, $slider.css(style)); - $slider.css(style, ' '); - switch(style){ - case 'width': - case 'height': - $slider.css(style, '100%'); - break; - } - }); - if(vars.container.css('position') == 'static'){ - vars.container.css('position', 'relative'); - } - - $slider.css({ - top: 'auto', - left: 'auto', - position: 'relative' - }); - - //style items - vars.items.css({ - margin: 0, - width: $slider.css('width'), - height: $slider.css('height'), - position: 'absolute', - top: 0, - left: 0, - zIndex: 0, - opacity: 0, - overflow: 'hidden' - }); - - vars.items.each(function (i) { - $(this).attr('id', vars.prefix + 'item' + i); - }); - - //generate navigation - if (settings.showBullets !== 'never') { - vars.container.addClass(vars.prefix + 'show-bullets'); - var navi = '
      '; - vars.items.each(function (i) { - var $item = $(this); - var id = vars.prefix + 'item' + i; - navi = navi + '
    1. ' + parseInt(i + 1, 10) + '
    2. '; - }); - navi = navi + '
    '; - vars.container.append(navi); - - vars.navigation = vars.container.find('.' + vars.prefix + 'bullets'); - vars.buttons.bullets = vars.navigation.find('.' + vars.prefix + 'bullet'); - vars.buttons.bullets.first().addClass(vars.prefix + 'active-bullet ' + vars.prefix + 'first-bullet'); - vars.buttons.bullets.last().addClass(vars.prefix + 'last-bullet'); - vars.buttons.bullets.click(function () { - var itemID = $(this).attr('id').replace('-bullet', ''); - var $next = vars.container.find('#' + itemID); - var curID = parseInt(vars.navigation.find('.' + vars.prefix + 'active-bullet').attr('id').replace('-bullet', '').replace(vars.prefix + 'item', ''), 10); - var nextID = parseInt(itemID.replace(vars.prefix + 'item', ''), 10); - if (curID < nextID) { - next($slider, settings, $next); - } else if (curID > nextID) { - prev($slider, settings, $next); - } else { - return false; - } - - //stop autoplay, if set - if (settings.autoPlay) { - pause(); - } - }); - } - //hide/show bullets on hover or never - if (settings.showBullets === 'hover') { - vars.navigation.hide(); - vars.container.mouseenter(function () { - vars.navigation.stop(true, true).fadeIn(settings.controlFadeTime); - }).mouseleave(function () { - vars.navigation.delay(200).fadeOut(settings.controlFadeTime); - }); - } - - //add captions - if (settings.showCaptions !== 'never') { - vars.container.addClass(vars.prefix + 'show-captions'); - vars.items.each(function () { - var $item = $(this); - if ($item.children('.' + vars.prefix + 'caption').length == 0) { - if ($item.children('img').length > 0) { - var title = $.trim($item.children('img:first').attr('title')); - if(undefined != title || '' == title){ - $item.append('
    ' + title + '
    '); - $item.children('.' + vars.prefix + 'caption:empty').remove(); - } - } - } - }); - - if (settings.showCaptions === 'hover') { - $('.' + vars.prefix + 'caption').hide(); - vars.container.mouseenter(function () { - vars.active.find('.' + vars.prefix + 'caption').stop(true, true).fadeTo(settings.captionFadeTime, settings.captionsOpacity); - }).mouseleave(function () { - vars.active.find('.' + vars.prefix + 'caption').delay(200).fadeOut(settings.captionFadeTime); - }); - } else if (settings.showCaptions === 'always') { - $('.' + vars.prefix + 'caption').fadeTo(0, settings.captionsOpacity); - } - } - //remove titles - vars.items.each(function () { - $(this).children('img').removeAttr('title'); - }); - - //start autoplay if set - if (settings.autoPlay) { - vars.intervalAutoPlay = setInterval(function () { - next($slider, settings); - }, settings.showTime); - } else { - vars.intervalAutoPlay = false; - } - //if pause on hover - if (settings.pauseOnHover) { - vars.container.addClass(vars.prefix + 'pause-on-hover'); - //play/pause function cannot be used for they trigger the isPlaying variable - $slider.mouseenter(function () { - if (vars.isPlaying) { - clearInterval(vars.intervalAutoPlay); - if (settings.controlsPlayPause) { - vars.buttons.play.text(settings.playText).removeClass(vars.prefix + 'pause').addClass(vars.prefix + 'play'); - } - } - }).mouseleave(function () { - if (vars.isPlaying) { - vars.intervalAutoPlay = setInterval(function () { - next($slider, settings); - }, settings.showTime); - - if (settings.controlsPlayPause) { - vars.buttons.play.text(settings.pauseText).removeClass(vars.prefix + 'play').addClass(vars.prefix + 'pause'); - } - } - }); - } - - //catch keyup event and trigger functions if the right key is pressed - if (settings.controlsKeyboard) { - vars.container.addClass(vars.prefix + 'controls-keyboard'); - $(document).keyup(function (e) { - switch (e.keyCode) { - case 37: - pause(); - prev($slider, settings); - break; - case 39: - pause(); - next($slider, settings); - break; - case 80: - //self-explaining - if (vars.isPlaying === false) { - play(); - } else { - pause(); - } - break; - } - }); - } - - //catch mousewheel event and trigger prev or next - if (settings.controlsMousewheel) { - vars.container.addClass(vars.prefix + 'controls-mousewheel'); - if (!$.isFunction($.fn.mousewheel)) { - alert('$.fn.mousewheel is not a function. Please check that you have the mousewheel-plugin installed properly.'); - } else { - $slider.mousewheel(function (e, delta) { - e.preventDefault(); - if(vars.container.hasClass('inProgress')){ - return false; - } - var dir = delta > 0 ? 'up' : 'down'; - if (dir === 'up') { - pause(); - prev($slider, settings); - } else { - pause(); - next($slider, settings); - } - }); - } - } - - vars.active = $slider.find('.' + vars.prefix + 'active'); - vars.active.css({ - zIndex: 1, - opacity: 1 - }); - - //check if slider is non-cycled - if(!settings.cycled) { - vars.items.each(function() { - var $item = $(this); - if($item.is(':first-child')) { - $item.addClass(vars.prefix + 'firstItem'); - } - if($item.is(':last-child')) { - $item.addClass(vars.prefix + 'lastItem'); - } - }); - - if(vars.active.is(':first-child') && settings.controlsPrevNext){ - vars.buttons.prev.addClass('disabled'); - } - if(vars.active.is(':last-child')){ - if(settings.controlsPrevNext){ - vars.buttons.next.addClass('disabled'); - pause(); - } - if(settings.autoPlay){ - vars.buttons.play.addClass('disabled'); - } - } - } - - if(preparations[settings.effect] == undefined){ - console.log('Preparations for ' + settings.effect + ' not found.'); - }else{ - preparations[settings.effect]($slider, settings, vars); - } - - //return the init-data to the slide for further use - $slider.data('slider:vars', vars); - - settings.callBackInit(); - }, - - //check if item element is first-child - isFirst = function($item) { - return $item.is(':first-child'); - }, - - //check if item element is last-child - isLast = function($item) { - return $item.is(':last-child'); - }, - - //pause the autoplay and change the bg-image of the button to "play" - pause = function () { - var vars = $slider.data('slider:vars'); - clearInterval(vars.intervalAutoPlay); - vars.isPlaying = false; - if (settings.controlsPlayPause) { - vars.buttons.play.text(settings.playText).removeClass(vars.prefix + 'pause').addClass(vars.prefix + 'play'); - } - - settings.callBackPause(); - }, - - //start/resume the autoplay and change the bg-image of the button to "pause" - play = function () { - var vars = $slider.data('slider:vars'); - vars.intervalAutoPlay = setInterval(function () { - next($slider, settings); - }, settings.showTime); - vars.isPlaying = true; - if (settings.controlsPlayPause) { - vars.buttons.play.text(settings.pauseText).removeClass(vars.prefix + 'play').addClass(vars.prefix + 'pause'); - } - - settings.callBackPlay(); - }, - - prev = function ($slider, settings, $next) { - var vars = $slider.data('slider:vars'); - if(!settings.cycled && isFirst(vars.active)){ - return false; - } - - settings.callBeforePrev(); - - //if some effect is already running, don't stack up another one - if (vars.container.hasClass('inProgress')) { - return false; - } - vars.container.addClass('inProgress'); - - if (!$next) { - if (settings.randomOrder) { - var nextID = getRandom(vars); - vars.next = vars.container.find('#' + nextID); - } else { - vars.next = vars.items.first().hasClass(vars.prefix + 'active') ? vars.items.last() : vars.active.prev(); - } - } else { - vars.next = $next; - } - - if (vars.next.hasClass(vars.prefix + 'active')) { - return false; - } - - //hide captions - if (settings.showCaptions !== 'never') { - $('.' + vars.prefix + 'caption').stop(true, true).fadeOut(settings.captionsFadeTime); - } - - if (settings.showBullets !== 'never' && settings.changeBullets == 'before') { - vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); - vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); - } - - setTimeout(function() { - var params = []; - params.settings = settings; - params.animateActive = settings.animateActive; - params.direction = settings.slidePrevDirection; - - if(effects[settings.effect] == undefined){ - console.log('Preparations for ' + settings.effect + ' not found.'); - }else{ - effects[settings.effect]($slider, params, resetElements); - } - - setTimeout(function () { - if (settings.showBullets !== 'never' && settings.changeBullets == 'after') { - vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); - vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); - } - settings.callBackPrev(); - }, settings.effectTime); - }, settings.captionsFadeTime); - - if (settings.showBullets !== 'never' && settings.changeBullets == 'after') { - vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); - vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); - } - }, - - next = function ($slider, settings, $next) { - var vars = $slider.data('slider:vars'); - if(!settings.cycled && isLast(vars.active)){ - return false; - } - - settings.callBeforeNext(); - - //if some effect is already running, don't stack up another one - if (vars.container.hasClass('inProgress')) { - return false; - } - vars.container.addClass('inProgress'); - //check, if the active element is the last, so we can set the first element to be the "next"-element - if (!$next) { - if (settings.randomOrder) { - var nextID = getRandom(vars); - vars.next = vars.container.find('#' + nextID); - } else { - vars.next = vars.items.last().hasClass(vars.prefix + 'active') ? vars.items.first() : vars.active.next(); - } - } else { - vars.next = $next; - } - - if (vars.next.hasClass(vars.prefix + 'active')) { - return false; - } - - //hide captions - if (settings.showCaptions !== 'never') { - $('.' + vars.prefix + 'caption').stop(true, true).fadeOut(settings.captionsFadeTime); - } - - if (settings.showBullets !== 'never' && settings.changeBullets == 'before') { - vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); - vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); - } - - setTimeout(function() { - var params = []; - params.settings = settings; - params.animateActive = settings.animateActive; - params.direction = settings.slideNextDirection; - - //run effect - if(effects[settings.effect] == undefined){ - console.log('Preparations for ' + settings.effect + ' not found.'); - }else{ - effects[settings.effect]($slider, params, resetElements); - } - - setTimeout(function () { - if (settings.showBullets !== 'never' && settings.changeBullets == 'after') { - vars.navigation.find('.' + vars.prefix + 'active-bullet').removeClass(vars.prefix + 'active-bullet'); - vars.navigation.find('#' + vars.next.attr('id') + '-bullet').addClass(vars.prefix + 'active-bullet'); - } - settings.callBackNext(); - }, settings.effectTime); - - }, settings.captionsFadeTime); - }, - - //get random itemID - getRandom = function (vars) { - var curID = vars.active.attr('id'); - var itemCount = vars.items.length; - var nextID = vars.prefix + 'item' + parseInt((Math.random() * itemCount), 10); - var nextKey = nextID.replace(vars.prefix + 'item', ''); - if (vars.playedCounter >= itemCount) { - vars.playedCounter = 0; - vars.playedArray = []; - } - if (curID == nextID || vars.playedArray[nextKey] === true) { - return getRandom(vars); - } else { - vars.playedArray[nextKey] = true; - vars.playedCounter++; - return nextID; - } - }, - - //function to reset elements and style after an effect - resetElements = function ($slider, settings) { - var vars = $slider.data('slider:vars'); - //set the active-element on the same z-index as the rest and reset css - vars.next - //add the active-class - .addClass(vars.prefix + 'active') - //and put it above the others - .css({ - zIndex: 1, - top: 0, - left: 0, - width: '100%', - height: '100%', - margin: 0, - opacity: 1 - }); - vars.active - .css({ - zIndex: 0, - top: 0, - left: 0, - margin: 0, - opacity: 0 - }) - //and remove its active class - .removeClass(vars.prefix + 'active'); - - settings.additionalResets(); - - //check if cycled is false and start or end is reached - if(!settings.cycled) { - if(settings.controlsPrevNext){ - if(isFirst(vars.next)) { - vars.buttons.prev.addClass('disabled'); - } else { - vars.buttons.prev.removeClass('disabled'); - } - if(isLast(vars.next)) { - vars.buttons.next.addClass('disabled'); - pause(); - } else { - vars.buttons.next.removeClass('disabled'); - } - } - if(settings.controlsPlayPause){ - if(isLast(vars.next)) { - vars.buttons.play.addClass('disabled'); - pause(); - } else { - vars.buttons.play.removeClass('disabled'); - } - } - } - - //make the "next"-element the new active-element - vars.active = vars.next; - - //show captions - if (settings.showCaptions !== 'never') { - vars.active.find('.' + vars.prefix + 'caption').stop(true, true).fadeTo(settings.captionsFadeTime, settings.captionsOpacity); - } - - vars.container.removeClass('inProgress'); - }; - - this.pause = function () {pause();}; - this.play = function () {play();}; - this.prev = function ($next) {prev($slider, settings, $next);}; - this.next = function ($next) {next($slider, settings, $next);}; - this.uninit = function () { - pause(); - vars.container.before($(element).data('slider:original')); - $slider.data('slider:vars', null); - vars.container.remove(); - $(element).data('rhinoslider', null); - }; - - init($slider, settings, vars); - }; - - $.fn.rhinoslider = function (opts) { - return this.each(function () { - var element = $(this); - if (element.data('rhinoslider')) { - return element.data('rhinoslider'); - } - - element.data('slider:original', element.clone()); - var rhinoslider = new rhinoSlider(this, opts); - element.data('rhinoslider', rhinoslider); - }); - }; - - $.fn.rhinoslider.defaults = { - //which effect to blend content - effect: 'slide', - //easing for animations of the slides - easing: 'swing', - //linear or shuffled order for items - randomOrder: false, - //enable/disable mousewheel navigation - controlsMousewheel: true, - //enable/disable keyboard navigation - controlsKeyboard: true, - //show/hide prev/next-controls - controlsPrevNext: true, - //show/hide play/pause-controls - controlsPlayPause: true, - //pause on mouse-over - pauseOnHover: true, - //if the active content should be animated too - depending on effect slide - animateActive: true, - //start slideshow automatically on init - autoPlay: false, - //begin from start if end has reached - cycled: true, - //time, the content is visible before next content will be blend in - depends on autoPlay - showTime: 3000, - //time, the effect will last - effectTime: 1000, - //duration for fading controls - controlFadeTime: 650, - //duration for fading captions - captionsFadeTime: 250, - //opacity for captions - captionsOpacity: 0.7, - //delay for parts in "chewyBars" effect - partDelay: 100, - //width, the animation for moving the content needs, can be comma-seperated string (x,y) or int if both are the same - shiftValue: '150', - //amount of parts per line for shuffle effect - parts: '5,3', - //show image-title: hover, always, never - showCaptions: 'never', - //show navigation: hover, always, never - showBullets: 'hover', - //change bullets before or after the animation - changeBullets: 'after', - //show controls: hover, always, never - showControls: 'hover', - //the direction, the prev-button triggers - depending on effect slide - slidePrevDirection: 'toLeft', - //the direction, the next-button triggers - depending on effect slide - slideNextDirection: 'toRight', - //text for the prev-button - prevText: 'prev', - //text for the next-button - nextText: 'next', - //text for the play-button - playText: 'play', - //text for the pause-button - pauseText: 'pause', - //style which will be transfered to the containerelement - styles: 'position,top,right,bottom,left,margin-top,margin-right,margin-bottom,margin-left,width,height', - //callbacks - //the function, which is started bofore anything is done by this script - callBeforeInit: function () { - return false; - }, - //the function, which is started when the slider is ready (only once) - callBackInit: function () { - return false; - }, - //the function, which is started before the blending-effect - callBeforeNext: function () { - return false; - }, - //the function, which is started before the blending-effect - callBeforePrev: function () { - return false; - }, - //the function, which is started after the blending-effect - callBackNext: function () { - return false; - }, - //the function, which is started after the blending-effect - callBackPrev: function () { - return false; - }, - //the function, which is started if the autoplay intervall starts - callBackPlay: function () { - return false; - }, - //the function, which is started if the autoplay intervall ends - callBackPause: function () { - return false; - }, - //the function, which is started within resetElements - additionalResets: function () { - return false; - } - }; - - $.fn.rhinoslider.effects = { - none: function ($slider, params, callback) { - var vars = $slider.data('slider:vars'); - var settings = params.settings; - //set next on top of the others and hide it - vars.next.css({ - zIndex: 2, - display: 'block' - }); - vars.active.hide(0, function () { - callback($slider, settings); - }); - }, - //options: easing, animateActive - fade: function ($slider, params, callback) { - var vars = $slider.data('slider:vars'); - var settings = params.settings; - if(settings.animateActive){ - vars.active.animate({ - opacity: 0 - }, settings.effectTime); - } - //set next on top of the others and hide it - vars.next.css({ - zIndex: 2 - }) - //then fade it in - fade with animate-> fade didnt do it... - .animate({ - opacity: 1 - }, settings.effectTime, settings.easing, function () { - //and reset the rest - callback($slider, settings); - }); - }, - //options: direction, animateActive, easing - slide: function ($slider, params, callback) { - var vars = $slider.data('slider:vars'); - var settings = params.settings; - var direction = params.direction; - var values = []; - values.width = vars.container.width(); - values.height = vars.container.height(); - //if showtime is 0, content is sliding permanently so linear is the way to go - values.easing = settings.showTime === 0 ? 'linear' : settings.easing; - values.nextEasing = settings.showTime === 0 ? 'linear' : settings.easing; - $slider.css('overflow', 'hidden'); - - //check, in which direction the content will be moved - switch (direction) { - case 'toTop': - values.top = -values.height; - values.left = 0; - values.nextTop = -values.top; - values.nextLeft = 0; - break; - case 'toBottom': - values.top = values.height; - values.left = 0; - values.nextTop = -values.top; - values.nextLeft = 0; - break; - case 'toRight': - values.top = 0; - values.left = values.width; - values.nextTop = 0; - values.nextLeft = -values.left; - break; - case 'toLeft': - values.top = 0; - values.left = -values.width; - values.nextTop = 0; - values.nextLeft = -values.left; - break; - } - - //put the "next"-element on top of the others and show/hide it, depending on the effect - vars.next.css({ - zIndex: 2, - opacity: 1 - }); - - //if animateActive is false, the active-element will not move - if (settings.animateActive) { - vars.active.css({ - top: 0, - left: 0 - }).animate({ - top: values.top, - left: values.left, - opacity: 1 - }, settings.effectTime, values.easing); - } - vars.next - //position "next"-element depending on the direction - .css({ - top: values.nextTop, - left: values.nextLeft - }).animate({ - top: 0, - left: 0, - opacity: 1 - }, settings.effectTime, values.nextEasing, function () { - //reset element-positions - callback($slider, settings); - }); - }, - //options: direction, animateActive, shiftValue - kick: function ($slider, params, callback) { - var vars = $slider.data('slider:vars'); - var settings = params.settings; - var direction = params.direction; - var values = []; - - values.delay = settings.effectTime / 2; - values.activeEffectTime = settings.effectTime / 2; - settings.shiftValue.x = settings.shiftValue.x < 0 ? settings.shiftValue.x * -1 : settings.shiftValue.x; - - - //check, in which direction the content will be moved - switch (direction) { - case 'toTop': - values.top = -settings.shiftValue.x; - values.left = 0; - values.nextTop = settings.shiftValue.x; - values.nextLeft = 0; - break; - case 'toBottom': - values.top = settings.shiftValue.x; - values.left = 0; - values.nextTop = -settings.shiftValue.x; - values.nextLeft = 0; - break; - case 'toRight': - values.top = 0; - values.left = settings.shiftValue.x; - values.nextTop = 0; - values.nextLeft = -settings.shiftValue.x; - break; - case 'toLeft': - values.top = 0; - values.left = -settings.shiftValue.x; - values.nextTop = 0; - values.nextLeft = settings.shiftValue.x; - break; - } - - //put the "next"-element on top of the others and show/hide it, depending on the effect - vars.next.css({ - zIndex: 2, - opacity: 0 - }); - - vars.active.css({ - top: 0, - left: 0 - }); - if (settings.animateActive) { - //delay is for kick, so it seems as if the "next"-element kicks the activ-element away - vars.active.delay(values.delay).animate({ - top: values.top, - left: values.left, - opacity: 0 - }, values.activeEffectTime, 'out'); //easing is variable because kick seems more "realistic" if it's not too linear - } - - vars.next - //position "next"-element depending on the direction - .css({ - top: values.nextTop, - left: values.nextLeft - }).animate({ - top: 0, - left: 0, - opacity: 1 - }, settings.effectTime, 'kick', function () { - //reset element-positions - callback($slider, settings); - }); - }, - //options: direction, animateActive, easing, shiftValue - transfer: function ($slider, params, callback) { - var settings = params.settings; - var direction = params.direction; - var vars = $slider.data('slider:vars'); - var values = []; - values.width = $slider.width(); - values.height = $slider.height(); - - //set values for effect - switch (direction) { - case 'toTop': - values.top = -settings.shiftValue.y; - values.left = values.width / 2; - values.nextTop = values.height + settings.shiftValue.y; - values.nextLeft = values.width / 2; - break; - case 'toBottom': - values.top = values.height + settings.shiftValue.y; - values.left = values.width / 2; - values.nextTop = -settings.shiftValue.y; - values.nextLeft = values.width / 2; - break; - case 'toRight': - values.top = values.height / 2; - values.left = values.width + settings.shiftValue.x; - values.nextTop = values.height / 2; - values.nextLeft = -settings.shiftValue.x; - break; - case 'toLeft': - values.top = values.height / 2; - values.left = -settings.shiftValue.x; - values.nextTop = values.height / 2; - values.nextLeft = values.width + settings.shiftValue.x; - break; - } - vars.next.children().wrapAll('
    '); - vars.active.children().wrapAll('
    '); - var - $nextContainer = vars.next.find('#' + vars.prefix + 'nextContainer'), - $activeContainer = vars.active.find('#' + vars.prefix + 'activeContainer'), - $tmpContainer = vars.container.find('.' + vars.prefix + 'tmpContainer'); - - $activeContainer.css({ - width: values.width, - height: values.height, - position: 'absolute', - top: '50%', - left: '50%', - margin: '-' + parseInt(values.height * 0.5, 10) + 'px 0 0 -' + parseInt(values.width * 0.5, 10) + 'px' - }); - - $nextContainer.css({ - width: values.width, - height: values.height, - position: 'absolute', - top: '50%', - left: '50%', - margin: '-' + parseInt(values.height * 0.5, 10) + 'px 0 0 -' + parseInt(values.width * 0.5, 10) + 'px' - }); - - if(settings.animateActive){ - - vars.active.css({ - width: '100%', - height: '100%', - top: 0, - left: 0 - }).animate({ - width: 0, - height: 0, - top: values.top, - left: values.left, - opacity: 0 - }, settings.effectTime); - } - - vars.next.css({ - opacity: 0, - zIndex: 2, - width: 0, - height: 0, - top: values.nextTop, - left: values.nextLeft - }).animate({ - width: '100%', - height: '100%', - top: 0, - left: 0, - opacity: 1 - }, settings.effectTime, settings.easing, function () { - $tmpContainer.children().unwrap(); - callback($slider, settings); - }); - - }, - //options: animateActive, easing, shiftValue, parts - shuffle: function ($slider, params, callback) { - var - vars = $slider.data('slider:vars'), - settings = params.settings, - values = [], - preShuffle = function ($slider, settings, $li) { - var vars = $slider.data('slider:vars'); - $li.html('
    ' + $li.html() + '
    '); - - var part = $li.html(); - var width = $slider.width(); - var height = $slider.height(); - for (i = 1; i < (settings.parts.x * settings.parts.y); i++) { - $li.html($li.html() + part); - } - var $parts = $li.children('.' + vars.prefix + 'partContainer'); - var partValues = []; - partValues.width = $li.width() / settings.parts.x; - partValues.height = $li.height() / settings.parts.y; - $parts.each(function (i) { - var $this = $(this); - partValues.top = ((i - (i % settings.parts.x)) / settings.parts.x) * partValues.height; - partValues.left = (i % settings.parts.x) * partValues.width; - partValues.marginTop = -partValues.top; - partValues.marginLeft = -partValues.left; - $this.css({ - top: partValues.top, - left: partValues.left, - width: partValues.width, - height: partValues.height, - position: 'absolute', - overflow: 'hidden' - }).html('
    ' + $this.html() + '
    '); - $this.children('.' + vars.prefix + 'part').css({ - marginTop: partValues.marginTop, - marginLeft: partValues.marginLeft, - width: width, - height: height, - background: $li.css('background-image') + ' ' + $li.parent().css('background-color') - }); - }); - return $parts; - }, - //calc amount of parts - calcParts = function (parts, c) { - if (parts.x * parts.y > 36) { - if (c) { - if (parts.x > 1) { - parts.x--; - } else { - parts.y--; - } - c = false; - } else { - if (parts.y > 1) { - parts.y--; - } else { - parts.x--; - } - c = true; - } - return calcParts(parts, c); - } - return parts; - }, - //effect "shuffle" - shuffle = function ($slider, settings) { - settings.parts.x = settings.parts.x < 1 ? 1 : settings.parts.x; - settings.parts.y = settings.parts.y < 1 ? 1 : settings.parts.y; - settings.parts = calcParts(settings.parts, true); - settings.shiftValue.x = settings.shiftValue.x < 0 ? settings.shiftValue.x * -1 : settings.shiftValue.x; - settings.shiftValue.y = settings.shiftValue.y < 0 ? settings.shiftValue.y * -1 : settings.shiftValue.y; - var vars = $slider.data('slider:vars'); - var activeContent = vars.active.html(); - var nextContent = vars.next.html(); - var width = $slider.width(); - var height = $slider.height(); - var $activeParts = preShuffle($slider, settings, vars.active); - var $nextParts = preShuffle($slider, settings, vars.next); - var activeBackgroundImage = vars.active.css('background-image'); - var activeBackgroundColor = vars.active.css('background-color'); - var nextBackgroundImage = vars.next.css('background-image'); - var nextBackgroundColor = vars.next.css('background-color'); - vars.active.css({ - backgroundImage: 'none', - backgroundColor: 'none', - opacity: 1 - }); - vars.next.css({ - backgroundImage: 'none', - backgroundColor: 'none', - opacity: 1, - zIndex: 2 - }); - var partValues = []; - partValues.width = vars.next.width() / settings.parts.x; - partValues.height = vars.next.height() / settings.parts.y; - if (settings.animateActive) { - $activeParts.each(function (i) { - $this = $(this); - var newLeft, newTop; - newLeft = (Math.random() * (settings.shiftValue.x * 2) - settings.shiftValue.x); - newTop = (Math.random() * (settings.shiftValue.y * 2) - settings.shiftValue.y); - $this.animate({ - opacity: 0, - top: '+=' + newTop, - left: '+=' + newLeft - }, settings.effectTime, settings.easing); - }); - } - $nextParts.each(function (i) { - $this = $(this); - partValues.top = ((i - (i % settings.parts.x)) / settings.parts.x) * partValues.height; - partValues.left = (i % settings.parts.x) * partValues.width; - var newLeft, newTop; - newLeft = partValues.left + (Math.random() * (settings.shiftValue.x * 2) - settings.shiftValue.x); - newTop = partValues.top + (Math.random() * (settings.shiftValue.y * 2) - settings.shiftValue.y); - - $this.css({ - top: newTop, - left: newLeft, - opacity: 0 - }).animate({ - top: partValues.top, - left: partValues.left, - opacity: 1 - }, settings.effectTime, settings.easing, function () { - if (i == $activeParts.length - 1) { - vars.active.html(activeContent); - vars.next.html(nextContent); - vars.active.css({ - backgroundImage: activeBackgroundImage, - backgroundColor: activeBackgroundColor, - opacity: 0 - }); - vars.next.css({ - backgroundImage: nextBackgroundImage, - backgroundColor: nextBackgroundColor, - opacity: 1 - }); - callback($slider, settings); - } - }); - }); - } - - shuffle($slider, settings); - }, - //options: animateActive, easing, shiftValue, parts - explode: function ($slider, params, callback) { - var - vars = $slider.data('slider:vars'), - settings = params.settings, - values = [], - preShuffle = function ($slider, settings, $li) { - var vars = $slider.data('slider:vars'); - $li.html('
    ' + $li.html() + '
    '); - var part = $li.html(); - var width = $slider.width(); - var height = $slider.height(); - for (i = 1; i < (settings.parts.x * settings.parts.y); i++) { - $li.html($li.html() + part); - } - var $parts = $li.children('.' + vars.prefix + 'partContainer'); - var partValues = []; - partValues.width = $li.width() / settings.parts.x; - partValues.height = $li.height() / settings.parts.y; - $parts.each(function (i) { - var $this = $(this); - partValues.top = ((i - (i % settings.parts.x)) / settings.parts.x) * partValues.height; - partValues.left = (i % settings.parts.x) * partValues.width; - partValues.marginTop = -partValues.top; - partValues.marginLeft = -partValues.left; - $this.css({ - top: partValues.top, - left: partValues.left, - width: partValues.width, - height: partValues.height, - position: 'absolute', - overflow: 'hidden' - }).html('
    ' + $this.html() + '
    '); - $this.children('.' + vars.prefix + 'part').css({ - marginTop: partValues.marginTop, - marginLeft: partValues.marginLeft, - width: width, - height: height, - background: $li.css('background-image') + ' ' + $li.parent().css('background-color') - }); - }); - return $parts; - }, - //calc amount of parts - calcParts = function (parts, c) { - if (parts.x * parts.y > 36) { - if (c) { - if (parts.x > 1) { - parts.x--; - } else { - parts.y--; - } - c = false; - } else { - if (parts.y > 1) { - parts.y--; - } else { - parts.x--; - } - c = true; - } - return calcParts(parts, c); - } - return parts; - }, - //effect "shuffle" - explode = function ($slider, settings) { - settings.parts.x = settings.parts.x < 1 ? 1 : settings.parts.x; - settings.parts.y = settings.parts.y < 1 ? 1 : settings.parts.y; - settings.parts = calcParts(settings.parts, true); - settings.shiftValue.x = settings.shiftValue.x < 0 ? settings.shiftValue.x * -1 : settings.shiftValue.x; - settings.shiftValue.y = settings.shiftValue.y < 0 ? settings.shiftValue.y * -1 : settings.shiftValue.y; - var vars = $slider.data('slider:vars'); - var activeContent = vars.active.html(); - var nextContent = vars.next.html(); - var width = $slider.width(); - var height = $slider.height(); - var $activeParts = preShuffle($slider, settings, vars.active); - var $nextParts = preShuffle($slider, settings, vars.next); - var activeBackgroundImage = vars.active.css('background-image'); - var activeBackgroundColor = vars.active.css('background-color'); - var nextBackgroundImage = vars.next.css('background-image'); - var nextBackgroundColor = vars.next.css('background-color'); - vars.active.css({ - backgroundImage: 'none', - backgroundColor: 'none', - opacity: 1 - }); - vars.next.css({ - backgroundImage: 'none', - backgroundColor: 'none', - opacity: 1, - zIndex: 2 - }); - var partValues = []; - partValues.width = vars.next.width() / settings.parts.x; - partValues.height = vars.next.height() / settings.parts.y; - if (settings.animateActive) { - $activeParts.each(function (i) { - $this = $(this); - var newLeft, newTop; - var position = []; - position.top = $this.position().top; - position.bottom = $this.parent().height() - $this.position().top - $this.height(); - position.left = $this.position().left; - position.right = $this.parent().width() - $this.position().left - $this.width(); - - var rndX = parseInt(Math.random() * settings.shiftValue.x, 10); - var rndY = parseInt(Math.random() * settings.shiftValue.y, 10); - newLeft = position.right <= position.left ? (position.right == position.left ? rndX / 2 : rndX) : -rndX; - newTop = position.bottom <= position.top ? (position.top == (position.bottom - 1) ? rndY / 2 : rndY) : -rndY; - $this.animate({ - top: '+=' + newTop, - left: '+=' + newLeft, - opacity: 0 - }, settings.effectTime, settings.easing); - }); - } - $nextParts.each(function (i) { - $this = $(this); - partValues.top = ((i - (i % settings.parts.x)) / settings.parts.x) * partValues.height; - partValues.left = (i % settings.parts.x) * partValues.width; - var newLeft, newTop, position = []; - - position.top = $this.position().top; - position.bottom = $this.parent().height() - $this.position().top - $this.height(); - position.left = $this.position().left; - position.right = $this.parent().width() - $this.position().left - $this.width(); - - var rndX = parseInt(Math.random() * settings.shiftValue.x, 10); - var rndY = parseInt(Math.random() * settings.shiftValue.y, 10); - newLeft = position.right <= position.left ? (position.right == position.left ? rndX / 2 : rndX) : -rndX; - newTop = position.bottom <= position.top ? (position.top == (position.bottom - 1) ? rndY / 2 : rndY) : -rndY; - newLeft = partValues.left + newLeft; - newTop = partValues.top + newTop; - - - $this.css({ - top: newTop, - left: newLeft, - opacity: 0 - }).animate({ - top: partValues.top, - left: partValues.left, - opacity: 1 - }, settings.effectTime, settings.easing, function () { - if (i == $activeParts.length - 1) { - vars.active.html(activeContent); - vars.next.html(nextContent); - vars.active.css({ - backgroundImage: activeBackgroundImage, - backgroundColor: activeBackgroundColor, - opacity: 0 - }); - vars.next.css({ - backgroundImage: nextBackgroundImage, - backgroundColor: nextBackgroundColor, - opacity: 1 - }); - callback($slider, settings); - } - }); - }); - } - - explode($slider, settings); - }, - //options: direction, animateActive, easing - turnOver: function ($slider, params, callback) { - var - vars = $slider.data('slider:vars'), - settings = params.settings, - direction = params.direction, - values = [] - ; - values.width = vars.container.width(); - values.height = vars.container.height(); - - - - //check, in which direction the content will be moved - switch (direction) { - case 'toTop': - values.top = -values.height; - values.left = 0; - break; - case 'toBottom': - values.top = values.height; - values.left = 0; - break; - case 'toRight': - values.top = 0; - values.left = values.width; - break; - case 'toLeft': - values.top = 0; - values.left = -values.width; - break; - } - //secure that out and in animation don't play simultaneously - values.timeOut = settings.animateActive ? settings.effectTime : 0; - values.effectTime = settings.animateActive ? settings.effectTime / 2 : settings.effectTime; - - //put the "next"-element on top of the others and show/hide it, depending on the effect - vars.next.css({ - zIndex: 2, - opacity: 1 - }); - - //position "next"-element depending on the direction - vars.next.css({ - top: values.top, - left: values.left - }); - //if animateActive is false, the active-element will not move - if (settings.animateActive) { - vars.active.css({ - top: 0, - left: 0 - }).animate({ - top: values.top, - left: values.left, - opacity: 1 - }, values.effectTime, settings.easing); - } - - setTimeout(function() { - vars.next.animate({ - top: 0, - left: 0, - opacity: 1 - }, values.effectTime, settings.easing, function () { - vars.active.css('opacity', 0); - //reset element-positions - callback($slider, settings); - }); - }, values.timeOut); - }, - //options: direction, animateActive, easing, shiftValue, parts, partDelay - //animationtime for each part is effectTime - (2 * ((settings.parts - 1) * partDelay)) - chewyBars: function ($slider, params, callback) { - var - vars = $slider.data('slider:vars'), - settings = params.settings, - direction = params.direction, - values = [], - preSlide = function ($slider, settings, $li) { - var vars = $slider.data('slider:vars'); - $li.html('
    ' + $li.html() + '
    '); - var - part = $li.html(), - width = $slider.width(), - height = $slider.height() - ; - for (i = 1; i < settings.parts; i++) { - $li.html($li.html() + part); - } - var - $parts = $li.children('.' + vars.prefix + 'partContainer'), - partValues = [] - ; - switch(direction){ - case 'toLeft': - partValues.width = $li.width() / settings.parts; - partValues.height = height; - break; - case 'toTop': - partValues.width = width; - partValues.height = $li.height() / settings.parts; - break; - } - - $parts.each(function (i) { - var $this = $(this), liWidth = $li.width(), liHeight = $li.height(); - partValues.left = 'auto'; - partValues.marginLeft = 'auto'; - partValues.top = 'auto'; - partValues.marginTop = 'auto'; - partValues.right = 'auto'; - partValues.bottom = 'auto'; - - switch(direction){ - case 'toLeft': - partValues.width = liWidth / settings.parts; - partValues.height = height; - partValues.left = (i % settings.parts) * partValues.width; - partValues.marginLeft = -partValues.left; - partValues.top = 0; - partValues.marginTop = 0; - break; - case 'toRight': - partValues.width = liWidth / settings.parts; - partValues.height = height; - partValues.right = (i % settings.parts) * partValues.width; - partValues.marginLeft = -(liWidth - partValues.right - partValues.width); - partValues.top = 0; - partValues.marginTop = 0; - break; - case 'toTop': - partValues.width = width; - partValues.height = liHeight / settings.parts; - partValues.left = 0; - partValues.marginLeft = 0; - partValues.top = (i % settings.parts) * partValues.height; - partValues.marginTop = -partValues.top; - break; - case 'toBottom': - partValues.width = width; - partValues.height = liHeight / settings.parts; - partValues.left = 0; - partValues.marginLeft = 0; - partValues.bottom = (i % settings.parts) * partValues.height; - partValues.marginTop = -(liHeight - partValues.bottom - partValues.height); - break; - } - $this.css({ - top: partValues.top, - left: partValues.left, - bottom: partValues.bottom, - right: partValues.right, - width: partValues.width, - height: partValues.height, - position: 'absolute', - overflow: 'hidden' - }).html('
    ' + $this.html() + '
    '); - $this.children('.' + vars.prefix + 'part').css({ - marginLeft: partValues.marginLeft, - marginTop: partValues.marginTop, - width: width, - height: height, - background: $li.css('background-image') + ' ' + $li.parent().css('background-color') - }); - }); - return $parts; - }, - //effect "slideBars" - slideBars = function ($slider, settings) { - settings.parts = settings.parts < 1 ? 1 : settings.parts; - settings.shiftValue.x = settings.shiftValue.x < 0 ? settings.shiftValue.x * -1 : settings.shiftValue.x; - settings.shiftValue.y = settings.shiftValue.y < 0 ? settings.shiftValue.y * -1 : settings.shiftValue.y; - var vars = $slider.data('slider:vars'); - var - partDuration, - partDelay = settings.partDelay, - activeContent = vars.active.html(), - nextContent = vars.next.html(), - width = $slider.width(), - height = $slider.height(), - $activeParts = preSlide($slider, settings, vars.active), - $nextParts = preSlide($slider, settings, vars.next), - activeBackgroundImage = vars.active.css('background-image'), - activeBackgroundColor = vars.active.css('background-color'), - nextBackgroundImage = vars.next.css('background-image'), - nextBackgroundColor = vars.next.css('background-color'), - delay = 0 - ; - - partDuration = settings.effectTime - (2 * ((settings.parts - 1) * partDelay)); - - vars.active.css({ - backgroundImage: 'none', - backgroundColor: 'none', - opacity: 1 - }); - vars.next.css({ - backgroundImage: 'none', - backgroundColor: 'none', - opacity: 1, - zIndex: 2 - }); - var values = [], aniMap = {opacity: 0}, cssMapNext = {opacity: 0}; - - switch(direction){ - case 'toTop': - aniMap.left = -settings.shiftValue.x; - aniMap.top = -settings.shiftValue.y; - cssMapNext.left = settings.shiftValue.x; - cssMapNext.top = height + settings.shiftValue.y; - values.width = width; - values.height = vars.next.height() / settings.parts; - break; - case 'toRight': - values.width = vars.next.width() / settings.parts; - values.height = height; - aniMap.top = -settings.shiftValue.y; - aniMap.right = -settings.shiftValue.x; - cssMapNext.top = settings.shiftValue.y; - cssMapNext.right = width + settings.shiftValue.x; - break; - case 'toBottom': - values.width = width; - values.height = vars.next.height() / settings.parts; - aniMap.left = -settings.shiftValue.x; - aniMap.bottom = -settings.shiftValue.y; - cssMapNext.left = settings.shiftValue.x; - cssMapNext.bottom = height + settings.shiftValue.y; - break; - case 'toLeft': - values.width = vars.next.width() / settings.parts; - values.height = height; - aniMap.top = -settings.shiftValue.y; - aniMap.left = -settings.shiftValue.x; - cssMapNext.top = settings.shiftValue.y; - cssMapNext.left = width + settings.shiftValue.x; - break; - } - if (settings.animateActive) { - $activeParts.each(function (i) { - $this = $(this); - $this.delay(partDelay * i).animate(aniMap, partDuration, settings.easing); - }); - delay = settings.parts * partDelay; - } - - $nextParts.each(function(i){ - var $this = $(this), newValues = [], aniMap = {opacity: 1}; - - switch(direction){ - case 'toTop': - aniMap.left = 0; - aniMap.top = values.height * i; - break; - case 'toRight': - aniMap.top = 0; - aniMap.right = values.width * i; - break; - case 'toBottom': - aniMap.left = 0; - aniMap.bottom = values.height * i; - break; - case 'toLeft': - aniMap.top = 0; - aniMap.left = values.width * i; - break; - } - - $this.delay(delay).css(cssMapNext).delay(i*partDelay).animate(aniMap, partDuration, settings.easing, function () { - if (i == settings.parts - 1) { - vars.active.html(activeContent); - vars.next.html(nextContent); - vars.active.css({ - backgroundImage: activeBackgroundImage, - backgroundColor: activeBackgroundColor, - opacity: 0 - }); - vars.next.css({ - backgroundImage: nextBackgroundImage, - backgroundColor: nextBackgroundColor, - opacity: 1 - }); - callback($slider, settings); - } - }); - }); - } - - slideBars($slider, settings); - } - }; - - $.fn.rhinoslider.preparations = { - none: function ($slider, settings, vars) {}, - fade: function ($slider, settings, vars) {}, - slide: function ($slider, settings, vars) { - vars.items.css('overflow', 'hidden'); - $slider.css('overflow', 'hidden'); - }, - kick: function ($slider, settings, vars) { - vars.items.css('overflow', 'hidden'); - settings.shiftValue.x = parseInt(tmpShiftValue, 10); - settings.shiftValue.y = parseInt(tmpShiftValue, 10); - settings.parts.x = parseInt(tmpParts, 10); - settings.parts.y = parseInt(tmpParts, 10); - }, - transfer: function($slider, settings, vars) { - //if shuffle-effect has x and y shift or parts - var shiftValue = String(tmpShiftValue); - if (shiftValue.indexOf(',') >= 0) { - var tmp = shiftValue.split(','); - settings.shiftValue.x = parseInt(tmp[0], 10); - settings.shiftValue.y = parseInt(tmp[1], 10); - } else { - settings.shiftValue.x = parseInt(tmpShiftValue, 10); - settings.shiftValue.y = parseInt(tmpShiftValue, 10); - } - - vars.items.css('overflow', 'hidden'); - }, - shuffle: function ($slider, settings, vars) { - //if shuffle-effect has x and y shift or parts - var shiftValue = String(tmpShiftValue); - if (shiftValue.indexOf(',') >= 0) { - var tmp = shiftValue.split(','); - settings.shiftValue.x = tmp[0]; - settings.shiftValue.y = tmp[1]; - } else { - settings.shiftValue.x = parseInt(tmpShiftValue, 10); - settings.shiftValue.y = parseInt(tmpShiftValue, 10); - } - var parts = String(tmpParts); - if (parts.indexOf(',') >= 0) { - var tmp = parts.split(','); - settings.parts.x = tmp[0]; - settings.parts.y = tmp[1]; - } else { - settings.parts.x = parseInt(tmpParts, 10); - settings.parts.y = parseInt(tmpParts, 10); - } - - vars.items.css('overflow', 'visible'); - }, - explode: function ($slider, settings, vars) { - //if shuffle-effect has x and y shift or parts - var shiftValue = String(tmpShiftValue); - if (shiftValue.indexOf(',') >= 0) { - var tmp = shiftValue.split(','); - settings.shiftValue.x = tmp[0]; - settings.shiftValue.y = tmp[1]; - } else { - settings.shiftValue.x = parseInt(tmpShiftValue, 10); - settings.shiftValue.y = parseInt(tmpShiftValue, 10); - } - var parts = String(tmpParts); - if (parts.indexOf(',') >= 0) { - var tmp = parts.split(','); - settings.parts.x = tmp[0]; - settings.parts.y = tmp[1]; - } else { - settings.parts.x = parseInt(tmpParts, 10); - settings.parts.y = parseInt(tmpParts, 10); - } - - vars.items.css('overflow', 'visible'); - }, - turnOver: function ($slider, settings, vars) { - vars.items.css('overflow', 'hidden'); - $slider.css('overflow', 'hidden'); - }, - chewyBars: function ($slider, settings, vars) { - //if shuffle-effect has x and y shift or parts - var shiftValue = String(tmpShiftValue); - if (shiftValue.indexOf(',') >= 0) { - var tmp = shiftValue.split(','); - settings.shiftValue.x = parseInt(tmp[0], 10); - settings.shiftValue.y = parseInt(tmp[1], 10); - } else { - settings.shiftValue.x = parseInt(tmpShiftValue, 10); - settings.shiftValue.y = parseInt(tmpShiftValue, 10); - } - - //if bars-effect has x and y shift or parts - var parts = String(tmpParts); - if (parts.indexOf(',') >= 0) { - var tmp = parts.split(','); - settings.parts = parseInt(tmp[0], 10) * parseInt(tmp[1], 10); - } else { - settings.parts = parseInt(tmpParts, 10); - } - - vars.items.css('overflow', 'visible'); - - } - }; - -})(jQuery, window); \ No newline at end of file diff --git a/server/index.ajax.php b/server/index.ajax.php index 7c0d35a9..8af59bf3 100644 --- a/server/index.ajax.php +++ b/server/index.ajax.php @@ -256,23 +256,21 @@ switch ($_REQUEST['action']) { echo "
    "; $images = Slideshow::get_current_slideshow(); foreach ($images as $image) { - echo ""; + echo ""; } echo "
    "; $results['fslider'] = ob_get_clean(); ob_start(); echo ""; $results['fslider_script'] = ob_get_clean(); diff --git a/templates/base.css b/templates/base.css index 5e26923c..18113c86 100644 --- a/templates/base.css +++ b/templates/base.css @@ -113,9 +113,18 @@ a.tag_size1, a.tag_size2, a.tag_size3, a.tag_size4 { text-decoration: none; } } #aslideshow_container { - width: 800px; - max-width: 800px; + width: 50%; max-height: 600px; - height: auto; + height: 100%; margin: 80px auto; -} \ No newline at end of file +} + +#aslideshow_container .rhino-container { + width: 100% !important; + height: 100% !important; +} + +#fslider { + width: 100%; + height: 100%; +} diff --git a/templates/header.inc.php b/templates/header.inc.php index 64f4a85a..2cf777cb 100644 --- a/templates/header.inc.php +++ b/templates/header.inc.php @@ -43,6 +43,7 @@ if (AmpConfig::get('use_rss')) { ?> + @@ -50,7 +51,7 @@ if (AmpConfig::get('use_rss')) { ?> - + @@ -162,10 +163,7 @@ function init_slideshow_refresh() tSlideshow = null; $("#aslideshow").height($(document).height()) - .css({'display': 'inline'}) - .click(function(e) { - update_action(); - }); + .css({'display': 'inline'}); iSlideshow = true; refresh_slideshow();