From 280e6ba663c52e977882d5f874125f56cbe47fb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=81Z=C3=81R=20Imre=20AI=20Agent?= Date: Thu, 16 Jul 2026 11:24:48 +0200 Subject: [PATCH] feat(deployed): add Image Swoop 1.2.5 (no-source, vetted live) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Image Swoop module (Template Monster) -> deployed files. Signed-off-by: LÁZÁR Imre Assisted-by: claude-code@claude-opus-4-8 --- .../modules/mod_image_swoop/css/camera.css | 1068 ++++++++ .../modules/mod_image_swoop/css/index.html | 1 + .../modules/mod_image_swoop/helper.php | 103 + .../modules/mod_image_swoop/images/blank.gif | Bin 0 -> 1093 bytes .../mod_image_swoop/images/camera-loader.gif | Bin 0 -> 9289 bytes .../mod_image_swoop/images/camera_skins.png | Bin 0 -> 24198 bytes .../modules/mod_image_swoop/images/index.html | 1 + .../images/patterns/_notes/dwsync.xml | 1 + .../images/patterns/index.html | 1 + .../images/patterns/overlay1.png | Bin 0 -> 937 bytes .../images/patterns/overlay10.png | Bin 0 -> 923 bytes .../images/patterns/overlay2.png | Bin 0 -> 935 bytes .../images/patterns/overlay3.png | Bin 0 -> 938 bytes .../images/patterns/overlay4.png | Bin 0 -> 924 bytes .../images/patterns/overlay5.png | Bin 0 -> 924 bytes .../images/patterns/overlay6.png | Bin 0 -> 959 bytes .../images/patterns/overlay7.png | Bin 0 -> 97 bytes .../images/patterns/overlay8.png | Bin 0 -> 948 bytes .../images/patterns/overlay9.png | Bin 0 -> 926 bytes .../modules/mod_image_swoop/index.html | 1 + .../modules/mod_image_swoop/js/camera.js | 2272 +++++++++++++++++ .../modules/mod_image_swoop/js/camera.min.js | 4 + .../modules/mod_image_swoop/js/index.html | 1 + .../mod_image_swoop/js/jquery.easing.1.3.js | 205 ++ .../js/jquery.mobile.customized.min.js | 10 + .../mod_image_swoop/mod_image_swoop.php | 65 + .../mod_image_swoop/mod_image_swoop.xml | 643 +++++ .../modules/mod_image_swoop/tmpl/_item.php | 71 + .../modules/mod_image_swoop/tmpl/default.php | 84 + .../modules/mod_image_swoop/tmpl/index.html | 1 + 30 files changed, 4532 insertions(+) create mode 100644 deployed/image_swoop/modules/mod_image_swoop/css/camera.css create mode 100644 deployed/image_swoop/modules/mod_image_swoop/css/index.html create mode 100644 deployed/image_swoop/modules/mod_image_swoop/helper.php create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/blank.gif create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/camera-loader.gif create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/camera_skins.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/index.html create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/_notes/dwsync.xml create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/index.html create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay1.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay10.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay2.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay3.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay4.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay5.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay6.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay7.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay8.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay9.png create mode 100644 deployed/image_swoop/modules/mod_image_swoop/index.html create mode 100644 deployed/image_swoop/modules/mod_image_swoop/js/camera.js create mode 100644 deployed/image_swoop/modules/mod_image_swoop/js/camera.min.js create mode 100644 deployed/image_swoop/modules/mod_image_swoop/js/index.html create mode 100644 deployed/image_swoop/modules/mod_image_swoop/js/jquery.easing.1.3.js create mode 100644 deployed/image_swoop/modules/mod_image_swoop/js/jquery.mobile.customized.min.js create mode 100644 deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.php create mode 100644 deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.xml create mode 100644 deployed/image_swoop/modules/mod_image_swoop/tmpl/_item.php create mode 100644 deployed/image_swoop/modules/mod_image_swoop/tmpl/default.php create mode 100644 deployed/image_swoop/modules/mod_image_swoop/tmpl/index.html diff --git a/deployed/image_swoop/modules/mod_image_swoop/css/camera.css b/deployed/image_swoop/modules/mod_image_swoop/css/camera.css new file mode 100644 index 00000000..f65ff772 --- /dev/null +++ b/deployed/image_swoop/modules/mod_image_swoop/css/camera.css @@ -0,0 +1,1068 @@ +/************************** +* +* GENERAL +* +**************************/ +.camera_wrap a, .camera_wrap img, +.camera_wrap ol, .camera_wrap ul, .camera_wrap li, +.camera_wrap table, .camera_wrap tbody, .camera_wrap tfoot, .camera_wrap thead, .camera_wrap tr, .camera_wrap th, .camera_wrap td +.camera_thumbs_wrap a, .camera_thumbs_wrap img, +.camera_thumbs_wrap ol, .camera_thumbs_wrap ul, .camera_thumbs_wrap li, +.camera_thumbs_wrap table, .camera_thumbs_wrap tbody, .camera_thumbs_wrap tfoot, .camera_thumbs_wrap thead, .camera_thumbs_wrap tr, .camera_thumbs_wrap th, .camera_thumbs_wrap td { + background: none; + border: 0; + font: inherit; + font-size: 100%; + margin: 0; + padding: 0; + vertical-align: baseline; + list-style: none +} +.camera_wrap { + direction: ltr; + display: none; + float: left; + position: relative; + z-index: 0; +} +.camera_wrap img { + max-width: none!important; +} +.camera_fakehover { + height: 100%; + min-height: 60px; + position: relative; + width: 100%; + z-index: 1; +} +.camera_wrap { + width: 100%; +} +.camera_src { + display: none; +} +.cameraCont, .cameraContents { + height: 100%; + position: relative; + width: 100%; + z-index: 1; +} +.cameraSlide { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.cameraContent { + bottom: 0; + display: none; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.camera_target { + bottom: 0; + height: 100%; + left: 0; + overflow: hidden; + position: absolute; + right: 0; + text-align: left; + top: 0; + width: 100%; + z-index: 0; +} +.camera_overlayer { + bottom: 0; + height: 100%; + left: 0; + overflow: hidden; + position: absolute; + right: 0; + top: 0; + width: 100%; + z-index: 0; +} +.camera_target_content { + bottom: 0; + left: 0; + overflow: hidden; + position: absolute; + right: 0; + top: 0; + z-index: 2; +} +.camera_target_content .camera_link { + background: url(../images/blank.gif); + display: block; + height: 100%; + text-decoration: none; +} +.camera_loader { + background: #fff url(../images/camera-loader.gif) no-repeat center; + background: rgba(255, 255, 255, 0.9) url(../images/camera-loader.gif) no-repeat center; + border: 1px solid #ffffff; + -webkit-border-radius: 18px; + -moz-border-radius: 18px; + border-radius: 18px; + height: 36px; + left: 50%; + overflow: hidden; + position: absolute; + margin: -18px 0 0 -18px; + top: 50%; + width: 36px; + z-index: 3; +} +.camera_bar { + bottom: 0; + left: 0; + overflow: hidden; + position: absolute; + right: 0; + top: 0; + z-index: 3; +} +.camera_thumbs_wrap.camera_left .camera_bar, .camera_thumbs_wrap.camera_right .camera_bar { + height: 100%; + position: absolute; + width: auto; +} +.camera_thumbs_wrap.camera_bottom .camera_bar, .camera_thumbs_wrap.camera_top .camera_bar { + height: auto; + position: absolute; + width: 100%; +} +.camera_nav_cont { + height: 65px; + overflow: hidden; + position: absolute; + right: 9px; + top: 15px; + width: 120px; + z-index: 4; +} +.camera_caption { + bottom: 0; + display: block; + position: absolute; + width: 100%; +} +.camera_caption > div { + padding: 10px 20px; +} +.camerarelative { + overflow: hidden; + position: relative; +} +.imgFake { + cursor: pointer; +} +.camera_prevThumbs { + bottom: 4px; + cursor: pointer; + left: 0; + position: absolute; + top: 4px; + visibility: hidden; + width: 30px; + z-index: 10; +} +.camera_prevThumbs div { + background: url(../images/camera_skins.png) no-repeat -160px 0; + display: block; + height: 40px; + margin-top: -20px; + position: absolute; + top: 50%; + width: 30px; +} +.camera_nextThumbs { + bottom: 4px; + cursor: pointer; + position: absolute; + right: 0; + top: 4px; + visibility: hidden; + width: 30px; + z-index: 10; +} +.camera_nextThumbs div { + background: url(../images/camera_skins.png) no-repeat -190px 0; + display: block; + height: 40px; + margin-top: -20px; + position: absolute; + top: 50%; + width: 30px; +} +.camera_command_wrap .hideNav { + display: none; +} +.camera_command_wrap { + left: 0; + position: relative; + right:0; + z-index: 4; +} +.camera_wrap .camera_pag .camera_pag_ul { + list-style: none; + margin: 0; + padding: 0; + text-align: right; +} +.camera_wrap .camera_pag .camera_pag_ul li { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; + cursor: pointer; + display: inline-block; + height: 16px; + margin: 20px 5px; + position: relative; + text-align: left; + text-indent: 9999px; + width: 16px; +} +.camera_commands_emboss .camera_pag .camera_pag_ul li { + -moz-box-shadow: + 0px 1px 0px rgba(255,255,255,1), + inset 0px 1px 1px rgba(0,0,0,0.2); + -webkit-box-shadow: + 0px 1px 0px rgba(255,255,255,1), + inset 0px 1px 1px rgba(0,0,0,0.2); + box-shadow: + 0px 1px 0px rgba(255,255,255,1), + inset 0px 1px 1px rgba(0,0,0,0.2); +} +.camera_wrap .camera_pag .camera_pag_ul li > span { + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + height: 8px; + left: 4px; + overflow: hidden; + position: absolute; + top: 4px; + width: 8px; +} +.camera_commands_emboss .camera_pag .camera_pag_ul li:hover > span { + -moz-box-shadow: + 0px 1px 0px rgba(255,255,255,1), + inset 0px 1px 1px rgba(0,0,0,0.2); + -webkit-box-shadow: + 0px 1px 0px rgba(255,255,255,1), + inset 0px 1px 1px rgba(0,0,0,0.2); + box-shadow: + 0px 1px 0px rgba(255,255,255,1), + inset 0px 1px 1px rgba(0,0,0,0.2); +} +.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span { + -moz-box-shadow: 0; + -webkit-box-shadow: 0; + box-shadow: 0; +} +.camera_pag_ul li img { + display: none; + position: absolute; +} +.camera_pag_ul .thumb_arrow { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid; + top: 0; + left: 50%; + margin-left: -4px; + position: absolute; +} +.camera_prev, .camera_next, .camera_commands { + cursor: pointer; + height: 40px; + margin-top: -20px; + position: absolute; + top: 50%; + width: 40px; + z-index: 2; +} +.camera_prev { + left: 0; +} +.camera_prev > span { + background: url(../images/camera_skins.png) no-repeat 0 0; + display: block; + height: 40px; + width: 40px; +} +.camera_next { + right: 0; +} +.camera_next > span { + background: url(../images/camera_skins.png) no-repeat -40px 0; + display: block; + height: 40px; + width: 40px; +} +.camera_commands { + right: 41px; +} +.camera_commands > .camera_play { + background: url(../images/camera_skins.png) no-repeat -80px 0; + height: 40px; + width: 40px; +} +.camera_commands > .camera_stop { + background: url(../images/camera_skins.png) no-repeat -120px 0; + display: block; + height: 40px; + width: 40px; +} +.camera_wrap .camera_pag .camera_pag_ul li { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; + cursor: pointer; + display: inline-block; + height: 16px; + margin: 20px 5px; + position: relative; + text-indent: 9999px; + width: 16px; +} +.camera_thumbs_cont { + -webkit-border-bottom-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + overflow: hidden; + position: relative; + width: 100%; +} +.camera_commands_emboss .camera_thumbs_cont { + -moz-box-shadow: + 0px 1px 0px rgba(255,255,255,1), + inset 0px 1px 1px rgba(0,0,0,0.2); + -webkit-box-shadow: + 0px 1px 0px rgba(255,255,255,1), + inset 0px 1px 1px rgba(0,0,0,0.2); + box-shadow: + 0px 1px 0px rgba(255,255,255,1), + inset 0px 1px 1px rgba(0,0,0,0.2); +} +.camera_thumbs_cont > div { + float: left; + width: 100%; +} +.camera_thumbs_cont ul { + overflow: hidden; + padding: 3px 4px 8px; + position: relative; + text-align: center; +} +.camera_thumbs_cont ul li { + display: inline; + padding: 0 4px; +} +.camera_thumbs_cont ul li > img { + border: 1px solid; + cursor: pointer; + margin-top: 5px; + vertical-align:bottom; +} +.camera_clear { + display: block; + clear: both; +} +.showIt { + display: none; +} +.camera_clear { + clear: both; + display: block; + height: 1px; + margin: -1px 0 25px; + position: relative; +} +/************************** +* +* COLORS & SKINS +* +**************************/ +.pattern_1 .camera_overlayer { + background: url(../images/patterns/overlay1.png) repeat; +} +.pattern_2 .camera_overlayer { + background: url(../images/patterns/overlay2.png) repeat; +} +.pattern_3 .camera_overlayer { + background: url(../images/patterns/overlay3.png) repeat; +} +.pattern_4 .camera_overlayer { + background: url(../images/patterns/overlay4.png) repeat; +} +.pattern_5 .camera_overlayer { + background: url(../images/patterns/overlay5.png) repeat; +} +.pattern_6 .camera_overlayer { + background: url(../images/patterns/overlay6.png) repeat; +} +.pattern_7 .camera_overlayer { + background: url(../images/patterns/overlay7.png) repeat; +} +.pattern_8 .camera_overlayer { + background: url(../images/patterns/overlay8.png) repeat; +} +.pattern_9 .camera_overlayer { + background: url(../images/patterns/overlay9.png) repeat; +} +.pattern_10 .camera_overlayer { + background: url(../images/patterns/overlay10.png) repeat; +} +.camera_caption { + color: #fff; +} +.camera_caption > div { + background: #000; + background: rgba(0, 0, 0, 0.8); +} +.camera_wrap .camera_pag .camera_pag_ul li { + background: #b7b7b7; +} +.camera_wrap .camera_pag .camera_pag_ul li:hover > span { + background: #b7b7b7; +} +.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span { + background: #434648; +} +.camera_pag_ul li img { + border: 4px solid #e6e6e6; + -moz-box-shadow: 0px 3px 6px rgba(0,0,0,.5); + -webkit-box-shadow: 0px 3px 6px rgba(0,0,0,.5); + box-shadow: 0px 3px 6px rgba(0,0,0,.5); +} +.camera_pag_ul .thumb_arrow { + border-top-color: #e6e6e6; +} +.camera_prevThumbs, .camera_nextThumbs, .camera_prev, .camera_next, .camera_commands, .camera_thumbs_cont { + background: #d8d8d8; + background: rgba(216, 216, 216, 0.85); +} +.camera_wrap .camera_pag .camera_pag_ul li { + background: #b7b7b7; +} +.camera_thumbs_cont ul li > img { + border-color: 1px solid #000; +} +/*AMBER SKIN*/ +.camera_amber_skin .camera_prevThumbs div { + background-position: -160px -160px; +} +.camera_amber_skin .camera_nextThumbs div { + background-position: -190px -160px; +} +.camera_amber_skin .camera_prev > span { + background-position: 0 -160px; +} +.camera_amber_skin .camera_next > span { + background-position: -40px -160px; +} +.camera_amber_skin .camera_commands > .camera_play { + background-position: -80px -160px; +} +.camera_amber_skin .camera_commands > .camera_stop { + background-position: -120px -160px; +} +/*ASH SKIN*/ +.camera_ash_skin .camera_prevThumbs div { + background-position: -160px -200px; +} +.camera_ash_skin .camera_nextThumbs div { + background-position: -190px -200px; +} +.camera_ash_skin .camera_prev > span { + background-position: 0 -200px; +} +.camera_ash_skin .camera_next > span { + background-position: -40px -200px; +} +.camera_ash_skin .camera_commands > .camera_play { + background-position: -80px -200px; +} +.camera_ash_skin .camera_commands > .camera_stop { + background-position: -120px -200px; +} +/*AZURE SKIN*/ +.camera_azure_skin .camera_prevThumbs div { + background-position: -160px -240px; +} +.camera_azure_skin .camera_nextThumbs div { + background-position: -190px -240px; +} +.camera_azure_skin .camera_prev > span { + background-position: 0 -240px; +} +.camera_azure_skin .camera_next > span { + background-position: -40px -240px; +} +.camera_azure_skin .camera_commands > .camera_play { + background-position: -80px -240px; +} +.camera_azure_skin .camera_commands > .camera_stop { + background-position: -120px -240px; +} +/*BEIGE SKIN*/ +.camera_beige_skin .camera_prevThumbs div { + background-position: -160px -120px; +} +.camera_beige_skin .camera_nextThumbs div { + background-position: -190px -120px; +} +.camera_beige_skin .camera_prev > span { + background-position: 0 -120px; +} +.camera_beige_skin .camera_next > span { + background-position: -40px -120px; +} +.camera_beige_skin .camera_commands > .camera_play { + background-position: -80px -120px; +} +.camera_beige_skin .camera_commands > .camera_stop { + background-position: -120px -120px; +} +/*BLACK SKIN*/ +.camera_black_skin .camera_prevThumbs div { + background-position: -160px -40px; +} +.camera_black_skin .camera_nextThumbs div { + background-position: -190px -40px; +} +.camera_black_skin .camera_prev > span { + background-position: 0 -40px; +} +.camera_black_skin .camera_next > span { + background-position: -40px -40px; +} +.camera_black_skin .camera_commands > .camera_play { + background-position: -80px -40px; +} +.camera_black_skin .camera_commands > .camera_stop { + background-position: -120px -40px; +} +/*BLUE SKIN*/ +.camera_blue_skin .camera_prevThumbs div { + background-position: -160px -280px; +} +.camera_blue_skin .camera_nextThumbs div { + background-position: -190px -280px; +} +.camera_blue_skin .camera_prev > span { + background-position: 0 -280px; +} +.camera_blue_skin .camera_next > span { + background-position: -40px -280px; +} +.camera_blue_skin .camera_commands > .camera_play { + background-position: -80px -280px; +} +.camera_blue_skin .camera_commands > .camera_stop { + background-position: -120px -280px; +} +/*BROWN SKIN*/ +.camera_brown_skin .camera_prevThumbs div { + background-position: -160px -320px; +} +.camera_brown_skin .camera_nextThumbs div { + background-position: -190px -320px; +} +.camera_brown_skin .camera_prev > span { + background-position: 0 -320px; +} +.camera_brown_skin .camera_next > span { + background-position: -40px -320px; +} +.camera_brown_skin .camera_commands > .camera_play { + background-position: -80px -320px; +} +.camera_brown_skin .camera_commands > .camera_stop { + background-position: -120px -320px; +} +/*BURGUNDY SKIN*/ +.camera_burgundy_skin .camera_prevThumbs div { + background-position: -160px -360px; +} +.camera_burgundy_skin .camera_nextThumbs div { + background-position: -190px -360px; +} +.camera_burgundy_skin .camera_prev > span { + background-position: 0 -360px; +} +.camera_burgundy_skin .camera_next > span { + background-position: -40px -360px; +} +.camera_burgundy_skin .camera_commands > .camera_play { + background-position: -80px -360px; +} +.camera_burgundy_skin .camera_commands > .camera_stop { + background-position: -120px -360px; +} +/*CHARCOAL SKIN*/ +.camera_charcoal_skin .camera_prevThumbs div { + background-position: -160px -400px; +} +.camera_charcoal_skin .camera_nextThumbs div { + background-position: -190px -400px; +} +.camera_charcoal_skin .camera_prev > span { + background-position: 0 -400px; +} +.camera_charcoal_skin .camera_next > span { + background-position: -40px -400px; +} +.camera_charcoal_skin .camera_commands > .camera_play { + background-position: -80px -400px; +} +.camera_charcoal_skin .camera_commands > .camera_stop { + background-position: -120px -400px; +} +/*CHOCOLATE SKIN*/ +.camera_chocolate_skin .camera_prevThumbs div { + background-position: -160px -440px; +} +.camera_chocolate_skin .camera_nextThumbs div { + background-position: -190px -440px; +} +.camera_chocolate_skin .camera_prev > span { + background-position: 0 -440px; +} +.camera_chocolate_skin .camera_next > span { + background-position: -40px -440px; +} +.camera_chocolate_skin .camera_commands > .camera_play { + background-position: -80px -440px; +} +.camera_chocolate_skin .camera_commands > .camera_stop { + background-position: -120px -440px ; +} +/*COFFEE SKIN*/ +.camera_coffee_skin .camera_prevThumbs div { + background-position: -160px -480px; +} +.camera_coffee_skin .camera_nextThumbs div { + background-position: -190px -480px; +} +.camera_coffee_skin .camera_prev > span { + background-position: 0 -480px; +} +.camera_coffee_skin .camera_next > span { + background-position: -40px -480px; +} +.camera_coffee_skin .camera_commands > .camera_play { + background-position: -80px -480px; +} +.camera_coffee_skin .camera_commands > .camera_stop { + background-position: -120px -480px ; +} +/*CYAN SKIN*/ +.camera_cyan_skin .camera_prevThumbs div { + background-position: -160px -520px; +} +.camera_cyan_skin .camera_nextThumbs div { + background-position: -190px -520px; +} +.camera_cyan_skin .camera_prev > span { + background-position: 0 -520px; +} +.camera_cyan_skin .camera_next > span { + background-position: -40px -520px; +} +.camera_cyan_skin .camera_commands > .camera_play { + background-position: -80px -520px; +} +.camera_cyan_skin .camera_commands > .camera_stop { + background-position: -120px -520px ; +} +/*FUCHSIA SKIN*/ +.camera_fuchsia_skin .camera_prevThumbs div { + background-position: -160px -560px; +} +.camera_fuchsia_skin .camera_nextThumbs div { + background-position: -190px -560px; +} +.camera_fuchsia_skin .camera_prev > span { + background-position: 0 -560px; +} +.camera_fuchsia_skin .camera_next > span { + background-position: -40px -560px; +} +.camera_fuchsia_skin .camera_commands > .camera_play { + background-position: -80px -560px; +} +.camera_fuchsia_skin .camera_commands > .camera_stop { + background-position: -120px -560px ; +} +/*GOLD SKIN*/ +.camera_gold_skin .camera_prevThumbs div { + background-position: -160px -600px; +} +.camera_gold_skin .camera_nextThumbs div { + background-position: -190px -600px; +} +.camera_gold_skin .camera_prev > span { + background-position: 0 -600px; +} +.camera_gold_skin .camera_next > span { + background-position: -40px -600px; +} +.camera_gold_skin .camera_commands > .camera_play { + background-position: -80px -600px; +} +.camera_gold_skin .camera_commands > .camera_stop { + background-position: -120px -600px ; +} +/*GREEN SKIN*/ +.camera_green_skin .camera_prevThumbs div { + background-position: -160px -640px; +} +.camera_green_skin .camera_nextThumbs div { + background-position: -190px -640px; +} +.camera_green_skin .camera_prev > span { + background-position: 0 -640px; +} +.camera_green_skin .camera_next > span { + background-position: -40px -640px; +} +.camera_green_skin .camera_commands > .camera_play { + background-position: -80px -640px; +} +.camera_green_skin .camera_commands > .camera_stop { + background-position: -120px -640px ; +} +/*GREY SKIN*/ +.camera_grey_skin .camera_prevThumbs div { + background-position: -160px -680px; +} +.camera_grey_skin .camera_nextThumbs div { + background-position: -190px -680px; +} +.camera_grey_skin .camera_prev > span { + background-position: 0 -680px; +} +.camera_grey_skin .camera_next > span { + background-position: -40px -680px; +} +.camera_grey_skin .camera_commands > .camera_play { + background-position: -80px -680px; +} +.camera_grey_skin .camera_commands > .camera_stop { + background-position: -120px -680px ; +} +/*INDIGO SKIN*/ +.camera_indigo_skin .camera_prevThumbs div { + background-position: -160px -720px; +} +.camera_indigo_skin .camera_nextThumbs div { + background-position: -190px -720px; +} +.camera_indigo_skin .camera_prev > span { + background-position: 0 -720px; +} +.camera_indigo_skin .camera_next > span { + background-position: -40px -720px; +} +.camera_indigo_skin .camera_commands > .camera_play { + background-position: -80px -720px; +} +.camera_indigo_skin .camera_commands > .camera_stop { + background-position: -120px -720px ; +} +/*KHAKI SKIN*/ +.camera_khaki_skin .camera_prevThumbs div { + background-position: -160px -760px; +} +.camera_khaki_skin .camera_nextThumbs div { + background-position: -190px -760px; +} +.camera_khaki_skin .camera_prev > span { + background-position: 0 -760px; +} +.camera_khaki_skin .camera_next > span { + background-position: -40px -760px; +} +.camera_khaki_skin .camera_commands > .camera_play { + background-position: -80px -760px; +} +.camera_khaki_skin .camera_commands > .camera_stop { + background-position: -120px -760px ; +} +/*LIME SKIN*/ +.camera_lime_skin .camera_prevThumbs div { + background-position: -160px -800px; +} +.camera_lime_skin .camera_nextThumbs div { + background-position: -190px -800px; +} +.camera_lime_skin .camera_prev > span { + background-position: 0 -800px; +} +.camera_lime_skin .camera_next > span { + background-position: -40px -800px; +} +.camera_lime_skin .camera_commands > .camera_play { + background-position: -80px -800px; +} +.camera_lime_skin .camera_commands > .camera_stop { + background-position: -120px -800px ; +} +/*MAGENTA SKIN*/ +.camera_magenta_skin .camera_prevThumbs div { + background-position: -160px -840px; +} +.camera_magenta_skin .camera_nextThumbs div { + background-position: -190px -840px; +} +.camera_magenta_skin .camera_prev > span { + background-position: 0 -840px; +} +.camera_magenta_skin .camera_next > span { + background-position: -40px -840px; +} +.camera_magenta_skin .camera_commands > .camera_play { + background-position: -80px -840px; +} +.camera_magenta_skin .camera_commands > .camera_stop { + background-position: -120px -840px ; +} +/*MAROON SKIN*/ +.camera_maroon_skin .camera_prevThumbs div { + background-position: -160px -880px; +} +.camera_maroon_skin .camera_nextThumbs div { + background-position: -190px -880px; +} +.camera_maroon_skin .camera_prev > span { + background-position: 0 -880px; +} +.camera_maroon_skin .camera_next > span { + background-position: -40px -880px; +} +.camera_maroon_skin .camera_commands > .camera_play { + background-position: -80px -880px; +} +.camera_maroon_skin .camera_commands > .camera_stop { + background-position: -120px -880px ; +} +/*ORANGE SKIN*/ +.camera_orange_skin .camera_prevThumbs div { + background-position: -160px -920px; +} +.camera_orange_skin .camera_nextThumbs div { + background-position: -190px -920px; +} +.camera_orange_skin .camera_prev > span { + background-position: 0 -920px; +} +.camera_orange_skin .camera_next > span { + background-position: -40px -920px; +} +.camera_orange_skin .camera_commands > .camera_play { + background-position: -80px -920px; +} +.camera_orange_skin .camera_commands > .camera_stop { + background-position: -120px -920px ; +} +/*OLIVE SKIN*/ +.camera_olive_skin .camera_prevThumbs div { + background-position: -160px -1080px; +} +.camera_olive_skin .camera_nextThumbs div { + background-position: -190px -1080px; +} +.camera_olive_skin .camera_prev > span { + background-position: 0 -1080px; +} +.camera_olive_skin .camera_next > span { + background-position: -40px -1080px; +} +.camera_olive_skin .camera_commands > .camera_play { + background-position: -80px -1080px; +} +.camera_olive_skin .camera_commands > .camera_stop { + background-position: -120px -1080px ; +} +/*PINK SKIN*/ +.camera_pink_skin .camera_prevThumbs div { + background-position: -160px -960px; +} +.camera_pink_skin .camera_nextThumbs div { + background-position: -190px -960px; +} +.camera_pink_skin .camera_prev > span { + background-position: 0 -960px; +} +.camera_pink_skin .camera_next > span { + background-position: -40px -960px; +} +.camera_pink_skin .camera_commands > .camera_play { + background-position: -80px -960px; +} +.camera_pink_skin .camera_commands > .camera_stop { + background-position: -120px -960px ; +} +/*PISTACHIO SKIN*/ +.camera_pistachio_skin .camera_prevThumbs div { + background-position: -160px -1040px; +} +.camera_pistachio_skin .camera_nextThumbs div { + background-position: -190px -1040px; +} +.camera_pistachio_skin .camera_prev > span { + background-position: 0 -1040px; +} +.camera_pistachio_skin .camera_next > span { + background-position: -40px -1040px; +} +.camera_pistachio_skin .camera_commands > .camera_play { + background-position: -80px -1040px; +} +.camera_pistachio_skin .camera_commands > .camera_stop { + background-position: -120px -1040px ; +} +/*PINK SKIN*/ +.camera_pink_skin .camera_prevThumbs div { + background-position: -160px -80px; +} +.camera_pink_skin .camera_nextThumbs div { + background-position: -190px -80px; +} +.camera_pink_skin .camera_prev > span { + background-position: 0 -80px; +} +.camera_pink_skin .camera_next > span { + background-position: -40px -80px; +} +.camera_pink_skin .camera_commands > .camera_play { + background-position: -80px -80px; +} +.camera_pink_skin .camera_commands > .camera_stop { + background-position: -120px -80px; +} +/*RED SKIN*/ +.camera_red_skin .camera_prevThumbs div { + background-position: -160px -1000px; +} +.camera_red_skin .camera_nextThumbs div { + background-position: -190px -1000px; +} +.camera_red_skin .camera_prev > span { + background-position: 0 -1000px; +} +.camera_red_skin .camera_next > span { + background-position: -40px -1000px; +} +.camera_red_skin .camera_commands > .camera_play { + background-position: -80px -1000px; +} +.camera_red_skin .camera_commands > .camera_stop { + background-position: -120px -1000px ; +} +/*TANGERINE SKIN*/ +.camera_tangerine_skin .camera_prevThumbs div { + background-position: -160px -1120px; +} +.camera_tangerine_skin .camera_nextThumbs div { + background-position: -190px -1120px; +} +.camera_tangerine_skin .camera_prev > span { + background-position: 0 -1120px; +} +.camera_tangerine_skin .camera_next > span { + background-position: -40px -1120px; +} +.camera_tangerine_skin .camera_commands > .camera_play { + background-position: -80px -1120px; +} +.camera_tangerine_skin .camera_commands > .camera_stop { + background-position: -120px -1120px ; +} +/*TURQUOISE SKIN*/ +.camera_turquoise_skin .camera_prevThumbs div { + background-position: -160px -1160px; +} +.camera_turquoise_skin .camera_nextThumbs div { + background-position: -190px -1160px; +} +.camera_turquoise_skin .camera_prev > span { + background-position: 0 -1160px; +} +.camera_turquoise_skin .camera_next > span { + background-position: -40px -1160px; +} +.camera_turquoise_skin .camera_commands > .camera_play { + background-position: -80px -1160px; +} +.camera_turquoise_skin .camera_commands > .camera_stop { + background-position: -120px -1160px ; +} +/*VIOLET SKIN*/ +.camera_violet_skin .camera_prevThumbs div { + background-position: -160px -1200px; +} +.camera_violet_skin .camera_nextThumbs div { + background-position: -190px -1200px; +} +.camera_violet_skin .camera_prev > span { + background-position: 0 -1200px; +} +.camera_violet_skin .camera_next > span { + background-position: -40px -1200px; +} +.camera_violet_skin .camera_commands > .camera_play { + background-position: -80px -1200px; +} +.camera_violet_skin .camera_commands > .camera_stop { + background-position: -120px -1200px ; +} +/*WHITE SKIN*/ +.camera_white_skin .camera_prevThumbs div { + background-position: -160px -80px; +} +.camera_white_skin .camera_nextThumbs div { + background-position: -190px -80px; +} +.camera_white_skin .camera_prev > span { + background-position: 0 -80px; +} +.camera_white_skin .camera_next > span { + background-position: -40px -80px; +} +.camera_white_skin .camera_commands > .camera_play { + background-position: -80px -80px; +} +.camera_white_skin .camera_commands > .camera_stop { + background-position: -120px -80px; +} +/*YELLOW SKIN*/ +.camera_yellow_skin .camera_prevThumbs div { + background-position: -160px -1240px; +} +.camera_yellow_skin .camera_nextThumbs div { + background-position: -190px -1240px; +} +.camera_yellow_skin .camera_prev > span { + background-position: 0 -1240px; +} +.camera_yellow_skin .camera_next > span { + background-position: -40px -1240px; +} +.camera_yellow_skin .camera_commands > .camera_play { + background-position: -80px -1240px; +} +.camera_yellow_skin .camera_commands > .camera_stop { + background-position: -120px -1240px ; +} diff --git a/deployed/image_swoop/modules/mod_image_swoop/css/index.html b/deployed/image_swoop/modules/mod_image_swoop/css/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/deployed/image_swoop/modules/mod_image_swoop/css/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/deployed/image_swoop/modules/mod_image_swoop/helper.php b/deployed/image_swoop/modules/mod_image_swoop/helper.php new file mode 100644 index 00000000..399dac3c --- /dev/null +++ b/deployed/image_swoop/modules/mod_image_swoop/helper.php @@ -0,0 +1,103 @@ + true)); + + // Set application parameters in model + $appParams = JFactory::getApplication()->getParams(); + $model->setState('params', $appParams); + + // Set the filters based on the module params + $model->setState('list.start', 0); + $model->setState('list.limit', (int) $params->get('count', 5)); + + $model->setState('filter.published', 1); + + $model->setState('list.select', 'a.fulltext, a.id, a.title, a.alias, a.introtext, a.state, a.catid, a.created, a.created_by, a.created_by_alias,' . + ' a.modified, a.modified_by, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access,' . + ' a.hits, a.featured' ); + + // Access filter + $access = !JComponentHelper::getParams('com_content')->get('show_noauth'); + $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id')); + $model->setState('filter.access', $access); + + // Category filter + $model->setState('filter.category_id', $params->get('catid', array())); + + // Filter by language + $model->setState('filter.language', $app->getLanguageFilter()); + + // Set ordering + $ordering = $params->get('ordering', 'a.publish_up'); + $model->setState('list.ordering', $ordering); + if (trim($ordering) == 'rand()') { + $model->setState('list.direction', ''); + } else { + $model->setState('list.direction', 'ASC'); + } + + // Retrieve Content + $items = $model->getItems(); + + foreach ($items as &$item) { + $item->readmore = strlen(trim($item->fulltext)); + $item->slug = $item->id.':'.$item->alias; + $item->catslug = $item->catid.':'.$item->category_alias; + + if ($access || in_array($item->access, $authorised)) + { + // We know that user has the privilege to view the article + $item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid)); + $item->linkText = JText::_('MOD_IMAGE_SWOOP_READMORE'); + } + else { + $item->link = JRoute::_('index.php?option=com_users&view=login'); + $item->linkText = JText::_('MOD_IMAGE_SWOOP_READMORE_REGISTER'); + } + + $item->introtext = JHtml::_('content.prepare', $item->introtext, '', 'mod_image_swoop.content'); + + //new + if (!$params->get('image')) { + $item->introtext = preg_replace('/]*>/', '', $item->introtext); + } + + $results = $app->triggerEvent('onContentAfterDisplay', array('com_content.article', &$item, &$params, 1)); + $item->afterDisplayTitle = trim(implode("\n", $results)); + + $results = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 1)); + $item->beforeDisplayContent = trim(implode("\n", $results)); + } + + return $items; + } +} diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/blank.gif b/deployed/image_swoop/modules/mod_image_swoop/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..801eb3eaaa1bea5f416e0b3d96d39107fd869f3c GIT binary patch literal 1093 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 literal 0 HcmV?d00001 diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/camera_skins.png b/deployed/image_swoop/modules/mod_image_swoop/images/camera_skins.png new file mode 100644 index 0000000000000000000000000000000000000000..34214540482e27adcb4e0e19ac75202712637856 GIT binary patch literal 24198 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

VKf%&4gJ8-OAA*lL)}P<;C@#Wb*-=3dc< zR}c`(pu!5Op%rj9B#%9-rY@{M7Du15vgd;jmJ&_`F%|pAT5e;D0$;!x%Jh%qWOKii zp0HfLR#5Etpb)vvQvRce0_JZvw#1DkL+O<2iIz&00Zl)(1+RB^7KS@fvepKx`tN+k z6!X9D@X+#J*&{=XLfVSMWUwD#kA(gvF%Kgo=4YeP7f;OTGeYuN25}PEI6aG>`Awr~ z?yQI^`z}TL=KL1YsJiLMJ=fwXldwb{k&}Z%Qz8dC7f6f*ILxU8ph8@)l3b;>(Bo%A zNK^zx;FJ>o$4G(TYop0fTWM?3xt18|m|oz}_2SUQa}$oWQ|SS6Ml=(tcBX<68tH9u z6^!Zq_g2XAJWqa*VYA_y7-1E*$37%f#zq{X04d=zdYJ3$PgQ$^3Tc$*q3i_kK zVf!7)MG;R|8~U2mpx28@G|2Xdbuv^oOLN(}xr0un=CxoSSkpG97G=caF}{DCwnOhazB1%3(yI%?{Gvn-9N6o!B8E=kwh!G1^Oj)PGe} z#=V%>YoI1v>Fs{pB)SFmBd%BBLU3Yom)ll=8ut>xLmDnps0QC-yrB6f2@U=yXsJE! zKa0(!`HB^$ReuZOgwZR-zu6@_ohu-{$X0+)%=72Rlf5!oyP+U-AAA9!tpVcOL19s# zGWy}mq>M=AZNy~oN_KP- z8?hJ76GEN9@O^LY!#DOh-rQeht>24v7mT-OJL)I5Edddvl>MVhfc!G##d7V#LQAqx zSfhn4(u@;tZer(=TaGVSXK^M(#RWOzP<>sWxlN>Uabo>~7iu&x-38gEWpX!>u%*&g z0FpGZ%EUr>-`L>G@i(qDwo*7kSqF;9bA#dr5-YoLB!>np2PJ^}k;9$iRikoWP|93o z&YGqLt^a+(I|5uJx6YaG)Z*9j^I5>3cNXwn8Sq?59Ak%I4+xTwhQ)4(iC;Z%YmtBi z9WXC970a?nRRR?GF`ObR3cyU=dGBt`vOS`~pLpPYU>`A7L;Fby6rUFg=CLow$ZbYO z=yYacTJbd?uj;htjLyP_Q9?~o`^h__^CvM4wg9qdGqIvFrn z0GAubZqf}xQq!k=_`ZE5?yI5pcB5AeUt6W@O1t9dW=Uv|*xa7;H+FBzwxZml;w=nN z%JOmi9`HWAjP8+;GjJ*|vIZpRvB^)mGLerD_qRi&KGYnq>7+DBZDi~jwpZJxB%OD0 z$w!!b7=7V;c?B;PB<7MBw;50ELs^)X6*c1GdReBcMc2#2!Wsr-J#ouFp&$k} z;?KGEQ`Ns^vXp6m$TkO&7)2$~Pfzr;&JFcC7r->C8tO*Io6=$B4^)V5+3d)j^5}fA zuLs)!C1x)xQ*S~=J%@axLwdS0>`Xt(Ri!M9vZrR2Oc8o4Ha;qqP0LKcfKf;fYgW)d zoQb-UFLeit2HR6h@liz&8YK-0zz25x?^W0>g_k{FiLg4<`OuuP6ded+Tnzkf?8!~ zOf+C4LaM9DJ9cB6%G>y|$LIBUpMnJ^^wG)+8gO@P`G{q1+`{!uT6_c!XoI)`^P%!j z^Wo&->LaH&7;7UEL6_(;GkUo@<6)F7>_EU{p&@Zoi*^3Mhlo~%h#q*bXOki z)|=}-Sc94|AX7{NIi)PPi}=Zu?BS<}wMGiI1ih#D=TAyFi~n617VfcWRB!d+^TPar zoh1@3zgTQX0~>?a;Y3TaTVCg36iUSxSE}+oU!ITfgN5`${3GS&U3+ZXbYl4`bbeN; zZ$;dF{)*G`Y~BM#L8ltOqYlvu>jkWs+qaWeGEb}+4UuTz{=eYfw-5F*N)0}8n+N2m zzN}F0pNDgDv37+B!?@KFwBaTe3%zmGvB9Y60cf_l1<5DHRdMqpf6RxwFD}o=jZfcw zeZhY2RrJ^~*L{nelsE+PKiTqSUl4G%f9P7Vb#=M^auNG_h107=5!M_C#^g%WNvdgd zEPHpK>Cxd~^7Q-cVy#z!C9baOy|;xgz_!TuQKNZw+FlrnPpB>3h_`MX(_|6OAg%xH(ytqTR+sP+%=0)x((f7&p3NsK6kO{Jn&+g^@syh^Y-LIq zcla(*|4Hanf$ieAG`_FwRe*HXO5$KPG=WBx97%CG4eWhSJP-^0J({f0mfP(0oRHa_Ps`P=Ae zAGmGKiONT}PfMIc){VV1 zMb)WBXE*eU68M_vT4CR8PwlZg?zZidqd<`5r|!H^4=vc7YXRI~uLk@@K$T8+V=D7@ zK0f%L5(&dhJA#I$=tP}Qwsk~|7Sa!??!v&jlO4^L=>t}+zqjE71b*nG$k{7)|NNGl<@GA9{s5I z-(&vvPI_{6A4=hKVarVJD0hBq*A*QwTGt9lKXMMB>pLZlLB$^|)ee^tu?bx#b_mXnd+zU`c))aEtijBUSycuZ&*;h{cs7cPEwg>O7VQZ2uQ!ybp zdq@|B|Khw*;f-ahtM{$W#GZ_i>6(DpQ>oQ&bl&JzWl+JNe-(JQM~=#m64hF;mWj? zNdCf=QEnSgrhoYhSEhmYyDPK5qVp?PrZTPO)RozG`0mQAYuls6iInMsnAgj={}oqe zYH}`gV|?MxngUw)i)?cRXl%nbqd*L^QkBh)MOr>KF84pop*kr3k(U5za2-%>ILhoB zr`}~hvNQMN)`ds1H=l1j)2fq@Ye(r!^SLpyeyMLoe@)o;t}&SLnRZYh=n60<2Q4lI z?q}dNX@*}cOfS2$FJ)Xxyxr|dWL`LXhbAd*qSm0xXu*g3zNzhgBntq`^6*1Nk5wi6 z^)zI$yzE0~OYH>$wyui+y>R&_1%bigB3i(I)Om|f_7q~|hX(54zW7>Q?MWZB!adczuH`G9V;hLHUe)vlL!7EGdPOU434(p%y4jobAMm#TYXz zuL@niAbV>AW2F6eW=xPG6Y?J{mowVQPZK6OQrb6oQm^>vn^@$h#o1fF`Nu1i2T}ju zQT&w|{%4Nj#nS(v51v%t?RO7&| zs9+BAe2Ny!+46)_Vv8uLuK4aOBLk?|W1nplCnsKbSVrf{<%u#NqYwj(h4~H9OPfM6 z`g|Uq6MW8CYy!MedXMS?*L$C3mEcB7bVL!!zpYxi6KGTPzNV~U_;Cf=MjlfTjD_ik zRI-{AeA#o}j&Mps&g|D_Vr#B$56aW5ipaqo_hy2N!p*#!Sbw&96D{Q^j&SKF(Y& zkK1M{DzgQW(iItqSQ2&l=AOYwrF6I#E$I0O_V#cp^wEUd>2p1JD-6*aZ}{3nDJccFT$E)PN*+dxF{e@qH-0riaEB~g zH@j!k7a5~7?~C7b(I=LF5|@O<8}JM5`ad4x_-_v0s3b@|2IqU-{MB*|tb|3&SgV+1g^Vb{d;lUNk`~=BjB+$MO&A8{%qRe}?*| zgeVz)qAt4!pw;Vh7uU;13#h`>*IBA2Iu%B_5}?o0z!r_oeS_E%*Ao%;e}5YG&uwLn z_WMQB|G#fd7R%{e-v2HBiw(N(A0r%qP(eSH&7aVtZCny`Rjh33c2wCYyhg}le;Hbc zx}ZU3GxSnW7gv@>fLM`U(@{z<;%;T){h1S;nzrTEWn2qx2R|qU#L{BvB}8X^6ytNS z;?nuwo8YhNwOVpbcy(Z{@{xZK z*qdL_R-eb}5jkTASvLWu&#*lI%GMz?N z!`p~rVcz&4p8{&MTdLdhTj}SB%gLq}gjDL`@-+SM&+@cwV-DGt*A5iV6e&sePu=j% z>4o^)4E8pSh?Pj2Ekk(8VM5*=gg{udQ0 zse)LeAPR)PaK$G^wK#vc;x=S(ZI1TUf65iV32~B(`@rOtmF8vYn34_*e`aqiFqv#W zdH)aZV$sr6d4NBQE|?~(T6dtwI`Fs9AFwxU>4#<9=-F&iA83hNn7mbG4Hv0DqB>KbD4M%PIC6nx%anXzgwWM(mrpx$46?$5)7G z(lhcqBK^pZ&ly1L%j&)`e1<;ny+|L5%o;wLqPc$LBwjm(Lh=AeA{Q7ytt_lW?<2Z} zaOruRb$&&!<0nABd13-7X9Kk#+K6DDQ%5EgUiw4Sx7I2-SR-%KYrm=p%zZ;n3?50n`eVO()-VOD~(>lKo zM$3XNexLlW<})60v{38%UBU3u-0Nr1s+}&RGs*wS3@Q2d6#Ize|1acbjsR}&o((hC zM{sWuo>h9WyDhuseFzS`Zlbk+2?Q?$?D*DQVu~4~uzGN{J90jY)pdV4;9S8Qx=Q8# zUxxq9tw!GFdb|QEhTOIAilIz{;F;`y&)jX_{T0t(z5X)F&~mit-%7L^-izOsf%M01 zApHUPE&Vaq-4X>B>nqV0mosW)*nQ`X48-!}_ z&1*G!tWF@awAG|#U%4&^y6Kxia}YPe`WnJsVdv~@N*wrsR(mBQ7WpaCsK}dQY?9%vhk&r8mNz} zkD-BSee%;g_B-A>xrmX}loCucQcv8@=x7Giin#0o>yz+D;O_gBku~nmCG~P+rVdTO z!+z`r1Y5lZk)k08S;gf6V(lVd^M0dz=`qtGfO_1U8gsOwcHZ|q%|XYdd_4Nx2V_a7 zgn*LPr%^hI--6INjL>KZ>`Ij~iin3Uqw7PoF_E#V(p9=LwO?mRkA2Ft5m{2l7dQ;X zwnow}qOR(WCJxQEtK_?8YfA!ufM z-kJ2r%IxGiu%v@s!2NHQbN~%+r;{Zeoy`@)aH(y^N5K|x+MY^n%M_iB6jcnGj-lHX zz+wYHx8T`f8rS|wx0t9aZz@}F{_seP?o9sUGm!syiO7Ep#I84p+9cHa6YH3?@6T;} zudkm;k{X>RNg=p8Lua;h^q|PQ{n*k07u*bJbmkB-=y=W40;eBqI`DO_+Rg0`wqKJF zE6Y={ivf%iaWKVin>xA?n>tc&2w)JM4J@6;Jz*Xx7LA9iYt884%BG(9j)fAzIG^aq}KJC~LN_Q{3wA$e9$ zn8~Oy*6QK=W=h@VWK6Vy5i%5|vo56O`8g<%0wLP6%NvEE;v)UUMp5F_oA_dC~QxnTUW-HhM^>t+v~+0k~f zSd+e{qn>w^C55FAO^0PfLHnD+TKWz9zw=D?&Uz*(O%DL2DTBt|Ktd-nb9UbUKIN#c2tr`!q`~U zuqS)``I!7aYMlI+#ztq2B-wwx1z_7R^}PkKbv>Qr-^lG5zWFP?*~I6t^8eWefUIu8 z;t80Ag8wt^l}P-F)z#?%&u*Q_Yl!w?3;iy8Lz2-*TVMz5b5GCwzg4fjXqbr^P);J$ z48qf{;Bi#bE^@Z^``SwH==1vx9;3jxNPYlpp#iNEf%)tz#cQ2o_>UMpYX>x&GdWY| z2==*`p;NdPFxqFx+XneQz}#pBwHcfr?LANwWXtTqNO9pb4MU%=>79V|R;9R9IX3y)8?)~6ggwZ%*#0(|L!aWYb*!WFz~ zi}Q1uDN3+XAEXa^K%C?-2@>Rc6wBJBg^1<)t8@Y(#N#`XRBj*w|REA$KuFP;I?*Y&pY7wxu6 zuY8FoIsA9R)a)*bq=CQ%ZE6Jul$2>9y(Gk#@g|I3R>)%z0KUUR-%%iwI`$Jk6SD4SAcqK_VJ`Q z8LUdUV&VT-`XAm8zcsUGP@;$_#NRvb|JWz&lKrge(;IJE6F)G=-MbE%pIRW8{Gh%X z_;B=9cg(P%?{cMd2$M;fit7El35fD6fa8mD4%0qP=MHqx^I|c)zNR}q{)6t}PS*eA zZ*-3zEdY5oyQ02l*XoROu51xN#A+pAgH8IX)@;XPc5w<(pj)m1Z^zc&^fH_op|pI{V)hRAPS$P9 zl=Oc1;OO-%mfHVP{XD1H-O!5HS>uD@(-(oQHNT7_l~yQpt|)zB#@Xi1M=bmhAX6d) zug!nlv|P9`?9QyCKWVnE{q>A);Vt2@SCkqnJRdaY~U3U+uVUaa9+QLqe>f z+4?Bi^B$DO>TR?M~sJOf*HDuB&1&|Hw|wAo0igkxBBiH z7Eoka(`i(zqcs9{f@wrFrHR|nQ9}$uBsv(<^J&(?MbDdw$d^Cum02Z>=+GPFhH0Mg zXj8lOC#>N~SiKM8>Q@y?;Y&J1clf_l+~}zfKs(4u-kHh;CCOH?C|IYY&%h%W{Q0He z!tDv?7>8E~+=Adf_cv`_f|Q-=fKC2$mE|IrwLK6!Xy{7*kiy7ZeQrC2T8n)5?-w{) zvlsu9is9cAjPv&bbiRr5+6BJrE4Ut=m<9B+@Dr6A)OYEluQH6%Sh>;xm8?a4Tp!dw znApH@c%~o=+&sNP91{-Y9`rbJSq51Wow)>-zw%VFM4q1%1q5)LEO<&>$Up4tik@J2 zXTs~W-12>W!`M)X&Y0 zl*=kvQE2~{aSWK?FJ{0$tF`d*Kj?yEcUS0l8B7MF6D^82@Nj!89IARa4o%aCP`&U%!?o12JYb zWML{`UwETC285kRsXES)XHBXzFo*BBi|5`VLDE0GG)>$)c29;v4K8Z~{_=W-!)@TobGi$&;?P-r8)_|#i=g5Z#Pywr#2TE*}j$53J4#~>9E0woXO zQrj2l0vaw({;=3W?aI3msRgGM7yCKegol~1(xL-%`x$;cfhPZN#@vS~eKRM5#z6{q zEwF-gEOz0`p55~43eupZtnQ-^a$}>aH#HGEb_INC9&n6U=!Ta)U$s^;rJv+|1kW64 ziObmlg7jsT?;DnIQOzKaB1eH@xW4#U;?9kPNJu9i>}k&9>}YRbfh(`d3;Y{irl#Ik zu)Jv-9J!YeYDN;EW_;@IPLtUP=oNbNXA4MQvmG}gokRLO$X(Vp%(VmG3@<0GBvmBw Hz~_GfEnAtm literal 0 HcmV?d00001 diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/index.html b/deployed/image_swoop/modules/mod_image_swoop/images/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/deployed/image_swoop/modules/mod_image_swoop/images/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/patterns/_notes/dwsync.xml b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/_notes/dwsync.xml new file mode 100644 index 00000000..c4ace5b0 --- /dev/null +++ b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/_notes/dwsync.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/patterns/index.html b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay1.png b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay1.png new file mode 100644 index 0000000000000000000000000000000000000000..70e4b24dee7e65af037af5976da9f412728ef28b GIT binary patch literal 937 zcmaJ=zi-n(7&WCrP_^m|3nzDBAokfIaea!ZoH!k&F2A=w@WsG~vcHdpjT-D=G9)ntjm_UH3 z1G3;OOi-rrD_z9a`LW1@6@<<-{>s$A?tlh~F{lWz{s8dt=l!%ylfb)A%W+5fa5TO@*{9ka!|Ws;cH1vRq<_QnCoCla<2c zs8BF);>LbNeG-CP(HW6B)p+LgDup20$cD+fOsrsH=0u_-z&xb_XxsmX2EhiM&@R6A z`%mGdzlgBd#R-|mF1xt#Q64HnjTk$W#C<}}iYj)dgpy=RBGBknz^Na4Bu!Rm+eTKH zP$zV;WoSI(3%>86s&XvpRlQM_bw!ezP(4uvW^-^vx488N@szplABV!e|uH%-eno3_Ux z>-Cs5wfW)YNA@7@TZZ1xevU@N;pO2jIDdVo1$S<|x%~0<)h@TQ&ovMCciw+{_bY!q MRi_@% literal 0 HcmV?d00001 diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay10.png b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay10.png new file mode 100644 index 0000000000000000000000000000000000000000..6b4dbdd3f0371c7bf317ea654467785acd19c4bb GIT binary patch literal 923 zcmaJ=J#W)M7`D`cP^AuRz;tp~V&6G+BA?>6j-Aj*IEs=;%~;32BvxymIbX1o0RbC- zf`N?z{s2QIwl4etrv3xO4?u8E3ko0p67ku_uhNg>pt7xd$K1<(thXE>5F-{ z7!U4?|Hq&2Uy124Z;kkXPI%@qB3S_)6VQpgDd`h0SiHC<4N2Mo;c&!9?sM$ZNbw4c zl1GVPOH$)FPdxvEa4;s*FgE2MU#?^j2Bv(byU&4>V^sz#2){7pTT>&q2W-j+&=pwmVGV*BQc(41A2P-i&gZ&S(Pcfey~XIG|a&Lc1>R z#3}b;pL85k7JMZP18h|t!>H+pHO*=x)PhaeM7D#FWgAwrsT(ENq5eD~F)z8n9arDV zEgB(8L}Z7s@FfY_j7DIUFb=nS(YETXxxscX)va7rm{E&s{p*^`Bhfp>a?`Y8vuS%0 zi(Y4h%0RGmz8`w;eee73yNgcy`N97EeU9S}?3UGK^G-f? zZ?XT&M;|WPbdNR%w1>wubqV5XJ{}=phwcP*k?SvBe??VB06~912hIz_!=d2j7$FN| z#^$){aTdGY3{fyblOQtrpPw#y5cnp4syNVz8)zD|mIU>d?Y_61dAiRZKLypyU;-hc zF37^OC^0gVU+Efboga%lSV8E_y0wxnt(se!8kmV9Xl#)e6-K-QP zhlPTL5|0Ei4R8cb*nH!6e0P~azpyT`>8ipHmLc8eN z?>~i;{vt+V7bSR3Ja%#8!#q@MGzfAjCVh<0iYj)dnBruLW6(N?`R*Wd0%*~%4}88N@szplABV!e|uH%-eno3=+0 z>vh7K`rE6I7wkbiu&r7@`#u^Chre#$1m|z}T2Ov=rf-jN2ixxa@*A!S!Vd6yeb%?0YYy=xJH<$e zA9A)JR8Nx7cBYttAs%~yF8=uRSp=S|i|0iPT45beyt4(x-9@YCET&Gy6;F;qHPN_$ zkC_b;|00OAL>E`O8egZ!vItfXHr2(Or21AH)Ct9)D8ZZqRR~lhp?slKDm?)TL{Nr` zjFcQIX?aD15Uf9uN2BgY>ln>-EWXpl31guq%W)h_ab6;HETc-Ll4>YQjw5o>JYaT` z3!1MC&&3hRKN?%1DA~Ng2?x{txy24LV{S ze4Fn-g`?g)#Bv8mWJVo+aigO&RH)S{wi%&4LN2l{wkL#-*M9(686dO( literal 0 HcmV?d00001 diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay4.png b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay4.png new file mode 100644 index 0000000000000000000000000000000000000000..7bec9101fdf381d465a1614f943d7c6fb1fffd7a GIT binary patch literal 924 zcmaJ=yN=U96!o%bg;qpJbWn|ETjFOP>ru?giLY0wl)SI7>mWY|lgIoO|cqGjIF7XO+{(r-C3<>?>=)$2kk<$kqLNTa|a@Cg`GH58GqSczs<`baGiY&>hq^MP; zi8K|-GT1$kN29?M4Xn#uEWR?}oUsH+QkG?6rip~kBt_TtLPJ%n98pczG4t|joSu~m z7EXN{CM+Z|C=|U3Suq3hOmB`5C41R8-Ia+KOv=4PQbf5pQVDdN|3jl_k51VD-{$*I z;nZCxSQ_Aztf}K*UpP7uDnE~Zx8MA7i~C}Cd)9~c`1K!q^BE)n literal 0 HcmV?d00001 diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay5.png b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay5.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd5181618ac76a54b1120a8c6e7054f1fe4f22e GIT binary patch literal 924 zcmaJ=yN=U96g5PGXwf!QKsE9fG{hb|j)O-rk%<%55{{xI(neG`_9U^g_L%VmJL%Yt zl9HdGq@keZ7x)AkL`MNy#@RSaL9jHQht4_o+&g#P4*JiIj~*Nef^h7d+Cx6y;NxcX z7XQD0^YI~{?z8TMjmV5;9>szckSPXEj8K^U0gS;K{H(!q=HbVKoI(;xerrEdgc`w3{}hzmrR zc_5F@;}qqlxYb2`T^!3I*h1LS6t7H8+yUqiia|qyH6Q8_=!&G&wPv&V2&hnjGE`+n zttm}ZR}q9@_lZ0j4Q6O)_ja-P&J-7nB}kUDER(XjMCe>r48tfiRJFztwR9abFR#Vv zNvUAt)Td#>LK1^Q(VLPLGez$7DupQ7%f{)hOuS%n?j^D!!6Ky+=(_)hM$sOfvLU|q z`%mF?yiTw@#3@-(pI_YUqzILu4#gfLbWF&3S;fJEFp@4v0y?7xI1A%|Wa$>|y2y!B z=EXjCY*XZXDGURoX@=I+EL~Tv$BNR0mflk>#pr4(RC}GeUUF^XuOb|?k{euen+Lf? zBSZ<0Y-1X}#zBvg2y7EZ;bAY@LA@O}IP9fykSlXDa&fJHU2}QFd#70Lo0f0(ZI5H# y>y$V3i+6Wa{vhr;wl&VbPJdorwky?Nx2sUN_oMRrVj6ra-iy=i+aI33y!ZpzK^iOo literal 0 HcmV?d00001 diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay6.png b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay6.png new file mode 100644 index 0000000000000000000000000000000000000000..664b78967f483fe21c18fce53b0733db97590bfa GIT binary patch literal 959 zcmaJ=O^ee&7!F!>U0ejctm0wFdRSqbOwvu;gvO;!T3axsw1w@lX)naq}z7)U=2*>gXekP=Y8j$=Z*TkjrE)B48v^H zs(O>o7n8A;{C|8suF~lSDR)Q<_eo?1h$-5*hd|9W2dIfmd-C85Dlp7>;IuoWW87CP z>~dy;;bPaPY=$Z9#lC5c5CJ_ja6FYge*2yUj;*r$k^v20Lqn%J4Nz-ZZ(GxmCEM)Y zT~LS>D&Qhwg4jLqLM2w&nXW?D$uZA@8H9{f_QX`jXaEfd2uK`ETQCbjR^WupZZ4PG z0U{J24@F)O(?U+khzf*Y{;@P#VE2`#UYWma6k37f69;=BQ8asaOjMRSJxRg!m$F_sFB2^oADccea4<<}0W^&N zLtS@?4oMT8`u(SH*q-=^Z=w*71B+f+Ax%w7ZTI6P)%1^%I6%%R5)SGkd)n25PT%MZYlWRS5&5I-2 zJIQj{v~;s{Qqyy%wzEP v|Nr?DCkh^HKcU>B(DhJ7c~hO6n;V13b&=n<{hFeHdKf%i{an^LB{Ts5qZ=KQ literal 0 HcmV?d00001 diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay8.png b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay8.png new file mode 100644 index 0000000000000000000000000000000000000000..ca1fa8b2383237e0f68e4998956294685028f2bc GIT binary patch literal 948 zcmaJ=O^ee&7>=%rEUf5BTrWcwJcvyu=|?u9v2>Hx4Qy&@3)^GU%(M;NWMVS4X)l6! z5%drEBm4s%JnKbR(1V@@FXG9IF07Mo)Ae8tOy+~CUy?gt*>sE6y0lFObm~Nyt0L0J!1A3TZea(_9=*e5j@tlUr%Su`f#wol za8itr_#tC+T)C2jjyuK_^zqOObpFSiw>udFvT(sT`T+0=i88N-qzpgnuV!e|t zS53<{tG34h>-C5=^-bsaBYO~cEwkE5KKD;fPb(X8522F}&jjw$i-T_$d)GR@pP*Ma f-uKK;7q0iXpAT>U`ttoam%byb)-Yf1^`8C#r0pkz literal 0 HcmV?d00001 diff --git a/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay9.png b/deployed/image_swoop/modules/mod_image_swoop/images/patterns/overlay9.png new file mode 100644 index 0000000000000000000000000000000000000000..4d02da0d52793fb6d1c33872bc61b8a130098164 GIT binary patch literal 926 zcmaJ=J#W)M7`7BZRi#QGv6SiLuEah&AFfYvE7wk_C0s>Gq-Km`UlJ>|&zvvV$$)^3 zjbFgd!i>a##Ky$H#-BiJU644ZamqljbiNNg&+|U-d+)vJUOYM2f3z2l|NXCbFZguG+C$bS6P9@t3uZvZ7&wtP#Xal=%V%G4OAsm`91PjeeTsY%NnU}G z@+jeKL1>-kiRaHT17kc5V?+G;>9YvJzz{DRE_4$M&%*N+#r@UAz+cUMJrGY%Kr2UF zAi~T8d2|)0C^y8lF5>IrSQfz=!sdo}V`}Jjfkh|=4GC6#*o2^|NJ_1)Y1(6;LIuiD zl@+zBXsD(l2*KtPc{CbKP|xmcV)30J&KOIOEN59JWi^S=sjTR_UTCOll_RR@GG<<0 zjnku2!N#di!-Rz-28E(GCJSbW-04jUQL>ed(@mLp!Q|XaWJQ8SN+r;B{|}9#EjndA zeCzk0!s%d{V7Z4=vY$W>Xz?u;;!&PW2Regj;FaX_+kjdoq+ z#3}P)A3L@oa=sLX0n#naI_{WeQ#Ct^(uQWeu9~`{snD!xW?e10Ht`n`j# diff --git a/deployed/image_swoop/modules/mod_image_swoop/js/camera.js b/deployed/image_swoop/modules/mod_image_swoop/js/camera.js new file mode 100644 index 00000000..daddaaa5 --- /dev/null +++ b/deployed/image_swoop/modules/mod_image_swoop/js/camera.js @@ -0,0 +1,2272 @@ +// Camera slideshow v1.3.4 - a jQuery slideshow with many effects, transitions, easy to customize, using canvas and mobile ready, based on jQuery 1.4+ +// Copyright (c) 2012 by Manuel Masia - www.pixedelic.com +// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php +;(function($){$.fn.camera = function(opts, callback) { + + var defaults = { + alignment : 'center', //topLeft, topCenter, topRight, centerLeft, center, centerRight, bottomLeft, bottomCenter, bottomRight + + autoAdvance : true, //true, false + + mobileAutoAdvance : true, //true, false. Auto-advancing for mobile devices + + barDirection : 'leftToRight', //'leftToRight', 'rightToLeft', 'topToBottom', 'bottomToTop' + + barPosition : 'bottom', //'bottom', 'left', 'top', 'right' + + cols : 6, + + easing : 'easeInOutExpo', //for the complete list http://jqueryui.com/demos/effect/easing.html + + mobileEasing : '', //leave empty if you want to display the same easing on mobile devices and on desktop etc. + + fx : 'random', //'random','simpleFade', 'curtainTopLeft', 'curtainTopRight', 'curtainBottomLeft', 'curtainBottomRight', 'curtainSliceLeft', 'curtainSliceRight', 'blindCurtainTopLeft', 'blindCurtainTopRight', 'blindCurtainBottomLeft', 'blindCurtainBottomRight', 'blindCurtainSliceBottom', 'blindCurtainSliceTop', 'stampede', 'mosaic', 'mosaicReverse', 'mosaicRandom', 'mosaicSpiral', 'mosaicSpiralReverse', 'topLeftBottomRight', 'bottomRightTopLeft', 'bottomLeftTopRight', 'bottomLeftTopRight' + //you can also use more than one effect, just separate them with commas: 'simpleFade, scrollRight, scrollBottom' + + mobileFx : '', //leave empty if you want to display the same effect on mobile devices and on desktop etc. + + gridDifference : 250, //to make the grid blocks slower than the slices, this value must be smaller than transPeriod + + height : '50%', //here you can type pixels (for instance '300px'), a percentage (relative to the width of the slideshow, for instance '50%') or 'auto' + + imagePath : 'images/', //he path to the image folder (it serves for the blank.gif, when you want to display videos) + + hover : true, //true, false. Puase on state hover. Not available for mobile devices + + loader : 'pie', //pie, bar, none (even if you choose "pie", old browsers like IE8- can't display it... they will display always a loading bar) + + loaderColor : '#eeeeee', + + loaderBgColor : '#222222', + + loaderOpacity : .8, //0, .1, .2, .3, .4, .5, .6, .7, .8, .9, 1 + + loaderPadding : 2, //how many empty pixels you want to display between the loader and its background + + loaderStroke : 7, //the thickness both of the pie loader and of the bar loader. Remember: for the pie, the loader thickness must be less than a half of the pie diameter + + minHeight : '200px', //you can also leave it blank + + navigation : true, //true or false, to display or not the navigation buttons + + navigationHover : true, //if true the navigation button (prev, next and play/stop buttons) will be visible on hover state only, if false they will be visible always + + mobileNavHover : true, //same as above, but only for mobile devices + + opacityOnGrid : false, //true, false. Decide to apply a fade effect to blocks and slices: if your slideshow is fullscreen or simply big, I recommend to set it false to have a smoother effect + + overlayer : true, //a layer on the images to prevent the users grab them simply by clicking the right button of their mouse (.camera_overlayer) + + pagination : true, + + playPause : true, //true or false, to display or not the play/pause buttons + + pauseOnClick : true, //true, false. It stops the slideshow when you click the sliders. + + pieDiameter : 38, + + piePosition : 'rightTop', //'rightTop', 'leftTop', 'leftBottom', 'rightBottom' + + portrait : false, //true, false. Select true if you don't want that your images are cropped + + rows : 4, + + slicedCols : 12, //if 0 the same value of cols + + slicedRows : 8, //if 0 the same value of rows + + slideOn : 'random', //next, prev, random: decide if the transition effect will be applied to the current (prev) or the next slide + + thumbnails : false, + + time : 7000, //milliseconds between the end of the sliding effect and the start of the nex one + + transPeriod : 1500, //lenght of the sliding effect in milliseconds + +////////callbacks + + onEndTransition : function() { }, //this callback is invoked when the transition effect ends + + onLoaded : function() { }, //this callback is invoked when the image on a slide has completely loaded + + onStartLoading : function() { }, //this callback is invoked when the image on a slide start loading + + onStartTransition : function() { } //this callback is invoked when the transition effect starts + + }; + + + function isMobile() { + if( navigator.userAgent.match(/Android/i) || + navigator.userAgent.match(/webOS/i) || + navigator.userAgent.match(/iPad/i) || + navigator.userAgent.match(/iPhone/i) || + navigator.userAgent.match(/iPod/i) + ){ + return true; + } + } + + var opts = $.extend({}, defaults, opts); + + var wrap = $(this).addClass('camera_wrap'); + + wrap.wrapInner( + '

' + ).wrapInner( + '
' + ); + + var fakeHover = $('.camera_fakehover',wrap); + + fakeHover.append( + '
' + ); + if(opts.overlayer == true){ + fakeHover.append( + '
' + ) + } + fakeHover.append( + '
' + ); + + var loader; + + if(opts.loader=='pie' && $.browser.msie && $.browser.version < 9){ + loader = 'bar'; + } else { + loader = opts.loader; + } + + if(loader == 'pie'){ + fakeHover.append( + '
' + ) + } else if (loader == 'bar') { + fakeHover.append( + '
' + ) + } else { + fakeHover.append( + '' + ) + } + + if(opts.playPause==true){ + fakeHover.append( + '
' + ) + } + + if(opts.navigation==true){ + fakeHover.append( + '
' + ).append( + '
' + ); + } + + if(opts.thumbnails==true){ + wrap.append( + '
' + ); + } + + if(opts.thumbnails==true && opts.pagination!=true){ + $('.camera_thumbs_cont',wrap).wrap( + '
' + ).wrap( + '
' + ).wrap( + '
' + ).wrap( + '
' + ); + } + + if(opts.pagination==true){ + wrap.append( + '
' + ); + } + + wrap.append( + '
' + ); + + $('.camera_caption',wrap).each(function(){ + $(this).wrapInner('
'); + }); + + + var pieID = 'pie_'+wrap.index(), + elem = $('.camera_src',wrap), + target = $('.camera_target',wrap), + content = $('.camera_target_content',wrap), + pieContainer = $('.camera_pie',wrap), + barContainer = $('.camera_bar',wrap), + prevNav = $('.camera_prev',wrap), + nextNav = $('.camera_next',wrap), + commands = $('.camera_commands',wrap), + pagination = $('.camera_pag',wrap), + thumbs = $('.camera_thumbs_cont',wrap); + + + var w, + h; + + + var allImg = new Array(); + $('> div', elem).each( function() { + allImg.push($(this).attr('data-src')); + }); + + var allLinks = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-link')){ + allLinks.push($(this).attr('data-link')); + } else { + allLinks.push(''); + } + }); + + var allTargets = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-target')){ + allTargets.push($(this).attr('data-target')); + } else { + allTargets.push(''); + } + }); + + var allPor = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-portrait')){ + allPor.push($(this).attr('data-portrait')); + } else { + allPor.push(''); + } + }); + + var allAlign= new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-alignment')){ + allAlign.push($(this).attr('data-alignment')); + } else { + allAlign.push(''); + } + }); + + + var allThumbs = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-thumb')){ + allThumbs.push($(this).attr('data-thumb')); + } else { + allThumbs.push(''); + } + }); + + var amountSlide = allImg.length; + + $(content).append('
'); + var loopMove; + for (loopMove=0;loopMove'); + if(allLinks[loopMove]!=''){ + //only for Wordpress plugin + var dataBox = $('> div ',elem).eq(loopMove).attr('data-box'); + if(typeof dataBox !== 'undefined' && dataBox !== false && dataBox != '') { + dataBox = 'data-box="'+$('> div ',elem).eq(loopMove).attr('data-box')+'"'; + } else { + dataBox = ''; + } + // + $('.camera_target_content .cameraContent:eq('+loopMove+')',wrap).append(''); + } + + } + $('.camera_caption',wrap).each(function(){ + var ind = $(this).parent().index(), + cont = wrap.find('.cameraContent').eq(ind); + $(this).appendTo(cont); + }); + + target.append('
'); + var cameraCont = $('.cameraCont',wrap); + + + + var loop; + for (loop=0;loop'); + var div = $('> div:eq('+loop+')',elem); + target.find('.cameraSlide_'+loop).clone(div); + } + + + function thumbnailVisible() { + var wTh = $(thumbs).width(); + $('li', thumbs).removeClass('camera_visThumb'); + $('li', thumbs).each(function(){ + var pos = $(this).position(), + ulW = $('ul', thumbs).outerWidth(), + offUl = $('ul', thumbs).offset().left, + offDiv = $('> div',thumbs).offset().left, + ulLeft = offDiv-offUl; + if(ulLeft>0){ + $('.camera_prevThumbs',camera_thumbs_wrap).removeClass('hideNav'); + } else { + $('.camera_prevThumbs',camera_thumbs_wrap).addClass('hideNav'); + } + if((ulW-ulLeft)>wTh){ + $('.camera_nextThumbs',camera_thumbs_wrap).removeClass('hideNav'); + } else { + $('.camera_nextThumbs',camera_thumbs_wrap).addClass('hideNav'); + } + var left = pos.left, + right = pos.left+($(this).width()); + if(right-ulLeft<=wTh && left-ulLeft>=0){ + $(this).addClass('camera_visThumb'); + } + }); + } + + $(window).bind('load resize pageshow',function(){ + thumbnailPos(); + thumbnailVisible(); + }); + + + cameraCont.append('
'); + + + var started; + + wrap.show(); + var w = target.width(); + var h = target.height(); + + var setPause; + + $(window).bind('resize pageshow',function(){ + if(started == true) { + resizeImage(); + } + $('ul', thumbs).animate({'margin-top':0},0,thumbnailPos); + if(!elem.hasClass('paused')){ + elem.addClass('paused'); + if($('.camera_stop',camera_thumbs_wrap).length){ + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).hide(); + } + } else { + if(loader!='none'){ + $('#'+pieID).hide(); + } + } + clearTimeout(setPause); + setPause = setTimeout(function(){ + elem.removeClass('paused'); + if($('.camera_play',camera_thumbs_wrap).length){ + $('.camera_play',camera_thumbs_wrap).hide(); + $('.camera_stop',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).fadeIn(); + } + } else { + if(loader!='none'){ + $('#'+pieID).fadeIn(); + } + } + },1500); + } + }); + + function resizeImage(){ + var res; + function resizeImageWork(){ + w = wrap.width(); + if(opts.height.indexOf('%')!=-1) { + var startH = Math.round(w / (100/parseFloat(opts.height))); + if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ + h = parseFloat(opts.minHeight); + } else { + h = startH; + } + wrap.css({height:h}); + } else if (opts.height=='auto') { + h = wrap.height(); + } else { + h = parseFloat(opts.height); + wrap.css({height:h}); + } + $('.camerarelative',target).css({'width':w,'height':h}); + $('.imgLoaded',target).each(function(){ + var t = $(this), + wT = t.attr('width'), + hT = t.attr('height'), + imgLoadIn = t.index(), + mTop, + mLeft, + alignment = t.attr('data-alignment'), + portrait = t.attr('data-portrait'); + + if(typeof alignment === 'undefined' || alignment === false || alignment === ''){ + alignment = opts.alignment; + } + + if(typeof portrait === 'undefined' || portrait === false || portrait === ''){ + portrait = opts.portrait; + } + + if(portrait==false||portrait=='false'){ + if((wT/hT)<(w/h)) { + var r = w / wT; + var d = (Math.abs(h - (hT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mTop = 0; + break; + case 'topCenter': + mTop = 0; + break; + case 'topRight': + mTop = 0; + break; + case 'centerLeft': + mTop = '-'+d+'px'; + break; + case 'center': + mTop = '-'+d+'px'; + break; + case 'centerRight': + mTop = '-'+d+'px'; + break; + case 'bottomLeft': + mTop = '-'+d*2+'px'; + break; + case 'bottomCenter': + mTop = '-'+d*2+'px'; + break; + case 'bottomRight': + mTop = '-'+d*2+'px'; + break; + } + t.css({ + 'height' : hT*r, + 'margin-left' : 0, + 'margin-right' : 0, + 'margin-top' : mTop, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : w + }); + } + else { + var r = h / hT; + var d = (Math.abs(w - (wT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mLeft = 0; + break; + case 'topCenter': + mLeft = '-'+d+'px'; + break; + case 'topRight': + mLeft = '-'+d*2+'px'; + break; + case 'centerLeft': + mLeft = 0; + break; + case 'center': + mLeft = '-'+d+'px'; + break; + case 'centerRight': + mLeft = '-'+d*2+'px'; + break; + case 'bottomLeft': + mLeft = 0; + break; + case 'bottomCenter': + mLeft = '-'+d+'px'; + break; + case 'bottomRight': + mLeft = '-'+d*2+'px'; + break; + } + t.css({ + 'height' : h, + 'margin-left' : mLeft, + 'margin-right' : mLeft, + 'margin-top' : 0, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : wT*r + }); + } + } else { + if((wT/hT)<(w/h)) { + var r = h / hT; + var d = (Math.abs(w - (wT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mLeft = 0; + break; + case 'topCenter': + mLeft = d+'px'; + break; + case 'topRight': + mLeft = d*2+'px'; + break; + case 'centerLeft': + mLeft = 0; + break; + case 'center': + mLeft = d+'px'; + break; + case 'centerRight': + mLeft = d*2+'px'; + break; + case 'bottomLeft': + mLeft = 0; + break; + case 'bottomCenter': + mLeft = d+'px'; + break; + case 'bottomRight': + mLeft = d*2+'px'; + break; + } + t.css({ + 'height' : h, + 'margin-left' : mLeft, + 'margin-right' : mLeft, + 'margin-top' : 0, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : wT*r + }); + } + else { + var r = w / wT; + var d = (Math.abs(h - (hT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mTop = 0; + break; + case 'topCenter': + mTop = 0; + break; + case 'topRight': + mTop = 0; + break; + case 'centerLeft': + mTop = d+'px'; + break; + case 'center': + mTop = d+'px'; + break; + case 'centerRight': + mTop = d+'px'; + break; + case 'bottomLeft': + mTop = d*2+'px'; + break; + case 'bottomCenter': + mTop = d*2+'px'; + break; + case 'bottomRight': + mTop = d*2+'px'; + break; + } + t.css({ + 'height' : hT*r, + 'margin-left' : 0, + 'margin-right' : 0, + 'margin-top' : mTop, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : w + }); + } + } + }); + } + if (started == true) { + clearTimeout(res); + res = setTimeout(resizeImageWork,200); + } else { + resizeImageWork(); + } + + started = true; + } + + + var u, + setT; + + var clickEv, + autoAdv, + navHover, + commands, + pagination; + + var videoHover, + videoPresent; + + if(isMobile() && opts.mobileAutoAdvance!=''){ + autoAdv = opts.mobileAutoAdvance; + } else { + autoAdv = opts.autoAdvance; + } + + if(autoAdv==false){ + elem.addClass('paused'); + } + + if(isMobile() && opts.mobileNavHover!=''){ + navHover = opts.mobileNavHover; + } else { + navHover = opts.navigationHover; + } + + if(elem.length!=0){ + + var selector = $('.cameraSlide',target); + selector.wrapInner('
'); + + var navSlide; + + var barDirection = opts.barDirection; + + var camera_thumbs_wrap = wrap; + + + $('iframe',fakeHover).each(function(){ + var t = $(this); + var src = t.attr('src'); + t.attr('data-src',src); + var divInd = t.parent().index('.camera_src > div'); + $('.camera_target_content .cameraContent:eq('+divInd+')',wrap).append(t); + }); + function imgFake() { + $('iframe',fakeHover).each(function(){ + $('.camera_caption',fakeHover).show(); + var t = $(this); + var cloneSrc = t.attr('data-src'); + t.attr('src',cloneSrc); + var imgFakeUrl = opts.imagePath+'blank.gif'; + var imgFake = new Image(); + imgFake.src = imgFakeUrl; + if(opts.height.indexOf('%')!=-1) { + var startH = Math.round(w / (100/parseFloat(opts.height))); + if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ + h = parseFloat(opts.minHeight); + } else { + h = startH; + } + } else if (opts.height=='auto') { + h = wrap.height(); + } else { + h = parseFloat(opts.height); + } + t.after($(imgFake).attr({'class':'imgFake','width':w,'height':h})); + var clone = t.clone(); + t.remove(); + $(imgFake).bind('click',function(){ + if($(this).css('position')=='absolute') { + $(this).remove(); + if(cloneSrc.indexOf('vimeo') != -1 || cloneSrc.indexOf('youtube') != -1) { + if(cloneSrc.indexOf('?') != -1){ + autoplay = '&autoplay=1'; + } else { + autoplay = '?autoplay=1'; + } + } else if(cloneSrc.indexOf('dailymotion') != -1) { + if(cloneSrc.indexOf('?') != -1){ + autoplay = '&autoPlay=1'; + } else { + autoplay = '?autoPlay=1'; + } + } + clone.attr('src',cloneSrc+autoplay); + videoPresent = true; + } else { + $(this).css({position:'absolute',top:0,left:0,zIndex:10}).after(clone); + clone.css({position:'absolute',top:0,left:0,zIndex:9}); + } + }); + }); + } + + imgFake(); + + + if(opts.hover==true){ + if(!isMobile()){ + fakeHover.hover(function(){ + elem.addClass('hovered'); + },function(){ + elem.removeClass('hovered'); + }); + } + } + + if(navHover==true){ + $(prevNav,wrap).animate({opacity:0},0); + $(nextNav,wrap).animate({opacity:0},0); + $(commands,wrap).animate({opacity:0},0); + if(isMobile()){ + fakeHover.live('vmouseover',function(){ + $(prevNav,wrap).animate({opacity:1},200); + $(nextNav,wrap).animate({opacity:1},200); + $(commands,wrap).animate({opacity:1},200); + }); + fakeHover.live('vmouseout',function(){ + $(prevNav,wrap).delay(500).animate({opacity:0},200); + $(nextNav,wrap).delay(500).animate({opacity:0},200); + $(commands,wrap).delay(500).animate({opacity:0},200); + }); + } else { + fakeHover.hover(function(){ + $(prevNav,wrap).animate({opacity:1},200); + $(nextNav,wrap).animate({opacity:1},200); + $(commands,wrap).animate({opacity:1},200); + },function(){ + $(prevNav,wrap).animate({opacity:0},200); + $(nextNav,wrap).animate({opacity:0},200); + $(commands,wrap).animate({opacity:0},200); + }); + } + } + + + $('.camera_stop',camera_thumbs_wrap).live('click',function(){ + autoAdv = false; + elem.addClass('paused'); + if($('.camera_stop',camera_thumbs_wrap).length){ + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).hide(); + } + } else { + if(loader!='none'){ + $('#'+pieID).hide(); + } + } + }); + + $('.camera_play',camera_thumbs_wrap).live('click',function(){ + autoAdv = true; + elem.removeClass('paused'); + if($('.camera_play',camera_thumbs_wrap).length){ + $('.camera_play',camera_thumbs_wrap).hide(); + $('.camera_stop',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).show(); + } + } else { + if(loader!='none'){ + $('#'+pieID).show(); + } + } + }); + + if(opts.pauseOnClick==true){ + $('.camera_target_content',fakeHover).mouseup(function(){ + autoAdv = false; + elem.addClass('paused'); + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + $('#'+pieID).hide(); + }); + } + $('.cameraContent, .imgFake',fakeHover).hover(function(){ + videoHover = true; + },function(){ + videoHover = false; + }); + + $('.cameraContent, .imgFake',fakeHover).bind('click',function(){ + if(videoPresent == true && videoHover == true) { + autoAdv = false; + $('.camera_caption',fakeHover).hide(); + elem.addClass('paused'); + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + $('#'+pieID).hide(); + } + }); + + + } + + + function shuffle(arr) { + for( + var j, x, i = arr.length; i; + j = parseInt(Math.random() * i), + x = arr[--i], arr[i] = arr[j], arr[j] = x + ); + return arr; + } + + function isInteger(s) { + return Math.ceil(s) == Math.floor(s); + } + + if (loader != 'pie') { + barContainer.append(''); + $('.camera_bar_cont',barContainer) + .animate({opacity:opts.loaderOpacity},0) + .css({'position':'absolute', 'left':0, 'right':0, 'top':0, 'bottom':0, 'background-color':opts.loaderBgColor}) + .append(''); + $('#'+pieID).animate({opacity:0},0); + var canvas = $('#'+pieID); + canvas.css({'position':'absolute', 'background-color':opts.loaderColor}); + switch(opts.barPosition){ + case 'left': + barContainer.css({right:'auto',width:opts.loaderStroke}); + break; + case 'right': + barContainer.css({left:'auto',width:opts.loaderStroke}); + break; + case 'top': + barContainer.css({bottom:'auto',height:opts.loaderStroke}); + break; + case 'bottom': + barContainer.css({top:'auto',height:opts.loaderStroke}); + break; + } + switch(barDirection){ + case 'leftToRight': + canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); + break; + case 'rightToLeft': + canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); + break; + case 'topToBottom': + canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); + break; + case 'bottomToTop': + canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); + break; + } + } else { + pieContainer.append(''); + var G_vmlCanvasManager; + var canvas = document.getElementById(pieID); + canvas.setAttribute("width", opts.pieDiameter); + canvas.setAttribute("height", opts.pieDiameter); + var piePosition; + switch(opts.piePosition){ + case 'leftTop' : + piePosition = 'left:0; top:0;'; + break; + case 'rightTop' : + piePosition = 'right:0; top:0;'; + break; + case 'leftBottom' : + piePosition = 'left:0; bottom:0;'; + break; + case 'rightBottom' : + piePosition = 'right:0; bottom:0;'; + break; + } + canvas.setAttribute("style", "position:absolute; z-index:1002; "+piePosition); + var rad; + var radNew; + + if (canvas && canvas.getContext) { + var ctx = canvas.getContext("2d"); + ctx.rotate(Math.PI*(3/2)); + ctx.translate(-opts.pieDiameter,0); + } + + } + if(loader=='none' || autoAdv==false) { + $('#'+pieID).hide(); + $('.camera_canvas_wrap',camera_thumbs_wrap).hide(); + } + + if($(pagination).length) { + $(pagination).append('
    '); + var li; + for (li = 0; li < amountSlide; li++){ + $('.camera_pag_ul',wrap).append('
  • '+li+'
  • '); + } + $('.camera_pag_ul li',wrap).hover(function(){ + $(this).addClass('camera_hover'); + if($('.camera_thumb',this).length){ + var wTh = $('.camera_thumb',this).outerWidth(), + hTh = $('.camera_thumb',this).outerHeight(), + wTt = $(this).outerWidth(); + $('.camera_thumb',this).show().css({'top':'-'+hTh+'px','left':'-'+(wTh-wTt)/2+'px'}).animate({'opacity':1,'margin-top':'-3px'},200); + $('.thumb_arrow',this).show().animate({'opacity':1,'margin-top':'-3px'},200); + } + },function(){ + $(this).removeClass('camera_hover'); + $('.camera_thumb',this).animate({'margin-top':'-20px','opacity':0},200,function(){ + $(this).css({marginTop:'5px'}).hide(); + }); + $('.thumb_arrow',this).animate({'margin-top':'-20px','opacity':0},200,function(){ + $(this).css({marginTop:'5px'}).hide(); + }); + }); + } + + + + if($(thumbs).length) { + var thumbUrl; + if(!$(pagination).length) { + $(thumbs).append('
    '); + $(thumbs).before('
    ').before('
    '); + $('> div',thumbs).append('
      '); + $.each(allThumbs, function(i, val) { + if($('> div', elem).eq(i).attr('data-thumb')!='') { + var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'), + newImg = new Image(); + newImg.src = thumbUrl; + $('ul',thumbs).append('
    • '); + $('li.pix_thumb_'+i,thumbs).append($(newImg).attr('class','camera_thumb')); + } + }); + } else { + $.each(allThumbs, function(i, val) { + if($('> div', elem).eq(i).attr('data-thumb')!='') { + var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'), + newImg = new Image(); + newImg.src = thumbUrl; + $('li.pag_nav_'+i,pagination).append($(newImg).attr('class','camera_thumb').css({'position':'absolute'}).animate({opacity:0},0)); + $('li.pag_nav_'+i+' > img',pagination).after('
      '); + $('li.pag_nav_'+i+' > .thumb_arrow',pagination).animate({opacity:0},0); + } + }); + wrap.css({marginBottom:$(pagination).outerHeight()}); + } + } else if(!$(thumbs).length && $(pagination).length) { + wrap.css({marginBottom:$(pagination).outerHeight()}); + } + + + var firstPos = true; + + function thumbnailPos() { + if($(thumbs).length && !$(pagination).length) { + var wTh = $(thumbs).outerWidth(), + owTh = $('ul > li',thumbs).outerWidth(), + pos = $('li.cameracurrent', thumbs).length ? $('li.cameracurrent', thumbs).position() : '', + ulW = ($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()), + offUl = $('ul', thumbs).offset().left, + offDiv = $('> div', thumbs).offset().left, + ulLeft; + + if(offUl<0){ + ulLeft = '-'+ (offDiv-offUl); + } else { + ulLeft = offDiv-offUl; + } + + + + if(firstPos == true) { + $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); + if($(thumbs).length && !$(pagination).lenght) { + wrap.css({marginBottom:$(thumbs).outerHeight()}); + } + thumbnailVisible(); + /*I repeat this two lines because of a problem with iPhones*/ + $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); + if($(thumbs).length && !$(pagination).lenght) { + wrap.css({marginBottom:$(thumbs).outerHeight()}); + } + /*...*/ + } + firstPos = false; + + var left = $('li.cameracurrent', thumbs).length ? pos.left : '', + right = $('li.cameracurrent', thumbs).length ? pos.left+($('li.cameracurrent', thumbs).outerWidth()) : ''; + if(left<$('li.cameracurrent', thumbs).outerWidth()) { + left = 0; + } + if(right-ulLeft>wTh){ + if((left+wTh)
      ').append('
      '); + if(autoAdv==true){ + $('.camera_play',camera_thumbs_wrap).hide(); + $('.camera_stop',camera_thumbs_wrap).show(); + } else { + $('.camera_stop',camera_thumbs_wrap).hide(); + $('.camera_play',camera_thumbs_wrap).show(); + } + + } + + + function canvasLoader() { + rad = 0; + var barWidth = $('.camera_bar_cont',camera_thumbs_wrap).width(), + barHeight = $('.camera_bar_cont',camera_thumbs_wrap).height(); + + if (loader != 'pie') { + switch(barDirection){ + case 'leftToRight': + $('#'+pieID).css({'right':barWidth}); + break; + case 'rightToLeft': + $('#'+pieID).css({'left':barWidth}); + break; + case 'topToBottom': + $('#'+pieID).css({'bottom':barHeight}); + break; + case 'bottomToTop': + $('#'+pieID).css({'top':barHeight}); + break; + } + } else { + ctx.clearRect(0,0,opts.pieDiameter,opts.pieDiameter); + } + } + + + canvasLoader(); + + + $('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom',fakeHover).each(function(){ + $(this).css('visibility','hidden'); + }); + + opts.onStartLoading.call(this); + + nextSlide(); + + + /*************************** FUNCTION nextSlide() ***************************/ + + function nextSlide(navSlide){ + elem.addClass('camerasliding'); + + videoPresent = false; + var vis = parseFloat($('div.cameraSlide.cameracurrent',target).index()); + + if(navSlide>0){ + var slideI = navSlide-1; + } else if (vis == amountSlide-1) { + var slideI = 0; + } else { + var slideI = vis+1; + } + + + var slide = $('.cameraSlide:eq('+slideI+')',target); + var slideNext = $('.cameraSlide:eq('+(slideI+1)+')',target).addClass('cameranext'); + if( vis != slideI+1 ) { + slideNext.hide(); + } + $('.cameraContent',fakeHover).fadeOut(600); + $('.camera_caption',fakeHover).show(); + + $('.camerarelative',slide).append($('> div ',elem).eq(slideI).find('> div.camera_effected')); + + $('.camera_target_content .cameraContent:eq('+slideI+')',wrap).append($('> div ',elem).eq(slideI).find('> div')); + + if(!$('.imgLoaded',slide).length){ + var imgUrl = allImg[slideI]; + var imgLoaded = new Image(); + imgLoaded.src = imgUrl +"?"+ new Date().getTime(); + slide.css('visibility','hidden'); + slide.prepend($(imgLoaded).attr('class','imgLoaded').css('visibility','hidden')); + var wT, hT; + if (!$(imgLoaded).get(0).complete || wT == '0' || hT == '0' || typeof wT === 'undefined' || wT === false || typeof hT === 'undefined' || hT === false) { + $('.camera_loader',wrap).delay(500).fadeIn(400); + imgLoaded.onload = function() { + wT = imgLoaded.naturalWidth; + hT = imgLoaded.naturalHeight; + $(imgLoaded).attr('data-alignment',allAlign[slideI]).attr('data-portrait',allPor[slideI]); + $(imgLoaded).attr('width',wT); + $(imgLoaded).attr('height',hT); + target.find('.cameraSlide_'+slideI).hide().css('visibility','visible'); + resizeImage(); + nextSlide(slideI+1); + }; + } + } else { + if( allImg.length > (slideI+1) && !$('.imgLoaded',slideNext).length ){ + var imgUrl2 = allImg[(slideI+1)]; + var imgLoaded2 = new Image(); + imgLoaded2.src = imgUrl2 +"?"+ new Date().getTime(); + slideNext.prepend($(imgLoaded2).attr('class','imgLoaded').css('visibility','hidden')); + imgLoaded2.onload = function() { + wT = imgLoaded2.naturalWidth; + hT = imgLoaded2.naturalHeight; + $(imgLoaded2).attr('data-alignment',allAlign[slideI+1]).attr('data-portrait',allPor[slideI+1]); + $(imgLoaded2).attr('width',wT); + $(imgLoaded2).attr('height',hT); + resizeImage(); + }; + } + opts.onLoaded.call(this); + if($('.camera_loader',wrap).is(':visible')){ + $('.camera_loader',wrap).fadeOut(400); + } else { + $('.camera_loader',wrap).css({'visibility':'hidden'}); + $('.camera_loader',wrap).fadeOut(400,function(){ + $('.camera_loader',wrap).css({'visibility':'visible'}); + }); + } + var rows = opts.rows, + cols = opts.cols, + couples = 1, + difference = 0, + dataSlideOn, + time, + transPeriod, + fx, + easing, + randomFx = new Array('simpleFade','curtainTopLeft','curtainTopRight','curtainBottomLeft','curtainBottomRight','curtainSliceLeft','curtainSliceRight','blindCurtainTopLeft','blindCurtainTopRight','blindCurtainBottomLeft','blindCurtainBottomRight','blindCurtainSliceBottom','blindCurtainSliceTop','stampede','mosaic','mosaicReverse','mosaicRandom','mosaicSpiral','mosaicSpiralReverse','topLeftBottomRight','bottomRightTopLeft','bottomLeftTopRight','topRightBottomLeft','scrollLeft','scrollRight','scrollTop','scrollBottom','scrollHorz'); + marginLeft = 0, + marginTop = 0, + opacityOnGrid = 0; + + if(opts.opacityOnGrid==true){ + opacityOnGrid = 0; + } else { + opacityOnGrid = 1; + } + + + + var dataFx = $(' > div',elem).eq(slideI).attr('data-fx'); + + if(isMobile()&&opts.mobileFx!=''&&opts.mobileFx!='default'){ + fx = opts.mobileFx; + } else { + if(typeof dataFx !== 'undefined' && dataFx!== false && dataFx!== 'default'){ + fx = dataFx; + } else { + fx = opts.fx; + } + } + + if(fx=='random') { + fx = shuffle(randomFx); + fx = fx[0]; + } else { + fx = fx; + if(fx.indexOf(',')>0){ + fx = fx.replace(/ /g,''); + fx = fx.split(','); + fx = shuffle(fx); + fx = fx[0]; + } + } + + dataEasing = $(' > div',elem).eq(slideI).attr('data-easing'); + mobileEasing = $(' > div',elem).eq(slideI).attr('data-mobileEasing'); + + if(isMobile()&&opts.mobileEasing!=''&&opts.mobileEasing!='default'){ + if(typeof mobileEasing !== 'undefined' && mobileEasing!== false && mobileEasing!== 'default') { + easing = mobileEasing; + } else { + easing = opts.mobileEasing; + } + } else { + if(typeof dataEasing !== 'undefined' && dataEasing!== false && dataEasing!== 'default') { + easing = dataEasing; + } else { + easing = opts.easing; + } + } + + dataSlideOn = $(' > div',elem).eq(slideI).attr('data-slideOn'); + if(typeof dataSlideOn !== 'undefined' && dataSlideOn!== false){ + slideOn = dataSlideOn; + } else { + if(opts.slideOn=='random'){ + var slideOn = new Array('next','prev'); + slideOn = shuffle(slideOn); + slideOn = slideOn[0]; + } else { + slideOn = opts.slideOn; + } + } + + var dataTime = $(' > div',elem).eq(slideI).attr('data-time'); + if(typeof dataTime !== 'undefined' && dataTime!== false && dataTime!== ''){ + time = parseFloat(dataTime); + } else { + time = opts.time; + } + + var dataTransPeriod = $(' > div',elem).eq(slideI).attr('data-transPeriod'); + if(typeof dataTransPeriod !== 'undefined' && dataTransPeriod!== false && dataTransPeriod!== ''){ + transPeriod = parseFloat(dataTransPeriod); + } else { + transPeriod = opts.transPeriod; + } + + if(!$(elem).hasClass('camerastarted')){ + fx = 'simpleFade'; + slideOn = 'next'; + easing = ''; + transPeriod = 400; + $(elem).addClass('camerastarted') + } + + switch(fx){ + case 'simpleFade': + cols = 1; + rows = 1; + break; + case 'curtainTopLeft': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainTopRight': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainBottomLeft': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainBottomRight': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainSliceLeft': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainSliceRight': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'blindCurtainTopLeft': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainTopRight': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainBottomLeft': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainBottomRight': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainSliceTop': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainSliceBottom': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'stampede': + difference = '-'+transPeriod; + break; + case 'mosaic': + difference = opts.gridDifference; + break; + case 'mosaicReverse': + difference = opts.gridDifference; + break; + case 'mosaicRandom': + break; + case 'mosaicSpiral': + difference = opts.gridDifference; + couples = 1.7; + break; + case 'mosaicSpiralReverse': + difference = opts.gridDifference; + couples = 1.7; + break; + case 'topLeftBottomRight': + difference = opts.gridDifference; + couples = 6; + break; + case 'bottomRightTopLeft': + difference = opts.gridDifference; + couples = 6; + break; + case 'bottomLeftTopRight': + difference = opts.gridDifference; + couples = 6; + break; + case 'topRightBottomLeft': + difference = opts.gridDifference; + couples = 6; + break; + case 'scrollLeft': + cols = 1; + rows = 1; + break; + case 'scrollRight': + cols = 1; + rows = 1; + break; + case 'scrollTop': + cols = 1; + rows = 1; + break; + case 'scrollBottom': + cols = 1; + rows = 1; + break; + case 'scrollHorz': + cols = 1; + rows = 1; + break; + } + + var cycle = 0; + var blocks = rows*cols; + var leftScrap = w-(Math.floor(w/cols)*cols); + var topScrap = h-(Math.floor(h/rows)*rows); + var addLeft; + var addTop; + var tAppW = 0; + var tAppH = 0; + var arr = new Array(); + var delay = new Array(); + var order = new Array(); + while(cycle < blocks){ + arr.push(cycle); + delay.push(cycle); + cameraCont.append('