Master Slider – Responsive Touch Slider - Version 2.9.0

Version Description

Download this release

Release Info

Developer averta
Plugin Icon 128x128 Master Slider – Responsive Touch Slider
Version 2.9.0
Comparing to
See all releases

Code changes from version 2.8.0 to 2.9.0

Files changed (162) hide show
  1. README.txt +11 -4
  2. admin/assets/css/msp-general.css +122 -25
  3. admin/assets/images/help.png +0 -0
  4. admin/assets/images/misc/shortcode-in-editor.png +0 -0
  5. admin/assets/images/misc/where-is-ms-shortcode.png +0 -0
  6. admin/assets/images/slider-types/pt_custom.png +0 -0
  7. admin/assets/images/starters/autoplay-slider.jpg +0 -0
  8. admin/assets/images/starters/fullwidth-slider-with-thumbs.jpg +0 -0
  9. admin/assets/images/starters/fullwidth-slider.jpg +0 -0
  10. admin/assets/images/starters/simple-slider.jpg +0 -0
  11. admin/assets/images/starters/slider-with-horizontal-thumbs.jpg +0 -0
  12. admin/assets/images/starters/slider-with-slide-info-v2.jpg +0 -0
  13. admin/assets/images/starters/slider-with-slide-info.jpg +0 -0
  14. admin/assets/images/starters/slider-with-vertical-thumbs.jpg +0 -0
  15. admin/assets/images/thirdparty/master-slider-32x32.png +0 -0
  16. admin/assets/images/thirdparty/premium.png +0 -0
  17. admin/assets/images/thirdparty/preview.png +0 -0
  18. admin/assets/images/thirdparty/test-drive.png +0 -0
  19. admin/includes/classes/class-msp-admin-assets.php +35 -34
  20. admin/includes/classes/class-msp-importer.php +44 -39
  21. admin/includes/classes/class-msp-parser.php +32 -24
  22. admin/includes/classes/class-msp-shortcode-factory.php +12 -11
  23. admin/includes/msp-admin-functions.php +8 -4
  24. admin/includes/msp-hooks.php +91 -3
  25. admin/includes/msp-sample-sliders.php +8 -3
  26. admin/views/index.php +12 -6
  27. admin/views/slider-dashboard/list-sliders.php +69 -63
  28. admin/views/slider-panel/css/msp-style.css +102 -63
  29. admin/views/slider-panel/images/center.png +0 -0
  30. admin/views/slider-panel/images/check.png +0 -0
  31. admin/views/slider-panel/images/cross.png +0 -0
  32. admin/views/slider-panel/images/fill.png +0 -0
  33. admin/views/slider-panel/images/fit.png +0 -0
  34. admin/views/slider-panel/images/help.png +0 -0
  35. admin/views/slider-panel/images/image-layer.png +0 -0
  36. admin/views/slider-panel/images/info.png +0 -0
  37. admin/views/slider-panel/images/layertypes/button.png +0 -0
  38. admin/views/slider-panel/images/layertypes/hotspot.png +0 -0
  39. admin/views/slider-panel/images/layertypes/image.png +0 -0
  40. admin/views/slider-panel/images/layertypes/text.png +0 -0
  41. admin/views/slider-panel/images/layertypes/video.png +0 -0
  42. admin/views/slider-panel/images/overlay-layer.png +0 -0
  43. admin/views/slider-panel/images/pro-features/admin-area/button-editor.jpg +0 -0
  44. admin/views/slider-panel/images/pro-features/admin-area/layers.jpg +0 -0
  45. admin/views/slider-panel/images/pro-features/admin-area/sample-sliders.jpg +0 -0
  46. admin/views/slider-panel/images/pro-features/admin-area/style-editor.jpg +0 -0
  47. admin/views/slider-panel/images/pro-features/admin-area/templates.jpg +0 -0
  48. admin/views/slider-panel/images/pro-features/admin-area/thumbs/button-editor.jpg +0 -0
  49. admin/views/slider-panel/images/pro-features/admin-area/thumbs/layers.jpg +0 -0
  50. admin/views/slider-panel/images/pro-features/admin-area/thumbs/sample-sliders.jpg +0 -0
  51. admin/views/slider-panel/images/pro-features/admin-area/thumbs/style-editor.jpg +0 -0
  52. admin/views/slider-panel/images/pro-features/admin-area/thumbs/templates.jpg +0 -0
  53. admin/views/slider-panel/images/pro-features/admin-area/thumbs/transition-editor.jpg +0 -0
  54. admin/views/slider-panel/images/pro-features/admin-area/transition-editor.jpg +0 -0
  55. admin/views/slider-panel/images/pro-features/admin/button-editor.jpg +0 -0
  56. admin/views/slider-panel/images/pro-features/admin/layers.jpg +0 -0
  57. admin/views/slider-panel/images/pro-features/admin/sample-sliders.jpg +0 -0
  58. admin/views/slider-panel/images/pro-features/admin/style-editor.jpg +0 -0
  59. admin/views/slider-panel/images/pro-features/admin/templates.jpg +0 -0
  60. admin/views/slider-panel/images/pro-features/admin/thumbs/button-editor.jpg +0 -0
  61. admin/views/slider-panel/images/pro-features/admin/thumbs/layers.jpg +0 -0
  62. admin/views/slider-panel/images/pro-features/admin/thumbs/sample-sliders.jpg +0 -0
  63. admin/views/slider-panel/images/pro-features/admin/thumbs/style-editor.jpg +0 -0
  64. admin/views/slider-panel/images/pro-features/admin/thumbs/templates.jpg +0 -0
  65. admin/views/slider-panel/images/pro-features/admin/thumbs/transition-editor.jpg +0 -0
  66. admin/views/slider-panel/images/pro-features/admin/transition-editor.jpg +0 -0
  67. admin/views/slider-panel/images/pro-features/dedicated-support.jpg +0 -0
  68. admin/views/slider-panel/images/pro-features/dynamic-sources.jpg +0 -0
  69. admin/views/slider-panel/images/pro-features/join.png +0 -0
  70. admin/views/slider-panel/images/pro-features/key.png +0 -0
  71. admin/views/slider-panel/images/pro-features/layers.jpg +0 -0
  72. admin/views/slider-panel/images/pro-features/parallax.jpg +0 -0
  73. admin/views/slider-panel/images/pro-features/sample-slider.jpg +0 -0
  74. admin/views/slider-panel/images/pro-features/sample-sliders.jpg +0 -0
  75. admin/views/slider-panel/images/pro-features/videos.jpg +0 -0
  76. admin/views/slider-panel/images/sample.png +0 -0
  77. admin/views/slider-panel/images/stretch.png +0 -0
  78. admin/views/slider-panel/images/templates/3d-flow-carousel.png +0 -0
  79. admin/views/slider-panel/images/templates/3d-wave-carousel.png +0 -0
  80. admin/views/slider-panel/images/templates/display.png +0 -0
  81. admin/views/slider-panel/images/templates/flat-display.png +0 -0
  82. admin/views/slider-panel/images/templates/flat-laptop.png +0 -0
  83. admin/views/slider-panel/images/templates/flat-phone-land.png +0 -0
  84. admin/views/slider-panel/images/templates/flat-phone.png +0 -0
  85. admin/views/slider-panel/images/templates/flat-tablet-land.png +0 -0
  86. admin/views/slider-panel/images/templates/flat-tablet.png +0 -0
  87. admin/views/slider-panel/images/templates/full-screen.png +0 -0
  88. admin/views/slider-panel/images/templates/image-gallery.png +0 -0
  89. admin/views/slider-panel/images/templates/laptop.png +0 -0
  90. admin/views/slider-panel/images/templates/partial-1.png +0 -0
  91. admin/views/slider-panel/images/templates/partial-2.png +0 -0
  92. admin/views/slider-panel/images/templates/partial-3.png +0 -0
  93. admin/views/slider-panel/images/templates/phone-land.png +0 -0
  94. admin/views/slider-panel/images/templates/phone.png +0 -0
  95. admin/views/slider-panel/images/templates/slider-bottom-thumbs.png +0 -0
  96. admin/views/slider-panel/images/templates/slider-horizontal-tabs.png +0 -0
  97. admin/views/slider-panel/images/templates/slider-left-thumbs.png +0 -0
  98. admin/views/slider-panel/images/templates/slider-right-thumbs.png +0 -0
  99. admin/views/slider-panel/images/templates/slider-top-thumbs.png +0 -0
  100. admin/views/slider-panel/images/templates/slider-vertical-tabs.png +0 -0
  101. admin/views/slider-panel/images/templates/staff-1.png +0 -0
  102. admin/views/slider-panel/images/templates/staff-2.png +0 -0
  103. admin/views/slider-panel/images/templates/staff-3.png +0 -0
  104. admin/views/slider-panel/images/templates/staff-4.png +0 -0
  105. admin/views/slider-panel/images/templates/staff-5.png +0 -0
  106. admin/views/slider-panel/images/templates/staff-6.png +0 -0
  107. admin/views/slider-panel/images/templates/tablet-land.png +0 -0
  108. admin/views/slider-panel/images/templates/tablet.png +0 -0
  109. admin/views/slider-panel/images/templates/vertical-slider.png +0 -0
  110. admin/views/slider-panel/images/tile.png +0 -0
  111. admin/views/slider-panel/images/time-ruler.png +0 -0
  112. admin/views/slider-panel/images/ui-spritesheet.png +0 -0
  113. admin/views/slider-panel/images/video-layer.png +0 -0
  114. admin/views/slider-panel/index.php +299 -292
  115. admin/views/slider-panel/js/masterslider.wp.js +5 -5
  116. admin/views/slider-panel/js/msp.required.js +1 -1
  117. includes/init/define.php +1 -1
  118. master-slider.php +2 -2
  119. public/assets/css/common/grab.png +0 -0
  120. public/assets/css/common/grabbing.png +0 -0
  121. public/assets/css/common/video-close-btn.png +0 -0
  122. public/assets/css/masterslider.main.css +2080 -1902
  123. public/assets/css/skins/black-skin-1-retina.png +0 -0
  124. public/assets/css/skins/black-skin-1.png +0 -0
  125. public/assets/css/skins/black-skin-2-retina.png +0 -0
  126. public/assets/css/skins/black-skin-2.png +0 -0
  127. public/assets/css/skins/contrast-skin-retina.png +0 -0
  128. public/assets/css/skins/contrast-skin.png +0 -0
  129. public/assets/css/skins/light-skin-1-retina.png +0 -0
  130. public/assets/css/skins/light-skin-1.png +0 -0
  131. public/assets/css/skins/light-skin-2-retina.png +0 -0
  132. public/assets/css/skins/light-skin-2.png +0 -0
  133. public/assets/css/skins/light-skin-3-retina.png +0 -0
  134. public/assets/css/skins/light-skin-3.png +0 -0
  135. public/assets/css/skins/light-skin-4-retina.png +0 -0
  136. public/assets/css/skins/light-skin-4.png +0 -0
  137. public/assets/css/skins/light-skin-5-retina.png +0 -0
  138. public/assets/css/skins/light-skin-5.png +0 -0
  139. public/assets/css/skins/light-skin-6-retina.png +0 -0
  140. public/assets/css/skins/light-skin-6.png +0 -0
  141. public/assets/css/skins/metro-skin-retina.png +0 -0
  142. public/assets/css/skins/metro-skin.png +0 -0
  143. public/assets/css/skins/minimal.svg +11 -0
  144. public/assets/css/templates/device-skin.png +0 -0
  145. public/assets/css/templates/display.png +0 -0
  146. public/assets/css/templates/flat-display.png +0 -0
  147. public/assets/css/templates/flat-laptop.png +0 -0
  148. public/assets/css/templates/flat-phone-land.png +0 -0
  149. public/assets/css/templates/flat-phone.png +0 -0
  150. public/assets/css/templates/flat-tablet-land.png +0 -0
  151. public/assets/css/templates/flat-tablet.png +0 -0
  152. public/assets/css/templates/gallery-btns.png +0 -0
  153. public/assets/css/templates/laptop.png +0 -0
  154. public/assets/css/templates/phone-land.png +0 -0
  155. public/assets/css/templates/phone.png +0 -0
  156. public/assets/css/templates/staff-arrows.png +0 -0
  157. public/assets/css/templates/tablet-land.png +0 -0
  158. public/assets/css/templates/tablet.png +0 -0
  159. public/assets/css/templates/vertical-arrows.png +0 -0
  160. public/assets/js/masterslider.js +2830 -2729
  161. public/assets/js/masterslider.lite.min.js.map +1 -1
  162. public/assets/js/masterslider.min.js +6 -6
README.txt CHANGED
@@ -5,8 +5,8 @@ License: GPLv3
5
  License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: banner rotator, carousel, content slider, gallery, image slider, responsive slider, showcase, slideshow, swipe, touch slider, video gallery, SEO, vertical slide, HTML5 slider, hardware accelerate, best slider, animation, mobile slider, iOS, android, video slider, youtube slider, horizontal slider, vertical slider, fullwidth slider, fullscreen slider, post slider, photo slider, online album, mobile slider, WordPress slider,wpml, ,ultisite, wistia, woocommerce, product slider, woocommerce slider, portfolio, gallery
7
  Requires at least: 4.0
8
- Tested up to: 4.5.3
9
- Stable tag: 2.8.0
10
 
11
  The most advanced responsive and HTML5 WordPress slider plugin with touch swipe navigation that works smoothly on desktop and devices.
12
 
@@ -225,6 +225,12 @@ Bugs can be reported in our [support forums](http://wordpress.org/tags/master-sl
225
  11. Flexible slider controls
226
 
227
 
 
 
 
 
 
 
228
  = Version 2.8.1 / (11.7.2016) =
229
  - [Improvement]: Security improvement
230
 
@@ -403,5 +409,6 @@ Bugs can be reported in our [support forums](http://wordpress.org/tags/master-sl
403
 
404
  == Upgrade Notice ==
405
 
406
- = 2.8.0 =
407
- - [Improvement]: Security improvement
 
5
  License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: banner rotator, carousel, content slider, gallery, image slider, responsive slider, showcase, slideshow, swipe, touch slider, video gallery, SEO, vertical slide, HTML5 slider, hardware accelerate, best slider, animation, mobile slider, iOS, android, video slider, youtube slider, horizontal slider, vertical slider, fullwidth slider, fullscreen slider, post slider, photo slider, online album, mobile slider, WordPress slider,wpml, ,ultisite, wistia, woocommerce, product slider, woocommerce slider, portfolio, gallery
7
  Requires at least: 4.0
8
+ Tested up to: 4.6.0
9
+ Stable tag: 2.9.0
10
 
11
  The most advanced responsive and HTML5 WordPress slider plugin with touch swipe navigation that works smoothly on desktop and devices.
12
 
225
  11. Flexible slider controls
226
 
227
 
228
+ == Changelog ==
229
+
230
+ = Version 2.9.0 / (19.8.2016) =
231
+ - [Improvement]: Better compatibility with Legacy WordPress themes
232
+ - [Fix]: Minor bugs fixes
233
+
234
  = Version 2.8.1 / (11.7.2016) =
235
  - [Improvement]: Security improvement
236
 
409
 
410
  == Upgrade Notice ==
411
 
412
+ = Version 2.9.0 / (19.8.2016) =
413
+ - [Improvement]: Better compatibility with Legacy WordPress themes
414
+ - [Fix]: Minor bugs fixes
admin/assets/css/msp-general.css CHANGED
@@ -31,18 +31,25 @@
31
  #msp-main-wrapper .wp-list-table tfoot th.manage-column a { color:#777; }
32
  #msp-main-wrapper .wp-list-table tbody tr { height:40px; }
33
 
 
 
 
 
 
 
 
34
  .error { display:none; }
35
 
36
  .tablenav.top {
37
  display:none;
38
  }
39
- .tablenav.bottom {
40
  margin-top:12px;
41
  position: relative;
42
  float:right;
43
  }
44
 
45
- .action-btns-list {
46
  position:relative;
47
  margin-top: 20px;
48
  margin-bottom: 30px;
@@ -119,7 +126,7 @@ msp-ac-btn:active {
119
  border-bottom-width: 1px;
120
  }
121
 
122
- .action-add-new {
123
  padding-left:0;
124
  }
125
 
@@ -206,35 +213,47 @@ msp-ac-btn:active {
206
  padding-top: 6px;
207
  }
208
 
209
- @media only screen and (max-width: 1500px) {
210
- .msp-template-caption { min-height:40px; }
211
  }
212
 
213
- @media only screen and (max-width: 1500px) {
214
- .column-date_created { display:none; }
215
  }
216
 
217
- @media only screen and (max-width: 1350px) {
218
- .column-date_modified { display:none; }
219
  }
220
 
221
- @media only screen and (max-width: 1250px) {
222
- .column-slides_num { display:none; }
223
- .column-ID { display:none; }
224
  }
225
 
226
- @media only screen and (max-width: 1150px) {
227
- .column-type { display:none; }
 
 
 
 
 
 
 
 
 
 
 
 
228
  }
229
 
230
  @media only screen and (max-width: 782px) {
231
 
232
- .tablenav.bottom {
233
  float:none;
234
  }
235
 
236
- .action-btns-list {
237
- top:-10px;
238
  text-align:center;
239
  display: block;
240
  }
@@ -282,7 +301,7 @@ tbody .latest-updates {
282
 
283
  /** slider type selector **/
284
 
285
- #msp-slider-type-select {
286
  display:none;
287
  }
288
  #msp-slider-type-select .msp-templates-list {
@@ -291,13 +310,57 @@ tbody .latest-updates {
291
  #msp-slider-type-select .msp-template-figure {
292
  opacity: 1;
293
  }
 
294
  #msp-slider-type-select .msp-template-figure.is-unavailable {
295
  opacity: 0.8;
296
  }
297
- #msp-slider-type-select .msp-template-figure .msp-templte-selected {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
298
  display:none;
299
  }
300
- #msp-slider-type-select .msp-template-figure.selected .msp-templte-selected {
301
  display:inline-block;
302
  }
303
 
@@ -306,8 +369,8 @@ tbody .latest-updates {
306
  #msp-slider-type-select .msp-template-figure {
307
  width: 18%;
308
  }
309
- #msp-slider-type-select .msp-templates-list .msp-metabox-hr {
310
- padding-bottom: 40px;
311
  }
312
 
313
  #msp-slider-type-select .msp-dialog-inner-title {
@@ -346,15 +409,29 @@ tbody .latest-updates {
346
  max-width:1240px;
347
  }
348
 
349
- @media only screen and (max-width: 1500px) {
350
  #msp-slider-type-select .msp-template-figure {
351
  width: 17.5%;
352
  }
353
- }
354
- @media only screen and (max-width: 1200px) {
 
 
 
 
 
 
 
355
  #msp-slider-type-select .msp-template-figure {
356
  width: 22%;
357
  }
 
 
 
 
 
 
 
358
  }
359
 
360
  /** slider import export **/
@@ -531,6 +608,11 @@ tbody .latest-updates {
531
  padding-left: 35px;
532
  }
533
 
 
 
 
 
 
534
 
535
  .msp-template-caption { min-height: 38px; }
536
 
@@ -540,3 +622,18 @@ tbody .latest-updates {
540
  #msp-main-wrapper .column-title a:focus{
541
  box-shadow:none;
542
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  #msp-main-wrapper .wp-list-table tfoot th.manage-column a { color:#777; }
32
  #msp-main-wrapper .wp-list-table tbody tr { height:40px; }
33
 
34
+ .pagination-links .disabled {
35
+ pointer-events: none;
36
+ cursor: default;
37
+ opacity: 0.6;
38
+ color: #888;
39
+ }
40
+
41
  .error { display:none; }
42
 
43
  .tablenav.top {
44
  display:none;
45
  }
46
+ .tablenav.bottom {
47
  margin-top:12px;
48
  position: relative;
49
  float:right;
50
  }
51
 
52
+ .action-btns-list {
53
  position:relative;
54
  margin-top: 20px;
55
  margin-bottom: 30px;
126
  border-bottom-width: 1px;
127
  }
128
 
129
+ .action-add-new {
130
  padding-left:0;
131
  }
132
 
213
  padding-top: 6px;
214
  }
215
 
216
+ @media only screen and (max-width: 1500px) {
217
+ .msp-template-caption { min-height:40px; }
218
  }
219
 
220
+ @media only screen and (max-width: 1530px) {
221
+ .column-date_created { display:none; }
222
  }
223
 
224
+ @media only screen and (max-width: 1430px) {
225
+ .column-date_modified { display:none; }
226
  }
227
 
228
+ @media only screen and (max-width: 1320px) {
229
+ .column-slides_num { display:none; }
230
+ .column-ID { display:none; }
231
  }
232
 
233
+ @media only screen and (max-width: 1170px) {
234
+ .column-type { display:none; }
235
+
236
+ .action-duplicate, .action-delete,
237
+ .action-preview {
238
+ margin-bottom: 3px;
239
+ }
240
+ .action-duplicate, .action-delete {
241
+ width:90px;
242
+ }
243
+ .action-preview {
244
+ width:197px;
245
+ text-align: center;
246
+ }
247
  }
248
 
249
  @media only screen and (max-width: 782px) {
250
 
251
+ .tablenav.bottom {
252
  float:none;
253
  }
254
 
255
+ .action-btns-list {
256
+ top:-10px;
257
  text-align:center;
258
  display: block;
259
  }
301
 
302
  /** slider type selector **/
303
 
304
+ #msp-slider-type-select {
305
  display:none;
306
  }
307
  #msp-slider-type-select .msp-templates-list {
310
  #msp-slider-type-select .msp-template-figure {
311
  opacity: 1;
312
  }
313
+ /* @todo */
314
  #msp-slider-type-select .msp-template-figure.is-unavailable {
315
  opacity: 0.8;
316
  }
317
+ #msp-slider-type-select .msp-template-figure[data-starter-section="masterslider_pro_custom_samples1"].is-unavailable .msp-templte-selected {
318
+ background: url(../images/thirdparty/premium.png) no-repeat;
319
+ display: block;
320
+ height: 57px;
321
+ width: 57px;
322
+ margin-top: 1px;
323
+ }
324
+ #msp-slider-type-select .msp-template-figure .msp-template-info {
325
+ opacity: 0;
326
+ visibility: hidden;
327
+ background: rgba(60, 60, 60, 0.8);
328
+ width: 100%;
329
+ text-align: center;
330
+ float: left;
331
+ padding: 10px 1px;
332
+ position: absolute;
333
+ bottom: 68px;
334
+ transition: all 0.6s;
335
+ box-sizing: border-box;
336
+ margin-left: 1px;
337
+ }
338
+ #msp-slider-type-select .msp-template-figure[data-starter-section="masterslider_pro_custom_samples1"].is-unavailable:hover .msp-template-info {
339
+ visibility: visible;
340
+ opacity: 1;
341
+ }
342
+ #msp-slider-type-select .msp-template-figure .msp-template-info a {
343
+ color: #ffffff;
344
+ text-align: center;
345
+ width: 44%;
346
+ float: left;
347
+ display: inline-block;
348
+ padding: 0 3%;
349
+ font-size: 12px;
350
+ }
351
+ #msp-slider-type-select .msp-template-figure .msp-template-info a img {
352
+ vertical-align: middle;
353
+ padding: 0 5px;
354
+ }
355
+
356
+
357
+ #msp-slider-type-select .msp-template-figure[data-starter-section="main_types"].is-unavailable {
358
+ opacity: 0.8;
359
+ }
360
+ #msp-slider-type-select .msp-template-figure .msp-templte-selected {
361
  display:none;
362
  }
363
+ #msp-slider-type-select .msp-template-figure.selected .msp-templte-selected {
364
  display:inline-block;
365
  }
366
 
369
  #msp-slider-type-select .msp-template-figure {
370
  width: 18%;
371
  }
372
+ #msp-slider-type-select .msp-templates-list .msp-metabox-hr {
373
+ padding-bottom: 40px;
374
  }
375
 
376
  #msp-slider-type-select .msp-dialog-inner-title {
409
  max-width:1240px;
410
  }
411
 
412
+ @media only screen and (max-width: 1500px) {
413
  #msp-slider-type-select .msp-template-figure {
414
  width: 17.5%;
415
  }
416
+ #msp-slider-type-select .msp-template-figure .msp-template-info a {
417
+ padding: 0 3%;
418
+ font-size: 11px;
419
+ }
420
+ #msp-slider-type-select .msp-template-figure .msp-template-info img {
421
+ width: 14px;
422
+ }
423
+ }
424
+ @media only screen and (max-width: 1200px) {
425
  #msp-slider-type-select .msp-template-figure {
426
  width: 22%;
427
  }
428
+ #msp-slider-type-select .msp-template-figure .msp-template-info a {
429
+ padding: 0 3%;
430
+ font-size: 12px;
431
+ }
432
+ #msp-slider-type-select .msp-template-figure .msp-template-info img {
433
+ width: inherit;
434
+ }
435
  }
436
 
437
  /** slider import export **/
608
  padding-left: 35px;
609
  }
610
 
611
+ #contextual-help-link-wrap button{
612
+ box-shadow: none;
613
+ padding-left: 33px !important;
614
+ padding-right: 0 !important;
615
+ }
616
 
617
  .msp-template-caption { min-height: 38px; }
618
 
622
  #msp-main-wrapper .column-title a:focus{
623
  box-shadow:none;
624
  }
625
+
626
+ .ms-modal-msg {
627
+ padding: 20px;
628
+ margin: 20px 20px 10px;
629
+ }
630
+
631
+ .ms-modal-msg p{
632
+ margin: 0;
633
+ }
634
+
635
+ .ms-modal-msg.msg-error{
636
+ border: 1px solid #ff7676;
637
+ background-color: #ffb8bd;
638
+ color: #333;
639
+ }
admin/assets/images/help.png CHANGED
Binary file
admin/assets/images/misc/shortcode-in-editor.png CHANGED
Binary file
admin/assets/images/misc/where-is-ms-shortcode.png CHANGED
Binary file
admin/assets/images/slider-types/pt_custom.png CHANGED
Binary file
admin/assets/images/starters/autoplay-slider.jpg CHANGED
Binary file
admin/assets/images/starters/fullwidth-slider-with-thumbs.jpg CHANGED
Binary file
admin/assets/images/starters/fullwidth-slider.jpg CHANGED
Binary file
admin/assets/images/starters/simple-slider.jpg CHANGED
Binary file
admin/assets/images/starters/slider-with-horizontal-thumbs.jpg CHANGED
Binary file
admin/assets/images/starters/slider-with-slide-info-v2.jpg CHANGED
Binary file
admin/assets/images/starters/slider-with-slide-info.jpg CHANGED
Binary file
admin/assets/images/starters/slider-with-vertical-thumbs.jpg CHANGED
Binary file
admin/assets/images/thirdparty/master-slider-32x32.png CHANGED
Binary file
admin/assets/images/thirdparty/premium.png ADDED
Binary file
admin/assets/images/thirdparty/preview.png ADDED
Binary file
admin/assets/images/thirdparty/test-drive.png ADDED
Binary file
admin/includes/classes/class-msp-admin-assets.php CHANGED
@@ -13,7 +13,7 @@
13
  * Class to load and print master slider panel scripts
14
  */
15
  class MSP_Admin_Assets {
16
-
17
 
18
  /**
19
  * __construct
@@ -40,7 +40,7 @@ class MSP_Admin_Assets {
40
  $this->add_panel_variables();
41
  $this->add_panel_script_localizations();
42
  }
43
-
44
  }
45
 
46
 
@@ -49,7 +49,7 @@ class MSP_Admin_Assets {
49
  $this->load_global_styles();
50
  $this->add_global_variables();
51
  }
52
-
53
 
54
  public function load_global_styles(){
55
  // load global style - loads on all admin area
@@ -68,7 +68,7 @@ class MSP_Admin_Assets {
68
  ));
69
  }
70
 
71
-
72
  /**
73
  * Load scripts for master slider admin panel
74
  * @return void
@@ -82,12 +82,12 @@ class MSP_Admin_Assets {
82
  wp_enqueue_script( MSWP_SLUG . '-handlebars' , MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/handlebars.min.js', array( 'jquery' ), MSWP_AVERTA_VERSION, true );
83
  wp_enqueue_script( MSWP_SLUG . '-ember-js' , MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/ember.min.js', array( 'jquery' ), MSWP_AVERTA_VERSION, true );
84
  wp_enqueue_script( MSWP_SLUG . '-ember-model' , MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/ember-model.min.js', array( 'jquery' ), MSWP_AVERTA_VERSION, true );
85
- wp_enqueue_script( MSWP_SLUG . '-msp-required' , MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/msp.required.js',
86
- array(
87
- 'jquery', 'jquery-ui-core', 'jquery-ui-dialog', 'jquery-ui-draggable',
88
- 'jquery-ui-sortable', 'jquery-ui-slider', 'jquery-ui-spinner'
89
- ),
90
- MSWP_AVERTA_VERSION, true
91
  );
92
 
93
  wp_enqueue_script( MSWP_SLUG . '-masterslider-wp', MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/masterslider.wp.js', array( MSWP_SLUG . '-msp-required' ), MSWP_AVERTA_VERSION, true );
@@ -98,7 +98,7 @@ class MSP_Admin_Assets {
98
  * Print required variable for master slider panel
99
  */
100
  public function add_panel_variables() {
101
-
102
  $slider_skins = array(
103
  array( 'class' => 'ms-skin-default', 'label' => 'Default' ),
104
  array( 'class' => 'ms-skin-light-2', 'label' => 'Light 2' ),
@@ -116,12 +116,13 @@ class MSP_Admin_Assets {
116
  );
117
 
118
  wp_localize_script( 'jquery', '__MSP_SKINS', apply_filters( 'masterslider_skins', $slider_skins ) );
 
119
 
120
  // get and print slider id
121
  if ( isset( $_REQUEST['slider_id'] ) ) {
122
 
123
  $slider_id = $_REQUEST['slider_id'];
124
-
125
  } else {
126
  global $mspdb;
127
  $slider_id = 0;
@@ -131,7 +132,7 @@ class MSP_Admin_Assets {
131
  wp_localize_script( 'jquery', '__MSP_SLIDER_ID', (string) $slider_id );
132
  }
133
  }
134
-
135
  // Get and print panel data
136
  if ( $slider_id ) {
137
 
@@ -165,8 +166,8 @@ class MSP_Admin_Assets {
165
 
166
  $slider_panel_default_setting = array(
167
 
168
- 'width' => 1000,
169
- 'height' => 500,
170
 
171
  'autoCrop' => false,
172
  'autoplay' => false,
@@ -180,13 +181,13 @@ class MSP_Admin_Assets {
180
  'start' => 1,
181
  'space' => 0,
182
 
183
- 'grabCursor' => true,
184
  'swipe' => true,
185
 
186
  'wheel' => false,
187
  'mouse' => true,
188
 
189
- 'loop' => false,
190
  'shuffle' => false,
191
  'preload' => '-1',
192
 
@@ -208,7 +209,7 @@ class MSP_Admin_Assets {
208
  'slideVideoAutopause'=> false,
209
  'layerContent' => 'Lorem Ipsum'
210
  );
211
-
212
  wp_localize_script( 'jquery', '__MSP_DEF_OPTIONS', apply_filters( 'masterslider_panel_default_setting', $slider_panel_default_setting ) );
213
 
214
  do_action( 'masterslider_admin_add_panel_variables', $slider_type );
@@ -236,17 +237,17 @@ class MSP_Admin_Assets {
236
 
237
 
238
  /**
239
- * Add script localizations
240
  */
241
  public function add_panel_script_localizations() {
242
 
243
  wp_localize_script( 'jquery', '__MSP_LAN', apply_filters( 'masterslider_admin_localize', array(
244
-
245
  // CallbacksController.js
246
  'cb_001' => __( 'On slide change start', 'master-slider' ),
247
  'cb_002' => __( 'On slide change end', 'master-slider' ),
248
  'cb_003' => __( 'On slide timer change', 'master-slider' ),
249
- 'cb_004' => __( 'On slider resize', 'master-slider' ),
250
  'cb_005' => __( 'On Youtube/Vimeo video play', 'master-slider' ),
251
  'cb_006' => __( 'On Youtube/Vimeo video close', 'master-slider' ),
252
  'cb_007' => __( 'On swipe start', 'master-slider' ),
@@ -267,7 +268,7 @@ class MSP_Admin_Assets {
267
  // EffectsController
268
  'ec_001' => __( 'Please enter name for new preset effect', 'master-slider' ),
269
  'ec_002' => __( 'Custom effect', 'master-slider' ),
270
-
271
  // LayersController.js
272
  'lc_001' => __( 'Text Layer', 'master-slider' ),
273
  'lc_002' => __( 'Image Layer', 'master-slider' ),
@@ -340,10 +341,10 @@ class MSP_Admin_Assets {
340
  'ui_018' => __( 'Align left', 'master-slider' ),
341
  'ui_019' => __( 'Align horizontal center', 'master-slider' ),
342
  'ui_020' => __( 'Align right', 'master-slider' ),
343
-
344
  'ui_030' => __( 'Scroll to an element in page :', 'master-slider' ),
345
  'ui_031' => __( 'Target element :', 'master-slider' ),
346
-
347
  // ApplicationController.js
348
  'ap_001' => __( 'Sending data...', 'master-slider' ),
349
  'ap_002' => __( 'An Error accorded, please try again.', 'master-slider' ),
@@ -370,37 +371,37 @@ class MSP_Admin_Assets {
370
  'be_004' => __( 'Buttons', 'master-slider' ),
371
  'be_005' => __( 'Button Editor', 'master-slider' ),
372
  'be_006' => __( 'By updating a button it will be changed in all of your sliders. Are you sure you want to update this button?', 'master-slider' )
373
-
374
  ) ) );
375
-
376
  }
377
 
378
 
379
 
380
  /**
381
- * Add general script localizations
382
  */
383
  public function add_general_script_localizations() {
384
 
385
  wp_localize_script( 'jquery', '__MSP_GEN_LAN', apply_filters( 'masterslider_admin_general_localize', array(
386
-
387
  'genl_001' => __( 'The changes you made will be lost if you navigate away from this page. To exit preview mode click on close (X) button.', 'master-slider' ),
388
  'genl_002' => __( 'Master Slider Preview', 'master-slider' ),
389
  'genl_003' => __( 'Loading Slider ..', 'master-slider' ),
390
- 'genl_004' => __( 'Creating The Slider ..', 'master-slider' ),
391
  'genl_005' => __( 'Select a Starter', 'master-slider' ),
392
  'genl_006' => __( 'No slider is selected to export.', 'master-slider' ),
393
  'genl_007' => __( 'Import', 'master-slider' )
394
 
395
  ) ) );
396
-
397
  }
398
 
399
 
400
 
401
  /**
402
  * Panel spesific styles
403
- *
404
  * @return void
405
  */
406
  public function load_panel_styles() {
@@ -418,7 +419,7 @@ class MSP_Admin_Assets {
418
 
419
  /**
420
  * Master slider general/common styles
421
- *
422
  * @return void
423
  */
424
  public function load_general_styles() {
@@ -428,9 +429,9 @@ class MSP_Admin_Assets {
428
 
429
 
430
  public function load_general_scripts() {
431
- // disable wp autosave on master slider panel
432
  wp_dequeue_script( 'autosave' );
433
  wp_enqueue_script( MSWP_SLUG .'-admin-scripts', MSWP_AVERTA_ADMIN_URL . '/assets/js/admin.js', array('jquery', 'jquery-ui-core', 'jquery-ui-dialog'), MSWP_AVERTA_VERSION, true );
434
  }
435
 
436
- }
13
  * Class to load and print master slider panel scripts
14
  */
15
  class MSP_Admin_Assets {
16
+
17
 
18
  /**
19
  * __construct
40
  $this->add_panel_variables();
41
  $this->add_panel_script_localizations();
42
  }
43
+
44
  }
45
 
46
 
49
  $this->load_global_styles();
50
  $this->add_global_variables();
51
  }
52
+
53
 
54
  public function load_global_styles(){
55
  // load global style - loads on all admin area
68
  ));
69
  }
70
 
71
+
72
  /**
73
  * Load scripts for master slider admin panel
74
  * @return void
82
  wp_enqueue_script( MSWP_SLUG . '-handlebars' , MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/handlebars.min.js', array( 'jquery' ), MSWP_AVERTA_VERSION, true );
83
  wp_enqueue_script( MSWP_SLUG . '-ember-js' , MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/ember.min.js', array( 'jquery' ), MSWP_AVERTA_VERSION, true );
84
  wp_enqueue_script( MSWP_SLUG . '-ember-model' , MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/ember-model.min.js', array( 'jquery' ), MSWP_AVERTA_VERSION, true );
85
+ wp_enqueue_script( MSWP_SLUG . '-msp-required' , MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/msp.required.js',
86
+ array(
87
+ 'jquery', 'jquery-ui-core', 'jquery-ui-dialog', 'jquery-ui-draggable',
88
+ 'jquery-ui-sortable', 'jquery-ui-slider', 'jquery-ui-spinner'
89
+ ),
90
+ MSWP_AVERTA_VERSION, true
91
  );
92
 
93
  wp_enqueue_script( MSWP_SLUG . '-masterslider-wp', MSWP_AVERTA_ADMIN_URL . '/views/slider-panel/js/masterslider.wp.js', array( MSWP_SLUG . '-msp-required' ), MSWP_AVERTA_VERSION, true );
98
  * Print required variable for master slider panel
99
  */
100
  public function add_panel_variables() {
101
+
102
  $slider_skins = array(
103
  array( 'class' => 'ms-skin-default', 'label' => 'Default' ),
104
  array( 'class' => 'ms-skin-light-2', 'label' => 'Light 2' ),
116
  );
117
 
118
  wp_localize_script( 'jquery', '__MSP_SKINS', apply_filters( 'masterslider_skins', $slider_skins ) );
119
+ wp_localize_script( 'jquery', '__MSP_SLIDER_ALIAS' , '1' );
120
 
121
  // get and print slider id
122
  if ( isset( $_REQUEST['slider_id'] ) ) {
123
 
124
  $slider_id = $_REQUEST['slider_id'];
125
+
126
  } else {
127
  global $mspdb;
128
  $slider_id = 0;
132
  wp_localize_script( 'jquery', '__MSP_SLIDER_ID', (string) $slider_id );
133
  }
134
  }
135
+
136
  // Get and print panel data
137
  if ( $slider_id ) {
138
 
166
 
167
  $slider_panel_default_setting = array(
168
 
169
+ 'width' => 1000,
170
+ 'height' => 500,
171
 
172
  'autoCrop' => false,
173
  'autoplay' => false,
181
  'start' => 1,
182
  'space' => 0,
183
 
184
+ 'grabCursor' => true,
185
  'swipe' => true,
186
 
187
  'wheel' => false,
188
  'mouse' => true,
189
 
190
+ 'loop' => false,
191
  'shuffle' => false,
192
  'preload' => '-1',
193
 
209
  'slideVideoAutopause'=> false,
210
  'layerContent' => 'Lorem Ipsum'
211
  );
212
+
213
  wp_localize_script( 'jquery', '__MSP_DEF_OPTIONS', apply_filters( 'masterslider_panel_default_setting', $slider_panel_default_setting ) );
214
 
215
  do_action( 'masterslider_admin_add_panel_variables', $slider_type );
237
 
238
 
239
  /**
240
+ * Add script localizations
241
  */
242
  public function add_panel_script_localizations() {
243
 
244
  wp_localize_script( 'jquery', '__MSP_LAN', apply_filters( 'masterslider_admin_localize', array(
245
+
246
  // CallbacksController.js
247
  'cb_001' => __( 'On slide change start', 'master-slider' ),
248
  'cb_002' => __( 'On slide change end', 'master-slider' ),
249
  'cb_003' => __( 'On slide timer change', 'master-slider' ),
250
+ 'cb_004' => __( 'On slider resize', 'master-slider' ),
251
  'cb_005' => __( 'On Youtube/Vimeo video play', 'master-slider' ),
252
  'cb_006' => __( 'On Youtube/Vimeo video close', 'master-slider' ),
253
  'cb_007' => __( 'On swipe start', 'master-slider' ),
268
  // EffectsController
269
  'ec_001' => __( 'Please enter name for new preset effect', 'master-slider' ),
270
  'ec_002' => __( 'Custom effect', 'master-slider' ),
271
+
272
  // LayersController.js
273
  'lc_001' => __( 'Text Layer', 'master-slider' ),
274
  'lc_002' => __( 'Image Layer', 'master-slider' ),
341
  'ui_018' => __( 'Align left', 'master-slider' ),
342
  'ui_019' => __( 'Align horizontal center', 'master-slider' ),
343
  'ui_020' => __( 'Align right', 'master-slider' ),
344
+
345
  'ui_030' => __( 'Scroll to an element in page :', 'master-slider' ),
346
  'ui_031' => __( 'Target element :', 'master-slider' ),
347
+
348
  // ApplicationController.js
349
  'ap_001' => __( 'Sending data...', 'master-slider' ),
350
  'ap_002' => __( 'An Error accorded, please try again.', 'master-slider' ),
371
  'be_004' => __( 'Buttons', 'master-slider' ),
372
  'be_005' => __( 'Button Editor', 'master-slider' ),
373
  'be_006' => __( 'By updating a button it will be changed in all of your sliders. Are you sure you want to update this button?', 'master-slider' )
374
+
375
  ) ) );
376
+
377
  }
378
 
379
 
380
 
381
  /**
382
+ * Add general script localizations
383
  */
384
  public function add_general_script_localizations() {
385
 
386
  wp_localize_script( 'jquery', '__MSP_GEN_LAN', apply_filters( 'masterslider_admin_general_localize', array(
387
+
388
  'genl_001' => __( 'The changes you made will be lost if you navigate away from this page. To exit preview mode click on close (X) button.', 'master-slider' ),
389
  'genl_002' => __( 'Master Slider Preview', 'master-slider' ),
390
  'genl_003' => __( 'Loading Slider ..', 'master-slider' ),
391
+ 'genl_004' => __( 'Creating The Slider ..', 'master-slider' ),
392
  'genl_005' => __( 'Select a Starter', 'master-slider' ),
393
  'genl_006' => __( 'No slider is selected to export.', 'master-slider' ),
394
  'genl_007' => __( 'Import', 'master-slider' )
395
 
396
  ) ) );
397
+
398
  }
399
 
400
 
401
 
402
  /**
403
  * Panel spesific styles
404
+ *
405
  * @return void
406
  */
407
  public function load_panel_styles() {
419
 
420
  /**
421
  * Master slider general/common styles
422
+ *
423
  * @return void
424
  */
425
  public function load_general_styles() {
429
 
430
 
431
  public function load_general_scripts() {
432
+ // disable wp autosave on master slider panel
433
  wp_dequeue_script( 'autosave' );
434
  wp_enqueue_script( MSWP_SLUG .'-admin-scripts', MSWP_AVERTA_ADMIN_URL . '/assets/js/admin.js', array('jquery', 'jquery-ui-core', 'jquery-ui-dialog'), MSWP_AVERTA_VERSION, true );
435
  }
436
 
437
+ }
admin/includes/classes/class-msp-importer.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php
2
  /**
3
  * Master Slider Import/Export Class.
4
  *
@@ -20,7 +20,7 @@ if (!defined('ABSPATH')) {
20
  * @since 1.2.0
21
  */
22
  class MSP_Importer {
23
-
24
 
25
  var $origin_upload_baseurl = '';
26
 
@@ -43,7 +43,7 @@ class MSP_Importer {
43
 
44
 
45
  public function admin_init() {
46
-
47
  $upload = wp_upload_dir();
48
  $this->upload_baseurl = $upload['baseurl'];
49
  $this->upload_basedir = $upload['basedir'];
@@ -111,10 +111,10 @@ class MSP_Importer {
111
 
112
  // if it's relative url, get absolute origin url
113
  function get_absolute_media_url( $url ){
114
-
115
- if( $this->is_absolute_url( $url ) || $this->contains_origin_upload_dir( $url ) )
116
  return $url;
117
-
118
  return $this->origin_upload_baseurl . $url;
119
  }
120
 
@@ -171,22 +171,22 @@ class MSP_Importer {
171
  <input type="file" name="msp-import-file" class="msp-select-file">
172
 
173
  <small><?php printf( __( 'Maximum size: %s', 'master-slider' ), $size ); ?></small><br /><br /><br />
174
-
175
  <input type="submit" class="button" value="<?php esc_attr_e( 'Upload file and import', 'master-slider' ); ?>" />
176
  </fieldset>
177
 
178
-
179
-
180
  </form>
181
 
182
  </div>
183
 
184
- <?php
185
  }
186
 
187
  // Import sliders from export file
188
  if( isset( $_POST['msp-import'] ) ) {
189
-
190
  if( current_user_can('export_masterslider') ) {
191
 
192
  if( check_admin_referer('import-msp-sliders') ) {
@@ -195,12 +195,12 @@ class MSP_Importer {
195
 
196
  if( 2 == $step ){
197
 
198
- if ( $_FILES['msp-import-file']['error'] == UPLOAD_ERR_OK && is_uploaded_file( $_FILES['msp-import-file']['tmp_name'] ) ) {
199
  // get import file content
200
- $import_data = file_get_contents( $_FILES['msp-import-file']['tmp_name'] );
201
  $this->import_data( $import_data );
202
  }
203
-
204
  }
205
  }
206
 
@@ -211,7 +211,7 @@ class MSP_Importer {
211
 
212
  // Import slider by starter id
213
  if( isset( $_REQUEST['starter_id'] ) && ! empty( $_REQUEST['starter_id'] ) ) {
214
-
215
  if( current_user_can('export_masterslider') || apply_filters( 'masterslider_user_can_import_starter_content', 0 ) ) {
216
 
217
  if ( $starter_field = msp_get_slider_starter_field( $_REQUEST['starter_id'] ) ) {
@@ -243,7 +243,7 @@ class MSP_Importer {
243
 
244
  // Export sliders
245
  if( isset( $_POST['msp-export'] ) ) {
246
-
247
  if( current_user_can('export_masterslider') ) {
248
 
249
  if( check_admin_referer('export-msp-sliders') ) {
@@ -268,8 +268,8 @@ class MSP_Importer {
268
  * @return void
269
  */
270
  public function import_export_notice(){
271
- printf( '<div class="error" style="display:block;" ><p>%s</p></div>',
272
- apply_filters( 'masterslider_import_export_access_denied_message', __( "Sorry, You don't have enough permission to import/export sliders.", 'master-slider' ) )
273
  );
274
  }
275
 
@@ -280,7 +280,7 @@ class MSP_Importer {
280
 
281
  /**
282
  * Get slider export data
283
- *
284
  * @param int|array $slider_id the slider id(s)
285
  * @param array The other options that should be included in export data ( preset_styles, preset_effects )
286
  * @param bool $base64 encode output data to base64 or not
@@ -318,12 +318,12 @@ class MSP_Importer {
318
  }
319
 
320
  // add origin_uploads_url to export data - this helps us to fetch images from origin domian
321
-
322
  // if you need to bundle sample sliders in your theme you can change the origin_uploads_url
323
  // by default origin_uploads_url is the uploads baseurl on domain you exported the sliders from (e.g www.domain.com/wp-content/uploads)
324
- // when you decide to import data to new domain, importer will use the origin_uploads_url to fetch images from.
325
  // you can change origin_uploads_url by using 'masterslider_export_origin_uploads_url' filter
326
- // if you change origin_uploads_url to something else, importer will import slider images
327
  // from your custom origin_uploads_url instead of default origin_uploads_url
328
  $custom_export_origin_uploads_url = apply_filters( 'masterslider_export_origin_uploads_url', null );
329
 
@@ -332,7 +332,7 @@ class MSP_Importer {
332
  $export_data['origin_uploads_url'] = '{{masterslider}}/samples';
333
 
334
  // if filter passed a string with our special tags :
335
- } elseif( false !== strpos( $custom_export_origin_uploads_url, '{{masterslider}}' ) ||
336
  false !== strpos( $custom_export_origin_uploads_url, '{{theme_dir}}' ) ||
337
  false !== strpos( $custom_export_origin_uploads_url, '{{child_theme_dir}}' ) ) {
338
 
@@ -357,7 +357,7 @@ class MSP_Importer {
357
 
358
  /**
359
  * Print slider export data
360
- *
361
  * @param int|array $slider_id the slider id(s)
362
  * @param array The other options that should be included in export data ( preset_styles, preset_effects )
363
  * @param bool $base64 encode output data to base64 or not
@@ -371,7 +371,7 @@ class MSP_Importer {
371
 
372
  /**
373
  * Export slider(s) data to file
374
- *
375
  * @param int|array $slider_id slider(s) ID to export
376
  * @param array The other options that should be included in export data ( preset_style, preset_effect )
377
  * @return void
@@ -396,7 +396,7 @@ class MSP_Importer {
396
 
397
  /**
398
  * Import sliders and options by previousely exported data
399
- *
400
  * @param string $exported_data the exported string
401
  * @return bool true on success and false on failure
402
  */
@@ -459,14 +459,14 @@ class MSP_Importer {
459
  echo "<br />" . __( 'All data imported successfully, have fun :)' ) . "<br />";
460
 
461
  printf( '<a href="%s">%s</a>', admin_url( 'admin.php?page=' . MSWP_SLUG ), __( 'Back to panel ..', 'master-slider' ) );
462
-
463
  return true;
464
  }
465
 
466
 
467
  /**
468
  * Import slider(s) by exported data
469
- *
470
  * @param string $sliders_data the exported string
471
  * @return bool true on success and false on failure
472
  */
@@ -485,8 +485,8 @@ class MSP_Importer {
485
 
486
  // do not publish slider if user has not enough permission to publish sliders
487
  $slider_fields['status'] = current_user_can( 'publish_masterslider' ) ? 'published' : 'draft';
488
-
489
- // import slider
490
  $new_slider_id = $mspdb->import_slider( $slider_fields );
491
  $this->last_new_slider_id = $new_slider_id;
492
  msp_update_slider_custom_css_and_fonts( $new_slider_id );
@@ -500,7 +500,7 @@ class MSP_Importer {
500
 
501
  if( $this->import_medias )
502
  $this->fetch_all_medias();
503
-
504
  return true;
505
  }
506
 
@@ -515,7 +515,7 @@ class MSP_Importer {
515
 
516
  $parser = msp_get_parser();
517
  $parser->set_data( $slider_params );
518
- $results = $parser->get_results();
519
 
520
  // collect slider background image
521
  $this->image_import_queue[] = $results['setting']['bg_image'];
@@ -527,9 +527,14 @@ class MSP_Importer {
527
  if( isset( $results['slides'] ) ) {
528
 
529
  foreach ( $results['slides'] as $slide ) {
530
- $this->image_import_queue[] = $slide['src'];
531
- $this->image_import_queue[] = $slide['thumb'];
 
 
 
 
532
  }
 
533
  }
534
 
535
  $this->image_import_queue = apply_filters( 'masterslider_extract_slider_images_to_import', $this->image_import_queue, $results );
@@ -545,7 +550,7 @@ class MSP_Importer {
545
 
546
  echo "<br />";
547
  $this->image_import_queue = array_filter( $this->image_import_queue );
548
-
549
  foreach ( $this->image_import_queue as $url ) {
550
  $this->download_media( $url );
551
  }
@@ -555,7 +560,7 @@ class MSP_Importer {
555
  public function download_media( $url ){
556
 
557
  if( ! isset( $url ) || empty( $url ) ) return '';
558
-
559
  // remove upload directory and get relative url
560
  if( $this->contains_origin_upload_dir( $url ) ) {
561
  $url = str_replace( $this->origin_upload_baseurl, '', $url );
@@ -569,7 +574,7 @@ class MSP_Importer {
569
 
570
 
571
  $relative_url = $url;
572
-
573
  // extract the file name and extension from the url
574
  $file_name = basename( $relative_url );
575
 
@@ -602,7 +607,7 @@ class MSP_Importer {
602
 
603
  // Prepare an array of post data for the attachment.
604
  $attachment = array(
605
- 'guid' => '',
606
  'post_mime_type' => '',
607
  'post_title' => preg_replace( '/\.[^.]+$/', '', basename( $upload['file'] ) ),
608
  'post_content' => '',
@@ -783,4 +788,4 @@ class MSP_Importer {
783
  }
784
 
785
 
786
- new MSP_Importer();
1
+ <?php
2
  /**
3
  * Master Slider Import/Export Class.
4
  *
20
  * @since 1.2.0
21
  */
22
  class MSP_Importer {
23
+
24
 
25
  var $origin_upload_baseurl = '';
26
 
43
 
44
 
45
  public function admin_init() {
46
+
47
  $upload = wp_upload_dir();
48
  $this->upload_baseurl = $upload['baseurl'];
49
  $this->upload_basedir = $upload['basedir'];
111
 
112
  // if it's relative url, get absolute origin url
113
  function get_absolute_media_url( $url ){
114
+
115
+ if( $this->is_absolute_url( $url ) || $this->contains_origin_upload_dir( $url ) )
116
  return $url;
117
+
118
  return $this->origin_upload_baseurl . $url;
119
  }
120
 
171
  <input type="file" name="msp-import-file" class="msp-select-file">
172
 
173
  <small><?php printf( __( 'Maximum size: %s', 'master-slider' ), $size ); ?></small><br /><br /><br />
174
+
175
  <input type="submit" class="button" value="<?php esc_attr_e( 'Upload file and import', 'master-slider' ); ?>" />
176
  </fieldset>
177
 
178
+
179
+
180
  </form>
181
 
182
  </div>
183
 
184
+ <?php
185
  }
186
 
187
  // Import sliders from export file
188
  if( isset( $_POST['msp-import'] ) ) {
189
+
190
  if( current_user_can('export_masterslider') ) {
191
 
192
  if( check_admin_referer('import-msp-sliders') ) {
195
 
196
  if( 2 == $step ){
197
 
198
+ if ( $_FILES['msp-import-file']['error'] == UPLOAD_ERR_OK && is_uploaded_file( $_FILES['msp-import-file']['tmp_name'] ) ) {
199
  // get import file content
200
+ $import_data = file_get_contents( $_FILES['msp-import-file']['tmp_name'] );
201
  $this->import_data( $import_data );
202
  }
203
+
204
  }
205
  }
206
 
211
 
212
  // Import slider by starter id
213
  if( isset( $_REQUEST['starter_id'] ) && ! empty( $_REQUEST['starter_id'] ) ) {
214
+
215
  if( current_user_can('export_masterslider') || apply_filters( 'masterslider_user_can_import_starter_content', 0 ) ) {
216
 
217
  if ( $starter_field = msp_get_slider_starter_field( $_REQUEST['starter_id'] ) ) {
243
 
244
  // Export sliders
245
  if( isset( $_POST['msp-export'] ) ) {
246
+
247
  if( current_user_can('export_masterslider') ) {
248
 
249
  if( check_admin_referer('export-msp-sliders') ) {
268
  * @return void
269
  */
270
  public function import_export_notice(){
271
+ printf( '<div class="error" style="display:block;" ><p>%s</p></div>',
272
+ apply_filters( 'masterslider_import_export_access_denied_message', __( "Sorry, You don't have enough permission to import/export sliders.", 'master-slider' ) )
273
  );
274
  }
275
 
280
 
281
  /**
282
  * Get slider export data
283
+ *
284
  * @param int|array $slider_id the slider id(s)
285
  * @param array The other options that should be included in export data ( preset_styles, preset_effects )
286
  * @param bool $base64 encode output data to base64 or not
318
  }
319
 
320
  // add origin_uploads_url to export data - this helps us to fetch images from origin domian
321
+
322
  // if you need to bundle sample sliders in your theme you can change the origin_uploads_url
323
  // by default origin_uploads_url is the uploads baseurl on domain you exported the sliders from (e.g www.domain.com/wp-content/uploads)
324
+ // when you decide to import data to new domain, importer will use the origin_uploads_url to fetch images from.
325
  // you can change origin_uploads_url by using 'masterslider_export_origin_uploads_url' filter
326
+ // if you change origin_uploads_url to something else, importer will import slider images
327
  // from your custom origin_uploads_url instead of default origin_uploads_url
328
  $custom_export_origin_uploads_url = apply_filters( 'masterslider_export_origin_uploads_url', null );
329
 
332
  $export_data['origin_uploads_url'] = '{{masterslider}}/samples';
333
 
334
  // if filter passed a string with our special tags :
335
+ } elseif( false !== strpos( $custom_export_origin_uploads_url, '{{masterslider}}' ) ||
336
  false !== strpos( $custom_export_origin_uploads_url, '{{theme_dir}}' ) ||
337
  false !== strpos( $custom_export_origin_uploads_url, '{{child_theme_dir}}' ) ) {
338
 
357
 
358
  /**
359
  * Print slider export data
360
+ *
361
  * @param int|array $slider_id the slider id(s)
362
  * @param array The other options that should be included in export data ( preset_styles, preset_effects )
363
  * @param bool $base64 encode output data to base64 or not
371
 
372
  /**
373
  * Export slider(s) data to file
374
+ *
375
  * @param int|array $slider_id slider(s) ID to export
376
  * @param array The other options that should be included in export data ( preset_style, preset_effect )
377
  * @return void
396
 
397
  /**
398
  * Import sliders and options by previousely exported data
399
+ *
400
  * @param string $exported_data the exported string
401
  * @return bool true on success and false on failure
402
  */
459
  echo "<br />" . __( 'All data imported successfully, have fun :)' ) . "<br />";
460
 
461
  printf( '<a href="%s">%s</a>', admin_url( 'admin.php?page=' . MSWP_SLUG ), __( 'Back to panel ..', 'master-slider' ) );
462
+
463
  return true;
464
  }
465
 
466
 
467
  /**
468
  * Import slider(s) by exported data
469
+ *
470
  * @param string $sliders_data the exported string
471
  * @return bool true on success and false on failure
472
  */
485
 
486
  // do not publish slider if user has not enough permission to publish sliders
487
  $slider_fields['status'] = current_user_can( 'publish_masterslider' ) ? 'published' : 'draft';
488
+
489
+ // import slider
490
  $new_slider_id = $mspdb->import_slider( $slider_fields );
491
  $this->last_new_slider_id = $new_slider_id;
492
  msp_update_slider_custom_css_and_fonts( $new_slider_id );
500
 
501
  if( $this->import_medias )
502
  $this->fetch_all_medias();
503
+
504
  return true;
505
  }
506
 
515
 
516
  $parser = msp_get_parser();
517
  $parser->set_data( $slider_params );
518
+ $results = $parser->get_results();
519
 
520
  // collect slider background image
521
  $this->image_import_queue[] = $results['setting']['bg_image'];
527
  if( isset( $results['slides'] ) ) {
528
 
529
  foreach ( $results['slides'] as $slide ) {
530
+ // skip if current slide is 'overlay' slide not 'standard' slide
531
+ if( empty( $slide['src'] ) )
532
+ continue;
533
+
534
+ $this->image_import_queue[] = $slide['src'];
535
+ $this->image_import_queue[] = $slide['thumb'];
536
  }
537
+
538
  }
539
 
540
  $this->image_import_queue = apply_filters( 'masterslider_extract_slider_images_to_import', $this->image_import_queue, $results );
550
 
551
  echo "<br />";
552
  $this->image_import_queue = array_filter( $this->image_import_queue );
553
+
554
  foreach ( $this->image_import_queue as $url ) {
555
  $this->download_media( $url );
556
  }
560
  public function download_media( $url ){
561
 
562
  if( ! isset( $url ) || empty( $url ) ) return '';
563
+
564
  // remove upload directory and get relative url
565
  if( $this->contains_origin_upload_dir( $url ) ) {
566
  $url = str_replace( $this->origin_upload_baseurl, '', $url );
574
 
575
 
576
  $relative_url = $url;
577
+
578
  // extract the file name and extension from the url
579
  $file_name = basename( $relative_url );
580
 
607
 
608
  // Prepare an array of post data for the attachment.
609
  $attachment = array(
610
+ 'guid' => '',
611
  'post_mime_type' => '',
612
  'post_title' => preg_replace( '/\.[^.]+$/', '', basename( $upload['file'] ) ),
613
  'post_content' => '',
788
  }
789
 
790
 
791
+ new MSP_Importer();
admin/includes/classes/class-msp-parser.php CHANGED
@@ -712,42 +712,50 @@ class MSP_Parser {
712
  }
713
 
714
 
715
- public function get_parsable_slides() {
716
 
717
- if( ! $raw_slides = $this->get_raw_slides() ){
718
- return array();
719
- }
720
 
721
- $valid_slides = array();
 
722
 
723
- foreach ( $raw_slides as $id => $raw_slide ) {
724
- $raw_json_decoded_slide = json_decode( $raw_slide, true );
725
- $valid_slides[ $raw_json_decoded_slide['order'] ] = $raw_json_decoded_slide;
726
- }
727
 
728
- ksort( $valid_slides );
729
- return $valid_slides;
730
- }
 
 
 
731
 
 
 
732
 
733
- public function get_slides( $force_new_parse = false ) {
 
734
 
735
- if( is_null( $this->recent_slides ) || $force_new_parse ) {
736
 
737
- $parsable_slides = $this->get_parsable_slides();
738
 
739
- if ( empty( $parsable_slides ) )
740
- return $parsable_slides;
741
 
742
- $slides = array();
743
 
744
- foreach ( $parsable_slides as $slide ) {
745
- $slides[] = $this->parse_slide( $slide );
746
- }
747
 
748
- $this->recent_slides = $slides;
749
- }
750
- return $this->recent_slides;
 
 
 
 
 
 
751
  }
752
 
753
 
712
  }
713
 
714
 
715
+ public function get_parsable_slides() {
716
 
717
+ if( ! $raw_slides = $this->get_raw_slides() ){
718
+ return array();
719
+ }
720
 
721
+ $valid_slides = array();
722
+ $overlay_slide = array();
723
 
724
+ foreach ( $raw_slides as $id => $raw_slide ) {
725
+ $raw_json_decoded_slide = json_decode( $raw_slide, true );
 
 
726
 
727
+ if( isset( $raw_json_decoded_slide['order'] ) && $raw_json_decoded_slide['order'] > -1 ){
728
+ $valid_slides[ $raw_json_decoded_slide['order'] ] = $raw_json_decoded_slide;
729
+ } else {
730
+ $overlay_slide = $raw_json_decoded_slide;
731
+ }
732
+ }
733
 
734
+ ksort( $valid_slides );
735
+ array_unshift( $valid_slides, $overlay_slide );
736
 
737
+ return $valid_slides;
738
+ }
739
 
 
740
 
741
+ public function get_slides( $force_new_parse = false ) {
742
 
743
+ if( is_null( $this->recent_slides ) || $force_new_parse ) {
 
744
 
745
+ $parsable_slides = $this->get_parsable_slides();
746
 
747
+ if ( empty( $parsable_slides ) )
748
+ return $parsable_slides;
 
749
 
750
+ $slides = array();
751
+
752
+ foreach ( $parsable_slides as $slide ) {
753
+ $slides[] = $this->parse_slide( $slide );
754
+ }
755
+
756
+ $this->recent_slides = $slides;
757
+ }
758
+ return $this->recent_slides;
759
  }
760
 
761
 
admin/includes/classes/class-msp-shortcode-factory.php CHANGED
@@ -134,22 +134,23 @@ class MSP_Shortcode_Factory {
134
  }
135
 
136
 
137
- public function get_ms_slides_shortcode() {
138
 
139
- if( ! isset( $this->parsed_slider_data['slides'] ) )
140
- return '';
141
 
142
- $slides = $this->parsed_slider_data['slides'];
143
 
144
- $shortcodes = '';
145
 
146
- foreach ( $slides as $slide ) {
147
- if( 'true' != $slide['ishide'] )
148
- $shortcodes .= $this->get_ms_slide_shortcode( $slide );
149
- }
 
150
 
151
- return $shortcodes;
152
- }
153
 
154
 
155
 
134
  }
135
 
136
 
137
+ public function get_ms_slides_shortcode() {
138
 
139
+ if( ! isset( $this->parsed_slider_data['slides'] ) )
140
+ return '';
141
 
142
+ $slides = $this->parsed_slider_data['slides'];
143
 
144
+ $shortcodes = '';
145
 
146
+ foreach ( $slides as $slide ) {
147
+ if( ! empty( $slide['ishide'] ) && 'true' != $slide['ishide'] ){
148
+ $shortcodes .= $this->get_ms_slide_shortcode( $slide );
149
+ }
150
+ }
151
 
152
+ return $shortcodes;
153
+ }
154
 
155
 
156
 
admin/includes/msp-admin-functions.php CHANGED
@@ -108,10 +108,14 @@ function msp_save_custom_styles() {
108
  }
109
 
110
 
111
-
112
-
113
-
114
-
 
 
 
 
115
 
116
 
117
 
108
  }
109
 
110
 
111
+ /**
112
+ * Get the number of PRO users
113
+ *
114
+ * @return int
115
+ */
116
+ function msp_get_pro_users_num(){
117
+ echo '12500+';
118
+ }
119
 
120
 
121
 
admin/includes/msp-hooks.php CHANGED
@@ -5,7 +5,7 @@ function msp_filter_masterslider_admin_menu_title( $menu_title ){
5
 
6
  if ( ! isset( $current->response[ MSWP_AVERTA_BASE_NAME ] ) )
7
  return $menu_title;
8
-
9
  return $menu_title . '&nbsp;<span class="update-plugins"><span class="plugin-count">1</span></span>';
10
  }
11
 
@@ -15,7 +15,7 @@ add_filter( 'masterslider_admin_menu_title', 'msp_filter_masterslider_admin_menu
15
  function after_master_slider_row_meta( $plugin_meta, $plugin_file, $plugin_data, $status ){
16
  if( MSWP_AVERTA_BASE_NAME == $plugin_file ) {
17
  $plugin_meta[] = '<a href="http://wordpress.org/support/view/plugin-reviews/' . MSWP_SLUG . '?rating=5#postform" target="_blank" title="' . esc_attr__( 'Rate this plugin', 'master-slider' ) . '">' . __( 'Rate this plugin', 'master-slider' ) . '</a>';
18
- $plugin_meta[] = '<a href="http://masterslider.com/doc/wp/free/#donate" target="_blank" title="' . esc_attr__( 'Donate', 'master-slider' ) . '">' . __( 'Donate', 'master-slider' ) . '</a>';
19
  }
20
  return $plugin_meta;
21
  }
@@ -35,4 +35,92 @@ function msp_check_vital_user_capabilities(){
35
  add_action( 'admin_notices', 'msp_admin_notice_rich_editing' );
36
  }
37
  }
38
- add_action( 'admin_init', 'msp_check_vital_user_capabilities' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
  if ( ! isset( $current->response[ MSWP_AVERTA_BASE_NAME ] ) )
7
  return $menu_title;
8
+
9
  return $menu_title . '&nbsp;<span class="update-plugins"><span class="plugin-count">1</span></span>';
10
  }
11
 
15
  function after_master_slider_row_meta( $plugin_meta, $plugin_file, $plugin_data, $status ){
16
  if( MSWP_AVERTA_BASE_NAME == $plugin_file ) {
17
  $plugin_meta[] = '<a href="http://wordpress.org/support/view/plugin-reviews/' . MSWP_SLUG . '?rating=5#postform" target="_blank" title="' . esc_attr__( 'Rate this plugin', 'master-slider' ) . '">' . __( 'Rate this plugin', 'master-slider' ) . '</a>';
18
+ $plugin_meta[] = '<a href="http://masterslider.com/doc/wp/free/#donate" target="_blank" title="' . esc_attr__( 'Donate', 'master-slider' ) . '">' . __( 'Donate', 'master-slider' ) . '</a>';
19
  }
20
  return $plugin_meta;
21
  }
35
  add_action( 'admin_notices', 'msp_admin_notice_rich_editing' );
36
  }
37
  }
38
+ add_action( 'admin_init', 'msp_check_vital_user_capabilities' );
39
+
40
+
41
+
42
+
43
+
44
+ /**
45
+ * Function to get sample sliders from remote demo site
46
+ *
47
+ * @param boolean $force_to_fetch Whether to force to fetch sample sliders or rely on cache
48
+ * @return array An array containing remote sample sliders
49
+ */
50
+ function msp_request_remote_sample_sliders( $force_to_fetch = false ) {
51
+
52
+ $request_body = array();
53
+
54
+ if ( ! defined( 'MSWP_SLUG' ) ) {
55
+ return false;
56
+ }
57
+
58
+ if ( 'masterslider' == MSWP_SLUG ) {
59
+ if ( '1' == get_option( 'masterslider_is_license_actived', false ) ) {
60
+ $request_body['slider_type'] = 'pro-registered';
61
+ } else {
62
+ $request_body['slider_type'] = 'pro-all';
63
+ }
64
+ } else {
65
+ $request_body['slider_type'] = 'free';
66
+ }
67
+
68
+ // try to use cached data
69
+ if( ! $force_to_fetch && false !== ( $result = get_transient( 'msp_get_remote_sample_sliders' ) ) && ! empty( $result ) ){
70
+ return $result;
71
+ }
72
+
73
+ $response = wp_remote_post( 'http://demo.averta.net/themes/lotus/dummy-agency/api/' ,
74
+ array(
75
+ 'body' => $request_body,
76
+ 'timeout' => 30
77
+ )
78
+ );
79
+
80
+
81
+ if ( ! is_wp_error( $response ) ) {
82
+
83
+ if( ! empty( $response['body'] ) ){
84
+ $result = json_decode( $response['body'], true );
85
+
86
+ if( empty( $result ) ){
87
+ echo '<div class="ms-modal-msg msg-error"><p>'.
88
+ __( 'Unfortunately an Error occurred while fetching the remote sample sliders. Please reload the page to try again.', MSWP_TEXT_DOMAIN ) .
89
+ "<br><br><strong>" . __( 'Error', MSWP_TEXT_DOMAIN ) . '</strong>: [ ' . __( 'No data was received.', MSWP_TEXT_DOMAIN ) . ' ]'.
90
+ '</p></div>';
91
+
92
+ } else {
93
+ set_transient( 'msp_get_remote_sample_sliders', $result, 3 * HOUR_IN_SECONDS );
94
+ return $result;
95
+ }
96
+ }
97
+
98
+ } else {
99
+ echo '<div class="ms-modal-msg msg-error"><p>'.
100
+ __( 'Unfortunately an Error occurred while fetching the remote sample sliders. Please reload the page to try again.', MSWP_TEXT_DOMAIN ) .
101
+ "<br><br><strong>" . __( 'Error', MSWP_TEXT_DOMAIN ) . '</strong>: [ ' . $response->get_error_message() . ' ]'.
102
+ '</p></div>';
103
+ }
104
+
105
+ return false;
106
+ }
107
+
108
+
109
+ /**
110
+ * Function to show premium sliders in "premium sliders" section
111
+ */
112
+ function msp_premium_sliders( $demos ) {
113
+
114
+ if ( $online_demos = msp_request_remote_sample_sliders() ) {
115
+ foreach ( $online_demos as $demo ) {
116
+ if ( 'custom' == $demo['slidertype'] ) {
117
+ $demos['masterslider_pro_custom_samples1'][] = $demo;
118
+ } elseif( 'post' == $demo['slidertype'] ) {
119
+ $demos['masterslider_pro_post_samples1'][] = $demo;
120
+ }
121
+ }
122
+ }
123
+
124
+ return $demos;
125
+ }
126
+ add_filter( 'masterslider_starter_fields', 'msp_premium_sliders' );
admin/includes/msp-sample-sliders.php CHANGED
@@ -12,6 +12,11 @@ function msp_get_slider_starter_sections () {
12
  'id' => 'masterslider_samples_group1',
13
  'title' => __( 'Sample Sliders', 'master-slider' ),
14
  'desc' => ''
 
 
 
 
 
15
  )
16
  );
17
 
@@ -112,8 +117,8 @@ function msp_get_slider_starter_fields () {
112
  'screenshot'=> MSWP_AVERTA_ADMIN_URL . '/assets/images/starters/slider-with-slide-info-v2.jpg'
113
  )
114
  );
115
-
116
-
117
  return apply_filters( 'masterslider_starter_fields', $starters );
118
  }
119
 
@@ -131,4 +136,4 @@ function msp_get_slider_starter_field( $field_id ){
131
  }
132
 
133
  return null;
134
- }
12
  'id' => 'masterslider_samples_group1',
13
  'title' => __( 'Sample Sliders', 'master-slider' ),
14
  'desc' => ''
15
+ ),
16
+ array(
17
+ 'id' => 'masterslider_pro_custom_samples1',
18
+ 'title' => __( 'Sample Sliders for PRO version (Upgrade to unlock)', 'master-slider' ),
19
+ 'desc' => ''
20
  )
21
  );
22
 
117
  'screenshot'=> MSWP_AVERTA_ADMIN_URL . '/assets/images/starters/slider-with-slide-info-v2.jpg'
118
  )
119
  );
120
+
121
+
122
  return apply_filters( 'masterslider_starter_fields', $starters );
123
  }
124
 
136
  }
137
 
138
  return null;
139
+ }
admin/views/index.php CHANGED
@@ -16,10 +16,16 @@
16
 
17
 
18
  function msp_thankyou_footer() {
19
- $text = sprintf( __( 'Thank you for creating with <a href="%s">WordPress</a>.' ), __( 'https://wordpress.org/' ) );
20
- $text .= sprintf( __(' and using <a href="%s">Master Slider</a> %s', 'master-slider' ), 'http://masterslider.com/?msl', MSWP_AVERTA_VERSION );
21
 
22
- return '<span id="footer-thankyou">' . $text . '</span>';
 
 
 
 
 
 
 
 
23
  }
24
  add_filter( 'admin_footer_text', 'msp_thankyou_footer' );
25
 
@@ -28,8 +34,8 @@ add_filter( 'admin_footer_text', 'msp_thankyou_footer' );
28
 
29
  <div id="msp-main-wrapper" class="wrap" data-nonce="<?php echo $msp_nonce; ?>" >
30
 
31
- <?php
32
-
33
  // process slider data and generate required thumbnails for slider panel
34
  // if( ! empty( $slider_id ) && isset( $_REQUEST['fr'] ) )
35
  // msp_get_ms_slider_shortcode_by_slider_id( $slider_id );
@@ -53,4 +59,4 @@ add_filter( 'admin_footer_text', 'msp_thankyou_footer' );
53
 
54
  ?>
55
 
56
- </div>
16
 
17
 
18
  function msp_thankyou_footer() {
 
 
19
 
20
+ $text = sprintf(
21
+ __('If you like %sMaster Slider%s and want to support us, please rate us %s ★★★★★ %s, that is a huge help!', 'master-slider' ),
22
+ '<a href="http://masterslider.com/?msl" title="Version ' . MSWP_AVERTA_VERSION . '" target="_blank">',
23
+ '</a>',
24
+ '<a href="https://wordpress.org/support/view/plugin-reviews/master-slider/?filter=5#postform" target="_blank">',
25
+ '</a>'
26
+ );
27
+
28
+ return '<span id="footer-thankyou">' . $text . '</span>';
29
  }
30
  add_filter( 'admin_footer_text', 'msp_thankyou_footer' );
31
 
34
 
35
  <div id="msp-main-wrapper" class="wrap" data-nonce="<?php echo $msp_nonce; ?>" >
36
 
37
+ <?php
38
+
39
  // process slider data and generate required thumbnails for slider panel
40
  // if( ! empty( $slider_id ) && isset( $_REQUEST['fr'] ) )
41
  // msp_get_ms_slider_shortcode_by_slider_id( $slider_id );
59
 
60
  ?>
61
 
62
+ </div>
admin/views/slider-dashboard/list-sliders.php CHANGED
@@ -3,8 +3,8 @@
3
 
4
  // Display sliders list
5
  $slider_table_list = new MSP_List_Table();
6
- $slider_table_list->prepare_items();
7
- $slider_table_list->display();
8
 
9
 
10
  // Display action buttons
@@ -12,64 +12,70 @@
12
 
13
  if( current_user_can( 'create_masterslider' ) )
14
  printf( '<a id="msp-add-slider" class="action-add-new msp-ac-btn msp-btn-blue msp-iconic-big" href="%s"><span></span>%s</a>', admin_url( 'admin.php?page='.MSWP_SLUG.'&action=add' ), __( 'Create New Slider', 'master-slider' ) );
15
-
16
  if( current_user_can( 'export_masterslider' ) || apply_filters( 'masterslider_admin_display_export_import', 0 ) )
17
  printf( '<a class="action-import-export msp-ac-btn" href="%s" onClick="lunchMastersliderImportExport(); return false;">%s</a>', admin_url( 'admin.php?page='.MSWP_SLUG ), __( 'Import & Export', 'master-slider' ) );
18
-
19
  echo '</div>';
20
-
21
-
22
-
23
- if( current_user_can( 'create_masterslider' ) ) { ?>
24
-
25
- <div id="msp-slider-type-select" >
26
-
27
- <div class="msp-templates-list">
28
-
29
- <?php
30
- sanitize_title( '' );
31
- $starter_sections = msp_get_slider_starter_sections();
32
- $starter_fields = msp_get_slider_starter_fields();
33
-
34
- foreach ( $starter_sections as $starter_section ) {
35
- ?>
36
- <div class="msp-dialog-inner-title ui-helper-clearfix">
37
- <span><?php echo $starter_section['title']; ?></span>
38
- </div>
39
- <?php
40
-
41
- $section_id = $starter_section['id'];
42
- $section_fields = isset( $starter_fields[ $section_id ] ) ? $starter_fields[ $starter_section['id'] ] : array();
43
-
44
- foreach ( $section_fields as $starter_data ) {
45
-
46
- $selected_attr = ( 'true' == $starter_data['selected'] ) ? 'selected' : '';
47
- $is_unavailable = isset( $starter_data['disable'] ) && 'true' == $starter_data['disable'] ? ' is-unavailable' : '';
48
- $disabled_msg = isset( $starter_data['disabled_msg'] ) && ! empty( $starter_data['disabled_msg'] ) ? $starter_data['disabled_msg'] : '';
49
-
50
- ?>
51
- <div class="msp-template-figure <?php echo $selected_attr . $is_unavailable; ?>" data-slider-type="<?php echo $starter_data['slidertype']; ?>"
52
- data-starter-uid="<?php echo $starter_data['id']; ?>" data-starter-section="<?php echo $section_id; ?>" data-disabled-msg="<?php echo $disabled_msg; ?>" >
53
- <div class="msp-templte-selected"></div>
54
- <img src="<?php echo $starter_data['screenshot']; ?>" />
55
- <div class="msp-template-caption"><?php echo $starter_data['label']; ?><span></span></div>
56
- </div>
57
  <?php
58
-
59
- }
60
-
61
- ?>
62
- <div class="section-divider"></div>
63
- <?php
64
- }
65
-
66
- ?>
67
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
 
69
- <div class="msp-templates-bottom">
70
- <button id="msp-slider-type-create" class="msp-blue-btn msp-applyeffect"><?php _e( 'Create', 'master-slider' ); ?></button>
71
- </div>
72
- </div>
73
 
74
  <?php } ?>
75
 
@@ -78,7 +84,7 @@
78
  <?php if( current_user_can( 'export_masterslider' ) || apply_filters( 'masterslider_admin_display_export_import', 0 ) ) { ?>
79
 
80
  <div class="msp-import-export-wrapper" >
81
-
82
  <?php do_action( 'masterslider_before_import_dialog_content' ); ?>
83
 
84
  <div class="msp-import-wrapper">
@@ -96,7 +102,7 @@
96
  </fieldset>
97
 
98
  <span class="msp-dialog-section-desc"><?php _e( 'To import sliders select Masterslider Export file that you downloaded before then click import button.', 'master-slider' ) ?></span>
99
-
100
  </form>
101
 
102
  </div>
@@ -105,7 +111,7 @@
105
  <h4 class="msp-dialog-inner-split-header"><?php _e('Export', 'master-slider' ) ?></h4>
106
 
107
  <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" class="msp-export-form msp-dialog-inner-section">
108
-
109
  <div class="msp-export-table-container">
110
 
111
  <table class="msp-export-table widefat fixed msp-export-sliders-table">
@@ -118,7 +124,7 @@
118
  <th class="export-column export-field-ID" >ID</th>
119
  <th class="export-column export-field-title" >Name</th>
120
  <th class="export-column export-field-type" >Type</th>
121
- <th class="export-column export-field-lastmodify" >Last Modify</th>
122
  </tr>
123
  </thead>
124
 
@@ -136,25 +142,25 @@
136
  <th class="export-column export-field-ID" ><?php echo $slider['ID']; ?></th>
137
  <th class="export-column export-field-title" ><?php echo $slider['title']; ?></th>
138
  <th class="export-column export-field-type" ><?php echo $slider['type']; ?></th>
139
- <th class="export-column export-field-lastmodify" ><abbr title="<?php echo $time; ?>"><?php echo $human_time; ?></abbr></th>
140
  </tr>
141
  <?php } ?>
142
  </tbody>
143
 
144
  </table>
145
-
146
  </div>
147
 
148
  <fieldset>
149
  <?php wp_nonce_field('export-msp-sliders'); ?>
150
 
151
  <input type="hidden" name="msp-export" value="1">
152
-
153
  <button id="msp-export-btn" class="button msp-ac-btn msp-btn-blue"><?php _e('Export', 'master-slider' ) ?></button>
154
  </fieldset>
155
 
156
  <span class="msp-dialog-section-desc"><?php _e( 'Downloads an export file that contains your selected sliders to import on your new site.', 'master-slider' ); ?></span>
157
-
158
  </form>
159
 
160
  </div>
3
 
4
  // Display sliders list
5
  $slider_table_list = new MSP_List_Table();
6
+ $slider_table_list->prepare_items();
7
+ $slider_table_list->display();
8
 
9
 
10
  // Display action buttons
12
 
13
  if( current_user_can( 'create_masterslider' ) )
14
  printf( '<a id="msp-add-slider" class="action-add-new msp-ac-btn msp-btn-blue msp-iconic-big" href="%s"><span></span>%s</a>', admin_url( 'admin.php?page='.MSWP_SLUG.'&action=add' ), __( 'Create New Slider', 'master-slider' ) );
15
+
16
  if( current_user_can( 'export_masterslider' ) || apply_filters( 'masterslider_admin_display_export_import', 0 ) )
17
  printf( '<a class="action-import-export msp-ac-btn" href="%s" onClick="lunchMastersliderImportExport(); return false;">%s</a>', admin_url( 'admin.php?page='.MSWP_SLUG ), __( 'Import & Export', 'master-slider' ) );
18
+
19
  echo '</div>';
20
+
21
+
22
+
23
+ if( current_user_can( 'create_masterslider' ) ) { ?>
24
+
25
+ <div id="msp-slider-type-select" >
26
+
27
+ <div class="msp-templates-list">
28
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  <?php
30
+ sanitize_title( '' );
31
+ $starter_sections = msp_get_slider_starter_sections();
32
+ $starter_fields = msp_get_slider_starter_fields();
33
+
34
+ foreach ( $starter_sections as $starter_section ) {
35
+ ?>
36
+ <div class="msp-dialog-inner-title ui-helper-clearfix">
37
+ <span><?php echo $starter_section['title']; ?></span>
38
+ </div>
39
+ <?php
40
+
41
+ $section_id = $starter_section['id'];
42
+ $section_fields = isset( $starter_fields[ $section_id ] ) ? $starter_fields[ $starter_section['id'] ] : array();
43
+
44
+ foreach ( $section_fields as $starter_data ) {
45
+
46
+ $selected_attr = isset( $starter_data['selected'] ) && 'true' == $starter_data['selected'] ? 'selected' : '';
47
+ $is_unavailable = isset( $starter_data['disable'] ) && 'true' == $starter_data['disable'] ? ' is-unavailable' : '';
48
+ $disabled_msg = isset( $starter_data['disabled_msg'] ) && ! empty( $starter_data['disabled_msg'] ) ? $starter_data['disabled_msg'] : '';
49
+
50
+ ?>
51
+ <div class="msp-template-figure <?php echo $selected_attr . $is_unavailable; ?>" data-slider-type="<?php echo $starter_data['slidertype']; ?>"
52
+ data-starter-uid="<?php echo $starter_data['id']; ?>" data-starter-section="<?php echo $section_id; ?>" data-disabled-msg="<?php echo $disabled_msg; ?>" >
53
+ <div class="msp-templte-selected"></div>
54
+ <img src="<?php echo $starter_data['screenshot']; ?>" />
55
+ <?php if ( $is_unavailable && 'wc-product-slider' !== $starter_data['id'] ): ?>
56
+ <div class="msp-template-info">
57
+ <a href="<?php echo esc_url( $starter_data['demo_url'] ); ?>" target="_blank"><img src="<?php echo esc_url( MSWP_AVERTA_ADMIN_URL ); ?>/assets/images/thirdparty/preview.png" alt="Preview"><?php _e( 'Preview', MSWP_TEXT_DOMAIN ); ?></a>
58
+ <a href="<?php echo esc_url( $starter_data['test_drive_url'] ); ?>" target="_blank"><img src="<?php echo esc_url( MSWP_AVERTA_ADMIN_URL ); ?>/assets/images/thirdparty/test-drive.png" alt="Test Drive"><?php _e( 'Test Drive', MSWP_TEXT_DOMAIN ); ?></a>
59
+ </div>
60
+ <?php endif ?>
61
+ <div class="msp-template-caption"><?php echo $starter_data['label']; ?><span></span></div>
62
+ </div>
63
+ <?php
64
+
65
+ }
66
+
67
+ ?>
68
+ <div class="section-divider"></div>
69
+ <?php
70
+ }
71
+
72
+ ?>
73
+ </div>
74
 
75
+ <div class="msp-templates-bottom">
76
+ <button id="msp-slider-type-create" class="msp-blue-btn msp-applyeffect"><?php _e( 'Create', MSWP_TEXT_DOMAIN ); ?></button>
77
+ </div>
78
+ </div>
79
 
80
  <?php } ?>
81
 
84
  <?php if( current_user_can( 'export_masterslider' ) || apply_filters( 'masterslider_admin_display_export_import', 0 ) ) { ?>
85
 
86
  <div class="msp-import-export-wrapper" >
87
+
88
  <?php do_action( 'masterslider_before_import_dialog_content' ); ?>
89
 
90
  <div class="msp-import-wrapper">
102
  </fieldset>
103
 
104
  <span class="msp-dialog-section-desc"><?php _e( 'To import sliders select Masterslider Export file that you downloaded before then click import button.', 'master-slider' ) ?></span>
105
+
106
  </form>
107
 
108
  </div>
111
  <h4 class="msp-dialog-inner-split-header"><?php _e('Export', 'master-slider' ) ?></h4>
112
 
113
  <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" class="msp-export-form msp-dialog-inner-section">
114
+
115
  <div class="msp-export-table-container">
116
 
117
  <table class="msp-export-table widefat fixed msp-export-sliders-table">
124
  <th class="export-column export-field-ID" >ID</th>
125
  <th class="export-column export-field-title" >Name</th>
126
  <th class="export-column export-field-type" >Type</th>
127
+ <th class="export-column export-field-lastmodify" >Last Modify</th>
128
  </tr>
129
  </thead>
130
 
142
  <th class="export-column export-field-ID" ><?php echo $slider['ID']; ?></th>
143
  <th class="export-column export-field-title" ><?php echo $slider['title']; ?></th>
144
  <th class="export-column export-field-type" ><?php echo $slider['type']; ?></th>
145
+ <th class="export-column export-field-lastmodify" ><abbr title="<?php echo $time; ?>"><?php echo $human_time; ?></abbr></th>
146
  </tr>
147
  <?php } ?>
148
  </tbody>
149
 
150
  </table>
151
+
152
  </div>
153
 
154
  <fieldset>
155
  <?php wp_nonce_field('export-msp-sliders'); ?>
156
 
157
  <input type="hidden" name="msp-export" value="1">
158
+
159
  <button id="msp-export-btn" class="button msp-ac-btn msp-btn-blue"><?php _e('Export', 'master-slider' ) ?></button>
160
  </fieldset>
161
 
162
  <span class="msp-dialog-section-desc"><?php _e( 'Downloads an export file that contains your selected sliders to import on your new site.', 'master-slider' ); ?></span>
163
+
164
  </form>
165
 
166
  </div>
admin/views/slider-panel/css/msp-style.css CHANGED
@@ -1,5 +1,5 @@
1
  /**
2
- * Master Slider Panel
3
  * Core style sheet file
4
  * @version 1.0
5
  * @autor averta
@@ -13,7 +13,7 @@
13
 
14
  .msp-clearboth{clear: both;}
15
 
16
- #msp-header{
17
  background: white;
18
  height: 80px;
19
  margin-bottom: 20px;
@@ -67,7 +67,7 @@
67
 
68
  /* Icons */
69
  .msp-ico { background: url(../images/ui-spritesheet.png) no-repeat; display: inline-block;}
70
- .msp-ico-settings {
71
  background-position: -1px -1px;
72
  width: 16px;
73
  height: 16px;
@@ -110,12 +110,12 @@
110
  }
111
 
112
  .msp-ico-whiteduplicate {
113
- width: 18px; height: 18px;
114
  background-position: -122px -23px;
115
  }
116
 
117
  .msp-ico-whiteremove {
118
- width: 18px; height: 18px;
119
  background-position: -147px -23px;
120
  }
121
 
@@ -127,25 +127,25 @@
127
 
128
  .msp-ico-altop {
129
  background-position: -76px -1px;
130
- width: 15px;
131
  height: 14px;
132
  }
133
  .msp-ico-almid {
134
- background-position: -100px -1px;
135
- width: 19px;
136
  height: 13px;
137
  }
138
  .msp-ico-albot {
139
- background-position: -124px -1px; width: 19px;
140
  height: 14px;
141
  }
142
  .msp-ico-alleft {
143
- background-position: -148px -1px; width: 19px;
144
  height: 15px;
145
  }
146
  .msp-ico-alcenter {
147
- background-position: -197px -1px;
148
- width: 19px;
149
  height: 17px;
150
  }
151
  .msp-ico-alright {
@@ -157,11 +157,11 @@
157
  background-position: -174px -72px;
158
  }
159
  .msp-ico.msp-ico-blackiso {
160
- width: 16px; height: 16px;
161
  background-position: -123px -73px;
162
  }
163
  .msp-ico.msp-ico-blacklock {
164
- width: 16px; height: 16px;
165
  background-position: -148px -74px;
166
  }
167
  .msp-ico.msp-ico-graypoint {
@@ -170,8 +170,8 @@
170
  background-position: -221px -21px;
171
  }
172
  .msp-ico.msp-ico-grayduplicate {
173
- width: 15px;
174
- height: 15px;
175
  background-position: -224px -49px;
176
  }
177
 
@@ -208,9 +208,9 @@
208
  }
209
 
210
  .msp-ico-posts {
211
- width: 17px;
212
  vertical-align: top !important;
213
- height: 20px;
214
  top: -2px;
215
  background-position: -226px -225px;
216
  }
@@ -271,7 +271,7 @@
271
  .msp-main-nav ul li.msp-upgrade-btn a:hover {
272
  background-color: #5FC524;
273
  }
274
- .msp-main-nav ul li.msp-upgrade-btn a.active:hover {
275
  background-color: white;
276
  }
277
 
@@ -444,7 +444,7 @@ a.msp-pf-btn.msp-pf-more-btn:hover {
444
  .msp-main-nav ul li a.active .msp-ico-wooc { background-position: -200px -200px; }
445
 
446
  .msp-main-nav ul li a.active .msp-ico-pro { background-position: -250px -252px; }
447
- .msp-save-bar-placeholder {
448
  height: 35px;
449
  }
450
 
@@ -465,7 +465,7 @@ a.msp-pf-btn.msp-pf-more-btn:hover {
465
  }
466
 
467
  .msp-save-status,
468
- .msp-time-ago {
469
  display: inline-block;
470
  margin-left: 5px;
471
  -webkit-transition: opacity 500ms;
@@ -494,8 +494,8 @@ a.msp-pf-btn.msp-pf-more-btn:hover {
494
  background: url(../images/info.png);
495
  }
496
 
497
- .msp-saving-msg-cont {
498
- position: relative;
499
  display: inline-block;
500
  width: 50%;
501
  }
@@ -601,7 +601,7 @@ a.msp-pf-btn.msp-pf-more-btn:hover {
601
  float: left;
602
  }
603
  .msp-metabox-tabs .tabs li a {
604
- color: white;
605
  padding: 0 20px;
606
  border-right: solid 1px #FFF;
607
  height: 50px; line-height: 50px;
@@ -709,7 +709,7 @@ a.msp-pf-btn.msp-pf-more-btn:hover {
709
  }
710
 
711
  .msp-container button.msp-med-btn{
712
-
713
  }
714
 
715
  button.msp-add-btn {
@@ -857,7 +857,7 @@ button.msp-remove-btn-med {
857
  }
858
 
859
  .ui-widget-overlay {
860
- background: url(../images/patt.png) rgba(24, 24, 24, 0.89) !important;
861
  opacity: 1 !important;
862
  }
863
 
@@ -968,7 +968,7 @@ button.msp-remove-btn-med {
968
 
969
  box-shadow: 4px 4px 4px -3px rgba(0, 0, 0, 0.17);
970
  }
971
-
972
  .dd-option {
973
  display:block;
974
  border-bottom:solid 1px #ddd;
@@ -1085,19 +1085,18 @@ button.msp-img-btn {
1085
  }
1086
 
1087
  /* Manage Slides */
1088
-
1089
  .msp-slides {
1090
- list-style: none;
1091
- padding: 0;
1092
  }
1093
  .msp-slides>li {
1094
- float: left;
1095
  }
1096
  .msp-slideframe ul {
1097
- list-style: none;
1098
  }
1099
  .msp-slideframe ul li {
1100
- float: left;
1101
  }
1102
 
1103
  .msp-frame-slideorder {
@@ -1113,34 +1112,57 @@ button.msp-img-btn {
1113
  .msp-ico-whiteshow { opacity: 0.5; }
1114
 
1115
  .msp-container .msp-frames-srtplaceholder {
1116
- width: 106px;
1117
- height: 99px;
1118
- border: solid 1px #dedede;
1119
- margin: 20px 20px 0 0;
1120
- background: #f1f1f1;
1121
 
1122
  }
1123
 
1124
  .msp-slideframe {
1125
- position: relative;
1126
- width: 106px;
1127
- height: 98px;
1128
- border: solid 1px #777;
1129
- border-bottom: solid 2px #656565;
1130
- margin: 20px 20px 0 0;
1131
- background: #777;
1132
  }
1133
 
1134
  .msp-slideframe.active {
1135
- border-color: #2ea2cc;
1136
- border-bottom-color: #278aae;
1137
- background: #2ea2cc;
 
 
 
 
 
 
1138
  }
1139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1140
 
1141
  .msp-slideframe .msp-img-cont {
1142
- background-color: white;
1143
- height: 67px;
1144
  border: none;
1145
  }
1146
 
@@ -1396,7 +1418,7 @@ button.msp-img-btn {
1396
  left: 241px;
1397
  right: 0;
1398
  float: left;
1399
- height: 100%;
1400
  overflow: auto;
1401
  }
1402
 
@@ -1457,7 +1479,7 @@ button.msp-img-btn {
1457
  .msp-layer-labeltext {
1458
  line-height: 27px;
1459
  margin-left: 4px;
1460
- white-space:nowrap;
1461
  -ms-text-overflow: ellipsis;
1462
  text-overflow: ellipsis;
1463
  overflow:hidden;
@@ -1530,7 +1552,7 @@ button.msp-img-btn {
1530
 
1531
  .msp-timeline-range.avt-disabled .msp-range{
1532
  cursor: default !important;
1533
- }
1534
 
1535
  .msp-range-delay { background: url(../images/patt.png) #dcdada;}
1536
  .msp-range-show { background: #2ea2cc;}
@@ -1641,6 +1663,7 @@ button.msp-img-btn {
1641
  overflow: hidden;
1642
  width: 100%;
1643
  height: 100%;
 
1644
  }
1645
 
1646
  .msp-stage-bg>img{
@@ -1678,11 +1701,11 @@ button.msp-img-btn {
1678
  }
1679
 
1680
  .msp-stage-hotspot {
1681
- width: 14px;
1682
- height: 14px;
1683
- border-radius: 15px;
1684
- border: 2px solid #BBB;
1685
- background: #FFF;
1686
  margin: -8px 0px 0px -8px; position: absolute;
1687
  }
1688
 
@@ -1694,6 +1717,22 @@ button.msp-img-btn {
1694
  outline-style: dashed;
1695
  }
1696
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1697
  /* CKEditor style */
1698
  .msp-container .cke_chrome{
1699
  box-shadow: none;
@@ -2165,7 +2204,7 @@ button.msp-tempalte-save {
2165
  .ms-default-btn:active{top:1px;}
2166
 
2167
  .ms-btn-s{
2168
- padding: 14px 17px;
2169
  font-size: 80%;
2170
  line-height: 0;
2171
  }
@@ -2180,7 +2219,7 @@ button.msp-tempalte-save {
2180
  }
2181
 
2182
  .ms-btn-l{
2183
- padding: 17px 50px;
2184
  font-size: 120%;
2185
  }
2186
 
@@ -2207,14 +2246,14 @@ button.msp-tempalte-save {
2207
  }
2208
 
2209
  .msp-selection .border {
2210
- background-image: -webkit-gradient(linear, 0 0, 100% 100%,
2211
  color-stop(.25, #FFF),
2212
  color-stop(.25, rgba(0, 0, 0, 0)),
2213
  color-stop(.5, rgba(0, 0, 0, 0)),
2214
  color-stop(.5, #FFF),
2215
  color-stop(0.75, #FFF),
2216
  color-stop(.75, rgba(0, 0, 0, 0)),
2217
- to(rgba(0, 0, 0, 0))
2218
  );
2219
  background-size: 30px 30px;
2220
  position: absolute;
@@ -2317,4 +2356,4 @@ button.msp-tempalte-save {
2317
  cursor: pointer;
2318
  }
2319
 
2320
- .msp-pattern-prev.ms-pattern:hover{border-color: #B3B3B3;}
1
  /**
2
+ * Master Slider Panel
3
  * Core style sheet file
4
  * @version 1.0
5
  * @autor averta
13
 
14
  .msp-clearboth{clear: both;}
15
 
16
+ #msp-header{
17
  background: white;
18
  height: 80px;
19
  margin-bottom: 20px;
67
 
68
  /* Icons */
69
  .msp-ico { background: url(../images/ui-spritesheet.png) no-repeat; display: inline-block;}
70
+ .msp-ico-settings {
71
  background-position: -1px -1px;
72
  width: 16px;
73
  height: 16px;
110
  }
111
 
112
  .msp-ico-whiteduplicate {
113
+ width: 18px; height: 18px;
114
  background-position: -122px -23px;
115
  }
116
 
117
  .msp-ico-whiteremove {
118
+ width: 18px; height: 18px;
119
  background-position: -147px -23px;
120
  }
121
 
127
 
128
  .msp-ico-altop {
129
  background-position: -76px -1px;
130
+ width: 15px;
131
  height: 14px;
132
  }
133
  .msp-ico-almid {
134
+ background-position: -100px -1px;
135
+ width: 19px;
136
  height: 13px;
137
  }
138
  .msp-ico-albot {
139
+ background-position: -124px -1px; width: 19px;
140
  height: 14px;
141
  }
142
  .msp-ico-alleft {
143
+ background-position: -148px -1px; width: 19px;
144
  height: 15px;
145
  }
146
  .msp-ico-alcenter {
147
+ background-position: -197px -1px;
148
+ width: 19px;
149
  height: 17px;
150
  }
151
  .msp-ico-alright {
157
  background-position: -174px -72px;
158
  }
159
  .msp-ico.msp-ico-blackiso {
160
+ width: 16px; height: 16px;
161
  background-position: -123px -73px;
162
  }
163
  .msp-ico.msp-ico-blacklock {
164
+ width: 16px; height: 16px;
165
  background-position: -148px -74px;
166
  }
167
  .msp-ico.msp-ico-graypoint {
170
  background-position: -221px -21px;
171
  }
172
  .msp-ico.msp-ico-grayduplicate {
173
+ width: 15px;
174
+ height: 15px;
175
  background-position: -224px -49px;
176
  }
177
 
208
  }
209
 
210
  .msp-ico-posts {
211
+ width: 17px;
212
  vertical-align: top !important;
213
+ height: 20px;
214
  top: -2px;
215
  background-position: -226px -225px;
216
  }
271
  .msp-main-nav ul li.msp-upgrade-btn a:hover {
272
  background-color: #5FC524;
273
  }
274
+ .msp-main-nav ul li.msp-upgrade-btn a.active:hover {
275
  background-color: white;
276
  }
277
 
444
  .msp-main-nav ul li a.active .msp-ico-wooc { background-position: -200px -200px; }
445
 
446
  .msp-main-nav ul li a.active .msp-ico-pro { background-position: -250px -252px; }
447
+ .msp-save-bar-placeholder {
448
  height: 35px;
449
  }
450
 
465
  }
466
 
467
  .msp-save-status,
468
+ .msp-time-ago {
469
  display: inline-block;
470
  margin-left: 5px;
471
  -webkit-transition: opacity 500ms;
494
  background: url(../images/info.png);
495
  }
496
 
497
+ .msp-saving-msg-cont {
498
+ position: relative;
499
  display: inline-block;
500
  width: 50%;
501
  }
601
  float: left;
602
  }
603
  .msp-metabox-tabs .tabs li a {
604
+ color: white;
605
  padding: 0 20px;
606
  border-right: solid 1px #FFF;
607
  height: 50px; line-height: 50px;
709
  }
710
 
711
  .msp-container button.msp-med-btn{
712
+
713
  }
714
 
715
  button.msp-add-btn {
857
  }
858
 
859
  .ui-widget-overlay {
860
+ background: url(../images/patt.png) rgba(24, 24, 24, 0.89) !important;
861
  opacity: 1 !important;
862
  }
863
 
968
 
969
  box-shadow: 4px 4px 4px -3px rgba(0, 0, 0, 0.17);
970
  }
971
+
972
  .dd-option {
973
  display:block;
974
  border-bottom:solid 1px #ddd;
1085
  }
1086
 
1087
  /* Manage Slides */
 
1088
  .msp-slides {
1089
+ list-style: none;
1090
+ padding: 0;
1091
  }
1092
  .msp-slides>li {
1093
+ float: left;
1094
  }
1095
  .msp-slideframe ul {
1096
+ list-style: none;
1097
  }
1098
  .msp-slideframe ul li {
1099
+ float: left;
1100
  }
1101
 
1102
  .msp-frame-slideorder {
1112
  .msp-ico-whiteshow { opacity: 0.5; }
1113
 
1114
  .msp-container .msp-frames-srtplaceholder {
1115
+ width: 106px;
1116
+ height: 99px;
1117
+ border: solid 1px #dedede;
1118
+ margin: 20px 20px 0 0;
1119
+ background: #f1f1f1;
1120
 
1121
  }
1122
 
1123
  .msp-slideframe {
1124
+ position: relative;
1125
+ width: 106px;
1126
+ height: 98px;
1127
+ border: solid 1px #777;
1128
+ border-bottom: solid 2px #656565;
1129
+ margin: 20px 20px 0 0;
1130
+ background: #777;
1131
  }
1132
 
1133
  .msp-slideframe.active {
1134
+ border-color: #2ea2cc;
1135
+ border-bottom-color: #278aae;
1136
+ background: #2ea2cc;
1137
+ }
1138
+
1139
+ .msp-slideframe.msp-overlay-layers {
1140
+ float: left;
1141
+ /* background-color: khaki;
1142
+ border-color: khaki; */
1143
  }
1144
 
1145
+ .msp-slide-spliter {
1146
+ border-left: solid 1px #f1f1f1;
1147
+ float: left;
1148
+ height: 98px;
1149
+ margin: 20px 20px 0 0;
1150
+ }
1151
+
1152
+ .msp-slideframe.msp-overlay-layers .msp-img-cont {
1153
+ background: url(../images/overlay-layer.png) center no-repeat white;
1154
+ }
1155
+
1156
+ .msp-slideframe.msp-overlay-layers .msp-frame-slideorder {
1157
+ cursor: auto;
1158
+ left: 0;
1159
+ text-align: center;
1160
+ width: 100%;
1161
+ }
1162
 
1163
  .msp-slideframe .msp-img-cont {
1164
+ background-color: white;
1165
+ height: 67px;
1166
  border: none;
1167
  }
1168
 
1418
  left: 241px;
1419
  right: 0;
1420
  float: left;
1421
+ height: 100%;
1422
  overflow: auto;
1423
  }
1424
 
1479
  .msp-layer-labeltext {
1480
  line-height: 27px;
1481
  margin-left: 4px;
1482
+ white-space:nowrap;
1483
  -ms-text-overflow: ellipsis;
1484
  text-overflow: ellipsis;
1485
  overflow:hidden;
1552
 
1553
  .msp-timeline-range.avt-disabled .msp-range{
1554
  cursor: default !important;
1555
+ }
1556
 
1557
  .msp-range-delay { background: url(../images/patt.png) #dcdada;}
1558
  .msp-range-show { background: #2ea2cc;}
1663
  overflow: hidden;
1664
  width: 100%;
1665
  height: 100%;
1666
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjBDNDlERkQ1NjE4MTFFNkEwRTNGQzgxMERCNjc0QTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjBDNDlERkU1NjE4MTFFNkEwRTNGQzgxMERCNjc0QTciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGMEM0OURGQjU2MTgxMUU2QTBFM0ZDODEwREI2NzRBNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGMEM0OURGQzU2MTgxMUU2QTBFM0ZDODEwREI2NzRBNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pn7EKAQAAAAGUExURf///+Dg4AJUEkoAAAAXSURBVHjaYmCEAgYYGCCBAbYeJgAQYABFEACBH3S9GAAAAABJRU5ErkJggg==');
1667
  }
1668
 
1669
  .msp-stage-bg>img{
1701
  }
1702
 
1703
  .msp-stage-hotspot {
1704
+ width: 14px;
1705
+ height: 14px;
1706
+ border-radius: 15px;
1707
+ border: 2px solid #BBB;
1708
+ background: #FFF;
1709
  margin: -8px 0px 0px -8px; position: absolute;
1710
  }
1711
 
1717
  outline-style: dashed;
1718
  }
1719
 
1720
+ .msp-stage-layer .msp-layer-mask {
1721
+ overflow: hidden;
1722
+ outline: solid 1px #2ea2cc;
1723
+ background-color: rgba(46,162,204,0.3);
1724
+ }
1725
+ .ui-draggable-disabled .msp-layer-mask {
1726
+ background: transparent;
1727
+ outline: none;
1728
+ }
1729
+
1730
+
1731
+ .msp-stage-layer.active {
1732
+ width: auto !important;
1733
+ height: auto !important;
1734
+ }
1735
+
1736
  /* CKEditor style */
1737
  .msp-container .cke_chrome{
1738
  box-shadow: none;
2204
  .ms-default-btn:active{top:1px;}
2205
 
2206
  .ms-btn-s{
2207
+ padding: 14px 17px;
2208
  font-size: 80%;
2209
  line-height: 0;
2210
  }
2219
  }
2220
 
2221
  .ms-btn-l{
2222
+ padding: 17px 50px;
2223
  font-size: 120%;
2224
  }
2225
 
2246
  }
2247
 
2248
  .msp-selection .border {
2249
+ background-image: -webkit-gradient(linear, 0 0, 100% 100%,
2250
  color-stop(.25, #FFF),
2251
  color-stop(.25, rgba(0, 0, 0, 0)),
2252
  color-stop(.5, rgba(0, 0, 0, 0)),
2253
  color-stop(.5, #FFF),
2254
  color-stop(0.75, #FFF),
2255
  color-stop(.75, rgba(0, 0, 0, 0)),
2256
+ to(rgba(0, 0, 0, 0))
2257
  );
2258
  background-size: 30px 30px;
2259
  position: absolute;
2356
  cursor: pointer;
2357
  }
2358
 
2359
+ .msp-pattern-prev.ms-pattern:hover{border-color: #B3B3B3;}
admin/views/slider-panel/images/center.png CHANGED
Binary file
admin/views/slider-panel/images/check.png CHANGED
Binary file
admin/views/slider-panel/images/cross.png CHANGED
Binary file
admin/views/slider-panel/images/fill.png CHANGED
Binary file
admin/views/slider-panel/images/fit.png CHANGED
Binary file
admin/views/slider-panel/images/help.png CHANGED
Binary file
admin/views/slider-panel/images/image-layer.png CHANGED
Binary file
admin/views/slider-panel/images/info.png CHANGED
Binary file
admin/views/slider-panel/images/layertypes/button.png CHANGED
Binary file
admin/views/slider-panel/images/layertypes/hotspot.png CHANGED
Binary file
admin/views/slider-panel/images/layertypes/image.png CHANGED
Binary file
admin/views/slider-panel/images/layertypes/text.png CHANGED
Binary file
admin/views/slider-panel/images/layertypes/video.png CHANGED
Binary file
admin/views/slider-panel/images/overlay-layer.png ADDED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/button-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/layers.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/sample-sliders.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/style-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/templates.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/thumbs/button-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/thumbs/layers.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/thumbs/sample-sliders.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/thumbs/style-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/thumbs/templates.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/thumbs/transition-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin-area/transition-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/button-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/layers.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/sample-sliders.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/style-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/templates.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/thumbs/button-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/thumbs/layers.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/thumbs/sample-sliders.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/thumbs/style-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/thumbs/templates.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/thumbs/transition-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/admin/transition-editor.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/dedicated-support.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/dynamic-sources.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/join.png CHANGED
Binary file
admin/views/slider-panel/images/pro-features/key.png CHANGED
Binary file
admin/views/slider-panel/images/pro-features/layers.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/parallax.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/sample-slider.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/sample-sliders.jpg CHANGED
Binary file
admin/views/slider-panel/images/pro-features/videos.jpg CHANGED
Binary file
admin/views/slider-panel/images/sample.png CHANGED
Binary file
admin/views/slider-panel/images/stretch.png CHANGED
Binary file
admin/views/slider-panel/images/templates/3d-flow-carousel.png CHANGED
Binary file
admin/views/slider-panel/images/templates/3d-wave-carousel.png CHANGED
Binary file
admin/views/slider-panel/images/templates/display.png CHANGED
Binary file
admin/views/slider-panel/images/templates/flat-display.png CHANGED
Binary file
admin/views/slider-panel/images/templates/flat-laptop.png CHANGED
Binary file
admin/views/slider-panel/images/templates/flat-phone-land.png CHANGED
Binary file
admin/views/slider-panel/images/templates/flat-phone.png CHANGED
Binary file
admin/views/slider-panel/images/templates/flat-tablet-land.png CHANGED
Binary file
admin/views/slider-panel/images/templates/flat-tablet.png CHANGED
Binary file
admin/views/slider-panel/images/templates/full-screen.png CHANGED
Binary file
admin/views/slider-panel/images/templates/image-gallery.png CHANGED
Binary file
admin/views/slider-panel/images/templates/laptop.png CHANGED
Binary file
admin/views/slider-panel/images/templates/partial-1.png CHANGED
Binary file
admin/views/slider-panel/images/templates/partial-2.png CHANGED
Binary file
admin/views/slider-panel/images/templates/partial-3.png CHANGED
Binary file
admin/views/slider-panel/images/templates/phone-land.png CHANGED
Binary file
admin/views/slider-panel/images/templates/phone.png CHANGED
Binary file
admin/views/slider-panel/images/templates/slider-bottom-thumbs.png CHANGED
Binary file
admin/views/slider-panel/images/templates/slider-horizontal-tabs.png CHANGED
Binary file
admin/views/slider-panel/images/templates/slider-left-thumbs.png CHANGED
Binary file
admin/views/slider-panel/images/templates/slider-right-thumbs.png CHANGED
Binary file
admin/views/slider-panel/images/templates/slider-top-thumbs.png CHANGED
Binary file
admin/views/slider-panel/images/templates/slider-vertical-tabs.png CHANGED
Binary file
admin/views/slider-panel/images/templates/staff-1.png CHANGED
Binary file
admin/views/slider-panel/images/templates/staff-2.png CHANGED
Binary file
admin/views/slider-panel/images/templates/staff-3.png CHANGED
Binary file
admin/views/slider-panel/images/templates/staff-4.png CHANGED
Binary file
admin/views/slider-panel/images/templates/staff-5.png CHANGED
Binary file
admin/views/slider-panel/images/templates/staff-6.png CHANGED
Binary file
admin/views/slider-panel/images/templates/tablet-land.png CHANGED
Binary file
admin/views/slider-panel/images/templates/tablet.png CHANGED
Binary file
admin/views/slider-panel/images/templates/vertical-slider.png CHANGED
Binary file
admin/views/slider-panel/images/tile.png CHANGED
Binary file
admin/views/slider-panel/images/time-ruler.png CHANGED
Binary file
admin/views/slider-panel/images/ui-spritesheet.png CHANGED
Binary file
admin/views/slider-panel/images/video-layer.png CHANGED
Binary file
admin/views/slider-panel/index.php CHANGED
@@ -17,7 +17,7 @@
17
  </div>
18
  <div id="panelLoading" class="msp-loading">
19
  <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/loading.gif">
20
- <?php _e('Loading data...', 'master-slider'); ?>
21
  </div>
22
  <div id="msp-root" class="msp-container"> </div>
23
  <div id="mspHiddenEditor" style="display:none">
@@ -34,171 +34,174 @@
34
  {{else}}
35
  <nav class="msp-main-nav">
36
  <ul>
37
- <li>{{#link-to 'settings'}} <?php _e('Slider Settings', 'master-slider'); ?> <span class="msp-ico msp-ico-settings"></span>{{/link-to}}</li>
38
- {{#if isFlickr }}<li>{{#link-to 'flickr'}} <?php _e('Flickr Settings', 'master-slider'); ?> <span class="msp-ico msp-ico-flickr"></span>{{/link-to}}</li>{{/if}}
39
- {{#if isFacebook }}<li>{{#link-to 'facebook'}} <?php _e('Facebook Settings', 'master-slider'); ?> <span class="msp-ico msp-ico-facebook"></span>{{/link-to}}</li>{{/if}}
40
- {{#if isPost }}<li>{{#link-to 'post'}} <?php _e('Posts Settings', 'master-slider'); ?> <span class="msp-ico msp-ico-posts"></span>{{/link-to}}</li>{{/if}}
41
- {{#if isWcproduct }}<li>{{#link-to 'wcproduct'}} <?php _e('Product Slider Settings', 'master-slider'); ?> <span class="msp-ico msp-ico-wooc"></span>{{/link-to}}</li>{{/if}}
42
- <li>{{#link-to 'slides'}} <?php _e('Slides', 'master-slider'); ?> <span class="msp-ico msp-ico-slides"></span>{{/link-to}}</li>
43
- <li>{{#link-to 'controls'}} <?php _e('Slider Controls', 'master-slider'); ?> <span class="msp-ico msp-ico-controls"></span>{{/link-to}}</li>
44
- <li>{{#link-to 'callbacks'}} <?php _e('Slider Callbacks', 'master-slider'); ?> <span class="msp-ico msp-ico-api"></span>{{/link-to}}</li>
45
  <li class="msp-upgrade-btn"> {{#link-to 'pro-features'}}Upgrade to PRO <span class="msp-ico msp-ico-pro"></span>{{/link-to}}</li>
46
  </ul>
47
  </nav>
48
  <div class="clear"></div>
49
  {{outlet}}
50
  <div class="msp-shortcode-cont">
51
- <span><?php _e('Shortcode :', 'master-slider'); ?> </span> {{view MSPanel.SimpleCodeBlock value=shortCode width=120}}
52
- <span><?php _e('PHP function :', 'master-slider'); ?> </span> {{view MSPanel.SimpleCodeBlock value=phpFunction width=160}}
 
 
53
  </div>
54
  <div class="msp-save-bar-placeholder" id="saveBarPlaceHolder"></div>
55
  <div class="msp-save-bar" id="saveBar">
56
- <button id="msp-preview-btn" {{action showPreview}} class="msp-blue-btn msp-save-changes"> <?php _e('Preview', 'master-slider'); ?></button>
57
  {{#if isSending}}
58
- <button class="msp-blue-btn msp-save-changes disabled"> <?php _e('Saving...', 'master-slider'); ?></button>
59
  {{else}}
60
- <button class="msp-blue-btn msp-save-changes" {{action "saveAll"}}> <?php _e('Save Changes', 'master-slider'); ?></button>
61
  {{/if}}
62
  <div class="msp-saving-msg-cont">
63
  <span {{bind-attr class=":msp-save-status savingStatus"}}>{{statusMsg}}</span>
64
- <div {{bind-attr class=":msp-time-ago savingStatus"}}><?php _e('Saved', 'master-slider'); ?> <span id="timeAgo"></span>.</div>
65
  </div>
66
  </div>
67
  {{/if}}
68
  </script>
69
 
70
  <script type="text/x-handlebars" id="pro-features">
71
- {{#meta-box title="Upgrade Master Slider to PRO"}}
72
- <div class="msp-metabox-row msp-pro-tab">
73
- <div class="msp-pro-featurs">
74
- <h2>Add Features to Master Slider</h2>
75
- <p>Take your WordPress site to the next level with Master Slider PRO. This plugin crunches all type of content, making it a dead-simple way to display dynamic slides in the exact the way YOU want them to look.
76
- Best of all, Master Slider PRO works perfectly with any existing WordPress theme and doesn’t affect overall site performance. Which means, less bloat and more control!</p>
77
- <div class="msp-pf-figure">
78
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/layers.jpg" alt="Animated layers">
79
- <h6>Animated Layers</h6>
80
- </div>
81
- <div class="msp-pf-figure">
82
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/videos.jpg" alt="Videos">
83
- <h6>Videos</h6>
84
- </div>
85
- <div class="msp-pf-figure">
86
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/sample-sliders.jpg" alt="Sample sliders">
87
- <h6>Sample Sliders</h6>
88
- </div>
89
- <div class="msp-pf-figure">
90
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/dynamic-sources.jpg" alt="Dynamic sources">
91
- <h6>Dynamic Sources</h6>
92
- </div>
93
- <div class="msp-pf-figure">
94
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/parallax.jpg" alt="Prallax effect">
95
- <h6>Parallax Effect</h6>
96
- </div>
97
- <div class="msp-pf-figure">
98
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/dedicated-support.jpg" alt="Dedicated support">
99
- <h6>Dedicated Support</h6>
100
- </div>
101
- </div>
102
- <div class="clear"></div>
103
- </div>
104
- <div class="msp-metabox-row msp-pro-tab msp-pf-admin-section">
105
- <div class="msp-pf-admin-ss">
106
- <div class="msp-pf-figure">
107
- <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/layers.jpg">
108
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/layers.jpg" alt="layers">
109
- <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
110
- </a>
111
- </div>
112
- <div class="msp-pf-figure">
113
- <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/sample-sliders.jpg">
114
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/sample-sliders.jpg" alt="sample sliders">
115
- <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
116
- </a>
117
- </div>
118
- <div class="msp-pf-figure">
119
- <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/templates.jpg">
120
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/templates.jpg" alt="slider templates">
121
- <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
122
- </a>
123
- </div>
124
- <div class="msp-pf-figure">
125
- <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/transition-editor.jpg">
126
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/transition-editor.jpg" alt="transition editor">
127
- <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
128
- </a>
129
- </div>
130
- <div class="msp-pf-figure">
131
- <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/style-editor.jpg">
132
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/style-editor.jpg" alt="style editor">
133
- <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
134
- </a>
135
- </div>
136
- <div class="msp-pf-figure">
137
- <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/button-editor.jpg">
138
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/button-editor.jpg" alt="style editor">
139
- <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
140
- </a>
141
- </div>
142
-
143
- <div class="clear"></div>
144
- <h3>See It In Action</h3>
145
- <p>Want to give it a shot right away? Just give it a test drive and create your own slider, or try some of our ready-made samples!</p>
146
- <a class="msp-blue-btn msp-pf-testdrive" href="http://avt.li/msptd" target="_blank"> <span class="msp-ico msp-ico-testdrive"></span> Test Drive Now</a>
147
- </div>
148
- <div class="clear"></div>
149
- </div>
150
- <div class="msp-metabox-row msp-pro-tab msp-pf-join-section">
151
- <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/join.png" alt="Join the PRO version" class="msp-join-ico">
152
- <h3>Join 4600+ PRO Users</h3>
153
- <p>Ready to take advantage of all of the amazing features packed into MasterSlider PRO? We hope so!</p>
154
- <a class="msp-pf-btn msp-pf-upgrade-btn" href="http://avt.li/mspup" target="_blank">Upgrade Now</a>
155
- <a class="msp-pf-btn msp-pf-more-btn" href="http://avt.li/mspt" target="_blank">See All Features</a>
156
- <div class="clear"></div>
157
- </div>
158
- {{/meta-box}}
159
  </script>
 
160
  <!-- Slider Settings Page -->
161
  <script type="text/x-handlebars" id="settings">
162
 
163
- {{#meta-box title="<?php _e('General Settings', 'master-slider'); ?>"}}
164
 
165
  <div class="msp-metabox-row">
166
 
167
- <h4><?php _e('Slider name and dimentions', 'master-slider'); ?></h4>
168
 
169
  <div class="msp-metabox-indented">
170
- <label><?php _e('Slider name :', 'master-slider'); ?> </label> {{input value=name size="40"}}
171
  </div>
172
  <div class="msp-metabox-indented">
173
- <label><?php _e('Slider width :', 'master-slider'); ?> </label> {{number-input value=width}} px
174
  <span class="msp-form-space"></span>
175
- <label><?php _e('Slider height :', 'master-slider'); ?> </label> {{number-input value=height}} px
176
  </div>
177
 
178
  <div class="msp-metabox-indented">
179
- {{switch-box value=autoCrop}}<label><?php _e('Automatically crop and resize slider images based on above size.', 'master-slider'); ?></label>
180
  </div>
181
 
182
- <h4><?php _e('Slider sizing method', 'master-slider'); ?></h4>
183
 
184
  <div class="msp-metabox-indented">
185
  {{#view MSPanel.Select value=layout width="400" }}
186
- <option value="boxed"><?php _e('Boxed layout', 'master-slider'); ?></option>
187
- <option value="fullwidth"><?php _e('Full-width', 'master-slider'); ?></option>
188
  {{/view}}
189
  {{#if showAutoHeight}}
190
  <span class="msp-form-space"></span>
191
- {{switch-box value=autoHeight}}<label><?php _e('Auto-height slider', 'master-slider'); ?></label>
192
  {{/if}}
193
  </div>
194
  {{#if showMinHeight}}
195
  <div class="msp-metabox-indented">
196
- <label><?php _e('Minimum height amount :', 'master-slider'); ?> </label>{{number-input value=minHeight}} px
197
  </div>
198
  {{/if}}
199
  {{#if showWrapperWidth}}
200
  <div class="msp-metabox-indented">
201
- <label><?php _e('Slider wrapper width :', 'master-slider'); ?> </label>{{number-input value=wrapperWidth}}
202
  {{#view MSPanel.Select value=wrapperWidthUnit width="40" }}
203
  <option value="px">px</option>
204
  <option value="%">%</option>
@@ -210,126 +213,127 @@
210
 
211
  {{/meta-box}}
212
 
213
- {{#meta-box title="<?php _e('Slider Transition', 'master-slider'); ?>"}}
214
  <div class="msp-metabox-row">
215
- <h4><?php _e('Change slider transition, transition speed and space between slides', 'master-slider'); ?></h4>
216
 
217
  <div class="msp-metabox-indented">
218
- <label><?php _e('Transition :', 'master-slider'); ?> </label>
219
  {{#view MSPanel.Select value=trView width=150}}
220
  <option value="basic">Normal</option>
221
  <option value="fade">Fade</option>
222
  {{/view}}
223
  <span class="msp-form-space"></span>
224
- <label><?php _e('Transition speed :', 'master-slider'); ?> </label> {{number-input value=speed}}
225
  </div>
226
  <div class="msp-metabox-indented">
227
- <label><?php _e('Direction :', 'master-slider'); ?> </label>
228
  {{#view MSPanel.Select value=dir width="120"}}
229
- <option value="h"><?php _e('Horizontal', 'master-slider'); ?></option>
230
- <option value="v"><?php _e('Vertical', 'master-slider'); ?></option>
231
  {{/view}}
232
  <span class="msp-form-space"></span>
233
- <label><?php _e('Slide space :', 'master-slider'); ?> </label> {{number-input value=space}} px
234
  </div>
235
  </div>
236
  {{/meta-box}}
237
 
238
 
239
- {{#meta-box title="<?php _e('Navigation', 'master-slider'); ?>"}}
240
 
241
  <div class="msp-metabox-row">
242
- <h4><?php _e('Slideshow behavior and sorting slides', 'master-slider'); ?></h4>
243
  <div class="msp-metabox-indented">
244
- {{switch-box value=autoplay}}<label><?php _e('Autoplay (Slideshow)', 'master-slider'); ?></label>
245
  <span class="msp-form-space"></span>
246
- {{switch-box value=loop}}<label><?php _e('Loop navigation', 'master-slider'); ?> </label>
247
  <span class="msp-form-space"></span>
248
- {{switch-box value=endPause}}<label><?php _e('Pause at end slide', 'master-slider'); ?></label>
249
  </div>
250
  <div class="msp-metabox-indented">
251
- {{switch-box value=overPause}}<label><?php _e('Pause on hover', 'master-slider'); ?></label>
252
  <span class="msp-form-space"></span>
253
- {{switch-box value=shuffle}}<label><?php _e('Random order', 'master-slider'); ?></label>
254
  </div>
255
  <div class="msp-metabox-indented">
256
- <label><?php _e('Start with slide :', 'master-slider'); ?> </label> {{number-input value=start min=1}}
257
  </div>
258
- <h4><?php _e('Slider navigation methods', 'master-slider'); ?></h4>
259
  <div class="msp-metabox-indented">
260
- {{switch-box value=swipe}}<label><?php _e('Touch swipe navigation', 'master-slider'); ?></label>
261
  <span class="msp-form-space"></span>
262
- {{switch-box value=mouse}}<label><?php _e('Mouse swipe navigation', 'master-slider'); ?></label>
263
  <span class="msp-form-space"></span>
264
- {{switch-box value=grabCursor}}<label><?php _e('Use grab mouse cursor', 'master-slider'); ?></label>
265
  </div>
266
  <div class="msp-metabox-indented">
267
- {{switch-box value=wheel}}<label><?php _e('Mouse wheel navigation', 'master-slider'); ?></label>
268
  </div>
269
  <div class="msp-metabox-indented">
270
- {{switch-box value=startOnAppear}}<label><?php _e('Start slider when appears in browser window.', 'master-slider'); ?></label>
271
  </div>
272
- <h4><?php _e('Slide preloading', 'master-slider'); ?></h4>
273
  <div class="msp-metabox-indented">
274
  {{#view MSPanel.Select value=preloadMethod width="200" }}
275
- <option value="nearby"><?php _e('Load nearby slides', 'master-slider'); ?></option>
276
- <option value="-1"><?php _e('Load slides in sequence', 'master-slider'); ?></option>
277
- <option value="all"><?php _e('Load all slides before init', 'master-slider'); ?></option>
278
  {{/view}}
279
  {{#if showNearbyNum}}
280
  <span class="msp-form-space"></span>
281
- <?php _e('Number of slides :', 'master-slider'); ?> {{number-input value=preload }}
282
  {{/if}}
283
  </div>
284
  </div>
285
 
286
  {{/meta-box}}
287
 
288
- {{#meta-box title="<?php _e('Appearance', 'master-slider'); ?>"}}
289
 
290
  <div class="msp-metabox-row">
291
- <h4><?php _e('Slider Skin', 'master-slider'); ?></h4>
292
  <div class="msp-metabox-indented">
293
- <label><?php _e('Skin :', 'master-slider'); ?> </label>
294
  {{#dropdwon-List value=skin width=180}}
295
  {{#each skin in sliderSkins}}
296
  <option {{bind-attr value=skin.class}}>{{skin.label}}</option>
297
  {{/each}}
298
 
299
  {{!--
300
- <option value="ms-skin-default"><?php _e('Default', 'master-slider'); ?></option>
301
- <option value="ms-skin-light-2"><?php _e('Light 2', 'master-slider'); ?></option>
302
- <option value="ms-skin-light-3"><?php _e('Light 3', 'master-slider'); ?></option>
303
- <option value="ms-skin-light-4"><?php _e('Light 4', 'master-slider'); ?></option>
304
- <option value="ms-skin-light-5"><?php _e('Light 5', 'master-slider'); ?></option>
305
- <option value="ms-skin-light-6"><?php _e('Light 6', 'master-slider'); ?></option>
306
- <option value="ms-skin-light-6 round-skin"><?php _e('Light 6 Round', 'master-slider'); ?></option>
307
- <option value="ms-skin-contrast"><?php _e('Contrast', 'master-slider'); ?></option>
308
- <option value="ms-skin-black-1"><?php _e('Black 1', 'master-slider'); ?></option>
309
- <option value="ms-skin-black-2"><?php _e('Black 2', 'master-slider'); ?></option>
310
- <option value="ms-skin-black-2 round-skin"><?php _e('Black 2 Round', 'master-slider'); ?></option>
311
- <option value="ms-skin-metro"><?php _e('Metro', 'master-slider'); ?></option>
 
312
  --}}
313
  {{/dropdwon-List}}
314
  </div>
315
  <div class="msp-metabox-indented">
316
- <label><?php _e('Align center slider controls :', 'master-slider'); ?> </label> {{switch-box value=centerControls}}
317
  </div>
318
- <h4><?php _e('Slider background settings', 'master-slider'); ?></h4>
319
  <div class="msp-metabox-indented">
320
- <label><?php _e('Background image :', 'master-slider'); ?> </label> {{view MSPanel.ImgSelect value=bgImage thumb=bgImageThumb}}
321
  <span class="msp-form-space"></span>
322
- <label><?php _e('Background color :', 'master-slider'); ?> </label> {{color-picker value=bgColor}}
323
  </div>
324
- <h4><?php _e('Slider custom class name and style', 'master-slider'); ?></h4>
325
  <div class="msp-metabox-indented">
326
- <label><?php _e('Class name :', 'master-slider'); ?> </label> {{input value=className}}
327
  </div>
328
  {{!--<div class="msp-metabox-indented">
329
- <label><?php _e('Inline style :', 'master-slider'); ?> </label> {{input value=inlineStyle size="50"}}
330
  </div>--}}
331
  <div class="msp-metabox-indented">
332
- <label><?php _e('Slider custom styles :', 'master-slider'); ?> </label>
333
  </div>
334
  <div class="msp-metabox-indented">
335
  {{#code-mirror width="880" height="250" mode="css" value=customStyle}}{{/code-mirror}}
@@ -343,12 +347,12 @@
343
  <script type="text/x-handlebars" id="slides">
344
  {{#if customSlider}}
345
  <!-- Slides List -->
346
- {{#meta-box title="<?php _e('Slides', 'master-slider'); ?>"}}
347
  <div class="msp-metabox-row">
348
  {{view MSPanel.SlideList}}
349
  </div>
350
  {{/meta-box}}
351
- {{#if length}}
352
  {{partial "slide-settings"}}
353
  {{/if}}
354
  {{/if}}
@@ -360,10 +364,10 @@
360
  <div class="msp-metabox-handle">
361
 
362
  <ul class="tabs">
363
- <li class="active"><a href="#sl-bg"><?php _e('Background', 'master-slider'); ?></a></li>
364
- <li><a href="#sl-val"><?php _e('Video and Link', 'master-slider'); ?></a></li>
365
- <li><a href="#sl-inf"><?php _e('Slide Info', 'master-slider'); ?></a></li>
366
- <li><a href="#sl-misc"><?php _e('Misc', 'master-slider'); ?></a></li>
367
  </ul>
368
 
369
  <div class="msp-metabox-toggle"></div>
@@ -381,7 +385,7 @@
381
  {{#meta-box title="Slide"}}
382
  <div class="msp-metabox-row">
383
  <div class="msp-metabox-indented">
384
- <label><?php _e('Slide duration :', 'master-slider'); ?> </label> {{number-input class="msp-number-input" min=0 max=300 step="0.1" value=currentSlide.duration}} s
385
  </div>
386
  </div>
387
  <hr class="msp-metabox-hr">
@@ -392,42 +396,42 @@
392
  <!-- Slide Background Settings Partial -->
393
  <script type="text/x-handlebars" id="slide-background">
394
  <div class="msp-metabox-row">
395
- <h4><?php _e('Choose slide background and thumbnail', 'master-slider'); ?></h4>
396
  <div class="msp-metabox-indented">
397
- <label><?php _e('Background :', 'master-slider'); ?> </label> {{view MSPanel.ImgSelect value=currentSlide.bg thumb=currentSlide.bgThumb }}
398
  <span class="msp-form-space"></span>
399
- <label><?php _e('Fillmode :', 'master-slider'); ?> </label> {{view MSPanel.Fillmode value=currentSlide.fillMode}}
400
  <span class="msp-form-space"></span>
401
- <label><?php _e('Thumbnail :', 'master-slider'); ?> </label> {{view MSPanel.ImgSelect value=currentSlide.thumbOrginal thumb=currentSlide.thumb}}
402
  </div>
403
  </div>
404
  </script>
405
  <!-- Slide Embeded Video and Link -->
406
  <script type="text/x-handlebars" id="slide-video-and-link">
407
  <div class="msp-metabox-row">
408
- <h4><?php _e('Link this slide', 'master-slider'); ?> </h4>
409
  <div class="msp-metabox-indented">
410
- <label><?php _e('URL :', 'master-slider'); ?> </label> {{input class="msp-path-input" value=currentSlide.link}}
411
  {{view MSPanel.URLTarget value=currentSlide.linkTarget }}
412
  </div>
413
  <div class="msp-metabox-indented">
414
- <label><?php _e('Link id :', 'master-slider'); ?> </label> {{input size=20 value=currentSlide.linkId}}
415
  <span class="msp-form-space"></span>
416
- <label><?php _e('Link class :', 'master-slider'); ?> </label> {{input size=20 value=currentSlide.linkClass}}
417
  </div>
418
  <div class="msp-metabox-indented">
419
- <label><?php _e('Link rel :', 'master-slider'); ?> </label> {{input size=20 value=currentSlide.linkRel}}
420
  <span class="msp-form-space"></span>
421
- <label><?php _e('Link title :', 'master-slider'); ?> </label> {{input size=20 value=currentSlide.linkTitle}}
422
  </div>
423
- <h4><?php _e('Youtube or Vimeo video as slide', 'master-slider'); ?></h4>
424
  <div class="msp-metabox-indented">
425
- <label><?php _e('Video embed src :', 'master-slider'); ?> </label> {{input size=60 value=currentSlide.video}}
426
  <span class="msp-form-space"></span>
427
- <label><?php _e('Autoplay video :', 'master-slider'); ?> </label> {{switch-box value=currentSlide.autoplayVideo}}
428
  </div>
429
  <div class="msp-metabox-indented">
430
- <a href="http://masterslider.com/doc/wp/#embed-url" target="_blank"><?php _e('Where to find the Youtube/Vimeo embed URL.', 'master-slider'); ?></a>
431
  </div>
432
  </div>
433
  </script>
@@ -436,12 +440,12 @@
436
  <script type="text/x-handlebars" id="slide-info">
437
  <div class="msp-metabox-row">
438
  <div class="msp-metabox-indented">
439
- <label><?php _e('This info will show beside of slider when slider reaches the slide or it can represent as tab in a tabs control. It is relative to selected slider template.', 'master-slider'); ?></label>
440
  </div>
441
 
442
  {{#if MSPanel.dynamicTags}}
443
  <div class="msp-metabox-indented">
444
- <label><?php _e('Insert dynamic content : ', 'master-slider'); ?></label>
445
  {{view MSPanel.AddDynamicTag editorId=infoEditor}}
446
  </div>
447
  {{/if}}
@@ -455,23 +459,26 @@
455
  <!-- Slide Misc -->
456
  <script type="text/x-handlebars" id="slide-misc">
457
  <div class="msp-metabox-row">
458
- <h4><?php _e('Custom class name and id for slide element', 'master-slider'); ?> </h4>
459
  <div class="msp-metabox-indented">
460
- <label><?php _e('Class name :', 'master-slider'); ?> </label> {{input size=30 value=currentSlide.cssClass}}
461
  <span class="msp-form-space"></span>
462
- <label><?php _e('CSS id :', 'master-slider'); ?> </label> {{input size=30 value=currentSlide.cssId}}
463
  </div>
464
- <h4><?php _e('Background color and slide background alt text ', 'master-slider'); ?></h4>
465
  <div class="msp-metabox-indented">
466
- <label><?php _e('Background color :', 'master-slider'); ?> </label> {{color-picker value=currentSlide.bgColor}}
467
  <span class="msp-form-space"></span>
468
- <label><?php _e('Alt text :', 'master-slider'); ?> </label> {{input size=30 value=currentSlide.bgAlt}}
 
 
 
469
  </div>
470
- <h4><?php _e('Slide color and pattern overlay ', 'master-slider'); ?></h4>
471
  <div class="msp-metabox-indented">
472
- <label><?php _e('Color overlay :', 'master-slider'); ?> </label> {{color-picker value=currentSlide.colorOverlay}}
473
  <div class="msp-form-space-med"></div>
474
- <label><?php _e('Pattern overlay :', 'master-slider'); ?> </label> {{pattern-picker value=currentSlide.pattern}}
475
  </div>
476
  </div>
477
  </script>
@@ -481,7 +488,7 @@
481
  {{#meta-box title="Slider Controls"}}
482
  <div class="msp-metabox-row">
483
  <div class="msp-metabox-indented">
484
- <?php _e('The selected tempalte for slider does not support custom controls.', 'master-slider'); ?>
485
  </div>
486
  </div>
487
  {{/meta-box}}
@@ -489,10 +496,10 @@
489
  {{#meta-box title="Slider Controls"}}
490
  <div class="msp-metabox-row">
491
 
492
- <h4><?php _e('Here you can add or remove controls to slider', 'master-slider'); ?></h4>
493
 
494
  <div class="msp-metabox-indented">
495
- <label><?php _e('Add new control', 'master-slider'); ?></label>
496
  {{#if noMore}}
497
  <button class="msp-add-btn disabled"><span class="msp-ico msp-ico-whiteadd"></span></button>
498
  {{else}}
@@ -503,14 +510,14 @@
503
  {{#each control in availableControls}}
504
  <option {{bind-attr value=control.value}}>{{control.label}}</option>
505
  {{else}}
506
- <option><?php _e('-- All controls are used --', 'master-slider'); ?></option>
507
  {{/each}}
508
  {{/dropdwon-List}}
509
  </div>
510
  </div>
511
  <hr class="msp-metabox-hr">
512
  <div class="msp-metabox-row">
513
- <h4><?php _e('Used controls:', 'master-slider'); ?></h4>
514
  <div class="msp-metabox-indented">
515
  {{#each control in controller}}
516
  {{view MSPanel.ControlBtn control=control}}
@@ -527,19 +534,19 @@
527
  {{#meta-box title="Arrows Control Options"}}
528
  <div class="msp-metabox-row">
529
  <div class="msp-metabox-indented">
530
- {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide arrows when mouse leaves slider', 'master-slider'); ?></label>
531
  <div class="msp-form-space-med"></div>
532
- {{switch-box value=currentControl.overVideo}} <label><?php _e('Show arrows over Youtube/Vimeo video player', 'master-slider'); ?></label>
533
  </div>
534
  <div class="msp-metabox-indented">
535
- <label><?php _e('Hide arrows under this window width :', 'master-slider'); ?> </label> {{number-input value=currentControl.hideUnder}} px
536
  </div>
537
 
538
  {{!--<div class="msp-metabox-indented">
539
- {{switch-box value=currentControl.inset}} <label><?php _e('Insert arrows inside slider', 'master-slider'); ?></label>
540
  </div>
541
  <div class="msp-metabox-indented">
542
- <label><?php _e('Arrows margin :', 'master-slider'); ?> </label> {{number-input value=currentControl.margin min=null}} px
543
  </div>--}}
544
  </div>
545
  {{/meta-box}}
@@ -549,23 +556,23 @@
549
  {{#meta-box title="Line Timer Control Options"}}
550
  <div class="msp-metabox-row">
551
  <div class="msp-metabox-indented">
552
- {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide line timer when mouse leaves slider', 'master-slider'); ?></label>
553
  <div class="msp-form-space-med"></div>
554
- {{switch-box value=currentControl.overVideo}} <label><?php _e('Show line timer over Youtube/Vimeo video player', 'master-slider'); ?></label>
555
  </div>
556
  <div class="msp-metabox-indented">
557
- <?php _e('Align control :', 'master-slider'); ?>
558
  {{#dropdwon-List value=currentControl.align width=100}}
559
- <option value="top"><?php _e('Top', 'master-slider'); ?></option>
560
- <option value="bottom"><?php _e('Bottom', 'master-slider'); ?></option>
561
  {{/dropdwon-List}}
562
  <div class="msp-form-space-med"></div>
563
- <label><?php _e('Hide line timer under this window width :', 'master-slider'); ?> </label> {{number-input value=currentControl.hideUnder}} px
564
  </div>
565
  <div class="msp-metabox-indented">
566
- <label><?php _e('Line timer color :', 'master-slider'); ?> </label> {{color-picker value=currentControl.color}}
567
  <div class="msp-form-space-med"></div>
568
- <label><?php _e('Line timer width :', 'master-slider'); ?> </label> {{number-input value=currentControl.width}} px
569
  </div>
570
  </div>
571
  {{/meta-box}}
@@ -575,28 +582,28 @@
575
  {{#meta-box title="Bullets Control Options"}}
576
  <div class="msp-metabox-row">
577
  <div class="msp-metabox-indented">
578
- {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide bullets when mouse leaves slider', 'master-slider'); ?></label>
579
  <div class="msp-form-space-med"></div>
580
- {{switch-box value=currentControl.overVideo}} <label><?php _e('Show bullets over Youtube/Vimeo video player', 'master-slider'); ?></label>
581
  </div>
582
  {{!-- <div class="msp-metabox-indented">
583
- {{switch-box value=currentControl.inset}} <label><?php _e('Insert bullets inside slider', 'master-slider'); ?></label>
584
  </div> --}}
585
  <div class="msp-metabox-indented">
586
- <?php _e('Align control :', 'master-slider'); ?>
587
  {{#dropdwon-List value=currentControl.align width=100}}
588
- <option value="top"><?php _e('Top', 'master-slider'); ?></option>
589
- <option value="right"><?php _e('Right', 'master-slider'); ?></option>
590
- <option value="left"><?php _e('Left', 'master-slider'); ?></option>
591
- <option value="bottom"><?php _e('Bottom', 'master-slider'); ?></option>
592
  {{/dropdwon-List}}
593
  <div class="msp-form-space-med"></div>
594
- <label><?php _e('Bullets margin :', 'master-slider'); ?> </label> {{number-input value=currentControl.margin min=null}} px
595
  <div class="msp-form-space-med"></div>
596
- <label><?php _e('Space between bullets :', 'master-slider'); ?> </label> {{number-input value=currentControl.space min=null}} px
597
  </div>
598
  <div class="msp-metabox-indented">
599
- <label><?php _e('Hide bullets under this window width :', 'master-slider'); ?> </label> {{number-input value=currentControl.hideUnder}} px
600
  </div>
601
  </div>
602
  {{/meta-box}}
@@ -606,40 +613,40 @@
606
  {{#meta-box title="Scrollbar Control Options"}}
607
  <div class="msp-metabox-row">
608
  <div class="msp-metabox-indented">
609
- {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide scrollbar when mouse leaves slider', 'master-slider'); ?></label>
610
  <div class="msp-form-space-med"></div>
611
- {{switch-box value=currentControl.overVideo}} <label><?php _e('Show scrollbar over Youtube/Vimeo video player', 'master-slider'); ?></label>
612
  </div>
613
  <div class="msp-metabox-indented">
614
- {{switch-box value=currentControl.inset}} <label><?php _e('Insert scrollbar inside slider', 'master-slider'); ?></label>
615
  </div>
616
 
617
  {{!--<div class="msp-metabox-indented">
618
- <label><?php _e('Scrollbar direction :', 'master-slider'); ?> </label>
619
  {{#dropdwon-List value=currentControl.dir width=100}}
620
- <option value="h"><?php _e('Horizontal', 'master-slider'); ?></option>
621
- <option value="v"><?php _e('Vertical', 'master-slider'); ?></option>
622
  {{/dropdwon-List}}
623
  <div class="msp-form-space-med"></div>
624
  </div>--}}
625
 
626
  <div class="msp-metabox-indented">
627
- <label><?php _e('Scrollbar handle color :', 'master-slider'); ?> </label> {{color-picker value=currentControl.color}}
628
  <div class="msp-form-space-med"></div>
629
- <label><?php _e('Hide scrollbar under this window width :', 'master-slider'); ?> </label> {{number-input value=currentControl.hideUnder}} px
630
  </div>
631
  <div class="msp-metabox-indented">
632
- <?php _e('Align control :', 'master-slider'); ?>
633
  {{#dropdwon-List value=currentControl.align width=100}}
634
- <option value="top"><?php _e('Top', 'master-slider'); ?></option>
635
- <option value="right"><?php _e('Right', 'master-slider'); ?></option>
636
- <option value="left"><?php _e('Left', 'master-slider'); ?></option>
637
- <option value="bottom"><?php _e('Bottom', 'master-slider'); ?></option>
638
  {{/dropdwon-List}}
639
  <div class="msp-form-space-med"></div>
640
- <label><?php _e('Scrollbar width :', 'master-slider'); ?> </label> {{number-input value=currentControl.width}} px
641
  <div class="msp-form-space-med"></div>
642
- <label><?php _e('Scrollbar margin :', 'master-slider'); ?> </label> {{number-input value=currentControl.margin min=null}} px
643
  </div>
644
  </div>
645
  {{/meta-box}}
@@ -649,30 +656,30 @@
649
  {{#meta-box title="Circle Timer Control Options"}}
650
  <div class="msp-metabox-row">
651
  <div class="msp-metabox-indented">
652
- {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide cricle timer when mouse leaves slider', 'master-slider'); ?></label>
653
  <div class="msp-form-space-med"></div>
654
- {{switch-box value=currentControl.overVideo}} <label><?php _e('Show circle timer over Youtube/Vimeo video player', 'master-slider'); ?></label>
655
  </div>
656
  {{!--<div class="msp-metabox-indented">
657
- <?php _e('Align control :', 'master-slider'); ?>
658
  {{#dropdwon-List value=currentControl.align width=100}}
659
- <option value="tl"><?php _e('Top Left', 'master-slider'); ?></option>
660
- <option value="tr"><?php _e('Top Right', 'master-slider'); ?></option>
661
- <option value="bl"><?php _e('Bottom Left', 'master-slider'); ?></option>
662
- <option value="br"><?php _e('Bottom Right', 'master-slider'); ?></option>
663
  {{/dropdwon-List}}
664
  </div>--}}
665
  <div class="msp-metabox-indented">
666
- <label><?php _e('Hide circle timer under this window width :', 'master-slider'); ?> </label> {{number-input value=currentControl.hideUnder}} px
667
  </div>
668
  <div class="msp-metabox-indented">
669
- {{!--<label><?php _e('Circle timer margin :', 'master-slider'); ?> </label> {{number-input value=currentControl.margin min=null}} px
670
  <div class="msp-form-space-med"></div>--}}
671
- <label><?php _e('Circle stroke :', 'master-slider'); ?> </label> {{number-input value=currentControl.stroke}} px
672
  <div class="msp-form-space-med"></div>
673
- <label><?php _e('Circle radius :', 'master-slider'); ?> </label> {{number-input value=currentControl.radius}} px
674
  <div class="msp-form-space-med"></div>
675
- <label><?php _e('Circle color :', 'master-slider'); ?> </label> {{color-picker value=currentControl.color}}
676
  </div>
677
  </div>
678
  {{/meta-box}}
@@ -682,32 +689,32 @@
682
  {{#meta-box title="Slide Info Control Options"}}
683
  <div class="msp-metabox-row">
684
  <div class="msp-metabox-indented">
685
- {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide slide info when mouse leaves slider', 'master-slider'); ?></label>
686
  <div class="msp-form-space-med"></div>
687
- {{switch-box value=currentControl.overVideo}} <label><?php _e('Show slide info over Youtube/Vimeo video player', 'master-slider'); ?></label>
688
  </div>
689
  <div class="msp-metabox-indented">
690
- {{switch-box value=currentControl.inset}} <label><?php _e('Insert slide info inside slider', 'master-slider'); ?></label>
691
  </div>
692
  <div class="msp-metabox-indented">
693
- <?php _e('Align control :', 'master-slider'); ?>
694
  {{#dropdwon-List value=currentControl.align width=100}}
695
- <option value="top"><?php _e('Top', 'master-slider'); ?></option>
696
- <option value="right"><?php _e('Right', 'master-slider'); ?></option>
697
- <option value="left"><?php _e('Left', 'master-slider'); ?></option>
698
- <option value="bottom"><?php _e('Bottom', 'master-slider'); ?></option>
699
  {{/dropdwon-List}}
700
  <div class="msp-form-space-med"></div>
701
- <label><?php _e('Slide info margin :', 'master-slider'); ?> </label> {{number-input value=currentControl.margin min=null}} px
702
  </div>
703
  <div class="msp-metabox-indented">
704
- <label><?php _e('Slide info width :', 'master-slider'); ?> </label> {{number-input value=currentControl.width}} px
705
  <div class="msp-form-space-med"></div>
706
- <label><?php _e('Slide info height :', 'master-slider'); ?> </label> {{number-input value=currentControl.height}} px
707
  </div>
708
  </div>
709
  <div class="msp-metabox-indented">
710
- <label><?php _e('Hide slide info under this window width :', 'master-slider'); ?> </label> {{number-input value=currentControl.hideUnder}} px
711
  </div>
712
  </div>
713
  {{/meta-box}}
@@ -717,64 +724,64 @@
717
  {{#meta-box title="Thumblist/Tabs Control Options"}}
718
  <div class="msp-metabox-row">
719
  <div class="msp-metabox-indented">
720
- {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide thumblist/tabs when mouse leaves slider', 'master-slider'); ?></label>
721
  <div class="msp-form-space-med"></div>
722
- {{switch-box value=currentControl.overVideo}} <label><?php _e('Show thumblist/tabs over Youtube/Vimeo video player', 'master-slider'); ?></label>
723
  </div>
724
  <div class="msp-metabox-indented">
725
- {{switch-box value=currentControl.inset}} <label><?php _e('Insert thumblist/tabs inside slider', 'master-slider'); ?></label>
726
  <div class="msp-form-space-med"></div>
727
- {{switch-box value=currentControl.arrows}} <label><?php _e('Insert navigation arrows', 'master-slider'); ?></label>
728
  </div>
729
  <div class="msp-metabox-indented">
730
- {{switch-box value=currentControl.hoverChange}} <label><?php _e('Change slides on hovering over thumbs/tabs.', 'master-slider'); ?></label>
731
  </div>
732
  <div class="msp-metabox-indented">
733
- <?php _e('Align control :', 'master-slider'); ?>
734
  {{#dropdwon-List value=currentControl.align width=100}}
735
- <option value="top"><?php _e('Top', 'master-slider'); ?></option>
736
- <option value="right"><?php _e('Right', 'master-slider'); ?></option>
737
- <option value="left"><?php _e('Left', 'master-slider'); ?></option>
738
- <option value="bottom"><?php _e('Bottom', 'master-slider'); ?></option>
739
  {{/dropdwon-List}}
740
  <div class="msp-form-space-med"></div>
741
- <label><?php _e('Thumblist/Tabs margin :', 'master-slider'); ?> </label> {{number-input value=currentControl.margin min=null}} px
742
  </div>
743
  <div class="msp-metabox-indented">
744
- <?php _e('Appearance :', 'master-slider'); ?>
745
  {{#dropdwon-List value=currentControl.type width=100}}
746
- <option value="thumbs"><?php _e('Thumblist', 'master-slider'); ?></option>
747
- <option value="tabs"><?php _e('Tabs', 'master-slider'); ?></option>
748
  {{/dropdwon-List}}
749
  <div class="msp-form-space-med"></div>
750
- <label><?php _e('Hide thumblist/tabs under this window width :', 'master-slider'); ?> </label> {{number-input value=currentControl.hideUnder}} px
751
  </div>
752
 
753
  {{!--<div class="msp-metabox-indented">
754
- <label><?php _e('Thumblist/Tabs direction :', 'master-slider'); ?> </label>
755
  {{#dropdwon-List value=currentControl.dir width=100}}
756
- <option value="h"><?php _e('Horizontal', 'master-slider'); ?></option>
757
- <option value="v"><?php _e('Vertical', 'master-slider'); ?></option>
758
  {{/dropdwon-List}}
759
  </div>--}}
760
 
761
  {{#if isTab}}
762
  <div class="msp-metabox-indented">
763
- {{switch-box value=currentControl.insertThumb}} <?php _e('Insert thumbnail inside tabs', 'master-slider'); ?>
764
  </div>
765
  {{else}}
766
  <div class="msp-metabox-indented">
767
- <?php _e('Thumb background fill mode :', 'master-slider'); ?>
768
  {{view MSPanel.Fillmode value=currentControl.fillMode}}
769
  </div>
770
  {{/if}}
771
 
772
  <div class="msp-metabox-indented">
773
- <label><?php _e('Thumb/Tab width :', 'master-slider'); ?> </label> {{number-input value=currentControl.width}} px
774
  <div class="msp-form-space-med"></div>
775
- <label><?php _e('Thumb/Tab height :', 'master-slider'); ?> </label> {{number-input value=currentControl.height}} px
776
  <div class="msp-form-space-med"></div>
777
- <label><?php _e('Space between thumbs/tabs :', 'master-slider'); ?> </label> {{number-input value=currentControl.space}} px
778
  </div>
779
 
780
  </div>
@@ -786,10 +793,10 @@
786
  {{#meta-box title="Slider Callbacks"}}
787
  <div class="msp-metabox-row">
788
 
789
- <h4><?php _e('Here you can add or remove callbacks to slider', 'master-slider'); ?></h4>
790
 
791
  <div class="msp-metabox-indented">
792
- <label><?php _e('Add new callback', 'master-slider'); ?></label>
793
  {{#if noMore}}
794
  <button class="msp-add-btn disabled"><span class="msp-ico msp-ico-whiteadd"></span></button>
795
  {{else}}
@@ -800,7 +807,7 @@
800
  {{#each callback in availableCallbacks}}
801
  <option {{bind-attr value=callback.value}}>{{callback.label}}</option>
802
  {{else}}
803
- <option><?php _e('-- All callbacks are added --', 'master-slider'); ?></option>
804
  {{/each}}
805
  {{/dropdwon-List}}
806
  </div>
@@ -813,7 +820,7 @@
813
  {{#code-mirror width="100%" height="auto" mode="javascript" value=callback.content}}{{/code-mirror}}
814
  </div>
815
  <div class="msp-metabox-indented">
816
- <button {{action "removeCallback" callback}} class="msp-blue-btn msp-remove-btn-med"><?php _e('Remove', 'master-slider'); ?></button>
817
  </div>
818
  </div>
819
  {{/each}}
17
  </div>
18
  <div id="panelLoading" class="msp-loading">
19
  <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/loading.gif">
20
+ <?php _e('Loading data...', MSWP_TEXT_DOMAIN); ?>
21
  </div>
22
  <div id="msp-root" class="msp-container"> </div>
23
  <div id="mspHiddenEditor" style="display:none">
34
  {{else}}
35
  <nav class="msp-main-nav">
36
  <ul>
37
+ <li>{{#link-to 'settings'}} <?php _e('Slider Settings', MSWP_TEXT_DOMAIN); ?> <span class="msp-ico msp-ico-settings"></span>{{/link-to}}</li>
38
+ {{#if isFlickr }}<li>{{#link-to 'flickr'}} <?php _e('Flickr Settings', MSWP_TEXT_DOMAIN); ?> <span class="msp-ico msp-ico-flickr"></span>{{/link-to}}</li>{{/if}}
39
+ {{#if isFacebook }}<li>{{#link-to 'facebook'}} <?php _e('Facebook Settings', MSWP_TEXT_DOMAIN); ?> <span class="msp-ico msp-ico-facebook"></span>{{/link-to}}</li>{{/if}}
40
+ {{#if isPost }}<li>{{#link-to 'post'}} <?php _e('Posts Settings', MSWP_TEXT_DOMAIN); ?> <span class="msp-ico msp-ico-posts"></span>{{/link-to}}</li>{{/if}}
41
+ {{#if isWcproduct }}<li>{{#link-to 'wcproduct'}} <?php _e('Product Slider Settings', MSWP_TEXT_DOMAIN); ?> <span class="msp-ico msp-ico-wooc"></span>{{/link-to}}</li>{{/if}}
42
+ <li>{{#link-to 'slides'}} <?php _e('Slides', MSWP_TEXT_DOMAIN); ?> <span class="msp-ico msp-ico-slides"></span>{{/link-to}}</li>
43
+ <li>{{#link-to 'controls'}} <?php _e('Slider Controls', MSWP_TEXT_DOMAIN); ?> <span class="msp-ico msp-ico-controls"></span>{{/link-to}}</li>
44
+ <li>{{#link-to 'callbacks'}} <?php _e('Slider Callbacks', MSWP_TEXT_DOMAIN); ?> <span class="msp-ico msp-ico-api"></span>{{/link-to}}</li>
45
  <li class="msp-upgrade-btn"> {{#link-to 'pro-features'}}Upgrade to PRO <span class="msp-ico msp-ico-pro"></span>{{/link-to}}</li>
46
  </ul>
47
  </nav>
48
  <div class="clear"></div>
49
  {{outlet}}
50
  <div class="msp-shortcode-cont">
51
+ <span><?php _e('Shortcode :', MSWP_TEXT_DOMAIN); ?> </span>
52
+ {{view MSPanel.SimpleCodeBlock value=shortCode width=120}}
53
+ <span><?php _e('PHP function :', MSWP_TEXT_DOMAIN); ?> </span>
54
+ {{view MSPanel.SimpleCodeBlock value=phpFunction width=160}}
55
  </div>
56
  <div class="msp-save-bar-placeholder" id="saveBarPlaceHolder"></div>
57
  <div class="msp-save-bar" id="saveBar">
58
+ <button id="msp-preview-btn" {{action showPreview}} class="msp-blue-btn msp-save-changes"> <?php _e('Preview', MSWP_TEXT_DOMAIN); ?></button>
59
  {{#if isSending}}
60
+ <button class="msp-blue-btn msp-save-changes disabled"> <?php _e('Saving...', MSWP_TEXT_DOMAIN); ?></button>
61
  {{else}}
62
+ <button class="msp-blue-btn msp-save-changes" {{action "saveAll"}}> <?php _e('Save Changes', MSWP_TEXT_DOMAIN); ?></button>
63
  {{/if}}
64
  <div class="msp-saving-msg-cont">
65
  <span {{bind-attr class=":msp-save-status savingStatus"}}>{{statusMsg}}</span>
66
+ <div {{bind-attr class=":msp-time-ago savingStatus"}}><?php _e('Saved', MSWP_TEXT_DOMAIN); ?> <span id="timeAgo"></span>.</div>
67
  </div>
68
  </div>
69
  {{/if}}
70
  </script>
71
 
72
  <script type="text/x-handlebars" id="pro-features">
73
+ {{#meta-box title="Upgrade Master Slider to PRO"}}
74
+ <div class="msp-metabox-row msp-pro-tab">
75
+ <div class="msp-pro-featurs">
76
+ <h2>Add Features to Master Slider</h2>
77
+ <p>Take your WordPress site to the next level with Master Slider PRO. This plugin crunches all types of contents, making it a dead-simple way to display dynamic slides in the exact way YOU want them to look.
78
+ Best of all, Master Slider PRO works perfectly with any existing WordPress theme and doesn’t affect overall site performance. Which means, less bloat and more control!</p>
79
+ <div class="msp-pf-figure">
80
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/layers.jpg" alt="Animated layers">
81
+ <h6>Animated Layers</h6>
82
+ </div>
83
+ <div class="msp-pf-figure">
84
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/videos.jpg" alt="Videos">
85
+ <h6>Videos</h6>
86
+ </div>
87
+ <div class="msp-pf-figure">
88
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/sample-sliders.jpg" alt="Sample sliders">
89
+ <h6>Sample Sliders</h6>
90
+ </div>
91
+ <div class="msp-pf-figure">
92
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/dynamic-sources.jpg" alt="Dynamic sources">
93
+ <h6>Dynamic Sources</h6>
94
+ </div>
95
+ <div class="msp-pf-figure">
96
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/parallax.jpg" alt="Prallax effect">
97
+ <h6>Parallax Effect</h6>
98
+ </div>
99
+ <div class="msp-pf-figure">
100
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/dedicated-support.jpg" alt="Dedicated support">
101
+ <h6>Dedicated Support</h6>
102
+ </div>
103
+ </div>
104
+ <div class="clear"></div>
105
+ </div>
106
+ <div class="msp-metabox-row msp-pro-tab msp-pf-admin-section">
107
+ <div class="msp-pf-admin-ss">
108
+ <div class="msp-pf-figure">
109
+ <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/layers.jpg">
110
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/layers.jpg" alt="layers">
111
+ <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
112
+ </a>
113
+ </div>
114
+ <div class="msp-pf-figure">
115
+ <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/sample-sliders.jpg">
116
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/sample-sliders.jpg" alt="sample sliders">
117
+ <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
118
+ </a>
119
+ </div>
120
+ <div class="msp-pf-figure">
121
+ <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/templates.jpg">
122
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/templates.jpg" alt="slider templates">
123
+ <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
124
+ </a>
125
+ </div>
126
+ <div class="msp-pf-figure">
127
+ <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/transition-editor.jpg">
128
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/transition-editor.jpg" alt="transition editor">
129
+ <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
130
+ </a>
131
+ </div>
132
+ <div class="msp-pf-figure">
133
+ <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/style-editor.jpg">
134
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/style-editor.jpg" alt="style editor">
135
+ <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
136
+ </a>
137
+ </div>
138
+ <div class="msp-pf-figure">
139
+ <a data-featherlight="image" href="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/button-editor.jpg">
140
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/thumbs/button-editor.jpg" alt="style editor">
141
+ <div class="msp-pf-thumb-ol"><img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/admin-area/zoom.png" alt="zoom-ico"></div>
142
+ </a>
143
+ </div>
144
+
145
+ <div class="clear"></div>
146
+ <h3>See It In Action</h3>
147
+ <p>Want to give it a shot right away ? Just give it a test drive and create your own slider, or try some of our ready-made samples !</p>
148
+ <a class="msp-blue-btn msp-pf-testdrive" href="http://avt.li/msptd" target="_blank"> <span class="msp-ico msp-ico-testdrive"></span> Test Drive Now</a>
149
+ </div>
150
+ <div class="clear"></div>
151
+ </div>
152
+ <div class="msp-metabox-row msp-pro-tab msp-pf-join-section">
153
+ <img src="<?php echo MSWP_AVERTA_ADMIN_URL . '/views/slider-panel'; ?>/images/pro-features/join.png" alt="Join the PRO version" class="msp-join-ico">
154
+ <h3>Join The <?php echo msp_get_pro_users_num(); ?> PRO Users</h3>
155
+ <p>Unlock all Master Slider Pro features and build an eye-caching slider for your website today. </p>
156
+ <a class="msp-pf-btn msp-pf-upgrade-btn" href="http://avt.li/mspup" target="_blank">Upgrade Now</a>
157
+ <a class="msp-pf-btn msp-pf-more-btn" href="http://avt.li/mspt" target="_blank">See All Features</a>
158
+ <div class="clear"></div>
159
+ </div>
160
+ {{/meta-box}}
161
  </script>
162
+
163
  <!-- Slider Settings Page -->
164
  <script type="text/x-handlebars" id="settings">
165
 
166
+ {{#meta-box title="<?php _e('General Settings', MSWP_TEXT_DOMAIN); ?>"}}
167
 
168
  <div class="msp-metabox-row">
169
 
170
+ <h4><?php _e('Slider name and dimensions', MSWP_TEXT_DOMAIN); ?></h4>
171
 
172
  <div class="msp-metabox-indented">
173
+ <label><?php _e('Slider name :', MSWP_TEXT_DOMAIN); ?> </label> {{input value=name size="40"}}
174
  </div>
175
  <div class="msp-metabox-indented">
176
+ <label><?php _e('Slider width :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=width}} px
177
  <span class="msp-form-space"></span>
178
+ <label><?php _e('Slider height :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=height}} px
179
  </div>
180
 
181
  <div class="msp-metabox-indented">
182
+ {{switch-box value=autoCrop}}<label><?php _e('Automatically crop and resize slider images based on the size above.', MSWP_TEXT_DOMAIN); ?></label>
183
  </div>
184
 
185
+ <h4><?php _e('Slider sizing method', MSWP_TEXT_DOMAIN); ?></h4>
186
 
187
  <div class="msp-metabox-indented">
188
  {{#view MSPanel.Select value=layout width="400" }}
189
+ <option value="boxed"><?php _e('Boxed layout', MSWP_TEXT_DOMAIN); ?></option>
190
+ <option value="fullwidth"><?php _e('Full-width', MSWP_TEXT_DOMAIN); ?></option>
191
  {{/view}}
192
  {{#if showAutoHeight}}
193
  <span class="msp-form-space"></span>
194
+ {{switch-box value=autoHeight}}<label><?php _e('Auto-height slider', MSWP_TEXT_DOMAIN); ?></label>
195
  {{/if}}
196
  </div>
197
  {{#if showMinHeight}}
198
  <div class="msp-metabox-indented">
199
+ <label><?php _e('Minimum height amount :', MSWP_TEXT_DOMAIN); ?> </label>{{number-input value=minHeight}} px
200
  </div>
201
  {{/if}}
202
  {{#if showWrapperWidth}}
203
  <div class="msp-metabox-indented">
204
+ <label><?php _e('Slider wrapper width :', MSWP_TEXT_DOMAIN); ?> </label>{{number-input value=wrapperWidth}}
205
  {{#view MSPanel.Select value=wrapperWidthUnit width="40" }}
206
  <option value="px">px</option>
207
  <option value="%">%</option>
213
 
214
  {{/meta-box}}
215
 
216
+ {{#meta-box title="<?php _e('Slider Transition', MSWP_TEXT_DOMAIN); ?>"}}
217
  <div class="msp-metabox-row">
218
+ <h4><?php _e('Change slider transition, transition speed and spacing between slides', MSWP_TEXT_DOMAIN); ?></h4>
219
 
220
  <div class="msp-metabox-indented">
221
+ <label><?php _e('Transition :', MSWP_TEXT_DOMAIN); ?> </label>
222
  {{#view MSPanel.Select value=trView width=150}}
223
  <option value="basic">Normal</option>
224
  <option value="fade">Fade</option>
225
  {{/view}}
226
  <span class="msp-form-space"></span>
227
+ <label><?php _e('Transition speed :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=speed}}
228
  </div>
229
  <div class="msp-metabox-indented">
230
+ <label><?php _e('Direction :', MSWP_TEXT_DOMAIN); ?> </label>
231
  {{#view MSPanel.Select value=dir width="120"}}
232
+ <option value="h"><?php _e('Horizontal', MSWP_TEXT_DOMAIN); ?></option>
233
+ <option value="v"><?php _e('Vertical', MSWP_TEXT_DOMAIN); ?></option>
234
  {{/view}}
235
  <span class="msp-form-space"></span>
236
+ <label><?php _e('Slide spacing :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=space}} px
237
  </div>
238
  </div>
239
  {{/meta-box}}
240
 
241
 
242
+ {{#meta-box title="<?php _e('Navigation', MSWP_TEXT_DOMAIN); ?>"}}
243
 
244
  <div class="msp-metabox-row">
245
+ <h4><?php _e('Slideshow behavior and sorting slides', MSWP_TEXT_DOMAIN); ?></h4>
246
  <div class="msp-metabox-indented">
247
+ {{switch-box value=autoplay}}<label><?php _e('Autoplay (Slideshow)', MSWP_TEXT_DOMAIN); ?></label>
248
  <span class="msp-form-space"></span>
249
+ {{switch-box value=loop}}<label><?php _e('Loop navigation', MSWP_TEXT_DOMAIN); ?> </label>
250
  <span class="msp-form-space"></span>
251
+ {{switch-box value=endPause}}<label><?php _e('Pause at the final slide', MSWP_TEXT_DOMAIN); ?></label>
252
  </div>
253
  <div class="msp-metabox-indented">
254
+ {{switch-box value=overPause}}<label><?php _e('Pause on hover', MSWP_TEXT_DOMAIN); ?></label>
255
  <span class="msp-form-space"></span>
256
+ {{switch-box value=shuffle}}<label><?php _e('Random order', MSWP_TEXT_DOMAIN); ?></label>
257
  </div>
258
  <div class="msp-metabox-indented">
259
+ <label><?php _e('Start with slide :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=start min=1}}
260
  </div>
261
+ <h4><?php _e('Slider navigation methods', MSWP_TEXT_DOMAIN); ?></h4>
262
  <div class="msp-metabox-indented">
263
+ {{switch-box value=swipe}}<label><?php _e('Touch swipe navigation', MSWP_TEXT_DOMAIN); ?></label>
264
  <span class="msp-form-space"></span>
265
+ {{switch-box value=mouse}}<label><?php _e('Mouse swipe navigation', MSWP_TEXT_DOMAIN); ?></label>
266
  <span class="msp-form-space"></span>
267
+ {{switch-box value=grabCursor}}<label><?php _e('Use grab mouse cursor', MSWP_TEXT_DOMAIN); ?></label>
268
  </div>
269
  <div class="msp-metabox-indented">
270
+ {{switch-box value=wheel}}<label><?php _e('Mouse wheel navigation', MSWP_TEXT_DOMAIN); ?></label>
271
  </div>
272
  <div class="msp-metabox-indented">
273
+ {{switch-box value=startOnAppear}}<label><?php _e('Start slider when appears in browser window.', MSWP_TEXT_DOMAIN); ?></label>
274
  </div>
275
+ <h4><?php _e('Slide preloading', MSWP_TEXT_DOMAIN); ?></h4>
276
  <div class="msp-metabox-indented">
277
  {{#view MSPanel.Select value=preloadMethod width="200" }}
278
+ <option value="nearby"><?php _e('Load nearby slides', MSWP_TEXT_DOMAIN); ?></option>
279
+ <option value="-1"><?php _e('Load slides in sequence', MSWP_TEXT_DOMAIN); ?></option>
280
+ <option value="all"><?php _e('Load all slides before init', MSWP_TEXT_DOMAIN); ?></option>
281
  {{/view}}
282
  {{#if showNearbyNum}}
283
  <span class="msp-form-space"></span>
284
+ <?php _e('Number of slides :', MSWP_TEXT_DOMAIN); ?> {{number-input value=preload }}
285
  {{/if}}
286
  </div>
287
  </div>
288
 
289
  {{/meta-box}}
290
 
291
+ {{#meta-box title="<?php _e('Appearance', MSWP_TEXT_DOMAIN); ?>"}}
292
 
293
  <div class="msp-metabox-row">
294
+ <h4><?php _e('Slider Skin', MSWP_TEXT_DOMAIN); ?></h4>
295
  <div class="msp-metabox-indented">
296
+ <label><?php _e('Skin :', MSWP_TEXT_DOMAIN); ?> </label>
297
  {{#dropdwon-List value=skin width=180}}
298
  {{#each skin in sliderSkins}}
299
  <option {{bind-attr value=skin.class}}>{{skin.label}}</option>
300
  {{/each}}
301
 
302
  {{!--
303
+ <option value="ms-skin-default"><?php _e('Default', MSWP_TEXT_DOMAIN); ?></option>
304
+ <option value="ms-skin-minimal"><?php _e('Minimal', MSWP_TEXT_DOMAIN); ?></option>
305
+ <option value="ms-skin-light-2"><?php _e('Light 2', MSWP_TEXT_DOMAIN); ?></option>
306
+ <option value="ms-skin-light-3"><?php _e('Light 3', MSWP_TEXT_DOMAIN); ?></option>
307
+ <option value="ms-skin-light-4"><?php _e('Light 4', MSWP_TEXT_DOMAIN); ?></option>
308
+ <option value="ms-skin-light-5"><?php _e('Light 5', MSWP_TEXT_DOMAIN); ?></option>
309
+ <option value="ms-skin-light-6"><?php _e('Light 6', MSWP_TEXT_DOMAIN); ?></option>
310
+ <option value="ms-skin-light-6 round-skin"><?php _e('Light 6 Round', MSWP_TEXT_DOMAIN); ?></option>
311
+ <option value="ms-skin-contrast"><?php _e('Contrast', MSWP_TEXT_DOMAIN); ?></option>
312
+ <option value="ms-skin-black-1"><?php _e('Black 1', MSWP_TEXT_DOMAIN); ?></option>
313
+ <option value="ms-skin-black-2"><?php _e('Black 2', MSWP_TEXT_DOMAIN); ?></option>
314
+ <option value="ms-skin-black-2 round-skin"><?php _e('Black 2 Round', MSWP_TEXT_DOMAIN); ?></option>
315
+ <option value="ms-skin-metro"><?php _e('Metro', MSWP_TEXT_DOMAIN); ?></option>
316
  --}}
317
  {{/dropdwon-List}}
318
  </div>
319
  <div class="msp-metabox-indented">
320
+ <label><?php _e('Align center slider controls :', MSWP_TEXT_DOMAIN); ?> </label> {{switch-box value=centerControls}}
321
  </div>
322
+ <h4><?php _e('Slider background settings', MSWP_TEXT_DOMAIN); ?></h4>
323
  <div class="msp-metabox-indented">
324
+ <label><?php _e('Background image :', MSWP_TEXT_DOMAIN); ?> </label> {{view MSPanel.ImgSelect value=bgImage thumb=bgImageThumb}}
325
  <span class="msp-form-space"></span>
326
+ <label><?php _e('Background color :', MSWP_TEXT_DOMAIN); ?> </label> {{color-picker value=bgColor}}
327
  </div>
328
+ <h4><?php _e('Slider custom class name and style', MSWP_TEXT_DOMAIN); ?></h4>
329
  <div class="msp-metabox-indented">
330
+ <label><?php _e('Class name :', MSWP_TEXT_DOMAIN); ?> </label> {{input value=className}}
331
  </div>
332
  {{!--<div class="msp-metabox-indented">
333
+ <label><?php _e('Inline style :', MSWP_TEXT_DOMAIN); ?> </label> {{input value=inlineStyle size="50"}}
334
  </div>--}}
335
  <div class="msp-metabox-indented">
336
+ <label><?php _e('Slider custom styles :', MSWP_TEXT_DOMAIN); ?> </label>
337
  </div>
338
  <div class="msp-metabox-indented">
339
  {{#code-mirror width="880" height="250" mode="css" value=customStyle}}{{/code-mirror}}
347
  <script type="text/x-handlebars" id="slides">
348
  {{#if customSlider}}
349
  <!-- Slides List -->
350
+ {{#meta-box title="<?php _e('Slides', MSWP_TEXT_DOMAIN); ?>"}}
351
  <div class="msp-metabox-row">
352
  {{view MSPanel.SlideList}}
353
  </div>
354
  {{/meta-box}}
355
+ {{#if currentSlide}}
356
  {{partial "slide-settings"}}
357
  {{/if}}
358
  {{/if}}
364
  <div class="msp-metabox-handle">
365
 
366
  <ul class="tabs">
367
+ <li class="active"><a href="#sl-bg"><?php _e('Background', MSWP_TEXT_DOMAIN); ?></a></li>
368
+ <li><a href="#sl-val"><?php _e('Video and Link', MSWP_TEXT_DOMAIN); ?></a></li>
369
+ <li><a href="#sl-inf"><?php _e('Slide Info', MSWP_TEXT_DOMAIN); ?></a></li>
370
+ <li><a href="#sl-misc"><?php _e('Misc', MSWP_TEXT_DOMAIN); ?></a></li>
371
  </ul>
372
 
373
  <div class="msp-metabox-toggle"></div>
385
  {{#meta-box title="Slide"}}
386
  <div class="msp-metabox-row">
387
  <div class="msp-metabox-indented">
388
+ <label><?php _e('Slide duration :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input class="msp-number-input" min=0 max=300 step="0.1" value=currentSlide.duration}} s
389
  </div>
390
  </div>
391
  <hr class="msp-metabox-hr">
396
  <!-- Slide Background Settings Partial -->
397
  <script type="text/x-handlebars" id="slide-background">
398
  <div class="msp-metabox-row">
399
+ <h4><?php _e('Choose slide background and thumbnail', MSWP_TEXT_DOMAIN); ?></h4>
400
  <div class="msp-metabox-indented">
401
+ <label><?php _e('Background :', MSWP_TEXT_DOMAIN); ?> </label> {{view MSPanel.ImgSelect value=currentSlide.bg thumb=currentSlide.bgThumb }}
402
  <span class="msp-form-space"></span>
403
+ <label><?php _e('Fillmode :', MSWP_TEXT_DOMAIN); ?> </label> {{view MSPanel.Fillmode value=currentSlide.fillMode}}
404
  <span class="msp-form-space"></span>
405
+ <label><?php _e('Thumbnail :', MSWP_TEXT_DOMAIN); ?> </label> {{view MSPanel.ImgSelect value=currentSlide.thumbOrginal thumb=currentSlide.thumb}}
406
  </div>
407
  </div>
408
  </script>
409
  <!-- Slide Embeded Video and Link -->
410
  <script type="text/x-handlebars" id="slide-video-and-link">
411
  <div class="msp-metabox-row">
412
+ <h4><?php _e('Link this slide', MSWP_TEXT_DOMAIN); ?> </h4>
413
  <div class="msp-metabox-indented">
414
+ <label><?php _e('URL :', MSWP_TEXT_DOMAIN); ?> </label> {{input class="msp-path-input" value=currentSlide.link}}
415
  {{view MSPanel.URLTarget value=currentSlide.linkTarget }}
416
  </div>
417
  <div class="msp-metabox-indented">
418
+ <label><?php _e('Link id :', MSWP_TEXT_DOMAIN); ?> </label> {{input size=20 value=currentSlide.linkId}}
419
  <span class="msp-form-space"></span>
420
+ <label><?php _e('Link class :', MSWP_TEXT_DOMAIN); ?> </label> {{input size=20 value=currentSlide.linkClass}}
421
  </div>
422
  <div class="msp-metabox-indented">
423
+ <label><?php _e('Link rel :', MSWP_TEXT_DOMAIN); ?> </label> {{input size=20 value=currentSlide.linkRel}}
424
  <span class="msp-form-space"></span>
425
+ <label><?php _e('Link title :', MSWP_TEXT_DOMAIN); ?> </label> {{input size=20 value=currentSlide.linkTitle}}
426
  </div>
427
+ <h4><?php _e('Youtube or Vimeo video as slide', MSWP_TEXT_DOMAIN); ?></h4>
428
  <div class="msp-metabox-indented">
429
+ <label><?php _e('Video embed src :', MSWP_TEXT_DOMAIN); ?> </label> {{input size=60 value=currentSlide.video}}
430
  <span class="msp-form-space"></span>
431
+ <label><?php _e('Autoplay video :', MSWP_TEXT_DOMAIN); ?> </label> {{switch-box value=currentSlide.autoplayVideo}}
432
  </div>
433
  <div class="msp-metabox-indented">
434
+ <a href="http://masterslider.com/doc/wp/#embed-url" target="_blank"><?php _e('Where to find the Youtube/Vimeo embed URL.', MSWP_TEXT_DOMAIN); ?></a>
435
  </div>
436
  </div>
437
  </script>
440
  <script type="text/x-handlebars" id="slide-info">
441
  <div class="msp-metabox-row">
442
  <div class="msp-metabox-indented">
443
+ <label><?php _e('The info. will appear next to the slider when it reaches that specific slide, or it can represent as a tab in tabs control. Please note that it is relative to the selected slider\'s template.', MSWP_TEXT_DOMAIN); ?></label>
444
  </div>
445
 
446
  {{#if MSPanel.dynamicTags}}
447
  <div class="msp-metabox-indented">
448
+ <label><?php _e('Insert dynamic content : ', MSWP_TEXT_DOMAIN); ?></label>
449
  {{view MSPanel.AddDynamicTag editorId=infoEditor}}
450
  </div>
451
  {{/if}}
459
  <!-- Slide Misc -->
460
  <script type="text/x-handlebars" id="slide-misc">
461
  <div class="msp-metabox-row">
462
+ <h4><?php _e('Custom class name and ID for slide element', MSWP_TEXT_DOMAIN); ?> </h4>
463
  <div class="msp-metabox-indented">
464
+ <label><?php _e('Class name :', MSWP_TEXT_DOMAIN); ?> </label> {{input size=30 value=currentSlide.cssClass}}
465
  <span class="msp-form-space"></span>
466
+ <label><?php _e('CSS ID :', MSWP_TEXT_DOMAIN); ?> </label> {{input size=30 value=currentSlide.cssId}}
467
  </div>
468
+ <h4><?php _e('Background color and slide background alt text ', MSWP_TEXT_DOMAIN); ?></h4>
469
  <div class="msp-metabox-indented">
470
+ <label><?php _e('Background color :', MSWP_TEXT_DOMAIN); ?> </label> {{color-picker value=currentSlide.bgColor}}
471
  <span class="msp-form-space"></span>
472
+ <label><?php _e('Alt text :', MSWP_TEXT_DOMAIN); ?> </label> {{input size=30 value=currentSlide.bgAlt}}
473
+ </div>
474
+ <div class="msp-metabox-indented">
475
+ <label><?php _e('Background image title :', MSWP_TEXT_DOMAIN); ?> </label> {{input size=30 value=currentSlide.bgTitle}}
476
  </div>
477
+ <h4><?php _e('Slide color and pattern overlay ', MSWP_TEXT_DOMAIN); ?></h4>
478
  <div class="msp-metabox-indented">
479
+ <label><?php _e('Color overlay :', MSWP_TEXT_DOMAIN); ?> </label> {{color-picker value=currentSlide.colorOverlay}}
480
  <div class="msp-form-space-med"></div>
481
+ <label><?php _e('Pattern overlay :', MSWP_TEXT_DOMAIN); ?> </label> {{pattern-picker value=currentSlide.pattern}}
482
  </div>
483
  </div>
484
  </script>
488
  {{#meta-box title="Slider Controls"}}
489
  <div class="msp-metabox-row">
490
  <div class="msp-metabox-indented">
491
+ <?php _e('The selected tempalte for slider does not support custom controls.', MSWP_TEXT_DOMAIN); ?>
492
  </div>
493
  </div>
494
  {{/meta-box}}
496
  {{#meta-box title="Slider Controls"}}
497
  <div class="msp-metabox-row">
498
 
499
+ <h4><?php _e('Here you can add or remove controls to slider', MSWP_TEXT_DOMAIN); ?></h4>
500
 
501
  <div class="msp-metabox-indented">
502
+ <label><?php _e('Add new control', MSWP_TEXT_DOMAIN); ?></label>
503
  {{#if noMore}}
504
  <button class="msp-add-btn disabled"><span class="msp-ico msp-ico-whiteadd"></span></button>
505
  {{else}}
510
  {{#each control in availableControls}}
511
  <option {{bind-attr value=control.value}}>{{control.label}}</option>
512
  {{else}}
513
+ <option><?php _e('-- All controls are used --', MSWP_TEXT_DOMAIN); ?></option>
514
  {{/each}}
515
  {{/dropdwon-List}}
516
  </div>
517
  </div>
518
  <hr class="msp-metabox-hr">
519
  <div class="msp-metabox-row">
520
+ <h4><?php _e('Used controls:', MSWP_TEXT_DOMAIN); ?></h4>
521
  <div class="msp-metabox-indented">
522
  {{#each control in controller}}
523
  {{view MSPanel.ControlBtn control=control}}
534
  {{#meta-box title="Arrows Control Options"}}
535
  <div class="msp-metabox-row">
536
  <div class="msp-metabox-indented">
537
+ {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide arrows when mouse leaves slider', MSWP_TEXT_DOMAIN); ?></label>
538
  <div class="msp-form-space-med"></div>
539
+ {{switch-box value=currentControl.overVideo}} <label><?php _e('Show arrows over Youtube/Vimeo video player', MSWP_TEXT_DOMAIN); ?></label>
540
  </div>
541
  <div class="msp-metabox-indented">
542
+ <label><?php _e('Hide arrows for window width less than :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.hideUnder}} px
543
  </div>
544
 
545
  {{!--<div class="msp-metabox-indented">
546
+ {{switch-box value=currentControl.inset}} <label><?php _e('Insert arrows inside slider', MSWP_TEXT_DOMAIN); ?></label>
547
  </div>
548
  <div class="msp-metabox-indented">
549
+ <label><?php _e('Arrows margin :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.margin min=null}} px
550
  </div>--}}
551
  </div>
552
  {{/meta-box}}
556
  {{#meta-box title="Line Timer Control Options"}}
557
  <div class="msp-metabox-row">
558
  <div class="msp-metabox-indented">
559
+ {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide line timer when mouse leaves slider', MSWP_TEXT_DOMAIN); ?></label>
560
  <div class="msp-form-space-med"></div>
561
+ {{switch-box value=currentControl.overVideo}} <label><?php _e('Show line timer over Youtube/Vimeo video player', MSWP_TEXT_DOMAIN); ?></label>
562
  </div>
563
  <div class="msp-metabox-indented">
564
+ <?php _e('Align control :', MSWP_TEXT_DOMAIN); ?>
565
  {{#dropdwon-List value=currentControl.align width=100}}
566
+ <option value="top"><?php _e('Top', MSWP_TEXT_DOMAIN); ?></option>
567
+ <option value="bottom"><?php _e('Bottom', MSWP_TEXT_DOMAIN); ?></option>
568
  {{/dropdwon-List}}
569
  <div class="msp-form-space-med"></div>
570
+ <label><?php _e('Hide line timer for window width less than :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.hideUnder}} px
571
  </div>
572
  <div class="msp-metabox-indented">
573
+ <label><?php _e('Line timer color :', MSWP_TEXT_DOMAIN); ?> </label> {{color-picker value=currentControl.color}}
574
  <div class="msp-form-space-med"></div>
575
+ <label><?php _e('Line timer width :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.width}} px
576
  </div>
577
  </div>
578
  {{/meta-box}}
582
  {{#meta-box title="Bullets Control Options"}}
583
  <div class="msp-metabox-row">
584
  <div class="msp-metabox-indented">
585
+ {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide bullets when mouse leaves slider', MSWP_TEXT_DOMAIN); ?></label>
586
  <div class="msp-form-space-med"></div>
587
+ {{switch-box value=currentControl.overVideo}} <label><?php _e('Show bullets over Youtube/Vimeo video player', MSWP_TEXT_DOMAIN); ?></label>
588
  </div>
589
  {{!-- <div class="msp-metabox-indented">
590
+ {{switch-box value=currentControl.inset}} <label><?php _e('Insert bullets inside slider', MSWP_TEXT_DOMAIN); ?></label>
591
  </div> --}}
592
  <div class="msp-metabox-indented">
593
+ <?php _e('Align control :', MSWP_TEXT_DOMAIN); ?>
594
  {{#dropdwon-List value=currentControl.align width=100}}
595
+ <option value="top"><?php _e('Top', MSWP_TEXT_DOMAIN); ?></option>
596
+ <option value="right"><?php _e('Right', MSWP_TEXT_DOMAIN); ?></option>
597
+ <option value="left"><?php _e('Left', MSWP_TEXT_DOMAIN); ?></option>
598
+ <option value="bottom"><?php _e('Bottom', MSWP_TEXT_DOMAIN); ?></option>
599
  {{/dropdwon-List}}
600
  <div class="msp-form-space-med"></div>
601
+ <label><?php _e('Bullets margin :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.margin min=null}} px
602
  <div class="msp-form-space-med"></div>
603
+ <label><?php _e('Space between bullets :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.space min=null}} px
604
  </div>
605
  <div class="msp-metabox-indented">
606
+ <label><?php _e('Hide bullets for window width less than :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.hideUnder}} px
607
  </div>
608
  </div>
609
  {{/meta-box}}
613
  {{#meta-box title="Scrollbar Control Options"}}
614
  <div class="msp-metabox-row">
615
  <div class="msp-metabox-indented">
616
+ {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide scrollbar when mouse leaves slider', MSWP_TEXT_DOMAIN); ?></label>
617
  <div class="msp-form-space-med"></div>
618
+ {{switch-box value=currentControl.overVideo}} <label><?php _e('Show scrollbar over Youtube/Vimeo video player', MSWP_TEXT_DOMAIN); ?></label>
619
  </div>
620
  <div class="msp-metabox-indented">
621
+ {{switch-box value=currentControl.inset}} <label><?php _e('Insert scrollbar inside slider', MSWP_TEXT_DOMAIN); ?></label>
622
  </div>
623
 
624
  {{!--<div class="msp-metabox-indented">
625
+ <label><?php _e('Scrollbar direction :', MSWP_TEXT_DOMAIN); ?> </label>
626
  {{#dropdwon-List value=currentControl.dir width=100}}
627
+ <option value="h"><?php _e('Horizontal', MSWP_TEXT_DOMAIN); ?></option>
628
+ <option value="v"><?php _e('Vertical', MSWP_TEXT_DOMAIN); ?></option>
629
  {{/dropdwon-List}}
630
  <div class="msp-form-space-med"></div>
631
  </div>--}}
632
 
633
  <div class="msp-metabox-indented">
634
+ <label><?php _e('Scrollbar handle color :', MSWP_TEXT_DOMAIN); ?> </label> {{color-picker value=currentControl.color}}
635
  <div class="msp-form-space-med"></div>
636
+ <label><?php _e('Hide scrollbar for window width less than :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.hideUnder}} px
637
  </div>
638
  <div class="msp-metabox-indented">
639
+ <?php _e('Align control :', MSWP_TEXT_DOMAIN); ?>
640
  {{#dropdwon-List value=currentControl.align width=100}}
641
+ <option value="top"><?php _e('Top', MSWP_TEXT_DOMAIN); ?></option>
642
+ <option value="right"><?php _e('Right', MSWP_TEXT_DOMAIN); ?></option>
643
+ <option value="left"><?php _e('Left', MSWP_TEXT_DOMAIN); ?></option>
644
+ <option value="bottom"><?php _e('Bottom', MSWP_TEXT_DOMAIN); ?></option>
645
  {{/dropdwon-List}}
646
  <div class="msp-form-space-med"></div>
647
+ <label><?php _e('Scrollbar width :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.width}} px
648
  <div class="msp-form-space-med"></div>
649
+ <label><?php _e('Scrollbar margin :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.margin min=null}} px
650
  </div>
651
  </div>
652
  {{/meta-box}}
656
  {{#meta-box title="Circle Timer Control Options"}}
657
  <div class="msp-metabox-row">
658
  <div class="msp-metabox-indented">
659
+ {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide cricle timer when mouse leaves slider', MSWP_TEXT_DOMAIN); ?></label>
660
  <div class="msp-form-space-med"></div>
661
+ {{switch-box value=currentControl.overVideo}} <label><?php _e('Show circle timer over Youtube/Vimeo video player', MSWP_TEXT_DOMAIN); ?></label>
662
  </div>
663
  {{!--<div class="msp-metabox-indented">
664
+ <?php _e('Align control :', MSWP_TEXT_DOMAIN); ?>
665
  {{#dropdwon-List value=currentControl.align width=100}}
666
+ <option value="tl"><?php _e('Top Left', MSWP_TEXT_DOMAIN); ?></option>
667
+ <option value="tr"><?php _e('Top Right', MSWP_TEXT_DOMAIN); ?></option>
668
+ <option value="bl"><?php _e('Bottom Left', MSWP_TEXT_DOMAIN); ?></option>
669
+ <option value="br"><?php _e('Bottom Right', MSWP_TEXT_DOMAIN); ?></option>
670
  {{/dropdwon-List}}
671
  </div>--}}
672
  <div class="msp-metabox-indented">
673
+ <label><?php _e('Hide circle timer for window width less than :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.hideUnder}} px
674
  </div>
675
  <div class="msp-metabox-indented">
676
+ {{!--<label><?php _e('Circle timer margin :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.margin min=null}} px
677
  <div class="msp-form-space-med"></div>--}}
678
+ <label><?php _e('Circle stroke :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.stroke}} px
679
  <div class="msp-form-space-med"></div>
680
+ <label><?php _e('Circle radius :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.radius}} px
681
  <div class="msp-form-space-med"></div>
682
+ <label><?php _e('Circle color :', MSWP_TEXT_DOMAIN); ?> </label> {{color-picker value=currentControl.color}}
683
  </div>
684
  </div>
685
  {{/meta-box}}
689
  {{#meta-box title="Slide Info Control Options"}}
690
  <div class="msp-metabox-row">
691
  <div class="msp-metabox-indented">
692
+ {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide slide info when mouse leaves slider', MSWP_TEXT_DOMAIN); ?></label>
693
  <div class="msp-form-space-med"></div>
694
+ {{switch-box value=currentControl.overVideo}} <label><?php _e('Show slide info over Youtube/Vimeo video player', MSWP_TEXT_DOMAIN); ?></label>
695
  </div>
696
  <div class="msp-metabox-indented">
697
+ {{switch-box value=currentControl.inset}} <label><?php _e('Insert slide info inside slider', MSWP_TEXT_DOMAIN); ?></label>
698
  </div>
699
  <div class="msp-metabox-indented">
700
+ <?php _e('Align control :', MSWP_TEXT_DOMAIN); ?>
701
  {{#dropdwon-List value=currentControl.align width=100}}
702
+ <option value="top"><?php _e('Top', MSWP_TEXT_DOMAIN); ?></option>
703
+ <option value="right"><?php _e('Right', MSWP_TEXT_DOMAIN); ?></option>
704
+ <option value="left"><?php _e('Left', MSWP_TEXT_DOMAIN); ?></option>
705
+ <option value="bottom"><?php _e('Bottom', MSWP_TEXT_DOMAIN); ?></option>
706
  {{/dropdwon-List}}
707
  <div class="msp-form-space-med"></div>
708
+ <label><?php _e('Slide info margin :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.margin min=null}} px
709
  </div>
710
  <div class="msp-metabox-indented">
711
+ <label><?php _e('Slide info width :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.width}} px
712
  <div class="msp-form-space-med"></div>
713
+ <label><?php _e('Slide info height :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.height}} px
714
  </div>
715
  </div>
716
  <div class="msp-metabox-indented">
717
+ <label><?php _e('Hide slide info for window width less than :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.hideUnder}} px
718
  </div>
719
  </div>
720
  {{/meta-box}}
724
  {{#meta-box title="Thumblist/Tabs Control Options"}}
725
  <div class="msp-metabox-row">
726
  <div class="msp-metabox-indented">
727
+ {{switch-box value=currentControl.autoHide}} <label><?php _e('Hide thumblist/tabs when mouse leaves slider', MSWP_TEXT_DOMAIN); ?></label>
728
  <div class="msp-form-space-med"></div>
729
+ {{switch-box value=currentControl.overVideo}} <label><?php _e('Show thumblist/tabs over Youtube/Vimeo video player', MSWP_TEXT_DOMAIN); ?></label>
730
  </div>
731
  <div class="msp-metabox-indented">
732
+ {{switch-box value=currentControl.inset}} <label><?php _e('Insert thumblist/tabs inside slider', MSWP_TEXT_DOMAIN); ?></label>
733
  <div class="msp-form-space-med"></div>
734
+ {{switch-box value=currentControl.arrows}} <label><?php _e('Insert navigation arrows', MSWP_TEXT_DOMAIN); ?></label>
735
  </div>
736
  <div class="msp-metabox-indented">
737
+ {{switch-box value=currentControl.hoverChange}} <label><?php _e('Change slides on hovering over thumbs/tabs.', MSWP_TEXT_DOMAIN); ?></label>
738
  </div>
739
  <div class="msp-metabox-indented">
740
+ <?php _e('Align control :', MSWP_TEXT_DOMAIN); ?>
741
  {{#dropdwon-List value=currentControl.align width=100}}
742
+ <option value="top"><?php _e('Top', MSWP_TEXT_DOMAIN); ?></option>
743
+ <option value="right"><?php _e('Right', MSWP_TEXT_DOMAIN); ?></option>
744
+ <option value="left"><?php _e('Left', MSWP_TEXT_DOMAIN); ?></option>
745
+ <option value="bottom"><?php _e('Bottom', MSWP_TEXT_DOMAIN); ?></option>
746
  {{/dropdwon-List}}
747
  <div class="msp-form-space-med"></div>
748
+ <label><?php _e('Thumblist/Tabs margin :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.margin min=null}} px
749
  </div>
750
  <div class="msp-metabox-indented">
751
+ <?php _e('Appearance :', MSWP_TEXT_DOMAIN); ?>
752
  {{#dropdwon-List value=currentControl.type width=100}}
753
+ <option value="thumbs"><?php _e('Thumblist', MSWP_TEXT_DOMAIN); ?></option>
754
+ <option value="tabs"><?php _e('Tabs', MSWP_TEXT_DOMAIN); ?></option>
755
  {{/dropdwon-List}}
756
  <div class="msp-form-space-med"></div>
757
+ <label><?php _e('Hide thumblist/tabs for window width less than :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.hideUnder}} px
758
  </div>
759
 
760
  {{!--<div class="msp-metabox-indented">
761
+ <label><?php _e('Thumblist/Tabs direction :', MSWP_TEXT_DOMAIN); ?> </label>
762
  {{#dropdwon-List value=currentControl.dir width=100}}
763
+ <option value="h"><?php _e('Horizontal', MSWP_TEXT_DOMAIN); ?></option>
764
+ <option value="v"><?php _e('Vertical', MSWP_TEXT_DOMAIN); ?></option>
765
  {{/dropdwon-List}}
766
  </div>--}}
767
 
768
  {{#if isTab}}
769
  <div class="msp-metabox-indented">
770
+ {{switch-box value=currentControl.insertThumb}} <?php _e('Insert thumbnail inside tabs', MSWP_TEXT_DOMAIN); ?>
771
  </div>
772
  {{else}}
773
  <div class="msp-metabox-indented">
774
+ <?php _e('Thumb background fill mode :', MSWP_TEXT_DOMAIN); ?>
775
  {{view MSPanel.Fillmode value=currentControl.fillMode}}
776
  </div>
777
  {{/if}}
778
 
779
  <div class="msp-metabox-indented">
780
+ <label><?php _e('Thumb/Tab width :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.width}} px
781
  <div class="msp-form-space-med"></div>
782
+ <label><?php _e('Thumb/Tab height :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.height}} px
783
  <div class="msp-form-space-med"></div>
784
+ <label><?php _e('Space between thumbs/tabs :', MSWP_TEXT_DOMAIN); ?> </label> {{number-input value=currentControl.space}} px
785
  </div>
786
 
787
  </div>
793
  {{#meta-box title="Slider Callbacks"}}
794
  <div class="msp-metabox-row">
795
 
796
+ <h4><?php _e('Here you can add or remove callbacks to slider', MSWP_TEXT_DOMAIN); ?></h4>
797
 
798
  <div class="msp-metabox-indented">
799
+ <label><?php _e('Add new callback', MSWP_TEXT_DOMAIN); ?></label>
800
  {{#if noMore}}
801
  <button class="msp-add-btn disabled"><span class="msp-ico msp-ico-whiteadd"></span></button>
802
  {{else}}
807
  {{#each callback in availableCallbacks}}
808
  <option {{bind-attr value=callback.value}}>{{callback.label}}</option>
809
  {{else}}
810
+ <option><?php _e('-- All callbacks are added --', MSWP_TEXT_DOMAIN); ?></option>
811
  {{/each}}
812
  {{/dropdwon-List}}
813
  </div>
820
  {{#code-mirror width="100%" height="auto" mode="javascript" value=callback.content}}{{/code-mirror}}
821
  </div>
822
  <div class="msp-metabox-indented">
823
+ <button {{action "removeCallback" callback}} class="msp-blue-btn msp-remove-btn-med"><?php _e('Remove', MSWP_TEXT_DOMAIN); ?></button>
824
  </div>
825
  </div>
826
  {{/each}}
admin/views/slider-panel/js/masterslider.wp.js CHANGED
@@ -1,10 +1,10 @@
1
  /*!
2
  * Master Slider WordPress Lite Panel
3
- * Copyright © 2015 All Rights Reserved.
4
  *
5
  * @author Averta [www.averta.net]
6
- * @version 2.6.0
7
- * @date Jun 2015
8
  */
9
- window.MSPanel=Ember.Application.create({rootElement:"#msp-root"}),MSPanel.version="2.6.0",MSPanel.SliderID=parseQueryString(window.location.search).slider_id||__MSP_SLIDER_ID||"100",MSPanel.dependedControllers=[],String.prototype.jfmt=function(){return"".fmt.apply(this.replace(/%s|%d/,"%@"),arguments)},window.$=jQuery.noConflict(),jQuery.ui.dialog.prototype._focusTabbable=function(){},MSPanel.Router.map(function(){this.resource("settings"),this.resource("slides",{path:"/"}),this.resource("controls"),this.resource("callbacks"),this.resource("error"),this.resource("pro-features")}),MSPanel.Router.reopen({location:"none"}),MSPanel.ApplicationRoute=Ember.Route.extend({model:function(){var setting=MSPanel.Settings.find();0===setting.get("length")&&MSPanel.Settings.create().save()}}),MSPanel.SettingsRoute=Ember.Route.extend({model:function(){return MSPanel.Settings.find(1)},setupController:function(controller,model){controller.set("model",model),controller.setup()}}),MSPanel.SlidesRoute=Ember.Route.extend({model:function(){return MSPanel.Slide.find()},setupController:function(controller,model){controller.set("model",model),controller.set("sliderSettings",MSPanel.Settings.find(1)),controller.setup()}}),MSPanel.ControlsRoute=Ember.Route.extend({model:function(){return MSPanel.Control.find()},setupController:function(controller,model){controller.set("model",model),controller.setup(),this.activate()},activate:function(){var controller=this.get("controller");controller&&controller.set("controlOptions","empty-template")}}),MSPanel.CallbacksRoute=Ember.Route.extend({model:function(){return MSPanel.Callback.find()},setupController:function(controller,model){controller.set("model",model),controller.setup()}}),function(){var attr=Ember.attr,hasMany=Ember.hasMany,belongsTo=Ember.belongsTo,regp=/https\:|http\:/,WPPath={serialize:function(path){return void 0==path?path:regp.test(path)?path.replace(__MS.upload_dir,""):path},deserialize:function(path){return void 0==path?path:regp.test(path)?path:__MS.upload_dir+path}},defaults=window.__MSP_DEF_OPTIONS||{};MSPanel.Settings=Ember.Model.extend({id:attr("number"),snapping:attr("boolean",{defaultValue:!0}),bgImageThumb:attr(WPPath),disableControls:attr("boolean",{defaultValue:!1}),name:attr("string",{defaultValue:__MSP_LAN.sm_001}),width:attr("number",{defaultValue:defaults.width||1e3}),height:attr("number",{defaultValue:defaults.height||500}),wrapperWidth:attr("number"),minHeight:attr("number"),wrapperWidthUnit:attr("string",{defaultValue:"px"}),autoCrop:attr("boolean",{defaultValue:defaults.autoCrop||!1}),type:attr("string"),sliderId:attr("string"),autofillTarget:attr("string"),layout:attr("string",{defaultValue:defaults.layout||"boxed"}),autoHeight:attr("boolean",{defaultValue:defaults.autoHeight||!1}),trView:attr("string",{defaultValue:defaults.transition||"basic"}),speed:attr("number",{defaultValue:defaults.speed||20}),space:attr("number",{defaultValue:defaults.space||0}),start:attr("number",{defaultValue:defaults.start}),grabCursor:attr("boolean",{defaultValue:defaults.grabCursor}),swipe:attr("boolean",{defaultValue:defaults.swipe}),mouse:attr("boolean",{defaultValue:defaults.mouse}),wheel:attr("boolean",{defaultValue:defaults.wheel}),keyboard:attr("boolean",{defaultValue:defaults.keyboard}),autoplay:attr("boolean",{defaultValue:defaults.autoplay}),loop:attr("boolean",{defaultValue:defaults.loop}),shuffle:attr("boolean",{defaultValue:defaults.shuffle}),preload:attr("string",{defaultValue:defaults.preload}),overPause:attr("boolean",{defaultValue:defaults.overPause}),endPause:attr("boolean",{defaultValue:defaults.endPause}),hideLayers:attr("boolean",{defaultValue:defaults.hideLayers}),dir:attr("string",{defaultValue:defaults.dir}),parallaxMode:attr("srting",{defaultValue:defaults.parallaxMode}),useDeepLink:attr("string",{defaultValue:!1}),deepLink:attr("string"),deepLinkType:attr("string",{defaultValue:"path"}),startOnAppear:attr("boolean",{defaultValue:defaults.startOnAppear}),scrollParallax:attr("boolean"),scrollParallaxMove:attr("number",{defaultValue:30}),scrollParallaxBGMove:attr("number",{defaultValue:50}),scrollParallaxFade:attr("boolean",{defaultValue:!0}),centerControls:attr("boolean",{defaultValue:defaults.centerControls}),instantShowLayers:attr("boolean",{defaultValue:defaults.instantShowLayers}),fullscreenMargin:attr("number"),inlineStyle:attr("string"),className:attr("string",{defaultValue:defaults.className}),bgColor:attr("string"),bgImage:attr(WPPath),customStyle:attr("string"),skin:attr("string",{defaultValue:defaults.skin}),msTemplate:attr("string",{defaultValue:"custom"}),msTemplateClass:attr("string",{defaultValue:""}),usedFonts:attr("string"),fbtoken:attr("string"),apiKey:attr("string"),setId:attr("string"),setType:attr("string"),imgCount:attr("number"),thumbSize:attr("srting"),imgSize:attr("string"),postType:attr("string"),postCats:attr(Array),postTags:attr(Array),postCount:attr("number"),postImageType:attr("string"),postOrder:attr("string"),postOrderDir:attr("string"),postExcerptLen:attr("number"),postExcludeIds:attr("string"),postExcludeNoImg:attr("boolean"),postIncludeIds:attr("string"),postOffset:attr("number"),postLinkSlide:attr("boolean"),postLinkTarget:attr("string"),postSlideBg:attr("string"),postSlideBgthumb:attr("string"),wcOnlyInstock:attr("boolean"),wcOnlyFeatured:attr("boolean"),wcOnlyOnsale:attr("boolean")}),MSPanel.Slide=Ember.Model.extend({id:attr("number"),timeline_h:attr("number",{defaultValue:200}),bgThumb:attr(WPPath),thumbOrginal:attr(WPPath),order:attr("number"),ishide:attr("boolean"),bg:attr(WPPath),duration:attr("number",{defaultValue:defaults.duration||3}),fillMode:attr("string",{defaultValue:defaults.slideFillMode||"fill"}),thumb:attr(WPPath),info:attr("string"),link:attr("string"),linkTarget:attr("string"),linkTitle:attr("string"),linkRel:attr("string"),linkClass:attr("string"),linkId:attr("string"),video:attr("string"),bgColor:attr("string"),autoplayVideo:attr("boolean"),pattern:attr("string"),colorOverlay:attr("string"),bgv_mp4:attr("string"),bgv_ogg:attr("string"),bgv_webm:attr("string"),bgv_fillmode:attr("string",{defaultValue:defaults.sliderVideoFillMode||"fill"}),bgv_loop:attr("boolean",{defaultValue:defaults.slideVideoLoop}),bgv_mute:attr("boolean",{defaultValue:defaults.slideVideoMute}),bgv_autopause:attr("boolean",{defaultValue:defaults.slideVideoAutopause}),cssId:attr("string"),cssClass:attr("string"),bgAlt:attr("string"),layers:hasMany("MSPanel.Layer",{key:"layer_ids"})}),MSPanel.Layer=Ember.Model.extend({id:attr("number"),name:attr("string"),isLocked:attr("boolean",{defaultValue:!1}),isHided:attr("boolean",{defaultValue:!1}),isSoloed:attr("boolean",{defaultValue:!1}),slide:belongsTo("MSPanel.Slide",{key:"slide"}),styleModel:belongsTo("MSPanel.Style",{key:"styleModel",embedded:!1}),showEffect:belongsTo("MSPanel.Effect",{key:"showEffect",embedded:!1}),showTransform:attr("string",{defaultValue:""}),showOrigin:attr("string",{defaultValue:""}),showFade:attr("boolean",{defaultValue:!0}),hideEffect:belongsTo("MSPanel.Effect",{key:"hideEffect",embedded:!1}),hideTransform:attr("string",{defaultValue:""}),hideOrigin:attr("string",{defaultValue:""}),hideFade:attr("boolean",{defaultValue:!0}),imgThumb:attr(WPPath),stageOffsetX:attr("number",{defaultValue:0}),stageOffsetY:attr("number",{defaultValue:0}),order:attr("number"),type:attr("string"),position:attr("string",{defaultValue:"normal"}),cssClass:attr("string"),cssId:attr("string"),title:attr("string"),rel:attr("string"),noSwipe:attr("string",{defaultValue:!1}),content:attr("string",{defaultValue:defaults.layerContent||"Lorem Ipsum"}),img:attr(WPPath),imgAlt:attr("string"),video:attr("string",{defaultValue:"http://player.vimeo.com/video/11721242"}),align:attr("string",{defaultValue:"top"}),useAction:attr("boolean",{defaultValue:!1}),action:attr("string"),toSlide:attr("number"),link:attr("string"),linkTarget:attr("string"),scrollDuration:attr("number",{defaultValue:2}),scrollTarget:attr("string"),offsetX:attr("number",{defaultValue:0}),offsetY:attr("number",{defaultValue:0}),width:attr("number"),height:attr("number"),resize:attr("boolean",{defaultValue:!0}),fixed:attr("boolean",{defaultValue:!1}),widthlimit:attr("number",{defaultValue:"0"}),origin:attr("string",{defaultValue:"tl"}),stayHover:attr("boolean",{defaultValue:!0}),className:attr("string"),parallax:attr("string"),showDuration:attr("number",{defaultValue:1}),showDelay:attr("number",{defaultValue:0}),showEase:attr("string",{defaultValue:"easeOutQuint"}),showEffFunc:attr("string"),useHide:attr("boolean",{defaultValue:!1}),hideDuration:attr("number",{defaultValue:1}),hideDelay:attr("number",{defaultValue:1}),hideEase:attr("string",{defaultValue:"easeOutQuint"}),hideEffFunc:attr("string"),btnClass:attr("string",{defaultValue:"ms-btn ms-default-btn"}),autoplayVideo:attr("boolean")}),MSPanel.Style=Ember.Model.extend({id:attr("number"),name:attr("string"),type:attr("string"),className:attr("string"),backgroundColor:attr("string"),paddingTop:attr("number"),paddingRight:attr("number"),paddingBottom:attr("number"),paddingLeft:attr("number"),borderTop:attr("number"),borderRight:attr("number"),borderBottom:attr("number"),borderLeft:attr("number"),borderColor:attr("string"),borderRadius:attr("number"),borderStyle:attr("string"),fontFamily:attr("string"),fontWeight:attr("string",{defaultValue:"normal"}),fontSize:attr("number"),textAlign:attr("string"),letterSpacing:attr("number"),lineHeight:attr("string",{defaultValue:"normal"}),whiteSpace:attr("string"),color:attr("string"),custom:attr("string")}),MSPanel.PresetStyle=MSPanel.Style.extend({}),MSPanel.Effect=Ember.Model.extend({id:attr("number"),name:attr("string"),type:attr("string"),fade:attr("boolean",{defaultValue:!0}),translateX:attr("number"),translateY:attr("number"),translateZ:attr("number"),scaleX:attr("number"),scaleY:attr("number"),rotate:attr("number"),rotateX:attr("number"),rotateY:attr("number"),rotateZ:attr("number"),skewX:attr("number"),skewY:attr("number"),originX:attr("number"),originY:attr("number"),originZ:attr("number")}),MSPanel.PresetEffect=MSPanel.Effect.extend({}),MSPanel.Control=Ember.Model.extend({id:attr("number"),label:attr("string"),name:attr("string"),autoHide:attr("boolean",{defaultValue:!0}),overVideo:attr("boolean",{defaultValue:!0}),cssClass:attr("string"),cssId:attr("string"),margin:attr("number"),dir:attr("string"),color:attr("string"),radius:attr("number"),stroke:attr("number"),speed:attr("number"),space:attr("number"),type:attr("string"),insertThumb:attr("boolean"),arrows:attr("boolean"),hoverChange:attr("boolean"),width:attr("number"),height:attr("number"),align:attr("string"),inset:attr("boolean"),size:attr("number"),hideUnder:attr("number"),fillMode:attr("string")}),MSPanel.Callback=Ember.Model.extend({id:attr("number"),label:attr("string"),name:attr("string"),content:attr("string",{defaultValue:"function(event){\n var api = event.target;\n}"})}),MSPanel.ButtonStyle=Ember.Model.extend({id:attr("number"),className:attr("string"),normal:attr("string"),hover:attr("string"),active:attr("string"),style:attr("string",{defaultValue:"ms-btn-box"}),size:attr("string",{defaultValue:"ms-btn-n"})});var decodeFix=function(str){var decoded=B64.decode(str);return decoded.slice(0,decoded.lastIndexOf("}")+1)};MSPanel.data=__MSP_DATA?JSON.parse(decodeFix(__MSP_DATA)):{meta:{}},MSPanel.PSData=__MSP_PRESET_STYLE?JSON.parse(decodeFix(__MSP_PRESET_STYLE)):{meta:{}},MSPanel.PEData=__MSP_PRESET_EFFECT?JSON.parse(decodeFix(__MSP_PRESET_EFFECT)):{meta:{}},MSPanel.PBData=__MSP_PRESET_BUTTON?JSON.parse(decodeFix(__MSP_PRESET_BUTTON)):{meta:{}},MSPanel.Settings.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Slide.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Layer.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Style.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Effect.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Control.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Callback.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.PresetStyle.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.PSData}),MSPanel.PresetEffect.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.PEData}),MSPanel.ButtonStyle.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.PBData})}(),MSPanel.SlideFrame=Ember.View.extend({classNames:["msp-slideframe"],classNameBindings:["selected:active"],selected:!1,thumb_src:"",showbtnclass:"msp-ico msp-ico-whitehide",template:Ember.Handlebars.compile('<div class="msp-img-cont">{{#if view.hasImg}}<div class="msp-imgselect-preview" {{bind-attr style=view.preview}}></div>{{/if}}</div><span class="msp-frame-slideorder">#{{view.order}}</span><div class="msp-framehandle"><ul><li><a title="'+__MSP_LAN.ui_001+'" href="#" {{action "hideswitch" target=view}}><span {{bind-attr class=view.showbtnclass}}></span></a></li><li><a title="'+__MSP_LAN.ui_002+'" href="#" {{action "duplicate" target=view}}><span class="msp-ico msp-ico-whiteduplicate"></span></a></li><li><a title="'+__MSP_LAN.ui_003+'" href="#" {{action "remove" target=view}}><span class="msp-ico msp-ico-whiteremove"></span></a></li></ul></div>'),click:function(){this.get("controller").send("select",this.get("slide"))},onValueChanged:function(){var hasImg=!Ember.isEmpty(this.get("slide.bg")),hasThumb=!Ember.isEmpty(this.get("slide.thumb"));this.beginPropertyChanges(),this.set("hasImg",hasImg||hasThumb),hasImg?this.set("preview","background-image:url("+this.get("slide.bgThumb")+");"):hasThumb&&this.set("preview","background-image:url("+this.get("slide.thumb")+");"),this.endPropertyChanges()}.observes("slide.bg","slide.thumb").on("didInsertElement"),onSelect:function(){var slide=this.get("slide");this.set("selected",slide===this.get("controller.currentSlide"))}.observes("controller.currentSlide").on("init"),hideChange:function(){this.get("slide.ishide")?this.set("showbtnclass","msp-ico msp-ico-whitehide msp-ico-whiteshow"):this.set("showbtnclass","msp-ico msp-ico-whitehide")}.observes("slide.ishide").on("init"),order:function(){return this.get("slide.order")+1}.property("slide.order"),actions:{duplicate:function(){this.get("controller").duplicateSlide(this.get("slide"))},hideswitch:function(){this.set("slide.ishide",!this.get("slide.ishide"))},remove:function(){confirm(__MSP_LAN.ui_004)&&this.get("controller").removeSlide(this.get("slide"))}}}),MSPanel.SlideList=Ember.View.extend({tagName:"ul",classNames:["msp-slides"],template:Ember.Handlebars.compile('{{#each item in controller}}<li class="msp-slideframe-item" {{bind-attr data-id=item.id}}>{{view MSPanel.SlideFrame slide=item}}</li>{{/each}}<li class="msp-addslide-cont"><div class="msp-addslide" {{action "addSlides"}}><span class="msp-ico msp-ico-grayaddlarge"></span><span class="msp-addslide-label">Add Slide</span></div></li>'),didInsertElement:function(){var that=this;this.$().sortable({placeholder:"msp-frames-srtplaceholder",items:">li:not(.msp-addslide-cont)",delay:100,update:function(){that.updateSort()},create:function(){that.updateSort()}})},updateSort:function(){var indexes={};$(".msp-slideframe-item").each(function(index){indexes[$(this).data("id")]=index}),this.$().sortable("cancel"),this.get("controller").updateSlidesSort(indexes)}}),MSPanel.ImgSelect=Ember.View.extend({classNames:["msp-imgselect"],value:"",hasImg:!1,frame:null,slideBg:!1,template:Ember.Handlebars.compile('<div class="msp-img-cont">{{#if view.hasImg}}<div class="msp-imgselect-preview" {{bind-attr style=view.preview}})"></div>{{/if}}</div>{{#if view.hasImg}}<button {{action removeImg target="view"}} class="msp-img-btn"><span class="msp-ico msp-ico-grayremove"></span></button>{{else}}<button {{action addImg target="view"}} class="msp-img-btn"><span class="msp-ico msp-ico-grayadd"></span></button>{{/if}}'),willDestroyElement:function(){var frame=this.get("frame");frame&&(frame.detach(),frame.remove(),frame=null,this.set("frame",null))},onValueChanged:function(){this.beginPropertyChanges(),this.set("hasImg",!Ember.isEmpty(this.get("value"))),this.set("preview","background-image:url("+this.get("thumb")+");"),this.endPropertyChanges()}.observes("value").on("didInsertElement"),actions:{removeImg:function(){this.beginPropertyChanges(),this.set("value",void 0),this.set("thumb",void 0),this.endPropertyChanges()},addImg:function(){if("undefined"!=typeof wp){var that=this,frame=this.get("frame");if(frame)return void frame.open();var frame=wp.media.frames.frame=wp.media({title:"Select Image",multiple:!1,frame:"select",library:{type:"image"},button:{text:"Add Image"}});frame.on("select",function(){var attachment=frame.state().get("selection").first().toJSON();that.set("thumb",(attachment.sizes.thumbnail||attachment.sizes.full).url),that.set("value",attachment.url)}),frame.open(),this.set("frame",frame)}}}}),MSPanel.Select=Ember.Select.extend({tagName:"div",classNames:["msp-ddlist"],layout:Ember.Handlebars.compile("<select>{{yield}}</select>"),value:null,width:100,didInsertElement:function(){var that=this;this.$("select").on("change",function(){var option=that.$("select option:selected");that.set("value",option.attr("value"))}).width(this.get("width")),this.onValueChanged()},onValueChanged:function(){Ember.isEmpty(this.get("value"))||this.$("select").val(this.get("value"))}.observes("value")}),MSPanel.URLTarget=MSPanel.Select.extend({onInit:function(){var contents=[{lable:__MSP_LAN.ui_005,value:"_self"},{lable:__MSP_LAN.ui_006,value:"_blank"},{lable:__MSP_LAN.ui_007,value:"_parent"},{lable:__MSP_LAN.ui_008,value:"_top"}];this.set("content",contents),this.set("optionValuePath","content.value"),this.set("optionLabelPath","content.lable"),this.set("width",200)}.on("init")}),MSPanel.Fillmode=Ember.View.extend({classNames:["msp-fill-dd"],type:"slide",value:"fill",index:1,template:Ember.Handlebars.compile("<select>{{#each item in view.contents}}<option {{bind-attr value=item.value data-imagesrc=item.img}}>{{item.text}}</option>{{/each}}</select>"),didInsertElement:function(){var that=this,isFirst=!0;this.$("select").ddslick({width:154,onSelected:function(selected){!isFirst&&that.set("value",selected.selectedData.value),isFirst=!1}}),this.onValueChanged()},onValueChanged:function(){Ember.isEmpty(this.get("value"))||this.$(".dd-container").ddslick("select",{index:this.get("valuedic")[this.get("value")]})}.observes("value"),onInit:function(){var contents,valuedic;"slide"===this.get("type")?(contents=[{value:"fill",text:__MSP_LAN.ui_009,img:__MSP_PATH+"images/fill.png"},{value:"fit",text:__MSP_LAN.ui_010,img:__MSP_PATH+"images/fit.png"},{value:"center",text:__MSP_LAN.ui_011,img:__MSP_PATH+"images/center.png"},{value:"stretch",text:__MSP_LAN.ui_012,img:__MSP_PATH+"images/stretch.png"},{value:"tile",text:__MSP_LAN.ui_013,img:__MSP_PATH+"images/tile.png"}],valuedic={fill:0,fit:1,center:2,stretch:3,tile:4}):"video"===this.get("type")&&(contents=[{value:"fill",text:__MSP_LAN.ui_009,img:__MSP_PATH+"images/fill.png"},{value:"fit",text:__MSP_LAN.ui_010,img:__MSP_PATH+"images/fit.png"}],valuedic={fill:0,fit:1,none:2}),this.set("contents",contents),this.set("valuedic",valuedic)}.on("init")}),MSPanel.AddLayer=Ember.View.extend({classNames:["msp-addlayer"],template:Ember.Handlebars.compile('<button {{action newLayer view.value}} class="msp-add-btn msp-addlayer-btn"><span class="msp-ico msp-ico-whiteadd"></span></button><div class="msp-addlayer-dd"><select>{{#each item in view.layertypes}}<option {{bind-attr value=item.value data-imagesrc=item.img}}>{{item.lable}}</option>{{/each}}</select></div>'),didInsertElement:function(){var that=this;this.$().find("select").ddslick({width:154,onSelected:function(selected){that.set("value",selected.selectedData.value)}})},onInit:function(){for(var layertypes=[],clt=this.get("controller.layertypes"),i=0,l=clt.length;i!==l;i++)layertypes.push({value:clt[i].value,lable:clt[i].lable,img:__MSP_PATH+"images/layertypes/"+clt[i].value+".png"});this.set("layertypes",layertypes)}.on("init")}),MSPanel.AlignBtns=Ember.View.extend({classNames:["msp-align-btns"],target:null,template:Ember.Handlebars.compile('<button title="'+__MSP_LAN.ui_015+'" {{action "alignLayer" "top" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-altop"></span></button><button title="'+__MSP_LAN.ui_016+'" {{action "alignLayer" "mid" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-almid"></span></button><button title="'+__MSP_LAN.ui_017+'" {{action "alignLayer" "bot" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-albot"></span></button><div class="msp-btn-space"></div><button title="'+__MSP_LAN.ui_018+'" {{action "alignLayer" "left" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-alleft"></span></button><button title="'+__MSP_LAN.ui_019+'" {{action "alignLayer" "center" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-alcenter"></span></button><button title="'+__MSP_LAN.ui_020+'" {{action "alignLayer" "right" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-alright"></span></button>')}),MSPanel.PositionOrigin=Ember.View.extend({classNames:["msp-origin-control"],layer:null,selectedNode:null,template:Ember.Handlebars.compile('<table><tbody><tr><td title="Top left" class="msp-origin-btn msp-origin-tl" data-origin="tl"></td><td title="Top center" class="msp-origin-btn msp-origin-tc" data-origin="tc"></td><td title="Top right" class="msp-origin-btn msp-origin-tr" data-origin="tr"></td></tr><tr><td title="Middle left" class="msp-origin-btn msp-origin-ml" data-origin="ml"></td><td title="Middle center" class="msp-origin-btn msp-origin-mc" data-origin="mc"></td><td title="Middle right" class="msp-origin-btn msp-origin-mr" data-origin="mr"></td></tr><tr><td title="Bottom left" class="msp-origin-btn msp-origin-bl" data-origin="bl"></td><td title="Bottom center" class="msp-origin-btn msp-origin-bc" data-origin="bc"></td><td title="Bottom right" class="msp-origin-btn msp-origin-br" data-origin="br"></td></tr></tbody></table>'),didInsertElement:function(){var that=this;this.$(".msp-origin-btn").click(function(){Ember.isEmpty(that.get("layer"))||that.set("layer.origin",$(this).data("origin"))}),this.onValueChanged()},onValueChanged:function(){var selectedNode=this.get("selectedNode");if(Ember.isEmpty(selectedNode)||selectedNode.removeClass("msp-origin-btn-selected"),Ember.isEmpty(this.get("layer")))return void this.$().addClass("msp-origin-control-disabled");this.$().removeClass("msp-origin-control-disabled");var value=this.get("layer.origin"),newNode=this.$(".msp-origin-"+value).addClass("msp-origin-btn-selected");this.set("selectedNode",newNode)}.observes("layer","layer.origin")}),MSPanel.ButtonsList=Ember.View.extend({classNames:["msp-buttons-container"],layer:null,template:Ember.Handlebars.compile('{{#each button in controller.buttonClasses}}<div class="msp-button-container" {{action "selectButton" button target=view}}><div class="msp-button-cell"><span {{bind-attr class=":ms-btn button.style button.size button.className"}}>Button</span></div></div>{{/each}}'),didInsertElement:function(){this.onValueChanged()},onValueChanged:function(){var className=this.get("layer.btnClass"),lastSelected=this.get("lastSelected");Ember.isEmpty(className)||(className=className.split(" ").pop(),Ember.isEmpty(lastSelected)||this.$("."+lastSelected).parent().removeClass("active"),this.$("."+className).parent().addClass("active"),this.set("lastSelected",className))}.observes("layer","layer.btnClass"),actions:{selectButton:function(button){this.set("layer.btnClass","ms-btn "+button.get("style")+" "+button.get("size")+" "+button.get("className"))}}}),MSPanel.ActionList=Ember.View.extend({classNames:["msp-action-list"],layer:null,showSlideNum:null,showDuration:null,template:Ember.Handlebars.compile('{{#dropdwon-List value=view.layer.action width=180}}<option value="next">'+(__MSP_LAN.ui_021||"Goto next slide")+'</option><option value="previous">'+(__MSP_LAN.ui_022||"Goto previous slide")+'</option><option value="gotoSlide">'+(__MSP_LAN.ui_025||"Goto slide")+'</option><option value="pause">'+(__MSP_LAN.ui_023||"Pause timer")+'</option><option value="resume">'+(__MSP_LAN.ui_024||"Resume timer")+'</option><option value="scrollToEnd">'+(__MSP_LAN.ui_028||"Scroll to bottom of slider")+'</option><option value="scrollTo">'+(__MSP_LAN.ui_030||"Scroll to an element in page")+'</option>{{/dropdwon-List}}{{#if view.showSlideNum}}<div class="msp-form-space-med"></div>'+(__MSP_LAN.ui_026||"Slide number : ")+' {{number-input value=view.layer.toSlide}}{{/if}}{{#if view.showDuration}}<div class="msp-form-space-med"></div>'+(__MSP_LAN.ui_029||"Scroll animation duration : ")+' {{number-input value=view.layer.scrollDuration}} s{{/if}}{{#if view.showTarget}}<div class="msp-form-space-med"></div>'+(__MSP_LAN.ui_029||"Scroll animation duration : ")+' {{number-input value=view.layer.scrollDuration}} s<div class="msp-form-space-med"></div>'+(__MSP_LAN.ui_031||"Target element : ")+" {{input value=view.layer.scrollTarget}}{{/if}}"),onValueChanged:function(){var value=this.get("layer.action");this.set("showSlideNum","gotoSlide"===value),this.set("showDuration","scrollToEnd"===value),this.set("showTarget","scrollTo"===value)}.observes("layer","layer.action").on("init")}),MSPanel.SimpleCodeBlock=Ember.View.extend({classNames:["msp-shortcode-box"],template:Ember.Handlebars.compile('<input type="text" readonly {{bind-attr value=view.value}}>'),width:150,didInsertElement:function(){this.$("input").on("click",function(){$(this).select()}).width(this.get("width"))}}),MSPanel.SettingsView=Ember.View.extend({didInsertElement:function(){this.set("controller.mainView",this)}}),MSPanel.SlidesView=Ember.View.extend({didInsertElement:function(){this.set("controller.mainView",this)}}),MSPanel.StageArea=Ember.View.extend({classNames:["msp-stage-area"],template:Ember.Handlebars.compile('{{view MSPanel.Stage}}{{#if noticeMsg}}<div class="msp-stage-msg"><span class="msp-ico msp-ico-notice"></span>{{{noticeMsg}}}</div>{{/if}}')}),MSPanel.Stage=Ember.View.extend({classNames:["msp-slide-stage"],attributeBindings:["style"],template:Ember.Handlebars.compile('<div id="stage-bg" class="msp-stage-bg"></div><div id="overlaybox" {{bind-attr class=":msp-stage-pattern :ms-pattern controller.slide.pattern"}}></div>'),resize:function(){var w=this.get("controller.sliderSettings.width"),h=this.get("controller.sliderSettings.height");this.set("width",w),this.set("height",h),this.$().css({width:w,height:h})}.observes("controller.sliderSettings.width","controller.sliderSettings.height","parentView.zoom").on("didInsertElement"),didInsertElement:function(){var BG=this.$("#stage-bg"),BGImage=$("<img/>");BGImage.css("visibelity","hidden").each($.jqLoadFix);var aligner=new MSAligner(this.get("controller.slide.fillMode"),BG,BGImage);this.set("bgAligner",aligner),this.set("bgImg",BGImage),this.onBGChange()},onBGColorChange:function(){var color=this.get("controller.slide.bgColor");Ember.isEmpty(color)?this.$("#stage-bg").css("background-color",""):this.$("#stage-bg").css("background-color",color)}.observes("controller.slide.bgColor").on("didInsertElement"),onColorOverlayChange:function(){var color=this.get("controller.slide.colorOverlay");Ember.isEmpty(color)?this.$("#overlaybox").css("background-color",""):this.$("#overlaybox").css("background-color",color)}.observes("controller.slide.colorOverlay").on("didInsertElement"),onBGChange:function(){var alinger=this.get("bgAligner");alinger&&alinger.reset();var bg=this.get("controller.slide.bg"),bgImg=this.get("bgImg");if(Ember.isEmpty(bg))bgImg.detach();else{var that=this;bgImg.appendTo(this.$("#stage-bg")),bgImg.preloadImg(bg,function(event){that._onBGLoad(event)}),bgImg.attr("src",bg)}}.observes("controller.slide.bg"),_onBGLoad:function(event){var aligner=this.get("bgAligner");aligner&&(aligner.init(event.width,event.height),aligner.align(),this.get("bgImg").css("visibelity",""))},onFillModeChanged:function(){var aligner=this.get("bgAligner");aligner.changeType(this.get("controller.slide.fillMode"))}.observes("controller.slide.fillMode"),willDestroyElement:function(){$(document).off("keydown",this.moveLayer),this.set("bgAligner",null)}}),MSPanel.ControlBtn=Ember.View.extend({control:null,tagName:"div",active:!1,classNames:["msp-control-btn"],classNameBindings:["active:msp-blue-btn"],template:Ember.Handlebars.compile('<span class="msp-control-label">{{view.control.label}}</span><a href="#" {{action "removeControl" target=view bubbles=false}}><span class="msp-control-removes msp-ico msp-ico-whiteremove"></span></a>'),didInsertElement:function(){},onActiveChange:function(){this.set("active",this.get("controller.currentControl")===this.get("control")),this.get("active")&&this.get("controller").send("showControlOptions")}.observes("controller.currentControl").on("init"),click:function(){this.get("active")||this.set("controller.currentControl",this.get("control"))},actions:{removeControl:function(){confirm('Are you sure want to remove "'+this.get("control.label")+'" control?')&&this.get("controller").send("removeControl",this.get("control"))}}}),function($){function WPEditorTemplate(id){var newEditor=$(hiddenEditor);return newEditor.find("link").remove(),newEditor.html().replace(/msp-hidden/g,id)}MSPanel.MetaBoxComponent=Ember.Component.extend({tagName:"div",classNames:["msp-metabox"],layout:Ember.Handlebars.compile('<div class="msp-metabox-handle"><h3 class="msp-metabox-title">{{title}}</h3><div class="msp-metabox-toggle"></div></div>{{yield}}<div class="clear"> </div>')}),Ember.TEMPLATES["components/tabs-panel"]=Ember.Handlebars.compile("{{yield}}"),MSPanel.TabsPanelComponent=Ember.Component.extend({tagName:"div",attributeBindings:["id"],classNames:["msp-metabox msp-metabox-tabs"],didInsertElement:function(){this.$().avertaLiveTabs()}}),MSPanel.SwitchBoxComponent=Ember.Component.extend({classNames:["msp-switchbox"],offlable:"OFF",onlable:"ON",value:!1,layout:Ember.Handlebars.compile('<div class="msp-switch-cont"><span class="msp-switch-off">{{view.offlable}}</span><div class="msp-switch-handle"></div><span class="msp-switch-on">{{view.onlable}}</span></div>'),click:function(){var that=this;that.set("value",!that.get("value"))},update:function(){this.get("value")?this.$().addClass("switched"):this.$().removeClass("switched")}.observes("value").on("didInsertElement")}),MSPanel.AddDynamicTag=Ember.View.extend({classNames:["msp-add-dynamic-tags"],editorId:null,template:Ember.Handlebars.compile('<button {{action "addTag" target=view}} class="msp-add-btn"><span class="msp-ico msp-ico-whiteadd"></span></button><div class="msp-ddlist"></div>'),didInsertElement:function(){for(var select=$("<select></select>").appendTo(this.$(".msp-ddlist")).width(220),i=0,l=MSPanel.dynamicTags.length;i!==l;i++)select.append('<option value="'+MSPanel.dynamicTags[i].tag+'">'+MSPanel.dynamicTags[i].name+"</option>");this.set("select",select)},actions:{addTag:function(){var id=this.get("editorId");tinymce&&$("#wp-"+id+"-wrap").hasClass("tmce-active")?tinymce.get(id).execCommand("insertHTML",!1,this.get("select").val()):$("#"+id).insertAtCaret(this.get("select").val())}}});var hiddenEditor=jQuery("#mspHiddenEditor")[0].outerHTML,__tmc_msp_id=0;MSPanel.WPEditor=Ember.View.extend({classNames:["msp-wp-editor"],_id:null,template:null,tab:null,tabs:null,onInit:function(){var id="msp-wpeditor-"+__tmc_msp_id;this.set("_id",id),this.set("template",Ember.Handlebars.compile(WPEditorTemplate(id))),__tmc_msp_id++}.on("init"),didInsertElement:function(){var tabs=this.get("tabs");return Ember.isEmpty(tabs)?void this.createEditor():void $("#"+tabs).bind("avtTabChange",{that:this},this.refreshEditor)},refreshEditor:function(event,tab){var that=event.data.that;that.get("tab")===tab&&that.createEditor()},createEditor:function(){if(this.get("inited")!==!0){this.set("inited",!0);
10
- var id=this.get("_id"),that=this;if(window.tinymce){var settings=$.extend({},window.tinyMCEPreInit.mceInit["msp-hidden"]||{});settings.forced_root_block="",settings.force_br_newlines=!0,settings.force_p_newlines=!1,settings.wpautop=!1,"3"==tinyMCE.majorVersion?(settings.body_class=settings.elements=id,settings.setup=function(ed){ed.onInit.add(function(){that.initEditor(tinyMCE.getInstanceById(id))})},tinymce.init(settings)):"4"==tinyMCE.majorVersion&&(settings.body_class="content post-type-post post-status-auto-draft post-format-standard",settings.selector="#"+id,settings.setup=function(ed){ed.on("init",function(){that.initEditor(tinyMCE.get(id))})},tinymce.init(settings))}var qtags,qtagSettings=$.extend({},window.tinyMCEPreInit.qtInit["msp-hidden"]||{});qtagSettings.id=id,"function"==typeof QTags&&(qtags=quicktags(qtagSettings),QTags.buttonsInitDone=!1,QTags._buttonsInit(),that.set("qtags",qtags),window.tinymce?switchEditors.go(id,"html"):this.onValueChanged(),this.$("textarea#"+this.get("_id")).on("change keyup paste",function(){that.set("value",$(this).val())}))}},initEditor:function(mce){function internalUpdate(){that.set("internalChange",!0),that.set("value",mce.getContent()),that.set("internalChange",!1)}var id=this.get("_id"),that=(this.get("value"),this);this.$(".wp-editor-wrap").on("mousedown",function(){wpActiveEditor=id}),"3"==tinyMCE.majorVersion?(mce.onChange.add(internalUpdate),mce.onKeyUp.add(internalUpdate)):"4"==tinyMCE.majorVersion&&(mce.on("change",internalUpdate),mce.on("keyup",internalUpdate)),this.$().click(internalUpdate),setTimeout(function(){switchEditors.go(id,"html"),switchEditors.go(id,"tmce")},100),this.set("mce",mce),this.onValueChanged()},onValueChanged:function(){if(this.get("inited")){var value=this.get("value");if(this.$("textarea#"+this.get("_id")).val(value),this.get("internalChange"))return void this.set("internalChange",!1);if(window.tinymce){var mce=this.get("mce");Ember.isEmpty(mce)||null==value?null==value&&mce.setContent(" "):mce.setContent(value)}}}.observes("value"),willDestroyElement:function(){if(this.get("inited")){window.tinymce&&tinymce.remove(this.get("_id"));var qtags=this.get("qtags");qtags&&($(qtags.toolbar).remove(),qtags.toolbar=null,qtags=null,QTags.instances[this.get("_id")]&&delete QTags.instances[this.get("_id")],this.$("textarea#"+this.get("_id")).remove());var tabs=this.get("tabs");Ember.isEmpty(tabs)||$("#"+tabs).unbind("avtTabChange",this.refreshEditor)}}}),jQuery.ui&&jQuery.ui.spinner&&(jQuery.ui.spinner.prototype._events.mousewheel=function(event,delta){if(delta&&this.element.is(":focus")){if(!this.spinning&&!this._start(event))return!1;this._spin((delta>0?1:-1)*this.options.step,event),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(event)},100),event.preventDefault()}}),MSPanel.NumberInputView=Ember.View.extend({step:1,min:0,tagName:"input",attributeBindings:["type"],lastValue:null,type:"text",didInsertElement:function(){var that=this,input=this.$(),updateValue=function(){var value=input.spinner("value");that.set("internalChange",!0),isNaN(value)||null==value?that.set("value",void 0):that.set("value",parseFloat(value))};input.on("change",updateValue).spinner({step:this.get("step"),numberFormat:"n",min:this.get("min"),max:this.get("max"),spin:updateValue,stop:updateValue}).spinner("value",this.get("value"))},onValueChanged:function(){this.get("internalChange")&&this.set("internalChange",!1),this.$().spinner("value",this.get("value"))}.observes("value")}),Ember.Handlebars.helper("number-input",MSPanel.NumberInputView),MSPanel.ColorPickerComponent=Ember.Component.extend({tagName:"input",classNames:"msp-color-picker",value:null,didInsertElement:function(){var that=this;this.$().spectrum({color:this.get("value"),allowEmpty:!0,showInput:!0,showAlpha:!0,clickoutFiresChange:!0,preferredFormat:"hex6",change:function(color){null===color?that.set("value",null):that.set("value",color.toString())}})},willDestroyElement:function(){this.$().spectrum("destroy")},onValueChanged:function(){this.$().spectrum("set",this.get("value"))}.observes("value")}),MSPanel.DropdwonListComponent=Ember.Component.extend({tagName:"div",classNames:["msp-ddlist"],layout:Ember.Handlebars.compile("<select>{{yield}}</select>"),value:null,width:100,didInsertElement:function(){var that=this;this.$("select").on("change",function(){var option=that.$("select option:selected");that.set("value",option.attr("value"))}).width(this.get("width")),this.onValueChanged()},onValueChanged:function(){Ember.isEmpty(this.get("value"))||this.$("select").val(this.get("value"))}.observes("value")}),MSPanel.MultiDropdwonListComponent=Ember.Component.extend({tagName:"div",classNames:["msp-ddlist","msp-ddlist-multiselect"],layout:Ember.Handlebars.compile("<select {{bind-attr size=view.size}} multiple>{{yield}}</select>"),value:null,width:100,size:7,didInsertElement:function(){var that=this;this.$("select").on("change",function(){that.set("value",$(this).val())}).width(this.get("width")),this.onValueChanged()},onValueChanged:function(){Ember.isEmpty(this.get("value"))||this.$("select").val(this.get("value"))}.observes("value")}),MSPanel.GoogleFontsComponent=Ember.Component.extend({tagName:"div",classNames:["msp-ddlist","msp-gfonts-select"],defaultTemplate:Ember.Handlebars.compile('<select><option value="--" selected>Loading fonts..</option></select>'),value:null,variants:null,width:210,didInsertElement:function(){var that=this;GFonts.getList(function(){that.$("select").html('<option value="--" selected>-- select --</option>'+GFonts.generateSelectList()),that.onValueChanged(),that.$("select").trigger("change")}),this.$("select").on("change",function(){var option=that.$("select option:selected");"--"===option.val()?(that.set("value",void 0),that.set("variants",void 0)):(that.set("value",option.attr("value")),that.set("variants",option.attr("data-variants")))}).width(this.get("width")),that.onValueChanged()},onValueChanged:function(){this.$("select").val(Ember.isEmpty(this.get("value"))?"--":this.get("value"))}.observes("value")}),MSPanel.GoogleFontWeightsComponent=Ember.Component.extend({tagName:"div",classNames:["msp-ddlist","msp-gfonts-select msp-gfonts-weight"],defaultTemplate:Ember.Handlebars.compile("<select></select>"),variants:null,value:null,width:120,didInsertElement:function(){var that=this;this.$("select").on("change",function(){var option=that.$("select option:selected");return 0===option.length?void that.$("select").val("normal"):void("--"===option.val()?that.set("value",null):that.set("value",option.attr("value")))}).width(this.get("width")),that.updateVariants()},updateVariants:function(){var variants=this.get("variants");if(Ember.isEmpty(variants))this.$("select").html("<option>Select font</option>");else{var options="",value=this.get("value");variants=variants.split(",");for(var i=0,l=variants.length;i!==l;i++)-1===variants[i].indexOf("italic")&&(options+="regular"===variants[i]?'<option value="normal"'+("normal"===value?"selected":"")+">Normal</option>":'<option value="'+variants[i]+'"'+(value===variants[i]?"selected":"")+">"+variants[i]+"</option>");this.$("select").html(options).trigger("change")}}.observes("variants")}),MSPanel.CodeMirrorComponent=Ember.Component.extend({classNames:["msp-codemirror"],width:250,height:200,mode:"css",tab:null,tabs:null,layout:Ember.Handlebars.compile("<textarea>{{yield}}</textarea>"),didInsertElement:function(){this.$().width(this.get("width")).height(this.get("height"));var that=this,editor=CodeMirror.fromTextArea(this.$(">textarea")[0],{lineNumbers:!0,mode:this.get("mode")});editor.on("change",function(){that.set("internalChange",!0),that.set("value",editor.getValue())}),this.set("editor",editor);var value=this.get("value");Ember.isEmpty(value)||editor.setValue(value);var tabs=this.get("tabs");Ember.isEmpty(tabs)||$("#"+tabs).bind("avtTabChange",{that:this},this.refreshEditor)},onValueChanged:function(){return this.get("internalChange")===!0?void this.set("internalChange",!1):(this.get("editor").setValue(this.get("value")),void this.set("internalChange",!1))}.observes("value"),refreshEditor:function(event,tab){var that=event.data.that;that.get("tab")===tab&&that.get("editor").refresh()},willDestroyElement:function(){var tabs=this.get("tabs");Ember.isEmpty(tabs)||$("#"+tabs).unbind("avtTabChange",this.refreshEditor);var editor=this.get("editor");editor.toTextArea(),editor=null,this.set("editor",null)}});for(var patterns='<div class="msp-pattern-prev ms-pattern"></div>',i=1;30>=i;i++)patterns+='<div class="msp-pattern-prev ms-pattern ms-patt-'+i+'" data-pattern="ms-patt-'+i+'" style="'+(i>15?"background-color:black;":"")+'"></div>';MSPanel.PatternPickerComponent=Ember.Component.extend({tagName:"div",classNames:["msp-pattern-picker"],value:null,patternBoxIsOpen:!1,layout:Ember.Handlebars.compile('<div class="msp-pattern-control sp-replacer sp-light"><div {{bind-attr class=":ms-pattern-preview :ms-pattern view.value"}}></div><div class="sp-dd">▼</div></div><div class="msp-patterns-box">'+patterns+"</div>"),didInsertElement:function(){this.$(".msp-pattern-control").on("click",{that:this},this.togglePatternbox),$(document).on("click",{that:this},this.closePatternbox),this.$(".msp-patterns-box").css("display","none").on("click",function(e){e.stopPropagation()}).find(".ms-pattern").on("click",{that:this},this.selectPattern)},togglePatternbox:function(e){var that=e.data.that;e.stopPropagation(),that.get("patternBoxIsOpen")&&that.closePatternbox(e),that.$(".msp-patterns-box").css("display",""),that.set("patternBoxIsOpen",!0)},closePatternbox:function(e){var that=e.data.that;that.get("patternBoxIsOpen")&&(that.$(".msp-patterns-box").css("display","none"),that.set("patternBoxIsOpen",!1))},selectPattern:function(e){e.stopPropagation();var that=e.data.that;that.set("value",$(this).data("pattern"))},willDestroyElement:function(){this.$(".msp-patterns-box").off("click",this.togglePatternbox).find(".ms-pattern").off("click"),$(document).off("click",this.closePatternbox)}})}(jQuery),MSPanel.pushData=null,MSPanel.ApplicationController=Ember.Controller.extend({isFlickr:"flickr"===__MSP_TYPE,isFacebook:"facebook"===__MSP_TYPE,isPost:"post"===__MSP_TYPE,isWcproduct:"wc-product"===__MSP_TYPE,sliderId:MSPanel.SliderID,isSending:!1,statusMsg:"",hasError:!1,onInit:function(){window.$||(window.$=jQuery.noConflict()),MSPanel.Settings.find(),MSPanel.Slide.find(),MSPanel.Layer.find(),MSPanel.Style.find(),MSPanel.Effect.find(),MSPanel.PresetStyle.find(),MSPanel.PresetEffect.find(),MSPanel.Control.find(),MSPanel.Callback.find(),MSPanel.ButtonStyle.find(),this.set("disableControls",MSPanel.Settings.find(0).get("disableControls"));var that=this;MSPanel.pushData=function(){that.prepareData()},MSPanel.createButton=this.createButton,"wc-product"===__MSP_TYPE&&null==__MSP_POST&&null!=__WC_INSTALL_URL&&(this.set("hasError",!0),this.set("errorTemplate","wooc-error"),this.set("wooLink",__WC_INSTALL_URL)),this.generateButtonStyles(),this.set("shortCode",'[masterslider id="'+this.get("sliderId")+'"]'),this.set("phpFunction","<?php masterslider("+this.get("sliderId")+"); ?>"),jQuery("#panelLoading").remove(),window._msp_init_timeout&&clearTimeout(window._msp_init_timeout),$(window).scroll(function(){$(window).scrollTop()+$(window).height()>=$(document).height()-45?($("#saveBar").removeClass("msp-sticky-bar"),$("#saveBarPlaceHolder").css("display","none")):($("#saveBar").addClass("msp-sticky-bar"),$("#saveBarPlaceHolder").css("display",""))}).trigger("scroll"),$("#timeAgo").timeago(),setInterval($.proxy(this.updateSavedTime,this),3e4)}.on("init"),prepareData:function(){var fonts={},font_str="";MSPanel.Style.find().forEach(function(record){var font=record.get("fontFamily"),weight=record.get("fontWeight");Ember.isEmpty(font)||(fonts[font]||(fonts[font]=[]),"normal"===weight&&(weight="regular"),Ember.isEmpty(weight)||-1!==fonts[font].indexOf(weight)||fonts[font].push(weight))});for(var font in fonts)font_str+=font.replace(/\s/,"+")+":"+fonts[font].join(",")+"|";MSPanel.Settings.find(1).set("usedFonts",font_str.slice(0,-1)),this.saveRecords(MSPanel.Settings.find()),this.saveRecords(MSPanel.Slide.find()),this.saveRecords(MSPanel.Layer.find()),this.saveRecords(MSPanel.Style.find()),this.saveRecords(MSPanel.Effect.find()),this.saveRecords(MSPanel.PresetStyle.find()),this.saveRecords(MSPanel.PresetEffect.find()),this.saveRecords(MSPanel.Control.find()),this.saveRecords(MSPanel.Callback.find()),this.saveRecords(MSPanel.ButtonStyle.find())},generateButtonStyles:function(){var styles=MSPanel.ButtonStyle.find(),css="",$styleElement=$("#msp-buttons");styles.forEach(function(style){css+="."+style.get("className")+" {"+style.get("normal")+"}\n."+style.get("className")+":hover {"+style.get("hover")+"}\n."+style.get("className")+":active {"+style.get("active")+"}\n"}),0===$styleElement.length?$styleElement=$('<style id="msp-buttons"></style>').text(css).appendTo($("head")):$styleElement.text(css)},actions:{saveAll:function(){this.prepareData(),this.sendData()},showPreview:function(event){window.lunchMastersliderPreview&&lunchMastersliderPreview(event)}},saveRecords:function(records){records.forEach(function(record){record.save()})},sendData:function(){this.set("statusMsg",__MSP_LAN.ap_001),this.set("isSending",!0),this.set("savingStatus","msp-saving");var that=this;jQuery.post(__MS.ajax_url,{action:"msp_panel_handler",nonce:jQuery("#msp-main-wrapper").data("nonce"),msp_data:B64.encode(JSON.stringify(MSPanel.data)),preset_style:B64.encode(JSON.stringify(MSPanel.PSData)),preset_effect:B64.encode(JSON.stringify(MSPanel.PEData)),buttons:B64.encode(JSON.stringify(MSPanel.PBData)),slider_id:MSPanel.SliderID},function(res){that.set("statusMsg",res.message),that.set("isSending",!1),res.success===!0?(that.set("savingStatus","msp-save-succeed"),that.startAutoHideMsg()):that.set("savingStatus","msp-save-error")})},startAutoHideMsg:function(){var timeout=this.get("msgTimeout"),that=this;Ember.isEmpty(timeout)||clearTimeout(timeout),this.set("timeout",setTimeout(function(){that.set("savingStatus","msp-save-hide msp-save-succeed"),$("#timeAgo").attr("title",(new Date).toISOString()),that.updateSavedTime()},2e3))},updateSavedTime:function(){var timeEle=$("#timeAgo");timeEle.attr("title")&&$("#timeAgo").timeago("updateFromDOM")},createButton:function(normal,hover,active,style,size){var newPreset=MSPanel.ButtonStyle.create({normal:normal,hover:hover,active:active,size:size,style:style});newPreset.save(),newPreset.set("className","msp-preset-btn-"+newPreset.get("id")),newPreset.save()}}),MSPanel.SettingsController=Ember.ObjectController.extend({customSlider:window.__MSP_TYPE&&"custom"===window.__MSP_TYPE,sliderSkins:__MSP_SKINS,needs:["application","controls"],showAutoHeight:!1,showNearbyNum:!1,showWrapperWidth:!1,preloadMethod:null,setup:function(){var preload=this.get("preload");"all"===preload||"-1"===preload?this.set("preloadMethod",preload):this.set("preloadMethod","nearby"),this.set("draftMSTemplate",this.get("msTemplate"))},sliderLayoutChanged:function(){var layout=this.get("layout");"fullscreen"===layout||"autofill"===layout?(this.set("showAutoHeight",!1),this.set("autoHeight",!1)):this.set("showAutoHeight",!0),this.set("showWrapperWidth","boxed"===layout||"partialview"===layout),this.set("showAutoFillTarget","autofill"===layout),this.set("showMinHeight","fullscreen"!==layout&&"autofill"!==layout&&!this.get("autoHeight")),this.set("showFSMargin","fullscreen"===layout)}.observes("layout","autoHeight").on("setup"),preloadSetup:function(){var preloadMethod=this.get("preloadMethod");if("nearby"===preloadMethod){this.set("showNearbyNum",!0);var preload=this.get("preload");("all"===preload||"-1"===preload)&&this.set("preload","0")}else this.set("showNearbyNum",!1),this.set("preload",preloadMethod)}.observes("preloadMethod").on("setup")}),MSPanel.SlidesController=Ember.ArrayController.extend({customSlider:window.__MSP_TYPE&&"custom"===window.__MSP_TYPE,_order:-1,bgImgSelector:null,sortProperties:["order"],stylesController:null,effectsController:null,buttonsController:null,layersList:[],layersController:null,mainView:null,isFirst:!0,currentSlide:null,setup:function(){if(Ember.isEmpty(this.get("sliderSettings.type"))&&this.set("sliderSettings.type",__MSP_TYPE),this.set("sliderSettings.sliderId",MSPanel.SliderID),0!==this.get("length")){var slide=this.get("firstObject");this.set("currentSlide",slide),this.updateOrder()}},slide:function(){return this.get("currentSlide")}.property("currentSlide"),duplicateSlide:function(slide){var slideProp=slide.toJSON();delete slideProp.id;var newSlide=MSPanel.Slide.create(slideProp);newSlide.set("order",slide.get("order")+1),this.forEach(function(_slide){var slide_order=_slide.get("order"),nslide_order=newSlide.get("order");slide_order>=nslide_order&&_slide!==newSlide&&_slide.set("order",slide_order+1)}),newSlide.save(),this.updateOrder()},updateSlidesSort:function(indexes){this.beginPropertyChanges(),this.forEach(function(slide){slide.set("order",indexes[slide.get("id")])},this),this.endPropertyChanges(),this.set("_order",this.get("lastObject.order"))},updateOrder:function(){var i=0;this.forEach(function(slide){slide.set("order",i++)}),this.set("_order",i-1)},removeSlide:function(slide){slide.deleteRecord(),0!==this.get("length")&&(this.send("select",this.get("firstObject")),this.updateOrder())},onImageSelect:function(){var uploaderFrame=this.get("uploaderFrame"),selection=uploaderFrame.state().get("selection"),self=this;selection.map(function(attachment){attachment=attachment.toJSON(),self.generateSlide(attachment,attachment.url,(attachment.sizes.thumbnail||attachment.sizes.full).url)}),this.send("select",this.get("lastObject"))},generateSlide:function(attachment,bg,thumb){var slide=MSPanel.Slide.create({order:this.get("_order")+1,bg:bg,bgThumb:thumb,bgAlt:attachment.alt});this.set("_order",this.get("_order")+1),slide.save(),this.updateOrder()},actions:{addSlides:function(){var uploaderFrame=this.get("uploaderFrame");Ember.isEmpty(uploaderFrame)&&(uploaderFrame=wp.media.frames.frame=wp.media({title:__MSP_LAN.slc_001||"Select background image for new slide. (Multiple selection is available)",multiple:!0,frame:"select",library:{type:"image"},button:{text:__MSP_LAN.slc_002||"Create Slide(s)"}}),uploaderFrame.on("select",$.proxy(this.onImageSelect,this)),this.set("uploaderFrame",uploaderFrame)),uploaderFrame.open()},newSlide:function(){var slide=MSPanel.Slide.create({order:this.get("_order")+1});this.set("currentSlide",slide),this.set("_order",this.get("_order")+1),slide.save(),this.updateOrder()},select:function(slide){slide!==this.get("currentSlide")&&this.set("currentSlide",slide)}}}),MSPanel.ControlsController=Ember.ArrayController.extend({needs:"application",controls:[{used:!1,label:__MSP_LAN.cc_001,value:"arrows"},{used:!1,label:__MSP_LAN.cc_002,value:"timebar"},{used:!1,label:__MSP_LAN.cc_003,value:"bullets"},{used:!1,label:__MSP_LAN.cc_004,value:"circletimer"},{used:!1,label:__MSP_LAN.cc_005,value:"scrollbar"},{used:!1,label:__MSP_LAN.cc_006,value:"slideinfo"},{used:!1,label:__MSP_LAN.cc_007,value:"thumblist"}],selectedControl:null,availableControls:[],noMore:!1,currentControl:null,setup:function(){var that=this;this.forEach(function(control){that.findControlObj(control.get("name")).used=!0}),this.set("availableControls",this.findAvailableControls())},onInsertThumb:function(){var ctr=this.get("currentControl");Ember.isEmpty(ctr)||("tabs"===this.get("currentControl.type")?this.set("isTab",!0):this.set("isTab",!1))}.observes("currentControl.type").on("didInsertElement"),actions:{addControl:function(){var control,controlName=this.get("selectedControl"),controlObj=this.findControlObj(controlName);control=MSPanel.Control.create(this.getDefaultValues(controlName)),control.set("label",controlObj.label),controlObj.used=!0,this.set("availableControls",this.findAvailableControls()),control.save(),this.set("currentControl",control)},removeControl:function(control){this.findControlObj(control.get("name")).used=!1,this.set("availableControls",this.findAvailableControls()),control.deleteRecord(),this.set("currentControl",this.get("firstObject")),this.send("showControlOptions")},showControlOptions:function(){var currentControl=this.get("currentControl");Ember.isEmpty(currentControl)?this.set("controlOptions","empty-template"):this.set("controlOptions",currentControl.get("name")+"-options")}},findControlObj:function(control){for(var controls=this.get("controls"),i=0,l=controls.length;i!==l;i++)if(controls[i].value===control)return controls[i];return null},findAvailableControls:function(){for(var avc=[],controls=this.get("controls"),i=0,l=controls.length;i!==l;i++)controls[i].used||avc.push(controls[i]);return this.set("noMore",0===avc.length),this.set("selectedControl",avc[0]?avc[0].value:null),avc},getDefaultValues:function(control){var values={name:control};switch(values.inset=!("slideinfo"===control||"thumblist"===control),control){case"timebar":values.align="bottom",values.color="#FFFFFF",values.autoHide=!1,values.width=4;break;case"bullets":values.align="bottom",values.dir="h",values.margin=10,values.space=6;break;case"circletimer":values.color="#A2A2A2",values.stroke=10,values.radius=4,values.autoHide=!1;break;case"scrollbar":values.align="top",values.dir="h",values.color="#3D3D3D",values.margin=10,values.autoHide=!1,values.width=4;break;case"slideinfo":values.align="bottom",values.margin=10,values.autoHide=!1;break;case"thumblist":values.align="bottom",values.space=5,values.width=100,values.height=80,values.margin=10,values.fillMode="fill",values.autoHide=!1}return values}}),MSPanel.CallbacksController=Ember.ArrayController.extend({callbacks:[{used:!1,label:__MSP_LAN.cb_011,value:"INIT"},{used:!1,label:__MSP_LAN.cb_001,value:"CHANGE_START"},{used:!1,label:__MSP_LAN.cb_002,value:"CHANGE_END"},{used:!1,label:__MSP_LAN.cb_003,value:"WAITING"},{used:!1,label:__MSP_LAN.cb_004,value:"RESIZE"},{used:!1,label:__MSP_LAN.cb_005,value:"VIDEO_PLAY"},{used:!1,label:__MSP_LAN.cb_006,value:"VIDEO_CLOSE"},{used:!1,label:__MSP_LAN.cb_007,value:"SWIPE_START"},{used:!1,label:__MSP_LAN.cb_008,value:"SWIPE_MOVE"},{used:!1,label:__MSP_LAN.cb_009,value:"SWIPE_END"}],availableCallbacks:[],noMore:!1,selectedCallback:null,setup:function(){var that=this;this.forEach(function(callback){that.findCallbackObj(callback.get("name")).used=!0}),this.set("availableCallbacks",this.findAvailableCallbacks())},actions:{addCallback:function(){var callback,callbackName=this.get("selectedCallback"),callbackObj=this.findCallbackObj(callbackName);callback=MSPanel.Callback.create({name:callbackObj.value,label:callbackObj.label}),callbackObj.used=!0,this.set("availableCallbacks",this.findAvailableCallbacks()),callback.save()},removeCallback:function(callback){confirm(__MSP_LAN.cb_010.jfmt(callback.get("label")))&&(this.findCallbackObj(callback.get("name")).used=!1,this.set("availableCallbacks",this.findAvailableCallbacks()),callback.deleteRecord())}},findCallbackObj:function(callback){for(var callbacks=this.get("callbacks"),i=0,l=callbacks.length;i!==l;i++)if(callbacks[i].value===callback)return callbacks[i];return null},findAvailableCallbacks:function(){for(var avc=[],callbacks=this.get("callbacks"),i=0,l=callbacks.length;i!==l;i++)callbacks[i].used||avc.push(callbacks[i]);return this.set("noMore",0===avc.length),this.set("selectedCallback",avc[0]?avc[0].value:null),avc}});
1
  /*!
2
  * Master Slider WordPress Lite Panel
3
+ * Copyright © 2016 All Rights Reserved.
4
  *
5
  * @author Averta [www.averta.net]
6
+ * @version 2.50.3
7
+ * @date Aug 2016
8
  */
9
+ window.MSPanel=Ember.Application.create({rootElement:"#msp-root"}),MSPanel.version="2.50.3",MSPanel.SliderID=parseQueryString(window.location.search).slider_id||__MSP_SLIDER_ID||"100",MSPanel.SliderSlug=__MSP_SLIDER_ALIAS||"ms-"+MSPanel.SliderID,MSPanel.dependedControllers=[],String.prototype.jfmt=function(){return"".fmt.apply(this.replace(/%s|%d/,"%@"),arguments)},window.$=jQuery.noConflict(),jQuery.ui.dialog.prototype._focusTabbable=function(){},MSPanel.Router.map(function(){this.resource("settings"),this.resource("slides",{path:"/"}),this.resource("controls"),this.resource("callbacks"),this.resource("error"),this.resource("pro-features")}),MSPanel.Router.reopen({location:"none"}),MSPanel.ApplicationRoute=Ember.Route.extend({model:function(){var setting=MSPanel.Settings.find();0===setting.get("length")&&MSPanel.Settings.create().save()}}),MSPanel.SettingsRoute=Ember.Route.extend({model:function(){return MSPanel.Settings.find(1)},setupController:function(controller,model){controller.set("model",model),controller.setup()}}),MSPanel.SlidesRoute=Ember.Route.extend({model:function(){return MSPanel.Slide.find()},setupController:function(controller,model){controller.set("model",model),controller.set("sliderSettings",MSPanel.Settings.find(1)),controller.setup()}}),MSPanel.ControlsRoute=Ember.Route.extend({model:function(){return MSPanel.Control.find()},setupController:function(controller,model){controller.set("model",model),controller.setup(),this.activate()},activate:function(){var controller=this.get("controller");controller&&controller.set("controlOptions","empty-template")}}),MSPanel.CallbacksRoute=Ember.Route.extend({model:function(){return MSPanel.Callback.find()},setupController:function(controller,model){controller.set("model",model),controller.setup()}}),function(){var attr=Ember.attr,hasMany=Ember.hasMany,belongsTo=Ember.belongsTo,regp=/https\:|http\:/,WPPath={serialize:function(path){return void 0==path?path:regp.test(path)?path.replace(__MS.upload_dir,""):path.replace("/wp-content/uploads","")},deserialize:function(path){return void 0==path?path:regp.test(path)?path:__MS.upload_dir+path}},defaults=window.__MSP_DEF_OPTIONS||{};MSPanel.Settings=Ember.Model.extend({id:attr("number"),snapping:attr("boolean",{defaultValue:!0}),bgImageThumb:attr(WPPath),disableControls:attr("boolean",{defaultValue:!1}),name:attr("string",{defaultValue:__MSP_LAN.sm_001}),slug:attr("string"),width:attr("number",{defaultValue:defaults.width||1e3}),height:attr("number",{defaultValue:defaults.height||500}),wrapperWidth:attr("number"),minHeight:attr("number"),wrapperWidthUnit:attr("string",{defaultValue:"px"}),autoCrop:attr("boolean",{defaultValue:defaults.autoCrop||!1}),type:attr("string"),sliderId:attr("string"),autofillTarget:attr("string"),enableOverlayLayers:attr("boolean",{defaultValue:defaults.enableOverlayLayers||!0}),layout:attr("string",{defaultValue:defaults.layout||"boxed"}),autoHeight:attr("boolean",{defaultValue:defaults.autoHeight||!1}),trView:attr("string",{defaultValue:defaults.transition||"basic"}),speed:attr("number",{defaultValue:defaults.speed||20}),space:attr("number",{defaultValue:defaults.space||0}),start:attr("number",{defaultValue:defaults.start}),grabCursor:attr("boolean",{defaultValue:defaults.grabCursor}),swipe:attr("boolean",{defaultValue:defaults.swipe}),mouse:attr("boolean",{defaultValue:defaults.mouse}),wheel:attr("boolean",{defaultValue:defaults.wheel}),keyboard:attr("boolean",{defaultValue:defaults.keyboard}),autoplay:attr("boolean",{defaultValue:defaults.autoplay}),loop:attr("boolean",{defaultValue:defaults.loop}),shuffle:attr("boolean",{defaultValue:defaults.shuffle}),preload:attr("string",{defaultValue:defaults.preload}),overPause:attr("boolean",{defaultValue:defaults.overPause}),endPause:attr("boolean",{defaultValue:defaults.endPause}),hideLayers:attr("boolean",{defaultValue:defaults.hideLayers}),dir:attr("string",{defaultValue:defaults.dir}),parallaxMode:attr("srting",{defaultValue:defaults.parallaxMode}),useDeepLink:attr("string",{defaultValue:!1}),deepLink:attr("string"),deepLinkType:attr("string",{defaultValue:"path"}),mobileBGVideo:attr("boolean",{defaultValue:defaults.mobileBGVideo}),startOnAppear:attr("boolean",{defaultValue:defaults.startOnAppear}),scrollParallax:attr("boolean"),scrollParallaxMove:attr("number",{defaultValue:30}),scrollParallaxBGMove:attr("number",{defaultValue:50}),scrollParallaxFade:attr("boolean",{defaultValue:!0}),centerControls:attr("boolean",{defaultValue:defaults.centerControls}),instantShowLayers:attr("boolean",{defaultValue:defaults.instantShowLayers}),fullscreenMargin:attr("number"),inlineStyle:attr("string"),className:attr("string",{defaultValue:defaults.className}),bgColor:attr("string"),bgImage:attr(WPPath),customStyle:attr("string"),skin:attr("string",{defaultValue:defaults.skin}),msTemplate:attr("string",{defaultValue:"custom"}),msTemplateClass:attr("string",{defaultValue:""}),usedFonts:attr("string"),fbtoken:attr("string"),apiKey:attr("string"),setId:attr("string"),setType:attr("string"),imgCount:attr("number"),thumbSize:attr("srting"),imgSize:attr("string"),postType:attr("string"),postCats:attr(Array),postTags:attr(Array),postCount:attr("number"),postImageType:attr("string"),postOrder:attr("string"),postOrderDir:attr("string"),postExcerptLen:attr("number"),postExcludeIds:attr("string"),postExcludeNoImg:attr("boolean"),postIncludeIds:attr("string"),postOffset:attr("number"),postLinkSlide:attr("boolean"),postLinkTarget:attr("string"),postSlideBg:attr("string"),postSlideBgthumb:attr("string"),wcOnlyInstock:attr("boolean"),wcOnlyFeatured:attr("boolean"),wcOnlyOnsale:attr("boolean")}),MSPanel.Slide=Ember.Model.extend({id:attr("number"),timeline_h:attr("number",{defaultValue:200}),bgThumb:attr(WPPath),thumbOrginal:attr(WPPath),isOverlayLayers:attr("boolean",{defaultValue:!1}),order:attr("number"),ishide:attr("boolean"),bg:attr(WPPath),duration:attr("number",{defaultValue:defaults.duration||3}),msId:attr("string"),fillMode:attr("string",{defaultValue:defaults.slideFillMode||"fill"}),thumb:attr(WPPath),info:attr("string"),link:attr("string"),linkTarget:attr("string"),linkTitle:attr("string"),linkRel:attr("string"),linkClass:attr("string"),linkId:attr("string"),video:attr("string"),bgColor:attr("string"),autoplayVideo:attr("boolean"),pattern:attr("string"),colorOverlay:attr("string"),bgv_mp4:attr("string"),bgv_ogg:attr("string"),bgv_webm:attr("string"),bgv_fillmode:attr("string",{defaultValue:defaults.sliderVideoFillMode||"fill"}),bgv_loop:attr("boolean",{defaultValue:defaults.slideVideoLoop}),bgv_mute:attr("boolean",{defaultValue:defaults.slideVideoMute}),bgv_autopause:attr("boolean",{defaultValue:defaults.slideVideoAutopause}),cssId:attr("string"),cssClass:attr("string"),bgAlt:attr("string"),bgTitle:attr("string"),layers:hasMany("MSPanel.Layer",{key:"layer_ids"})}),MSPanel.Layer=Ember.Model.extend({id:attr("number"),name:attr("string"),isLocked:attr("boolean",{defaultValue:!1}),isHided:attr("boolean",{defaultValue:!1}),isSoloed:attr("boolean",{defaultValue:!1}),slide:belongsTo("MSPanel.Slide",{key:"slide"}),styleModel:belongsTo("MSPanel.Style",{key:"styleModel",embedded:!1}),showEffect:belongsTo("MSPanel.Effect",{key:"showEffect",embedded:!1}),showTransform:attr("string",{defaultValue:""}),showOrigin:attr("string",{defaultValue:""}),showFade:attr("boolean",{defaultValue:!0}),hideEffect:belongsTo("MSPanel.Effect",{key:"hideEffect",embedded:!1}),hideTransform:attr("string",{defaultValue:""}),hideOrigin:attr("string",{defaultValue:""}),hideFade:attr("boolean",{defaultValue:!0}),imgThumb:attr(WPPath),stageOffsetX:attr("number",{defaultValue:0}),stageOffsetY:attr("number",{defaultValue:0}),order:attr("number"),type:attr("string"),position:attr("string",{defaultValue:"normal"}),msId:attr("string"),cssClass:attr("string"),cssId:attr("string"),title:attr("string"),rel:attr("string"),noSwipe:attr("string",{defaultValue:!1}),content:attr("string",{defaultValue:defaults.layerContent||"Lorem Ipsum"}),img:attr(WPPath),imgAlt:attr("string"),video:attr("string",{defaultValue:"http://player.vimeo.com/video/11721242"}),align:attr("string",{defaultValue:"top"}),useAction:attr("boolean",{defaultValue:!1}),action:attr("string"),toSlide:attr("number"),link:attr("string"),linkTarget:attr("string"),scrollDuration:attr("number",{defaultValue:2}),scrollTarget:attr("string"),actionTargetLayer:attr("string"),offsetX:attr("number",{defaultValue:0}),offsetY:attr("number",{defaultValue:0}),width:attr("number"),height:attr("number"),resize:attr("boolean",{defaultValue:!0}),fixed:attr("boolean",{defaultValue:!1}),widthlimit:attr("number",{defaultValue:"0"}),origin:attr("string",{defaultValue:"tl"}),stayHover:attr("boolean",{defaultValue:!0}),className:attr("string"),parallax:attr("string"),wait:attr("boolean",{defaultValue:defaults.layerWait}),masked:attr("boolean"),maskCustomSize:attr("boolean"),maskWidth:attr("number"),maskHeight:attr("number"),overlayTargetSlides:attr("string"),overlayTargetSlidesAction:attr("string",{defaultValue:"show"}),showDuration:attr("number",{defaultValue:1}),showDelay:attr("number",{defaultValue:0}),showEase:attr("string",{defaultValue:"easeOutQuint"}),showEffFunc:attr("string"),useHide:attr("boolean",{defaultValue:!1}),hideDuration:attr("number",{defaultValue:1}),hideDelay:attr("number",{defaultValue:1}),hideEase:attr("string",{defaultValue:"easeOutQuint"}),hideEffFunc:attr("string"),btnClass:attr("string",{defaultValue:"ms-btn ms-default-btn"}),autoplayVideo:attr("boolean")}),MSPanel.Style=Ember.Model.extend({id:attr("number"),name:attr("string"),type:attr("string"),className:attr("string"),backgroundColor:attr("string"),paddingTop:attr("number"),paddingRight:attr("number"),paddingBottom:attr("number"),paddingLeft:attr("number"),borderTop:attr("number"),borderRight:attr("number"),borderBottom:attr("number"),borderLeft:attr("number"),borderColor:attr("string"),borderRadius:attr("number"),borderStyle:attr("string"),fontFamily:attr("string"),fontWeight:attr("string",{defaultValue:"normal"}),fontSize:attr("number"),textAlign:attr("string"),letterSpacing:attr("number"),lineHeight:attr("string",{defaultValue:"normal"}),whiteSpace:attr("string"),color:attr("string"),custom:attr("string")}),MSPanel.PresetStyle=MSPanel.Style.extend({}),MSPanel.Effect=Ember.Model.extend({id:attr("number"),name:attr("string"),type:attr("string"),fade:attr("boolean",{defaultValue:!0}),translateX:attr("number"),translateY:attr("number"),translateZ:attr("number"),scaleX:attr("number"),scaleY:attr("number"),rotate:attr("number"),rotateX:attr("number"),rotateY:attr("number"),rotateZ:attr("number"),skewX:attr("number"),skewY:attr("number"),originX:attr("number"),originY:attr("number"),originZ:attr("number")}),MSPanel.PresetEffect=MSPanel.Effect.extend({}),MSPanel.Control=Ember.Model.extend({id:attr("number"),label:attr("string"),name:attr("string"),autoHide:attr("boolean",{defaultValue:!0}),overVideo:attr("boolean",{defaultValue:!0}),cssClass:attr("string"),cssId:attr("string"),margin:attr("number"),dir:attr("string"),color:attr("string"),radius:attr("number"),stroke:attr("number"),speed:attr("number"),space:attr("number"),type:attr("string"),insertThumb:attr("boolean"),arrows:attr("boolean"),hoverChange:attr("boolean"),width:attr("number"),height:attr("number"),align:attr("string"),inset:attr("boolean"),size:attr("number"),hideUnder:attr("number"),fillMode:attr("string")}),MSPanel.Callback=Ember.Model.extend({id:attr("number"),label:attr("string"),name:attr("string"),content:attr("string",{defaultValue:"function(event){\n var api = event.target;\n}"})}),MSPanel.ButtonStyle=Ember.Model.extend({id:attr("number"),className:attr("string"),normal:attr("string"),hover:attr("string"),active:attr("string"),style:attr("string",{defaultValue:"ms-btn-box"}),size:attr("string",{defaultValue:"ms-btn-n"})});var decodeFix=function(str){var decoded=B64.decode(str);return decoded.slice(0,decoded.lastIndexOf("}")+1)};MSPanel.data=__MSP_DATA?JSON.parse(decodeFix(__MSP_DATA)):{meta:{}},MSPanel.PSData=__MSP_PRESET_STYLE?JSON.parse(decodeFix(__MSP_PRESET_STYLE)):{meta:{}},MSPanel.PEData=__MSP_PRESET_EFFECT?JSON.parse(decodeFix(__MSP_PRESET_EFFECT)):{meta:{}},MSPanel.PBData=__MSP_PRESET_BUTTON?JSON.parse(decodeFix(__MSP_PRESET_BUTTON)):{meta:{}},MSPanel.Settings.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Slide.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Layer.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Style.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Effect.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Control.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.Callback.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.data}),MSPanel.PresetStyle.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.PSData}),MSPanel.PresetEffect.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.PEData}),MSPanel.ButtonStyle.adapter=Ember.OfflineAdapter.create({applicationData:MSPanel.PBData})}(),MSPanel.SlideFrame=Ember.View.extend({classNames:["msp-slideframe"],classNameBindings:["selected:active"],selected:!1,thumb_src:"",showbtnclass:"msp-ico msp-ico-whitehide",template:Ember.Handlebars.compile('<div class="msp-img-cont">{{#if view.hasImg}}<div class="msp-imgselect-preview" {{bind-attr style=view.preview}}></div>{{/if}}</div><span class="msp-frame-slideorder">#{{view.order}}</span><div class="msp-framehandle"><ul><li><a title="'+__MSP_LAN.ui_001+'" href="#" {{action "hideswitch" target=view}}><span {{bind-attr class=view.showbtnclass}}></span></a></li><li><a title="'+__MSP_LAN.ui_002+'" href="#" {{action "duplicate" target=view}}><span class="msp-ico msp-ico-whiteduplicate"></span></a></li><li><a title="'+__MSP_LAN.ui_003+'" href="#" {{action "remove" target=view}}><span class="msp-ico msp-ico-whiteremove"></span></a></li></ul></div>'),click:function(){this.get("controller").send("select",this.get("slide"))},onValueChanged:function(){var hasImg=!Ember.isEmpty(this.get("slide.bg")),hasThumb=!Ember.isEmpty(this.get("slide.thumb"));this.beginPropertyChanges(),this.set("hasImg",hasImg||hasThumb),hasImg?this.set("preview","background-image:url("+this.get("slide.bgThumb")+");"):hasThumb&&this.set("preview","background-image:url("+this.get("slide.thumb")+");"),this.endPropertyChanges()}.observes("slide.bg","slide.thumb").on("didInsertElement"),onSelect:function(){var slide=this.get("slide");this.set("selected",slide===this.get("controller.currentSlide"))}.observes("controller.currentSlide").on("init"),hideChange:function(){this.get("slide.ishide")?this.set("showbtnclass","msp-ico msp-ico-whitehide msp-ico-whiteshow"):this.set("showbtnclass","msp-ico msp-ico-whitehide")}.observes("slide.ishide").on("init"),order:function(){return this.get("slide.order")+1}.property("slide.order"),actions:{duplicate:function(){this.get("controller").duplicateSlide(this.get("slide"))},hideswitch:function(){this.set("slide.ishide",!this.get("slide.ishide"))},remove:function(){confirm(__MSP_LAN.ui_004)&&this.get("controller").removeSlide(this.get("slide"))}}}),MSPanel.SlideList=Ember.View.extend({tagName:"div",classNames:["msp-slides-container"],template:Ember.Handlebars.compile('<ul class="msp-slides sortable">{{#each item in controller}}{{#if item.isOverlayLayers}}{{else}}<li class="msp-slideframe-item" {{bind-attr data-id=item.id}}>{{view MSPanel.SlideFrame slide=item}}</li>{{/if}}{{/each}}<li class="msp-addslide-cont"><div class="msp-addslide" {{action "addSlides"}}><span class="msp-ico msp-ico-grayaddlarge"></span><span class="msp-addslide-label">Add Slide</span></div></li> </ul>'),didInsertElement:function(){var that=this;this.$().find(".sortable").sortable({placeholder:"msp-frames-srtplaceholder",items:">li:not(.msp-addslide-cont)",delay:100,update:function(){that.updateSort()},create:function(){that.updateSort()}})},updateSort:function(){var indexes={};$(".msp-slideframe-item").each(function(index){indexes[$(this).data("id")]=index}),this.$().find(".sortable").sortable("cancel"),this.get("controller").updateSlidesSort(indexes)},onSelect:function(){}.observes("controller.currentSlide").on("init"),actions:{switchToOverlays:function(){this.get("controller.currentSlide.isOverlayLayers")||this.set("controller.currentSlide",this.get("controller.overlayLayersSlide"))}}}),MSPanel.ImgSelect=Ember.View.extend({classNames:["msp-imgselect"],value:"",hasImg:!1,frame:null,slideBg:!1,template:Ember.Handlebars.compile('<div class="msp-img-cont">{{#if view.hasImg}}<div class="msp-imgselect-preview" {{bind-attr style=view.preview}})"></div>{{/if}}</div>{{#if view.hasImg}}<button {{action removeImg target="view"}} class="msp-img-btn"><span class="msp-ico msp-ico-grayremove"></span></button>{{else}}<button {{action addImg target="view"}} class="msp-img-btn"><span class="msp-ico msp-ico-grayadd"></span></button>{{/if}}'),willDestroyElement:function(){var frame=this.get("frame");frame&&(frame.detach(),frame.remove(),frame=null,this.set("frame",null))},onValueChanged:function(){this.beginPropertyChanges(),this.set("hasImg",!Ember.isEmpty(this.get("value"))),this.set("preview","background-image:url("+this.get("thumb")+");"),this.endPropertyChanges()}.observes("value").on("didInsertElement"),actions:{removeImg:function(){this.beginPropertyChanges(),this.set("value",void 0),this.set("thumb",void 0),this.endPropertyChanges()},addImg:function(){if("undefined"!=typeof wp){var that=this,frame=this.get("frame");if(frame)return void frame.open();var frame=wp.media.frames.frame=wp.media({title:"Select Image",multiple:!1,frame:"select",library:{type:"image"},button:{text:"Add Image"}});frame.on("select",function(){var attachment=frame.state().get("selection").first().toJSON();that.set("thumb",(attachment.sizes.thumbnail||attachment.sizes.full).url),that.set("value",attachment.url)}),frame.open(),this.set("frame",frame)}}}}),MSPanel.Select=Ember.Select.extend({tagName:"div",classNames:["msp-ddlist"],layout:Ember.Handlebars.compile("<select>{{yield}}</select>"),value:null,width:100,didInsertElement:function(){var that=this;this.$("select").on("change",function(){var option=that.$("select option:selected");that.set("value",option.attr("value"))}).width(this.get("width")),this.onValueChanged()},onValueChanged:function(){Ember.isEmpty(this.get("value"))||this.$("select").val(this.get("value"))}.observes("value")}),MSPanel.URLTarget=MSPanel.Select.extend({onInit:function(){var contents=[{lable:__MSP_LAN.ui_005,value:"_self"},{lable:__MSP_LAN.ui_006,value:"_blank"},{lable:__MSP_LAN.ui_007,value:"_parent"},{lable:__MSP_LAN.ui_008,value:"_top"}];this.set("content",contents),this.set("optionValuePath","content.value"),this.set("optionLabelPath","content.lable"),this.set("width",200)}.on("init")}),MSPanel.Fillmode=Ember.View.extend({classNames:["msp-fill-dd"],type:"slide",value:"fill",index:1,template:Ember.Handlebars.compile("<select>{{#each item in view.contents}}<option {{bind-attr value=item.value data-imagesrc=item.img}}>{{item.text}}</option>{{/each}}</select>"),didInsertElement:function(){var that=this,isFirst=!0;this.$("select").ddslick({width:154,onSelected:function(selected){!isFirst&&that.set("value",selected.selectedData.value),isFirst=!1}}),this.onValueChanged()},onValueChanged:function(){Ember.isEmpty(this.get("value"))||this.$(".dd-container").ddslick("select",{index:this.get("valuedic")[this.get("value")]})}.observes("value"),onInit:function(){var contents,valuedic;"slide"===this.get("type")?(contents=[{value:"fill",text:__MSP_LAN.ui_009,img:__MSP_PATH+"images/fill.png"},{value:"fit",text:__MSP_LAN.ui_010,img:__MSP_PATH+"images/fit.png"},{value:"center",text:__MSP_LAN.ui_011,img:__MSP_PATH+"images/center.png"},{value:"stretch",text:__MSP_LAN.ui_012,img:__MSP_PATH+"images/stretch.png"},{value:"tile",text:__MSP_LAN.ui_013,img:__MSP_PATH+"images/tile.png"}],valuedic={fill:0,fit:1,center:2,stretch:3,tile:4}):"video"===this.get("type")&&(contents=[{value:"fill",text:__MSP_LAN.ui_009,img:__MSP_PATH+"images/fill.png"},{value:"fit",text:__MSP_LAN.ui_010,img:__MSP_PATH+"images/fit.png"}],valuedic={fill:0,fit:1,none:2}),this.set("contents",contents),this.set("valuedic",valuedic)}.on("init")}),MSPanel.AddLayer=Ember.View.extend({classNames:["msp-addlayer"],template:Ember.Handlebars.compile('<button {{action newLayer view.value}} class="msp-add-btn msp-addlayer-btn"><span class="msp-ico msp-ico-whiteadd"></span></button><div class="msp-addlayer-dd"><select>{{#each item in view.layertypes}}<option {{bind-attr value=item.value data-imagesrc=item.img}}>{{item.lable}}</option>{{/each}}</select></div>'),didInsertElement:function(){var that=this;this.$().find("select").ddslick({width:154,onSelected:function(selected){that.set("value",selected.selectedData.value)}})},onInit:function(){for(var layertypes=[],clt=this.get("controller.layertypes"),i=0,l=clt.length;i!==l;i++)layertypes.push({value:clt[i].value,lable:clt[i].lable,img:__MSP_PATH+"images/layertypes/"+clt[i].value+".png"});this.set("layertypes",layertypes)}.on("init")}),MSPanel.AlignBtns=Ember.View.extend({classNames:["msp-align-btns"],target:null,template:Ember.Handlebars.compile('<button title="'+__MSP_LAN.ui_015+'" {{action "alignLayer" "top" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-altop"></span></button><button title="'+__MSP_LAN.ui_016+'" {{action "alignLayer" "mid" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-almid"></span></button><button title="'+__MSP_LAN.ui_017+'" {{action "alignLayer" "bot" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-albot"></span></button><div class="msp-btn-space"></div><button title="'+__MSP_LAN.ui_018+'" {{action "alignLayer" "left" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-alleft"></span></button><button title="'+__MSP_LAN.ui_019+'" {{action "alignLayer" "center" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-alcenter"></span></button><button title="'+__MSP_LAN.ui_020+'" {{action "alignLayer" "right" target=view.target}} class="msp-align-btn"><span class="msp-ico msp-ico-alright"></span></button>')}),MSPanel.PositionOrigin=Ember.View.extend({classNames:["msp-origin-control"],layer:null,selectedNode:null,template:Ember.Handlebars.compile('<table><tbody><tr><td title="Top left" class="msp-origin-btn msp-origin-tl" data-origin="tl"></td><td title="Top center" class="msp-origin-btn msp-origin-tc" data-origin="tc"></td><td title="Top right" class="msp-origin-btn msp-origin-tr" data-origin="tr"></td></tr><tr><td title="Middle left" class="msp-origin-btn msp-origin-ml" data-origin="ml"></td><td title="Middle center" class="msp-origin-btn msp-origin-mc" data-origin="mc"></td><td title="Middle right" class="msp-origin-btn msp-origin-mr" data-origin="mr"></td></tr><tr><td title="Bottom left" class="msp-origin-btn msp-origin-bl" data-origin="bl"></td><td title="Bottom center" class="msp-origin-btn msp-origin-bc" data-origin="bc"></td><td title="Bottom right" class="msp-origin-btn msp-origin-br" data-origin="br"></td></tr></tbody></table>'),didInsertElement:function(){var that=this;this.$(".msp-origin-btn").click(function(){Ember.isEmpty(that.get("layer"))||that.set("layer.origin",$(this).data("origin"))}),this.onValueChanged()},onValueChanged:function(){var selectedNode=this.get("selectedNode");if(Ember.isEmpty(selectedNode)||selectedNode.removeClass("msp-origin-btn-selected"),Ember.isEmpty(this.get("layer")))return void this.$().addClass("msp-origin-control-disabled");this.$().removeClass("msp-origin-control-disabled");var value=this.get("layer.origin"),newNode=this.$(".msp-origin-"+value).addClass("msp-origin-btn-selected");this.set("selectedNode",newNode)}.observes("layer","layer.origin")}),MSPanel.ButtonsList=Ember.View.extend({classNames:["msp-buttons-container"],layer:null,template:Ember.Handlebars.compile('{{#each button in controller.buttonClasses}}<div class="msp-button-container" {{action "selectButton" button target=view}}><div class="msp-button-cell"><span {{bind-attr class=":ms-btn button.style button.size button.className"}}>Button</span></div></div>{{/each}}'),didInsertElement:function(){this.onValueChanged()},onValueChanged:function(){var className=this.get("layer.btnClass"),lastSelected=this.get("lastSelected");Ember.isEmpty(className)||(className=className.split(" ").pop(),Ember.isEmpty(lastSelected)||this.$("."+lastSelected).parent().removeClass("active"),this.$("."+className).parent().addClass("active"),this.set("lastSelected",className))}.observes("layer","layer.btnClass"),actions:{selectButton:function(button){this.set("layer.btnClass","ms-btn "+button.get("style")+" "+button.get("size")+" "+button.get("className"))}}}),MSPanel.ActionList=Ember.View.extend({classNames:["msp-action-list"],layer:null,showSlideNum:null,showDuration:null,template:Ember.Handlebars.compile('{{#dropdwon-List value=view.layer.action width=180}}<option value="next">'+(__MSP_LAN.ui_021||"Goto next slide")+'</option><option value="previous">'+(__MSP_LAN.ui_022||"Goto previous slide")+'</option><option value="gotoSlide">'+(__MSP_LAN.ui_025||"Goto slide")+'</option><option value="pause">'+(__MSP_LAN.ui_023||"Pause timer")+'</option><option value="resume">'+(__MSP_LAN.ui_024||"Resume timer")+'</option><option value="scrollToEnd">'+(__MSP_LAN.ui_028||"Scroll to bottom of slider")+'</option><option value="scrollTo">'+(__MSP_LAN.ui_030||"Scroll to an element in page")+'</option>{{/dropdwon-List}}{{#if view.showSlideNum}}<div class="msp-form-space-med"></div>'+(__MSP_LAN.ui_026||"Slide number : ")+' {{number-input value=view.layer.toSlide}}{{/if}}{{#if view.showDuration}}<div class="msp-form-space-med"></div>'+(__MSP_LAN.ui_029||"Scroll animation duration : ")+' {{number-input value=view.layer.scrollDuration}} s{{/if}}{{#if view.showTarget}}<div class="msp-form-space-med"></div>'+(__MSP_LAN.ui_029||"Scroll animation duration : ")+' {{number-input value=view.layer.scrollDuration}} s<div class="msp-form-space-med"></div>'+(__MSP_LAN.ui_031||"Target element : ")+" {{input value=view.layer.scrollTarget}}{{/if}}"),onValueChanged:function(){var value=this.get("layer.action");this.set("showSlideNum","gotoSlide"===value),this.set("showDuration","scrollToEnd"===value),this.set("showTarget","scrollTo"===value)}.observes("layer","layer.action").on("init")}),MSPanel.SimpleCodeBlock=Ember.View.extend({classNames:["msp-shortcode-box"],template:Ember.Handlebars.compile('<input type="text" readonly {{bind-attr value=view.value}}>'),width:150,didInsertElement:function(){this.$("input").on("click",function(){$(this).select()}).width(this.get("width"))}}),MSPanel.SettingsView=Ember.View.extend({didInsertElement:function(){this.set("controller.mainView",this)}}),MSPanel.SlidesView=Ember.View.extend({didInsertElement:function(){this.set("controller.mainView",this)}}),MSPanel.StageArea=Ember.View.extend({classNames:["msp-stage-area"],template:Ember.Handlebars.compile('{{view MSPanel.Stage}}{{#if noticeMsg}}<div class="msp-stage-msg"><span class="msp-ico msp-ico-notice"></span>{{{noticeMsg}}}</div>{{/if}}')}),MSPanel.Stage=Ember.View.extend({classNames:["msp-slide-stage"],attributeBindings:["style"],template:Ember.Handlebars.compile('<div id="stage-bg" class="msp-stage-bg"></div><div id="overlaybox" {{bind-attr class=":msp-stage-pattern :ms-pattern controller.slide.pattern"}}></div>'),resize:function(){var w=this.get("controller.sliderSettings.width"),h=this.get("controller.sliderSettings.height");this.set("width",w),this.set("height",h),this.$().css({width:w,height:h})}.observes("controller.sliderSettings.width","controller.sliderSettings.height","parentView.zoom").on("didInsertElement"),didInsertElement:function(){var BG=this.$("#stage-bg"),BGImage=$("<img/>");BGImage.css("visibelity","hidden").each($.jqLoadFix);var aligner=new MSAligner(this.get("controller.slide.fillMode"),BG,BGImage);this.set("bgAligner",aligner),this.set("bgImg",BGImage),this.onBGChange()},onBGColorChange:function(){var color=this.get("controller.slide.bgColor");Ember.isEmpty(color)?this.$("#stage-bg").css("background-color",""):this.$("#stage-bg").css("background-color",color)}.observes("controller.slide.bgColor").on("didInsertElement"),onColorOverlayChange:function(){var color=this.get("controller.slide.colorOverlay");Ember.isEmpty(color)?this.$("#overlaybox").css("background-color",""):this.$("#overlaybox").css("background-color",color)}.observes("controller.slide.colorOverlay").on("didInsertElement"),onBGChange:function(){var alinger=this.get("bgAligner");alinger&&alinger.reset();var bg=this.get("controller.slide.bg"),bgImg=this.get("bgImg");if(Ember.isEmpty(bg))bgImg.detach();else{var that=this;bgImg.appendTo(this.$("#stage-bg")),bgImg.preloadImg(bg,function(event){that._onBGLoad(event)}),bgImg.attr("src",bg)}}.observes("controller.slide.bg"),_onBGLoad:function(event){var aligner=this.get("bgAligner");aligner&&(aligner.init(event.width,event.height),aligner.align(),this.get("bgImg").css("visibelity",""))},onFillModeChanged:function(){var aligner=this.get("bgAligner");aligner.changeType(this.get("controller.slide.fillMode"))}.observes("controller.slide.fillMode"),willDestroyElement:function(){$(document).off("keydown",this.moveLayer),this.set("bgAligner",null)}}),MSPanel.ControlBtn=Ember.View.extend({control:null,tagName:"div",active:!1,classNames:["msp-control-btn"],classNameBindings:["active:msp-blue-btn"],template:Ember.Handlebars.compile('<span class="msp-control-label">{{view.control.label}}</span><a href="#" {{action "removeControl" target=view bubbles=false}}><span class="msp-control-removes msp-ico msp-ico-whiteremove"></span></a>'),didInsertElement:function(){},onActiveChange:function(){this.set("active",this.get("controller.currentControl")===this.get("control")),this.get("active")&&this.get("controller").send("showControlOptions")}.observes("controller.currentControl").on("init"),click:function(){this.get("active")||this.set("controller.currentControl",this.get("control"))},actions:{removeControl:function(){confirm('Are you sure want to remove "'+this.get("control.label")+'" control?')&&this.get("controller").send("removeControl",this.get("control"))}}}),function($){function WPEditorTemplate(id){var newEditor=$(hiddenEditor);return newEditor.find("link").remove(),newEditor.html().replace(/msp-hidden/g,id)}MSPanel.MetaBoxComponent=Ember.Component.extend({tagName:"div",classNames:["msp-metabox"],layout:Ember.Handlebars.compile('<div class="msp-metabox-handle"><h3 class="msp-metabox-title">{{title}}</h3><div class="msp-metabox-toggle"></div></div>{{yield}}<div class="clear"> </div>')}),Ember.TEMPLATES["components/tabs-panel"]=Ember.Handlebars.compile("{{yield}}"),MSPanel.TabsPanelComponent=Ember.Component.extend({tagName:"div",attributeBindings:["id"],classNames:["msp-metabox msp-metabox-tabs"],didInsertElement:function(){this.$().avertaLiveTabs()}}),MSPanel.SwitchBoxComponent=Ember.Component.extend({classNames:["msp-switchbox"],offlable:"OFF",onlable:"ON",value:!1,layout:Ember.Handlebars.compile('<div class="msp-switch-cont"><span class="msp-switch-off">{{view.offlable}}</span><div class="msp-switch-handle"></div><span class="msp-switch-on">{{view.onlable}}</span></div>'),click:function(){var that=this;that.set("value",!that.get("value"))},update:function(){this.get("value")?this.$().addClass("switched"):this.$().removeClass("switched")}.observes("value").on("didInsertElement")}),MSPanel.AddDynamicTag=Ember.View.extend({classNames:["msp-add-dynamic-tags"],editorId:null,template:Ember.Handlebars.compile('<button {{action "addTag" target=view}} class="msp-add-btn"><span class="msp-ico msp-ico-whiteadd"></span></button><div class="msp-ddlist"></div>'),didInsertElement:function(){for(var select=$("<select></select>").appendTo(this.$(".msp-ddlist")).width(220),i=0,l=MSPanel.dynamicTags.length;i!==l;i++)select.append('<option value="'+MSPanel.dynamicTags[i].tag+'">'+MSPanel.dynamicTags[i].name+"</option>");
10
+ this.set("select",select)},actions:{addTag:function(){var id=this.get("editorId");tinymce&&$("#wp-"+id+"-wrap").hasClass("tmce-active")?tinymce.get(id).execCommand("insertHTML",!1,this.get("select").val()):$("#"+id).insertAtCaret(this.get("select").val())}}});var hiddenEditor=jQuery("#mspHiddenEditor")[0].outerHTML,__tmc_msp_id=0;MSPanel.WPEditor=Ember.View.extend({classNames:["msp-wp-editor"],_id:null,template:null,tab:null,tabs:null,onInit:function(){var id="msp-wpeditor-"+__tmc_msp_id;this.set("_id",id),this.set("template",Ember.Handlebars.compile(WPEditorTemplate(id))),__tmc_msp_id++}.on("init"),didInsertElement:function(){var tabs=this.get("tabs");return Ember.isEmpty(tabs)?void this.createEditor():void $("#"+tabs).bind("avtTabChange",{that:this},this.refreshEditor)},refreshEditor:function(event,tab){var that=event.data.that;that.get("tab")===tab&&that.createEditor()},createEditor:function(){if(this.get("inited")!==!0){this.set("inited",!0);var id=this.get("_id"),that=this;if(window.tinymce){var settings=$.extend({},window.tinyMCEPreInit.mceInit["msp-hidden"]||{});settings.forced_root_block="",settings.force_br_newlines=!0,settings.force_p_newlines=!1,settings.wpautop=!1,"3"==tinyMCE.majorVersion?(settings.body_class=settings.elements=id,settings.setup=function(ed){ed.onInit.add(function(){that.initEditor(tinyMCE.getInstanceById(id))})},tinymce.init(settings)):"4"==tinyMCE.majorVersion&&(settings.body_class="content post-type-post post-status-auto-draft post-format-standard",settings.selector="#"+id,settings.setup=function(ed){ed.on("init",function(){that.initEditor(tinyMCE.get(id))})},tinymce.init(settings))}var qtags,qtagSettings=$.extend({},window.tinyMCEPreInit.qtInit["msp-hidden"]||{});qtagSettings.id=id,"function"==typeof QTags&&(qtags=quicktags(qtagSettings),QTags.buttonsInitDone=!1,QTags._buttonsInit(),that.set("qtags",qtags),window.tinymce?switchEditors.go(id,"html"):this.onValueChanged(),this.$("textarea#"+this.get("_id")).on("change keyup paste",function(){that.set("value",$(this).val())}))}},initEditor:function(mce){function internalUpdate(){that.set("internalChange",!0),that.set("value",mce.getContent()),that.set("internalChange",!1)}var id=this.get("_id"),that=(this.get("value"),this);this.$(".wp-editor-wrap").on("mousedown",function(){wpActiveEditor=id}),"3"==tinyMCE.majorVersion?(mce.onChange.add(internalUpdate),mce.onKeyUp.add(internalUpdate)):"4"==tinyMCE.majorVersion&&(mce.on("change",internalUpdate),mce.on("keyup",internalUpdate)),this.$().click(internalUpdate),setTimeout(function(){switchEditors.go(id,"html"),switchEditors.go(id,"tmce")},100),this.set("mce",mce),this.onValueChanged()},onValueChanged:function(){if(this.get("inited")){var value=this.get("value");if(this.$("textarea#"+this.get("_id")).val(value),this.get("internalChange"))return void this.set("internalChange",!1);if(window.tinymce){var mce=this.get("mce");Ember.isEmpty(mce)||null==value?null==value&&mce.setContent(" "):mce.setContent(value)}}}.observes("value"),willDestroyElement:function(){if(this.get("inited")){window.tinymce&&tinymce.remove(this.get("_id"));var qtags=this.get("qtags");qtags&&($(qtags.toolbar).remove(),qtags.toolbar=null,qtags=null,QTags.instances[this.get("_id")]&&delete QTags.instances[this.get("_id")],this.$("textarea#"+this.get("_id")).remove());var tabs=this.get("tabs");Ember.isEmpty(tabs)||$("#"+tabs).unbind("avtTabChange",this.refreshEditor)}}}),jQuery.ui&&jQuery.ui.spinner&&(jQuery.ui.spinner.prototype._events.mousewheel=function(event,delta){if(delta&&this.element.is(":focus")){if(!this.spinning&&!this._start(event))return!1;this._spin((delta>0?1:-1)*this.options.step,event),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(event)},100),event.preventDefault()}}),MSPanel.NumberInputView=Ember.View.extend({step:1,min:0,tagName:"input",attributeBindings:["type"],lastValue:null,type:"text",didInsertElement:function(){var that=this,input=this.$(),updateValue=function(){var value=input.spinner("value");that.set("internalChange",!0),isNaN(value)||null==value?that.set("value",void 0):that.set("value",parseFloat(value))};input.on("change",updateValue).spinner({step:this.get("step"),numberFormat:"n",min:this.get("min"),max:this.get("max"),spin:updateValue,stop:updateValue}).spinner("value",this.get("value"))},onValueChanged:function(){this.get("internalChange")&&this.set("internalChange",!1),this.$().spinner("value",this.get("value"))}.observes("value")}),Ember.Handlebars.helper("number-input",MSPanel.NumberInputView),MSPanel.ColorPickerComponent=Ember.Component.extend({tagName:"input",classNames:"msp-color-picker",value:null,didInsertElement:function(){var that=this;this.$().spectrum({color:this.get("value"),allowEmpty:!0,showInput:!0,showAlpha:!0,clickoutFiresChange:!0,preferredFormat:"hex6",change:function(color){null===color?that.set("value",null):that.set("value",color.toString())}})},willDestroyElement:function(){this.$().spectrum("destroy")},onValueChanged:function(){this.$().spectrum("set",this.get("value"))}.observes("value")}),MSPanel.DropdwonListComponent=Ember.Component.extend({tagName:"div",classNames:["msp-ddlist"],layout:Ember.Handlebars.compile("<select>{{yield}}</select>"),value:null,width:100,didInsertElement:function(){var that=this;this.$("select").on("change",function(){var option=that.$("select option:selected");that.set("value",option.attr("value"))}).width(this.get("width")),this.onValueChanged()},onValueChanged:function(){Ember.isEmpty(this.get("value"))||this.$("select").val(this.get("value"))}.observes("value")}),MSPanel.MultiDropdwonListComponent=Ember.Component.extend({tagName:"div",classNames:["msp-ddlist","msp-ddlist-multiselect"],layout:Ember.Handlebars.compile("<select {{bind-attr size=view.size}} multiple>{{yield}}</select>"),value:null,width:100,size:7,didInsertElement:function(){var that=this;this.$("select").on("change",function(){that.set("value",$(this).val())}).width(this.get("width")),this.onValueChanged()},onValueChanged:function(){Ember.isEmpty(this.get("value"))||this.$("select").val(this.get("value"))}.observes("value")}),MSPanel.GoogleFontsComponent=Ember.Component.extend({tagName:"div",classNames:["msp-ddlist","msp-gfonts-select"],defaultTemplate:Ember.Handlebars.compile('<select><option value="--" selected>Loading fonts..</option></select>'),value:null,variants:null,width:210,didInsertElement:function(){var that=this;GFonts.getList(function(){that.$("select").html('<option value="--" selected>-- select --</option>'+GFonts.generateSelectList()),that.onValueChanged(),that.$("select").trigger("change")}),this.$("select").on("change",function(){var option=that.$("select option:selected");"--"===option.val()?(that.set("value",void 0),that.set("variants",void 0)):(that.set("value",option.attr("value")),that.set("variants",option.attr("data-variants")))}).width(this.get("width")),that.onValueChanged()},onValueChanged:function(){this.$("select").val(Ember.isEmpty(this.get("value"))?"--":this.get("value"))}.observes("value")}),MSPanel.GoogleFontWeightsComponent=Ember.Component.extend({tagName:"div",classNames:["msp-ddlist","msp-gfonts-select msp-gfonts-weight"],defaultTemplate:Ember.Handlebars.compile("<select></select>"),variants:null,value:null,width:120,didInsertElement:function(){var that=this;this.$("select").on("change",function(){var option=that.$("select option:selected");return 0===option.length?void that.$("select").val("normal"):void("--"===option.val()?that.set("value",null):that.set("value",option.attr("value")))}).width(this.get("width")),that.updateVariants()},updateVariants:function(){var variants=this.get("variants");if(Ember.isEmpty(variants))this.$("select").html("<option>Select font</option>");else{var options="",value=this.get("value");variants=variants.split(",");for(var i=0,l=variants.length;i!==l;i++)-1===variants[i].indexOf("italic")&&(options+="regular"===variants[i]?'<option value="normal"'+("normal"===value?"selected":"")+">Normal</option>":'<option value="'+variants[i]+'"'+(value===variants[i]?"selected":"")+">"+variants[i]+"</option>");this.$("select").html(options).trigger("change")}}.observes("variants")}),MSPanel.CodeMirrorComponent=Ember.Component.extend({classNames:["msp-codemirror"],width:250,height:200,mode:"css",tab:null,tabs:null,layout:Ember.Handlebars.compile("<textarea>{{yield}}</textarea>"),didInsertElement:function(){this.$().width(this.get("width")).height(this.get("height"));var that=this,editor=CodeMirror.fromTextArea(this.$(">textarea")[0],{lineNumbers:!0,mode:this.get("mode")});editor.on("change",function(){that.set("internalChange",!0),that.set("value",editor.getValue())}),this.set("editor",editor);var value=this.get("value");Ember.isEmpty(value)||editor.setValue(value);var tabs=this.get("tabs");Ember.isEmpty(tabs)||$("#"+tabs).bind("avtTabChange",{that:this},this.refreshEditor)},onValueChanged:function(){return this.get("internalChange")===!0?void this.set("internalChange",!1):(this.get("editor").setValue(this.get("value")),void this.set("internalChange",!1))}.observes("value"),refreshEditor:function(event,tab){var that=event.data.that;that.get("tab")===tab&&that.get("editor").refresh()},willDestroyElement:function(){var tabs=this.get("tabs");Ember.isEmpty(tabs)||$("#"+tabs).unbind("avtTabChange",this.refreshEditor);var editor=this.get("editor");editor.toTextArea(),editor=null,this.set("editor",null)}});for(var patterns='<div class="msp-pattern-prev ms-pattern"></div>',i=1;30>=i;i++)patterns+='<div class="msp-pattern-prev ms-pattern ms-patt-'+i+'" data-pattern="ms-patt-'+i+'" style="'+(i>15?"background-color:black;":"")+'"></div>';MSPanel.PatternPickerComponent=Ember.Component.extend({tagName:"div",classNames:["msp-pattern-picker"],value:null,patternBoxIsOpen:!1,layout:Ember.Handlebars.compile('<div class="msp-pattern-control sp-replacer sp-light"><div {{bind-attr class=":ms-pattern-preview :ms-pattern view.value"}}></div><div class="sp-dd">▼</div></div><div class="msp-patterns-box">'+patterns+"</div>"),didInsertElement:function(){this.$(".msp-pattern-control").on("click",{that:this},this.togglePatternbox),$(document).on("click",{that:this},this.closePatternbox),this.$(".msp-patterns-box").css("display","none").on("click",function(e){e.stopPropagation()}).find(".ms-pattern").on("click",{that:this},this.selectPattern)},togglePatternbox:function(e){var that=e.data.that;e.stopPropagation(),that.get("patternBoxIsOpen")&&that.closePatternbox(e),that.$(".msp-patterns-box").css("display",""),that.set("patternBoxIsOpen",!0)},closePatternbox:function(e){var that=e.data.that;that.get("patternBoxIsOpen")&&(that.$(".msp-patterns-box").css("display","none"),that.set("patternBoxIsOpen",!1))},selectPattern:function(e){e.stopPropagation();var that=e.data.that;that.set("value",$(this).data("pattern"))},willDestroyElement:function(){this.$(".msp-patterns-box").off("click",this.togglePatternbox).find(".ms-pattern").off("click"),$(document).off("click",this.closePatternbox)}})}(jQuery),MSPanel.pushData=null,MSPanel.ApplicationController=Ember.Controller.extend({isFlickr:"flickr"===__MSP_TYPE,isFacebook:"facebook"===__MSP_TYPE,isPost:"post"===__MSP_TYPE,isWcproduct:"wc-product"===__MSP_TYPE,sliderId:MSPanel.SliderID,isSending:!1,statusMsg:"",hasError:!1,onInit:function(){window.$||(window.$=jQuery.noConflict()),MSPanel.Settings.find(),MSPanel.Slide.find(),MSPanel.Layer.find(),MSPanel.Style.find(),MSPanel.Effect.find(),MSPanel.PresetStyle.find(),MSPanel.PresetEffect.find(),MSPanel.Control.find(),MSPanel.Callback.find(),MSPanel.ButtonStyle.find(),this.set("disableControls",MSPanel.Settings.find(0).get("disableControls"));var that=this;MSPanel.pushData=function(){that.prepareData()},MSPanel.createButton=this.createButton,"wc-product"===__MSP_TYPE&&null==__MSP_POST&&null!=__WC_INSTALL_URL&&(this.set("hasError",!0),this.set("errorTemplate","wooc-error"),this.set("wooLink",__WC_INSTALL_URL)),this.generateButtonStyles(),this.set("shortCode",'[masterslider id="'+this.get("sliderId")+'"]'),this.set("phpFunction","<?php masterslider("+this.get("sliderId")+"); ?>"),jQuery("#panelLoading").remove(),window._msp_init_timeout&&clearTimeout(window._msp_init_timeout),$(window).scroll(function(){$(window).scrollTop()+$(window).height()>=$(document).height()-45?($("#saveBar").removeClass("msp-sticky-bar"),$("#saveBarPlaceHolder").css("display","none")):($("#saveBar").addClass("msp-sticky-bar"),$("#saveBarPlaceHolder").css("display",""))}).trigger("scroll"),$("#timeAgo").timeago(),setInterval($.proxy(this.updateSavedTime,this),3e4),$(document).bind("keydown",function(e){return(e.metaKey||e.ctrlKey)&&83==e.which?(e.preventDefault(),that.get("isSending")||that.send("saveAll"),!1):void 0})}.on("init"),updateSliderSlugShortCodes:function(){var alias=this.get("sliderSlug");Ember.isEmpty(alias)&&(alias=MSPanel.SliderSlug),this.set("shortCodeSlug",'[masterslider alias="'+alias+'"]'),this.set("phpFunctionSlug",'<?php masterslider("'+alias+'"); ?>')}.observes("sliderSlug").on("init"),prepareData:function(){var fonts={},font_str="";MSPanel.Style.find().forEach(function(record){var font=record.get("fontFamily"),weight=record.get("fontWeight");Ember.isEmpty(font)||(fonts[font]||(fonts[font]=[]),"normal"===weight&&(weight="regular"),Ember.isEmpty(weight)||-1!==fonts[font].indexOf(weight)||fonts[font].push(weight))});for(var font in fonts)font_str+=font.replace(/\s/,"+")+":"+fonts[font].join(",")+"|";MSPanel.Settings.find(1).set("usedFonts",font_str.slice(0,-1)),this.saveRecords(MSPanel.Settings.find()),this.saveRecords(MSPanel.Slide.find()),this.saveRecords(MSPanel.Layer.find()),this.saveRecords(MSPanel.Style.find()),this.saveRecords(MSPanel.Effect.find()),this.saveRecords(MSPanel.PresetStyle.find()),this.saveRecords(MSPanel.PresetEffect.find()),this.saveRecords(MSPanel.Control.find()),this.saveRecords(MSPanel.Callback.find()),this.saveRecords(MSPanel.ButtonStyle.find())},generateButtonStyles:function(){var styles=MSPanel.ButtonStyle.find(),css="",$styleElement=$("#msp-buttons");styles.forEach(function(style){css+="."+style.get("className")+" {"+style.get("normal")+"}\n."+style.get("className")+":hover {"+style.get("hover")+"}\n."+style.get("className")+":active {"+style.get("active")+"}\n"}),0===$styleElement.length?$styleElement=$('<style id="msp-buttons"></style>').text(css).appendTo($("head")):$styleElement.text(css)},actions:{saveAll:function(){this.prepareData(),this.sendData()},showPreview:function(event){window.lunchMastersliderPreview&&lunchMastersliderPreview(event)}},saveRecords:function(records){records.forEach(function(record){record.save()})},sendData:function(){this.set("statusMsg",__MSP_LAN.ap_001),this.set("isSending",!0),this.set("savingStatus","msp-saving");var that=this;jQuery.post(__MS.ajax_url,{action:"msp_panel_handler",nonce:jQuery("#msp-main-wrapper").data("nonce"),msp_data:B64.encode(JSON.stringify(MSPanel.data)),preset_style:B64.encode(JSON.stringify(MSPanel.PSData)),preset_effect:B64.encode(JSON.stringify(MSPanel.PEData)),buttons:B64.encode(JSON.stringify(MSPanel.PBData)),slider_id:MSPanel.SliderID},function(res){that.set("statusMsg",res.message),that.set("isSending",!1),res.success===!0?(that.set("savingStatus","msp-save-succeed"),that.startAutoHideMsg()):that.set("savingStatus","msp-save-error")})},startAutoHideMsg:function(){var timeout=this.get("msgTimeout"),that=this;Ember.isEmpty(timeout)||clearTimeout(timeout),this.set("timeout",setTimeout(function(){that.set("savingStatus","msp-save-hide msp-save-succeed"),$("#timeAgo").attr("title",(new Date).toISOString()),that.updateSavedTime()},2e3))},updateSavedTime:function(){var timeEle=$("#timeAgo");timeEle.attr("title")&&$("#timeAgo").timeago("updateFromDOM")},createButton:function(normal,hover,active,style,size){var newPreset=MSPanel.ButtonStyle.create({normal:normal,hover:hover,active:active,size:size,style:style});newPreset.save(),newPreset.set("className","msp-preset-btn-"+newPreset.get("id")),newPreset.save()}}),MSPanel.SettingsController=Ember.ObjectController.extend({customSlider:window.__MSP_TYPE&&"custom"===window.__MSP_TYPE,sliderSkins:__MSP_SKINS,needs:["application","controls"],showAutoHeight:!1,showNearbyNum:!1,showWrapperWidth:!1,preloadMethod:null,setup:function(){var preload=this.get("preload");"all"===preload||"-1"===preload?this.set("preloadMethod",preload):this.set("preloadMethod","nearby"),this.set("draftMSTemplate",this.get("msTemplate"))},sliderLayoutChanged:function(){var layout=this.get("layout");"fullscreen"===layout||"autofill"===layout?(this.set("showAutoHeight",!1),this.set("autoHeight",!1)):this.set("showAutoHeight",!0),this.set("showWrapperWidth","boxed"===layout||"partialview"===layout),this.set("showAutoFillTarget","autofill"===layout),this.set("showMinHeight","fullscreen"!==layout&&"autofill"!==layout&&!this.get("autoHeight")),this.set("showFSMargin","fullscreen"===layout)}.observes("layout","autoHeight").on("setup"),preloadSetup:function(){var preloadMethod=this.get("preloadMethod");if("nearby"===preloadMethod){this.set("showNearbyNum",!0);var preload=this.get("preload");("all"===preload||"-1"===preload)&&this.set("preload","0")}else this.set("showNearbyNum",!1),this.set("preload",preloadMethod)}.observes("preloadMethod").on("setup"),actions:{}}),MSPanel.SlidesController=Ember.ArrayController.extend({customSlider:window.__MSP_TYPE&&"custom"===window.__MSP_TYPE,_order:-1,bgImgSelector:null,sortProperties:["order"],stylesController:null,effectsController:null,buttonsController:null,layersList:[],layersController:null,mainView:null,isFirst:!0,currentSlide:null,setup:function(){if(Ember.isEmpty(this.get("sliderSettings.type"))&&this.set("sliderSettings.type",__MSP_TYPE),this.set("sliderSettings.sliderId",MSPanel.SliderID),0!==this.get("length")){var slide=this.get("firstObject");this.set("currentSlide",slide),this.updateOrder()}},slide:function(){return this.get("currentSlide")}.property("currentSlide"),duplicateSlide:function(slide){var slideProp=slide.toJSON();delete slideProp.id;var newSlide=MSPanel.Slide.create(slideProp);newSlide.set("order",slide.get("order")+1),this.forEach(function(_slide){var slide_order=_slide.get("order"),nslide_order=newSlide.get("order");slide_order>=nslide_order&&_slide!==newSlide&&_slide.set("order",slide_order+1)}),newSlide.save(),this.updateOrder()},updateSlidesSort:function(indexes){this.beginPropertyChanges(),this.forEach(function(slide){slide.set("order",indexes[slide.get("id")])},this),this.endPropertyChanges(),this.set("_order",this.get("lastObject.order"))},updateOrder:function(){var i=0;this.forEach(function(slide){slide.get("isOverlayLayers")||slide.set("order",i++)}),this.set("_order",i-1)},removeSlide:function(slide){slide.deleteRecord(),0!==this.get("length")&&(this.send("select",this.get("firstObject")),this.updateOrder())},onImageSelect:function(){var uploaderFrame=this.get("uploaderFrame"),selection=uploaderFrame.state().get("selection"),self=this;selection.map(function(attachment){attachment=attachment.toJSON(),self.generateSlide(attachment,attachment.url,(attachment.sizes.thumbnail||attachment.sizes.full).url)}),this.send("select",this.get("lastObject"))},generateSlide:function(attachment,bg,thumb){var slide=MSPanel.Slide.create({order:this.get("_order")+1,bg:bg,bgThumb:thumb,bgAlt:attachment.alt,bgTitle:attachment.title});this.set("_order",this.get("_order")+1),slide.save(),this.updateOrder()},actions:{addSlides:function(){var uploaderFrame=this.get("uploaderFrame");Ember.isEmpty(uploaderFrame)&&(uploaderFrame=wp.media.frames.frame=wp.media({title:__MSP_LAN.slc_001||"Select background image for new slide. (Multiple selection is available)",multiple:!0,frame:"select",library:{type:"image"},button:{text:__MSP_LAN.slc_002||"Create Slide(s)"}}),uploaderFrame.on("select",$.proxy(this.onImageSelect,this)),this.set("uploaderFrame",uploaderFrame)),uploaderFrame.open()},newSlide:function(){var slide=MSPanel.Slide.create({order:this.get("_order")+1});this.set("currentSlide",slide),this.set("_order",this.get("_order")+1),slide.save(),this.updateOrder()},select:function(slide){slide!==this.get("currentSlide")&&this.set("currentSlide",slide)}}}),MSPanel.ControlsController=Ember.ArrayController.extend({needs:"application",controls:[{used:!1,label:__MSP_LAN.cc_001,value:"arrows"},{used:!1,label:__MSP_LAN.cc_002,value:"timebar"},{used:!1,label:__MSP_LAN.cc_003,value:"bullets"},{used:!1,label:__MSP_LAN.cc_004,value:"circletimer"},{used:!1,label:__MSP_LAN.cc_005,value:"scrollbar"},{used:!1,label:__MSP_LAN.cc_006,value:"slideinfo"},{used:!1,label:__MSP_LAN.cc_007,value:"thumblist"}],selectedControl:null,availableControls:[],noMore:!1,currentControl:null,setup:function(){var that=this;this.forEach(function(control){that.findControlObj(control.get("name")).used=!0}),this.set("availableControls",this.findAvailableControls())},onInsertThumb:function(){var ctr=this.get("currentControl");Ember.isEmpty(ctr)||("tabs"===this.get("currentControl.type")?this.set("isTab",!0):this.set("isTab",!1))}.observes("currentControl.type").on("didInsertElement"),actions:{addControl:function(){var control,controlName=this.get("selectedControl"),controlObj=this.findControlObj(controlName);control=MSPanel.Control.create(this.getDefaultValues(controlName)),control.set("label",controlObj.label),controlObj.used=!0,this.set("availableControls",this.findAvailableControls()),control.save(),this.set("currentControl",control)},removeControl:function(control){this.findControlObj(control.get("name")).used=!1,this.set("availableControls",this.findAvailableControls()),control.deleteRecord(),this.set("currentControl",this.get("firstObject")),this.send("showControlOptions")},showControlOptions:function(){var currentControl=this.get("currentControl");Ember.isEmpty(currentControl)?this.set("controlOptions","empty-template"):this.set("controlOptions",currentControl.get("name")+"-options")}},findControlObj:function(control){for(var controls=this.get("controls"),i=0,l=controls.length;i!==l;i++)if(controls[i].value===control)return controls[i];return null},findAvailableControls:function(){for(var avc=[],controls=this.get("controls"),i=0,l=controls.length;i!==l;i++)controls[i].used||avc.push(controls[i]);return this.set("noMore",0===avc.length),this.set("selectedControl",avc[0]?avc[0].value:null),avc},getDefaultValues:function(control){var values={name:control};switch(values.inset=!("slideinfo"===control||"thumblist"===control),control){case"timebar":values.align="bottom",values.color="#FFFFFF",values.autoHide=!1,values.width=4;break;case"bullets":values.align="bottom",values.dir="h",values.margin=10,values.space=6;break;case"circletimer":values.color="#A2A2A2",values.stroke=10,values.radius=4,values.autoHide=!1;break;case"scrollbar":values.align="top",values.dir="h",values.color="#3D3D3D",values.margin=10,values.autoHide=!1,values.width=4;break;case"slideinfo":values.align="bottom",values.margin=10,values.autoHide=!1;break;case"thumblist":values.align="bottom",values.space=5,values.width=100,values.height=80,values.margin=10,values.fillMode="fill",values.autoHide=!1}return values}}),MSPanel.CallbacksController=Ember.ArrayController.extend({callbacks:[{used:!1,label:__MSP_LAN.cb_011,value:"INIT"},{used:!1,label:__MSP_LAN.cb_001,value:"CHANGE_START"},{used:!1,label:__MSP_LAN.cb_002,value:"CHANGE_END"},{used:!1,label:__MSP_LAN.cb_003,value:"WAITING"},{used:!1,label:__MSP_LAN.cb_004,value:"RESIZE"},{used:!1,label:__MSP_LAN.cb_005,value:"VIDEO_PLAY"},{used:!1,label:__MSP_LAN.cb_006,value:"VIDEO_CLOSE"},{used:!1,label:__MSP_LAN.cb_007,value:"SWIPE_START"},{used:!1,label:__MSP_LAN.cb_008,value:"SWIPE_MOVE"},{used:!1,label:__MSP_LAN.cb_009,value:"SWIPE_END"}],availableCallbacks:[],noMore:!1,selectedCallback:null,setup:function(){var that=this;this.forEach(function(callback){that.findCallbackObj(callback.get("name")).used=!0}),this.set("availableCallbacks",this.findAvailableCallbacks())},actions:{addCallback:function(){var callback,callbackName=this.get("selectedCallback"),callbackObj=this.findCallbackObj(callbackName);callback=MSPanel.Callback.create({name:callbackObj.value,label:callbackObj.label}),callbackObj.used=!0,this.set("availableCallbacks",this.findAvailableCallbacks()),callback.save()},removeCallback:function(callback){confirm(__MSP_LAN.cb_010.jfmt(callback.get("label")))&&(this.findCallbackObj(callback.get("name")).used=!1,this.set("availableCallbacks",this.findAvailableCallbacks()),callback.deleteRecord())}},findCallbackObj:function(callback){for(var callbacks=this.get("callbacks"),i=0,l=callbacks.length;i!==l;i++)if(callbacks[i].value===callback)return callbacks[i];return null},findAvailableCallbacks:function(){for(var avc=[],callbacks=this.get("callbacks"),i=0,l=callbacks.length;i!==l;i++)callbacks[i].used||avc.push(callbacks[i]);return this.set("noMore",0===avc.length),this.set("selectedCallback",avc[0]?avc[0].value:null),avc}});
admin/views/slider-panel/js/msp.required.js CHANGED
@@ -1,6 +1,6 @@
1
  /*!
2
  * Master Slider WordPress Lite Panel - Required JS Modules
3
- * @date Jun 2015
4
  */
5
  /*!
6
  * @overview Averta JavaScript Libraries
1
  /*!
2
  * Master Slider WordPress Lite Panel - Required JS Modules
3
+ * @date Aug 2016
4
  */
5
  /*!
6
  * @overview Averta JavaScript Libraries
includes/init/define.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined('ABSPATH') ) {
5
  die();
6
  }
7
 
8
- define( 'MSWP_AVERTA_VERSION' , '2.8.0' );
9
 
10
  define( 'MSWP_SLUG' , 'master-slider' );
11
  define( 'MSWP_TEXT_DOMAIN' , 'masterslider' );
5
  die();
6
  }
7
 
8
+ define( 'MSWP_AVERTA_VERSION' , '2.9.0' );
9
 
10
  define( 'MSWP_SLUG' , 'master-slider' );
11
  define( 'MSWP_TEXT_DOMAIN' , 'masterslider' );
master-slider.php CHANGED
@@ -11,13 +11,13 @@
11
  * Plugin Name: Master Slider
12
  * Plugin URI: https://wordpress.org/plugins/master-slider/
13
  * Description: Master Slider is the most advanced responsive HTML5 WordPress slider plugin with touch swipe navigation that works smoothly on devices too.
14
- * Version: 2.8.0
15
  * Author: averta
16
  * Author URI: http://averta.net
17
  * Text Domain: master-slider
18
  * License URI: license.txt
19
  * Domain Path: /languages
20
- * Tested up to: 4.5.3
21
  */
22
 
23
  // If this file is called directly, abort.
11
  * Plugin Name: Master Slider
12
  * Plugin URI: https://wordpress.org/plugins/master-slider/
13
  * Description: Master Slider is the most advanced responsive HTML5 WordPress slider plugin with touch swipe navigation that works smoothly on devices too.
14
+ * Version: 2.9.0
15
  * Author: averta
16
  * Author URI: http://averta.net
17
  * Text Domain: master-slider
18
  * License URI: license.txt
19
  * Domain Path: /languages
20
+ * Tested up to: 4.6.0
21
  */
22
 
23
  // If this file is called directly, abort.
public/assets/css/common/grab.png CHANGED
Binary file
public/assets/css/common/grabbing.png CHANGED
Binary file
public/assets/css/common/video-close-btn.png CHANGED
Binary file
public/assets/css/masterslider.main.css CHANGED
@@ -1,6 +1,6 @@
1
- /*!
2
  * Master Slider WordPress Lite Main CSS File
3
- * @date Jun 2015
4
  */
5
 
6
 
@@ -522,7 +522,6 @@
522
  .ms-slide-info {position: absolute;}
523
  .ms-slide-info.ms-dir-v {top:0;}
524
  .ms-slide-info.ms-dir-h {width:100%;}
525
- .ms-slide-info .ms-info-empty{display:none;}
526
 
527
  .ms-pattern.ms-patt-1 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABRJREFUeNpiYICA/wzoDGTwHyDAADXxAv4Eq8S5AAAAAElFTkSuQmCC);}
528
  .ms-pattern.ms-patt-2 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABhJREFUeNpiYECA/wxogLAANoBdF0CAAQD+agT8l3ocpQAAAABJRU5ErkJggg==);}
@@ -558,1946 +557,2125 @@
558
 
559
 
560
 
561
- /**
562
- * Master Slider
563
- * Default Skin
564
- */
565
-
566
- .ms-skin-default .ms-slide .ms-slide-vpbtn,
567
- .ms-skin-default .ms-video-btn{
568
- width: 50px;
569
- height: 51px;
570
- background: url(skins/light-skin-1.png) no-repeat -14px -150px;
571
- top: 50%;
572
- left: 50%;
573
- margin: -25px 0 0 -25px;
574
- }
575
-
576
- .ms-skin-default .ms-slide .ms-slide-vcbtn {
577
- width: 30px;
578
- height: 30px;
579
- background: url(skins/light-skin-1.png) no-repeat -24px -28px;
580
- top: 18px;
581
- right: 30px;
582
- }
583
-
584
- /* controls */
585
-
586
- .ms-skin-default .ms-nav-next,
587
- .ms-skin-default .ms-nav-prev {
588
- width: 30px;
589
- background: url(skins/light-skin-1.png);
590
- background-position: -89px -26px;
591
- height: 40px;
592
- cursor: pointer;
593
- top: 50%;
594
- left: 30px;
595
- margin-top: -20px;
596
- position: absolute;
597
- z-index: 110;
598
- }
599
- .ms-skin-default .ms-nav-next {
600
- right: 30px;
601
- left: auto;
602
- background-position: -89px -103px;
603
- }
604
-
605
-
606
-
607
- .ms-skin-default .ms-bullet {
608
- width: 10px;
609
- height: 10px;
610
- background: url(skins/light-skin-1.png) no-repeat;
611
- margin: 4px;
612
- background-position: -34px -117px;
613
- }
614
-
615
- .ms-skin-default .ms-bullet-selected {
616
- background-position: -34px -84px;
617
- }
618
-
619
- .ms-skin-default .ms-tooltip{
620
- position: absolute;
621
- z-index: 210;
622
- cursor: auto;
623
- }
624
-
625
- .ms-skin-default .ms-tooltip-top .ms-tooltip-arrow,
626
- .ms-skin-default .ms-tooltip-bottom .ms-tooltip-arrow{
627
- border-left: solid 10px transparent;
628
- border-right: solid 10px transparent;
629
- position: absolute;
630
- left: 50%;
631
- margin-left: -10px;
632
- }
633
-
634
- .ms-skin-default .ms-tooltip-top .ms-tooltip-arrow{
635
- border-top: solid 10px;
636
- border-top-color: silver;
637
- border-top-color: rgba(240, 240, 240, 0.88);
638
- bottom: -10px;
639
- }
640
-
641
- .ms-skin-default .ms-tooltip-bottom .ms-tooltip-arrow {
642
- border-bottom: solid 10px;
643
- border-bottom-color: silver;
644
- border-bottom-color: rgba(240, 240, 240, 0.88);
645
- top: -10px;
646
- }
647
-
648
- .ms-skin-default .ms-tooltip-right .ms-tooltip-arrow,
649
- .ms-skin-default .ms-tooltip-left .ms-tooltip-arrow{
650
- border-top: solid 10px transparent;
651
- border-bottom: solid 10px transparent;
652
- position: absolute;
653
- top: 50%;
654
- margin-top: -10px;
655
- }
656
-
657
- .ms-skin-default .ms-tooltip-right .ms-tooltip-arrow{
658
- border-right: solid 10px;
659
- border-right-color: silver;
660
- border-right-color: rgba(240, 240, 240, 0.88);
661
- left: -10px;
662
- }
663
-
664
- .ms-skin-default .ms-tooltip-left .ms-tooltip-arrow {
665
- border-left: solid 10px;
666
- border-left-color: silver;
667
- border-left-color: rgba(240, 240, 240, 0.88);
668
- right: -10px;
669
- }
670
-
671
- .ms-skin-default .ms-tooltip-point {cursor: pointer;}
672
- .ms-skin-default .ms-tooltip-point .ms-point-center {
673
- width: 12px;
674
- height: 12px;
675
- border-radius: 15px;
676
- border: solid 2px #BBB;
677
- background: white;
678
- margin: -8px 0 0 -8px;
679
- position: absolute;
680
- z-index: 105;
681
- }
682
-
683
- .ms-skin-default .ms-tooltip-point .ms-point-border {
684
- width: 22px;
685
- height: 22px;
686
- background: black;
687
- background:rgba(0, 0, 0, 0.36);
688
- margin: -11px 0 0 -11px;
689
- position: absolute;
690
- border-radius: 15px;
691
-
692
- animation: point-anim 1.5s infinite ;
693
- -moz-animation: point-anim 1.5s infinite;
694
- -webkit-animation: point-anim 1.5s infinite;
695
- -o-animation: point-anim 1.5s infinite;
696
- }
697
-
698
- .ms-skin-default .ms-tooltip {
699
- max-width:200px;
700
- }
701
-
702
- .ms-skin-default .ms-tooltip-cont {
703
- padding: 10px;
704
- background: silver;
705
- background: rgba(240, 240, 240, 0.88);
706
- text-shadow: 0 1px 0px white;
707
- margin-left: -1px;
708
- }
709
-
710
- /* retina */
711
- @media
712
- only screen and (-webkit-min-device-pixel-ratio: 2),
713
- only screen and ( min--moz-device-pixel-ratio: 2),
714
- only screen and ( -o-min-device-pixel-ratio: 2/1),
715
- only screen and ( min-device-pixel-ratio: 2),
716
- only screen and ( min-resolution: 192dpi),
717
- only screen and ( min-resolution: 2dppx) {
718
-
719
- .ms-skin-default .ms-slide .ms-slide-vpbtn,
720
- .ms-skin-default .ms-video-btn,
721
- .ms-skin-default .ms-slide .ms-slide-vcbtn,
722
- .ms-skin-default .ms-nav-next,
723
- .ms-skin-default .ms-nav-prev,
724
- .ms-skin-default .ms-bullet{
725
- background-image:url(skins/light-skin-1-retina.png);
726
- background-size: 152px 225px;
727
- }
728
-
729
- }
730
-
731
-
732
- /**
733
- * Master Slider
734
- * Black 1
735
- */
736
-
737
- .ms-skin-black-1 .ms-slide .ms-slide-vpbtn,
738
- .ms-skin-black-1 .ms-video-btn{
739
- width: 54px;
740
- height: 54px;
741
- background: url(skins/black-skin-1.png) no-repeat -14px -150px;
742
- top: 50%;
743
- left: 50%;
744
- margin: -27px 0 0 -27px;
745
- }
746
-
747
- .ms-skin-black-1 .ms-slide .ms-slide-vcbtn {
748
- width: 27px;
749
- height: 26px;
750
- background: url(skins/black-skin-1.png) no-repeat -24px -29px;
751
- top: 30px;
752
- right: 30px;
753
- }
754
-
755
- /* controls */
756
-
757
- .ms-skin-black-1 .ms-nav-next,
758
- .ms-skin-black-1 .ms-nav-prev {
759
- width: 53px;
760
- background: url(skins/black-skin-1.png);
761
- background-position: -79px -19px;
762
- height: 61px;
763
- cursor: pointer;
764
- top: 50%;
765
- left: 30px;
766
- margin-top: -26px;
767
- position: absolute;
768
- z-index: 110;
769
- }
770
- .ms-skin-black-1 .ms-nav-next {
771
- right: 30px;
772
- left: auto;
773
- background-position: -79px -97px;
774
- }
775
-
776
- .ms-skin-black-1 .ms-bullets.ms-dir-h {
777
- position: absolute;
778
- bottom: 20px;
779
- right: 50%;
780
- width: 100px;
781
- }
782
-
783
- .ms-skin-black-1 .ms-bullets.ms-dir-h .ms-bullets-count {
784
- position: relative;
785
- right: -50%;
786
- }
787
-
788
- .ms-skin-black-1 .ms-bullet {
789
- width: 9px;
790
- height: 9px;
791
- background: white;
792
- margin: 4px;
793
- border: solid 1px rgb(58, 58, 58);
794
- }
795
-
796
- .ms-skin-black-1 .ms-bullet-selected {
797
- background-color: black;
798
- }
799
-
800
- .ms-skin-black-1 .ms-tooltip{
801
- position: absolute;
802
- z-index: 210;
803
- cursor: auto;
804
- }
805
-
806
- .ms-skin-black-1 .ms-tooltip-top .ms-tooltip-arrow,
807
- .ms-skin-black-1 .ms-tooltip-bottom .ms-tooltip-arrow{
808
- border-left: solid 10px transparent;
809
- border-right: solid 10px transparent;
810
- position: absolute;
811
- left: 50%;
812
- margin-left: -10px;
813
- }
814
-
815
- .ms-skin-black-1 .ms-tooltip-top .ms-tooltip-arrow{
816
- border-top: solid 10px;
817
- border-top-color: white;
818
- border-top-color: rgba(0, 0, 0, 0.8);
819
- bottom: -10px;
820
- }
821
-
822
- .ms-skin-black-1 .ms-tooltip-bottom .ms-tooltip-arrow {
823
- border-bottom: solid 10px;
824
- border-bottom-color: white;
825
- border-bottom-color: rgba(0, 0, 0, 0.8);
826
- top: -10px;
827
- }
828
-
829
- .ms-skin-black-1 .ms-tooltip-right .ms-tooltip-arrow,
830
- .ms-skin-black-1 .ms-tooltip-left .ms-tooltip-arrow{
831
- border-top: solid 10px transparent;
832
- border-bottom: solid 10px transparent;
833
- position: absolute;
834
- top: 50%;
835
- margin-top: -10px;
836
- }
837
-
838
- .ms-skin-black-1 .ms-tooltip-right .ms-tooltip-arrow{
839
- border-right: solid 10px;
840
- border-right-color: white;
841
- border-right-color: rgba(0, 0, 0, 0.8);
842
- left: -10px;
843
- }
844
-
845
- .ms-skin-black-1 .ms-tooltip-left .ms-tooltip-arrow {
846
- border-left: solid 10px;
847
- border-left-color: black;
848
- border-left-color: rgba(0, 0, 0, 0.8);
849
- right: -10px;
850
- }
851
-
852
- .ms-skin-black-1 .ms-tooltip-point {cursor: pointer;}
853
- .ms-skin-black-1 .ms-tooltip-point .ms-point-center {
854
- width: 12px;
855
- height: 12px;
856
- border-radius: 15px;
857
- border: solid 2px #444444;
858
- background: black;
859
- margin: -8px 0 0 -8px;
860
- position: absolute;
861
- z-index: 105;
862
- }
863
-
864
- .ms-skin-black-1 .ms-tooltip-point .ms-point-border {
865
- width: 22px;
866
- height: 22px;
867
- background: white;
868
- background: rgba(255, 255, 255, 0.9);
869
- margin: -11px 0 0 -11px;
870
- position: absolute;
871
- border-radius: 15px;
872
-
873
- animation: point-anim 1.5s infinite ;
874
- -moz-animation: point-anim 1.5s infinite;
875
- -webkit-animation: point-anim 1.5s infinite;
876
- -o-animation: point-anim 1.5s infinite;
877
- }
878
-
879
- .ms-skin-black-1 .ms-tooltip {
880
- max-width:200px;
881
- }
882
-
883
- .ms-skin-black-1 .ms-tooltip-cont {
884
- padding: 10px;
885
- background: black;
886
- background: rgba(0, 0, 0, 0.8);
887
- text-shadow: 0 1px 0px black;
888
- color: white;
889
- box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
890
- }
891
-
892
- /* retina */
893
- @media
894
- only screen and (-webkit-min-device-pixel-ratio: 2),
895
- only screen and ( min--moz-device-pixel-ratio: 2),
896
- only screen and ( -o-min-device-pixel-ratio: 2/1),
897
- only screen and ( min-device-pixel-ratio: 2),
898
- only screen and ( min-resolution: 192dpi),
899
- only screen and ( min-resolution: 2dppx) {
900
-
901
- .ms-skin-black-1 .ms-slide .ms-slide-vpbtn,
902
- .ms-skin-black-1 .ms-video-btn,
903
- .ms-skin-black-1 .ms-slide .ms-slide-vcbtn,
904
- .ms-skin-black-1 .ms-nav-next,
905
- .ms-skin-black-1 .ms-nav-prev{
906
- background-image:url(skins/black-skin-1-retina.png);
907
- background-size: 152px 225px;
908
- }
909
-
910
- }
911
-
912
-
913
- /**
914
- * Master Slider
915
- * Black 2 Skin
916
- */
917
-
918
- .ms-skin-black-2 .ms-slide .ms-slide-vpbtn,
919
- .ms-skin-black-2 .ms-video-btn{
920
- width: 45px;
921
- height: 45px;
922
- background: url(skins/black-skin-2.png) black no-repeat -16px -103px;
923
- border: solid 3px rgb(255, 255, 255);
924
- border-color: rgba(255, 255, 255, 0.4);
925
- -webkit-background-clip: padding-box;
926
- top: 50%;
927
- left: 50%;
928
- margin: -23px 0 0 -23px;
929
- }
930
-
931
- .ms-skin-black-2 .ms-slide .ms-slide-vpbtn:hover,
932
- .ms-skin-black-2 .ms-video-btn:hover{
933
- background-color: #3D3D3D;
934
- }
935
-
936
- .ms-skin-black-2 .ms-slide .ms-slide-vcbtn {
937
- width: 25px;
938
- height: 25px;
939
- background: url(skins/black-skin-2.png) black no-repeat -27px -36px;
940
- border: solid 2px white;
941
- border-color: rgba(255, 255, 255, 0.4);
942
- top: 15px;
943
- right: 15px;
944
- }
945
-
946
- .ms-skin-black-2.round-skin .ms-slide .ms-slide-vcbtn{
947
- border-radius: 50px;
948
- }
949
-
950
-
951
- /* controls */
952
-
953
- .ms-skin-black-2 .ms-nav-next,
954
- .ms-skin-black-2 .ms-nav-prev {
955
- position: absolute;
956
- cursor: pointer;
957
- z-index: 110;
958
- width: 45px;
959
- height: 45px;
960
- background: url(skins/black-skin-2.png) black;
961
- -webkit-background-clip: padding-box;
962
- -moz-background-clip: padding-box;
963
- background-clip: padding-box;
964
- background-position: -88px -26px;
965
- border: solid 3px rgb(255, 255, 255);
966
- border-color: rgba(255, 255, 255, 0.4);
967
- top: 50%;
968
- left: 30px;
969
- margin-top: -22px;
970
- }
971
-
972
- .ms-skin-black-2.round-skin .ms-nav-next,
973
- .ms-skin-black-2.round-skin .ms-nav-prev,
974
- .ms-skin-black-2.round-skin .ms-slide .ms-slide-vpbtn,
975
- .ms-skin-black-2.round-skin .ms-video-btn{
976
- border-radius: 90px;
977
- }
978
-
979
- .ms-skin-black-2 .ms-nav-next:hover,
980
- .ms-skin-black-2 .ms-nav-prev:hover{
981
- background-color: #3d3d3d;
982
- }
983
-
984
- .ms-skin-black-2 .ms-nav-next {
985
- right: 30px;
986
- left: auto;
987
- background-position: -86px -103px;
988
- }
989
-
990
- .ms-skin-black-2 .ms-bullets.ms-dir-h {
991
- position: absolute;
992
- bottom: 20px;
993
- right: 50%;
994
- width: 100px;
995
- }
996
-
997
- .ms-skin-black-2 .ms-bullets.ms-dir-h .ms-bullets-count {
998
- position: relative;
999
- right: -50%;
1000
- }
1001
-
1002
- .ms-skin-black-2 .ms-bullet {
1003
- width: 8px;
1004
- height: 8px;
1005
- background: white;
1006
- -webkit-background-clip: padding-box;
1007
- -moz-background-clip: padding-box;
1008
- -ms-background-clip: padding-box;
1009
- border: solid 3px white;
1010
- border-color: rgba(0, 0, 0, 0.44);
1011
- margin: 4px;
1012
- background-position: -34px -117px;
1013
- }
1014
-
1015
- .ms-skin-black-2.round-skin .ms-bullet{
1016
- border-radius: 15px;
1017
- }
1018
-
1019
-
1020
- .ms-skin-black-2 .ms-bullet-selected {
1021
- background-color: black;
1022
- border-color: white;
1023
- border-color: rgba(255, 255, 255, 0.44);
1024
- }
1025
-
1026
- .ms-skin-black-2 .ms-tooltip{
1027
- position: absolute;
1028
- z-index: 210;
1029
- cursor: auto;
1030
- }
1031
-
1032
- .ms-skin-black-2 .ms-tooltip-top .ms-tooltip-arrow,
1033
- .ms-skin-black-2 .ms-tooltip-bottom .ms-tooltip-arrow{
1034
- border-left: solid 10px transparent;
1035
- border-right: solid 10px transparent;
1036
- position: absolute;
1037
- left: 50%;
1038
- margin-left: -10px;
1039
- }
1040
-
1041
- .ms-skin-black-2 .ms-tooltip-top .ms-tooltip-arrow{
1042
- border-top: solid 10px;
1043
- border-top-color: silver;
1044
- border-top-color: rgba(240, 240, 240, 0.88);
1045
- bottom: -10px;
1046
- }
1047
-
1048
- .ms-skin-black-2 .ms-tooltip-bottom .ms-tooltip-arrow {
1049
- border-bottom: solid 10px;
1050
- border-bottom-color: silver;
1051
- border-bottom-color: rgba(240, 240, 240, 0.88);
1052
- top: -10px;
1053
- }
1054
-
1055
- .ms-skin-black-2 .ms-tooltip-right .ms-tooltip-arrow,
1056
- .ms-skin-black-2 .ms-tooltip-left .ms-tooltip-arrow{
1057
- border-top: solid 10px transparent;
1058
- border-bottom: solid 10px transparent;
1059
- position: absolute;
1060
- top: 50%;
1061
- margin-top: -10px;
1062
- }
1063
-
1064
- .ms-skin-black-2 .ms-tooltip-right .ms-tooltip-arrow{
1065
- border-right: solid 10px;
1066
- border-right-color: silver;
1067
- border-right-color: rgba(240, 240, 240, 0.88);
1068
- left: -10px;
1069
- }
1070
-
1071
- .ms-skin-black-2 .ms-tooltip-left .ms-tooltip-arrow {
1072
- border-left: solid 10px;
1073
- border-left-color: silver;
1074
- border-left-color: rgba(240, 240, 240, 0.88);
1075
- right: -10px;
1076
- }
1077
-
1078
- .ms-skin-black-2 .ms-tooltip-point {cursor: pointer;}
1079
- .ms-skin-black-2 .ms-tooltip-point .ms-point-center {
1080
- width: 12px;
1081
- height: 12px;
1082
- border-radius: 15px;
1083
- border: solid 2px #BBB;
1084
- background: white;
1085
- margin: -8px 0 0 -8px;
1086
- position: absolute;
1087
- z-index: 105;
1088
- }
1089
-
1090
- .ms-skin-black-2 .ms-tooltip-point .ms-point-border {
1091
- width: 22px;
1092
- height: 22px;
1093
- background: black;
1094
- background:rgba(0, 0, 0, 0.36);
1095
- margin: -11px 0 0 -11px;
1096
- position: absolute;
1097
- border-radius: 15px;
1098
-
1099
- animation: point-anim 1.5s infinite ;
1100
- -moz-animation: point-anim 1.5s infinite;
1101
- -webkit-animation: point-anim 1.5s infinite;
1102
- -o-animation: point-anim 1.5s infinite;
1103
- }
1104
-
1105
- .ms-ie7.ms-skin-black-2 .ms-tooltip-point .ms-point-border,
1106
- .ms-ie8.ms-skin-black-2 .ms-tooltip-point .ms-point-border{
1107
- display: none;
1108
- }
1109
-
1110
- .ms-skin-black-2 .ms-tooltip {
1111
- max-width:200px;
1112
- }
1113
-
1114
- .ms-skin-black-2 .ms-tooltip-cont {
1115
- padding: 10px;
1116
- background: silver;
1117
- background: rgba(240, 240, 240, 0.88);
1118
- text-shadow: 0 1px 0px white;
1119
- box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
1120
- }
1121
-
1122
- /* retina */
1123
- @media
1124
- only screen and (-webkit-min-device-pixel-ratio: 2),
1125
- only screen and ( min--moz-device-pixel-ratio: 2),
1126
- only screen and ( -o-min-device-pixel-ratio: 2/1),
1127
- only screen and ( min-device-pixel-ratio: 2),
1128
- only screen and ( min-resolution: 192dpi),
1129
- only screen and ( min-resolution: 2dppx) {
1130
-
1131
- .ms-skin-black-2 .ms-slide .ms-slide-vpbtn,
1132
- .ms-skin-black-2 .ms-video-btn,
1133
- .ms-skin-black-2 .ms-slide .ms-slide-vcbtn,
1134
- .ms-skin-black-2 .ms-nav-next,
1135
- .ms-skin-black-2 .ms-nav-prev{
1136
- background-image:url(skins/black-skin-2-retina.png);
1137
- background-size: 152px 225px;
1138
- }
1139
-
1140
- }
1141
-
1142
-
1143
- /**
1144
- * Master Slider
1145
- * Light 2
1146
- */
1147
-
1148
- .ms-skin-light-2 .ms-slide .ms-slide-vpbtn,
1149
- .ms-skin-light-2 .ms-video-btn{
1150
- width: 54px;
1151
- height: 54px;
1152
- background: url(skins/light-skin-2.png) no-repeat -14px -150px;
1153
- top: 50%;
1154
- left: 50%;
1155
- margin: -27px 0 0 -27px;
1156
- }
1157
-
1158
- .ms-skin-light-2 .ms-slide .ms-slide-vcbtn {
1159
- width: 27px;
1160
- height: 26px;
1161
- background: url(skins/light-skin-2.png) no-repeat -24px -29px;
1162
- top: 30px;
1163
- right: 30px;
1164
- }
1165
-
1166
- /* controls */
1167
-
1168
- .ms-skin-light-2 .ms-nav-next,
1169
- .ms-skin-light-2 .ms-nav-prev {
1170
- width: 53px;
1171
- background: url(skins/light-skin-2.png);
1172
- background-position: -79px -19px;
1173
- height: 61px;
1174
- cursor: pointer;
1175
- top: 50%;
1176
- left: 30px;
1177
- margin-top: -26px;
1178
- position: absolute;
1179
- z-index: 110;
1180
- }
1181
- .ms-skin-light-2 .ms-nav-next {
1182
- right: 30px;
1183
- left: auto;
1184
- background-position: -79px -97px;
1185
- }
1186
-
1187
- .ms-skin-light-2 .ms-bullets.ms-dir-h {
1188
- position: absolute;
1189
- bottom: 20px;
1190
- right: 50%;
1191
- width: 100px;
1192
- }
1193
-
1194
- .ms-skin-light-2 .ms-bullets.ms-dir-h .ms-bullets-count {
1195
- position: relative;
1196
- right: -50%;
1197
- }
1198
-
1199
- .ms-skin-light-2 .ms-bullet {
1200
- width: 9px;
1201
- height: 9px;
1202
- background: black;
1203
- margin: 4px;
1204
- border: solid 1px rgb(58, 58, 58);
1205
- }
1206
-
1207
- .ms-skin-light-2 .ms-bullet-selected {
1208
- background-color: white;
1209
- }
1210
-
1211
- .ms-skin-light-2 .ms-tooltip{
1212
- position: absolute;
1213
- z-index: 210;
1214
- cursor: auto;
1215
- }
1216
-
1217
- .ms-skin-light-2 .ms-tooltip-top .ms-tooltip-arrow,
1218
- .ms-skin-light-2 .ms-tooltip-bottom .ms-tooltip-arrow{
1219
- border-left: solid 10px transparent;
1220
- border-right: solid 10px transparent;
1221
- position: absolute;
1222
- left: 50%;
1223
- margin-left: -10px;
1224
- }
1225
-
1226
- .ms-skin-light-2 .ms-tooltip-top .ms-tooltip-arrow{
1227
- border-top: solid 10px;
1228
- border-top-color: silver;
1229
- border-top-color: rgba(240, 240, 240, 0.88);
1230
- bottom: -10px;
1231
- }
1232
-
1233
- .ms-skin-light-2 .ms-tooltip-bottom .ms-tooltip-arrow {
1234
- border-bottom: solid 10px;
1235
- border-bottom-color: silver;
1236
- border-bottom-color: rgba(240, 240, 240, 0.88);
1237
- top: -10px;
1238
- }
1239
-
1240
- .ms-skin-light-2 .ms-tooltip-right .ms-tooltip-arrow,
1241
- .ms-skin-light-2 .ms-tooltip-left .ms-tooltip-arrow{
1242
- border-top: solid 10px transparent;
1243
- border-bottom: solid 10px transparent;
1244
- position: absolute;
1245
- top: 50%;
1246
- margin-top: -10px;
1247
- }
1248
-
1249
- .ms-skin-light-2 .ms-tooltip-right .ms-tooltip-arrow{
1250
- border-right: solid 10px;
1251
- border-right-color: silver;
1252
- border-right-color: rgba(240, 240, 240, 0.88);
1253
- left: -10px;
1254
- }
1255
-
1256
- .ms-skin-light-2 .ms-tooltip-left .ms-tooltip-arrow {
1257
- border-left: solid 10px;
1258
- border-left-color: silver;
1259
- border-left-color: rgba(240, 240, 240, 0.88);
1260
- right: -10px;
1261
- }
1262
-
1263
- .ms-skin-light-2 .ms-tooltip-point {cursor: pointer;}
1264
- .ms-skin-light-2 .ms-tooltip-point .ms-point-center {
1265
- width: 12px;
1266
- height: 12px;
1267
- border-radius: 15px;
1268
- border: solid 2px #BBB;
1269
- background: white;
1270
- margin: -8px 0 0 -8px;
1271
- position: absolute;
1272
- z-index: 105;
1273
- }
1274
-
1275
- .ms-skin-light-2 .ms-tooltip-point .ms-point-border {
1276
- width: 22px;
1277
- height: 22px;
1278
- background: black;
1279
- background:rgba(0, 0, 0, 0.36);
1280
- margin: -11px 0 0 -11px;
1281
- position: absolute;
1282
- border-radius: 15px;
1283
-
1284
- animation: point-anim 1.5s infinite ;
1285
- -moz-animation: point-anim 1.5s infinite;
1286
- -webkit-animation: point-anim 1.5s infinite;
1287
- -o-animation: point-anim 1.5s infinite;
1288
- }
1289
-
1290
- .ms-skin-light-2 .ms-tooltip {
1291
- max-width:200px;
1292
- }
1293
-
1294
- .ms-skin-light-2 .ms-tooltip-cont {
1295
- padding: 10px;
1296
- background: silver;
1297
- background: rgba(240, 240, 240, 0.88);
1298
- text-shadow: 0 1px 0px white;
1299
- box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
1300
- }
1301
-
1302
- /* retina */
1303
- @media
1304
- only screen and (-webkit-min-device-pixel-ratio: 2),
1305
- only screen and ( min--moz-device-pixel-ratio: 2),
1306
- only screen and ( -o-min-device-pixel-ratio: 2/1),
1307
- only screen and ( min-device-pixel-ratio: 2),
1308
- only screen and ( min-resolution: 192dpi),
1309
- only screen and ( min-resolution: 2dppx) {
1310
-
1311
- .ms-skin-light-2 .ms-slide .ms-slide-vpbtn,
1312
- .ms-skin-light-2 .ms-video-btn,
1313
- .ms-skin-light-2 .ms-slide .ms-slide-vcbtn,
1314
- .ms-skin-light-2 .ms-nav-next,
1315
- .ms-skin-light-2 .ms-nav-prev{
1316
- background-image:url(skins/light-skin-2-retina.png);
1317
- background-size: 152px 225px;
1318
- }
1319
-
1320
- }
1321
-
1322
-
1323
-
1324
- /**
1325
- * Master Slider
1326
- * Light 3
1327
- */
1328
-
1329
- .ms-skin-light-3 .ms-slide .ms-slide-vpbtn,
1330
- .ms-skin-light-3 .ms-video-btn{
1331
- width: 50px;
1332
- height: 50px;
1333
- background: url(skins/light-skin-3.png) no-repeat -15px -149px;
1334
- top: 50%;
1335
- left: 50%;
1336
- margin: -25px 0 0 -25px;
1337
- }
1338
-
1339
- .ms-skin-light-3 .ms-slide .ms-slide-vcbtn {
1340
- width: 31px;
1341
- height: 29px;
1342
- background: url(skins/light-skin-3.png) no-repeat -26px -28px;
1343
- top: 30px;
1344
- right: 30px;
1345
- }
1346
-
1347
- /* controls */
1348
-
1349
- .ms-skin-light-3 .ms-nav-next,
1350
- .ms-skin-light-3 .ms-nav-prev {
1351
- width: 50px;
1352
- background: url(skins/light-skin-3.png);
1353
- background-position: -82px -22px;
1354
- height: 50px;
1355
- cursor: pointer;
1356
- top: 50%;
1357
- left: 30px;
1358
- margin-top: -25px;
1359
- position: absolute;
1360
- z-index: 110;
1361
- }
1362
- .ms-skin-light-3 .ms-nav-next {
1363
- right: 30px;
1364
- left: auto;
1365
- background-position: -81px -99px;
1366
- }
1367
-
1368
- .ms-skin-light-3 .ms-bullets.ms-dir-h {
1369
- position: absolute;
1370
- bottom: 20px;
1371
- right: 50%;
1372
- width: 100px;
1373
- }
1374
-
1375
- .ms-skin-light-3 .ms-bullets.ms-dir-h .ms-bullets-count {
1376
- position: relative;
1377
- right: -50%;
1378
- }
1379
-
1380
- .ms-skin-light-3 .ms-bullet {
1381
- width: 16px;
1382
- height: 16px;
1383
- background: url(skins/light-skin-3.png) no-repeat;
1384
- background-position: -31px -114px;
1385
- margin: 4px;
1386
- }
1387
-
1388
- .ms-skin-light-3 .ms-bullet-selected {
1389
- background-position: -31px -81px;
1390
- }
1391
-
1392
- .ms-skin-light-3 .ms-tooltip{
1393
- position: absolute;
1394
- z-index: 210;
1395
- cursor: auto;
1396
- }
1397
-
1398
- .ms-skin-light-3 .ms-tooltip-top .ms-tooltip-arrow,
1399
- .ms-skin-light-3 .ms-tooltip-bottom .ms-tooltip-arrow{
1400
- border-left: solid 10px transparent;
1401
- border-right: solid 10px transparent;
1402
- position: absolute;
1403
- left: 50%;
1404
- margin-left: -10px;
1405
- }
1406
-
1407
- .ms-skin-light-3 .ms-tooltip-top .ms-tooltip-arrow{
1408
- border-top: solid 10px;
1409
- border-top-color: silver;
1410
- border-top-color: rgba(240, 240, 240, 0.88);
1411
- bottom: -10px;
1412
- }
1413
-
1414
- .ms-skin-light-3 .ms-tooltip-bottom .ms-tooltip-arrow {
1415
- border-bottom: solid 10px;
1416
- border-bottom-color: silver;
1417
- border-bottom-color: rgba(240, 240, 240, 0.88);
1418
- top: -10px;
1419
- }
1420
-
1421
- .ms-skin-light-3 .ms-tooltip-right .ms-tooltip-arrow,
1422
- .ms-skin-light-3 .ms-tooltip-left .ms-tooltip-arrow{
1423
- border-top: solid 10px transparent;
1424
- border-bottom: solid 10px transparent;
1425
- position: absolute;
1426
- top: 50%;
1427
- margin-top: -10px;
1428
- }
1429
-
1430
- .ms-skin-light-3 .ms-tooltip-right .ms-tooltip-arrow{
1431
- border-right: solid 10px;
1432
- border-right-color: silver;
1433
- border-right-color: rgba(240, 240, 240, 0.88);
1434
- left: -10px;
1435
- }
1436
-
1437
- .ms-skin-light-3 .ms-tooltip-left .ms-tooltip-arrow {
1438
- border-left: solid 10px;
1439
- border-left-color: silver;
1440
- border-left-color: rgba(240, 240, 240, 0.88);
1441
- right: -10px;
1442
- }
1443
-
1444
- .ms-skin-light-3 .ms-tooltip-point {cursor: pointer;}
1445
- .ms-skin-light-3 .ms-tooltip-point .ms-point-center {
1446
- width: 12px;
1447
- height: 12px;
1448
- border-radius: 15px;
1449
- border: solid 2px #BBB;
1450
- background: white;
1451
- margin: -8px 0 0 -8px;
1452
- position: absolute;
1453
- z-index: 105;
1454
- }
1455
-
1456
- .ms-skin-light-3 .ms-tooltip-point .ms-point-border {
1457
- width: 22px;
1458
- height: 22px;
1459
- background: black;
1460
- background:rgba(0, 0, 0, 0.36);
1461
- margin: -11px 0 0 -11px;
1462
- position: absolute;
1463
- border-radius: 15px;
1464
-
1465
- animation: point-anim 1.5s infinite ;
1466
- -moz-animation: point-anim 1.5s infinite;
1467
- -webkit-animation: point-anim 1.5s infinite;
1468
- -o-animation: point-anim 1.5s infinite;
1469
- }
1470
-
1471
- .ms-skin-light-3 .ms-tooltip {
1472
- max-width:200px;
1473
- }
1474
-
1475
- .ms-skin-light-3 .ms-tooltip-cont {
1476
- padding: 10px;
1477
- background: silver;
1478
- background: rgba(240, 240, 240, 0.88);
1479
- text-shadow: 0 1px 0px white;
1480
- box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
1481
- }
1482
-
1483
- /* retina */
1484
- @media
1485
- only screen and (-webkit-min-device-pixel-ratio: 2),
1486
- only screen and ( min--moz-device-pixel-ratio: 2),
1487
- only screen and ( -o-min-device-pixel-ratio: 2/1),
1488
- only screen and ( min-device-pixel-ratio: 2),
1489
- only screen and ( min-resolution: 192dpi),
1490
- only screen and ( min-resolution: 2dppx) {
1491
-
1492
- .ms-skin-light-3 .ms-slide .ms-slide-vpbtn,
1493
- .ms-skin-light-3 .ms-video-btn,
1494
- .ms-skin-light-3 .ms-slide .ms-slide-vcbtn,
1495
- .ms-skin-light-3 .ms-nav-next,
1496
- .ms-skin-light-3 .ms-nav-prev,
1497
- .ms-skin-light-3 .ms-bullet{
1498
- background-image:url(skins/light-skin-3-retina.png);
1499
- background-size: 152px 225px;
1500
- }
1501
-
1502
- }
1503
-
1504
-
1505
-
1506
- /**
1507
- * Master Slider
1508
- * Light 4
1509
- */
1510
-
1511
- .ms-skin-light-4 .ms-slide .ms-slide-vpbtn,
1512
- .ms-skin-light-4 .ms-video-btn{
1513
- width: 54px;
1514
- height: 54px;
1515
- background: url(skins/light-skin-4.png) no-repeat -14px -150px;
1516
- top: 50%;
1517
- left: 50%;
1518
- margin: -27px 0 0 -27px;
1519
- }
1520
-
1521
- .ms-skin-light-4 .ms-slide .ms-slide-vcbtn {
1522
- width: 27px;
1523
- height: 26px;
1524
- background: url(skins/light-skin-4.png) no-repeat -24px -29px;
1525
- top: 30px;
1526
- right: 30px;
1527
- }
1528
-
1529
- /* controls */
1530
-
1531
- .ms-skin-light-4 .ms-nav-next,
1532
- .ms-skin-light-4 .ms-nav-prev {
1533
- width: 54px;
1534
- background: url(skins/light-skin-4.png);
1535
- background-position: -77px -5px;
1536
- height: 68px;
1537
- cursor: pointer;
1538
- top: 50%;
1539
- left: -27px;
1540
- margin-top: -40px;
1541
- position: absolute;
1542
- z-index: 110;
1543
- }
1544
- .ms-skin-light-4 .ms-nav-next {
1545
- right: -27px;
1546
- left: auto;
1547
- background-position: -79px -83px;
1548
- }
1549
-
1550
- .ms-skin-light-4 .ms-thumb-frame-selected {
1551
- opacity: 0.6;
1552
- }
1553
-
1554
- .ms-skin-light-4 .ms-thumb-list.ms-dir-h {
1555
- bottom: -60px;
1556
- width: 100%;
1557
- height: 60px;
1558
- }
1559
-
1560
- .ms-skin-light-4 .ms-thumb-list.ms-dir-v {
1561
- height: 100%;
1562
- width: 60px;
1563
- right: -60px;
1564
- top: 0;
1565
- }
1566
-
1567
- .ms-skin-light-4 .ms-thumb-frame {
1568
- cursor: pointer;
1569
- float: left;
1570
- width: 60px;
1571
- height: 60px;
1572
- margin: 1px 0 0 1px;
1573
- overflow: hidden;
1574
- }
1575
-
1576
- .ms-skin-light-4 .ms-bullets.ms-dir-h {
1577
- position: absolute;
1578
- bottom: 20px;
1579
- right: 50%;
1580
- width: 100px;
1581
- }
1582
-
1583
- .ms-skin-light-4 .ms-bullets.ms-dir-h .ms-bullets-count {
1584
- position: relative;
1585
- right: -50%;
1586
- }
1587
-
1588
- .ms-skin-light-4 .ms-bullet {
1589
- width: 9px;
1590
- height: 9px;
1591
- background: #b9b9b9;
1592
- margin: 4px;
1593
- border: solid 1px rgb(163, 163, 163);
1594
- }
1595
-
1596
- .ms-skin-light-4 .ms-bullet-selected {
1597
- background-color: white;
1598
- }
1599
-
1600
- .ms-skin-light-4 .ms-tooltip{
1601
- position: absolute;
1602
- z-index: 210;
1603
- cursor: auto;
1604
- }
1605
-
1606
- .ms-skin-light-4 .ms-tooltip-top .ms-tooltip-arrow,
1607
- .ms-skin-light-4 .ms-tooltip-bottom .ms-tooltip-arrow{
1608
- border-left: solid 10px transparent;
1609
- border-right: solid 10px transparent;
1610
- position: absolute;
1611
- left: 50%;
1612
- margin-left: -10px;
1613
- }
1614
-
1615
- .ms-skin-light-4 .ms-tooltip-top .ms-tooltip-arrow{
1616
- border-top: solid 10px;
1617
- border-top-color: silver;
1618
- border-top-color: rgba(240, 240, 240, 0.88);
1619
- bottom: -10px;
1620
- }
1621
-
1622
- .ms-skin-light-4 .ms-tooltip-bottom .ms-tooltip-arrow {
1623
- border-bottom: solid 10px;
1624
- border-bottom-color: silver;
1625
- border-bottom-color: rgba(240, 240, 240, 0.88);
1626
- top: -10px;
1627
- }
1628
-
1629
- .ms-skin-light-4 .ms-tooltip-right .ms-tooltip-arrow,
1630
- .ms-skin-light-4 .ms-tooltip-left .ms-tooltip-arrow{
1631
- border-top: solid 10px transparent;
1632
- border-bottom: solid 10px transparent;
1633
- position: absolute;
1634
- top: 50%;
1635
- margin-top: -10px;
1636
- }
1637
-
1638
- .ms-skin-light-4 .ms-tooltip-right .ms-tooltip-arrow{
1639
- border-right: solid 10px;
1640
- border-right-color: silver;
1641
- border-right-color: rgba(240, 240, 240, 0.88);
1642
- left: -10px;
1643
- }
1644
-
1645
- .ms-skin-light-4 .ms-tooltip-left .ms-tooltip-arrow {
1646
- border-left: solid 10px;
1647
- border-left-color: white;
1648
- border-left-color: rgba(240, 240, 240, 0.88);
1649
- right: -10px;
1650
- }
1651
-
1652
- .ms-skin-light-4 .ms-tooltip-point {cursor: pointer;}
1653
- .ms-skin-light-4 .ms-tooltip-point .ms-point-center {
1654
- width: 12px;
1655
- height: 12px;
1656
- border-radius: 15px;
1657
- border: solid 2px #E0E0E0;
1658
- background: #4b8aac;
1659
- margin: -8px 0 0 -8px;
1660
- position: absolute;
1661
- z-index: 105;
1662
- }
1663
-
1664
- .ms-skin-light-4 .ms-tooltip-point .ms-point-border {
1665
- width: 22px;
1666
- height: 22px;
1667
- background: white;
1668
- margin: -11px 0 0 -11px;
1669
- position: absolute;
1670
- border-radius: 15px;
1671
-
1672
- animation: point-anim 1.5s infinite ;
1673
- -moz-animation: point-anim 1.5s infinite;
1674
- -webkit-animation: point-anim 1.5s infinite;
1675
- -o-animation: point-anim 1.5s infinite;
1676
- }
1677
-
1678
-
1679
- .ms-skin-light-4 .ms-tooltip {
1680
- max-width:200px;
1681
- }
1682
-
1683
- .ms-skin-light-4 .ms-tooltip-cont {
1684
- padding: 10px;
1685
- background: silver;
1686
- background: rgba(240, 240, 240, 0.88);
1687
- text-shadow: 0 1px 0px white;
1688
- box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
1689
- }
1690
-
1691
- /* retina */
1692
- @media
1693
- only screen and (-webkit-min-device-pixel-ratio: 2),
1694
- only screen and ( min--moz-device-pixel-ratio: 2),
1695
- only screen and ( -o-min-device-pixel-ratio: 2/1),
1696
- only screen and ( min-device-pixel-ratio: 2),
1697
- only screen and ( min-resolution: 192dpi),
1698
- only screen and ( min-resolution: 2dppx) {
1699
-
1700
- .ms-skin-light-4 .ms-slide .ms-slide-vpbtn,
1701
- .ms-skin-light-4 .ms-video-btn,
1702
- .ms-skin-light-4 .ms-slide .ms-slide-vcbtn,
1703
- .ms-skin-light-4 .ms-nav-next,
1704
- .ms-skin-light-4 .ms-nav-prev{
1705
- background-image:url(skins/light-skin-4-retina.png);
1706
- background-size: 152px 225px;
1707
- }
1708
-
1709
- }
1710
-
1711
-
1712
-
1713
- /**
1714
- * Master Slider
1715
- * Light 5
1716
- */
1717
-
1718
- .ms-skin-light-5 .ms-slide .ms-slide-vpbtn,
1719
- .ms-skin-light-5 .ms-video-btn{
1720
- width: 32px;
1721
- height: 32px;
1722
- background: url(skins/light-skin-5.png) black no-repeat -24px -160px;
1723
- top: 50%;
1724
- left: 50%;
1725
- margin: -18px 0 0 -18px;
1726
- }
1727
-
1728
- .ms-skin-light-5 .ms-slide .ms-slide-vpbtn:hover,
1729
- .ms-skin-light-5 .ms-video-btn:hover{
1730
- background-color:#646464;
1731
- }
1732
-
1733
- .ms-skin-light-5 .ms-slide .ms-slide-vcbtn {
1734
- width: 30px;
1735
- height: 30px;
1736
- background: url(skins/light-skin-5.png) white no-repeat -24px -28px;
1737
- top: 18px;
1738
- right: 30px;
1739
- }
1740
-
1741
- /* controls */
1742
-
1743
- .ms-skin-light-5 .ms-nav-next,
1744
- .ms-skin-light-5 .ms-nav-prev {
1745
- width: 32px;
1746
- background: url(skins/light-skin-5.png) white;
1747
- background-position: -94px -32px;
1748
- height: 32px;
1749
- cursor: pointer;
1750
- bottom: 40px;
1751
- left: 40px;
1752
- margin-top: -20px;
1753
- position: absolute;
1754
- z-index: 110;
1755
- }
1756
-
1757
- .ms-skin-light-5 .ms-nav-next:hover,
1758
- .ms-skin-light-5 .ms-nav-prev:hover{
1759
- background-color:#E0E0E0;
1760
- }
1761
-
1762
- .ms-skin-light-5 .ms-nav-next {
1763
- left: 73px;
1764
- background-position: -93px -110px;
1765
- }
1766
-
1767
- .ms-skin-light-5 .ms-bullets.ms-dir-h {
1768
- position: absolute;
1769
- bottom: 20px;
1770
- right: 50%;
1771
- width: 100px;
1772
- }
1773
-
1774
- .ms-skin-light-5 .ms-bullets.ms-dir-h .ms-bullets-count {
1775
- position: relative;
1776
- right: -50%;
1777
- }
1778
-
1779
- .ms-skin-light-5 .ms-bullet {
1780
- width: 10px;
1781
- height: 10px;
1782
- background: url(skins/light-skin-5.png) no-repeat;
1783
- margin: 4px;
1784
- background-position: -34px -117px;
1785
- }
1786
-
1787
- .ms-skin-light-5 .ms-bullet-selected {
1788
- background-position: -34px -84px;
1789
- }
1790
-
1791
- .ms-skin-light-5 .ms-tooltip{
1792
- position: absolute;
1793
- z-index: 210;
1794
- cursor: auto;
1795
- }
1796
-
1797
- .ms-skin-light-5 .ms-tooltip-top .ms-tooltip-arrow,
1798
- .ms-skin-light-5 .ms-tooltip-bottom .ms-tooltip-arrow{
1799
- border-left: solid 10px transparent;
1800
- border-right: solid 10px transparent;
1801
- position: absolute;
1802
- left: 50%;
1803
- margin-left: -10px;
1804
- }
1805
-
1806
- .ms-skin-light-5 .ms-tooltip-top .ms-tooltip-arrow{
1807
- border-top: solid 10px;
1808
- border-top-color: silver;
1809
- border-top-color: rgba(240, 240, 240, 0.88);
1810
- bottom: -10px;
1811
- }
1812
-
1813
- .ms-skin-light-5 .ms-tooltip-bottom .ms-tooltip-arrow {
1814
- border-bottom: solid 10px;
1815
- border-bottom-color: silver;
1816
- border-bottom-color: rgba(240, 240, 240, 0.88);
1817
- top: -10px;
1818
- }
1819
-
1820
- .ms-skin-light-5 .ms-tooltip-right .ms-tooltip-arrow,
1821
- .ms-skin-light-5 .ms-tooltip-left .ms-tooltip-arrow{
1822
- border-top: solid 10px transparent;
1823
- border-bottom: solid 10px transparent;
1824
- position: absolute;
1825
- top: 50%;
1826
- margin-top: -10px;
1827
- }
1828
-
1829
- .ms-skin-light-5 .ms-tooltip-right .ms-tooltip-arrow{
1830
- border-right: solid 10px;
1831
- border-right-color: silver;
1832
- border-right-color: rgba(240, 240, 240, 0.88);
1833
- left: -10px;
1834
- }
1835
-
1836
- .ms-skin-light-5 .ms-tooltip-left .ms-tooltip-arrow {
1837
- border-left: solid 10px;
1838
- border-left-color: silver;
1839
- border-left-color: rgba(240, 240, 240, 0.88);
1840
- right: -10px;
1841
- }
1842
-
1843
- .ms-skin-light-5 .ms-tooltip-point {cursor: pointer;}
1844
- .ms-skin-light-5 .ms-tooltip-point .ms-point-center {
1845
- width: 12px;
1846
- height: 12px;
1847
- border-radius: 15px;
1848
- border: solid 2px #BBB;
1849
- background: white;
1850
- margin: -8px 0 0 -8px;
1851
- position: absolute;
1852
- z-index: 105;
1853
- }
1854
-
1855
- .ms-skin-light-5 .ms-tooltip-point .ms-point-border {
1856
- width: 22px;
1857
- height: 22px;
1858
- background: black;
1859
- background:rgba(0, 0, 0, 0.36);
1860
- margin: -11px 0 0 -11px;
1861
- position: absolute;
1862
- border-radius: 15px;
1863
-
1864
- animation: point-anim 1.5s infinite ;
1865
- -moz-animation: point-anim 1.5s infinite;
1866
- -webkit-animation: point-anim 1.5s infinite;
1867
- -o-animation: point-anim 1.5s infinite;
1868
- }
1869
-
1870
- /* In Android browser, using css animations over slider causes some crashes */
1871
- .ms-android.ms-skin-light-5 .ms-tooltip-point .ms-point-border{
1872
- animation:none;
1873
- -moz-animation:none;
1874
- -webkit-animation:none;
1875
- -o-animation:none;
1876
- }
1877
-
1878
- .ms-ie7.ms-skin-light-5 .ms-tooltip-point .ms-point-border,
1879
- .ms-ie8.ms-skin-light-5 .ms-tooltip-point .ms-point-border{
1880
- display: none;
1881
- }
1882
-
1883
- .ms-skin-light-5 .ms-tooltip {
1884
- max-width:200px;
1885
- }
1886
-
1887
- .ms-skin-light-5 .ms-tooltip-cont {
1888
- padding: 10px;
1889
- background: silver;
1890
- background: rgba(240, 240, 240, 0.88);
1891
- text-shadow: 0 1px 0px white;
1892
- box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
1893
- }
1894
-
1895
- /* retina */
1896
- @media
1897
- only screen and (-webkit-min-device-pixel-ratio: 2),
1898
- only screen and ( min--moz-device-pixel-ratio: 2),
1899
- only screen and ( -o-min-device-pixel-ratio: 2/1),
1900
- only screen and ( min-device-pixel-ratio: 2),
1901
- only screen and ( min-resolution: 192dpi),
1902
- only screen and ( min-resolution: 2dppx) {
1903
-
1904
- .ms-skin-light-5 .ms-slide .ms-slide-vpbtn,
1905
- .ms-skin-light-5 .ms-video-btn,
1906
- .ms-skin-light-5 .ms-slide .ms-slide-vcbtn,
1907
- .ms-skin-light-5 .ms-nav-next,
1908
- .ms-skin-light-5 .ms-nav-prev{
1909
- background-image:url(skins/light-skin-5-retina.png);
1910
- background-size: 152px 225px;
1911
- }
1912
-
1913
- }
1914
-
1915
-
1916
-
1917
- /**
1918
- * Master Slider
1919
- * Light-6 Skin
1920
- */
1921
-
1922
- .ms-skin-light-6 .ms-slide .ms-slide-vpbtn,
1923
- .ms-skin-light-6 .ms-video-btn{
1924
- width: 45px;
1925
- height: 45px;
1926
- background: url(skins/light-skin-6.png) white no-repeat -16px -103px;
1927
- border: solid 3px rgb(112, 112, 112); border-color: rgba(0, 0, 0, 0.27);
1928
- -webkit-background-clip: padding-box;
1929
- top: 50%;
1930
- left: 50%;
1931
- margin: -23px 0 0 -23px;
1932
- }
1933
-
1934
- .ms-skin-light-6 .ms-slide .ms-slide-vpbtn:hover,
1935
- .ms-skin-light-6 .ms-video-btn:hover{
1936
- background-color:#E0E0E0;
1937
- }
1938
-
1939
- .ms-skin-light-6 .ms-slide .ms-slide-vcbtn {
1940
- width: 25px;
1941
- height: 25px;
1942
- background: url(skins/light-skin-6.png) white no-repeat -27px -36px;
1943
- top: 15px;
1944
- right: 15px;
1945
- }
1946
-
1947
- .ms-skin-light-6.round-skin .ms-slide .ms-slide-vcbtn{
1948
- border-radius: 30px;
1949
- }
1950
-
1951
-
1952
- /* controls */
1953
-
1954
- .ms-skin-light-6 .ms-nav-next,
1955
- .ms-skin-light-6 .ms-nav-prev {
1956
- position: absolute;
1957
- cursor: pointer;
1958
- z-index: 110;
1959
- width: 45px;
1960
- height: 45px;
1961
- background: url(skins/light-skin-6.png) white;
1962
- -webkit-background-clip: padding-box;
1963
- -moz-background-clip: padding-box;
1964
- background-clip: padding-box;
1965
- background-position: -88px -26px;
1966
- border: solid 3px rgb(112, 112, 112);
1967
- border-color: rgba(0, 0, 0, 0.27);
1968
- top: 50%;
1969
- left: 30px;
1970
- margin-top: -22px;
1971
- }
1972
-
1973
- .ms-skin-light-6.round-skin .ms-nav-next,
1974
- .ms-skin-light-6.round-skin .ms-nav-prev,
1975
- .ms-skin-light-6.round-skin .ms-slide .ms-slide-vpbtn,
1976
- .ms-skin-light-6.round-skin .ms-video-btn{
1977
- border-radius: 90px;
1978
- }
1979
-
1980
- .ms-skin-light-6 .ms-nav-next:hover,
1981
- .ms-skin-light-6 .ms-nav-prev:hover{
1982
- background-color:#E0E0E0;
1983
- }
1984
-
1985
- .ms-skin-light-6 .ms-nav-next {
1986
- right: 30px;
1987
- left: auto;
1988
- background-position: -86px -103px;
1989
- }
1990
-
1991
-
1992
- .ms-skin-light-6 .ms-bullets.ms-dir-h {
1993
- position: absolute;
1994
- bottom: 20px;
1995
- right: 50%;
1996
- width: 100px;
1997
- }
1998
-
1999
- .ms-skin-light-6 .ms-bullets.ms-dir-h .ms-bullets-count {
2000
- position: relative;
2001
- right: -50%;
2002
- }
2003
-
2004
- .ms-skin-light-6 .ms-bullet {
2005
- width: 8px;
2006
- height: 8px;
2007
- background: black;
2008
- -webkit-background-clip: padding-box;
2009
- border: solid 3px white;
2010
- border-color: rgba(255, 255, 255, 0.44);
2011
- margin: 4px;
2012
- background-position: -34px -117px;
2013
- }
2014
-
2015
- .ms-skin-light-6.round-skin .ms-bullet{
2016
- border-radius: 15px;
2017
- }
2018
-
2019
- .ms-skin-light-6 .ms-bullet-selected {
2020
- background-color: white;
2021
- border-color: black;
2022
- border-color: rgba(0, 0, 0, 0.44);
2023
- }
2024
-
2025
- .ms-skin-light-6 .ms-tooltip{
2026
- position: absolute;
2027
- z-index: 210;
2028
- cursor: auto;
2029
- }
2030
-
2031
- .ms-skin-light-6 .ms-tooltip-top .ms-tooltip-arrow,
2032
- .ms-skin-light-6 .ms-tooltip-bottom .ms-tooltip-arrow{
2033
- border-left: solid 10px transparent;
2034
- border-right: solid 10px transparent;
2035
- position: absolute;
2036
- left: 50%;
2037
- margin-left: -10px;
2038
- }
2039
-
2040
- .ms-skin-light-6 .ms-tooltip-top .ms-tooltip-arrow{
2041
- border-top: solid 10px;
2042
- border-top-color: silver;
2043
- border-top-color: rgba(240, 240, 240, 0.88);
2044
- bottom: -10px;
2045
- }
2046
-
2047
- .ms-skin-light-6 .ms-tooltip-bottom .ms-tooltip-arrow {
2048
- border-bottom: solid 10px;
2049
- border-bottom-color: silver;
2050
- border-bottom-color: rgba(240, 240, 240, 0.88);
2051
- top: -10px;
2052
- }
2053
-
2054
- .ms-skin-light-6 .ms-tooltip-right .ms-tooltip-arrow,
2055
- .ms-skin-light-6 .ms-tooltip-left .ms-tooltip-arrow{
2056
- border-top: solid 10px transparent;
2057
- border-bottom: solid 10px transparent;
2058
- position: absolute;
2059
- top: 50%;
2060
- margin-top: -10px;
2061
- }
2062
-
2063
- .ms-skin-light-6 .ms-tooltip-right .ms-tooltip-arrow{
2064
- border-right: solid 10px;
2065
- border-right-color: silver;
2066
- border-right-color: rgba(240, 240, 240, 0.88);
2067
- left: -10px;
2068
- }
2069
-
2070
- .ms-skin-light-6 .ms-tooltip-left .ms-tooltip-arrow {
2071
- border-left: solid 10px;
2072
- border-left-color: silver;
2073
- border-left-color: rgba(240, 240, 240, 0.88);
2074
- right: -10px;
2075
- }
2076
-
2077
- .ms-skin-light-6 .ms-tooltip-point {cursor: pointer;}
2078
- .ms-skin-light-6 .ms-tooltip-point .ms-point-center {
2079
- width: 12px;
2080
- height: 12px;
2081
- border-radius: 15px;
2082
- border: solid 2px #BBB;
2083
- background: white;
2084
- margin: -8px 0 0 -8px;
2085
- position: absolute;
2086
- z-index: 105;
2087
- }
2088
-
2089
- .ms-skin-light-6 .ms-tooltip-point .ms-point-border {
2090
- width: 22px;
2091
- height: 22px;
2092
- background: black;
2093
- background:rgba(0, 0, 0, 0.36);
2094
- margin: -11px 0 0 -11px;
2095
- position: absolute;
2096
- border-radius: 15px;
2097
-
2098
- animation: point-anim 1.5s infinite ;
2099
- -moz-animation: point-anim 1.5s infinite;
2100
- -webkit-animation: point-anim 1.5s infinite;
2101
- -o-animation: point-anim 1.5s infinite;
2102
- }
2103
-
2104
- .ms-ie7.ms-skin-light-6 .ms-tooltip-point .ms-point-border,
2105
- .ms-ie8.ms-skin-light-6 .ms-tooltip-point .ms-point-border{
2106
- display: none;
2107
- }
2108
-
2109
- .ms-skin-light-6 .ms-tooltip {
2110
- max-width:200px;
2111
- }
2112
-
2113
- .ms-skin-light-6 .ms-tooltip-cont {
2114
- padding: 10px;
2115
- background: silver;
2116
- background: rgba(240, 240, 240, 0.88);
2117
- text-shadow: 0 1px 0px white;
2118
- box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
2119
- }
2120
-
2121
- /* retina */
2122
- @media
2123
- only screen and (-webkit-min-device-pixel-ratio: 2),
2124
- only screen and ( min--moz-device-pixel-ratio: 2),
2125
- only screen and ( -o-min-device-pixel-ratio: 2/1),
2126
- only screen and ( min-device-pixel-ratio: 2),
2127
- only screen and ( min-resolution: 192dpi),
2128
- only screen and ( min-resolution: 2dppx) {
2129
-
2130
- .ms-skin-light-6 .ms-slide .ms-slide-vpbtn,
2131
- .ms-skin-light-6 .ms-video-btn,
2132
- .ms-skin-light-6 .ms-slide .ms-slide-vcbtn,
2133
- .ms-skin-light-6 .ms-nav-next,
2134
- .ms-skin-light-6 .ms-nav-prev{
2135
- background-image:url(skins/light-skin-6-retina.png);
2136
- background-size: 152px 225px;
2137
- }
2138
-
2139
  }
2140
 
2141
 
2142
-
2143
  /**
2144
  * Master Slider
2145
- * Metro Skin
2146
  */
2147
 
2148
- .ms-skin-metro .ms-slide .ms-slide-vpbtn,
2149
- .ms-skin-metro .ms-video-btn{
2150
- width: 47px;
2151
- height: 46px;
2152
- background: url(skins/metro-skin.png) no-repeat -16px -152px;
2153
- top: 50%;
2154
- left: 50%;
2155
- margin: -22px 0 0 -24px;
2156
- }
2157
-
2158
- .ms-skin-metro .ms-slide .ms-slide-vcbtn {
2159
- width: 47px;
2160
- height: 47px;
2161
- background: url(skins/metro-skin.png) no-repeat -16px -19px;
2162
- top: 15px;
2163
- right: 15px;
2164
- }
2165
-
2166
- /* controls */
2167
-
2168
- .ms-skin-metro .ms-nav-next,
2169
- .ms-skin-metro .ms-nav-prev {
2170
- width: 47px;
2171
- background: url(skins/metro-skin.png);
2172
- background-position: -83px -23px;
2173
- height: 47px;
2174
- cursor: pointer;
2175
- top: 50%;
2176
- left: 30px;
2177
- margin-top: -24px;
2178
- position: absolute;
2179
- z-index: 110;
2180
- }
2181
- .ms-skin-metro .ms-nav-next {
2182
- right: 30px;
2183
- left: auto;
2184
- background-position: -81px -100px;
2185
- }
2186
-
2187
- .ms-skin-metro .ms-bullets.ms-dir-h {
2188
- position: absolute;
2189
- bottom: 20px;
2190
- right: 50%;
2191
- width: 100px;
2192
- }
2193
-
2194
- .ms-skin-metro .ms-bullets.ms-dir-h .ms-bullets-count {
2195
- position: relative;
2196
- right: -50%;
2197
- }
2198
-
2199
- .ms-skin-metro .ms-bullet {
2200
- width: 16px;
2201
- height: 16px;
2202
- background: url(skins/metro-skin.png) no-repeat;
2203
- background-position: -31px -114px;
2204
- margin: 4px;
2205
- }
2206
-
2207
- .ms-skin-metro .ms-bullet-selected {
2208
- background-position: -31px -81px;
2209
- }
2210
-
2211
- .ms-skin-metro .ms-tooltip{
2212
- position: absolute;
2213
- z-index: 210;
2214
- cursor: auto;
2215
- }
2216
-
2217
- .ms-skin-metro .ms-tooltip-top .ms-tooltip-arrow,
2218
- .ms-skin-metro .ms-tooltip-bottom .ms-tooltip-arrow{
2219
- border-left: solid 10px transparent;
2220
- border-right: solid 10px transparent;
2221
- position: absolute;
2222
- left: 50%;
2223
- margin-left: -10px;
2224
- }
2225
-
2226
- .ms-skin-metro .ms-tooltip-top .ms-tooltip-arrow{
2227
- border-top: solid 10px;
2228
- border-top-color: silver;
2229
- border-top-color: rgba(240, 240, 240, 0.88);
2230
- bottom: -10px;
2231
- }
2232
-
2233
- .ms-skin-metro .ms-tooltip-bottom .ms-tooltip-arrow {
2234
- border-bottom: solid 10px;
2235
- border-bottom-color: silver;
2236
- border-bottom-color: rgba(240, 240, 240, 0.88);
2237
- top: -10px;
2238
- }
2239
-
2240
- .ms-skin-metro .ms-tooltip-right .ms-tooltip-arrow,
2241
- .ms-skin-metro .ms-tooltip-left .ms-tooltip-arrow{
2242
- border-top: solid 10px transparent;
2243
- border-bottom: solid 10px transparent;
2244
- position: absolute;
2245
- top: 50%;
2246
- margin-top: -10px;
2247
- }
2248
-
2249
- .ms-skin-metro .ms-tooltip-right .ms-tooltip-arrow{
2250
- border-right: solid 10px;
2251
- border-right-color: silver;
2252
- border-right-color: rgba(240, 240, 240, 0.88);
2253
- left: -10px;
2254
- }
2255
-
2256
- .ms-skin-metro .ms-tooltip-left .ms-tooltip-arrow {
2257
- border-left: solid 10px;
2258
- border-left-color: silver;
2259
- border-left-color: rgba(240, 240, 240, 0.88);
2260
- right: -10px;
2261
- }
2262
-
2263
- .ms-skin-metro .ms-tooltip-point {cursor: pointer;}
2264
- .ms-skin-metro .ms-tooltip-point .ms-point-center {
2265
- width: 12px;
2266
- height: 12px;
2267
- border-radius: 15px;
2268
- border: solid 2px #BBB;
2269
- background: white;
2270
- margin: -8px 0 0 -8px;
2271
- position: absolute;
2272
- z-index: 105;
2273
- }
2274
-
2275
- .ms-skin-metro .ms-tooltip-point .ms-point-border {
2276
- width: 22px;
2277
- height: 22px;
2278
- background: black;
2279
- background:rgba(0, 0, 0, 0.36);
2280
- margin: -11px 0 0 -11px;
2281
- position: absolute;
2282
- border-radius: 15px;
2283
-
2284
- animation: point-anim 1.5s infinite ;
2285
- -moz-animation: point-anim 1.5s infinite;
2286
- -webkit-animation: point-anim 1.5s infinite;
2287
- -o-animation: point-anim 1.5s infinite;
2288
- }
2289
-
2290
- .ms-skin-metro .ms-tooltip {
2291
- max-width:200px;
2292
- }
2293
-
2294
- .ms-skin-metro .ms-tooltip-cont {
2295
- padding: 10px;
2296
- background: silver;
2297
- background: rgba(240, 240, 240, 0.88);
2298
- text-shadow: 0 1px 0px white;
2299
- box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
2300
- }
2301
-
2302
- /* retina */
2303
- @media
2304
- only screen and (-webkit-min-device-pixel-ratio: 2),
2305
- only screen and ( min--moz-device-pixel-ratio: 2),
2306
- only screen and ( -o-min-device-pixel-ratio: 2/1),
2307
- only screen and ( min-device-pixel-ratio: 2),
2308
- only screen and ( min-resolution: 192dpi),
2309
- only screen and ( min-resolution: 2dppx) {
2310
-
2311
- .ms-skin-metro .ms-slide .ms-slide-vpbtn,
2312
- .ms-skin-metro .ms-video-btn,
2313
- .ms-skin-metro .ms-slide .ms-slide-vcbtn,
2314
- .ms-skin-metro .ms-nav-next,
2315
- .ms-skin-metro .ms-nav-prev,
2316
- .ms-skin-metro .ms-bullet{
2317
- background-image:url(skins/metro-skin-retina.png);
2318
- background-size: 152px 225px;
2319
- }
2320
-
2321
  }
2322
-
2323
-
2324
- /**
2325
- * Master Slider
2326
- * Contrast
2327
- */
2328
-
2329
- .ms-skin-contrast .ms-slide .ms-slide-vpbtn,
2330
- .ms-skin-contrast .ms-video-btn{
2331
- width: 60px;
2332
- height: 60px;
2333
- background: url(skins/contrast-skin.png) no-repeat -10px -144px;
2334
- top: 50%;
2335
- left: 50%;
2336
- margin: -30px 0 0 -30px;
2337
  }
2338
 
2339
- .ms-skin-contrast .ms-slide .ms-slide-vcbtn {
2340
- width: 24px;
2341
- height: 24px;
2342
- background: url(skins/contrast-skin.png) no-repeat -27px -30px;
2343
- top: 30px;
2344
- right: 30px;
 
 
 
2345
  }
2346
 
2347
  /* controls */
2348
 
2349
- .ms-skin-contrast .ms-nav-next,
2350
- .ms-skin-contrast .ms-nav-prev {
2351
- width: 60px;
2352
- background: url(skins/contrast-skin.png);
2353
- background-position: -76px -17px;
2354
- height: 60px;
2355
- cursor: pointer;
2356
- top: 50%;
2357
- left: 30px;
2358
- margin-top: -30px;
2359
- position: absolute;
2360
- z-index: 110;
2361
- }
2362
- .ms-skin-contrast .ms-nav-next {
2363
- right: 30px;
2364
- left: auto;
2365
- background-position: -77px -91px;
2366
  }
2367
 
2368
- .ms-skin-contrast .ms-bullets.ms-dir-h {
2369
- position: absolute;
2370
- bottom: 20px;
2371
- right: 50%;
2372
- width: 100px;
2373
  }
2374
 
2375
- .ms-skin-contrast .ms-bullets.ms-dir-h .ms-bullets-count {
2376
- position: relative;
2377
- right: -50%;
 
2378
  }
2379
 
2380
- .ms-skin-contrast .ms-bullet {
2381
- width: 16px;
2382
- height: 16px;
2383
- background: url(skins/contrast-skin.png) no-repeat;
2384
- background-position: -31px -114px;
2385
- margin: 4px;
 
 
2386
  }
2387
 
2388
- .ms-skin-contrast .ms-bullet-selected {
2389
- background-position: -31px -81px;
2390
  }
2391
 
2392
- .ms-skin-contrast .ms-tooltip{
2393
- position: absolute;
2394
- z-index: 210;
2395
- cursor: auto;
2396
- }
2397
 
2398
- .ms-skin-contrast .ms-tooltip-top .ms-tooltip-arrow,
2399
- .ms-skin-contrast .ms-tooltip-bottom .ms-tooltip-arrow{
2400
- border-left: solid 10px transparent;
2401
- border-right: solid 10px transparent;
2402
- position: absolute;
2403
- left: 50%;
2404
- margin-left: -10px;
2405
  }
2406
 
2407
- .ms-skin-contrast .ms-tooltip-top .ms-tooltip-arrow{
2408
- border-top: solid 10px;
2409
- border-top-color: #fc3116;
2410
- border-top-color: rgba(252, 49, 22, 0.8);
2411
- bottom: -10px;
2412
- }
2413
 
2414
- .ms-skin-contrast .ms-tooltip-bottom .ms-tooltip-arrow {
2415
- border-bottom: solid 10px;
2416
- border-bottom-color: #fc3116;
2417
- border-bottom-color: rgba(252, 49, 22, 0.8);
2418
- top: -10px;
2419
  }
2420
 
2421
- .ms-skin-contrast .ms-tooltip-right .ms-tooltip-arrow,
2422
- .ms-skin-contrast .ms-tooltip-left .ms-tooltip-arrow{
2423
- border-top: solid 10px transparent;
2424
- border-bottom: solid 10px transparent;
2425
- position: absolute;
2426
- top: 50%;
2427
- margin-top: -10px;
2428
  }
2429
 
2430
- .ms-skin-contrast .ms-tooltip-right .ms-tooltip-arrow{
2431
- border-right: solid 10px;
2432
- border-right-color: #fc3116;
2433
- border-right-color: rgba(252, 49, 22, 0.8);
2434
- left: -10px;
2435
  }
2436
 
2437
- .ms-skin-contrast .ms-tooltip-left .ms-tooltip-arrow {
2438
- border-left: solid 10px;
2439
- border-left-color: #fc3116;
2440
- border-left-color: rgba(252, 49, 22, 0.8);
2441
- right: -10px;
2442
  }
2443
 
2444
- .ms-skin-contrast .ms-tooltip-point {cursor: pointer;}
2445
- .ms-skin-contrast .ms-tooltip-point .ms-point-center {
2446
- width: 12px;
2447
- height: 12px;
2448
- border-radius: 15px;
2449
- border: solid 2px #636363;
2450
- background: black;
2451
- margin: -8px 0 0 -8px;
2452
- position: absolute;
2453
- z-index: 105;
2454
  }
2455
 
2456
- .ms-skin-contrast .ms-tooltip-point .ms-point-border {
2457
- width: 22px;
2458
- height: 22px;
2459
- background: white;
2460
- background: rgba(255, 255, 255, 0.99);
2461
- margin: -11px 0 0 -11px;
2462
- position: absolute;
2463
- border-radius: 15px;
2464
-
2465
- animation: point-anim 1.5s infinite ;
2466
- -moz-animation: point-anim 1.5s infinite;
2467
- -webkit-animation: point-anim 1.5s infinite;
2468
- -o-animation: point-anim 1.5s infinite;
2469
  }
2470
 
2471
- .ms-skin-contrast .ms-tooltip {
2472
- max-width:200px;
 
 
 
2473
  }
2474
 
2475
- .ms-skin-contrast .ms-tooltip-cont {
2476
- padding: 10px;
2477
- background: #fc3116;
2478
- background: rgba(252, 49, 22, 0.8);
2479
- text-shadow: 0 1px 0px rgba(0, 0, 0, 0.4);
2480
- color: white;
2481
- box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
 
 
 
2482
  }
2483
 
2484
- /* retina */
2485
- @media
2486
- only screen and (-webkit-min-device-pixel-ratio: 2),
2487
- only screen and ( min--moz-device-pixel-ratio: 2),
2488
- only screen and ( -o-min-device-pixel-ratio: 2/1),
2489
- only screen and ( min-device-pixel-ratio: 2),
2490
- only screen and ( min-resolution: 192dpi),
2491
- only screen and ( min-resolution: 2dppx) {
2492
-
2493
- .ms-skin-contrast .ms-slide .ms-slide-vpbtn,
2494
- .ms-skin-contrast .ms-video-btn,
2495
- .ms-skin-contrast .ms-slide .ms-slide-vcbtn,
2496
- .ms-skin-contrast .ms-nav-next,
2497
- .ms-skin-contrast .ms-nav-prev,
2498
- .ms-skin-contrast .ms-bullet{
2499
- background-image:url(skins/contrast-skin-retina.png);
2500
- background-size: 152px 225px;
2501
- }
2502
-
2503
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
  * Master Slider WordPress Lite Main CSS File
3
+ * @date Aug 2016
4
  */
5
 
6
 
522
  .ms-slide-info {position: absolute;}
523
  .ms-slide-info.ms-dir-v {top:0;}
524
  .ms-slide-info.ms-dir-h {width:100%;}
 
525
 
526
  .ms-pattern.ms-patt-1 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABRJREFUeNpiYICA/wzoDGTwHyDAADXxAv4Eq8S5AAAAAElFTkSuQmCC);}
527
  .ms-pattern.ms-patt-2 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABhJREFUeNpiYECA/wxogLAANoBdF0CAAQD+agT8l3ocpQAAAABJRU5ErkJggg==);}
557
 
558
 
559
 
560
+ /**
561
+ * Master Slider
562
+ * Default Skin
563
+ */
564
+
565
+ .ms-skin-default .ms-slide .ms-slide-vpbtn,
566
+ .ms-skin-default .ms-video-btn{
567
+ width: 50px;
568
+ height: 51px;
569
+ background: url(skins/light-skin-1.png) no-repeat -14px -150px;
570
+ top: 50%;
571
+ left: 50%;
572
+ margin: -25px 0 0 -25px;
573
+ }
574
+
575
+ .ms-skin-default .ms-slide .ms-slide-vcbtn {
576
+ width: 30px;
577
+ height: 30px;
578
+ background: url(skins/light-skin-1.png) no-repeat -24px -28px;
579
+ top: 18px;
580
+ right: 30px;
581
+ }
582
+
583
+ /* controls */
584
+
585
+ .ms-skin-default .ms-nav-next,
586
+ .ms-skin-default .ms-nav-prev {
587
+ width: 30px;
588
+ background: url(skins/light-skin-1.png);
589
+ background-position: -89px -26px;
590
+ height: 40px;
591
+ cursor: pointer;
592
+ top: 50%;
593
+ left: 30px;
594
+ margin-top: -20px;
595
+ position: absolute;
596
+ z-index: 110;
597
+ }
598
+ .ms-skin-default .ms-nav-next {
599
+ right: 30px;
600
+ left: auto;
601
+ background-position: -89px -103px;
602
+ }
603
+
604
+
605
+
606
+ .ms-skin-default .ms-bullet {
607
+ width: 10px;
608
+ height: 10px;
609
+ background: url(skins/light-skin-1.png) no-repeat;
610
+ margin: 4px;
611
+ background-position: -34px -117px;
612
+ }
613
+
614
+ .ms-skin-default .ms-bullet-selected {
615
+ background-position: -34px -84px;
616
+ }
617
+
618
+ .ms-skin-default .ms-tooltip{
619
+ position: absolute;
620
+ z-index: 210;
621
+ cursor: auto;
622
+ }
623
+
624
+ .ms-skin-default .ms-tooltip-top .ms-tooltip-arrow,
625
+ .ms-skin-default .ms-tooltip-bottom .ms-tooltip-arrow{
626
+ border-left: solid 10px transparent;
627
+ border-right: solid 10px transparent;
628
+ position: absolute;
629
+ left: 50%;
630
+ margin-left: -10px;
631
+ }
632
+
633
+ .ms-skin-default .ms-tooltip-top .ms-tooltip-arrow{
634
+ border-top: solid 10px;
635
+ border-top-color: silver;
636
+ border-top-color: rgba(240, 240, 240, 0.88);
637
+ bottom: -10px;
638
+ }
639
+
640
+ .ms-skin-default .ms-tooltip-bottom .ms-tooltip-arrow {
641
+ border-bottom: solid 10px;
642
+ border-bottom-color: silver;
643
+ border-bottom-color: rgba(240, 240, 240, 0.88);
644
+ top: -10px;
645
+ }
646
+
647
+ .ms-skin-default .ms-tooltip-right .ms-tooltip-arrow,
648
+ .ms-skin-default .ms-tooltip-left .ms-tooltip-arrow{
649
+ border-top: solid 10px transparent;
650
+ border-bottom: solid 10px transparent;
651
+ position: absolute;
652
+ top: 50%;
653
+ margin-top: -10px;
654
+ }
655
+
656
+ .ms-skin-default .ms-tooltip-right .ms-tooltip-arrow{
657
+ border-right: solid 10px;
658
+ border-right-color: silver;
659
+ border-right-color: rgba(240, 240, 240, 0.88);
660
+ left: -10px;
661
+ }
662
+
663
+ .ms-skin-default .ms-tooltip-left .ms-tooltip-arrow {
664
+ border-left: solid 10px;
665
+ border-left-color: silver;
666
+ border-left-color: rgba(240, 240, 240, 0.88);
667
+ right: -10px;
668
+ }
669
+
670
+ .ms-skin-default .ms-tooltip-point {cursor: pointer;}
671
+ .ms-skin-default .ms-tooltip-point .ms-point-center {
672
+ width: 12px;
673
+ height: 12px;
674
+ border-radius: 15px;
675
+ border: solid 2px #BBB;
676
+ background: white;
677
+ margin: -8px 0 0 -8px;
678
+ position: absolute;
679
+ z-index: 105;
680
+ }
681
+
682
+ .ms-skin-default .ms-tooltip-point .ms-point-border {
683
+ width: 22px;
684
+ height: 22px;
685
+ background: black;
686
+ background:rgba(0, 0, 0, 0.36);
687
+ margin: -11px 0 0 -11px;
688
+ position: absolute;
689
+ border-radius: 15px;
690
+
691
+ animation: point-anim 1.5s infinite ;
692
+ -moz-animation: point-anim 1.5s infinite;
693
+ -webkit-animation: point-anim 1.5s infinite;
694
+ -o-animation: point-anim 1.5s infinite;
695
+ }
696
+
697
+ .ms-skin-default .ms-tooltip {
698
+ max-width:200px;
699
+ }
700
+
701
+ .ms-skin-default .ms-tooltip-cont {
702
+ padding: 10px;
703
+ background: silver;
704
+ background: rgba(240, 240, 240, 0.88);
705
+ text-shadow: 0 1px 0px white;
706
+ margin-left: -1px;
707
+ }
708
+
709
+ /* retina */
710
+ @media
711
+ only screen and (-webkit-min-device-pixel-ratio: 2),
712
+ only screen and ( min--moz-device-pixel-ratio: 2),
713
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
714
+ only screen and ( min-device-pixel-ratio: 2),
715
+ only screen and ( min-resolution: 192dpi),
716
+ only screen and ( min-resolution: 2dppx) {
717
+
718
+ .ms-skin-default .ms-slide .ms-slide-vpbtn,
719
+ .ms-skin-default .ms-video-btn,
720
+ .ms-skin-default .ms-slide .ms-slide-vcbtn,
721
+ .ms-skin-default .ms-nav-next,
722
+ .ms-skin-default .ms-nav-prev,
723
+ .ms-skin-default .ms-bullet{
724
+ background-image:url(skins/light-skin-1-retina.png);
725
+ background-size: 152px 225px;
726
+ }
727
+
728
+ }
729
+
730
+
731
+ /**
732
+ * Master Slider
733
+ * Black 1
734
+ */
735
+
736
+ .ms-skin-black-1 .ms-slide .ms-slide-vpbtn,
737
+ .ms-skin-black-1 .ms-video-btn{
738
+ width: 54px;
739
+ height: 54px;
740
+ background: url(skins/black-skin-1.png) no-repeat -14px -150px;
741
+ top: 50%;
742
+ left: 50%;
743
+ margin: -27px 0 0 -27px;
744
+ }
745
+
746
+ .ms-skin-black-1 .ms-slide .ms-slide-vcbtn {
747
+ width: 27px;
748
+ height: 26px;
749
+ background: url(skins/black-skin-1.png) no-repeat -24px -29px;
750
+ top: 30px;
751
+ right: 30px;
752
+ }
753
+
754
+ /* controls */
755
+
756
+ .ms-skin-black-1 .ms-nav-next,
757
+ .ms-skin-black-1 .ms-nav-prev {
758
+ width: 53px;
759
+ background: url(skins/black-skin-1.png);
760
+ background-position: -79px -19px;
761
+ height: 61px;
762
+ cursor: pointer;
763
+ top: 50%;
764
+ left: 30px;
765
+ margin-top: -26px;
766
+ position: absolute;
767
+ z-index: 110;
768
+ }
769
+ .ms-skin-black-1 .ms-nav-next {
770
+ right: 30px;
771
+ left: auto;
772
+ background-position: -79px -97px;
773
+ }
774
+
775
+ .ms-skin-black-1 .ms-bullets.ms-dir-h {
776
+ position: absolute;
777
+ bottom: 20px;
778
+ right: 50%;
779
+ width: 100px;
780
+ }
781
+
782
+ .ms-skin-black-1 .ms-bullets.ms-dir-h .ms-bullets-count {
783
+ position: relative;
784
+ right: -50%;
785
+ }
786
+
787
+ .ms-skin-black-1 .ms-bullet {
788
+ width: 9px;
789
+ height: 9px;
790
+ background: white;
791
+ margin: 4px;
792
+ border: solid 1px rgb(58, 58, 58);
793
+ }
794
+
795
+ .ms-skin-black-1 .ms-bullet-selected {
796
+ background-color: black;
797
+ }
798
+
799
+ .ms-skin-black-1 .ms-tooltip{
800
+ position: absolute;
801
+ z-index: 210;
802
+ cursor: auto;
803
+ }
804
+
805
+ .ms-skin-black-1 .ms-tooltip-top .ms-tooltip-arrow,
806
+ .ms-skin-black-1 .ms-tooltip-bottom .ms-tooltip-arrow{
807
+ border-left: solid 10px transparent;
808
+ border-right: solid 10px transparent;
809
+ position: absolute;
810
+ left: 50%;
811
+ margin-left: -10px;
812
+ }
813
+
814
+ .ms-skin-black-1 .ms-tooltip-top .ms-tooltip-arrow{
815
+ border-top: solid 10px;
816
+ border-top-color: white;
817
+ border-top-color: rgba(0, 0, 0, 0.8);
818
+ bottom: -10px;
819
+ }
820
+
821
+ .ms-skin-black-1 .ms-tooltip-bottom .ms-tooltip-arrow {
822
+ border-bottom: solid 10px;
823
+ border-bottom-color: white;
824
+ border-bottom-color: rgba(0, 0, 0, 0.8);
825
+ top: -10px;
826
+ }
827
+
828
+ .ms-skin-black-1 .ms-tooltip-right .ms-tooltip-arrow,
829
+ .ms-skin-black-1 .ms-tooltip-left .ms-tooltip-arrow{
830
+ border-top: solid 10px transparent;
831
+ border-bottom: solid 10px transparent;
832
+ position: absolute;
833
+ top: 50%;
834
+ margin-top: -10px;
835
+ }
836
+
837
+ .ms-skin-black-1 .ms-tooltip-right .ms-tooltip-arrow{
838
+ border-right: solid 10px;
839
+ border-right-color: white;
840
+ border-right-color: rgba(0, 0, 0, 0.8);
841
+ left: -10px;
842
+ }
843
+
844
+ .ms-skin-black-1 .ms-tooltip-left .ms-tooltip-arrow {
845
+ border-left: solid 10px;
846
+ border-left-color: black;
847
+ border-left-color: rgba(0, 0, 0, 0.8);
848
+ right: -10px;
849
+ }
850
+
851
+ .ms-skin-black-1 .ms-tooltip-point {cursor: pointer;}
852
+ .ms-skin-black-1 .ms-tooltip-point .ms-point-center {
853
+ width: 12px;
854
+ height: 12px;
855
+ border-radius: 15px;
856
+ border: solid 2px #444444;
857
+ background: black;
858
+ margin: -8px 0 0 -8px;
859
+ position: absolute;
860
+ z-index: 105;
861
+ }
862
+
863
+ .ms-skin-black-1 .ms-tooltip-point .ms-point-border {
864
+ width: 22px;
865
+ height: 22px;
866
+ background: white;
867
+ background: rgba(255, 255, 255, 0.9);
868
+ margin: -11px 0 0 -11px;
869
+ position: absolute;
870
+ border-radius: 15px;
871
+
872
+ animation: point-anim 1.5s infinite ;
873
+ -moz-animation: point-anim 1.5s infinite;
874
+ -webkit-animation: point-anim 1.5s infinite;
875
+ -o-animation: point-anim 1.5s infinite;
876
+ }
877
+
878
+ .ms-skin-black-1 .ms-tooltip {
879
+ max-width:200px;
880
+ }
881
+
882
+ .ms-skin-black-1 .ms-tooltip-cont {
883
+ padding: 10px;
884
+ background: black;
885
+ background: rgba(0, 0, 0, 0.8);
886
+ text-shadow: 0 1px 0px black;
887
+ color: white;
888
+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
889
+ }
890
+
891
+ /* retina */
892
+ @media
893
+ only screen and (-webkit-min-device-pixel-ratio: 2),
894
+ only screen and ( min--moz-device-pixel-ratio: 2),
895
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
896
+ only screen and ( min-device-pixel-ratio: 2),
897
+ only screen and ( min-resolution: 192dpi),
898
+ only screen and ( min-resolution: 2dppx) {
899
+
900
+ .ms-skin-black-1 .ms-slide .ms-slide-vpbtn,
901
+ .ms-skin-black-1 .ms-video-btn,
902
+ .ms-skin-black-1 .ms-slide .ms-slide-vcbtn,
903
+ .ms-skin-black-1 .ms-nav-next,
904
+ .ms-skin-black-1 .ms-nav-prev{
905
+ background-image:url(skins/black-skin-1-retina.png);
906
+ background-size: 152px 225px;
907
+ }
908
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
909
  }
910
 
911
 
 
912
  /**
913
  * Master Slider
914
+ * minimal Skin
915
  */
916
 
917
+ .ms-skin-minimal .ms-slide .ms-slide-vpbtn,
918
+ .ms-skin-minimal .ms-video-btn{
919
+ width: 55px;
920
+ height: 55px;
921
+ background: url(skins/minimal.svg) no-repeat 24px 18px white;
922
+ border: solid 1px #3d3d3d;
923
+ border-radius: 50%;
924
+ top: 50%;
925
+ left: 50%;
926
+ margin: -27px 0 0 -27px;
927
+ transition: background-color 300ms;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
928
  }
929
+ .ms-skin-minimal .ms-slide .ms-slide-vcbtn:hover,
930
+ .ms-skin-minimal .ms-slide .ms-slide-vpbtn:hover,
931
+ .ms-skin-minimal .ms-video-btn:hover {
932
+ background-color: #f1f1f1;
 
 
 
 
 
 
 
 
 
 
 
933
  }
934
 
935
+ .ms-skin-minimal .ms-slide .ms-slide-vcbtn {
936
+ width: 31px;
937
+ height: 31px;
938
+ background: url(skins/minimal.svg) no-repeat -289px 6px white;
939
+ border-radius: 50%;
940
+ border: solid 1px #3d3d3d;
941
+ top: 18px;
942
+ right: 30px;
943
+ transition: background-color 300ms;
944
  }
945
 
946
  /* controls */
947
 
948
+ .ms-skin-minimal .ms-nav-next,
949
+ .ms-skin-minimal .ms-nav-prev {
950
+ background: url(skins/minimal.svg) no-repeat white;
951
+ background-position: -178px 17px;
952
+ border: solid 1px #3d3d3d;
953
+ border-radius: 50%;
954
+ height: 55px;
955
+ width: 55px;
956
+ cursor: pointer;
957
+ top: 50%;
958
+ left: 30px;
959
+ margin-top: -27px;
960
+ position: absolute;
961
+ z-index: 110;
962
+ transition: background-color 300ms;
 
 
963
  }
964
 
965
+ .ms-skin-minimal .ms-nav-next:hover,
966
+ .ms-skin-minimal .ms-nav-prev:hover{
967
+ background-color: #f1f1f1;
 
 
968
  }
969
 
970
+ .ms-skin-minimal .ms-nav-next {
971
+ right: 30px;
972
+ left: auto;
973
+ background-position: -75px 17px;
974
  }
975
 
976
+ .ms-skin-minimal .ms-bullet {
977
+ width: 8px;
978
+ height: 8px;
979
+ background: white;
980
+ border: solid 1px #3d3d3d;
981
+ border-radius: 50%;
982
+ margin: 4px;
983
+ background-position: -34px -117px;
984
  }
985
 
986
+ .ms-skin-minimal .ms-bullet-selected {
987
+ background: #3d3d3d;
988
  }
989
 
 
 
 
 
 
990
 
991
+ .ms-skin-minimal .ms-time-bar {
992
+ height: 3px;
993
+ background: #FFFFFF;
994
+ border-top: solid 1px rgba(0, 0, 0, 0.41);
 
 
 
995
  }
996
 
 
 
 
 
 
 
997
 
998
+ .ms-skin-minimal .ms-tooltip{
999
+ position: absolute;
1000
+ z-index: 210;
1001
+ cursor: auto;
 
1002
  }
1003
 
1004
+ .ms-skin-minimal .ms-tooltip-top .ms-tooltip-arrow,
1005
+ .ms-skin-minimal .ms-tooltip-bottom .ms-tooltip-arrow{
1006
+ border-left: solid 10px transparent;
1007
+ border-right: solid 10px transparent;
1008
+ position: absolute;
1009
+ left: 50%;
1010
+ margin-left: -10px;
1011
  }
1012
 
1013
+ .ms-skin-minimal .ms-tooltip-top .ms-tooltip-arrow{
1014
+ border-top: solid 10px;
1015
+ border-top-color: silver;
1016
+ border-top-color: rgba(240, 240, 240, 0.88);
1017
+ bottom: -10px;
1018
  }
1019
 
1020
+ .ms-skin-minimal .ms-tooltip-bottom .ms-tooltip-arrow {
1021
+ border-bottom: solid 10px;
1022
+ border-bottom-color: silver;
1023
+ border-bottom-color: rgba(240, 240, 240, 0.88);
1024
+ top: -10px;
1025
  }
1026
 
1027
+ .ms-skin-minimal .ms-tooltip-right .ms-tooltip-arrow,
1028
+ .ms-skin-minimal .ms-tooltip-left .ms-tooltip-arrow{
1029
+ border-top: solid 10px transparent;
1030
+ border-bottom: solid 10px transparent;
1031
+ position: absolute;
1032
+ top: 50%;
1033
+ margin-top: -10px;
 
 
 
1034
  }
1035
 
1036
+ .ms-skin-minimal .ms-tooltip-right .ms-tooltip-arrow{
1037
+ border-right: solid 10px;
1038
+ border-right-color: silver;
1039
+ border-right-color: rgba(240, 240, 240, 0.88);
1040
+ left: -10px;
 
 
 
 
 
 
 
 
1041
  }
1042
 
1043
+ .ms-skin-minimal .ms-tooltip-left .ms-tooltip-arrow {
1044
+ border-left: solid 10px;
1045
+ border-left-color: silver;
1046
+ border-left-color: rgba(240, 240, 240, 0.88);
1047
+ right: -10px;
1048
  }
1049
 
1050
+ .ms-skin-minimal .ms-tooltip-point {cursor: pointer;}
1051
+ .ms-skin-minimal .ms-tooltip-point .ms-point-center {
1052
+ width: 12px;
1053
+ height: 12px;
1054
+ border-radius: 15px;
1055
+ border: solid 2px #BBB;
1056
+ background: white;
1057
+ margin: -8px 0 0 -8px;
1058
+ position: absolute;
1059
+ z-index: 105;
1060
  }
1061
 
1062
+ .ms-skin-minimal .ms-tooltip-point .ms-point-border {
1063
+ width: 22px;
1064
+ height: 22px;
1065
+ background: black;
1066
+ background:rgba(0, 0, 0, 0.36);
1067
+ margin: -11px 0 0 -11px;
1068
+ position: absolute;
1069
+ border-radius: 15px;
1070
+
1071
+ animation: point-anim 1.5s infinite ;
1072
+ -moz-animation: point-anim 1.5s infinite;
1073
+ -webkit-animation: point-anim 1.5s infinite;
1074
+ -o-animation: point-anim 1.5s infinite;
1075
+ }
1076
+
1077
+ .ms-skin-minimal .ms-tooltip {
1078
+ max-width:200px;
1079
+ }
1080
+
1081
+ .ms-skin-minimal .ms-tooltip-cont {
1082
+ padding: 10px;
1083
+ background: silver;
1084
+ background: rgba(240, 240, 240, 0.88);
1085
+ text-shadow: 0 1px 0px white;
1086
+ margin-left: -1px;
1087
+ }
1088
+
1089
+
1090
+
1091
+ /**
1092
+ * Master Slider
1093
+ * Black 2 Skin
1094
+ */
1095
+
1096
+ .ms-skin-black-2 .ms-slide .ms-slide-vpbtn,
1097
+ .ms-skin-black-2 .ms-video-btn{
1098
+ width: 45px;
1099
+ height: 45px;
1100
+ background: url(skins/black-skin-2.png) black no-repeat -16px -103px;
1101
+ border: solid 3px rgb(255, 255, 255);
1102
+ border-color: rgba(255, 255, 255, 0.4);
1103
+ -webkit-background-clip: padding-box;
1104
+ top: 50%;
1105
+ left: 50%;
1106
+ margin: -23px 0 0 -23px;
1107
+ }
1108
+
1109
+ .ms-skin-black-2 .ms-slide .ms-slide-vpbtn:hover,
1110
+ .ms-skin-black-2 .ms-video-btn:hover{
1111
+ background-color: #3D3D3D;
1112
+ }
1113
+
1114
+ .ms-skin-black-2 .ms-slide .ms-slide-vcbtn {
1115
+ width: 25px;
1116
+ height: 25px;
1117
+ background: url(skins/black-skin-2.png) black no-repeat -27px -36px;
1118
+ border: solid 2px white;
1119
+ border-color: rgba(255, 255, 255, 0.4);
1120
+ top: 15px;
1121
+ right: 15px;
1122
+ }
1123
+
1124
+ .ms-skin-black-2.round-skin .ms-slide .ms-slide-vcbtn{
1125
+ border-radius: 50px;
1126
+ }
1127
+
1128
+
1129
+ /* controls */
1130
+
1131
+ .ms-skin-black-2 .ms-nav-next,
1132
+ .ms-skin-black-2 .ms-nav-prev {
1133
+ position: absolute;
1134
+ cursor: pointer;
1135
+ z-index: 110;
1136
+ width: 45px;
1137
+ height: 45px;
1138
+ background: url(skins/black-skin-2.png) black;
1139
+ -webkit-background-clip: padding-box;
1140
+ -moz-background-clip: padding-box;
1141
+ background-clip: padding-box;
1142
+ background-position: -88px -26px;
1143
+ border: solid 3px rgb(255, 255, 255);
1144
+ border-color: rgba(255, 255, 255, 0.4);
1145
+ top: 50%;
1146
+ left: 30px;
1147
+ margin-top: -22px;
1148
+ }
1149
+
1150
+ .ms-skin-black-2.round-skin .ms-nav-next,
1151
+ .ms-skin-black-2.round-skin .ms-nav-prev,
1152
+ .ms-skin-black-2.round-skin .ms-slide .ms-slide-vpbtn,
1153
+ .ms-skin-black-2.round-skin .ms-video-btn{
1154
+ border-radius: 90px;
1155
+ }
1156
+
1157
+ .ms-skin-black-2 .ms-nav-next:hover,
1158
+ .ms-skin-black-2 .ms-nav-prev:hover{
1159
+ background-color: #3d3d3d;
1160
+ }
1161
+
1162
+ .ms-skin-black-2 .ms-nav-next {
1163
+ right: 30px;
1164
+ left: auto;
1165
+ background-position: -86px -103px;
1166
+ }
1167
+
1168
+ .ms-skin-black-2 .ms-bullets.ms-dir-h {
1169
+ position: absolute;
1170
+ bottom: 20px;
1171
+ right: 50%;
1172
+ width: 100px;
1173
+ }
1174
+
1175
+ .ms-skin-black-2 .ms-bullets.ms-dir-h .ms-bullets-count {
1176
+ position: relative;
1177
+ right: -50%;
1178
+ }
1179
+
1180
+ .ms-skin-black-2 .ms-bullet {
1181
+ width: 8px;
1182
+ height: 8px;
1183
+ background: white;
1184
+ -webkit-background-clip: padding-box;
1185
+ -moz-background-clip: padding-box;
1186
+ -ms-background-clip: padding-box;
1187
+ border: solid 3px white;
1188
+ border-color: rgba(0, 0, 0, 0.44);
1189
+ margin: 4px;
1190
+ background-position: -34px -117px;
1191
+ }
1192
+
1193
+ .ms-skin-black-2.round-skin .ms-bullet{
1194
+ border-radius: 15px;
1195
+ }
1196
+
1197
+
1198
+ .ms-skin-black-2 .ms-bullet-selected {
1199
+ background-color: black;
1200
+ border-color: white;
1201
+ border-color: rgba(255, 255, 255, 0.44);
1202
+ }
1203
+
1204
+ .ms-skin-black-2 .ms-tooltip{
1205
+ position: absolute;
1206
+ z-index: 210;
1207
+ cursor: auto;
1208
+ }
1209
+
1210
+ .ms-skin-black-2 .ms-tooltip-top .ms-tooltip-arrow,
1211
+ .ms-skin-black-2 .ms-tooltip-bottom .ms-tooltip-arrow{
1212
+ border-left: solid 10px transparent;
1213
+ border-right: solid 10px transparent;
1214
+ position: absolute;
1215
+ left: 50%;
1216
+ margin-left: -10px;
1217
+ }
1218
+
1219
+ .ms-skin-black-2 .ms-tooltip-top .ms-tooltip-arrow{
1220
+ border-top: solid 10px;
1221
+ border-top-color: silver;
1222
+ border-top-color: rgba(240, 240, 240, 0.88);
1223
+ bottom: -10px;
1224
+ }
1225
+
1226
+ .ms-skin-black-2 .ms-tooltip-bottom .ms-tooltip-arrow {
1227
+ border-bottom: solid 10px;
1228
+ border-bottom-color: silver;
1229
+ border-bottom-color: rgba(240, 240, 240, 0.88);
1230
+ top: -10px;
1231
+ }
1232
+
1233
+ .ms-skin-black-2 .ms-tooltip-right .ms-tooltip-arrow,
1234
+ .ms-skin-black-2 .ms-tooltip-left .ms-tooltip-arrow{
1235
+ border-top: solid 10px transparent;
1236
+ border-bottom: solid 10px transparent;
1237
+ position: absolute;
1238
+ top: 50%;
1239
+ margin-top: -10px;
1240
+ }
1241
+
1242
+ .ms-skin-black-2 .ms-tooltip-right .ms-tooltip-arrow{
1243
+ border-right: solid 10px;
1244
+ border-right-color: silver;
1245
+ border-right-color: rgba(240, 240, 240, 0.88);
1246
+ left: -10px;
1247
+ }
1248
+
1249
+ .ms-skin-black-2 .ms-tooltip-left .ms-tooltip-arrow {
1250
+ border-left: solid 10px;
1251
+ border-left-color: silver;
1252
+ border-left-color: rgba(240, 240, 240, 0.88);
1253
+ right: -10px;
1254
+ }
1255
+
1256
+ .ms-skin-black-2 .ms-tooltip-point {cursor: pointer;}
1257
+ .ms-skin-black-2 .ms-tooltip-point .ms-point-center {
1258
+ width: 12px;
1259
+ height: 12px;
1260
+ border-radius: 15px;
1261
+ border: solid 2px #BBB;
1262
+ background: white;
1263
+ margin: -8px 0 0 -8px;
1264
+ position: absolute;
1265
+ z-index: 105;
1266
+ }
1267
+
1268
+ .ms-skin-black-2 .ms-tooltip-point .ms-point-border {
1269
+ width: 22px;
1270
+ height: 22px;
1271
+ background: black;
1272
+ background:rgba(0, 0, 0, 0.36);
1273
+ margin: -11px 0 0 -11px;
1274
+ position: absolute;
1275
+ border-radius: 15px;
1276
+
1277
+ animation: point-anim 1.5s infinite ;
1278
+ -moz-animation: point-anim 1.5s infinite;
1279
+ -webkit-animation: point-anim 1.5s infinite;
1280
+ -o-animation: point-anim 1.5s infinite;
1281
+ }
1282
+
1283
+ .ms-ie7.ms-skin-black-2 .ms-tooltip-point .ms-point-border,
1284
+ .ms-ie8.ms-skin-black-2 .ms-tooltip-point .ms-point-border{
1285
+ display: none;
1286
+ }
1287
+
1288
+ .ms-skin-black-2 .ms-tooltip {
1289
+ max-width:200px;
1290
+ }
1291
+
1292
+ .ms-skin-black-2 .ms-tooltip-cont {
1293
+ padding: 10px;
1294
+ background: silver;
1295
+ background: rgba(240, 240, 240, 0.88);
1296
+ text-shadow: 0 1px 0px white;
1297
+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
1298
+ }
1299
+
1300
+ /* retina */
1301
+ @media
1302
+ only screen and (-webkit-min-device-pixel-ratio: 2),
1303
+ only screen and ( min--moz-device-pixel-ratio: 2),
1304
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
1305
+ only screen and ( min-device-pixel-ratio: 2),
1306
+ only screen and ( min-resolution: 192dpi),
1307
+ only screen and ( min-resolution: 2dppx) {
1308
+
1309
+ .ms-skin-black-2 .ms-slide .ms-slide-vpbtn,
1310
+ .ms-skin-black-2 .ms-video-btn,
1311
+ .ms-skin-black-2 .ms-slide .ms-slide-vcbtn,
1312
+ .ms-skin-black-2 .ms-nav-next,
1313
+ .ms-skin-black-2 .ms-nav-prev{
1314
+ background-image:url(skins/black-skin-2-retina.png);
1315
+ background-size: 152px 225px;
1316
+ }
1317
+
1318
+ }
1319
+
1320
+
1321
+ /**
1322
+ * Master Slider
1323
+ * Light 2
1324
+ */
1325
+
1326
+ .ms-skin-light-2 .ms-slide .ms-slide-vpbtn,
1327
+ .ms-skin-light-2 .ms-video-btn{
1328
+ width: 54px;
1329
+ height: 54px;
1330
+ background: url(skins/light-skin-2.png) no-repeat -14px -150px;
1331
+ top: 50%;
1332
+ left: 50%;
1333
+ margin: -27px 0 0 -27px;
1334
+ }
1335
+
1336
+ .ms-skin-light-2 .ms-slide .ms-slide-vcbtn {
1337
+ width: 27px;
1338
+ height: 26px;
1339
+ background: url(skins/light-skin-2.png) no-repeat -24px -29px;
1340
+ top: 30px;
1341
+ right: 30px;
1342
+ }
1343
+
1344
+ /* controls */
1345
+
1346
+ .ms-skin-light-2 .ms-nav-next,
1347
+ .ms-skin-light-2 .ms-nav-prev {
1348
+ width: 53px;
1349
+ background: url(skins/light-skin-2.png);
1350
+ background-position: -79px -19px;
1351
+ height: 61px;
1352
+ cursor: pointer;
1353
+ top: 50%;
1354
+ left: 30px;
1355
+ margin-top: -26px;
1356
+ position: absolute;
1357
+ z-index: 110;
1358
+ }
1359
+ .ms-skin-light-2 .ms-nav-next {
1360
+ right: 30px;
1361
+ left: auto;
1362
+ background-position: -79px -97px;
1363
+ }
1364
+
1365
+ .ms-skin-light-2 .ms-bullets.ms-dir-h {
1366
+ position: absolute;
1367
+ bottom: 20px;
1368
+ right: 50%;
1369
+ width: 100px;
1370
+ }
1371
+
1372
+ .ms-skin-light-2 .ms-bullets.ms-dir-h .ms-bullets-count {
1373
+ position: relative;
1374
+ right: -50%;
1375
+ }
1376
+
1377
+ .ms-skin-light-2 .ms-bullet {
1378
+ width: 9px;
1379
+ height: 9px;
1380
+ background: black;
1381
+ margin: 4px;
1382
+ border: solid 1px rgb(58, 58, 58);
1383
+ }
1384
+
1385
+ .ms-skin-light-2 .ms-bullet-selected {
1386
+ background-color: white;
1387
+ }
1388
+
1389
+ .ms-skin-light-2 .ms-tooltip{
1390
+ position: absolute;
1391
+ z-index: 210;
1392
+ cursor: auto;
1393
+ }
1394
+
1395
+ .ms-skin-light-2 .ms-tooltip-top .ms-tooltip-arrow,
1396
+ .ms-skin-light-2 .ms-tooltip-bottom .ms-tooltip-arrow{
1397
+ border-left: solid 10px transparent;
1398
+ border-right: solid 10px transparent;
1399
+ position: absolute;
1400
+ left: 50%;
1401
+ margin-left: -10px;
1402
+ }
1403
+
1404
+ .ms-skin-light-2 .ms-tooltip-top .ms-tooltip-arrow{
1405
+ border-top: solid 10px;
1406
+ border-top-color: silver;
1407
+ border-top-color: rgba(240, 240, 240, 0.88);
1408
+ bottom: -10px;
1409
+ }
1410
+
1411
+ .ms-skin-light-2 .ms-tooltip-bottom .ms-tooltip-arrow {
1412
+ border-bottom: solid 10px;
1413
+ border-bottom-color: silver;
1414
+ border-bottom-color: rgba(240, 240, 240, 0.88);
1415
+ top: -10px;
1416
+ }
1417
+
1418
+ .ms-skin-light-2 .ms-tooltip-right .ms-tooltip-arrow,
1419
+ .ms-skin-light-2 .ms-tooltip-left .ms-tooltip-arrow{
1420
+ border-top: solid 10px transparent;
1421
+ border-bottom: solid 10px transparent;
1422
+ position: absolute;
1423
+ top: 50%;
1424
+ margin-top: -10px;
1425
+ }
1426
+
1427
+ .ms-skin-light-2 .ms-tooltip-right .ms-tooltip-arrow{
1428
+ border-right: solid 10px;
1429
+ border-right-color: silver;
1430
+ border-right-color: rgba(240, 240, 240, 0.88);
1431
+ left: -10px;
1432
+ }
1433
+
1434
+ .ms-skin-light-2 .ms-tooltip-left .ms-tooltip-arrow {
1435
+ border-left: solid 10px;
1436
+ border-left-color: silver;
1437
+ border-left-color: rgba(240, 240, 240, 0.88);
1438
+ right: -10px;
1439
+ }
1440
+
1441
+ .ms-skin-light-2 .ms-tooltip-point {cursor: pointer;}
1442
+ .ms-skin-light-2 .ms-tooltip-point .ms-point-center {
1443
+ width: 12px;
1444
+ height: 12px;
1445
+ border-radius: 15px;
1446
+ border: solid 2px #BBB;
1447
+ background: white;
1448
+ margin: -8px 0 0 -8px;
1449
+ position: absolute;
1450
+ z-index: 105;
1451
+ }
1452
+
1453
+ .ms-skin-light-2 .ms-tooltip-point .ms-point-border {
1454
+ width: 22px;
1455
+ height: 22px;
1456
+ background: black;
1457
+ background:rgba(0, 0, 0, 0.36);
1458
+ margin: -11px 0 0 -11px;
1459
+ position: absolute;
1460
+ border-radius: 15px;
1461
+
1462
+ animation: point-anim 1.5s infinite ;
1463
+ -moz-animation: point-anim 1.5s infinite;
1464
+ -webkit-animation: point-anim 1.5s infinite;
1465
+ -o-animation: point-anim 1.5s infinite;
1466
+ }
1467
+
1468
+ .ms-skin-light-2 .ms-tooltip {
1469
+ max-width:200px;
1470
+ }
1471
+
1472
+ .ms-skin-light-2 .ms-tooltip-cont {
1473
+ padding: 10px;
1474
+ background: silver;
1475
+ background: rgba(240, 240, 240, 0.88);
1476
+ text-shadow: 0 1px 0px white;
1477
+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
1478
+ }
1479
+
1480
+ /* retina */
1481
+ @media
1482
+ only screen and (-webkit-min-device-pixel-ratio: 2),
1483
+ only screen and ( min--moz-device-pixel-ratio: 2),
1484
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
1485
+ only screen and ( min-device-pixel-ratio: 2),
1486
+ only screen and ( min-resolution: 192dpi),
1487
+ only screen and ( min-resolution: 2dppx) {
1488
+
1489
+ .ms-skin-light-2 .ms-slide .ms-slide-vpbtn,
1490
+ .ms-skin-light-2 .ms-video-btn,
1491
+ .ms-skin-light-2 .ms-slide .ms-slide-vcbtn,
1492
+ .ms-skin-light-2 .ms-nav-next,
1493
+ .ms-skin-light-2 .ms-nav-prev{
1494
+ background-image:url(skins/light-skin-2-retina.png);
1495
+ background-size: 152px 225px;
1496
+ }
1497
+
1498
+ }
1499
+
1500
+
1501
+
1502
+ /**
1503
+ * Master Slider
1504
+ * Light 3
1505
+ */
1506
+
1507
+ .ms-skin-light-3 .ms-slide .ms-slide-vpbtn,
1508
+ .ms-skin-light-3 .ms-video-btn{
1509
+ width: 50px;
1510
+ height: 50px;
1511
+ background: url(skins/light-skin-3.png) no-repeat -15px -149px;
1512
+ top: 50%;
1513
+ left: 50%;
1514
+ margin: -25px 0 0 -25px;
1515
+ }
1516
+
1517
+ .ms-skin-light-3 .ms-slide .ms-slide-vcbtn {
1518
+ width: 31px;
1519
+ height: 29px;
1520
+ background: url(skins/light-skin-3.png) no-repeat -26px -28px;
1521
+ top: 30px;
1522
+ right: 30px;
1523
+ }
1524
+
1525
+ /* controls */
1526
+
1527
+ .ms-skin-light-3 .ms-nav-next,
1528
+ .ms-skin-light-3 .ms-nav-prev {
1529
+ width: 50px;
1530
+ background: url(skins/light-skin-3.png);
1531
+ background-position: -82px -22px;
1532
+ height: 50px;
1533
+ cursor: pointer;
1534
+ top: 50%;
1535
+ left: 30px;
1536
+ margin-top: -25px;
1537
+ position: absolute;
1538
+ z-index: 110;
1539
+ }
1540
+ .ms-skin-light-3 .ms-nav-next {
1541
+ right: 30px;
1542
+ left: auto;
1543
+ background-position: -81px -99px;
1544
+ }
1545
+
1546
+ .ms-skin-light-3 .ms-bullets.ms-dir-h {
1547
+ position: absolute;
1548
+ bottom: 20px;
1549
+ right: 50%;
1550
+ width: 100px;
1551
+ }
1552
+
1553
+ .ms-skin-light-3 .ms-bullets.ms-dir-h .ms-bullets-count {
1554
+ position: relative;
1555
+ right: -50%;
1556
+ }
1557
+
1558
+ .ms-skin-light-3 .ms-bullet {
1559
+ width: 16px;
1560
+ height: 16px;
1561
+ background: url(skins/light-skin-3.png) no-repeat;
1562
+ background-position: -31px -114px;
1563
+ margin: 4px;
1564
+ }
1565
+
1566
+ .ms-skin-light-3 .ms-bullet-selected {
1567
+ background-position: -31px -81px;
1568
+ }
1569
+
1570
+ .ms-skin-light-3 .ms-tooltip{
1571
+ position: absolute;
1572
+ z-index: 210;
1573
+ cursor: auto;
1574
+ }
1575
+
1576
+ .ms-skin-light-3 .ms-tooltip-top .ms-tooltip-arrow,
1577
+ .ms-skin-light-3 .ms-tooltip-bottom .ms-tooltip-arrow{
1578
+ border-left: solid 10px transparent;
1579
+ border-right: solid 10px transparent;
1580
+ position: absolute;
1581
+ left: 50%;
1582
+ margin-left: -10px;
1583
+ }
1584
+
1585
+ .ms-skin-light-3 .ms-tooltip-top .ms-tooltip-arrow{
1586
+ border-top: solid 10px;
1587
+ border-top-color: silver;
1588
+ border-top-color: rgba(240, 240, 240, 0.88);
1589
+ bottom: -10px;
1590
+ }
1591
+
1592
+ .ms-skin-light-3 .ms-tooltip-bottom .ms-tooltip-arrow {
1593
+ border-bottom: solid 10px;
1594
+ border-bottom-color: silver;
1595
+ border-bottom-color: rgba(240, 240, 240, 0.88);
1596
+ top: -10px;
1597
+ }
1598
+
1599
+ .ms-skin-light-3 .ms-tooltip-right .ms-tooltip-arrow,
1600
+ .ms-skin-light-3 .ms-tooltip-left .ms-tooltip-arrow{
1601
+ border-top: solid 10px transparent;
1602
+ border-bottom: solid 10px transparent;
1603
+ position: absolute;
1604
+ top: 50%;
1605
+ margin-top: -10px;
1606
+ }
1607
+
1608
+ .ms-skin-light-3 .ms-tooltip-right .ms-tooltip-arrow{
1609
+ border-right: solid 10px;
1610
+ border-right-color: silver;
1611
+ border-right-color: rgba(240, 240, 240, 0.88);
1612
+ left: -10px;
1613
+ }
1614
+
1615
+ .ms-skin-light-3 .ms-tooltip-left .ms-tooltip-arrow {
1616
+ border-left: solid 10px;
1617
+ border-left-color: silver;
1618
+ border-left-color: rgba(240, 240, 240, 0.88);
1619
+ right: -10px;
1620
+ }
1621
+
1622
+ .ms-skin-light-3 .ms-tooltip-point {cursor: pointer;}
1623
+ .ms-skin-light-3 .ms-tooltip-point .ms-point-center {
1624
+ width: 12px;
1625
+ height: 12px;
1626
+ border-radius: 15px;
1627
+ border: solid 2px #BBB;
1628
+ background: white;
1629
+ margin: -8px 0 0 -8px;
1630
+ position: absolute;
1631
+ z-index: 105;
1632
+ }
1633
+
1634
+ .ms-skin-light-3 .ms-tooltip-point .ms-point-border {
1635
+ width: 22px;
1636
+ height: 22px;
1637
+ background: black;
1638
+ background:rgba(0, 0, 0, 0.36);
1639
+ margin: -11px 0 0 -11px;
1640
+ position: absolute;
1641
+ border-radius: 15px;
1642
+
1643
+ animation: point-anim 1.5s infinite ;
1644
+ -moz-animation: point-anim 1.5s infinite;
1645
+ -webkit-animation: point-anim 1.5s infinite;
1646
+ -o-animation: point-anim 1.5s infinite;
1647
+ }
1648
+
1649
+ .ms-skin-light-3 .ms-tooltip {
1650
+ max-width:200px;
1651
+ }
1652
+
1653
+ .ms-skin-light-3 .ms-tooltip-cont {
1654
+ padding: 10px;
1655
+ background: silver;
1656
+ background: rgba(240, 240, 240, 0.88);
1657
+ text-shadow: 0 1px 0px white;
1658
+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
1659
+ }
1660
+
1661
+ /* retina */
1662
+ @media
1663
+ only screen and (-webkit-min-device-pixel-ratio: 2),
1664
+ only screen and ( min--moz-device-pixel-ratio: 2),
1665
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
1666
+ only screen and ( min-device-pixel-ratio: 2),
1667
+ only screen and ( min-resolution: 192dpi),
1668
+ only screen and ( min-resolution: 2dppx) {
1669
+
1670
+ .ms-skin-light-3 .ms-slide .ms-slide-vpbtn,
1671
+ .ms-skin-light-3 .ms-video-btn,
1672
+ .ms-skin-light-3 .ms-slide .ms-slide-vcbtn,
1673
+ .ms-skin-light-3 .ms-nav-next,
1674
+ .ms-skin-light-3 .ms-nav-prev,
1675
+ .ms-skin-light-3 .ms-bullet{
1676
+ background-image:url(skins/light-skin-3-retina.png);
1677
+ background-size: 152px 225px;
1678
+ }
1679
+
1680
+ }
1681
+
1682
+
1683
+
1684
+ /**
1685
+ * Master Slider
1686
+ * Light 4
1687
+ */
1688
+
1689
+ .ms-skin-light-4 .ms-slide .ms-slide-vpbtn,
1690
+ .ms-skin-light-4 .ms-video-btn{
1691
+ width: 54px;
1692
+ height: 54px;
1693
+ background: url(skins/light-skin-4.png) no-repeat -14px -150px;
1694
+ top: 50%;
1695
+ left: 50%;
1696
+ margin: -27px 0 0 -27px;
1697
+ }
1698
+
1699
+ .ms-skin-light-4 .ms-slide .ms-slide-vcbtn {
1700
+ width: 27px;
1701
+ height: 26px;
1702
+ background: url(skins/light-skin-4.png) no-repeat -24px -29px;
1703
+ top: 30px;
1704
+ right: 30px;
1705
+ }
1706
+
1707
+ /* controls */
1708
+
1709
+ .ms-skin-light-4 .ms-nav-next,
1710
+ .ms-skin-light-4 .ms-nav-prev {
1711
+ width: 54px;
1712
+ background: url(skins/light-skin-4.png);
1713
+ background-position: -77px -5px;
1714
+ height: 68px;
1715
+ cursor: pointer;
1716
+ top: 50%;
1717
+ left: -27px;
1718
+ margin-top: -40px;
1719
+ position: absolute;
1720
+ z-index: 110;
1721
+ }
1722
+ .ms-skin-light-4 .ms-nav-next {
1723
+ right: -27px;
1724
+ left: auto;
1725
+ background-position: -79px -83px;
1726
+ }
1727
+
1728
+ .ms-skin-light-4 .ms-thumb-frame-selected {
1729
+ opacity: 0.6;
1730
+ }
1731
+
1732
+ .ms-skin-light-4 .ms-thumb-list.ms-dir-h {
1733
+ bottom: -60px;
1734
+ width: 100%;
1735
+ height: 60px;
1736
+ }
1737
+
1738
+ .ms-skin-light-4 .ms-thumb-list.ms-dir-v {
1739
+ height: 100%;
1740
+ width: 60px;
1741
+ right: -60px;
1742
+ top: 0;
1743
+ }
1744
+
1745
+ .ms-skin-light-4 .ms-thumb-frame {
1746
+ cursor: pointer;
1747
+ float: left;
1748
+ width: 60px;
1749
+ height: 60px;
1750
+ margin: 1px 0 0 1px;
1751
+ overflow: hidden;
1752
+ }
1753
+
1754
+ .ms-skin-light-4 .ms-bullets.ms-dir-h {
1755
+ position: absolute;
1756
+ bottom: 20px;
1757
+ right: 50%;
1758
+ width: 100px;
1759
+ }
1760
+
1761
+ .ms-skin-light-4 .ms-bullets.ms-dir-h .ms-bullets-count {
1762
+ position: relative;
1763
+ right: -50%;
1764
+ }
1765
+
1766
+ .ms-skin-light-4 .ms-bullet {
1767
+ width: 9px;
1768
+ height: 9px;
1769
+ background: #b9b9b9;
1770
+ margin: 4px;
1771
+ border: solid 1px rgb(163, 163, 163);
1772
+ }
1773
+
1774
+ .ms-skin-light-4 .ms-bullet-selected {
1775
+ background-color: white;
1776
+ }
1777
+
1778
+ .ms-skin-light-4 .ms-tooltip{
1779
+ position: absolute;
1780
+ z-index: 210;
1781
+ cursor: auto;
1782
+ }
1783
+
1784
+ .ms-skin-light-4 .ms-tooltip-top .ms-tooltip-arrow,
1785
+ .ms-skin-light-4 .ms-tooltip-bottom .ms-tooltip-arrow{
1786
+ border-left: solid 10px transparent;
1787
+ border-right: solid 10px transparent;
1788
+ position: absolute;
1789
+ left: 50%;
1790
+ margin-left: -10px;
1791
+ }
1792
+
1793
+ .ms-skin-light-4 .ms-tooltip-top .ms-tooltip-arrow{
1794
+ border-top: solid 10px;
1795
+ border-top-color: silver;
1796
+ border-top-color: rgba(240, 240, 240, 0.88);
1797
+ bottom: -10px;
1798
+ }
1799
+
1800
+ .ms-skin-light-4 .ms-tooltip-bottom .ms-tooltip-arrow {
1801
+ border-bottom: solid 10px;
1802
+ border-bottom-color: silver;
1803
+ border-bottom-color: rgba(240, 240, 240, 0.88);
1804
+ top: -10px;
1805
+ }
1806
+
1807
+ .ms-skin-light-4 .ms-tooltip-right .ms-tooltip-arrow,
1808
+ .ms-skin-light-4 .ms-tooltip-left .ms-tooltip-arrow{
1809
+ border-top: solid 10px transparent;
1810
+ border-bottom: solid 10px transparent;
1811
+ position: absolute;
1812
+ top: 50%;
1813
+ margin-top: -10px;
1814
+ }
1815
+
1816
+ .ms-skin-light-4 .ms-tooltip-right .ms-tooltip-arrow{
1817
+ border-right: solid 10px;
1818
+ border-right-color: silver;
1819
+ border-right-color: rgba(240, 240, 240, 0.88);
1820
+ left: -10px;
1821
+ }
1822
+
1823
+ .ms-skin-light-4 .ms-tooltip-left .ms-tooltip-arrow {
1824
+ border-left: solid 10px;
1825
+ border-left-color: white;
1826
+ border-left-color: rgba(240, 240, 240, 0.88);
1827
+ right: -10px;
1828
+ }
1829
+
1830
+ .ms-skin-light-4 .ms-tooltip-point {cursor: pointer;}
1831
+ .ms-skin-light-4 .ms-tooltip-point .ms-point-center {
1832
+ width: 12px;
1833
+ height: 12px;
1834
+ border-radius: 15px;
1835
+ border: solid 2px #E0E0E0;
1836
+ background: #4b8aac;
1837
+ margin: -8px 0 0 -8px;
1838
+ position: absolute;
1839
+ z-index: 105;
1840
+ }
1841
+
1842
+ .ms-skin-light-4 .ms-tooltip-point .ms-point-border {
1843
+ width: 22px;
1844
+ height: 22px;
1845
+ background: white;
1846
+ margin: -11px 0 0 -11px;
1847
+ position: absolute;
1848
+ border-radius: 15px;
1849
+
1850
+ animation: point-anim 1.5s infinite ;
1851
+ -moz-animation: point-anim 1.5s infinite;
1852
+ -webkit-animation: point-anim 1.5s infinite;
1853
+ -o-animation: point-anim 1.5s infinite;
1854
+ }
1855
+
1856
+
1857
+ .ms-skin-light-4 .ms-tooltip {
1858
+ max-width:200px;
1859
+ }
1860
+
1861
+ .ms-skin-light-4 .ms-tooltip-cont {
1862
+ padding: 10px;
1863
+ background: silver;
1864
+ background: rgba(240, 240, 240, 0.88);
1865
+ text-shadow: 0 1px 0px white;
1866
+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
1867
+ }
1868
+
1869
+ /* retina */
1870
+ @media
1871
+ only screen and (-webkit-min-device-pixel-ratio: 2),
1872
+ only screen and ( min--moz-device-pixel-ratio: 2),
1873
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
1874
+ only screen and ( min-device-pixel-ratio: 2),
1875
+ only screen and ( min-resolution: 192dpi),
1876
+ only screen and ( min-resolution: 2dppx) {
1877
+
1878
+ .ms-skin-light-4 .ms-slide .ms-slide-vpbtn,
1879
+ .ms-skin-light-4 .ms-video-btn,
1880
+ .ms-skin-light-4 .ms-slide .ms-slide-vcbtn,
1881
+ .ms-skin-light-4 .ms-nav-next,
1882
+ .ms-skin-light-4 .ms-nav-prev{
1883
+ background-image:url(skins/light-skin-4-retina.png);
1884
+ background-size: 152px 225px;
1885
+ }
1886
+
1887
+ }
1888
+
1889
+
1890
+
1891
+ /**
1892
+ * Master Slider
1893
+ * Light 5
1894
+ */
1895
+
1896
+ .ms-skin-light-5 .ms-slide .ms-slide-vpbtn,
1897
+ .ms-skin-light-5 .ms-video-btn{
1898
+ width: 32px;
1899
+ height: 32px;
1900
+ background: url(skins/light-skin-5.png) black no-repeat -24px -160px;
1901
+ top: 50%;
1902
+ left: 50%;
1903
+ margin: -18px 0 0 -18px;
1904
+ }
1905
+
1906
+ .ms-skin-light-5 .ms-slide .ms-slide-vpbtn:hover,
1907
+ .ms-skin-light-5 .ms-video-btn:hover{
1908
+ background-color:#646464;
1909
+ }
1910
+
1911
+ .ms-skin-light-5 .ms-slide .ms-slide-vcbtn {
1912
+ width: 30px;
1913
+ height: 30px;
1914
+ background: url(skins/light-skin-5.png) white no-repeat -24px -28px;
1915
+ top: 18px;
1916
+ right: 30px;
1917
+ }
1918
+
1919
+ /* controls */
1920
+
1921
+ .ms-skin-light-5 .ms-nav-next,
1922
+ .ms-skin-light-5 .ms-nav-prev {
1923
+ width: 32px;
1924
+ background: url(skins/light-skin-5.png) white;
1925
+ background-position: -94px -32px;
1926
+ height: 32px;
1927
+ cursor: pointer;
1928
+ bottom: 40px;
1929
+ left: 40px;
1930
+ margin-top: -20px;
1931
+ position: absolute;
1932
+ z-index: 110;
1933
+ }
1934
+
1935
+ .ms-skin-light-5 .ms-nav-next:hover,
1936
+ .ms-skin-light-5 .ms-nav-prev:hover{
1937
+ background-color:#E0E0E0;
1938
+ }
1939
+
1940
+ .ms-skin-light-5 .ms-nav-next {
1941
+ left: 73px;
1942
+ background-position: -93px -110px;
1943
+ }
1944
+
1945
+ .ms-skin-light-5 .ms-bullets.ms-dir-h {
1946
+ position: absolute;
1947
+ bottom: 20px;
1948
+ right: 50%;
1949
+ width: 100px;
1950
+ }
1951
+
1952
+ .ms-skin-light-5 .ms-bullets.ms-dir-h .ms-bullets-count {
1953
+ position: relative;
1954
+ right: -50%;
1955
+ }
1956
+
1957
+ .ms-skin-light-5 .ms-bullet {
1958
+ width: 10px;
1959
+ height: 10px;
1960
+ background: url(skins/light-skin-5.png) no-repeat;
1961
+ margin: 4px;
1962
+ background-position: -34px -117px;
1963
+ }
1964
+
1965
+ .ms-skin-light-5 .ms-bullet-selected {
1966
+ background-position: -34px -84px;
1967
+ }
1968
+
1969
+ .ms-skin-light-5 .ms-tooltip{
1970
+ position: absolute;
1971
+ z-index: 210;
1972
+ cursor: auto;
1973
+ }
1974
+
1975
+ .ms-skin-light-5 .ms-tooltip-top .ms-tooltip-arrow,
1976
+ .ms-skin-light-5 .ms-tooltip-bottom .ms-tooltip-arrow{
1977
+ border-left: solid 10px transparent;
1978
+ border-right: solid 10px transparent;
1979
+ position: absolute;
1980
+ left: 50%;
1981
+ margin-left: -10px;
1982
+ }
1983
+
1984
+ .ms-skin-light-5 .ms-tooltip-top .ms-tooltip-arrow{
1985
+ border-top: solid 10px;
1986
+ border-top-color: silver;
1987
+ border-top-color: rgba(240, 240, 240, 0.88);
1988
+ bottom: -10px;
1989
+ }
1990
+
1991
+ .ms-skin-light-5 .ms-tooltip-bottom .ms-tooltip-arrow {
1992
+ border-bottom: solid 10px;
1993
+ border-bottom-color: silver;
1994
+ border-bottom-color: rgba(240, 240, 240, 0.88);
1995
+ top: -10px;
1996
+ }
1997
+
1998
+ .ms-skin-light-5 .ms-tooltip-right .ms-tooltip-arrow,
1999
+ .ms-skin-light-5 .ms-tooltip-left .ms-tooltip-arrow{
2000
+ border-top: solid 10px transparent;
2001
+ border-bottom: solid 10px transparent;
2002
+ position: absolute;
2003
+ top: 50%;
2004
+ margin-top: -10px;
2005
+ }
2006
+
2007
+ .ms-skin-light-5 .ms-tooltip-right .ms-tooltip-arrow{
2008
+ border-right: solid 10px;
2009
+ border-right-color: silver;
2010
+ border-right-color: rgba(240, 240, 240, 0.88);
2011
+ left: -10px;
2012
+ }
2013
+
2014
+ .ms-skin-light-5 .ms-tooltip-left .ms-tooltip-arrow {
2015
+ border-left: solid 10px;
2016
+ border-left-color: silver;
2017
+ border-left-color: rgba(240, 240, 240, 0.88);
2018
+ right: -10px;
2019
+ }
2020
+
2021
+ .ms-skin-light-5 .ms-tooltip-point {cursor: pointer;}
2022
+ .ms-skin-light-5 .ms-tooltip-point .ms-point-center {
2023
+ width: 12px;
2024
+ height: 12px;
2025
+ border-radius: 15px;
2026
+ border: solid 2px #BBB;
2027
+ background: white;
2028
+ margin: -8px 0 0 -8px;
2029
+ position: absolute;
2030
+ z-index: 105;
2031
+ }
2032
+
2033
+ .ms-skin-light-5 .ms-tooltip-point .ms-point-border {
2034
+ width: 22px;
2035
+ height: 22px;
2036
+ background: black;
2037
+ background:rgba(0, 0, 0, 0.36);
2038
+ margin: -11px 0 0 -11px;
2039
+ position: absolute;
2040
+ border-radius: 15px;
2041
+
2042
+ animation: point-anim 1.5s infinite ;
2043
+ -moz-animation: point-anim 1.5s infinite;
2044
+ -webkit-animation: point-anim 1.5s infinite;
2045
+ -o-animation: point-anim 1.5s infinite;
2046
+ }
2047
+
2048
+ /* In Android browser, using css animations over slider causes some crashes */
2049
+ .ms-android.ms-skin-light-5 .ms-tooltip-point .ms-point-border{
2050
+ animation:none;
2051
+ -moz-animation:none;
2052
+ -webkit-animation:none;
2053
+ -o-animation:none;
2054
+ }
2055
+
2056
+ .ms-ie7.ms-skin-light-5 .ms-tooltip-point .ms-point-border,
2057
+ .ms-ie8.ms-skin-light-5 .ms-tooltip-point .ms-point-border{
2058
+ display: none;
2059
+ }
2060
+
2061
+ .ms-skin-light-5 .ms-tooltip {
2062
+ max-width:200px;
2063
+ }
2064
+
2065
+ .ms-skin-light-5 .ms-tooltip-cont {
2066
+ padding: 10px;
2067
+ background: silver;
2068
+ background: rgba(240, 240, 240, 0.88);
2069
+ text-shadow: 0 1px 0px white;
2070
+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
2071
+ }
2072
+
2073
+ /* retina */
2074
+ @media
2075
+ only screen and (-webkit-min-device-pixel-ratio: 2),
2076
+ only screen and ( min--moz-device-pixel-ratio: 2),
2077
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
2078
+ only screen and ( min-device-pixel-ratio: 2),
2079
+ only screen and ( min-resolution: 192dpi),
2080
+ only screen and ( min-resolution: 2dppx) {
2081
+
2082
+ .ms-skin-light-5 .ms-slide .ms-slide-vpbtn,
2083
+ .ms-skin-light-5 .ms-video-btn,
2084
+ .ms-skin-light-5 .ms-slide .ms-slide-vcbtn,
2085
+ .ms-skin-light-5 .ms-nav-next,
2086
+ .ms-skin-light-5 .ms-nav-prev{
2087
+ background-image:url(skins/light-skin-5-retina.png);
2088
+ background-size: 152px 225px;
2089
+ }
2090
+
2091
+ }
2092
+
2093
+
2094
+
2095
+ /**
2096
+ * Master Slider
2097
+ * Light-6 Skin
2098
+ */
2099
+
2100
+ .ms-skin-light-6 .ms-slide .ms-slide-vpbtn,
2101
+ .ms-skin-light-6 .ms-video-btn{
2102
+ width: 45px;
2103
+ height: 45px;
2104
+ background: url(skins/light-skin-6.png) white no-repeat -16px -103px;
2105
+ border: solid 3px rgb(112, 112, 112); border-color: rgba(0, 0, 0, 0.27);
2106
+ -webkit-background-clip: padding-box;
2107
+ top: 50%;
2108
+ left: 50%;
2109
+ margin: -23px 0 0 -23px;
2110
+ }
2111
+
2112
+ .ms-skin-light-6 .ms-slide .ms-slide-vpbtn:hover,
2113
+ .ms-skin-light-6 .ms-video-btn:hover{
2114
+ background-color:#E0E0E0;
2115
+ }
2116
+
2117
+ .ms-skin-light-6 .ms-slide .ms-slide-vcbtn {
2118
+ width: 25px;
2119
+ height: 25px;
2120
+ background: url(skins/light-skin-6.png) white no-repeat -27px -36px;
2121
+ top: 15px;
2122
+ right: 15px;
2123
+ }
2124
+
2125
+ .ms-skin-light-6.round-skin .ms-slide .ms-slide-vcbtn{
2126
+ border-radius: 30px;
2127
+ }
2128
+
2129
+
2130
+ /* controls */
2131
+
2132
+ .ms-skin-light-6 .ms-nav-next,
2133
+ .ms-skin-light-6 .ms-nav-prev {
2134
+ position: absolute;
2135
+ cursor: pointer;
2136
+ z-index: 110;
2137
+ width: 45px;
2138
+ height: 45px;
2139
+ background: url(skins/light-skin-6.png) white;
2140
+ -webkit-background-clip: padding-box;
2141
+ -moz-background-clip: padding-box;
2142
+ background-clip: padding-box;
2143
+ background-position: -88px -26px;
2144
+ border: solid 3px rgb(112, 112, 112);
2145
+ border-color: rgba(0, 0, 0, 0.27);
2146
+ top: 50%;
2147
+ left: 30px;
2148
+ margin-top: -22px;
2149
+ }
2150
+
2151
+ .ms-skin-light-6.round-skin .ms-nav-next,
2152
+ .ms-skin-light-6.round-skin .ms-nav-prev,
2153
+ .ms-skin-light-6.round-skin .ms-slide .ms-slide-vpbtn,
2154
+ .ms-skin-light-6.round-skin .ms-video-btn{
2155
+ border-radius: 90px;
2156
+ }
2157
+
2158
+ .ms-skin-light-6 .ms-nav-next:hover,
2159
+ .ms-skin-light-6 .ms-nav-prev:hover{
2160
+ background-color:#E0E0E0;
2161
+ }
2162
+
2163
+ .ms-skin-light-6 .ms-nav-next {
2164
+ right: 30px;
2165
+ left: auto;
2166
+ background-position: -86px -103px;
2167
+ }
2168
+
2169
+
2170
+ .ms-skin-light-6 .ms-bullets.ms-dir-h {
2171
+ position: absolute;
2172
+ bottom: 20px;
2173
+ right: 50%;
2174
+ width: 100px;
2175
+ }
2176
+
2177
+ .ms-skin-light-6 .ms-bullets.ms-dir-h .ms-bullets-count {
2178
+ position: relative;
2179
+ right: -50%;
2180
+ }
2181
+
2182
+ .ms-skin-light-6 .ms-bullet {
2183
+ width: 8px;
2184
+ height: 8px;
2185
+ background: black;
2186
+ -webkit-background-clip: padding-box;
2187
+ border: solid 3px white;
2188
+ border-color: rgba(255, 255, 255, 0.44);
2189
+ margin: 4px;
2190
+ background-position: -34px -117px;
2191
+ }
2192
+
2193
+ .ms-skin-light-6.round-skin .ms-bullet{
2194
+ border-radius: 15px;
2195
+ }
2196
+
2197
+ .ms-skin-light-6 .ms-bullet-selected {
2198
+ background-color: white;
2199
+ border-color: black;
2200
+ border-color: rgba(0, 0, 0, 0.44);
2201
+ }
2202
+
2203
+ .ms-skin-light-6 .ms-tooltip{
2204
+ position: absolute;
2205
+ z-index: 210;
2206
+ cursor: auto;
2207
+ }
2208
+
2209
+ .ms-skin-light-6 .ms-tooltip-top .ms-tooltip-arrow,
2210
+ .ms-skin-light-6 .ms-tooltip-bottom .ms-tooltip-arrow{
2211
+ border-left: solid 10px transparent;
2212
+ border-right: solid 10px transparent;
2213
+ position: absolute;
2214
+ left: 50%;
2215
+ margin-left: -10px;
2216
+ }
2217
+
2218
+ .ms-skin-light-6 .ms-tooltip-top .ms-tooltip-arrow{
2219
+ border-top: solid 10px;
2220
+ border-top-color: silver;
2221
+ border-top-color: rgba(240, 240, 240, 0.88);
2222
+ bottom: -10px;
2223
+ }
2224
+
2225
+ .ms-skin-light-6 .ms-tooltip-bottom .ms-tooltip-arrow {
2226
+ border-bottom: solid 10px;
2227
+ border-bottom-color: silver;
2228
+ border-bottom-color: rgba(240, 240, 240, 0.88);
2229
+ top: -10px;
2230
+ }
2231
+
2232
+ .ms-skin-light-6 .ms-tooltip-right .ms-tooltip-arrow,
2233
+ .ms-skin-light-6 .ms-tooltip-left .ms-tooltip-arrow{
2234
+ border-top: solid 10px transparent;
2235
+ border-bottom: solid 10px transparent;
2236
+ position: absolute;
2237
+ top: 50%;
2238
+ margin-top: -10px;
2239
+ }
2240
+
2241
+ .ms-skin-light-6 .ms-tooltip-right .ms-tooltip-arrow{
2242
+ border-right: solid 10px;
2243
+ border-right-color: silver;
2244
+ border-right-color: rgba(240, 240, 240, 0.88);
2245
+ left: -10px;
2246
+ }
2247
+
2248
+ .ms-skin-light-6 .ms-tooltip-left .ms-tooltip-arrow {
2249
+ border-left: solid 10px;
2250
+ border-left-color: silver;
2251
+ border-left-color: rgba(240, 240, 240, 0.88);
2252
+ right: -10px;
2253
+ }
2254
+
2255
+ .ms-skin-light-6 .ms-tooltip-point {cursor: pointer;}
2256
+ .ms-skin-light-6 .ms-tooltip-point .ms-point-center {
2257
+ width: 12px;
2258
+ height: 12px;
2259
+ border-radius: 15px;
2260
+ border: solid 2px #BBB;
2261
+ background: white;
2262
+ margin: -8px 0 0 -8px;
2263
+ position: absolute;
2264
+ z-index: 105;
2265
+ }
2266
+
2267
+ .ms-skin-light-6 .ms-tooltip-point .ms-point-border {
2268
+ width: 22px;
2269
+ height: 22px;
2270
+ background: black;
2271
+ background:rgba(0, 0, 0, 0.36);
2272
+ margin: -11px 0 0 -11px;
2273
+ position: absolute;
2274
+ border-radius: 15px;
2275
+
2276
+ animation: point-anim 1.5s infinite ;
2277
+ -moz-animation: point-anim 1.5s infinite;
2278
+ -webkit-animation: point-anim 1.5s infinite;
2279
+ -o-animation: point-anim 1.5s infinite;
2280
+ }
2281
+
2282
+ .ms-ie7.ms-skin-light-6 .ms-tooltip-point .ms-point-border,
2283
+ .ms-ie8.ms-skin-light-6 .ms-tooltip-point .ms-point-border{
2284
+ display: none;
2285
+ }
2286
+
2287
+ .ms-skin-light-6 .ms-tooltip {
2288
+ max-width:200px;
2289
+ }
2290
+
2291
+ .ms-skin-light-6 .ms-tooltip-cont {
2292
+ padding: 10px;
2293
+ background: silver;
2294
+ background: rgba(240, 240, 240, 0.88);
2295
+ text-shadow: 0 1px 0px white;
2296
+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
2297
+ }
2298
+
2299
+ /* retina */
2300
+ @media
2301
+ only screen and (-webkit-min-device-pixel-ratio: 2),
2302
+ only screen and ( min--moz-device-pixel-ratio: 2),
2303
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
2304
+ only screen and ( min-device-pixel-ratio: 2),
2305
+ only screen and ( min-resolution: 192dpi),
2306
+ only screen and ( min-resolution: 2dppx) {
2307
+
2308
+ .ms-skin-light-6 .ms-slide .ms-slide-vpbtn,
2309
+ .ms-skin-light-6 .ms-video-btn,
2310
+ .ms-skin-light-6 .ms-slide .ms-slide-vcbtn,
2311
+ .ms-skin-light-6 .ms-nav-next,
2312
+ .ms-skin-light-6 .ms-nav-prev{
2313
+ background-image:url(skins/light-skin-6-retina.png);
2314
+ background-size: 152px 225px;
2315
+ }
2316
+
2317
+ }
2318
+
2319
+
2320
+
2321
+ /**
2322
+ * Master Slider
2323
+ * Metro Skin
2324
+ */
2325
+
2326
+ .ms-skin-metro .ms-slide .ms-slide-vpbtn,
2327
+ .ms-skin-metro .ms-video-btn{
2328
+ width: 47px;
2329
+ height: 46px;
2330
+ background: url(skins/metro-skin.png) no-repeat -16px -152px;
2331
+ top: 50%;
2332
+ left: 50%;
2333
+ margin: -22px 0 0 -24px;
2334
+ }
2335
+
2336
+ .ms-skin-metro .ms-slide .ms-slide-vcbtn {
2337
+ width: 47px;
2338
+ height: 47px;
2339
+ background: url(skins/metro-skin.png) no-repeat -16px -19px;
2340
+ top: 15px;
2341
+ right: 15px;
2342
+ }
2343
+
2344
+ /* controls */
2345
+
2346
+ .ms-skin-metro .ms-nav-next,
2347
+ .ms-skin-metro .ms-nav-prev {
2348
+ width: 47px;
2349
+ background: url(skins/metro-skin.png);
2350
+ background-position: -83px -23px;
2351
+ height: 47px;
2352
+ cursor: pointer;
2353
+ top: 50%;
2354
+ left: 30px;
2355
+ margin-top: -24px;
2356
+ position: absolute;
2357
+ z-index: 110;
2358
+ }
2359
+ .ms-skin-metro .ms-nav-next {
2360
+ right: 30px;
2361
+ left: auto;
2362
+ background-position: -81px -100px;
2363
+ }
2364
+
2365
+ .ms-skin-metro .ms-bullets.ms-dir-h {
2366
+ position: absolute;
2367
+ bottom: 20px;
2368
+ right: 50%;
2369
+ width: 100px;
2370
+ }
2371
+
2372
+ .ms-skin-metro .ms-bullets.ms-dir-h .ms-bullets-count {
2373
+ position: relative;
2374
+ right: -50%;
2375
+ }
2376
+
2377
+ .ms-skin-metro .ms-bullet {
2378
+ width: 16px;
2379
+ height: 16px;
2380
+ background: url(skins/metro-skin.png) no-repeat;
2381
+ background-position: -31px -114px;
2382
+ margin: 4px;
2383
+ }
2384
+
2385
+ .ms-skin-metro .ms-bullet-selected {
2386
+ background-position: -31px -81px;
2387
+ }
2388
+
2389
+ .ms-skin-metro .ms-tooltip{
2390
+ position: absolute;
2391
+ z-index: 210;
2392
+ cursor: auto;
2393
+ }
2394
+
2395
+ .ms-skin-metro .ms-tooltip-top .ms-tooltip-arrow,
2396
+ .ms-skin-metro .ms-tooltip-bottom .ms-tooltip-arrow{
2397
+ border-left: solid 10px transparent;
2398
+ border-right: solid 10px transparent;
2399
+ position: absolute;
2400
+ left: 50%;
2401
+ margin-left: -10px;
2402
+ }
2403
+
2404
+ .ms-skin-metro .ms-tooltip-top .ms-tooltip-arrow{
2405
+ border-top: solid 10px;
2406
+ border-top-color: silver;
2407
+ border-top-color: rgba(240, 240, 240, 0.88);
2408
+ bottom: -10px;
2409
+ }
2410
+
2411
+ .ms-skin-metro .ms-tooltip-bottom .ms-tooltip-arrow {
2412
+ border-bottom: solid 10px;
2413
+ border-bottom-color: silver;
2414
+ border-bottom-color: rgba(240, 240, 240, 0.88);
2415
+ top: -10px;
2416
+ }
2417
+
2418
+ .ms-skin-metro .ms-tooltip-right .ms-tooltip-arrow,
2419
+ .ms-skin-metro .ms-tooltip-left .ms-tooltip-arrow{
2420
+ border-top: solid 10px transparent;
2421
+ border-bottom: solid 10px transparent;
2422
+ position: absolute;
2423
+ top: 50%;
2424
+ margin-top: -10px;
2425
+ }
2426
+
2427
+ .ms-skin-metro .ms-tooltip-right .ms-tooltip-arrow{
2428
+ border-right: solid 10px;
2429
+ border-right-color: silver;
2430
+ border-right-color: rgba(240, 240, 240, 0.88);
2431
+ left: -10px;
2432
+ }
2433
+
2434
+ .ms-skin-metro .ms-tooltip-left .ms-tooltip-arrow {
2435
+ border-left: solid 10px;
2436
+ border-left-color: silver;
2437
+ border-left-color: rgba(240, 240, 240, 0.88);
2438
+ right: -10px;
2439
+ }
2440
+
2441
+ .ms-skin-metro .ms-tooltip-point {cursor: pointer;}
2442
+ .ms-skin-metro .ms-tooltip-point .ms-point-center {
2443
+ width: 12px;
2444
+ height: 12px;
2445
+ border-radius: 15px;
2446
+ border: solid 2px #BBB;
2447
+ background: white;
2448
+ margin: -8px 0 0 -8px;
2449
+ position: absolute;
2450
+ z-index: 105;
2451
+ }
2452
+
2453
+ .ms-skin-metro .ms-tooltip-point .ms-point-border {
2454
+ width: 22px;
2455
+ height: 22px;
2456
+ background: black;
2457
+ background:rgba(0, 0, 0, 0.36);
2458
+ margin: -11px 0 0 -11px;
2459
+ position: absolute;
2460
+ border-radius: 15px;
2461
+
2462
+ animation: point-anim 1.5s infinite ;
2463
+ -moz-animation: point-anim 1.5s infinite;
2464
+ -webkit-animation: point-anim 1.5s infinite;
2465
+ -o-animation: point-anim 1.5s infinite;
2466
+ }
2467
+
2468
+ .ms-skin-metro .ms-tooltip {
2469
+ max-width:200px;
2470
+ }
2471
+
2472
+ .ms-skin-metro .ms-tooltip-cont {
2473
+ padding: 10px;
2474
+ background: silver;
2475
+ background: rgba(240, 240, 240, 0.88);
2476
+ text-shadow: 0 1px 0px white;
2477
+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
2478
+ }
2479
+
2480
+ /* retina */
2481
+ @media
2482
+ only screen and (-webkit-min-device-pixel-ratio: 2),
2483
+ only screen and ( min--moz-device-pixel-ratio: 2),
2484
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
2485
+ only screen and ( min-device-pixel-ratio: 2),
2486
+ only screen and ( min-resolution: 192dpi),
2487
+ only screen and ( min-resolution: 2dppx) {
2488
+
2489
+ .ms-skin-metro .ms-slide .ms-slide-vpbtn,
2490
+ .ms-skin-metro .ms-video-btn,
2491
+ .ms-skin-metro .ms-slide .ms-slide-vcbtn,
2492
+ .ms-skin-metro .ms-nav-next,
2493
+ .ms-skin-metro .ms-nav-prev,
2494
+ .ms-skin-metro .ms-bullet{
2495
+ background-image:url(skins/metro-skin-retina.png);
2496
+ background-size: 152px 225px;
2497
+ }
2498
+
2499
+ }
2500
+
2501
+
2502
+ /**
2503
+ * Master Slider
2504
+ * Contrast
2505
+ */
2506
+
2507
+ .ms-skin-contrast .ms-slide .ms-slide-vpbtn,
2508
+ .ms-skin-contrast .ms-video-btn{
2509
+ width: 60px;
2510
+ height: 60px;
2511
+ background: url(skins/contrast-skin.png) no-repeat -10px -144px;
2512
+ top: 50%;
2513
+ left: 50%;
2514
+ margin: -30px 0 0 -30px;
2515
+ }
2516
+
2517
+ .ms-skin-contrast .ms-slide .ms-slide-vcbtn {
2518
+ width: 24px;
2519
+ height: 24px;
2520
+ background: url(skins/contrast-skin.png) no-repeat -27px -30px;
2521
+ top: 30px;
2522
+ right: 30px;
2523
+ }
2524
+
2525
+ /* controls */
2526
+
2527
+ .ms-skin-contrast .ms-nav-next,
2528
+ .ms-skin-contrast .ms-nav-prev {
2529
+ width: 60px;
2530
+ background: url(skins/contrast-skin.png);
2531
+ background-position: -76px -17px;
2532
+ height: 60px;
2533
+ cursor: pointer;
2534
+ top: 50%;
2535
+ left: 30px;
2536
+ margin-top: -30px;
2537
+ position: absolute;
2538
+ z-index: 110;
2539
+ }
2540
+ .ms-skin-contrast .ms-nav-next {
2541
+ right: 30px;
2542
+ left: auto;
2543
+ background-position: -77px -91px;
2544
+ }
2545
+
2546
+ .ms-skin-contrast .ms-bullets.ms-dir-h {
2547
+ position: absolute;
2548
+ bottom: 20px;
2549
+ right: 50%;
2550
+ width: 100px;
2551
+ }
2552
+
2553
+ .ms-skin-contrast .ms-bullets.ms-dir-h .ms-bullets-count {
2554
+ position: relative;
2555
+ right: -50%;
2556
+ }
2557
+
2558
+ .ms-skin-contrast .ms-bullet {
2559
+ width: 16px;
2560
+ height: 16px;
2561
+ background: url(skins/contrast-skin.png) no-repeat;
2562
+ background-position: -31px -114px;
2563
+ margin: 4px;
2564
+ }
2565
+
2566
+ .ms-skin-contrast .ms-bullet-selected {
2567
+ background-position: -31px -81px;
2568
+ }
2569
+
2570
+ .ms-skin-contrast .ms-tooltip{
2571
+ position: absolute;
2572
+ z-index: 210;
2573
+ cursor: auto;
2574
+ }
2575
+
2576
+ .ms-skin-contrast .ms-tooltip-top .ms-tooltip-arrow,
2577
+ .ms-skin-contrast .ms-tooltip-bottom .ms-tooltip-arrow{
2578
+ border-left: solid 10px transparent;
2579
+ border-right: solid 10px transparent;
2580
+ position: absolute;
2581
+ left: 50%;
2582
+ margin-left: -10px;
2583
+ }
2584
+
2585
+ .ms-skin-contrast .ms-tooltip-top .ms-tooltip-arrow{
2586
+ border-top: solid 10px;
2587
+ border-top-color: #fc3116;
2588
+ border-top-color: rgba(252, 49, 22, 0.8);
2589
+ bottom: -10px;
2590
+ }
2591
+
2592
+ .ms-skin-contrast .ms-tooltip-bottom .ms-tooltip-arrow {
2593
+ border-bottom: solid 10px;
2594
+ border-bottom-color: #fc3116;
2595
+ border-bottom-color: rgba(252, 49, 22, 0.8);
2596
+ top: -10px;
2597
+ }
2598
+
2599
+ .ms-skin-contrast .ms-tooltip-right .ms-tooltip-arrow,
2600
+ .ms-skin-contrast .ms-tooltip-left .ms-tooltip-arrow{
2601
+ border-top: solid 10px transparent;
2602
+ border-bottom: solid 10px transparent;
2603
+ position: absolute;
2604
+ top: 50%;
2605
+ margin-top: -10px;
2606
+ }
2607
+
2608
+ .ms-skin-contrast .ms-tooltip-right .ms-tooltip-arrow{
2609
+ border-right: solid 10px;
2610
+ border-right-color: #fc3116;
2611
+ border-right-color: rgba(252, 49, 22, 0.8);
2612
+ left: -10px;
2613
+ }
2614
+
2615
+ .ms-skin-contrast .ms-tooltip-left .ms-tooltip-arrow {
2616
+ border-left: solid 10px;
2617
+ border-left-color: #fc3116;
2618
+ border-left-color: rgba(252, 49, 22, 0.8);
2619
+ right: -10px;
2620
+ }
2621
+
2622
+ .ms-skin-contrast .ms-tooltip-point {cursor: pointer;}
2623
+ .ms-skin-contrast .ms-tooltip-point .ms-point-center {
2624
+ width: 12px;
2625
+ height: 12px;
2626
+ border-radius: 15px;
2627
+ border: solid 2px #636363;
2628
+ background: black;
2629
+ margin: -8px 0 0 -8px;
2630
+ position: absolute;
2631
+ z-index: 105;
2632
+ }
2633
+
2634
+ .ms-skin-contrast .ms-tooltip-point .ms-point-border {
2635
+ width: 22px;
2636
+ height: 22px;
2637
+ background: white;
2638
+ background: rgba(255, 255, 255, 0.99);
2639
+ margin: -11px 0 0 -11px;
2640
+ position: absolute;
2641
+ border-radius: 15px;
2642
+
2643
+ animation: point-anim 1.5s infinite ;
2644
+ -moz-animation: point-anim 1.5s infinite;
2645
+ -webkit-animation: point-anim 1.5s infinite;
2646
+ -o-animation: point-anim 1.5s infinite;
2647
+ }
2648
+
2649
+ .ms-skin-contrast .ms-tooltip {
2650
+ max-width:200px;
2651
+ }
2652
+
2653
+ .ms-skin-contrast .ms-tooltip-cont {
2654
+ padding: 10px;
2655
+ background: #fc3116;
2656
+ background: rgba(252, 49, 22, 0.8);
2657
+ text-shadow: 0 1px 0px rgba(0, 0, 0, 0.4);
2658
+ color: white;
2659
+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.04);
2660
+ }
2661
+
2662
+ /* retina */
2663
+ @media
2664
+ only screen and (-webkit-min-device-pixel-ratio: 2),
2665
+ only screen and ( min--moz-device-pixel-ratio: 2),
2666
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
2667
+ only screen and ( min-device-pixel-ratio: 2),
2668
+ only screen and ( min-resolution: 192dpi),
2669
+ only screen and ( min-resolution: 2dppx) {
2670
+
2671
+ .ms-skin-contrast .ms-slide .ms-slide-vpbtn,
2672
+ .ms-skin-contrast .ms-video-btn,
2673
+ .ms-skin-contrast .ms-slide .ms-slide-vcbtn,
2674
+ .ms-skin-contrast .ms-nav-next,
2675
+ .ms-skin-contrast .ms-nav-prev,
2676
+ .ms-skin-contrast .ms-bullet{
2677
+ background-image:url(skins/contrast-skin-retina.png);
2678
+ background-size: 152px 225px;
2679
+ }
2680
+
2681
+ }
public/assets/css/skins/black-skin-1-retina.png CHANGED
Binary file
public/assets/css/skins/black-skin-1.png CHANGED
Binary file
public/assets/css/skins/black-skin-2-retina.png CHANGED
Binary file
public/assets/css/skins/black-skin-2.png CHANGED
Binary file
public/assets/css/skins/contrast-skin-retina.png CHANGED
Binary file
public/assets/css/skins/contrast-skin.png CHANGED
Binary file
public/assets/css/skins/light-skin-1-retina.png CHANGED
Binary file
public/assets/css/skins/light-skin-1.png CHANGED
Binary file
public/assets/css/skins/light-skin-2-retina.png CHANGED
Binary file
public/assets/css/skins/light-skin-2.png CHANGED
Binary file
public/assets/css/skins/light-skin-3-retina.png CHANGED
Binary file
public/assets/css/skins/light-skin-3.png CHANGED
Binary file
public/assets/css/skins/light-skin-4-retina.png CHANGED
Binary file
public/assets/css/skins/light-skin-4.png CHANGED
Binary file
public/assets/css/skins/light-skin-5-retina.png CHANGED
Binary file
public/assets/css/skins/light-skin-5.png CHANGED
Binary file
public/assets/css/skins/light-skin-6-retina.png CHANGED
Binary file
public/assets/css/skins/light-skin-6.png CHANGED
Binary file
public/assets/css/skins/metro-skin-retina.png CHANGED
Binary file
public/assets/css/skins/metro-skin.png CHANGED
Binary file
public/assets/css/skins/minimal.svg ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="310.032" height="19" viewBox="0 0 310.032 19">
2
+ <defs>
3
+ <style>
4
+ .cls-1 {
5
+ fill: #3d3d3d;
6
+ fill-rule: evenodd;
7
+ }
8
+ </style>
9
+ </defs>
10
+ <path id="thin_cross_medium" data-name="thin cross medium" class="cls-1" d="M1157.97,520h-1v-1h1v1Zm1,1h-1v-1h1v1Zm1,1h-1v-1h1v1Zm1,1h-1v-1h1v1Zm1,1h-1v-1h1v1Zm-6-5v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm4-7h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm7,4v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1ZM1060,527h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm2-1v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1Zm1-1v1h-1v-1h1ZM958.938,520v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm-1,1v-1h1v1h-1Zm9-10h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-1-1h1v1h-1v-1Zm-92,10v1h-1v1h-1v1h-1v1h-1v1h-1v1h-1v1h-1v-1H852V511h1v1h1v1h1v1h1v1h1v1h1v1h1v1h0.938v1h-1Z" transform="translate(-851.938 -509)"/>
11
+ </svg>
public/assets/css/templates/device-skin.png CHANGED
Binary file
public/assets/css/templates/display.png CHANGED
Binary file
public/assets/css/templates/flat-display.png CHANGED
Binary file
public/assets/css/templates/flat-laptop.png CHANGED
Binary file
public/assets/css/templates/flat-phone-land.png CHANGED
Binary file
public/assets/css/templates/flat-phone.png CHANGED
Binary file
public/assets/css/templates/flat-tablet-land.png CHANGED
Binary file
public/assets/css/templates/flat-tablet.png CHANGED
Binary file
public/assets/css/templates/gallery-btns.png CHANGED
Binary file
public/assets/css/templates/laptop.png CHANGED
Binary file
public/assets/css/templates/phone-land.png CHANGED
Binary file
public/assets/css/templates/phone.png CHANGED
Binary file
public/assets/css/templates/staff-arrows.png CHANGED
Binary file
public/assets/css/templates/tablet-land.png CHANGED
Binary file
public/assets/css/templates/tablet.png CHANGED
Binary file
public/assets/css/templates/vertical-arrows.png CHANGED
Binary file
public/assets/js/masterslider.js CHANGED
@@ -1,10 +1,10 @@
1
  /*!
2
  * Master Slider – Responsive Touch Swipe Slider [lite version]
3
- * Copyright © 2015 All Rights Reserved.
4
  *
5
  * @author Averta [www.averta.net]
6
- * @version 2.9.7
7
- * @date Jun 2015
8
  */
9
 
10
 
@@ -386,215 +386,229 @@ window.averta = {};
386
  })();
387
 
388
  /* ================== bin-debug/js/lite/tools/TouchSwipe.js =================== */
389
- ;(function($){
390
-
391
- "use strict";
392
-
393
- var isTouch = 'ontouchstart' in document,
394
- isPointer = window.navigator.pointerEnabled,
395
- isMSPoiner = !isPointer && window.navigator.msPointerEnabled,
396
- usePointer = isPointer || isMSPoiner,
397
- // Events
398
- ev_start = (isPointer ? 'pointerdown ' : '' ) + (isMSPoiner ? 'MSPointerDown ' : '' ) + (isTouch ? 'touchstart ' : '' ) + 'mousedown',
399
- ev_move = (isPointer ? 'pointermove ' : '' ) + (isMSPoiner ? 'MSPointerMove ' : '' ) + (isTouch ? 'touchmove ' : '' ) + 'mousemove',
400
- ev_end = (isPointer ? 'pointerup ' : '' ) + (isMSPoiner ? 'MSPointerUp ' : '' ) + (isTouch ? 'touchend ' : '' ) + 'mouseup',
401
- ev_cancel = (isPointer ? 'pointercancel ' : '' ) + (isMSPoiner ? 'MSPointerCancel ': '' ) + 'touchcancel';
402
-
403
-
404
- averta.TouchSwipe = function($element){
405
- this.$element = $element;
406
- this.enabled = true;
407
-
408
- $element.bind(ev_start , {target: this} , this.__touchStart);
409
-
410
- $element[0].swipe = this;
411
-
412
- this.onSwipe = null;
413
- this.swipeType = 'horizontal';
414
- this.noSwipeSelector = 'input, textarea, button, .no-swipe, .ms-no-swipe';
415
-
416
- this.lastStatus = {};
417
-
418
- };
419
-
420
- var p = averta.TouchSwipe.prototype;
421
-
422
- /*-------------- METHODS --------------*/
423
-
424
- p.getDirection = function(new_x , new_y){
425
- switch(this.swipeType){
426
- case 'horizontal':
427
- return new_x <= this.start_x ? 'left' : 'right';
428
- break;
429
- case 'vertical':
430
- return new_y <= this.start_y ? 'up' : 'down';
431
- break;
432
- case 'all':
433
- if(Math.abs(new_x - this.start_x) > Math.abs(new_y - this.start_y))
434
- return new_x <= this.start_x ? 'left' : 'right';
435
- else
436
- return new_y <= this.start_y ? 'up' : 'down';
437
- break;
438
- }
439
- };
440
-
441
- p.priventDefultEvent = function(new_x , new_y){
442
- //if(this.priventEvt != null) return this.priventEvt;
443
- var dx = Math.abs(new_x - this.start_x);
444
- var dy = Math.abs(new_y - this.start_y);
445
-
446
- var horiz = dx > dy;
447
-
448
- return (this.swipeType === 'horizontal' && horiz) ||
449
- (this.swipeType === 'vertical' && !horiz);
450
-
451
- //return this.priventEvt;
452
- };
453
-
454
- p.createStatusObject = function(evt){
455
- var status_data = {} , temp_x , temp_y;
456
-
457
- temp_x = this.lastStatus.distanceX || 0;
458
- temp_y = this.lastStatus.distanceY || 0;
459
-
460
- status_data.distanceX = evt.pageX - this.start_x;
461
- status_data.distanceY = evt.pageY - this.start_y;
462
- status_data.moveX = status_data.distanceX - temp_x;
463
- status_data.moveY = status_data.distanceY - temp_y;
464
-
465
- status_data.distance = parseInt( Math.sqrt(Math.pow(status_data.distanceX , 2) + Math.pow(status_data.distanceY , 2)) );
466
-
467
- status_data.duration = new Date().getTime() - this.start_time;
468
- status_data.direction = this.getDirection(evt.pageX , evt.pageY);
469
-
470
- return status_data;
471
- };
472
-
473
-
474
- p.__reset = function(event , jqevt){
475
- this.reset = false;
476
- this.lastStatus = {};
477
- this.start_time = new Date().getTime();
478
- this.start_x = isTouch ? event.touches[0].pageX : (usePointer ? event.pageX : jqevt.pageX);
479
- this.start_y = isTouch ? event.touches[0].pageY : (usePointer ? event.pageY : jqevt.pageY);
480
- };
481
-
482
- p.__touchStart = function(event){
483
-
484
- var swipe = event.data.target;
485
- var jqevt = event;
486
- if(!swipe.enabled) return;
487
-
488
- if ( $(event.target).closest(swipe.noSwipeSelector, swipe.$element).length > 0 ) {
489
- return;
490
- }
491
-
492
- event = event.originalEvent;
493
-
494
- if( usePointer ) {
495
- $(this).css('-ms-touch-action', swipe.swipeType === 'horizontal' ? 'pan-y' : 'pan-x');
496
- }
497
-
498
- if(!swipe.onSwipe) {
499
- $.error('Swipe listener is undefined');
500
- return;
501
- }
502
-
503
- if(swipe.touchStarted) return;
504
-
505
- swipe.start_x = isTouch ? event.touches[0].pageX : (usePointer ? event.pageX : jqevt.pageX);
506
- swipe.start_y = isTouch ? event.touches[0].pageY : (usePointer ? event.pageY : jqevt.pageY);
507
-
508
- swipe.start_time = new Date().getTime();
509
-
510
- $(document).bind(ev_end , {target: swipe} , swipe.__touchEnd).
511
- bind(ev_move , {target: swipe} , swipe.__touchMove).
512
- bind(ev_cancel , {target: swipe} , swipe.__touchCancel);
513
-
514
- var evt = isTouch ? event.touches[0] : (usePointer ? event : jqevt);
515
- var status = swipe.createStatusObject(evt);
516
- status.phase = 'start';
517
-
518
- swipe.onSwipe.call(null , status);
519
-
520
- if(!isTouch)
521
- jqevt.preventDefault();
522
-
523
- swipe.lastStatus = status;
524
- swipe.touchStarted = true;
525
- };
526
-
527
- p.__touchMove = function(event){
528
- var swipe = event.data.target;
529
- var jqevt = event;
530
- event = event.originalEvent;
531
-
532
- if(!swipe.touchStarted) return;
533
-
534
- clearTimeout(swipe.timo);
535
- swipe.timo = setTimeout(function(){swipe.__reset(event , jqevt);} , 60);
536
-
537
- var evt = isTouch ? event.touches[0] : (usePointer ? event : jqevt);
538
-
539
- var status = swipe.createStatusObject(evt);
540
-
541
- if(swipe.priventDefultEvent(evt.pageX , evt.pageY))
542
- jqevt.preventDefault();
543
-
544
- status.phase = 'move';
545
-
546
- //if(swipe.lastStatus.direction !== status.direction) swipe.__reset(event , jqevt);
547
-
548
- swipe.lastStatus = status;
549
-
550
- swipe.onSwipe.call(null , status);
551
- };
552
-
553
- p.__touchEnd = function(event){
554
-
555
- var swipe = event.data.target;
556
- var jqevt = event;
557
- event = event.originalEvent;
558
-
559
- clearTimeout(swipe.timo);
560
-
561
- var evt = isTouch ? event.touches[0] : (usePointer ? event : jqevt);
562
-
563
- var status = swipe.lastStatus;
564
-
565
- if(!isTouch)
566
- jqevt.preventDefault();
567
-
568
- status.phase = 'end';
569
-
570
- swipe.touchStarted = false;
571
- swipe.priventEvt = null;
572
-
573
- $(document).unbind(ev_end , swipe.__touchEnd).
574
- unbind(ev_move , swipe.__touchMove).
575
- unbind(ev_cancel , swipe.__touchCancel);
576
-
577
- status.speed = status.distance / status.duration;
578
-
579
- swipe.onSwipe.call(null , status);
580
-
581
- };
582
-
583
- p.__touchCancel = function(event){
584
- var swipe = event.data.target;
585
- swipe.__touchEnd(event);
586
- };
587
-
588
- p.enable = function(){
589
- if(this.enabled) return;
590
- this.enabled = true;
591
- };
592
-
593
- p.disable = function(){
594
- if(!this.enabled) return;
595
- this.enabled = false;
596
- };
597
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
598
  })(jQuery);
599
 
600
  /* ================== bin-debug/js/lite/tools/Timer.js =================== */
@@ -720,271 +734,271 @@ window.averta = {};
720
  })();
721
 
722
  /* ================== bin-debug/js/lite/tools/CSSTweener.js =================== */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
723
  ;(function(){
724
 
725
  "use strict";
726
 
727
- var evt = null;
728
-
729
- window.CSSTween = function(element , duration , delay , ease){
730
-
731
- this.$element = element;
732
- this.duration = duration || 1000;
733
- this.delay = delay || 0;
734
- this.ease = ease || 'linear';
735
-
736
- /*if(!evt){
737
- if(window._jcsspfx === 'O')
738
- evt = 'otransitionend';
739
- else if(window._jcsspfx == 'Webkit')
740
- evt = 'webkitTransitionEnd';
741
- else
742
- evt = 'transitionend' ;
743
- }*/
744
 
745
- };
746
-
747
- var p = CSSTween.prototype;
748
-
749
- /*-------------- METHODS --------------*/
750
-
751
- p.to = function(callback , target){
752
- this.to_cb = callback;
753
- this.to_cb_target = target;
754
-
755
- return this;
756
- };
757
-
758
- p.from = function(callback , target ){
759
- this.fr_cb = callback;
760
- this.fr_cb_target = target;
761
-
762
- return this;
763
- };
764
-
765
- p.onComplete = function(callback ,target){
766
- this.oc_fb = callback;
767
- this.oc_fb_target = target;
768
-
769
- return this;
770
- };
771
-
772
- p.chain = function(csstween){
773
- this.chained_tween = csstween;
774
- return this;
775
- };
776
-
777
- p.reset = function(){
778
- //element.removeEventListener(evt , this.onTransComplete , true);
779
- clearTimeout(this.start_to);
780
- clearTimeout(this.end_to);
781
- };
782
-
783
- p.start = function(){
784
- var element = this.$element[0];
785
-
786
- clearTimeout(this.start_to);
787
- clearTimeout(this.end_to);
788
-
789
- this.fresh = true;
790
-
791
- if(this.fr_cb){
792
- element.style[window._jcsspfx + 'TransitionDuration'] = '0ms';
793
- this.fr_cb.call(this.fr_cb_target);
794
- }
795
-
796
- var that = this;
797
-
798
- this.onTransComplete = function(event){
799
-
800
- if(!that.fresh) return;
801
-
802
- //that.$element[0].removeEventListener(evt , this.onTransComplete, true);
803
- //event.stopPropagation();
804
-
805
-
806
- that.reset();
807
-
808
- element.style[window._jcsspfx + 'TransitionDuration'] = '';
809
- element.style[window._jcsspfx + 'TransitionProperty'] = '';
810
- element.style[window._jcsspfx + 'TransitionTimingFunction'] = '';
811
- element.style[window._jcsspfx + 'TransitionDelay'] = '';
812
-
813
- that.fresh = false;
814
- if(that.chained_tween) that.chained_tween.start();
815
- if(that.oc_fb) that.oc_fb.call(that.oc_fb_target);
816
-
817
- };
818
-
819
- this.start_to = setTimeout(function(){
820
- if ( !that.$element ) return;
821
- element.style[window._jcsspfx + 'TransitionDuration'] = that.duration + 'ms';
822
- element.style[window._jcsspfx + 'TransitionProperty'] = that.transProperty || 'all';
823
-
824
- if(that.delay > 0) element.style[window._jcsspfx + 'TransitionDelay'] = that.delay + 'ms';
825
- else element.style[window._jcsspfx + 'TransitionDelay'] = '';
826
-
827
- element.style[window._jcsspfx + 'TransitionTimingFunction'] = that.ease;
828
-
829
- if(that.to_cb) that.to_cb.call(that.to_cb_target);
830
-
831
- //that.$element[0].addEventListener(evt , that.onTransComplete , true );
832
-
833
- that.end_to = setTimeout(function(){that.onTransComplete();} , that.duration + (that.delay || 0));
834
- } , 100);
835
-
836
- return this;
837
- };
838
-
839
- })();
840
-
841
- /**
842
- * Cross Tween Class
843
- */
844
- ;(function(){
845
-
846
- "use strict";
847
-
848
- var _cssanim = null;
849
- window.CTween = {};
850
-
851
- function transPos(element, properties){
852
- if(properties.x !== undefined || properties.y !== undefined){
853
- if(_cssanim){
854
- var trans = window._jcsspfx+"Transform";
855
- if(properties.x !== undefined){
856
- properties[trans] = (properties[trans] || '') + ' translateX('+properties.x+'px)';
857
- delete properties.x;
858
- }
859
-
860
- if(properties.y !== undefined){
861
- properties[trans] = (properties[trans] || '') + ' translateY('+properties.y+'px)';
862
- delete properties.y;
863
- }
864
- }else{
865
- if(properties.x !== undefined){
866
- var posx = element.css('right') !== 'auto' ? 'right' : 'left';
867
- //if(!element[0].bx) element[0].bx = parseInt(element.css(posx));
868
- properties[posx] = /*element[0].bx + */properties.x + 'px';
869
- delete properties.x;
870
- }
871
-
872
- if(properties.y !== undefined){
873
- var posy = element.css('bottom') !== 'auto' ? 'bottom' : 'top';
874
- //if(!element[0].by) element[0].by = parseInt(element.css(posy));
875
- properties[posy] = /*element[0].by + */properties.y + 'px';
876
- delete properties.y;
877
- }
878
- }
879
- }
880
- return properties;
881
- }
882
-
883
- CTween.setPos = function(element , pos){
884
- element.css(transPos(element , pos));
885
- };
886
-
887
- CTween.animate = function(element , duration , properties , options){
888
- if(_cssanim == null) _cssanim = window._cssanim;
889
-
890
- options = options || {};
891
-
892
- transPos(element , properties);
893
-
894
- if(_cssanim){
895
- var tween = new CSSTween(element , duration , options.delay , EaseDic[options.ease]);
896
- if ( options.transProperty ) {
897
- tween.transProperty = options.transProperty;
898
- }
899
- tween.to(function(){ element.css(properties);});
900
- if(options.complete) tween.onComplete(options.complete , options.target);
901
- tween.start();
902
- tween.stop = tween.reset;
903
- return tween;
904
- }
905
-
906
- var onCl;
907
-
908
- if(options.delay) element.delay(options.delay);
909
- if(options.complete)
910
- onCl = function(){
911
- options.complete.call(options.target);
912
- };
913
-
914
- element.stop(true).animate(properties , duration , options.ease || 'linear' , onCl);
915
-
916
- return element;
917
- };
918
-
919
- CTween.fadeOut = function(target , duration , remove) {
920
- var options = {};
921
- if(remove === true) {
922
- options.complete = function(){target.remove();};
923
- } else if ( remove === 2 ) {
924
- options.complete = function(){target.css('display', 'none');};
925
- }
926
-
927
- CTween.animate(target , duration || 1000 , {opacity : 0} , options);
928
- };
929
-
930
- CTween.fadeIn = function(target , duration, reset){
931
- if( reset !== false ) {
932
- target.css('opacity' , 0).css('display', '');
933
- }
934
-
935
- CTween.animate(target , duration || 1000 , {opacity : 1});
936
- };
937
-
938
- })();
939
-
940
- ;(function(){
941
-
942
- // Thanks to matthewlein
943
- // https://github.com/matthewlein/Ceaser
944
-
945
- window.EaseDic = {
946
- 'linear' : 'linear',
947
- 'ease' : 'ease',
948
- 'easeIn' : 'ease-in',
949
- 'easeOut' : 'ease-out',
950
- 'easeInOut' : 'ease-in-out',
951
-
952
- 'easeInCubic' : 'cubic-bezier(.55,.055,.675,.19)',
953
- 'easeOutCubic' : 'cubic-bezier(.215,.61,.355,1)',
954
- 'easeInOutCubic' : 'cubic-bezier(.645,.045,.355,1)',
955
- 'easeInCirc' : 'cubic-bezier(.6,.04,.98,.335)',
956
- 'easeOutCirc' : 'cubic-bezier(.075,.82,.165,1)',
957
- 'easeInOutCirc' : 'cubic-bezier(.785,.135,.15,.86)',
958
- 'easeInExpo' : 'cubic-bezier(.95,.05,.795,.035)',
959
- 'easeOutExpo' : 'cubic-bezier(.19,1,.22,1)',
960
- 'easeInOutExpo' : 'cubic-bezier(1,0,0,1)',
961
- 'easeInQuad' : 'cubic-bezier(.55,.085,.68,.53)',
962
- 'easeOutQuad' : 'cubic-bezier(.25,.46,.45,.94)',
963
- 'easeInOutQuad' : 'cubic-bezier(.455,.03,.515,.955)',
964
- 'easeInQuart' : 'cubic-bezier(.895,.03,.685,.22)',
965
- 'easeOutQuart' : 'cubic-bezier(.165,.84,.44,1)',
966
- 'easeInOutQuart' : 'cubic-bezier(.77,0,.175,1)',
967
- 'easeInQuint' : 'cubic-bezier(.755,.05,.855,.06)',
968
- 'easeOutQuint' : 'cubic-bezier(.23,1,.32,1)',
969
- 'easeInOutQuint' : 'cubic-bezier(.86,0,.07,1)',
970
- 'easeInSine' : 'cubic-bezier(.47,0,.745,.715)',
971
- 'easeOutSine' : 'cubic-bezier(.39,.575,.565,1)',
972
- 'easeInOutSine' : 'cubic-bezier(.445,.05,.55,.95)',
973
- 'easeInBack' : 'cubic-bezier(.6,-.28,.735,.045)',
974
- 'easeOutBack' : 'cubic-bezier(.175, .885,.32,1.275)',
975
- 'easeInOutBack' : 'cubic-bezier(.68,-.55,.265,1.55)'
976
- };
977
- })();
978
-
979
- /* ================== bin-debug/js/lite/tools/Aligner.js =================== */
980
- ;(function(){
981
-
982
- "use strict";
983
-
984
- window.MSAligner = function(type , $container , $img ){
985
-
986
- this.$container = $container;
987
- this.$img = $img;
988
 
989
  this.type = type || 'stretch'; // fill , fit , stretch , tile , center
990
 
@@ -1521,2269 +1535,2340 @@ MSSliderEvent.RESERVED_SPACE_CHANGE = 'ms_rsc'; // internal use
1521
  MSSliderEvent.DESTROY = 'ms_destroy';
1522
 
1523
  /* ================== bin-debug/js/lite/controls/Slide.js =================== */
1524
- /**
1525
- * Master Slider Slide Class
1526
- * @author averta
1527
- * @package Master Slider jQuery
1528
- */
1529
- ;(function(window, document, $){
1530
-
1531
- "use strict";
1532
-
1533
- window.MSSlide = function(){
1534
-
1535
- this.$element = null;
1536
- this.$loading = $('<div></div>').addClass('ms-slide-loading');
1537
-
1538
- this.view = null;
1539
- this.index = -1;
1540
-
1541
- this.__width = 0;
1542
- this.__height = 0;
1543
-
1544
- this.fillMode = 'fill'; // fill , fit , stretch , tile , center
1545
-
1546
- this.selected = false;
1547
- this.pselected = false;
1548
- this.autoAppend = true;
1549
- this.isSleeping = true;
1550
-
1551
- this.moz = $.browser.mozilla;
1552
- };
1553
-
1554
- var p = MSSlide.prototype;
1555
-
1556
- /**
1557
- * on swipe start handler
1558
- */
1559
- p.onSwipeStart = function(){
1560
- //this.$layers.css(window._csspfx + 'transition-duration' , '0ms');
1561
- if ( this.link ) {
1562
- this.linkdis = true;
1563
- }
1564
-
1565
- if ( this.video ) {
1566
- this.videodis = true;
1567
- }
1568
- };
1569
-
1570
- /**
1571
- * on swipe move handler
1572
- */
1573
- p.onSwipeMove = function (e) {
1574
- var move = Math.max(Math.abs(e.data.distanceX), Math.abs(e.data.distanceY));
1575
- this.swipeMoved = move > 4;
1576
- };
1577
-
1578
- /**
1579
- * on swipe cancel handler
1580
- */
1581
- p.onSwipeCancel = function(e){
1582
- if ( this.swipeMoved ) {
1583
- this.swipeMoved = false;
1584
- return;
1585
- }
1586
-
1587
- if ( this.link ) {
1588
- this.linkdis = false;
1589
- }
1590
-
1591
- if ( this.video ) {
1592
- this.videodis = false;
1593
- }
1594
- //this.$layers.css(window._csspfx + 'transition-duration' , this.view.__slideDuration + 'ms');
1595
- };
1596
-
1597
- /**
1598
- * this method called after loading all assets related to this slide
1599
- */
1600
- p.assetsLoaded = function(){
1601
- this.ready = true;
1602
- this.slider.api._startTimer();
1603
-
1604
- if ( !this.isSleeping ) {
1605
- this.setupBG();
1606
- }
1607
-
1608
- CTween.fadeOut(this.$loading , 300 , true);
1609
-
1610
- //sequence loading
1611
- if ( (this.slider.options.preload === 0 || this.slider.options.preload === 'all') && this.index < this.view.slideList.length - 1 ) {
1612
- this.view.slideList[this.index + 1].loadImages();
1613
- } else if ( this.slider.options.preload === 'all' && this.index === this.view.slideList.length - 1 ){
1614
- this.slider._removeLoading();
1615
- }
1616
-
1617
- };
1618
-
1619
- /**
1620
- * adds backgroun image to the slider
1621
- * @param {Element} img slide image element
1622
- */
1623
- p.setBG = function(img){
1624
- this.hasBG = true;
1625
- var that = this;
1626
-
1627
- this.$imgcont = $('<div></div>').addClass('ms-slide-bgcont');
1628
-
1629
- this.$element.append(this.$loading)
1630
- .append(this.$imgcont);
1631
-
1632
- this.$bg_img = $(img).css('visibility' , 'hidden');
1633
- this.$imgcont.append(this.$bg_img);
1634
-
1635
- this.bgAligner = new MSAligner(that.fillMode , that.$imgcont, that.$bg_img );
1636
- this.bgAligner.widthOnly = this.slider.options.autoHeight;
1637
-
1638
- if ( that.slider.options.autoHeight && (that.pselected || that.selected) ) {
1639
- that.slider.setHeight(that.slider.options.height);
1640
- }
1641
-
1642
- if ( this.$bg_img.data('src') !== undefined ) {
1643
- this.bg_src = this.$bg_img.data('src');
1644
- this.$bg_img.removeAttr('data-src');
1645
- } else {
1646
- this.$bg_img.one('load', function(event) {that._onBGLoad(event);})
1647
- .each($.jqLoadFix);
1648
- }
1649
-
1650
- };
1651
-
1652
- /**
1653
- * align and resize backgrund image over slide
1654
- */
1655
- p.setupBG = function(){
1656
-
1657
- //if(this.isSettedup) return;
1658
- //this.isSettedup = true;
1659
-
1660
- if ( !this.initBG && this.bgLoaded ) {
1661
- this.initBG = true;
1662
- this.$bg_img.css('visibility' , '');
1663
- this.bgWidth = this.bgNatrualWidth || this.$bg_img.width();
1664
- this.bgHeight = this.bgNatrualHeight || this.$bg_img.height();
1665
-
1666
- CTween.fadeIn(this.$imgcont , 300);
1667
-
1668
- if(this.slider.options.autoHeight){
1669
- this.$imgcont.height(this.bgHeight * this.ratio);
1670
- }
1671
-
1672
- this.bgAligner.init(this.bgWidth , this.bgHeight);
1673
- this.setSize(this.__width , this.__height);
1674
-
1675
- if(this.slider.options.autoHeight && (this.pselected || this.selected))
1676
- this.slider.setHeight(this.getHeight());
1677
- }
1678
-
1679
- };
1680
-
1681
-
1682
-
1683
- /**
1684
- * start loading images
1685
- */
1686
- p.loadImages = function(){
1687
- if ( this.ls ) {
1688
- return;
1689
- }
1690
-
1691
- this.ls = true;
1692
-
1693
- if ( this.hasBG && this.bg_src ) {
1694
- var that = this;
1695
- this.$bg_img.preloadImg(this.bg_src , function(event) {that._onBGLoad(event);});
1696
- }
1697
-
1698
- // There is nothing to preload? so slide is ready to show.
1699
- if( !this.hasBG && !this.hasLayers ) {
1700
- this.assetsLoaded();
1701
- }
1702
-
1703
- };
1704
-
1705
- /**
1706
- * on background image loaded
1707
- * @param {Event} event
1708
- */
1709
- p._onBGLoad = function(event){
1710
- this.bgNatrualWidth = event.width;
1711
- this.bgNatrualHeight = event.height;
1712
-
1713
- this.bgLoaded = true;
1714
-
1715
- if ( $.browser.msie ) {
1716
- this.$bg_img.on('dragstart', function(event) { event.preventDefault(); }); // disables native dragging
1717
- }
1718
-
1719
- if ( !this.hasLayers || this.layerController.ready ) {
1720
- this.assetsLoaded();
1721
- }
1722
- };
1723
-
1724
- /* -----------------------------------------------------*/
1725
-
1726
- /**
1727
- * resize slide
1728
- * @param {Number} width
1729
- * @param {Number} height
1730
- * @param {Boolean} hard after resizing reinitializes layers
1731
- */
1732
- p.setSize = function(width, height, hard) {
1733
-
1734
- this.__width = width;
1735
-
1736
- if ( this.slider.options.autoHeight ) {
1737
- if ( this.bgLoaded ) {
1738
- this.ratio = this.__width / this.bgWidth;
1739
- height = Math.floor(this.ratio * this.bgHeight);
1740
- this.$imgcont.height(height);
1741
- } else {
1742
- this.ratio = width / this.slider.options.width;
1743
- height = this.slider.options.height * this.ratio;
1744
- }
1745
- }
1746
-
1747
- this.__height = height;
1748
- this.$element.width(width).height(height);
1749
-
1750
- if(this.hasBG && this.bgLoaded)this.bgAligner.align();
1751
-
1752
- };
1753
-
1754
- /**
1755
- * calculates slide height
1756
- * @return {Number} slide height
1757
- */
1758
- p.getHeight = function(){
1759
-
1760
- if ( this.hasBG && this.bgLoaded ) {
1761
- return this.bgHeight * this.ratio;
1762
- }
1763
-
1764
- return Math.max(this.$element[0].clientHeight, this.slider.options.height * this.ratio);
1765
- };
1766
-
1767
- /* -----------------------------------------------------*/
1768
- // YouTube and Vimeo videos
1769
-
1770
- /**
1771
- * playe embeded video
1772
- */
1773
- p.__playVideo = function (){
1774
-
1775
- if ( this.vplayed || this.videodis ) {
1776
- return;
1777
- }
1778
-
1779
- this.vplayed = true;
1780
-
1781
- if ( !this.slider.api.paused ) {
1782
- this.slider.api.pause();
1783
- this.roc = true; // resume on close;
1784
- }
1785
-
1786
- this.vcbtn.css('display' , '');
1787
- CTween.fadeOut(this.vpbtn , 500 , false);
1788
- CTween.fadeIn(this.vcbtn , 500);
1789
- CTween.fadeIn(this.vframe , 500);
1790
- this.vframe.css('display' , 'block').attr('src' , this.video + '&autoplay=1');
1791
- this.view.$element.addClass('ms-def-cursor');
1792
-
1793
- // remove perspective style from view if it's Firefox.
1794
- // it fixes video fullscreen issue in Firefox
1795
- if ( this.moz ) {
1796
- this.view.$element.css('perspective', 'none');
1797
- }
1798
-
1799
- // if swipe navigation enabled
1800
- if ( this.view.swipeControl ) {
1801
- this.view.swipeControl.disable();
1802
- }
1803
-
1804
- this.slider.slideController.dispatchEvent(new MSSliderEvent(MSSliderEvent.VIDEO_PLAY));
1805
- };
1806
-
1807
- /**
1808
- * close embeded video
1809
- */
1810
- p.__closeVideo = function(){
1811
-
1812
- if ( !this.vplayed ) {
1813
- return;
1814
- }
1815
-
1816
- this.vplayed = false;
1817
-
1818
- if(this.roc){
1819
- this.slider.api.resume();
1820
- }
1821
-
1822
- var that = this;
1823
-
1824
- CTween.fadeIn(this.vpbtn , 500);
1825
- CTween.animate(this.vcbtn , 500 , {opacity:0} , {complete:function(){ that.vcbtn.css ('display' , 'none'); }});
1826
- CTween.animate(this.vframe , 500 , {opacity:0} , {complete:function(){ that.vframe.attr('src' , 'about:blank').css('display' , 'none');}});
1827
-
1828
- // video fullscreen issue in Firefox
1829
- if ( this.moz ) {
1830
- this.view.$element.css('perspective', '');
1831
- }
1832
-
1833
- // if swipe navigation enabled
1834
- if ( this.view.swipeControl ) {
1835
- this.view.swipeControl.enable();
1836
- }
1837
-
1838
- this.view.$element.removeClass('ms-def-cursor');
1839
- this.slider.slideController.dispatchEvent(new MSSliderEvent(MSSliderEvent.VIDEO_CLOSE));
1840
- };
1841
-
1842
- /* -----------------------------------------------------*/
1843
-
1844
- /**
1845
- * create slide - it adds requierd elements over slide
1846
- */
1847
- p.create = function(){
1848
- var that = this;
1849
-
1850
-
1851
- if ( this.link ) {
1852
- this.link.addClass('ms-slide-link').html('').click(function(e){
1853
- if ( that.linkdis ) {
1854
- e.preventDefault();
1855
- }
1856
- });
1857
-
1858
- // this.$element.css('cursor' , 'pointer')
1859
- // .click(function(){ if(!that.linkdis) window.open(that.link , that.link_targ || '_self'); });
1860
- }
1861
-
1862
- if ( this.video ) {
1863
-
1864
- if ( this.video.indexOf('?') === -1 ) {
1865
- this.video += '?';
1866
- }
1867
-
1868
- this.vframe = $('<iframe></iframe>')
1869
- .addClass('ms-slide-video')
1870
- .css({width:'100%' , height:'100%' , display:'none'})
1871
- .attr('src' , 'about:blank')
1872
- .attr('allowfullscreen', 'true')
1873
- .appendTo(this.$element);
1874
-
1875
- this.vpbtn = $('<div></div>')
1876
- .addClass('ms-slide-vpbtn')
1877
- .click(function(){that.__playVideo();})
1878
- .appendTo(this.$element);
1879
-
1880
- this.vcbtn = $('<div></div>')
1881
- .addClass('ms-slide-vcbtn')
1882
- .click(function(){that.__closeVideo();})
1883
- .appendTo(this.$element)
1884
- .css('display','none');
1885
-
1886
- if ( window._touch ) {
1887
- this.vcbtn.removeClass('ms-slide-vcbtn')
1888
- .addClass('ms-slide-vcbtn-mobile')
1889
- .append('<div class="ms-vcbtn-txt">Close video</div>')
1890
- .appendTo(this.view.$element.parent());
1891
- }
1892
- }
1893
-
1894
- if ( !this.slider.options.autoHeight && this.hasBG ) {
1895
- this.$imgcont.css('height' , '100%');
1896
-
1897
- if ( this.fillMode === 'center' || this.fillMode === 'stretch' ){
1898
- this.fillMode = 'fill';
1899
- }
1900
- }
1901
-
1902
- if ( this.slider.options.autoHeight ) {
1903
- this.$element.addClass('ms-slide-auto-height');
1904
- }
1905
-
1906
- this.sleep(true);
1907
- };
1908
-
1909
- /**
1910
- * destory the slide
1911
- */
1912
- p.destroy = function(){
1913
- this.$element.remove();
1914
- this.$element = null;
1915
- };
1916
-
1917
- /**
1918
- * everything require to do before selecting slide
1919
- */
1920
- p.prepareToSelect = function(){
1921
-
1922
- if ( this.pselected || this.selected ) {
1923
- return;
1924
- }
1925
-
1926
- this.pselected = true;
1927
-
1928
- if ( this.link || this.video ) {
1929
- this.view.addEventListener(MSViewEvents.SWIPE_START , this.onSwipeStart , this);
1930
- this.view.addEventListener(MSViewEvents.SWIPE_MOVE , this.onSwipeMove , this);
1931
- this.view.addEventListener(MSViewEvents.SWIPE_CANCEL , this.onSwipeCancel , this);
1932
- this.linkdis = false;
1933
- this.swipeMoved = false;
1934
- }
1935
-
1936
- this.loadImages();
1937
-
1938
- if( this.moz ){
1939
- this.$element.css('margin-top' , '');
1940
- }
1941
-
1942
-
1943
- };
1944
-
1945
- /*p.prepareToUnselect = function(){
1946
- if(!this.pselected || !this.selected) return;
1947
-
1948
- this.pselected = false;
1949
-
1950
- };*/
1951
-
1952
- /**
1953
- * select slide
1954
- */
1955
- p.select = function(){
1956
- if ( this.selected ) {
1957
- return;
1958
- }
1959
-
1960
- this.selected = true;
1961
- this.pselected = false;
1962
- this.$element.addClass('ms-sl-selected');
1963
-
1964
-
1965
- // @since 1.8.0
1966
- // Autoplay iframe video
1967
- if ( this.videoAutoPlay ) {
1968
- this.videodis = false;
1969
- this.vpbtn.trigger('click');
1970
- }
1971
-
1972
- };
1973
-
1974
- /**
1975
- * remove selected status
1976
- */
1977
- p.unselect = function(){
1978
- this.pselected = false;
1979
-
1980
- if ( this.moz ) {
1981
- this.$element.css('margin-top' , '0.1px');
1982
- }
1983
-
1984
- if ( this.link || this.video ) {
1985
- this.view.removeEventListener(MSViewEvents.SWIPE_START , this.onSwipeStart , this);
1986
- this.view.removeEventListener(MSViewEvents.SWIPE_MOVE , this.onSwipeMove , this);
1987
- this.view.removeEventListener(MSViewEvents.SWIPE_CANCEL , this.onSwipeCancel , this);
1988
- }
1989
-
1990
-
1991
- if ( !this.selected ) {
1992
- return;
1993
- }
1994
-
1995
- this.selected = false;
1996
-
1997
- this.$element.removeClass('ms-sl-selected');
1998
- if(this.video && this.vplayed){
1999
- this.__closeVideo();
2000
- this.roc = false;
2001
- }
2002
-
2003
- };
2004
-
2005
- /**
2006
- * remove slide from DOM
2007
- */
2008
- p.sleep = function(force){
2009
- if ( this.isSleeping && !force ) {
2010
- return;
2011
- }
2012
-
2013
- this.isSleeping = true;
2014
-
2015
- if ( this.autoAppend ) {
2016
- this.$element.detach();
2017
- }
2018
-
2019
- if ( this.hasLayers ) {
2020
- this.layerController.onSlideSleep();
2021
- }
2022
- };
2023
-
2024
- /**
2025
- * add slide to the DOM
2026
- */
2027
- p.wakeup = function(){
2028
- if ( !this.isSleeping ) {
2029
- return;
2030
- }
2031
-
2032
- this.isSleeping = false;
2033
-
2034
- if ( this.autoAppend ) {
2035
- this.view.$slideCont.append(this.$element);
2036
- }
2037
-
2038
- if ( this.moz ){
2039
- this.$element.css('margin-top' , '0.1px');
2040
- }
2041
-
2042
- this.setupBG();
2043
-
2044
- // aling bg
2045
- if ( this.hasBG ){
2046
- this.bgAligner.align();
2047
- }
2048
-
2049
- if ( this.hasLayers ) {
2050
- this.layerController.onSlideWakeup();
2051
- }
2052
- };
2053
-
2054
  })(window, document, jQuery);
2055
 
2056
  /* ================== bin-debug/js/lite/controls/SlideController.js =================== */
2057
- ;(function($){
2058
-
2059
- "use strict";
2060
-
2061
- var SliderViewList = {};
2062
-
2063
- window.MSSlideController = function(slider){
2064
-
2065
- this._delayProgress = 0;
2066
-
2067
- this._timer = new averta.Timer(100);
2068
- this._timer.onTimer = this.onTimer;
2069
- this._timer.refrence = this;
2070
-
2071
- this.currentSlide = null;
2072
-
2073
- this.slider = slider;
2074
- this.so = slider.options;
2075
-
2076
- averta.EventDispatcher.call(this);
2077
-
2078
- };
2079
-
2080
- MSSlideController.registerView = function(name , _class){
2081
- if(name in SliderViewList){
2082
- throw new Error( name + ', is already registered.');
2083
- return;
2084
- }
2085
-
2086
- SliderViewList[name] = _class;
2087
- };
2088
-
2089
- MSSlideController.SliderControlList = {};
2090
- MSSlideController.registerControl = function(name , _class){
2091
- if(name in MSSlideController.SliderControlList){
2092
- throw new Error( name + ', is already registered.');
2093
- return;
2094
- }
2095
-
2096
- MSSlideController.SliderControlList[name] = _class;
2097
- };
2098
-
2099
- var p = MSSlideController.prototype;
2100
-
2101
- /*-------------- METHODS --------------*/
2102
-
2103
-
2104
- p.setupView = function(){
2105
-
2106
- var that = this;
2107
- this.resize_listener = function(){that.__resize();};
2108
-
2109
- // in @version 1.5.7 it will be added in Masterslider.js _setupSliderLayout function
2110
- //$(window).bind('resize', this.resize_listener);
2111
-
2112
- //if(this.so.smoothHeight) this.so.autoHeight = true;
2113
-
2114
- var viewOptions = {
2115
- spacing: this.so.space,
2116
- mouseSwipe: this.so.mouse,
2117
- loop: this.so.loop,
2118
- autoHeight: this.so.autoHeight,
2119
- swipe: this.so.swipe,
2120
- speed: this.so.speed,
2121
- dir: this.so.dir,
2122
- viewNum: this.so.inView,
2123
- critMargin: this.so.critMargin
2124
- };
2125
-
2126
- if(this.so.viewOptions)
2127
- $.extend(viewOptions , this.so.viewOptions);
2128
-
2129
- if(this.so.autoHeight) this.so.heightLimit = false;
2130
-
2131
- //this.view.slideDuration = this.so.duration;
2132
-
2133
- var viewClass = SliderViewList[this.slider.options.view] || MSBasicView;
2134
- if(viewClass._3dreq && (!window._css3d || $.browser.msie) ) viewClass = viewClass._fallback || MSBasicView;
2135
-
2136
- this.view = new viewClass(viewOptions);
2137
-
2138
- if(this.so.overPause){
2139
- var that = this;
2140
- this.slider.$element.mouseenter(function(){
2141
- that.is_over = true;
2142
- that._stopTimer();
2143
- }).mouseleave(function(){
2144
- that.is_over = false;
2145
- that._startTimer();
2146
- });
2147
- }
2148
- };
2149
-
2150
- p.onChangeStart = function(){
2151
-
2152
- this.change_started = true;
2153
-
2154
- if(this.currentSlide) this.currentSlide.unselect();
2155
- this.currentSlide = this.view.currentSlide;
2156
- this.currentSlide.prepareToSelect();
2157
- //this.__appendSlides();
2158
- if(this.so.endPause && this.currentSlide.index === this.slider.slides.length - 1){
2159
- this.pause();
2160
- //this._timer.reset();
2161
- this.skipTimer();
2162
- }
2163
-
2164
- if(this.so.autoHeight){
2165
- this.slider.setHeight(this.currentSlide.getHeight());
2166
- }
2167
-
2168
- if ( this.so.deepLink ) {
2169
- this.__updateWindowHash();
2170
- }
2171
-
2172
- this.dispatchEvent(new MSSliderEvent(MSSliderEvent.CHANGE_START));
2173
- };
2174
-
2175
- p.onChangeEnd = function(){
2176
- //if(!this.currentSlide.selected)
2177
- // this._timer.reset();
2178
- this.change_started = false;
2179
-
2180
- this._startTimer();
2181
- this.currentSlide.select();
2182
-
2183
- if(this.so.preload > 1){
2184
- var loc ,i , l = this.so.preload - 1, slide;
2185
-
2186
- // next slides
2187
- for(i=1;i<=l;++i){
2188
- loc = this.view.index + i;
2189
-
2190
- if(loc >= this.view.slideList.length) {
2191
- if(this.so.loop){
2192
- loc = loc - this.view.slideList.length;
2193
- }else{
2194
- i = l;
2195
- continue;
2196
- }
2197
- }
2198
-
2199
- slide = this.view.slideList[loc];
2200
- if ( slide ) {
2201
- slide.loadImages();
2202
- }
2203
-
2204
- }
2205
-
2206
- // previous slides
2207
- if(l > this.view.slideList.length/2)
2208
- l = Math.floor(this.view.slideList.length/2);
2209
-
2210
- for(i=1;i<=l;++i){
2211
-
2212
- loc = this.view.index - i;
2213
-
2214
- if(loc < 0){
2215
- if(this.so.loop){
2216
- loc = this.view.slideList.length + loc;
2217
- }else{
2218
- i = l;
2219
- continue;
2220
- }
2221
- }
2222
-
2223
- slide = this.view.slideList[loc];
2224
- if ( slide ) {
2225
- slide.loadImages();
2226
- }
2227
-
2228
- }
2229
- }
2230
-
2231
- this.dispatchEvent(new MSSliderEvent(MSSliderEvent.CHANGE_END));
2232
-
2233
- };
2234
-
2235
- p.onSwipeStart = function(){
2236
- //this._timer.reset();
2237
- this.skipTimer();
2238
- };
2239
-
2240
- p.skipTimer = function(){
2241
- this._timer.reset();
2242
- this._delayProgress = 0;
2243
- this.dispatchEvent(new MSSliderEvent(MSSliderEvent.WAITING));
2244
- };
2245
-
2246
- p.onTimer = function(time) {
2247
-
2248
- if(this._timer.getTime() >= this.view.currentSlide.delay * 1000){
2249
- //this._timer.reset();
2250
- this.skipTimer();
2251
- this.view.next();
2252
- this.hideCalled = false;
2253
- }
2254
- this._delayProgress = this._timer.getTime() / (this.view.currentSlide.delay * 10);
2255
-
2256
- if(this.so.hideLayers && !this.hideCalled && this.view.currentSlide.delay * 1000 - this._timer.getTime() <= 300){
2257
- var currentSlide = this.view.currentSlide;
2258
- if ( currentSlide.hasLayers ) {
2259
- currentSlide.layerController.animHideLayers();
2260
- }
2261
- this.hideCalled = true;
2262
- }
2263
-
2264
- this.dispatchEvent(new MSSliderEvent(MSSliderEvent.WAITING));
2265
- };
2266
-
2267
- p._stopTimer = function(){
2268
- if(this._timer)
2269
- this._timer.stop();
2270
- };
2271
-
2272
- p._startTimer = function(){
2273
- if(!this.paused && !this.is_over && this.currentSlide && this.currentSlide.ready && !this.change_started)
2274
- this._timer.start();
2275
- };
2276
-
2277
- p.__appendSlides = function(){
2278
- var slide , loc , i = 0 , l = this.view.slideList.length -1;
2279
-
2280
- // detach all
2281
- for ( i ; i < l ; ++i){
2282
- slide = this.view.slideList[i];
2283
- if(!slide.detached){
2284
- slide.$element.detach();
2285
- slide.detached = true;
2286
- }
2287
- }
2288
-
2289
- // append current slide
2290
- this.view.appendSlide(this.view.slideList[this.view.index]);
2291
-
2292
- l = 3;
2293
-
2294
- // next slides
2295
- for(i=1;i<=l;++i){
2296
- loc = this.view.index + i;
2297
-
2298
- if(loc >= this.view.slideList.length) {
2299
- if(this.so.loop){
2300
- loc = loc - this.view.slideList.length;
2301
- }else{
2302
- i = l;
2303
- continue;
2304
- }
2305
- }
2306
-
2307
- slide = this.view.slideList[loc];
2308
- slide.detached = false;
2309
- this.view.appendSlide(slide);
2310
-
2311
- }
2312
-
2313
- // previous slides
2314
- if(l > this.view.slideList.length/2)
2315
- l = Math.floor(this.view.slideList.length/2);
2316
-
2317
- for(i=1;i<=l;++i){
2318
-
2319
- loc = this.view.index - i;
2320
-
2321
- if(loc < 0){
2322
- if(this.so.loop){
2323
- loc = this.view.slideList.length + loc;
2324
- }else{
2325
- i = l;
2326
- continue;
2327
- }
2328
- }
2329
-
2330
- slide = this.view.slideList[loc];
2331
- slide.detached = false;
2332
- this.view.appendSlide(slide);
2333
- }
2334
-
2335
- }
2336
-
2337
- p.__resize = function(hard){
2338
- if(!this.created) return;
2339
-
2340
- this.width = this.slider.$element[0].clientWidth || this.so.width;
2341
-
2342
- if(!this.so.fullwidth){
2343
- this.width = Math.min(this.width , this.so.width);
2344
- //this.view.$element.css('left' , (this.slider.$element[0].clientWidth - this.width) / 2 + 'px');
2345
- }
2346
-
2347
- this.height = this.width / this.slider.aspect;
2348
- if( this.so.autoHeight ){
2349
- this.currentSlide.setSize(this.width , null , hard);
2350
- this.view.setSize(this.width , this.currentSlide.getHeight() , hard);
2351
- } else {
2352
- this.view.setSize(this.width , ( Math.max( this.so.minHeight, ( this.so.heightLimit ? Math.min(this.height , this.so.height) : this.height ) ) ) , hard);
2353
- }
2354
-
2355
- if(this.slider.$controlsCont){
2356
- if(this.so.centerControls && this.so.fullwidth) {
2357
- this.view.$element.css('left' , Math.min(0,-(this.slider.$element[0].clientWidth - this.so.width) / 2) + 'px');
2358
- }
2359
- }
2360
-
2361
- this.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESIZE));
2362
- };
2363
-
2364
- p.__dispatchInit = function(){
2365
- this.dispatchEvent(new MSSliderEvent(MSSliderEvent.INIT));
2366
- };
2367
-
2368
- p.setup = function(){
2369
-
2370
- this.created = true;
2371
- this.paused = !this.so.autoplay;
2372
-
2373
- //this.slider.$element.append(this.view.$element);
2374
- this.view.addEventListener(MSViewEvents.CHANGE_START , this.onChangeStart , this);
2375
- this.view.addEventListener(MSViewEvents.CHANGE_END , this.onChangeEnd , this);
2376
- this.view.addEventListener(MSViewEvents.SWIPE_START , this.onSwipeStart , this);
2377
-
2378
- //this.currentSlide = this.view.slides[this.so.start - 1];
2379
- this.currentSlide = this.view.slideList[this.so.start - 1];
2380
- this.__resize();
2381
-
2382
- var startSlide = this.so.start - 1;
2383
- this.view.create(startSlide);
2384
-
2385
- if(this.so.preload === 0){
2386
- this.view.slideList[0].loadImages();
2387
- }
2388
-
2389
- this.scroller = this.view.controller;
2390
-
2391
- if(this.so.wheel){
2392
- var that = this;
2393
- var last_time = new Date().getTime();
2394
- this.wheellistener = function(event){
2395
-
2396
- var e = window.event || event.orginalEvent || event;
2397
- e.preventDefault();
2398
-
2399
- var current_time = new Date().getTime();
2400
- if(current_time - last_time < 400) return;
2401
- last_time = current_time;
2402
-
2403
- var delta = Math.abs(e.detail || e.wheelDelta);
2404
-
2405
- if ( $.browser.mozilla ) {
2406
- delta *= 100;
2407
- }
2408
-
2409
- var scrollThreshold = 15;
2410
-
2411
- // --- Scrolling up ---
2412
- if (e.detail < 0 || e.wheelDelta > 0) {
2413
- if ( delta >= scrollThreshold) {
2414
- that.previous(true);
2415
- }
2416
- }
2417
- // --- Scrolling down ---
2418
- else {
2419
- if (delta >= scrollThreshold) {
2420
- that.next(true);
2421
- }
2422
- }
2423
-
2424
- return false;
2425
- };
2426
-
2427
- if($.browser.mozilla) this.slider.$element[0].addEventListener('DOMMouseScroll' , this.wheellistener);
2428
- else this.slider.$element.bind('mousewheel', this.wheellistener);
2429
- }
2430
-
2431
- // if(this.so.wheel){
2432
- // var that = this;
2433
- // var last_time = new Date().getTime();
2434
- // this.wheellistener = function(event){
2435
- // var current_time = new Date().getTime();
2436
- // if(current_time - last_time < 550) return;
2437
- // last_time = current_time;
2438
- // var e = window.event || event.orginalEvent || event;
2439
- // var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
2440
- // if(delta < 0) that.next();
2441
- // else if(delta > 0) that.previous();
2442
- // return false;
2443
- // };
2444
-
2445
- // if($.browser.mozilla) this.slider.$element[0].addEventListener('DOMMouseScroll' , this.wheellistener);
2446
- // else this.slider.$element.bind('mousewheel', this.wheellistener);
2447
- // }
2448
-
2449
- if(this.slider.$element[0].clientWidth === 0)
2450
- this.slider.init_safemode = true;
2451
-
2452
- this.__resize();
2453
-
2454
- };
2455
-
2456
- p.index = function(){
2457
- return this.view.index;
2458
- };
2459
-
2460
- p.count = function(){
2461
- return this.view.slidesCount;
2462
- };
2463
-
2464
- p.next = function(checkLoop){
2465
- this.skipTimer();
2466
- this.view.next(checkLoop);
2467
- };
2468
-
2469
- p.previous = function(checkLoop){
2470
- this.skipTimer();
2471
- this.view.previous(checkLoop);
2472
- };
2473
-
2474
- p.gotoSlide = function(index) {
2475
- index = Math.min(index, this.count()-1);
2476
- this.skipTimer();
2477
- this.view.gotoSlide(index);
2478
- };
2479
-
2480
- p.destroy = function(reset){
2481
- this.dispatchEvent(new MSSliderEvent(MSSliderEvent.DESTROY));
2482
- this.slider.destroy(reset);
2483
- };
2484
-
2485
- p._destroy = function(){
2486
- this._timer.reset();
2487
- this._timer = null;
2488
-
2489
- $(window).unbind('resize', this.resize_listener);
2490
- this.view.destroy();
2491
- this.view = null;
2492
-
2493
- if(this.so.wheel){
2494
- if($.browser.mozilla) this.slider.$element[0].removeEventListener('DOMMouseScroll' , this.wheellistener);
2495
- else this.slider.$element.unbind('mousewheel', this.wheellistener);
2496
- this.wheellistener = null;
2497
- }
2498
-
2499
- this.so = null;
2500
- };
2501
-
2502
- /**
2503
- * run layer actions like next, previous,...
2504
- * @param {String} action
2505
- * @since v1.7.2
2506
- */
2507
- p.runAction = function(action){
2508
- var actionParams = [];
2509
-
2510
- if( action.indexOf('(') !== -1 ){
2511
- var temp = action.slice(0 , action.indexOf('('));
2512
- actionParams = action.slice(action.indexOf('(') + 1 , -1).replace(/\"|\'|\s/g , '').split(',');
2513
- action = temp;
2514
- }
2515
-
2516
- if ( action in this ){
2517
- this[action].apply(this, actionParams);
2518
- } else if ( console ){
2519
- console.log('Master Slider Error: Action "'+action+'" not found.');
2520
- }
2521
- };
2522
-
2523
- p.update = function(hard){
2524
- if(this.slider.init_safemode && hard)
2525
- this.slider.init_safemode = false;
2526
- this.__resize(hard);
2527
-
2528
- if ( hard ) {
2529
- this.dispatchEvent(new MSSliderEvent(MSSliderEvent.HARD_UPDATE));
2530
- }
2531
-
2532
- };
2533
-
2534
- p.locate = function(){
2535
- this.__resize();
2536
- };
2537
-
2538
- p.resume = function(){
2539
- if(!this.paused) return;
2540
- this.paused = false;
2541
- this._startTimer();
2542
- };
2543
-
2544
- p.pause = function(){
2545
- if(this.paused) return;
2546
- this.paused = true;
2547
- this._stopTimer();
2548
- };
2549
-
2550
- p.currentTime = function(){
2551
- return this._delayProgress;
2552
- };
2553
-
2554
- averta.EventDispatcher.extend(p);
2555
- })(jQuery);
2556
 
2557
- /* ================== bin-debug/js/lite/MasterSlider.js =================== */
2558
- /**
2559
- * Master Slider Main JavaScript File
2560
- */
2561
-
2562
- ;(function($){
2563
-
2564
- "use strict";
2565
-
2566
- window.MasterSlider = function(){
2567
-
2568
- // Default Options
2569
- this.options = {
2570
- autoplay : false, // Enables the autoplay slideshow.
2571
- loop : false, // Enables the continuous sliding mode.
2572
- mouse : true, // Whether the user can use mouse drag navigation.
2573
- swipe : true, // Whether the drag/swipe navigation is enabled.
2574
- grabCursor : true, // Whether the slider uses grab mouse cursor.
2575
- space : 0, // The spacing value between slides in pixels.
2576
- fillMode : 'fill', // Specifies the slide background scaling method. Its acceptable values are "fill", "fit", "stretch", "center" and "tile".
2577
- start : 1, // The slider starting slide number.
2578
- view : 'basic', // The slide changing transition.
2579
- width : 300, // The base width of slides. It helps the slider to resize in correct ratio.
2580
- height : 150, // The base height of slides, It helps the slider to resize in correct ratio.
2581
- inView : 15, // Specifies number of slides which will be added at a same time in DOM.
2582
- critMargin : 1, //
2583
- heightLimit : true, // It force the slide to use max height value as its base specified height value.
2584
- smoothHeight : true, // Whether the slider uses smooth animation while its height changes.
2585
- autoHeight : false, // Whether the slider adapts its height to each slide height or not. It overrides heightLimit option.
2586
- minHeight : -1, // @since 2.13.0, Specifies min height value for the slider, it prevents slider to shows too narrow in small screens.
2587
- fullwidth : false, // It enables the slider to adapt width to its parent element. It's very useful for creating full-width sliders. In default it takes max width as its base width value.
2588
- fullheight : false, // It enables the slider to adapt height to its parent element.
2589
- autofill : false, // It enables the slider to adapt width and height to its parent element, It's very useful for creating fullscreen or fullwindow slider.
2590
- layersMode : 'center', // It accepts two values "center" and "full". The "center" value indicates that the slider aligns layers to the center. This option is only effective in full width mode.
2591
- hideLayers : false, // Whether the slider hides all layers before changing slide.
2592
- endPause : false, // Whether the slider pauses slideshow when it stays at the last slide.
2593
- centerControls : true, // Whether the slider aligns UI controls to center. This option is only effective in full width mode.
2594
- overPause : true, // Whether the slider pauses slideshow on hover.
2595
- shuffle : false, // Enables the shuffle slide order.
2596
- speed : 17, // Specifies slide changing speed. It accepts float values between 0 and 100.
2597
- dir : 'h', // Specifies slide changing direction. It accepts two values "h" (horizontal) and "v" (vertical).
2598
- preload : 0, // Specifies number of slides which will be loaded by slider. 0 value means the slider loads slides in sequence.
2599
- wheel : false, // Whether slider uses mouse wheel for navigation.
2600
- layout : 'boxed', // It accepts 'fullwidth', 'fullscreen', 'fillwidth', 'autofill', 'partialview', 'boxed'. It overrides 'fullwidth' and 'autofill' (added in v1.5.6)
2601
- autofillTarget : null, // @since 2.13.0, Specifies the parent element of slider width jQuery selector, it used for sizing slider with autofill layout. Default value is the first parent element of slider.
2602
- fullscreenMargin : 0, // Specifies margin amount to the bottom of slider, it's only effective on fullscreen slider.
2603
- instantStartLayers : false, // @since 1.5.0, Whether instantly shows slide layers.
2604
- parallaxMode : 'mouse', // @since 1.6.0, Specifies mode of parallax effect accepts: "mouse", "mouse:x-only", "mouse:y-only" and "swipe"
2605
- rtl : false, // @since 1.8.0, Whether Right-to-left direction slider.
2606
- deepLink : null, // @since 2.1.0, null value disables slider deep-linking any string values identifies the slider in page's url like /#msslider-1
2607
- deepLinkType : 'path', // @since 2.1.0, type of hash value in page's url possible values, path and query ( #gallery/1 || #gallery=4 )
2608
- disablePlugins : [] // @since 2.9.6, list of disabled Master Slider plugin names for this instance.
2609
- };
2610
-
2611
- this.slides = [];
2612
- this.activePlugins = [];
2613
- this.$element = null;
2614
-
2615
- // used by new layout method. to force fullwidth or fullscreen
2616
- this.lastMargin = 0;
2617
-
2618
- // Reserved side spaces of slider
2619
- this.leftSpace = 0;
2620
- this.topSpace = 0;
2621
- this.rightSpace = 0;
2622
- this.bottomSpace = 0;
2623
-
2624
- // hold on stack
2625
- this._holdOn = 0;
2626
-
2627
- var that = this;
2628
- this.resize_listener = function(){that._resize();};
2629
- $(window).bind('resize', this.resize_listener);
2630
-
2631
- };
2632
-
2633
- MasterSlider.author = 'Averta Ltd. (www.averta.net)';
2634
- MasterSlider.version = '2.9.7';
2635
- MasterSlider.releaseDate = 'Jun 2015';
2636
-
2637
- // Master Slider plugins.
2638
- MasterSlider._plugins = []
2639
- var MS = MasterSlider;
2640
- MS.registerPlugin = function ( plugin ) {
2641
- if ( MS._plugins.indexOf(plugin) === -1 ) {
2642
- MS._plugins.push(plugin);
2643
- }
2644
- };
2645
-
2646
- var p = MasterSlider.prototype;
2647
-
2648
- /*-------------- METHODS --------------*/
2649
-
2650
- /**
2651
- * create one slide object for each slide and add it to slide controller
2652
- * @since 1.0
2653
- * @private
2654
- */
2655
- p.__setupSlides = function(){
2656
- var that = this,
2657
- new_slide,
2658
- ind = 0;
2659
-
2660
- this.$element.children('.ms-slide').each(function(index) {
2661
-
2662
- var $slide_ele = $(this);
2663
-
2664
- new_slide = new MSSlide();
2665
- new_slide.$element = $slide_ele;
2666
- new_slide.slider = that;
2667
- new_slide.delay = $slide_ele.data('delay') !== undefined ? $slide_ele.data('delay') : 3;
2668
- new_slide.fillMode = $slide_ele.data('fill-mode') !== undefined ? $slide_ele.data('fill-mode') : that.options.fillMode;
2669
- new_slide.index = ind++;
2670
-
2671
- // Slide Background Image
2672
- var slide_img = $slide_ele.children('img:not(.ms-layer)');
2673
- if( slide_img.length > 0 ){
2674
- new_slide.setBG(slide_img[0]);
2675
- }
2676
-
2677
- // controls
2678
- if(that.controls){
2679
- for(var i = 0 , l = that.controls.length; i<l ; ++i)
2680
- that.controls[i].slideAction(new_slide);
2681
- }
2682
-
2683
- // Slide Link and Video
2684
- var slide_link = $slide_ele.children('a').each(function(index) {
2685
- var $this = $(this);
2686
- if(this.getAttribute('data-type') === 'video'){
2687
- new_slide.video = this.getAttribute('href');
2688
-
2689
- new_slide.videoAutoPlay = $this.data('autoplay');
2690
-
2691
- $this.remove();
2692
- }else if(!$this.hasClass('ms-layer')) {
2693
- new_slide.link = $(this);
2694
- //new_slide.link_targ = this.getAttribute('target');
2695
- //$this.remove();
2696
- }
2697
- });//.remove();
2698
-
2699
- that.slides.push(new_slide);
2700
- that.slideController.view.addSlide(new_slide);
2701
-
2702
- });
2703
- };
2704
-
2705
-
2706
- /**
2707
- * remove slider initialize loading
2708
- * @since 1.0
2709
- * @private
2710
- */
2711
- p._removeLoading = function(){
2712
- $(window).unbind('resize', this.resize_listener);
2713
- this.$element.removeClass('before-init')
2714
- .css('visibility', 'visible')
2715
- .css('height','')
2716
- .css('opacity' , 0);
2717
- CTween.fadeIn(this.$element);
2718
- this.$loading.remove();
2719
-
2720
- if(this.slideController)
2721
- this.slideController.__resize();
2722
- };
2723
-
2724
- /**
2725
- * resize listener, it only used for aligning slider loading and after slider init it will be removed
2726
- * @param {Event} e
2727
- * @since 1.0
2728
- * @private
2729
- */
2730
- p._resize = function(e){
2731
- if(this.$loading){
2732
- var h = this.$loading[0].clientWidth / this.aspect;
2733
- h = this.options.heightLimit ? Math.min(h , this.options.height) : h;
2734
-
2735
- this.$loading.height(h);
2736
- this.$element.height(h);
2737
- }
2738
- };
2739
-
2740
- /**
2741
- * changes the order of slides element before setup slides
2742
- * @since 1.0
2743
- * @private
2744
- */
2745
- p._shuffleSlides = function(){
2746
- var slides = this.$element.children('.ms-slide') , r;
2747
-
2748
- for(var i = 0 , l = slides.length; i < l ; ++i){
2749
- r = Math.floor(Math.random() * (l - 1));
2750
- if(i != r){
2751
- this.$element[0].insertBefore(slides[i] , slides[r]);
2752
- slides = this.$element.children('.ms-slide');
2753
- }
2754
- }
2755
- };
2756
-
2757
- /**
2758
- * New method of setting up the layout of slider
2759
- * @since 1.5.6
2760
- */
2761
- p._setupSliderLayout = function(){
2762
-
2763
- // create side spaces
2764
- this._updateSideMargins();
2765
- this.lastMargin = this.leftSpace;
2766
-
2767
- var lo = this.options.layout;
2768
-
2769
-
2770
- if( lo !== 'boxed' && lo !== 'partialview' ){
2771
- this.options.fullwidth = true; // enable slider fullscreen for fullwidth, fillwidth, autofill and fullscreen layouts.
2772
- }
2773
- if( lo === 'fullscreen' || lo === 'fullwidth' || lo === 'autofill' ){
2774
- $(window).bind('resize', {that:this}, this._updateLayout);
2775
- this._updateLayout();
2776
- }
2777
-
2778
- // bind resize handler of slidecontroller __resize
2779
- $(window).bind('resize', this.slideController.resize_listener);
2780
- };
2781
-
2782
- /**
2783
- * updates layout of slider based on window size
2784
- * @param {Event} event
2785
- * @since 1.5.6
2786
- */
2787
- p._updateLayout = function(event){
2788
- var that = event? event.data.that : this,
2789
- lo = that.options.layout,
2790
- $element = that.$element,
2791
- $win = $(window);
2792
-
2793
- // width
2794
- $element.width($win.width() - that.leftSpace - that.rightSpace);
2795
- var margin = -$element.offset().left + that.leftSpace + that.lastMargin;
2796
- $element.css('margin-left', margin );
2797
- that.lastMargin = margin;
2798
- //
2799
- };
2800
-
2801
-
2802
- /**
2803
- * initialize the slider, called by document ready
2804
- * <code>holdOn</code> property prevents auto initialize slider after document ready it used by plugins of slider like Flickr
2805
- * @since 1.0
2806
- * @protected
2807
- */
2808
- p._init = function(){
2809
-
2810
- if ( this._holdOn > 0 || !this._docReady ) {
2811
- return;
2812
- }
2813
-
2814
- this.initialized = true;
2815
-
2816
- if(this.options.preload !== 'all'){
2817
- this._removeLoading();
2818
- }
2819
- //else
2820
- // this.$element.css('width' , this.$loading[0].clientWidth);
2821
-
2822
- if(this.options.shuffle) this._shuffleSlides();
2823
-
2824
- this.slideController.setupView();
2825
- this.view = this.slideController.view;
2826
-
2827
- this.$controlsCont = $('<div></div>').addClass('ms-inner-controls-cont');//.appendTo(this.$element);
2828
- if(this.options.centerControls){
2829
- this.$controlsCont.css('max-width' , this.options.width + 'px');
2830
- }
2831
-
2832
- this.$controlsCont.prepend(this.view.$element);
2833
-
2834
- this.$msContainer = $('<div></div>').addClass('ms-container').prependTo(this.$element).append(this.$controlsCont);
2835
-
2836
- if(this.controls){
2837
- for(var i = 0 , l = this.controls.length; i<l ; ++i){
2838
- this.controls[i].setup();
2839
- }
2840
- }
2841
- /*else{
2842
- this.$element.append(this.view.$element);
2843
- }*/
2844
-
2845
- this._setupSliderLayout();
2846
- this.__setupSlides();
2847
- this.slideController.setup();
2848
-
2849
- if(this.controls){
2850
- for(i = 0 , l = this.controls.length; i<l ; ++i)
2851
- this.controls[i].create();
2852
- }
2853
-
2854
- if(this.options.autoHeight){
2855
- this.slideController.view.$element.height(this.slideController.currentSlide.getHeight());
2856
- }
2857
-
2858
- // add grab cursor
2859
- if(this.options.swipe && !window._touch && this.options.grabCursor && this.options.mouse){
2860
- var $view = this.view.$element;
2861
-
2862
- $view.mousedown(function(){
2863
- $view.removeClass('ms-grab-cursor');
2864
- $view.addClass('ms-grabbing-cursor');
2865
-
2866
- if ( $.browser.msie && window.ms_grabbing_curosr ) {
2867
- $view[0].style.cursor = 'url(' + window.ms_grabbing_curosr + '), move';
2868
- }
2869
-
2870
- }).addClass('ms-grab-cursor');
2871
-
2872
- $(document).mouseup(function(){
2873
- $view.removeClass('ms-grabbing-cursor');
2874
- $view.addClass('ms-grab-cursor');
2875
-
2876
- if ( $.browser.msie && window.ms_grab_curosr ) {
2877
- $view[0].style.cursor = 'url(' + window.ms_grab_curosr + '), move';
2878
- }
2879
-
2880
- });
2881
- }
2882
-
2883
- this.slideController.__dispatchInit();
2884
- };
2885
-
2886
- /**
2887
- * changes the height of slider, it used in autoheight slider
2888
- * @param {Number} value
2889
- * @since 1.0
2890
- * @public
2891
- */
2892
- p.setHeight = function(value){
2893
- if(this.options.smoothHeight){
2894
- if(this.htween){
2895
- if(this.htween.reset)this.htween.reset();
2896
- else this.htween.stop(true);
2897
- }
2898
- this.htween = CTween.animate(this.slideController.view.$element , 500 , {height:value} , {ease:'easeOutQuart'});
2899
- }else
2900
- this.slideController.view.$element.height(value);
2901
- };
2902
-
2903
- /**
2904
- * reserves white space in sides of slider, it used by controls
2905
- * @param {String} side left|right|top|bottom
2906
- * @param {Number} space
2907
- * @returns {Number} start position in space.
2908
- * @since 1.5.7
2909
- * @public
2910
- */
2911
- p.reserveSpace = function(side, space){
2912
- var sideSpace = side+'Space',
2913
- pos = this[sideSpace];
2914
-
2915
- this[sideSpace] += space;
2916
-
2917
- this._updateSideMargins();
2918
-
2919
- return pos;
2920
- };
2921
-
2922
- /**
2923
- * returns the reserved space, it used by controls and called when aligned control hides
2924
- * @param {String} side
2925
- * @param {Number} space
2926
- * @since 1.5.7
2927
- * @public
2928
- */
2929
- /*p.returnSpace = function(side, space){
2930
- var sideSpace = side+'Space';
2931
- this[sideSpace] = Math.max(0 , this[sideSpace] - space);
2932
-
2933
- this.api.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESERVED_SPACE_CHANGE));
2934
- this._updateSideMargins();
2935
- };*/
2936
-
2937
- p._updateSideMargins = function(){
2938
- this.$element.css('margin', this.topSpace + 'px ' + this.rightSpace + 'px ' + this.bottomSpace + 'px ' + this.leftSpace + 'px');
2939
- }
2940
-
2941
- p._realignControls = function(){
2942
- this.rightSpace = this.leftSpace = this.topSpace = this.bottomSpace = 0;
2943
- this._updateSideMargins();
2944
- this.api.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESERVED_SPACE_CHANGE));
2945
- };
2946
-
2947
- /*------------------------- Public Methods -----------------------*/
2948
-
2949
- /**
2950
- * Adds new control to the slider
2951
- * @param {String} control
2952
- * @param {Object} options [description]
2953
- * @since 1.0
2954
- * @public
2955
- */
2956
- p.control = function(control , options){
2957
- if(!(control in MSSlideController.SliderControlList)) return;
2958
- if(!this.controls) this.controls = [];
2959
- var ins = new MSSlideController.SliderControlList[control](options);
2960
- ins.slider = this;
2961
- this.controls.push(ins);
2962
-
2963
- return this;
2964
- };
2965
-
2966
- /**
2967
- * Hold on slider from initialization
2968
- * @since 2.9.6
2969
- * @public
2970
- */
2971
- p.holdOn = function () {
2972
- this._holdOn ++;
2973
- };
2974
-
2975
- /**
2976
- * Let the slider to initialize
2977
- * @since 2.9.6
2978
- */
2979
- p.release = function () {
2980
- this._holdOn --;
2981
- this._init();
2982
- };
2983
-
2984
- /**
2985
- * setup slider
2986
- * @param {String|jQuery object} id
2987
- * @param {Object} options
2988
- * @since 1.0
2989
- * @public
2990
- */
2991
- p.setup = function(target , options){
2992
- if(typeof target === 'string'){
2993
- this.$element = $('#' + target);
2994
- } else {
2995
- this.$element = target.eq(0);
2996
- }
2997
-
2998
- //create a copy from slider markup, it will be used in destroy method.
2999
- this.setupMarkup = this.$element.html();
3000
-
3001
- if( this.$element.length === 0 ){
3002
- //if(console) console.log('Master Slider Error: #'+id+' not found.');
3003
- return;
3004
- }
3005
-
3006
- this.$element.addClass('master-slider').addClass('before-init');
3007
-
3008
- // IE prefix class
3009
- // add browser prefix class name
3010
- if($.browser.msie){
3011
- this.$element.addClass('ms-ie')
3012
- .addClass('ms-ie' + $.browser.version.slice(0 , $.browser.version.indexOf('.')));
3013
- } else if ( $.browser.webkit ) {
3014
- this.$element.addClass('ms-wk');
3015
- } else if ( $.browser.mozilla ) {
3016
- this.$element.addClass('ms-moz');
3017
- }
3018
-
3019
-
3020
- // Android prefix class
3021
- var ua = navigator.userAgent.toLowerCase();
3022
- var isAndroid = ua.indexOf("android") > -1;
3023
- if(isAndroid) {
3024
- this.$element.addClass('ms-android');
3025
- }
3026
-
3027
- var that = this;
3028
- $.extend(this.options, options);
3029
-
3030
- this.aspect = this.options.width / this.options.height;
3031
-
3032
- this.$loading = $('<div></div>').
3033
- addClass('ms-loading-container').
3034
- insertBefore(this.$element).
3035
- append($('<div></div>').addClass('ms-loading'));
3036
-
3037
- this.$loading.parent().css('position' , 'relative');
3038
-
3039
- // old methods
3040
- if(this.options.autofill){
3041
- this.options.fullwidth = true;
3042
- this.options.fullheight = true;
3043
- }
3044
-
3045
- if(this.options.fullheight){
3046
- this.$element.addClass('ms-fullheight');
3047
- }
3048
-
3049
- //this._setupSliderLayout();
3050
- this._resize();
3051
-
3052
- // define slide controller and api
3053
- this.slideController = new MSSlideController(this);
3054
- this.api = this.slideController;
3055
-
3056
- // setup plugins
3057
- for ( var i = 0, l = MS._plugins.length; i !== l; i++ ) {
3058
- var plugin = MS._plugins[i];
3059
-
3060
- if ( this.options.disablePlugins.indexOf(plugin.name) === -1 ) {
3061
- this.activePlugins.push(new plugin(this));
3062
- }
3063
- }
3064
-
3065
- $(document).ready(function(){
3066
- that._docReady = true;
3067
- that._init();
3068
- });
3069
-
3070
- return this;
3071
- };
3072
-
3073
- /**
3074
- * destroy the slider instance
3075
- * @param {Boolean} insertMarkup whether add slider markup after destroy.
3076
- * @since 1.4
3077
- * @public
3078
- */
3079
- p.destroy = function(insertMarkup){
3080
-
3081
- // destroy active plugins
3082
- for ( var i = 0, l = this.activePlugins.length; i !== l; i++ ) {
3083
- this.activePlugins[i].destroy();
3084
- }
3085
-
3086
- if(this.controls){
3087
- for( i = 0, l = this.controls.length; i !== l; i++ )
3088
- this.controls[i].destroy();
3089
- }
3090
-
3091
- if(this.slideController) this.slideController._destroy();
3092
-
3093
- if(this.$loading) this.$loading.remove();
3094
-
3095
- if ( insertMarkup ) {
3096
- this.$element.html(this.setupMarkup).css('visibility' , 'hidden');
3097
- } else {
3098
- this.$element.remove();
3099
- }
3100
-
3101
- var lo = this.options.layout;
3102
- if( lo === 'fullscreen' || lo === 'fullwidth' ){
3103
- $(window).unbind('resize', this._updateLayout);
3104
- }
3105
-
3106
- this.view = null;
3107
- this.slides = null;
3108
- this.options = null;
3109
- this.slideController = null;
3110
- this.api = null;
3111
- this.resize_listener = null;
3112
-
3113
-
3114
- this.activePlugins = null;
3115
- };
3116
-
3117
- })(jQuery);
3118
-
3119
- /**
3120
- * Master Slider jQuery Plugin
3121
- * @author Averta
3122
- */
3123
- (function ( $, window, document, undefined ) {
3124
-
3125
- var pluginName = "masterslider",
3126
- defaults = {
3127
- controls:{}
3128
- };
3129
-
3130
- function MasterSliderPlugin ( element, options ) {
3131
- this.element = element;
3132
- this.$element = $(element);
3133
- this.settings = $.extend( {}, defaults, options );
3134
- this._defaults = defaults;
3135
- this._name = pluginName;
3136
- this.init();
3137
- }
3138
-
3139
- $.extend(MasterSliderPlugin.prototype, {
3140
- init : function () {
3141
-
3142
- var self = this;
3143
-
3144
- // create new instance form Master Slider
3145
- this._slider = new MasterSlider();
3146
-
3147
- // add controls
3148
- for ( var control in this.settings.controls ){
3149
- this._slider.control(control, this.settings.controls[control]);
3150
- }
3151
-
3152
- this._slider.setup(this.$element, this.settings);
3153
-
3154
- // override api eventdisaptcher method
3155
- var _superDispatch = this._slider.api.dispatchEvent;
3156
- this._slider.api.dispatchEvent = function(event){
3157
- self.$element.trigger(event.type);
3158
- _superDispatch.call(this, event);
3159
- };
3160
-
3161
- },
3162
-
3163
- api : function() {
3164
- return this._slider.api;
3165
- },
3166
-
3167
- slider : function() {
3168
- return this._slider;
3169
- }
3170
-
3171
- });
3172
-
3173
- $.fn[pluginName] = function ( options ) {
3174
- var args = arguments,
3175
- plugin = 'plugin_' + pluginName;
3176
-
3177
- // Is the first parameter an object (options), or was omitted,
3178
- // instantiate a new instance of the plugin.
3179
- if (options === undefined || typeof options === 'object') {
3180
- return this.each(function () {
3181
-
3182
- // Only allow the plugin to be instantiated once,
3183
- // so we check that the element has no plugin instantiation yet
3184
- if (!$.data(this, plugin)) {
3185
- $.data(this, plugin, new MasterSliderPlugin( this, options ));
3186
- }
3187
- });
3188
-
3189
- // If the first parameter is a string and it doesn't start
3190
- // with an underscore or "contains" the `init`-function,
3191
- // treat this as a call to a public method.
3192
- } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
3193
-
3194
- // Cache the method call
3195
- // to make it possible
3196
- // to return a value
3197
- var returns;
3198
-
3199
- this.each(function () {
3200
- var instance = $.data(this, plugin);
3201
-
3202
- // Tests that there's already a plugin-instance
3203
- // and checks that the requested public method exists
3204
- if (instance instanceof MasterSliderPlugin && typeof instance[options] === 'function') {
3205
-
3206
- // Call the method of our plugin instance,
3207
- // and pass it the supplied arguments.
3208
- returns = instance[options].apply( instance, Array.prototype.slice.call( args, 1 ) );
3209
- }
3210
-
3211
- // Map slider api functions to slider jq plugin
3212
- if ( instance instanceof MasterSliderPlugin && typeof instance._slider.api[options] === 'function' ) {
3213
- returns = instance._slider.api[options].apply( instance._slider.api, Array.prototype.slice.call( args, 1 ) );
3214
- }
3215
-
3216
- // Allow instances to be destroyed via the 'destroy' method
3217
- if (options === 'destroy') {
3218
- $.data(this, plugin, null);
3219
- }
3220
- });
3221
-
3222
- // If the earlier cached method
3223
- // gives a value back return the value,
3224
- // otherwise return this to preserve chainability.
3225
- return returns !== undefined ? returns : this;
3226
- }
3227
- };
3228
-
3229
- })( jQuery, window, document );
3230
 
3231
- /* ================== bin-debug/js/lite/views/ViewEvents.js =================== */
3232
- window.MSViewEvents = function (type, data){
3233
- this.type = type;
3234
- this.data = data;
3235
- };
3236
-
3237
- MSViewEvents.SWIPE_START = 'swipeStart';
3238
- MSViewEvents.SWIPE_END = 'swipeEnd';
3239
- MSViewEvents.SWIPE_MOVE = 'swipeMove';
3240
- MSViewEvents.SWIPE_CANCEL = 'swipeCancel';
3241
- MSViewEvents.SCROLL = 'scroll';
3242
- MSViewEvents.CHANGE_START = 'slideChangeStart';
3243
- MSViewEvents.CHANGE_END = 'slideChangeEnd';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3244
 
3245
- /* ================== bin-debug/js/lite/views/BasicView.js =================== */
3246
- ;(function($){
3247
-
3248
- "use strict";
3249
-
3250
- window.MSBasicView = function(options){
3251
-
3252
- this.options = {
3253
- loop : false,
3254
- dir : 'h',
3255
- autoHeight : false,
3256
- spacing : 5,
3257
- mouseSwipe : true,
3258
- swipe : true,
3259
- speed : 17,
3260
- minSlideSpeed : 2,
3261
- viewNum : 20,
3262
- critMargin : 1
3263
- };
3264
-
3265
- $.extend(this.options , options);
3266
-
3267
- this.dir = this.options.dir;
3268
- this.loop = this.options.loop;
3269
- this.spacing = this.options.spacing;
3270
-
3271
- this.__width = 0;
3272
- this.__height = 0;
3273
-
3274
- this.__cssProb = this.dir === 'h' ? 'left' : 'top';
3275
- this.__offset = this.dir === 'h' ? 'offsetLeft' : 'offsetTop';
3276
- this.__dimension = this.dir === 'h' ? '__width' : '__height';
3277
-
3278
- this.__translate_end = window._css3d ? ' translateZ(0px)' : '';
3279
-
3280
- this.$slideCont = $('<div></div>').addClass('ms-slide-container');
3281
- this.$element = $('<div></div>').addClass('ms-view').addClass('ms-basic-view').append(this.$slideCont);
3282
-
3283
- this.currentSlide = null;
3284
- this.index = -1;
3285
- this.slidesCount = 0;
3286
-
3287
- this.slides = [];
3288
- this.slideList = []; // All of slides with added priority sort;
3289
- this.viewSlidesList = [];
3290
-
3291
- this.css3 = window._cssanim;
3292
- this.start_buffer = 0;
3293
- this.firstslide_snap = 0;
3294
-
3295
- this.slideChanged = false;
3296
-
3297
- this.controller = new Controller(0 , 0 , {
3298
- snapping : true,
3299
- snapsize : 100,
3300
- paging : true,
3301
- snappingMinSpeed : this.options.minSlideSpeed,
3302
- friction : (100 - this.options.speed * 0.5) / 100,
3303
- endless : this.loop
3304
- });
3305
-
3306
- this.controller.renderCallback(this.dir === 'h'? this._horizUpdate : this._vertiUpdate , this);
3307
- this.controller.snappingCallback(this.__snapUpdate , this);
3308
- this.controller.snapCompleteCallback(this.__snapCompelet , this);
3309
-
3310
- averta.EventDispatcher.call(this);
3311
- };
3312
-
3313
- var p = MSBasicView.prototype;
3314
-
3315
- /*-------------- METHODS --------------*/
3316
-
3317
- p.__snapCompelet = function(snap , type){
3318
- // if(this.loop && Math.abs(this.__contPos) > 20000){
3319
- // this.__locateSlides();
3320
- // this.gotoSlide(this.index , true);
3321
- // }
3322
- //
3323
-
3324
- if ( !this.slideChanged ) {
3325
- return;
3326
- }
3327
-
3328
- this.slideChanged = false;
3329
-
3330
- this.__locateSlides();
3331
- this.start_buffer = 0;
3332
- this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_END));
3333
- };
3334
-
3335
- p.__snapUpdate = function(controller , snap , change){
3336
-
3337
- if(this.loop){
3338
- var target_index = this.index + change;
3339
- this.updateLoop(target_index);
3340
-
3341
- if(target_index >= this.slidesCount) target_index = target_index - this.slidesCount;
3342
- if(target_index < 0) target_index = this.slidesCount + target_index;
3343
-
3344
- this.index = target_index;
3345
- }else{
3346
- if(snap < 0 || snap >= this.slidesCount) return
3347
- this.index = snap;
3348
- }
3349
-
3350
- this._checkCritMargins();
3351
-
3352
- if($.browser.mozilla){
3353
- this.slideList[this.index].$element[0].style.marginTop = '0.1px';
3354
- if(this.currentSlide){
3355
- this.currentSlide.$element[0].style.marginTop = '';
3356
- }
3357
- }
3358
- var new_slide = this.slideList[this.index];
3359
- if(new_slide === this.currentSlide)return;
3360
- this.currentSlide = new_slide;
3361
-
3362
- if ( this.autoUpdateZIndex ) {
3363
- this.__updateSlidesZindex();
3364
- }
3365
-
3366
- this.slideChanged = true;
3367
- this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_START));
3368
- };
3369
-
3370
-
3371
- p._checkCritMargins = function(){
3372
- if(this.normalMode) return;
3373
-
3374
- var hlf = Math.floor(this.options.viewNum / 2),
3375
- inView = this.viewSlidesList.indexOf(this.slideList[this.index]),
3376
- size = (this[this.__dimension] + this.spacing),
3377
- cm = this.options.critMargin;
3378
-
3379
- if(this.loop){
3380
- if(inView <= cm || inView >= this.viewSlidesList.length - cm){
3381
- size *= (inView - hlf);
3382
- this.__locateSlides(false , size + this.start_buffer );
3383
- this.start_buffer += size;
3384
- }
3385
-
3386
- return;
3387
- }
3388
-
3389
- if( (inView < cm && this.index >= cm ) || (inView >= this.viewSlidesList.length - cm && this.index < this.slidesCount - cm)){
3390
- this.__locateSlides(false);
3391
- }
3392
-
3393
- };
3394
-
3395
-
3396
- p._vertiUpdate = function(controller , value){
3397
-
3398
- this.__contPos = value;
3399
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SCROLL));
3400
-
3401
- if(this.css3){
3402
- this.$slideCont[0].style[window._jcsspfx + 'Transform'] = 'translateY('+-value+'px)' + this.__translate_end;
3403
- return;
3404
- }
3405
-
3406
- this.$slideCont[0].style.top = -value + 'px';
3407
-
3408
- };
3409
-
3410
- p._horizUpdate = function(controller , value){
3411
-
3412
- this.__contPos = value;
3413
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SCROLL));
3414
-
3415
- if(this.css3) {
3416
- this.$slideCont[0].style[window._jcsspfx + 'Transform'] = 'translateX('+-value+'px)'+ this.__translate_end;
3417
- return;
3418
- }
3419
-
3420
- this.$slideCont[0].style.left = -value + 'px';
3421
-
3422
- };
3423
-
3424
-
3425
- p.__updateViewList = function(){
3426
-
3427
- if(this.normalMode) {
3428
- this.viewSlidesList = this.slides;
3429
- return;
3430
- }
3431
-
3432
- var temp = this.viewSlidesList.slice();
3433
-
3434
- // update view list
3435
- this.viewSlidesList = [];
3436
- var i = 0 , hlf = Math.floor(this.options.viewNum / 2) , l;
3437
-
3438
- if(this.loop){
3439
- for(; i !== this.options.viewNum ; i++)
3440
- this.viewSlidesList.push(this.slides[this.currentSlideLoc - hlf + i]);
3441
- }else{
3442
- // before
3443
- for(i = 0 ; i !== hlf && this.index - i !== -1 ; i++)
3444
- this.viewSlidesList.unshift(this.slideList[this.index - i]);
3445
- // after
3446
- for(i = 1; i !== hlf && this.index + i !== this.slidesCount; i++)
3447
- this.viewSlidesList.push(this.slideList[this.index + i]);
3448
- }
3449
-
3450
- for (i = 0 , l = temp.length ; i !== l ; i++)
3451
- if( this.viewSlidesList.indexOf(temp[i]) === -1)
3452
- temp[i].sleep();
3453
-
3454
- temp = null;
3455
-
3456
- if( this.currentSlide ) {
3457
- this.__updateSlidesZindex();
3458
- }
3459
- };
3460
-
3461
- p.__locateSlides = function(move , start){
3462
-
3463
- this.__updateViewList();
3464
-
3465
- start = !this.loop ? this.slides.indexOf(this.viewSlidesList[0]) * (this[this.__dimension] + this.spacing ) : start || 0;
3466
-
3467
- // old method
3468
- /*for(i = 0; i < this.slidesCount ; ++i){
3469
- var pos = i * (this[this.__dimension] + this.spacing);
3470
-
3471
- this.slides[i].position = pos;
3472
- this.slides[i].$element[0].style[this.__cssProb] = pos + 'px';
3473
- }*/
3474
-
3475
- var l = this.viewSlidesList.length , slide;
3476
-
3477
- for(var i = 0; i !== l ; i++){
3478
- var pos = start + i * (this[this.__dimension] + this.spacing );
3479
- slide = this.viewSlidesList[i];
3480
- slide.wakeup();
3481
- slide.position = pos;
3482
- slide.$element[0].style[this.__cssProb] = pos + 'px';
3483
- }
3484
-
3485
- if(move !== false)this.controller.changeTo( this.slideList[this.index].position , false , null , null , false);
3486
-
3487
- };
3488
-
3489
- p.__createLoopList = function(){
3490
- var return_arr = [];
3491
- var i = 0,
3492
- count = this.slidesCount / 2;
3493
-
3494
- var before_count = (this.slidesCount % 2 === 0)? count - 1 : Math.floor(count);
3495
- var after_count = (this.slidesCount % 2 === 0)? count : Math.floor(count);
3496
-
3497
- this.currentSlideLoc = before_count;
3498
-
3499
- // before
3500
- for(i = 1 ; i <= before_count ; ++i)
3501
- return_arr.unshift(this.slideList[(this.index - i < 0)? this.slidesCount - i + this.index: this.index - i]);
3502
-
3503
- // current
3504
- return_arr.push(this.slideList[this.index]);
3505
-
3506
- // after
3507
- for(i = 1; i <= after_count; ++i)
3508
- return_arr.push(this.slideList[(this.index + i >= this.slidesCount)? this.index + i - this.slidesCount : this.index + i]);
3509
-
3510
- return return_arr;
3511
-
3512
- };
3513
-
3514
- /*
3515
- * Calculate shortest distance from index to target.
3516
- * It will used in loop gesture.
3517
- *
3518
- * Negative values means left direction.
3519
- */
3520
-
3521
- p.__getSteps = function(index , target){
3522
- var right = (target < index)? this.slidesCount - index + target : target - index;
3523
- var left = Math.abs(this.slidesCount - right);
3524
-
3525
- return (right < left)? right : -left;
3526
- };
3527
-
3528
- p.__pushEnd = function(){
3529
- var first_slide = this.slides.shift();
3530
- var last_slide = this.slides[this.slidesCount - 2];
3531
-
3532
- this.slides.push(first_slide);
3533
-
3534
- if(!this.normalMode) return;
3535
-
3536
- var pos = last_slide.$element[0][this.__offset] + this.spacing + this[this.__dimension];
3537
- first_slide.$element[0].style[this.__cssProb] = pos + 'px';
3538
- first_slide.position = pos;
3539
- };
3540
-
3541
- p.__pushStart = function(){
3542
- var last_slide = this.slides.pop();
3543
- var first_slide = this.slides[0];
3544
-
3545
- this.slides.unshift(last_slide);
3546
-
3547
- if(!this.normalMode) return;
3548
-
3549
- var pos = first_slide.$element[0][this.__offset] - this.spacing - this[this.__dimension];
3550
- last_slide.$element[0].style[this.__cssProb] = pos + 'px';
3551
- last_slide.position = pos;
3552
- };
3553
-
3554
- // @since 1.7.0
3555
- // adds z-index to slides
3556
- p.__updateSlidesZindex = function(){
3557
-
3558
-
3559
- var slide,
3560
- l = this.viewSlidesList.length,
3561
- hlf = Math.floor( l/2 );
3562
-
3563
- if( this.loop ){
3564
- var loc = this.viewSlidesList.indexOf(this.currentSlide);
3565
- for ( var i = 0; i!==l; i++ ){
3566
- slide = this.viewSlidesList[i];
3567
- this.viewSlidesList[i].$element.css('z-index', i<=loc ? i+1 : l-i);
3568
- }
3569
- } else {
3570
-
3571
- var beforeNum = this.currentSlide.index - this.viewSlidesList[0].index,
3572
- afterNum = l - beforeNum,
3573
- diff = beforeNum - afterNum;
3574
-
3575
- for ( var i = 0; i!==l; i++ ){
3576
- this.viewSlidesList[i].$element.css('z-index', i<=beforeNum ? i+1 : l-i);
3577
- }
3578
-
3579
- this.currentSlide.$element.css('z-index', l);
3580
- }
3581
-
3582
- };
3583
-
3584
- p.addSlide = function(slide){
3585
- slide.view = this;
3586
- this.slides.push(slide);
3587
- this.slideList.push(slide);
3588
- this.slidesCount++;
3589
- };
3590
-
3591
- p.appendSlide = function(slide){
3592
- this.$slideCont.append(slide.$element);
3593
- };
3594
-
3595
- p.updateLoop = function(index){
3596
- if(this.loop){
3597
- var steps = this.__getSteps(this.index , index);
3598
-
3599
- for(var i = 0 , l = Math.abs(steps) ; i < l ; ++ i){
3600
- if(steps < 0) this.__pushStart();
3601
- else this.__pushEnd();
3602
- }
3603
- }
3604
- };
3605
-
3606
- p.gotoSlide = function(index , fast){
3607
- this.updateLoop(index);
3608
- this.index = index;
3609
-
3610
- var target_slide = this.slideList[index];
3611
-
3612
- this._checkCritMargins();
3613
-
3614
- this.controller.changeTo( target_slide.position , !fast , null , null , false);
3615
- if(target_slide === this.currentSlide) return;
3616
- this.slideChanged = true;
3617
- this.currentSlide = target_slide;
3618
-
3619
- if ( this.autoUpdateZIndex ) {
3620
- this.__updateSlidesZindex();
3621
- }
3622
-
3623
- this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_START));
3624
- if(fast)this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_END));
3625
- };
3626
-
3627
- p.next = function(checkLoop){
3628
- if ( checkLoop && !this.loop && this.index + 1 >= this.slidesCount ) {
3629
- this.controller.bounce(10);
3630
- return;
3631
- }
3632
-
3633
- this.gotoSlide((this.index + 1 >= this.slidesCount)? 0 : this.index + 1);
3634
- };
3635
-
3636
- p.previous = function(checkLoop){
3637
- if ( checkLoop && !this.loop && this.index - 1 < 0 ) {
3638
- this.controller.bounce(-10);
3639
- return;
3640
- }
3641
-
3642
- this.gotoSlide((this.index - 1 < 0)? this.slidesCount - 1 : this.index - 1);
3643
- };
3644
-
3645
- /* --------------- Swipe control ------------------*/
3646
-
3647
- p.setupSwipe = function(){
3648
-
3649
- this.swipeControl = new averta.TouchSwipe(this.$element);
3650
- this.swipeControl.swipeType = this.dir === 'h'? 'horizontal' : 'vertical';
3651
- var that = this;
3652
-
3653
- if(this.dir === 'h'){
3654
- this.swipeControl.onSwipe = function(status){
3655
- that.horizSwipeMove(status);
3656
- };
3657
- }else{
3658
- this.swipeControl.onSwipe = function(status){
3659
- that.vertSwipeMove(status);
3660
- };
3661
- }
3662
-
3663
- };
3664
-
3665
- p.vertSwipeMove = function(status){
3666
- var phase = status.phase;
3667
- if(phase === 'start'){
3668
- this.controller.stop();
3669
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_START, status));
3670
- }else if(phase === 'move' && (!this.loop || Math.abs(this.currentSlide.position - this.controller.value + status.moveY ) < this.cont_size / 2)){
3671
- this.controller.drag(status.moveY);
3672
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_MOVE, status));
3673
- }else if(phase === 'end' || phase === 'cancel'){
3674
-
3675
- var speed = status.distanceY / status.duration * 50/3;
3676
-
3677
- if(Math.abs(speed) > 0.1){
3678
- this.controller.push(-speed);
3679
- if(speed > this.controller.options.snappingMinSpeed)
3680
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_END, status));
3681
- }else {
3682
- this.controller.cancel();
3683
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_CANCEL, status));
3684
- }
3685
-
3686
- }
3687
- };
3688
-
3689
- p.horizSwipeMove = function(status){
3690
- var phase = status.phase;
3691
- //console.log(this.loop)
3692
- if(phase === 'start'){
3693
- this.controller.stop();
3694
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_START, status));
3695
- }else if(phase === 'move' && (!this.loop || Math.abs(this.currentSlide.position - this.controller.value + status.moveX ) < this.cont_size / 2)){
3696
- this.controller.drag(status.moveX);
3697
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_MOVE, status));
3698
- }else if(phase === 'end' || phase === 'cancel'){
3699
-
3700
- var speed = status.distanceX / status.duration * 50/3;
3701
-
3702
- if(Math.abs(speed) > 0.1){
3703
- this.controller.push(-speed );
3704
- if(speed > this.controller.options.snappingMinSpeed)
3705
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_END, status));
3706
- }else{
3707
- this.controller.cancel();
3708
- this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_CANCEL, status));
3709
- }
3710
-
3711
- }
3712
- };
3713
-
3714
- /* ------------------------------------------------*/
3715
-
3716
- p.setSize = function(width , height , hard){
3717
- if(this.lastWidth === width && height === this.lastHeight && !hard) return;
3718
-
3719
- this.$element.width(width).height(height);
3720
-
3721
- for(var i = 0; i < this.slidesCount ; ++i)
3722
- this.slides[i].setSize(width , height , hard);
3723
-
3724
- this.__width = width;
3725
- this.__height = height;
3726
-
3727
- if(this.__created){
3728
- this.__locateSlides();
3729
-
3730
- this.cont_size = (this.slidesCount - 1) * (this[this.__dimension] + this.spacing);
3731
- if(!this.loop) this.controller._max_value = this.cont_size;
3732
-
3733
- this.controller.options.snapsize = this[this.__dimension] + this.spacing;
3734
- this.controller.changeTo(this.currentSlide.position , false , null , null , false );
3735
- this.controller.cancel();
3736
-
3737
- this.lastWidth = width;
3738
- this.lastHeight = height;
3739
- }
3740
- };
3741
-
3742
- p.create = function(index){
3743
-
3744
- this.__created = true;
3745
-
3746
- this.index = Math.min((index || 0), this.slidesCount - 1);
3747
- this.lastSnap = this.index; // it will be used to check snap changed or not on snap complete
3748
-
3749
- if(this.loop)
3750
- this.slides = this.__createLoopList();
3751
-
3752
- this.normalMode = this.slidesCount <= this.options.viewNum;
3753
-
3754
- for(var i = 0; i < this.slidesCount ; ++i)
3755
- this.slides[i].create();
3756
-
3757
- this.__locateSlides();
3758
-
3759
- this.controller.options.snapsize = this[this.__dimension] + this.spacing;
3760
- if(!this.loop) this.controller._max_value = (this.slidesCount - 1) * (this[this.__dimension] + this.spacing);
3761
-
3762
- this.gotoSlide(this.index , true);
3763
-
3764
- if(this.options.swipe && (window._touch || this.options.mouseSwipe))
3765
- this.setupSwipe();
3766
 
3767
- };
3768
-
3769
- p.destroy = function(){
3770
- if(!this.__created) return;
3771
-
3772
- for(var i = 0; i < this.slidesCount ; ++i)
3773
- this.slides[i].destroy();
3774
-
3775
- this.slides = null;
3776
- this.slideList = null;
3777
- this.$element.remove();
3778
-
3779
- this.controller.destroy();
3780
- this.controller = null;
3781
- };
3782
-
3783
- averta.EventDispatcher.extend(p);
3784
-
3785
- MSSlideController.registerView('basic' , MSBasicView);
3786
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3787
  })(jQuery);
3788
 
3789
  /* ================== bin-debug/js/lite/views/FadeView.js =================== */
@@ -5185,7 +5270,7 @@ MSViewEvents.CHANGE_END = 'slideChangeEnd';
5185
  MSSlideController.registerControl('slideinfo' , MSSlideInfo);
5186
  })(jQuery);
5187
 
5188
- /* ================== bin-debug/js/pro/plugins/MSStartOnAppear.js =================== */
5189
  /**
5190
  * Start on appear plugin for Master Slider.
5191
  *
@@ -5248,6 +5333,22 @@ MSViewEvents.CHANGE_END = 'slideChangeEnd';
5248
  MasterSlider.registerPlugin( StartOnAppear );
5249
 
5250
  })(jQuery, document, window);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5251
  /**
5252
  * Addon file, it will be appended to master slider front-end main js file.
5253
  */
1
  /*!
2
  * Master Slider – Responsive Touch Swipe Slider [lite version]
3
+ * Copyright © 2016 All Rights Reserved.
4
  *
5
  * @author Averta [www.averta.net]
6
+ * @version 2.50.0
7
+ * @date Aug 2016
8
  */
9
 
10
 
386
  })();
387
 
388
  /* ================== bin-debug/js/lite/tools/TouchSwipe.js =================== */
389
+ ;(function($){
390
+
391
+ "use strict";
392
+
393
+ var isTouch = 'ontouchstart' in document,
394
+ isPointer = window.navigator.pointerEnabled,
395
+ isMSPoiner = !isPointer && window.navigator.msPointerEnabled,
396
+ usePointer = isPointer || isMSPoiner,
397
+ // Events
398
+ ev_start = (isPointer ? 'pointerdown ' : '' ) + (isMSPoiner ? 'MSPointerDown ' : '' ) + (isTouch ? 'touchstart ' : '' ) + 'mousedown',
399
+ ev_move = (isPointer ? 'pointermove ' : '' ) + (isMSPoiner ? 'MSPointerMove ' : '' ) + (isTouch ? 'touchmove ' : '' ) + 'mousemove',
400
+ ev_end = (isPointer ? 'pointerup ' : '' ) + (isMSPoiner ? 'MSPointerUp ' : '' ) + (isTouch ? 'touchend ' : '' ) + 'mouseup',
401
+ ev_cancel = (isPointer ? 'pointercancel ' : '' ) + (isMSPoiner ? 'MSPointerCancel ': '' ) + 'touchcancel';
402
+
403
+
404
+ averta.TouchSwipe = function($element){
405
+ this.$element = $element;
406
+ this.enabled = true;
407
+
408
+ $element.bind(ev_start , {target: this} , this.__touchStart);
409
+
410
+ $element[0].swipe = this;
411
+
412
+ this.onSwipe = null;
413
+ this.swipeType = 'horizontal';
414
+ this.noSwipeSelector = 'input, textarea, button, .no-swipe, .ms-no-swipe';
415
+
416
+ this.lastStatus = {};
417
+
418
+ };
419
+
420
+ var p = averta.TouchSwipe.prototype;
421
+
422
+ /*-------------- METHODS --------------*/
423
+
424
+ p.getDirection = function(new_x , new_y){
425
+ switch(this.swipeType){
426
+ case 'horizontal':
427
+ return new_x <= this.start_x ? 'left' : 'right';
428
+ break;
429
+ case 'vertical':
430
+ return new_y <= this.start_y ? 'up' : 'down';
431
+ break;
432
+ case 'all':
433
+ if(Math.abs(new_x - this.start_x) > Math.abs(new_y - this.start_y))
434
+ return new_x <= this.start_x ? 'left' : 'right';
435
+ else
436
+ return new_y <= this.start_y ? 'up' : 'down';
437
+ break;
438
+ }
439
+ };
440
+
441
+ p.priventDefultEvent = function(new_x , new_y){
442
+ //if(this.priventEvt != null) return this.priventEvt;
443
+ var dx = Math.abs(new_x - this.start_x);
444
+ var dy = Math.abs(new_y - this.start_y);
445
+
446
+ var horiz = dx > dy;
447
+
448
+ return (this.swipeType === 'horizontal' && horiz) ||
449
+ (this.swipeType === 'vertical' && !horiz);
450
+
451
+ //return this.priventEvt;
452
+ };
453
+
454
+ p.createStatusObject = function(evt){
455
+ var status_data = {} , temp_x , temp_y;
456
+
457
+ temp_x = this.lastStatus.distanceX || 0;
458
+ temp_y = this.lastStatus.distanceY || 0;
459
+
460
+ status_data.distanceX = evt.pageX - this.start_x;
461
+ status_data.distanceY = evt.pageY - this.start_y;
462
+ status_data.moveX = status_data.distanceX - temp_x;
463
+ status_data.moveY = status_data.distanceY - temp_y;
464
+
465
+ status_data.distance = parseInt( Math.sqrt(Math.pow(status_data.distanceX , 2) + Math.pow(status_data.distanceY , 2)) );
466
+
467
+ status_data.duration = new Date().getTime() - this.start_time;
468
+ status_data.direction = this.getDirection(evt.pageX , evt.pageY);
469
+
470
+ return status_data;
471
+ };
472
+
473
+
474
+ p.__reset = function(event , jqevt){
475
+ this.reset = false;
476
+ this.lastStatus = {};
477
+ this.start_time = new Date().getTime();
478
+
479
+ var point = this.__getPoint( event, jqevt );
480
+ this.start_x = point.pageX;
481
+ this.start_y = point.pageY;
482
+ };
483
+
484
+ p.__touchStart = function(event){
485
+
486
+ var swipe = event.data.target;
487
+ var jqevt = event;
488
+ if(!swipe.enabled) return;
489
+
490
+ if ( $(event.target).closest(swipe.noSwipeSelector, swipe.$element).length > 0 ) {
491
+ return;
492
+ }
493
+
494
+ event = event.originalEvent;
495
+
496
+ if( usePointer ) {
497
+ $(this).css('-ms-touch-action', swipe.swipeType === 'horizontal' ? 'pan-y' : 'pan-x');
498
+ }
499
+
500
+ if(!swipe.onSwipe) {
501
+ $.error('Swipe listener is undefined');
502
+ return;
503
+ }
504
+
505
+ // don't catch the touch start again, also don't go further if the delay between touchstart and mousedown is small
506
+ // if ( swipe.touchStarted ) {
507
+ if ( swipe.touchStarted || isTouch && swipe.start_time && event.type === 'mousedown' && new Date().getTime() - swipe.start_time < 600 ) {
508
+ return;
509
+ }
510
+
511
+ var point = swipe.__getPoint( event, jqevt );
512
+ swipe.start_x = point.pageX;
513
+ swipe.start_y = point.pageY;
514
+
515
+ swipe.start_time = new Date().getTime();
516
+
517
+ $(document).bind(ev_end , {target: swipe} , swipe.__touchEnd).
518
+ bind(ev_move , {target: swipe} , swipe.__touchMove).
519
+ bind(ev_cancel , {target: swipe} , swipe.__touchCancel);
520
+
521
+ var status = swipe.createStatusObject(point);
522
+ status.phase = 'start';
523
+
524
+ swipe.onSwipe.call(null , status);
525
+
526
+ if(!isTouch)
527
+ jqevt.preventDefault();
528
+
529
+ swipe.lastStatus = status;
530
+ swipe.touchStarted = true;
531
+ };
532
+
533
+ p.__touchMove = function(event){
534
+ var swipe = event.data.target;
535
+ var jqevt = event;
536
+ event = event.originalEvent;
537
+
538
+ if(!swipe.touchStarted) return;
539
+
540
+ clearTimeout(swipe.timo);
541
+ swipe.timo = setTimeout(function(){swipe.__reset(event , jqevt);} , 60);
542
+
543
+ var point = swipe.__getPoint( event, jqevt );
544
+
545
+ var status = swipe.createStatusObject(point);
546
+
547
+ if(swipe.priventDefultEvent(point.pageX , point.pageY))
548
+ jqevt.preventDefault();
549
+
550
+ status.phase = 'move';
551
+
552
+ //if(swipe.lastStatus.direction !== status.direction) swipe.__reset(event , jqevt);
553
+
554
+ swipe.lastStatus = status;
555
+
556
+ swipe.onSwipe.call(null , status);
557
+ };
558
+
559
+ p.__touchEnd = function(event){
560
+
561
+ var swipe = event.data.target;
562
+ var jqevt = event;
563
+ event = event.originalEvent;
564
+
565
+ clearTimeout(swipe.timo);
566
+
567
+ var status = swipe.lastStatus;
568
+
569
+ if(!isTouch)
570
+ jqevt.preventDefault();
571
+
572
+ status.phase = 'end';
573
+
574
+ swipe.touchStarted = false;
575
+ swipe.priventEvt = null;
576
+
577
+ $(document).unbind(ev_end , swipe.__touchEnd).
578
+ unbind(ev_move , swipe.__touchMove).
579
+ unbind(ev_cancel , swipe.__touchCancel);
580
+
581
+ status.speed = status.distance / status.duration;
582
+
583
+ swipe.onSwipe.call(null , status);
584
+
585
+ };
586
+
587
+ p.__touchCancel = function(event){
588
+ var swipe = event.data.target;
589
+ swipe.__touchEnd(event);
590
+ };
591
+
592
+ p.__getPoint = function( event, jqEvent ) {
593
+ if ( isTouch && event.type.indexOf('mouse') === -1 ) {
594
+ return event.touches[0];
595
+ } else if ( usePointer ) {
596
+ return event;
597
+ } else {
598
+ return jqEvent;
599
+ }
600
+ };
601
+
602
+ p.enable = function(){
603
+ if(this.enabled) return;
604
+ this.enabled = true;
605
+ };
606
+
607
+ p.disable = function(){
608
+ if(!this.enabled) return;
609
+ this.enabled = false;
610
+ };
611
+
612
  })(jQuery);
613
 
614
  /* ================== bin-debug/js/lite/tools/Timer.js =================== */
734
  })();
735
 
736
  /* ================== bin-debug/js/lite/tools/CSSTweener.js =================== */
737
+ ;(function(){
738
+
739
+ "use strict";
740
+
741
+ var evt = null;
742
+
743
+ window.CSSTween = function(element , duration , delay , ease){
744
+
745
+ this.$element = element;
746
+ this.duration = duration || 1000;
747
+ this.delay = delay || 0;
748
+ this.ease = ease || 'linear';
749
+
750
+ /*if(!evt){
751
+ if(window._jcsspfx === 'O')
752
+ evt = 'otransitionend';
753
+ else if(window._jcsspfx == 'Webkit')
754
+ evt = 'webkitTransitionEnd';
755
+ else
756
+ evt = 'transitionend' ;
757
+ }*/
758
+
759
+ };
760
+
761
+ var p = CSSTween.prototype;
762
+
763
+ /*-------------- METHODS --------------*/
764
+
765
+ p.to = function(callback , target){
766
+ this.to_cb = callback;
767
+ this.to_cb_target = target;
768
+
769
+ return this;
770
+ };
771
+
772
+ p.from = function(callback , target ){
773
+ this.fr_cb = callback;
774
+ this.fr_cb_target = target;
775
+
776
+ return this;
777
+ };
778
+
779
+ p.onComplete = function(callback ,target){
780
+ this.oc_fb = callback;
781
+ this.oc_fb_target = target;
782
+
783
+ return this;
784
+ };
785
+
786
+ p.chain = function(csstween){
787
+ this.chained_tween = csstween;
788
+ return this;
789
+ };
790
+
791
+ p.reset = function(){
792
+ //element.removeEventListener(evt , this.onTransComplete , true);
793
+ clearTimeout(this.start_to);
794
+ clearTimeout(this.end_to);
795
+ };
796
+
797
+ p.start = function(){
798
+ var element = this.$element[0];
799
+
800
+ clearTimeout(this.start_to);
801
+ clearTimeout(this.end_to);
802
+
803
+ this.fresh = true;
804
+
805
+ if(this.fr_cb){
806
+ element.style[window._jcsspfx + 'TransitionDuration'] = '0ms';
807
+ this.fr_cb.call(this.fr_cb_target);
808
+ }
809
+
810
+ var that = this;
811
+
812
+ this.onTransComplete = function(event){
813
+
814
+ if(!that.fresh) return;
815
+
816
+ //that.$element[0].removeEventListener(evt , this.onTransComplete, true);
817
+ //event.stopPropagation();
818
+
819
+
820
+ that.reset();
821
+
822
+ element.style[window._jcsspfx + 'TransitionDuration'] = '';
823
+ element.style[window._jcsspfx + 'TransitionProperty'] = '';
824
+ element.style[window._jcsspfx + 'TransitionTimingFunction'] = '';
825
+ element.style[window._jcsspfx + 'TransitionDelay'] = '';
826
+
827
+ that.fresh = false;
828
+ if(that.chained_tween) that.chained_tween.start();
829
+ if(that.oc_fb) that.oc_fb.call(that.oc_fb_target);
830
+
831
+ };
832
+
833
+ this.start_to = setTimeout(function(){
834
+ if ( !that.$element ) return;
835
+ element.style[window._jcsspfx + 'TransitionDuration'] = that.duration + 'ms';
836
+ element.style[window._jcsspfx + 'TransitionProperty'] = that.transProperty || 'all';
837
+
838
+ if(that.delay > 0) element.style[window._jcsspfx + 'TransitionDelay'] = that.delay + 'ms';
839
+ else element.style[window._jcsspfx + 'TransitionDelay'] = '';
840
+
841
+ element.style[window._jcsspfx + 'TransitionTimingFunction'] = that.ease;
842
+
843
+ if(that.to_cb) that.to_cb.call(that.to_cb_target);
844
+
845
+ //that.$element[0].addEventListener(evt , that.onTransComplete , true );
846
+
847
+ that.end_to = setTimeout(function(){that.onTransComplete();} , that.duration + (that.delay || 0));
848
+ } , 1);
849
+
850
+ return this;
851
+ };
852
+
853
+ })();
854
+
855
+ /**
856
+ * Cross Tween Class
857
+ */
858
+ ;(function(){
859
+
860
+ "use strict";
861
+
862
+ var _cssanim = null;
863
+ window.CTween = {};
864
+
865
+ function transPos(element, properties){
866
+ if(properties.x !== undefined || properties.y !== undefined){
867
+ if(_cssanim){
868
+ var trans = window._jcsspfx+"Transform";
869
+ if(properties.x !== undefined){
870
+ properties[trans] = (properties[trans] || '') + ' translateX('+properties.x+'px)';
871
+ delete properties.x;
872
+ }
873
+
874
+ if(properties.y !== undefined){
875
+ properties[trans] = (properties[trans] || '') + ' translateY('+properties.y+'px)';
876
+ delete properties.y;
877
+ }
878
+ }else{
879
+ if(properties.x !== undefined){
880
+ var posx = element.css('right') !== 'auto' ? 'right' : 'left';
881
+ //if(!element[0].bx) element[0].bx = parseInt(element.css(posx));
882
+ properties[posx] = /*element[0].bx + */properties.x + 'px';
883
+ delete properties.x;
884
+ }
885
+
886
+ if(properties.y !== undefined){
887
+ var posy = element.css('bottom') !== 'auto' ? 'bottom' : 'top';
888
+ //if(!element[0].by) element[0].by = parseInt(element.css(posy));
889
+ properties[posy] = /*element[0].by + */properties.y + 'px';
890
+ delete properties.y;
891
+ }
892
+ }
893
+ }
894
+ return properties;
895
+ }
896
+
897
+ CTween.setPos = function(element , pos){
898
+ element.css(transPos(element , pos));
899
+ };
900
+
901
+ CTween.animate = function(element , duration , properties , options){
902
+ if(_cssanim == null) _cssanim = window._cssanim;
903
+
904
+ options = options || {};
905
+
906
+ transPos(element , properties);
907
+
908
+ if(_cssanim){
909
+ var tween = new CSSTween(element , duration , options.delay , EaseDic[options.ease]);
910
+ if ( options.transProperty ) {
911
+ tween.transProperty = options.transProperty;
912
+ }
913
+ tween.to(function(){ element.css(properties);});
914
+ if(options.complete) tween.onComplete(options.complete , options.target);
915
+ tween.start();
916
+ tween.stop = tween.reset;
917
+ return tween;
918
+ }
919
+
920
+ var onCl;
921
+
922
+ if(options.delay) element.delay(options.delay);
923
+ if(options.complete)
924
+ onCl = function(){
925
+ options.complete.call(options.target);
926
+ };
927
+
928
+ element.stop(true).animate(properties , duration , options.ease || 'linear' , onCl);
929
+
930
+ return element;
931
+ };
932
+
933
+ CTween.fadeOut = function(target , duration , remove) {
934
+ var options = {};
935
+ if(remove === true) {
936
+ options.complete = function(){target.remove();};
937
+ } else if ( remove === 2 ) {
938
+ options.complete = function(){target.css('display', 'none');};
939
+ }
940
+
941
+ CTween.animate(target , duration || 1000 , {opacity : 0} , options);
942
+ };
943
+
944
+ CTween.fadeIn = function(target , duration, reset){
945
+ if( reset !== false ) {
946
+ target.css('opacity' , 0).css('display', '');
947
+ }
948
+
949
+ CTween.animate(target , duration || 1000 , {opacity : 1});
950
+ };
951
+
952
+ })();
953
+
954
+ ;(function(){
955
+
956
+ // Thanks to matthewlein
957
+ // https://github.com/matthewlein/Ceaser
958
+
959
+ window.EaseDic = {
960
+ 'linear' : 'linear',
961
+ 'ease' : 'ease',
962
+ 'easeIn' : 'ease-in',
963
+ 'easeOut' : 'ease-out',
964
+ 'easeInOut' : 'ease-in-out',
965
+
966
+ 'easeInCubic' : 'cubic-bezier(.55,.055,.675,.19)',
967
+ 'easeOutCubic' : 'cubic-bezier(.215,.61,.355,1)',
968
+ 'easeInOutCubic' : 'cubic-bezier(.645,.045,.355,1)',
969
+ 'easeInCirc' : 'cubic-bezier(.6,.04,.98,.335)',
970
+ 'easeOutCirc' : 'cubic-bezier(.075,.82,.165,1)',
971
+ 'easeInOutCirc' : 'cubic-bezier(.785,.135,.15,.86)',
972
+ 'easeInExpo' : 'cubic-bezier(.95,.05,.795,.035)',
973
+ 'easeOutExpo' : 'cubic-bezier(.19,1,.22,1)',
974
+ 'easeInOutExpo' : 'cubic-bezier(1,0,0,1)',
975
+ 'easeInQuad' : 'cubic-bezier(.55,.085,.68,.53)',
976
+ 'easeOutQuad' : 'cubic-bezier(.25,.46,.45,.94)',
977
+ 'easeInOutQuad' : 'cubic-bezier(.455,.03,.515,.955)',
978
+ 'easeInQuart' : 'cubic-bezier(.895,.03,.685,.22)',
979
+ 'easeOutQuart' : 'cubic-bezier(.165,.84,.44,1)',
980
+ 'easeInOutQuart' : 'cubic-bezier(.77,0,.175,1)',
981
+ 'easeInQuint' : 'cubic-bezier(.755,.05,.855,.06)',
982
+ 'easeOutQuint' : 'cubic-bezier(.23,1,.32,1)',
983
+ 'easeInOutQuint' : 'cubic-bezier(.86,0,.07,1)',
984
+ 'easeInSine' : 'cubic-bezier(.47,0,.745,.715)',
985
+ 'easeOutSine' : 'cubic-bezier(.39,.575,.565,1)',
986
+ 'easeInOutSine' : 'cubic-bezier(.445,.05,.55,.95)',
987
+ 'easeInBack' : 'cubic-bezier(.6,-.28,.735,.045)',
988
+ 'easeOutBack' : 'cubic-bezier(.175, .885,.32,1.275)',
989
+ 'easeInOutBack' : 'cubic-bezier(.68,-.55,.265,1.55)'
990
+ };
991
+ })();
992
+
993
+ /* ================== bin-debug/js/lite/tools/Aligner.js =================== */
994
  ;(function(){
995
 
996
  "use strict";
997
 
998
+ window.MSAligner = function(type , $container , $img ){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
999
 
1000
+ this.$container = $container;
1001
+ this.$img = $img;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1002
 
1003
  this.type = type || 'stretch'; // fill , fit , stretch , tile , center
1004
 
1535
  MSSliderEvent.DESTROY = 'ms_destroy';
1536
 
1537
  /* ================== bin-debug/js/lite/controls/Slide.js =================== */
1538
+ /**
1539
+ * Master Slider Slide Class
1540
+ * @author averta
1541
+ * @package Master Slider jQuery
1542
+ */
1543
+ ;(function(window, document, $){
1544
+
1545
+ "use strict";
1546
+
1547
+ window.MSSlide = function(){
1548
+
1549
+ this.$element = null;
1550
+ this.$loading = $('<div></div>').addClass('ms-slide-loading');
1551
+
1552
+ this.view = null;
1553
+ this.index = -1;
1554
+
1555
+ this.__width = 0;
1556
+ this.__height = 0;
1557
+
1558
+ this.fillMode = 'fill'; // fill , fit , stretch , tile , center
1559
+
1560
+ this.selected = false;
1561
+ this.pselected = false;
1562
+ this.autoAppend = true;
1563
+ this.isSleeping = true;
1564
+
1565
+ this.moz = $.browser.mozilla;
1566
+ };
1567
+
1568
+ var p = MSSlide.prototype;
1569
+
1570
+ /**
1571
+ * on swipe start handler
1572
+ */
1573
+ p.onSwipeStart = function(){
1574
+ //this.$layers.css(window._csspfx + 'transition-duration' , '0ms');
1575
+ if ( this.link ) {
1576
+ this.linkdis = true;
1577
+ }
1578
+
1579
+ if ( this.video ) {
1580
+ this.videodis = true;
1581
+ }
1582
+ };
1583
+
1584
+ /**
1585
+ * on swipe move handler
1586
+ */
1587
+ p.onSwipeMove = function (e) {
1588
+ var move = Math.max(Math.abs(e.data.distanceX), Math.abs(e.data.distanceY));
1589
+ this.swipeMoved = move > 4;
1590
+ };
1591
+
1592
+ /**
1593
+ * on swipe cancel handler
1594
+ */
1595
+ p.onSwipeCancel = function(e){
1596
+ if ( this.swipeMoved ) {
1597
+ this.swipeMoved = false;
1598
+ return;
1599
+ }
1600
+
1601
+ if ( this.link ) {
1602
+ this.linkdis = false;
1603
+ }
1604
+
1605
+ if ( this.video ) {
1606
+ this.videodis = false;
1607
+ }
1608
+ //this.$layers.css(window._csspfx + 'transition-duration' , this.view.__slideDuration + 'ms');
1609
+ };
1610
+
1611
+ /**
1612
+ * this method called after loading all assets related to this slide
1613
+ */
1614
+ p.assetsLoaded = function(){
1615
+ this.ready = true;
1616
+ this.slider.api._startTimer();
1617
+
1618
+ if ( !this.isSleeping ) {
1619
+ this.setupBG();
1620
+ }
1621
+
1622
+ CTween.fadeOut(this.$loading , 300 , true);
1623
+
1624
+ //sequence loading
1625
+ if ( (this.slider.options.preload === 0 || this.slider.options.preload === 'all') && this.index < this.view.slideList.length - 1 ) {
1626
+ this.view.slideList[this.index + 1].loadImages();
1627
+ } else if ( this.slider.options.preload === 'all' && this.index === this.view.slideList.length - 1 ){
1628
+ this.slider._removeLoading();
1629
+ }
1630
+
1631
+ };
1632
+
1633
+ /**
1634
+ * adds backgroun image to the slider
1635
+ * @param {Element} img slide image element
1636
+ */
1637
+ p.setBG = function(img){
1638
+ this.hasBG = true;
1639
+ var that = this;
1640
+
1641
+ this.$imgcont = $('<div></div>').addClass('ms-slide-bgcont');
1642
+
1643
+ this.$element.append(this.$loading)
1644
+ .append(this.$imgcont);
1645
+
1646
+ this.$bg_img = $(img).css('visibility' , 'hidden');
1647
+ this.$imgcont.append(this.$bg_img);
1648
+
1649
+ this.bgAligner = new MSAligner(that.fillMode , that.$imgcont, that.$bg_img );
1650
+ this.bgAligner.widthOnly = this.slider.options.autoHeight;
1651
+
1652
+ if ( that.slider.options.autoHeight && (that.pselected || that.selected) ) {
1653
+ that.slider.setHeight(that.slider.options.height);
1654
+ }
1655
+
1656
+ if ( this.$bg_img.data('src') !== undefined ) {
1657
+ this.bg_src = this.$bg_img.data('src');
1658
+ this.$bg_img.removeAttr('data-src');
1659
+ } else {
1660
+ this.$bg_img.one('load', function(event) {that._onBGLoad(event);})
1661
+ .each($.jqLoadFix);
1662
+ }
1663
+
1664
+ };
1665
+
1666
+ /**
1667
+ * align and resize backgrund image over slide
1668
+ */
1669
+ p.setupBG = function(){
1670
+
1671
+ //if(this.isSettedup) return;
1672
+ //this.isSettedup = true;
1673
+
1674
+ if ( !this.initBG && this.bgLoaded ) {
1675
+ this.initBG = true;
1676
+ this.$bg_img.css('visibility' , '');
1677
+ this.bgWidth = this.bgNatrualWidth || this.$bg_img.width();
1678
+ this.bgHeight = this.bgNatrualHeight || this.$bg_img.height();
1679
+
1680
+ CTween.fadeIn(this.$imgcont , 300);
1681
+
1682
+ if(this.slider.options.autoHeight){
1683
+ this.$imgcont.height(this.bgHeight * this.ratio);
1684
+ }
1685
+
1686
+ this.bgAligner.init(this.bgWidth , this.bgHeight);
1687
+ this.setSize(this.__width , this.__height);
1688
+
1689
+ if(this.slider.options.autoHeight && (this.pselected || this.selected))
1690
+ this.slider.setHeight(this.getHeight());
1691
+ }
1692
+
1693
+ };
1694
+
1695
+
1696
+
1697
+ /**
1698
+ * start loading images
1699
+ */
1700
+ p.loadImages = function(){
1701
+ if ( this.ls ) {
1702
+ return;
1703
+ }
1704
+
1705
+ this.ls = true;
1706
+
1707
+ if ( this.hasBG && this.bg_src ) {
1708
+ var that = this;
1709
+ this.$bg_img.preloadImg(this.bg_src , function(event) {that._onBGLoad(event);});
1710
+ }
1711
+
1712
+ // There is nothing to preload? so slide is ready to show.
1713
+ if( !this.hasBG && !this.hasLayers ) {
1714
+ this.assetsLoaded();
1715
+ }
1716
+
1717
+ };
1718
+
1719
+ /**
1720
+ * on background image loaded
1721
+ * @param {Event} event
1722
+ */
1723
+ p._onBGLoad = function(event){
1724
+ this.bgNatrualWidth = event.width;
1725
+ this.bgNatrualHeight = event.height;
1726
+
1727
+ this.bgLoaded = true;
1728
+
1729
+ if ( $.browser.msie ) {
1730
+ this.$bg_img.on('dragstart', function(event) { event.preventDefault(); }); // disables native dragging
1731
+ }
1732
+
1733
+ if ( !this.hasLayers || this.layerController.ready ) {
1734
+ this.assetsLoaded();
1735
+ }
1736
+ };
1737
+
1738
+ /* -----------------------------------------------------*/
1739
+
1740
+ /**
1741
+ * resize slide
1742
+ * @param {Number} width
1743
+ * @param {Number} height
1744
+ * @param {Boolean} hard after resizing reinitializes layers
1745
+ */
1746
+ p.setSize = function(width, height, hard) {
1747
+
1748
+ this.__width = width;
1749
+
1750
+ if ( this.slider.options.autoHeight ) {
1751
+ if ( this.bgLoaded ) {
1752
+ this.ratio = this.__width / this.bgWidth;
1753
+ height = Math.floor(this.ratio * this.bgHeight);
1754
+ this.$imgcont.height(height);
1755
+ } else {
1756
+ this.ratio = width / this.slider.options.width;
1757
+ height = this.slider.options.height * this.ratio;
1758
+ }
1759
+ }
1760
+
1761
+ this.__height = height;
1762
+ this.$element.width(width).height(height);
1763
+
1764
+ if(this.hasBG && this.bgLoaded)this.bgAligner.align();
1765
+
1766
+ };
1767
+
1768
+ /**
1769
+ * calculates slide height
1770
+ * @return {Number} slide height
1771
+ */
1772
+ p.getHeight = function(){
1773
+
1774
+ if ( this.hasBG && this.bgLoaded ) {
1775
+ return this.bgHeight * this.ratio;
1776
+ }
1777
+
1778
+ return Math.max(this.$element[0].clientHeight, this.slider.options.height * this.ratio);
1779
+ };
1780
+
1781
+ /* -----------------------------------------------------*/
1782
+ // YouTube and Vimeo videos
1783
+
1784
+ /**
1785
+ * playe embeded video
1786
+ */
1787
+ p.__playVideo = function (){
1788
+
1789
+ if ( this.vplayed || this.videodis ) {
1790
+ return;
1791
+ }
1792
+
1793
+ this.vplayed = true;
1794
+
1795
+ if ( !this.slider.api.paused ) {
1796
+ this.slider.api.pause();
1797
+ this.roc = true; // resume on close;
1798
+ }
1799
+
1800
+ this.vcbtn.css('display' , '');
1801
+ CTween.fadeOut(this.vpbtn , 500 , false);
1802
+ CTween.fadeIn(this.vcbtn , 500);
1803
+ CTween.fadeIn(this.vframe , 500);
1804
+ this.vframe.css('display' , 'block').attr('src' , this.video + '&autoplay=1');
1805
+ this.view.$element.addClass('ms-def-cursor');
1806
+
1807
+ // remove perspective style from view if it's Firefox.
1808
+ // it fixes video fullscreen issue in Firefox
1809
+ if ( this.moz ) {
1810
+ this.view.$element.css('perspective', 'none');
1811
+ }
1812
+
1813
+ // if swipe navigation enabled
1814
+ if ( this.view.swipeControl ) {
1815
+ this.view.swipeControl.disable();
1816
+ }
1817
+
1818
+ this.slider.slideController.dispatchEvent(new MSSliderEvent(MSSliderEvent.VIDEO_PLAY));
1819
+ };
1820
+
1821
+ /**
1822
+ * close embeded video
1823
+ */
1824
+ p.__closeVideo = function(){
1825
+
1826
+ if ( !this.vplayed ) {
1827
+ return;
1828
+ }
1829
+
1830
+ this.vplayed = false;
1831
+
1832
+ if(this.roc){
1833
+ this.slider.api.resume();
1834
+ }
1835
+
1836
+ var that = this;
1837
+
1838
+ CTween.fadeIn(this.vpbtn , 500);
1839
+ CTween.animate(this.vcbtn , 500 , {opacity:0} , {complete:function(){ that.vcbtn.css ('display' , 'none'); }});
1840
+ CTween.animate(this.vframe , 500 , {opacity:0} , {complete:function(){ that.vframe.attr('src' , 'about:blank').css('display' , 'none');}});
1841
+
1842
+ // video fullscreen issue in Firefox
1843
+ if ( this.moz ) {
1844
+ this.view.$element.css('perspective', '');
1845
+ }
1846
+
1847
+ // if swipe navigation enabled
1848
+ if ( this.view.swipeControl ) {
1849
+ this.view.swipeControl.enable();
1850
+ }
1851
+
1852
+ this.view.$element.removeClass('ms-def-cursor');
1853
+ this.slider.slideController.dispatchEvent(new MSSliderEvent(MSSliderEvent.VIDEO_CLOSE));
1854
+ };
1855
+
1856
+ /* -----------------------------------------------------*/
1857
+
1858
+ /**
1859
+ * create slide - it adds requierd elements over slide
1860
+ */
1861
+ p.create = function(){
1862
+ var that = this;
1863
+
1864
+ if ( this.link ) {
1865
+ this.link.addClass('ms-slide-link').html('').click(function(e){
1866
+ if ( that.linkdis ) {
1867
+ e.preventDefault();
1868
+ }
1869
+ });
1870
+
1871
+ // this.$element.css('cursor' , 'pointer')
1872
+ // .click(function(){ if(!that.linkdis) window.open(that.link , that.link_targ || '_self'); });
1873
+ }
1874
+
1875
+ if ( this.video ) {
1876
+
1877
+ if ( this.video.indexOf('?') === -1 ) {
1878
+ this.video += '?';
1879
+ }
1880
+
1881
+ this.vframe = $('<iframe></iframe>')
1882
+ .addClass('ms-slide-video')
1883
+ .css({width:'100%' , height:'100%' , display:'none'})
1884
+ .attr('src' , 'about:blank')
1885
+ .attr('allowfullscreen', 'true')
1886
+ .appendTo(this.$element);
1887
+
1888
+ this.vpbtn = $('<div></div>')
1889
+ .addClass('ms-slide-vpbtn')
1890
+ .click(function(){that.__playVideo();})
1891
+ .appendTo(this.$element);
1892
+
1893
+ this.vcbtn = $('<div></div>')
1894
+ .addClass('ms-slide-vcbtn')
1895
+ .click(function(){that.__closeVideo();})
1896
+ .appendTo(this.$element)
1897
+ .css('display','none');
1898
+
1899
+ if ( window._touch ) {
1900
+ this.vcbtn.removeClass('ms-slide-vcbtn')
1901
+ .addClass('ms-slide-vcbtn-mobile')
1902
+ .append('<div class="ms-vcbtn-txt">Close video</div>')
1903
+ .appendTo(this.view.$element.parent());
1904
+ }
1905
+ }
1906
+
1907
+ if ( !this.slider.options.autoHeight && this.hasBG ) {
1908
+ this.$imgcont.css('height' , '100%');
1909
+
1910
+ if ( this.fillMode === 'center' || this.fillMode === 'stretch' ){
1911
+ this.fillMode = 'fill';
1912
+ }
1913
+ }
1914
+
1915
+ if ( this.slider.options.autoHeight ) {
1916
+ this.$element.addClass('ms-slide-auto-height');
1917
+ }
1918
+
1919
+ this.sleep(true);
1920
+ };
1921
+
1922
+ /**
1923
+ * destory the slide
1924
+ */
1925
+ p.destroy = function(){
1926
+ this.$element.remove();
1927
+ this.$element = null;
1928
+ };
1929
+
1930
+ /**
1931
+ * everything require to do before selecting slide
1932
+ */
1933
+ p.prepareToSelect = function(){
1934
+
1935
+ if ( this.pselected || this.selected ) {
1936
+ return;
1937
+ }
1938
+
1939
+ this.pselected = true;
1940
+
1941
+ if ( this.link || this.video ) {
1942
+ this.view.addEventListener(MSViewEvents.SWIPE_START , this.onSwipeStart , this);
1943
+ this.view.addEventListener(MSViewEvents.SWIPE_MOVE , this.onSwipeMove , this);
1944
+ this.view.addEventListener(MSViewEvents.SWIPE_CANCEL , this.onSwipeCancel , this);
1945
+ this.linkdis = false;
1946
+ this.swipeMoved = false;
1947
+ }
1948
+
1949
+ this.loadImages();
1950
+
1951
+ if( this.moz ){
1952
+ this.$element.css('margin-top' , '');
1953
+ }
1954
+
1955
+
1956
+ };
1957
+
1958
+ /*p.prepareToUnselect = function(){
1959
+ if(!this.pselected || !this.selected) return;
1960
+
1961
+ this.pselected = false;
1962
+
1963
+ };*/
1964
+
1965
+ /**
1966
+ * select slide
1967
+ */
1968
+ p.select = function(){
1969
+ if ( this.selected ) {
1970
+ return;
1971
+ }
1972
+
1973
+ this.selected = true;
1974
+ this.pselected = false;
1975
+ this.$element.addClass('ms-sl-selected');
1976
+
1977
+ // @since 1.8.0
1978
+ // Autoplay iframe video
1979
+ if ( this.videoAutoPlay ) {
1980
+ this.videodis = false;
1981
+ this.vpbtn.trigger('click');
1982
+ }
1983
+
1984
+ };
1985
+
1986
+ /**
1987
+ * remove selected status
1988
+ */
1989
+ p.unselect = function(){
1990
+ this.pselected = false;
1991
+
1992
+ if ( this.moz ) {
1993
+ this.$element.css('margin-top' , '0.1px');
1994
+ }
1995
+
1996
+ if ( this.link || this.video ) {
1997
+ this.view.removeEventListener(MSViewEvents.SWIPE_START , this.onSwipeStart , this);
1998
+ this.view.removeEventListener(MSViewEvents.SWIPE_MOVE , this.onSwipeMove , this);
1999
+ this.view.removeEventListener(MSViewEvents.SWIPE_CANCEL , this.onSwipeCancel , this);
2000
+ }
2001
+
2002
+ if ( !this.selected ) {
2003
+ return;
2004
+ }
2005
+
2006
+ this.selected = false;
2007
+
2008
+ this.$element.removeClass('ms-sl-selected');
2009
+ if(this.video && this.vplayed){
2010
+ this.__closeVideo();
2011
+ this.roc = false;
2012
+ }
2013
+
2014
+ };
2015
+
2016
+ /**
2017
+ * remove slide from DOM
2018
+ */
2019
+ p.sleep = function(force){
2020
+ if ( this.isSleeping && !force ) {
2021
+ return;
2022
+ }
2023
+
2024
+ this.isSleeping = true;
2025
+
2026
+ if ( this.autoAppend ) {
2027
+ this.$element.detach();
2028
+ }
2029
+
2030
+ if ( this.hasLayers ) {
2031
+ this.layerController.onSlideSleep();
2032
+ }
2033
+ };
2034
+
2035
+ /**
2036
+ * add slide to the DOM
2037
+ */
2038
+ p.wakeup = function(){
2039
+ if ( !this.isSleeping ) {
2040
+ return;
2041
+ }
2042
+
2043
+ this.isSleeping = false;
2044
+
2045
+ if ( this.autoAppend ) {
2046
+ this.view.$slideCont.append(this.$element);
2047
+ }
2048
+
2049
+ if ( this.moz ){
2050
+ this.$element.css('margin-top' , '0.1px');
2051
+ }
2052
+
2053
+ this.setupBG();
2054
+
2055
+ // aling bg
2056
+ if ( this.hasBG ){
2057
+ this.bgAligner.align();
2058
+ }
2059
+
2060
+ if ( this.hasLayers ) {
2061
+ this.layerController.onSlideWakeup();
2062
+ }
2063
+ };
2064
+
 
 
 
2065
  })(window, document, jQuery);
2066
 
2067
  /* ================== bin-debug/js/lite/controls/SlideController.js =================== */
2068
+ ;(function($){
2069
+
2070
+ "use strict";
2071
+
2072
+ var SliderViewList = {};
2073
+
2074
+ window.MSSlideController = function(slider){
2075
+
2076
+ this._delayProgress = 0;
2077
+
2078
+ this._timer = new averta.Timer(100);
2079
+ this._timer.onTimer = this.onTimer;
2080
+ this._timer.refrence = this;
2081
+
2082
+ this.currentSlide = null;
2083
+
2084
+ this.slider = slider;
2085
+ this.so = slider.options;
2086
+
2087
+ averta.EventDispatcher.call(this);
2088
+
2089
+ };
2090
+
2091
+ MSSlideController.registerView = function(name , _class){
2092
+ if(name in SliderViewList){
2093
+ throw new Error( name + ', is already registered.');
2094
+ return;
2095
+ }
2096
+
2097
+ SliderViewList[name] = _class;
2098
+ };
2099
+
2100
+ MSSlideController.SliderControlList = {};
2101
+ MSSlideController.registerControl = function(name , _class){
2102
+ if(name in MSSlideController.SliderControlList){
2103
+ throw new Error( name + ', is already registered.');
2104
+ return;
2105
+ }
2106
+
2107
+ MSSlideController.SliderControlList[name] = _class;
2108
+ };
2109
+
2110
+ var p = MSSlideController.prototype;
2111
+
2112
+ /*-------------- METHODS --------------*/
2113
+
2114
+
2115
+ p.setupView = function(){
2116
+
2117
+ var that = this;
2118
+ this.resize_listener = function(){that.__resize();};
2119
+
2120
+ // in @version 1.5.7 it will be added in Masterslider.js _setupSliderLayout function
2121
+ //$(window).bind('resize', this.resize_listener);
2122
+
2123
+ //if(this.so.smoothHeight) this.so.autoHeight = true;
2124
+
2125
+ var viewOptions = {
2126
+ spacing: this.so.space,
2127
+ mouseSwipe: this.so.mouse,
2128
+ loop: this.so.loop,
2129
+ autoHeight: this.so.autoHeight,
2130
+ swipe: this.so.swipe,
2131
+ speed: this.so.speed,
2132
+ dir: this.so.dir,
2133
+ viewNum: this.so.inView,
2134
+ critMargin: this.so.critMargin
2135
+ };
2136
+
2137
+ if(this.so.viewOptions)
2138
+ $.extend(viewOptions , this.so.viewOptions);
2139
+
2140
+ if(this.so.autoHeight) this.so.heightLimit = false;
2141
+
2142
+ //this.view.slideDuration = this.so.duration;
2143
+
2144
+ var viewClass = SliderViewList[this.slider.options.view] || MSBasicView;
2145
+ if(viewClass._3dreq && (!window._css3d || $.browser.msie) ) viewClass = viewClass._fallback || MSBasicView;
2146
+
2147
+ this.view = new viewClass(viewOptions);
2148
+
2149
+ if(this.so.overPause){
2150
+ var that = this;
2151
+ this.slider.$element.mouseenter(function(){
2152
+ that.is_over = true;
2153
+ that._stopTimer();
2154
+ }).mouseleave(function(){
2155
+ that.is_over = false;
2156
+ that._startTimer();
2157
+ });
2158
+ }
2159
+ };
2160
+
2161
+ p.onChangeStart = function(){
2162
+
2163
+ this.change_started = true;
2164
+
2165
+ if(this.currentSlide) this.currentSlide.unselect();
2166
+ this.currentSlide = this.view.currentSlide;
2167
+ this.currentSlide.prepareToSelect();
2168
+ //this.__appendSlides();
2169
+ if(this.so.endPause && this.currentSlide.index === this.slider.slides.length - 1){
2170
+ this.pause();
2171
+ //this._timer.reset();
2172
+ this.skipTimer();
2173
+ }
2174
+
2175
+ if(this.so.autoHeight){
2176
+ this.slider.setHeight(this.currentSlide.getHeight());
2177
+ }
2178
+
2179
+ if ( this.so.deepLink ) {
2180
+ this.__updateWindowHash();
2181
+ }
2182
+
2183
+ this.dispatchEvent(new MSSliderEvent(MSSliderEvent.CHANGE_START));
2184
+ };
2185
+
2186
+ p.onChangeEnd = function(){
2187
+ //if(!this.currentSlide.selected)
2188
+ // this._timer.reset();
2189
+ this.change_started = false;
2190
+
2191
+ this._startTimer();
2192
+ this.currentSlide.select();
2193
+
2194
+ if(this.so.preload > 1){
2195
+ var loc ,i , l = this.so.preload - 1, slide;
2196
+
2197
+ // next slides
2198
+ for(i=1;i<=l;++i){
2199
+ loc = this.view.index + i;
2200
+
2201
+ if(loc >= this.view.slideList.length) {
2202
+ if(this.so.loop){
2203
+ loc = loc - this.view.slideList.length;
2204
+ }else{
2205
+ i = l;
2206
+ continue;
2207
+ }
2208
+ }
2209
+
2210
+ slide = this.view.slideList[loc];
2211
+ if ( slide ) {
2212
+ slide.loadImages();
2213
+ }
2214
+
2215
+ }
2216
+
2217
+ // previous slides
2218
+ if(l > this.view.slideList.length/2)
2219
+ l = Math.floor(this.view.slideList.length/2);
2220
+
2221
+ for(i=1;i<=l;++i){
2222
+
2223
+ loc = this.view.index - i;
2224
+
2225
+ if(loc < 0){
2226
+ if(this.so.loop){
2227
+ loc = this.view.slideList.length + loc;
2228
+ }else{
2229
+ i = l;
2230
+ continue;
2231
+ }
2232
+ }
2233
+
2234
+ slide = this.view.slideList[loc];
2235
+ if ( slide ) {
2236
+ slide.loadImages();
2237
+ }
2238
+
2239
+ }
2240
+ }
2241
+
2242
+ this.dispatchEvent(new MSSliderEvent(MSSliderEvent.CHANGE_END));
2243
+
2244
+ };
2245
+
2246
+ p.onSwipeStart = function(){
2247
+ //this._timer.reset();
2248
+ this.skipTimer();
2249
+ };
2250
+
2251
+ p.skipTimer = function(){
2252
+ this._timer.reset();
2253
+ this._delayProgress = 0;
2254
+ this.dispatchEvent(new MSSliderEvent(MSSliderEvent.WAITING));
2255
+ };
2256
+
2257
+ p.onTimer = function(time) {
2258
+
2259
+ if(this._timer.getTime() >= this.view.currentSlide.delay * 1000){
2260
+ //this._timer.reset();
2261
+ this.skipTimer();
2262
+ this.view.next();
2263
+ this.hideCalled = false;
2264
+ }
2265
+ this._delayProgress = this._timer.getTime() / (this.view.currentSlide.delay * 10);
2266
+
2267
+ if(this.so.hideLayers && !this.hideCalled && this.view.currentSlide.delay * 1000 - this._timer.getTime() <= 300){
2268
+ var currentSlide = this.view.currentSlide;
2269
+ if ( currentSlide.hasLayers ) {
2270
+ currentSlide.layerController.animHideLayers();
2271
+ }
2272
+ this.hideCalled = true;
2273
+ }
2274
+
2275
+ this.dispatchEvent(new MSSliderEvent(MSSliderEvent.WAITING));
2276
+ };
2277
+
2278
+ p._stopTimer = function(){
2279
+ if(this._timer)
2280
+ this._timer.stop();
2281
+ };
2282
+
2283
+ p._startTimer = function(){
2284
+ if(!this.paused && !this.is_over && this.currentSlide && this.currentSlide.ready && !this.change_started)
2285
+ this._timer.start();
2286
+ };
2287
+
2288
+ p.__appendSlides = function(){
2289
+ var slide , loc , i = 0 , l = this.view.slideList.length -1;
2290
+
2291
+ // detach all
2292
+ for ( i ; i < l ; ++i){
2293
+ slide = this.view.slideList[i];
2294
+ if(!slide.detached){
2295
+ slide.$element.detach();
2296
+ slide.detached = true;
2297
+ }
2298
+ }
2299
+
2300
+ // append current slide
2301
+ this.view.appendSlide(this.view.slideList[this.view.index]);
2302
+
2303
+ l = 3;
2304
+
2305
+ // next slides
2306
+ for(i=1;i<=l;++i){
2307
+ loc = this.view.index + i;
2308
+
2309
+ if(loc >= this.view.slideList.length) {
2310
+ if(this.so.loop){
2311
+ loc = loc - this.view.slideList.length;
2312
+ }else{
2313
+ i = l;
2314
+ continue;
2315
+ }
2316
+ }
2317
+
2318
+ slide = this.view.slideList[loc];
2319
+ slide.detached = false;
2320
+ this.view.appendSlide(slide);
2321
+
2322
+ }
2323
+
2324
+ // previous slides
2325
+ if(l > this.view.slideList.length/2)
2326
+ l = Math.floor(this.view.slideList.length/2);
2327
+
2328
+ for(i=1;i<=l;++i){
2329
+
2330
+ loc = this.view.index - i;
2331
+
2332
+ if(loc < 0){
2333
+ if(this.so.loop){
2334
+ loc = this.view.slideList.length + loc;
2335
+ }else{
2336
+ i = l;
2337
+ continue;
2338
+ }
2339
+ }
2340
+
2341
+ slide = this.view.slideList[loc];
2342
+ slide.detached = false;
2343
+ this.view.appendSlide(slide);
2344
+ }
2345
+
2346
+ }
2347
+
2348
+ p.__resize = function(hard){
2349
+ if(!this.created) return;
2350
+
2351
+ this.width = this.slider.$element[0].clientWidth || this.so.width;
2352
+
2353
+ if(!this.so.fullwidth){
2354
+ this.width = Math.min(this.width , this.so.width);
2355
+ //this.view.$element.css('left' , (this.slider.$element[0].clientWidth - this.width) / 2 + 'px');
2356
+ }
2357
+
2358
+ this.height = this.width / this.slider.aspect;
2359
+ if( this.so.autoHeight ){
2360
+ this.currentSlide.setSize(this.width , null , hard);
2361
+ this.view.setSize(this.width , this.currentSlide.getHeight() , hard);
2362
+ } else {
2363
+ this.view.setSize(this.width , ( Math.max( this.so.minHeight, ( this.so.heightLimit ? Math.min(this.height , this.so.height) : this.height ) ) ) , hard);
2364
+ }
2365
+
2366
+ if(this.slider.$controlsCont){
2367
+ if(this.so.centerControls && this.so.fullwidth) {
2368
+ this.view.$element.css('left' , Math.min(0,-(this.slider.$element[0].clientWidth - this.so.width) / 2) + 'px');
2369
+ }
2370
+ }
2371
+
2372
+ this.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESIZE));
2373
+ };
2374
+
2375
+ p.__dispatchInit = function(){
2376
+ this.dispatchEvent(new MSSliderEvent(MSSliderEvent.INIT));
2377
+ };
2378
+
2379
+ p.setup = function(){
2380
+
2381
+ this.created = true;
2382
+ this.paused = !this.so.autoplay;
2383
+
2384
+ //this.slider.$element.append(this.view.$element);
2385
+ this.view.addEventListener(MSViewEvents.CHANGE_START , this.onChangeStart , this);
2386
+ this.view.addEventListener(MSViewEvents.CHANGE_END , this.onChangeEnd , this);
2387
+ this.view.addEventListener(MSViewEvents.SWIPE_START , this.onSwipeStart , this);
2388
+
2389
+ //this.currentSlide = this.view.slides[this.so.start - 1];
2390
+ this.currentSlide = this.view.slideList[this.so.start - 1];
2391
+ this.__resize();
2392
+
2393
+ var startSlide = this.so.start - 1;
2394
+ this.view.create(startSlide);
2395
+
2396
+ if(this.so.preload === 0){
2397
+ this.view.slideList[0].loadImages();
2398
+ }
2399
+
2400
+ this.scroller = this.view.controller;
2401
+
2402
+ if(this.so.wheel){
2403
+ var that = this;
2404
+ var last_time = new Date().getTime();
2405
+ this.wheellistener = function(event){
2406
+
2407
+ var e = window.event || event.orginalEvent || event;
2408
+ e.preventDefault();
2409
+
2410
+ var current_time = new Date().getTime();
2411
+ if(current_time - last_time < 400) return;
2412
+ last_time = current_time;
2413
+
2414
+ var delta = Math.abs(e.detail || e.wheelDelta);
2415
+
2416
+ if ( $.browser.mozilla ) {
2417
+ delta *= 100;
2418
+ }
2419
+
2420
+ var scrollThreshold = 15;
2421
+
2422
+ // --- Scrolling up ---
2423
+ if (e.detail < 0 || e.wheelDelta > 0) {
2424
+ if ( delta >= scrollThreshold) {
2425
+ that.previous(true);
2426
+ }
2427
+ }
2428
+ // --- Scrolling down ---
2429
+ else {
2430
+ if (delta >= scrollThreshold) {
2431
+ that.next(true);
2432
+ }
2433
+ }
2434
+
2435
+ return false;
2436
+ };
2437
+
2438
+ if($.browser.mozilla) this.slider.$element[0].addEventListener('DOMMouseScroll' , this.wheellistener);
2439
+ else this.slider.$element.bind('mousewheel', this.wheellistener);
2440
+ }
2441
+
2442
+ // if(this.so.wheel){
2443
+ // var that = this;
2444
+ // var last_time = new Date().getTime();
2445
+ // this.wheellistener = function(event){
2446
+ // var current_time = new Date().getTime();
2447
+ // if(current_time - last_time < 550) return;
2448
+ // last_time = current_time;
2449
+ // var e = window.event || event.orginalEvent || event;
2450
+ // var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
2451
+ // if(delta < 0) that.next();
2452
+ // else if(delta > 0) that.previous();
2453
+ // return false;
2454
+ // };
2455
+
2456
+ // if($.browser.mozilla) this.slider.$element[0].addEventListener('DOMMouseScroll' , this.wheellistener);
2457
+ // else this.slider.$element.bind('mousewheel', this.wheellistener);
2458
+ // }
2459
+
2460
+ if(this.slider.$element[0].clientWidth === 0)
2461
+ this.slider.init_safemode = true;
2462
+
2463
+ this.__resize();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2464
 
2465
+ };
2466
+
2467
+ p.index = function(){
2468
+ return this.view.index;
2469
+ };
2470
+
2471
+ p.count = function(){
2472
+ return this.view.slidesCount;
2473
+ };
2474
+
2475
+ p.next = function(checkLoop){
2476
+ this.skipTimer();
2477
+ this.view.next(checkLoop);
2478
+ };
2479
+
2480
+ p.previous = function(checkLoop){
2481
+ this.skipTimer();
2482
+ this.view.previous(checkLoop);
2483
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2484
 
2485
+ p.gotoSlide = function(index) {
2486
+ index = Math.min(index, this.count()-1);
2487
+ this.skipTimer();
2488
+ this.view.gotoSlide(index);
2489
+ };
2490
+
2491
+ p.destroy = function(reset){
2492
+ this.dispatchEvent(new MSSliderEvent(MSSliderEvent.DESTROY));
2493
+ this.slider.destroy(reset);
2494
+ };
2495
+
2496
+ p._destroy = function(){
2497
+ this._timer.reset();
2498
+ this._timer = null;
2499
+
2500
+ $(window).unbind('resize', this.resize_listener);
2501
+ this.view.destroy();
2502
+ this.view = null;
2503
+
2504
+ if(this.so.wheel){
2505
+ if($.browser.mozilla) this.slider.$element[0].removeEventListener('DOMMouseScroll' , this.wheellistener);
2506
+ else this.slider.$element.unbind('mousewheel', this.wheellistener);
2507
+ this.wheellistener = null;
2508
+ }
2509
+
2510
+ this.so = null;
2511
+ };
2512
+
2513
+ /**
2514
+ * run layer actions like next, previous,...
2515
+ * @param {String} action
2516
+ * @since v1.7.2
2517
+ */
2518
+ p.runAction = function(action){
2519
+ var actionParams = [];
2520
+
2521
+ if( action.indexOf('(') !== -1 ){
2522
+ var temp = action.slice(0 , action.indexOf('('));
2523
+ actionParams = action.slice(action.indexOf('(') + 1 , -1).replace(/\"|\'|\s/g , '').split(',');
2524
+ action = temp;
2525
+ }
2526
+
2527
+ if ( action in this ){
2528
+ this[action].apply(this, actionParams);
2529
+ } else if ( console ){
2530
+ console.log('Master Slider Error: Action "'+action+'" not found.');
2531
+ }
2532
+ };
2533
+
2534
+ p.update = function(hard){
2535
+ if(this.slider.init_safemode && hard)
2536
+ this.slider.init_safemode = false;
2537
+ this.__resize(hard);
2538
+
2539
+ if ( hard ) {
2540
+ this.dispatchEvent(new MSSliderEvent(MSSliderEvent.HARD_UPDATE));
2541
+ }
2542
+
2543
+ };
2544
+
2545
+ p.locate = function(){
2546
+ this.__resize();
2547
+ };
2548
+
2549
+ p.resume = function(){
2550
+ if(!this.paused) return;
2551
+ this.paused = false;
2552
+ this._startTimer();
2553
+ };
2554
+
2555
+ p.pause = function(){
2556
+ if(this.paused) return;
2557
+ this.paused = true;
2558
+ this._stopTimer();
2559
+ };
2560
+
2561
+ p.currentTime = function(){
2562
+ return this._delayProgress;
2563
+ };
2564
+
2565
+
2566
+ averta.EventDispatcher.extend(p);
2567
+ })(jQuery);
2568
+
2569
+ /* ================== bin-debug/js/lite/MasterSlider.js =================== */
2570
+ /**
2571
+ * Master Slider Main JavaScript File
2572
+ */
2573
+
2574
+ ;(function($){
2575
+
2576
+ "use strict";
2577
+
2578
+ window.MasterSlider = function(){
2579
+
2580
+ // Default Options
2581
+ this.options = {
2582
+ forceInit : true, // Force calling init even an error occurs in jQuery's dom ready method.
2583
+ autoplay : false, // Enables the autoplay slideshow.
2584
+ loop : false, // Enables the continuous sliding mode.
2585
+ mouse : true, // Whether the user can use mouse drag navigation.
2586
+ swipe : true, // Whether the drag/swipe navigation is enabled.
2587
+ grabCursor : true, // Whether the slider uses grab mouse cursor.
2588
+ space : 0, // The spacing value between slides in pixels.
2589
+ fillMode : 'fill', // Specifies the slide background scaling method. Its acceptable values are "fill", "fit", "stretch", "center" and "tile".
2590
+ start : 1, // The slider starting slide number.
2591
+ view : 'basic', // The slide changing transition.
2592
+ width : 300, // The base width of slides. It helps the slider to resize in correct ratio.
2593
+ height : 150, // The base height of slides, It helps the slider to resize in correct ratio.
2594
+ inView : 15, // Specifies number of slides which will be added at a same time in DOM.
2595
+ critMargin : 1, //
2596
+ mobileBGVideo : false, // Whether show background videos in mobile devices.
2597
+ heightLimit : true, // It force the slide to use max height value as its base specified height value.
2598
+ smoothHeight : true, // Whether the slider uses smooth animation while its height changes.
2599
+ autoHeight : false, // Whether the slider adapts its height to each slide height or not. It overrides heightLimit option.
2600
+ minHeight : -1, // @since 2.13.0, Specifies min height value for the slider, it prevents slider to shows too narrow in small screens.
2601
+ fullwidth : false, // It enables the slider to adapt width to its parent element. It's very useful for creating full-width sliders. In default it takes max width as its base width value.
2602
+ fullheight : false, // It enables the slider to adapt height to its parent element.
2603
+ autofill : false, // It enables the slider to adapt width and height to its parent element, It's very useful for creating fullscreen or fullwindow slider.
2604
+ layersMode : 'center', // It accepts two values "center" and "full". The "center" value indicates that the slider aligns layers to the center. This option is only effective in full width mode.
2605
+ hideLayers : false, // Whether the slider hides all layers before changing slide.
2606
+ endPause : false, // Whether the slider pauses slideshow when it stays at the last slide.
2607
+ centerControls : true, // Whether the slider aligns UI controls to center. This option is only effective in full width mode.
2608
+ overPause : true, // Whether the slider pauses slideshow on hover.
2609
+ shuffle : false, // Enables the shuffle slide order.
2610
+ speed : 17, // Specifies slide changing speed. It accepts float values between 0 and 100.
2611
+ dir : 'h', // Specifies slide changing direction. It accepts two values "h" (horizontal) and "v" (vertical).
2612
+ preload : 0, // Specifies number of slides which will be loaded by slider. 0 value means the slider loads slides in sequence.
2613
+ wheel : false, // Whether slider uses mouse wheel for navigation.
2614
+ layout : 'boxed', // It accepts 'fullwidth', 'fullscreen', 'fillwidth', 'autofill', 'partialview', 'boxed'. It overrides 'fullwidth' and 'autofill' (added in v1.5.6)
2615
+ autofillTarget : null, // @since 2.13.0, Specifies the parent element of slider width jQuery selector, it used for sizing slider with autofill layout. Default value is the first parent element of slider.
2616
+ fullscreenMargin : 0, // Specifies margin amount to the bottom of slider, it's only effective on fullscreen slider.
2617
+ instantStartLayers : false, // @since 1.5.0, Whether instantly shows slide layers.
2618
+ parallaxMode : 'mouse', // @since 1.6.0, Specifies mode of parallax effect accepts: "mouse", "mouse:x-only", "mouse:y-only" and "swipe"
2619
+ rtl : false, // @since 1.8.0, Whether Right-to-left direction slider.
2620
+ deepLink : null, // @since 2.1.0, null value disables slider deep-linking any string values identifies the slider in page's url like /#msslider-1
2621
+ deepLinkType : 'path', // @since 2.1.0, type of hash value in page's url possible values, path and query ( #gallery/1 || #gallery=4 )
2622
+ disablePlugins : [] // @since 2.9.6, list of disabled Master Slider plugin names for this instance.
2623
+ };
2624
+
2625
+ this.slides = [];
2626
+ this.activePlugins = [];
2627
+ this.$element = null;
2628
+
2629
+ // used by new layout method. to force fullwidth or fullscreen
2630
+ this.lastMargin = 0;
2631
+
2632
+ // Reserved side spaces of slider
2633
+ this.leftSpace = 0;
2634
+ this.topSpace = 0;
2635
+ this.rightSpace = 0;
2636
+ this.bottomSpace = 0;
2637
+
2638
+ // hold on stack
2639
+ this._holdOn = 0;
2640
+
2641
+ var that = this;
2642
+ this.resize_listener = function(){that._resize();};
2643
+ $(window).bind('resize', this.resize_listener);
2644
+
2645
+ };
2646
+
2647
+ MasterSlider.author = 'Averta Ltd. (www.averta.net)';
2648
+ MasterSlider.version = '2.50.0';
2649
+ MasterSlider.releaseDate = 'Aug 2016';
2650
+
2651
+ // Master Slider plugins.
2652
+ MasterSlider._plugins = []
2653
+ var MS = MasterSlider;
2654
+ MS.registerPlugin = function ( plugin ) {
2655
+ if ( MS._plugins.indexOf(plugin) === -1 ) {
2656
+ MS._plugins.push(plugin);
2657
+ }
2658
+ };
2659
+
2660
+ var p = MasterSlider.prototype;
2661
+
2662
+ /*-------------- METHODS --------------*/
2663
+
2664
+ /**
2665
+ * create one slide object for each slide and add it to slide controller
2666
+ * @since 1.0
2667
+ * @private
2668
+ */
2669
+ p.__setupSlides = function(){
2670
+ var that = this,
2671
+ new_slide,
2672
+ ind = 0;
2673
+
2674
+ this.$element.children('.ms-slide').each(function(index) {
2675
+
2676
+ var $slide_ele = $(this);
2677
+
2678
+ new_slide = new MSSlide();
2679
+ new_slide.$element = $slide_ele;
2680
+ new_slide.slider = that;
2681
+ new_slide.delay = $slide_ele.data('delay') !== undefined ? $slide_ele.data('delay') : 3;
2682
+ new_slide.fillMode = $slide_ele.data('fill-mode') !== undefined ? $slide_ele.data('fill-mode') : that.options.fillMode;
2683
+ new_slide.index = ind++;
2684
+ new_slide.id = $slide_ele.data('id');
2685
+
2686
+ // Slide Background Image
2687
+ var slide_img = $slide_ele.children('img:not(.ms-layer)');
2688
+ if( slide_img.length > 0 ){
2689
+ new_slide.setBG(slide_img[0]);
2690
+ }
2691
+
2692
+ // controls
2693
+ if(that.controls){
2694
+ for(var i = 0 , l = that.controls.length; i<l ; ++i)
2695
+ that.controls[i].slideAction(new_slide);
2696
+ }
2697
+
2698
+ // Slide Link and Video
2699
+ var slide_link = $slide_ele.children('a').each(function(index) {
2700
+ var $this = $(this);
2701
+ if(this.getAttribute('data-type') === 'video'){
2702
+ new_slide.video = this.getAttribute('href');
2703
+
2704
+ new_slide.videoAutoPlay = $this.data('autoplay');
2705
+
2706
+ $this.remove();
2707
+ }else if(!$this.hasClass('ms-layer')) {
2708
+ new_slide.link = $(this);
2709
+ //new_slide.link_targ = this.getAttribute('target');
2710
+ //$this.remove();
2711
+ }
2712
+ });//.remove();
2713
+
2714
+ that.slides.push(new_slide);
2715
+ that.slideController.view.addSlide(new_slide);
2716
+
2717
+ });
2718
+ };
2719
+
2720
+ /**
2721
+ * Setups the overlay layers to the slider
2722
+ * @since 2.50
2723
+ */
2724
+ p._setupOverlayLayers = function() {
2725
+ var self = this,
2726
+ $ollayers = this.$element.children( '.ms-overlay-layers' ).eq(0);
2727
+
2728
+ if ( !$ollayers.length ) {
2729
+ return;
2730
+ }
2731
+
2732
+ var overlayLayers = new MSOverlayLayers( this );
2733
+ overlayLayers.$element = $ollayers;
2734
+ self.__createSlideLayers(overlayLayers , $ollayers.find('.ms-layer'));
2735
+
2736
+ this.view.$element.prepend( $ollayers );
2737
+ this.overlayLayers = overlayLayers;
2738
+ overlayLayers.create();
2739
+ };
2740
+
2741
+ /**
2742
+ * remove slider initialize loading
2743
+ * @since 1.0
2744
+ * @private
2745
+ */
2746
+ p._removeLoading = function(){
2747
+ $(window).unbind('resize', this.resize_listener);
2748
+ this.$element.removeClass('before-init')
2749
+ .css('visibility', 'visible')
2750
+ .css('height','')
2751
+ .css('opacity' , 0);
2752
+ CTween.fadeIn(this.$element);
2753
+ this.$loading.remove();
2754
+
2755
+ if(this.slideController)
2756
+ this.slideController.__resize();
2757
+ };
2758
+
2759
+ /**
2760
+ * resize listener, it only used for aligning slider loading and after slider init it will be removed
2761
+ * @param {Event} e
2762
+ * @since 1.0
2763
+ * @private
2764
+ */
2765
+ p._resize = function(e){
2766
+ if(this.$loading){
2767
+ var h = this.$loading[0].clientWidth / this.aspect;
2768
+ h = this.options.heightLimit ? Math.min(h , this.options.height) : h;
2769
+
2770
+ this.$loading.height(h);
2771
+ this.$element.height(h);
2772
+ }
2773
+ };
2774
+
2775
+ /**
2776
+ * changes the order of slides element before setup slides
2777
+ * @since 1.0
2778
+ * @private
2779
+ */
2780
+ p._shuffleSlides = function(){
2781
+ var slides = this.$element.children('.ms-slide') , r;
2782
+
2783
+ for(var i = 0 , l = slides.length; i < l ; ++i){
2784
+ r = Math.floor(Math.random() * (l - 1));
2785
+ if(i != r){
2786
+ this.$element[0].insertBefore(slides[i] , slides[r]);
2787
+ slides = this.$element.children('.ms-slide');
2788
+ }
2789
+ }
2790
+ };
2791
+
2792
+ /**
2793
+ * New method of setting up the layout of slider
2794
+ * @since 1.5.6
2795
+ */
2796
+ p._setupSliderLayout = function(){
2797
+
2798
+ // create side spaces
2799
+ this._updateSideMargins();
2800
+ this.lastMargin = this.leftSpace;
2801
+
2802
+ var lo = this.options.layout;
2803
+
2804
+
2805
+ if( lo !== 'boxed' && lo !== 'partialview' ){
2806
+ this.options.fullwidth = true; // enable slider fullscreen for fullwidth, fillwidth, autofill and fullscreen layouts.
2807
+ }
2808
+ if( lo === 'fullscreen' || lo === 'fullwidth' || lo === 'autofill' ){
2809
+ $(window).bind('resize', {that:this}, this._updateLayout);
2810
+ this._updateLayout();
2811
+ }
2812
+
2813
+ // bind resize handler of slidecontroller __resize
2814
+ $(window).bind('resize', this.slideController.resize_listener);
2815
+ };
2816
+
2817
+ /**
2818
+ * updates layout of slider based on window size
2819
+ * @param {Event} event
2820
+ * @since 1.5.6
2821
+ */
2822
+ p._updateLayout = function(event){
2823
+ var that = event? event.data.that : this,
2824
+ lo = that.options.layout,
2825
+ $element = that.$element,
2826
+ $win = $(window);
2827
+
2828
+ // width
2829
+ $element.width($win.width() - that.leftSpace - that.rightSpace);
2830
+ var margin = -$element.offset().left + that.leftSpace + that.lastMargin;
2831
+ $element.css('margin-left', margin );
2832
+ that.lastMargin = margin;
2833
+ //
2834
+ };
2835
+
2836
+
2837
+ /**
2838
+ * initialize the slider, called by document ready
2839
+ * <code>holdOn</code> property prevents auto initialize slider after document ready it used by plugins of slider like Flickr
2840
+ * @since 1.0
2841
+ * @protected
2842
+ */
2843
+ p._init = function(){
2844
+
2845
+ if ( this._holdOn > 0 || !this._docReady ) {
2846
+ return;
2847
+ }
2848
+
2849
+ this.initialized = true;
2850
+
2851
+ if(this.options.preload !== 'all'){
2852
+ this._removeLoading();
2853
+ }
2854
+ //else
2855
+ // this.$element.css('width' , this.$loading[0].clientWidth);
2856
+
2857
+ if(this.options.shuffle) this._shuffleSlides();
2858
+
2859
+ this.slideController.setupView();
2860
+ this.view = this.slideController.view;
2861
+
2862
+ this.$controlsCont = $('<div></div>').addClass('ms-inner-controls-cont');//.appendTo(this.$element);
2863
+ if(this.options.centerControls){
2864
+ this.$controlsCont.css('max-width' , this.options.width + 'px');
2865
+ }
2866
+
2867
+ this.$controlsCont.prepend(this.view.$element);
2868
+
2869
+ this.$msContainer = $('<div></div>').addClass('ms-container').prependTo(this.$element).append(this.$controlsCont);
2870
+
2871
+ if(this.controls){
2872
+ for(var i = 0 , l = this.controls.length; i<l ; ++i){
2873
+ this.controls[i].setup();
2874
+ }
2875
+ }
2876
+ /*else{
2877
+ this.$element.append(this.view.$element);
2878
+ }*/
2879
+
2880
+ this._setupSliderLayout();
2881
+ this.__setupSlides();
2882
+ this.slideController.setup();
2883
+ this._setupOverlayLayers();
2884
+
2885
+ if(this.controls){
2886
+ for(i = 0 , l = this.controls.length; i<l ; ++i)
2887
+ this.controls[i].create();
2888
+ }
2889
+
2890
+ if(this.options.autoHeight){
2891
+ this.slideController.view.$element.height(this.slideController.currentSlide.getHeight());
2892
+ }
2893
+
2894
+ // add grab cursor
2895
+ if(this.options.swipe && !window._touch && this.options.grabCursor && this.options.mouse){
2896
+ var $view = this.view.$element;
2897
+
2898
+ $view.mousedown(function(){
2899
+ $view.removeClass('ms-grab-cursor');
2900
+ $view.addClass('ms-grabbing-cursor');
2901
+
2902
+ if ( $.browser.msie && window.ms_grabbing_curosr ) {
2903
+ $view[0].style.cursor = 'url(' + window.ms_grabbing_curosr + '), move';
2904
+ }
2905
+
2906
+ }).addClass('ms-grab-cursor');
2907
+
2908
+ $(document).mouseup(function(){
2909
+ $view.removeClass('ms-grabbing-cursor');
2910
+ $view.addClass('ms-grab-cursor');
2911
+
2912
+ if ( $.browser.msie && window.ms_grab_curosr ) {
2913
+ $view[0].style.cursor = 'url(' + window.ms_grab_curosr + '), move';
2914
+ }
2915
+
2916
+ });
2917
+ }
2918
+
2919
+ this.slideController.__dispatchInit();
2920
+ };
2921
+
2922
+ /**
2923
+ * changes the height of slider, it used in autoheight slider
2924
+ * @param {Number} value
2925
+ * @since 1.0
2926
+ * @public
2927
+ */
2928
+ p.setHeight = function(value){
2929
+ if(this.options.smoothHeight){
2930
+ if(this.htween){
2931
+ if(this.htween.reset)this.htween.reset();
2932
+ else this.htween.stop(true);
2933
+ }
2934
+ this.htween = CTween.animate(this.slideController.view.$element , 500 , {height:value} , {ease:'easeOutQuart'});
2935
+ }else
2936
+ this.slideController.view.$element.height(value);
2937
+ };
2938
+
2939
+ /**
2940
+ * reserves white space in sides of slider, it used by controls
2941
+ * @param {String} side left|right|top|bottom
2942
+ * @param {Number} space
2943
+ * @returns {Number} start position in space.
2944
+ * @since 1.5.7
2945
+ * @public
2946
+ */
2947
+ p.reserveSpace = function(side, space){
2948
+ var sideSpace = side+'Space',
2949
+ pos = this[sideSpace];
2950
+
2951
+ this[sideSpace] += space;
2952
+
2953
+ this._updateSideMargins();
2954
+
2955
+ return pos;
2956
+ };
2957
+
2958
+ /**
2959
+ * returns the reserved space, it used by controls and called when aligned control hides
2960
+ * @param {String} side
2961
+ * @param {Number} space
2962
+ * @since 1.5.7
2963
+ * @public
2964
+ */
2965
+ /*p.returnSpace = function(side, space){
2966
+ var sideSpace = side+'Space';
2967
+ this[sideSpace] = Math.max(0 , this[sideSpace] - space);
2968
+
2969
+ this.api.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESERVED_SPACE_CHANGE));
2970
+ this._updateSideMargins();
2971
+ };*/
2972
+
2973
+ p._updateSideMargins = function(){
2974
+ this.$element.css('margin', this.topSpace + 'px ' + this.rightSpace + 'px ' + this.bottomSpace + 'px ' + this.leftSpace + 'px');
2975
+ }
2976
+
2977
+ p._realignControls = function(){
2978
+ this.rightSpace = this.leftSpace = this.topSpace = this.bottomSpace = 0;
2979
+ this._updateSideMargins();
2980
+ this.api.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESERVED_SPACE_CHANGE));
2981
+ };
2982
+
2983
+ /*------------------------- Public Methods -----------------------*/
2984
+
2985
+ /**
2986
+ * Adds new control to the slider
2987
+ * @param {String} control
2988
+ * @param {Object} options [description]
2989
+ * @since 1.0
2990
+ * @public
2991
+ */
2992
+ p.control = function(control , options){
2993
+ if(!(control in MSSlideController.SliderControlList)) return;
2994
+ if(!this.controls) this.controls = [];
2995
+ var ins = new MSSlideController.SliderControlList[control](options);
2996
+ ins.slider = this;
2997
+ this.controls.push(ins);
2998
+
2999
+ return this;
3000
+ };
3001
+
3002
+ /**
3003
+ * Hold on slider from initialization
3004
+ * @since 2.9.6
3005
+ * @public
3006
+ */
3007
+ p.holdOn = function () {
3008
+ this._holdOn ++;
3009
+ };
3010
+
3011
+ /**
3012
+ * Let the slider to initialize
3013
+ * @since 2.9.6
3014
+ */
3015
+ p.release = function () {
3016
+ this._holdOn --;
3017
+ this._init();
3018
+ };
3019
+
3020
+ /**
3021
+ * setup slider
3022
+ * @param {String|jQuery object} id
3023
+ * @param {Object} options
3024
+ * @since 1.0
3025
+ * @public
3026
+ */
3027
+ p.setup = function(target , options){
3028
+ if(typeof target === 'string'){
3029
+ this.$element = $('#' + target);
3030
+ } else {
3031
+ this.$element = target.eq(0);
3032
+ }
3033
+
3034
+ //create a copy from slider markup, it will be used in destroy method.
3035
+ this.setupMarkup = this.$element.html();
3036
+
3037
+ if( this.$element.length === 0 ){
3038
+ //if(console) console.log('Master Slider Error: #'+id+' not found.');
3039
+ return;
3040
+ }
3041
+
3042
+ this.$element.addClass('master-slider').addClass('before-init');
3043
+
3044
+ // IE prefix class
3045
+ // add browser prefix class name
3046
+ if($.browser.msie){
3047
+ this.$element.addClass('ms-ie')
3048
+ .addClass('ms-ie' + $.browser.version.slice(0 , $.browser.version.indexOf('.')));
3049
+ } else if ( $.browser.webkit ) {
3050
+ this.$element.addClass('ms-wk');
3051
+ } else if ( $.browser.mozilla ) {
3052
+ this.$element.addClass('ms-moz');
3053
+ }
3054
+
3055
+
3056
+ // Android prefix class
3057
+ var ua = navigator.userAgent.toLowerCase();
3058
+ var isAndroid = ua.indexOf("android") > -1;
3059
+ if(isAndroid) {
3060
+ this.$element.addClass('ms-android');
3061
+ }
3062
+
3063
+ var that = this;
3064
+ $.extend(this.options, options);
3065
+
3066
+ this.aspect = this.options.width / this.options.height;
3067
+
3068
+ this.$loading = $('<div></div>').
3069
+ addClass('ms-loading-container').
3070
+ insertBefore(this.$element).
3071
+ append($('<div></div>').addClass('ms-loading'));
3072
+
3073
+ this.$loading.parent().css('position' , 'relative');
3074
+
3075
+ // old methods
3076
+ if(this.options.autofill){
3077
+ this.options.fullwidth = true;
3078
+ this.options.fullheight = true;
3079
+ }
3080
+
3081
+ if(this.options.fullheight){
3082
+ this.$element.addClass('ms-fullheight');
3083
+ }
3084
+
3085
+ //this._setupSliderLayout();
3086
+ this._resize();
3087
+
3088
+ // define slide controller and api
3089
+ this.slideController = new MSSlideController(this);
3090
+ this.api = this.slideController;
3091
+
3092
+ // setup plugins
3093
+ for ( var i = 0, l = MS._plugins.length; i !== l; i++ ) {
3094
+ var plugin = MS._plugins[i];
3095
+
3096
+ if ( this.options.disablePlugins.indexOf(plugin.name) === -1 ) {
3097
+ this.activePlugins.push(new plugin(this));
3098
+ }
3099
+ }
3100
+
3101
+ if ( this.options.forceInit ) {
3102
+ MasterSlider.addJQReadyErrorCheck( this );
3103
+ }
3104
+
3105
+ $(document).ready(function(){
3106
+ if ( !that.initialized ) {
3107
+ that._docReady = true;
3108
+ that._init();
3109
+ }
3110
+ });
3111
+
3112
+ return this;
3113
+ };
3114
+
3115
+ /**
3116
+ * destroy the slider instance
3117
+ * @param {Boolean} insertMarkup whether add slider markup after destroy.
3118
+ * @since 1.4
3119
+ * @public
3120
+ */
3121
+ p.destroy = function(insertMarkup){
3122
+
3123
+ // destroy active plugins
3124
+ for ( var i = 0, l = this.activePlugins.length; i !== l; i++ ) {
3125
+ this.activePlugins[i].destroy();
3126
+ }
3127
+
3128
+ if(this.controls){
3129
+ for( i = 0, l = this.controls.length; i !== l; i++ )
3130
+ this.controls[i].destroy();
3131
+ }
3132
+
3133
+ if(this.slideController) this.slideController._destroy();
3134
+
3135
+ if(this.$loading) this.$loading.remove();
3136
+
3137
+ if ( insertMarkup ) {
3138
+ this.$element.html(this.setupMarkup).css('visibility' , 'hidden');
3139
+ } else {
3140
+ this.$element.remove();
3141
+ }
3142
+
3143
+ var lo = this.options.layout;
3144
+ if( lo === 'fullscreen' || lo === 'fullwidth' ){
3145
+ $(window).unbind('resize', this._updateLayout);
3146
+ }
3147
+
3148
+ this.view = null;
3149
+ this.slides = null;
3150
+ this.options = null;
3151
+ this.slideController = null;
3152
+ this.api = null;
3153
+ this.resize_listener = null;
3154
+
3155
+
3156
+ this.activePlugins = null;
3157
+ };
3158
+
3159
+ })(jQuery);
3160
+
3161
+ /**
3162
+ * Master Slider jQuery Plugin
3163
+ * @author Averta
3164
+ */
3165
+ (function ( $, window, document, undefined ) {
3166
+
3167
+ var pluginName = "masterslider",
3168
+ defaults = {
3169
+ controls:{}
3170
+ };
3171
+
3172
+ function MasterSliderPlugin ( element, options ) {
3173
+ this.element = element;
3174
+ this.$element = $(element);
3175
+ this.settings = $.extend( {}, defaults, options );
3176
+ this._defaults = defaults;
3177
+ this._name = pluginName;
3178
+ this.init();
3179
+ }
3180
+
3181
+ $.extend(MasterSliderPlugin.prototype, {
3182
+ init : function () {
3183
+
3184
+ var self = this;
3185
+
3186
+ // create new instance form Master Slider
3187
+ this._slider = new MasterSlider();
3188
+
3189
+ // add controls
3190
+ for ( var control in this.settings.controls ){
3191
+ this._slider.control(control, this.settings.controls[control]);
3192
+ }
3193
+
3194
+ this._slider.setup(this.$element, this.settings);
3195
+
3196
+ // override api eventdisaptcher method
3197
+ var _superDispatch = this._slider.api.dispatchEvent;
3198
+ this._slider.api.dispatchEvent = function(event){
3199
+ self.$element.trigger(event.type);
3200
+ _superDispatch.call(this, event);
3201
+ };
3202
+
3203
+ },
3204
+
3205
+ api : function() {
3206
+ return this._slider.api;
3207
+ },
3208
 
3209
+ slider : function() {
3210
+ return this._slider;
3211
+ }
3212
+
3213
+ });
3214
+
3215
+ $.fn[pluginName] = function ( options ) {
3216
+ var args = arguments,
3217
+ plugin = 'plugin_' + pluginName;
3218
+
3219
+ // Is the first parameter an object (options), or was omitted,
3220
+ // instantiate a new instance of the plugin.
3221
+ if (options === undefined || typeof options === 'object') {
3222
+ return this.each(function () {
3223
+
3224
+ // Only allow the plugin to be instantiated once,
3225
+ // so we check that the element has no plugin instantiation yet
3226
+ if (!$.data(this, plugin)) {
3227
+ $.data(this, plugin, new MasterSliderPlugin( this, options ));
3228
+ }
3229
+ });
3230
+
3231
+ // If the first parameter is a string and it doesn't start
3232
+ // with an underscore or "contains" the `init`-function,
3233
+ // treat this as a call to a public method.
3234
+ } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
3235
+
3236
+ // Cache the method call
3237
+ // to make it possible
3238
+ // to return a value
3239
+ var returns;
3240
+
3241
+ this.each(function () {
3242
+ var instance = $.data(this, plugin);
3243
+
3244
+ // Tests that there's already a plugin-instance
3245
+ // and checks that the requested public method exists
3246
+ if (instance instanceof MasterSliderPlugin && typeof instance[options] === 'function') {
3247
+
3248
+ // Call the method of our plugin instance,
3249
+ // and pass it the supplied arguments.
3250
+ returns = instance[options].apply( instance, Array.prototype.slice.call( args, 1 ) );
3251
+ }
3252
+
3253
+ // Map slider api functions to slider jq plugin
3254
+ if ( instance instanceof MasterSliderPlugin && typeof instance._slider.api[options] === 'function' ) {
3255
+ returns = instance._slider.api[options].apply( instance._slider.api, Array.prototype.slice.call( args, 1 ) );
3256
+ }
3257
+
3258
+ // Allow instances to be destroyed via the 'destroy' method
3259
+ if (options === 'destroy') {
3260
+ $.data(this, plugin, null);
3261
+ }
3262
+ });
3263
+
3264
+ // If the earlier cached method
3265
+ // gives a value back return the value,
3266
+ // otherwise return this to preserve chainability.
3267
+ return returns !== undefined ? returns : this;
3268
+ }
3269
+ };
3270
+
3271
+ })( jQuery, window, document );
3272
+
3273
+ ;(function ( $, window, document, undefined ) {
3274
+ "use strict";
3275
+
3276
+ /* ------------------------------------------------------------------------------ */
3277
+
3278
+ var sliderInstances = [];
3279
+ MasterSlider.addJQReadyErrorCheck = function ( slider ) {
3280
+ sliderInstances.push( slider );
3281
+ };
3282
+
3283
+ var _ready = $.fn.ready,
3284
+ _onerror = window.onerror;
3285
+
3286
+ // override jQuery ready
3287
+ $.fn.ready = function() {
3288
+
3289
+ // override window on load event
3290
+ window.onerror = function() {
3291
+
3292
+ if ( sliderInstances.length !== 0 ) {
3293
+ for ( var i = 0, l = sliderInstances.length; i !== l; i++ ) {
3294
+ var slider = sliderInstances[i];
3295
+ if ( !slider.initialized ) {
3296
+ slider._docReady = true;
3297
+ slider._init();
3298
+ }
3299
+ }
3300
+ }
3301
+
3302
+ if ( _onerror ) {
3303
+ return _onerror.apply( this, arguments );
3304
+ }
3305
+
3306
+ return false;
3307
+ }
3308
+
3309
+ return _ready.apply( this, arguments );
3310
+ };
3311
+
3312
+ })(jQuery, window, document);
3313
+
3314
+ /* ================== bin-debug/js/lite/views/ViewEvents.js =================== */
3315
+ window.MSViewEvents = function (type, data){
3316
+ this.type = type;
3317
+ this.data = data;
3318
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3319
 
3320
+ MSViewEvents.SWIPE_START = 'swipeStart';
3321
+ MSViewEvents.SWIPE_END = 'swipeEnd';
3322
+ MSViewEvents.SWIPE_MOVE = 'swipeMove';
3323
+ MSViewEvents.SWIPE_CANCEL = 'swipeCancel';
3324
+ MSViewEvents.SCROLL = 'scroll';
3325
+ MSViewEvents.CHANGE_START = 'slideChangeStart';
3326
+ MSViewEvents.CHANGE_END = 'slideChangeEnd';
3327
+
3328
+ /* ================== bin-debug/js/lite/views/BasicView.js =================== */
3329
+ ;(function($){
3330
+
3331
+ "use strict";
3332
+
3333
+ window.MSBasicView = function(options){
3334
+
3335
+ this.options = {
3336
+ loop : false,
3337
+ dir : 'h',
3338
+ autoHeight : false,
3339
+ spacing : 5,
3340
+ mouseSwipe : true,
3341
+ swipe : true,
3342
+ speed : 17,
3343
+ minSlideSpeed : 2,
3344
+ viewNum : 20,
3345
+ critMargin : 1
3346
+ };
3347
+
3348
+ $.extend(this.options , options);
3349
+
3350
+ this.dir = this.options.dir;
3351
+ this.loop = this.options.loop;
3352
+ this.spacing = this.options.spacing;
3353
+
3354
+ this.__width = 0;
3355
+ this.__height = 0;
3356
+
3357
+ this.__cssProb = this.dir === 'h' ? 'left' : 'top';
3358
+ this.__offset = this.dir === 'h' ? 'offsetLeft' : 'offsetTop';
3359
+ this.__dimension = this.dir === 'h' ? '__width' : '__height';
3360
+
3361
+ this.__translate_end = window._css3d ? ' translateZ(0px)' : '';
3362
+
3363
+ this.$slideCont = $('<div></div>').addClass('ms-slide-container');
3364
+ this.$element = $('<div></div>').addClass('ms-view').addClass('ms-basic-view').append(this.$slideCont);
3365
+
3366
+ this.currentSlide = null;
3367
+ this.index = -1;
3368
+ this.slidesCount = 0;
3369
+
3370
+ this.slides = [];
3371
+ this.slideList = []; // All of slides with added priority sort;
3372
+ this.viewSlidesList = [];
3373
+
3374
+ this.css3 = window._cssanim;
3375
+ this.start_buffer = 0;
3376
+ this.firstslide_snap = 0;
3377
+
3378
+ this.slideChanged = false;
3379
+
3380
+ this.controller = new Controller(0 , 0 , {
3381
+ snapping : true,
3382
+ snapsize : 100,
3383
+ paging : true,
3384
+ snappingMinSpeed : this.options.minSlideSpeed,
3385
+ friction : (100 - this.options.speed * 0.5) / 100,
3386
+ endless : this.loop
3387
+ });
3388
+
3389
+ this.controller.renderCallback(this.dir === 'h'? this._horizUpdate : this._vertiUpdate , this);
3390
+ this.controller.snappingCallback(this.__snapUpdate , this);
3391
+ this.controller.snapCompleteCallback(this.__snapCompelet , this);
3392
+
3393
+ averta.EventDispatcher.call(this);
3394
+ };
3395
+
3396
+ var p = MSBasicView.prototype;
3397
+
3398
+ /*-------------- METHODS --------------*/
3399
+
3400
+ p.__snapCompelet = function(snap , type){
3401
+ // if(this.loop && Math.abs(this.__contPos) > 20000){
3402
+ // this.__locateSlides();
3403
+ // this.gotoSlide(this.index , true);
3404
+ // }
3405
+ //
3406
+
3407
+ if ( !this.slideChanged ) {
3408
+ return;
3409
+ }
3410
+
3411
+ this.slideChanged = false;
3412
+
3413
+ this.__locateSlides();
3414
+ this.start_buffer = 0;
3415
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_END));
3416
+ };
3417
+
3418
+ p.__snapUpdate = function(controller , snap , change){
3419
+
3420
+ if(this.loop){
3421
+ var target_index = this.index + change;
3422
+ this.updateLoop(target_index);
3423
+
3424
+ if(target_index >= this.slidesCount) target_index = target_index - this.slidesCount;
3425
+ if(target_index < 0) target_index = this.slidesCount + target_index;
3426
+
3427
+ this.index = target_index;
3428
+ }else{
3429
+ if(snap < 0 || snap >= this.slidesCount) return
3430
+ this.index = snap;
3431
+ }
3432
+
3433
+ this._checkCritMargins();
3434
+
3435
+ if($.browser.mozilla){
3436
+ this.slideList[this.index].$element[0].style.marginTop = '0.1px';
3437
+ if(this.currentSlide){
3438
+ this.currentSlide.$element[0].style.marginTop = '';
3439
+ }
3440
+ }
3441
+ var new_slide = this.slideList[this.index];
3442
+ if(new_slide === this.currentSlide)return;
3443
+ this.currentSlide = new_slide;
3444
+
3445
+ if ( this.autoUpdateZIndex ) {
3446
+ this.__updateSlidesZindex();
3447
+ }
3448
+
3449
+ this.slideChanged = true;
3450
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_START));
3451
+ };
3452
+
3453
+
3454
+ p._checkCritMargins = function(){
3455
+ if(this.normalMode) return;
3456
+
3457
+ var hlf = Math.floor(this.options.viewNum / 2),
3458
+ inView = this.viewSlidesList.indexOf(this.slideList[this.index]),
3459
+ size = (this[this.__dimension] + this.spacing),
3460
+ cm = this.options.critMargin;
3461
+
3462
+ if(this.loop){
3463
+ if(inView <= cm || inView >= this.viewSlidesList.length - cm){
3464
+ size *= (inView - hlf);
3465
+ this.__locateSlides(false , size + this.start_buffer );
3466
+ this.start_buffer += size;
3467
+ }
3468
+
3469
+ return;
3470
+ }
3471
+
3472
+ if( (inView < cm && this.index >= cm ) || (inView >= this.viewSlidesList.length - cm && this.index < this.slidesCount - cm)){
3473
+ this.__locateSlides(false);
3474
+ }
3475
+
3476
+ };
3477
+
3478
+
3479
+ p._vertiUpdate = function(controller , value){
3480
+
3481
+ this.__contPos = value;
3482
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SCROLL));
3483
+
3484
+ if(this.css3){
3485
+ this.$slideCont[0].style[window._jcsspfx + 'Transform'] = 'translateY('+-value+'px)' + this.__translate_end;
3486
+ return;
3487
+ }
3488
+
3489
+ this.$slideCont[0].style.top = -value + 'px';
3490
+
3491
+ };
3492
+
3493
+ p._horizUpdate = function(controller , value){
3494
+
3495
+ this.__contPos = value;
3496
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SCROLL));
3497
+
3498
+ if(this.css3) {
3499
+ this.$slideCont[0].style[window._jcsspfx + 'Transform'] = 'translateX('+-value+'px)'+ this.__translate_end;
3500
+ return;
3501
+ }
3502
+
3503
+ this.$slideCont[0].style.left = -value + 'px';
3504
+
3505
+ };
3506
+
3507
+
3508
+ p.__updateViewList = function(){
3509
+
3510
+ if(this.normalMode) {
3511
+ this.viewSlidesList = this.slides;
3512
+ return;
3513
+ }
3514
+
3515
+ var temp = this.viewSlidesList.slice();
3516
+
3517
+ // update view list
3518
+ this.viewSlidesList = [];
3519
+ var i = 0 , hlf = Math.floor(this.options.viewNum / 2) , l;
3520
+
3521
+ if(this.loop){
3522
+ for(; i !== this.options.viewNum ; i++)
3523
+ this.viewSlidesList.push(this.slides[this.currentSlideLoc - hlf + i]);
3524
+ }else{
3525
+ // before
3526
+ for(i = 0 ; i !== hlf && this.index - i !== -1 ; i++)
3527
+ this.viewSlidesList.unshift(this.slideList[this.index - i]);
3528
+ // after
3529
+ for(i = 1; i !== hlf && this.index + i !== this.slidesCount; i++)
3530
+ this.viewSlidesList.push(this.slideList[this.index + i]);
3531
+ }
3532
+
3533
+ for (i = 0 , l = temp.length ; i !== l ; i++)
3534
+ if( this.viewSlidesList.indexOf(temp[i]) === -1)
3535
+ temp[i].sleep();
3536
+
3537
+ temp = null;
3538
+
3539
+ if( this.currentSlide ) {
3540
+ this.__updateSlidesZindex();
3541
+ }
3542
+ };
3543
+
3544
+ p.__locateSlides = function(move , start){
3545
+
3546
+ this.__updateViewList();
3547
+
3548
+ start = !this.loop ? this.slides.indexOf(this.viewSlidesList[0]) * (this[this.__dimension] + this.spacing ) : start || 0;
3549
+
3550
+ // old method
3551
+ /*for(i = 0; i < this.slidesCount ; ++i){
3552
+ var pos = i * (this[this.__dimension] + this.spacing);
3553
+
3554
+ this.slides[i].position = pos;
3555
+ this.slides[i].$element[0].style[this.__cssProb] = pos + 'px';
3556
+ }*/
3557
+
3558
+ var l = this.viewSlidesList.length , slide;
3559
+
3560
+ for(var i = 0; i !== l ; i++){
3561
+ var pos = start + i * (this[this.__dimension] + this.spacing );
3562
+ slide = this.viewSlidesList[i];
3563
+ slide.wakeup();
3564
+ slide.position = pos;
3565
+ slide.$element[0].style[this.__cssProb] = pos + 'px';
3566
+ }
3567
+
3568
+ if(move !== false)this.controller.changeTo( this.slideList[this.index].position , false , null , null , false);
3569
+
3570
+ };
3571
+
3572
+ p.__createLoopList = function(){
3573
+ var return_arr = [];
3574
+ var i = 0,
3575
+ count = this.slidesCount / 2;
3576
+
3577
+ var before_count = (this.slidesCount % 2 === 0)? count - 1 : Math.floor(count);
3578
+ var after_count = (this.slidesCount % 2 === 0)? count : Math.floor(count);
3579
+
3580
+ this.currentSlideLoc = before_count;
3581
+
3582
+ // before
3583
+ for(i = 1 ; i <= before_count ; ++i)
3584
+ return_arr.unshift(this.slideList[(this.index - i < 0)? this.slidesCount - i + this.index: this.index - i]);
3585
+
3586
+ // current
3587
+ return_arr.push(this.slideList[this.index]);
3588
+
3589
+ // after
3590
+ for(i = 1; i <= after_count; ++i)
3591
+ return_arr.push(this.slideList[(this.index + i >= this.slidesCount)? this.index + i - this.slidesCount : this.index + i]);
3592
+
3593
+ return return_arr;
3594
+
3595
+ };
3596
+
3597
+ /*
3598
+ * Calculate shortest distance from index to target.
3599
+ * It will used in loop gesture.
3600
+ *
3601
+ * Negative values means left direction.
3602
+ */
3603
+
3604
+ p.__getSteps = function(index , target){
3605
+ var right = (target < index)? this.slidesCount - index + target : target - index;
3606
+ var left = Math.abs(this.slidesCount - right);
3607
+
3608
+ return (right < left)? right : -left;
3609
+ };
3610
+
3611
+ p.__pushEnd = function(){
3612
+ var first_slide = this.slides.shift();
3613
+ var last_slide = this.slides[this.slidesCount - 2];
3614
+
3615
+ this.slides.push(first_slide);
3616
+
3617
+ if(!this.normalMode) return;
3618
+
3619
+ var pos = last_slide.$element[0][this.__offset] + this.spacing + this[this.__dimension];
3620
+ first_slide.$element[0].style[this.__cssProb] = pos + 'px';
3621
+ first_slide.position = pos;
3622
+ };
3623
+
3624
+ p.__pushStart = function(){
3625
+ var last_slide = this.slides.pop();
3626
+ var first_slide = this.slides[0];
3627
+
3628
+ this.slides.unshift(last_slide);
3629
+
3630
+ if(!this.normalMode) return;
3631
+
3632
+ var pos = first_slide.$element[0][this.__offset] - this.spacing - this[this.__dimension];
3633
+ last_slide.$element[0].style[this.__cssProb] = pos + 'px';
3634
+ last_slide.position = pos;
3635
+ };
3636
+
3637
+ // @since 1.7.0
3638
+ // adds z-index to slides
3639
+ p.__updateSlidesZindex = function(){
3640
+
3641
+
3642
+ var slide,
3643
+ l = this.viewSlidesList.length,
3644
+ hlf = Math.floor( l/2 );
3645
+
3646
+ if( this.loop ){
3647
+ var loc = this.viewSlidesList.indexOf(this.currentSlide);
3648
+ for ( var i = 0; i!==l; i++ ){
3649
+ slide = this.viewSlidesList[i];
3650
+ this.viewSlidesList[i].$element.css('z-index', i<=loc ? i+1 : l-i);
3651
+ }
3652
+ } else {
3653
+
3654
+ var beforeNum = this.currentSlide.index - this.viewSlidesList[0].index,
3655
+ afterNum = l - beforeNum,
3656
+ diff = beforeNum - afterNum;
3657
+
3658
+ for ( var i = 0; i!==l; i++ ){
3659
+ this.viewSlidesList[i].$element.css('z-index', i<=beforeNum ? i+1 : l-i);
3660
+ }
3661
+
3662
+ this.currentSlide.$element.css('z-index', l);
3663
+ }
3664
+
3665
+ };
3666
+
3667
+ p.addSlide = function(slide){
3668
+ slide.view = this;
3669
+ this.slides.push(slide);
3670
+ this.slideList.push(slide);
3671
+ this.slidesCount++;
3672
+ };
3673
+
3674
+ p.appendSlide = function(slide){
3675
+ this.$slideCont.append(slide.$element);
3676
+ };
3677
+
3678
+ p.updateLoop = function(index){
3679
+ if(this.loop){
3680
+ var steps = this.__getSteps(this.index , index);
3681
+
3682
+ for(var i = 0 , l = Math.abs(steps) ; i < l ; ++ i){
3683
+ if(steps < 0) this.__pushStart();
3684
+ else this.__pushEnd();
3685
+ }
3686
+ }
3687
+ };
3688
+
3689
+ p.gotoSlide = function(index , fast){
3690
+ this.updateLoop(index);
3691
+ this.index = index;
3692
+
3693
+ var target_slide = this.slideList[index];
3694
+
3695
+ this._checkCritMargins();
3696
+
3697
+ this.controller.changeTo( target_slide.position , !fast , null , null , false);
3698
+ if(target_slide === this.currentSlide) return;
3699
+ this.slideChanged = true;
3700
+ this.currentSlide = target_slide;
3701
+
3702
+ if ( this.autoUpdateZIndex ) {
3703
+ this.__updateSlidesZindex();
3704
+ }
3705
+
3706
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_START));
3707
+ if(fast)this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_END));
3708
+ };
3709
+
3710
+ p.next = function(checkLoop){
3711
+ if ( checkLoop && !this.loop && this.index + 1 >= this.slidesCount ) {
3712
+ this.controller.bounce(10);
3713
+ return;
3714
+ }
3715
+
3716
+ this.gotoSlide((this.index + 1 >= this.slidesCount)? 0 : this.index + 1);
3717
+ };
3718
+
3719
+ p.previous = function(checkLoop){
3720
+ if ( checkLoop && !this.loop && this.index - 1 < 0 ) {
3721
+ this.controller.bounce(-10);
3722
+ return;
3723
+ }
3724
+
3725
+ this.gotoSlide((this.index - 1 < 0)? this.slidesCount - 1 : this.index - 1);
3726
+ };
3727
+
3728
+ /* --------------- Swipe control ------------------*/
3729
+
3730
+ p.setupSwipe = function(){
3731
+
3732
+ this.swipeControl = new averta.TouchSwipe(this.$element);
3733
+ this.swipeControl.swipeType = this.dir === 'h'? 'horizontal' : 'vertical';
3734
+ var that = this;
3735
+
3736
+ if(this.dir === 'h'){
3737
+ this.swipeControl.onSwipe = function(status){
3738
+ that.horizSwipeMove(status);
3739
+ };
3740
+ }else{
3741
+ this.swipeControl.onSwipe = function(status){
3742
+ that.vertSwipeMove(status);
3743
+ };
3744
+ }
3745
+
3746
+ };
3747
+
3748
+ p.vertSwipeMove = function(status){
3749
+ var phase = status.phase;
3750
+ if(phase === 'start'){
3751
+ this.controller.stop();
3752
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_START, status));
3753
+ }else if(phase === 'move' && (!this.loop || Math.abs(this.currentSlide.position - this.controller.value + status.moveY ) < this.cont_size / 2)){
3754
+ this.controller.drag(status.moveY);
3755
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_MOVE, status));
3756
+ }else if(phase === 'end' || phase === 'cancel'){
3757
+
3758
+ var speed = status.distanceY / status.duration * 50/3,
3759
+ speedh = Math.abs( status.distanceY / status.duration * 50/3 );
3760
+
3761
+ if ( Math.abs(speed) > 0.1 && Math.abs(speed) >= speedh ){
3762
+ this.controller.push(-speed);
3763
+ if(speed > this.controller.options.snappingMinSpeed)
3764
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_END, status));
3765
+ }else {
3766
+ this.controller.cancel();
3767
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_CANCEL, status));
3768
+ }
3769
+
3770
+ }
3771
+ };
3772
+
3773
+ p.horizSwipeMove = function(status){
3774
+ var phase = status.phase;
3775
+
3776
+ if(phase === 'start'){
3777
+ this.controller.stop();
3778
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_START, status));
3779
+ }else if(phase === 'move' && (!this.loop || Math.abs(this.currentSlide.position - this.controller.value + status.moveX ) < this.cont_size / 2)){
3780
+ this.controller.drag(status.moveX);
3781
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_MOVE, status));
3782
+ }else if(phase === 'end' || phase === 'cancel'){
3783
+
3784
+ var speed = status.distanceX / status.duration * 50/3,
3785
+ speedv = Math.abs( status.distanceY / status.duration * 50/3 );
3786
+
3787
+ if ( Math.abs(speed) > 0.1 && Math.abs(speed) >= speedv ) {
3788
+ this.controller.push(-speed );
3789
+ if(speed > this.controller.options.snappingMinSpeed)
3790
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_END, status));
3791
+ }else{
3792
+ this.controller.cancel();
3793
+ this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_CANCEL, status));
3794
+ }
3795
+
3796
+ }
3797
+ };
3798
+
3799
+ /* ------------------------------------------------*/
3800
+
3801
+ p.setSize = function(width , height , hard){
3802
+ if(this.lastWidth === width && height === this.lastHeight && !hard) return;
3803
+
3804
+ this.$element.width(width).height(height);
3805
+
3806
+ for(var i = 0; i < this.slidesCount ; ++i)
3807
+ this.slides[i].setSize(width , height , hard);
3808
+
3809
+ this.__width = width;
3810
+ this.__height = height;
3811
+
3812
+ if(this.__created){
3813
+ this.__locateSlides();
3814
+
3815
+ this.cont_size = (this.slidesCount - 1) * (this[this.__dimension] + this.spacing);
3816
+ if(!this.loop) this.controller._max_value = this.cont_size;
3817
+
3818
+ this.controller.options.snapsize = this[this.__dimension] + this.spacing;
3819
+ this.controller.changeTo(this.currentSlide.position , false , null , null , false );
3820
+ this.controller.cancel();
3821
+
3822
+ this.lastWidth = width;
3823
+ this.lastHeight = height;
3824
+ }
3825
+ };
3826
+
3827
+ p.create = function(index){
3828
+
3829
+ this.__created = true;
3830
+
3831
+ this.index = Math.min((index || 0), this.slidesCount - 1);
3832
+ this.lastSnap = this.index; // it will be used to check snap changed or not on snap complete
3833
+
3834
+ if(this.loop)
3835
+ this.slides = this.__createLoopList();
3836
+
3837
+ this.normalMode = this.slidesCount <= this.options.viewNum;
3838
+
3839
+ for(var i = 0; i < this.slidesCount ; ++i)
3840
+ this.slides[i].create();
3841
+
3842
+ this.__locateSlides();
3843
+
3844
+ this.controller.options.snapsize = this[this.__dimension] + this.spacing;
3845
+ if(!this.loop) this.controller._max_value = (this.slidesCount - 1) * (this[this.__dimension] + this.spacing);
3846
+
3847
+ this.gotoSlide(this.index , true);
3848
+
3849
+ if(this.options.swipe && (window._touch || this.options.mouseSwipe))
3850
+ this.setupSwipe();
3851
+
3852
+ };
3853
+
3854
+ p.destroy = function(){
3855
+ if(!this.__created) return;
3856
+
3857
+ for(var i = 0; i < this.slidesCount ; ++i)
3858
+ this.slides[i].destroy();
3859
+
3860
+ this.slides = null;
3861
+ this.slideList = null;
3862
+ this.$element.remove();
3863
+
3864
+ this.controller.destroy();
3865
+ this.controller = null;
3866
+ };
3867
+
3868
+ averta.EventDispatcher.extend(p);
3869
+
3870
+ MSSlideController.registerView('basic' , MSBasicView);
3871
+
3872
  })(jQuery);
3873
 
3874
  /* ================== bin-debug/js/lite/views/FadeView.js =================== */
5270
  MSSlideController.registerControl('slideinfo' , MSSlideInfo);
5271
  })(jQuery);
5272
 
5273
+ /* ================== bin-debug/js/lite/plugins/MSStartOnAppear.js =================== */
5274
  /**
5275
  * Start on appear plugin for Master Slider.
5276
  *
5333
  MasterSlider.registerPlugin( StartOnAppear );
5334
 
5335
  })(jQuery, document, window);
5336
+
5337
+ /* ================== bin-debug/js/lite/plugins/MSReadyCheck.js =================== */
5338
+ ;(function ( $, window, document, undefined ) {
5339
+ "use strict";
5340
+
5341
+ // sample of using MSReady
5342
+ // ( window.MSReady = MSReady || [] ).push( function( jQuery ) {
5343
+
5344
+ // });
5345
+
5346
+ if ( window.MSReady ) {
5347
+ for ( var i = 0, l = MSReady.length; i !== l; i++ ) {
5348
+ MSReady[i].call( null, $ );
5349
+ }
5350
+ }
5351
+ })(jQuery, window, document);
5352
  /**
5353
  * Addon file, it will be appended to master slider front-end main js file.
5354
  */
public/assets/js/masterslider.lite.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"masterslider.lite.min.js","sources":["masterslider.lite.js"],"names":["window","averta","$","getVendorPrefix","arguments","callee","result","regex","someScript","document","getElementsByTagName","prop","style","test","match","checkStyleValue","b","body","documentElement","s","p","v","charAt","toUpperCase","substr","i","length","supportsTransitions","supportsTransforms","supports3DTransforms","has3d","el","createElement","transforms","WebkitTransform","OTransform","MSTransform","msTransform","MozTransform","Transform","transform","display","insertBefore","t","undefined","getComputedStyle","getPropertyValue","removeChild","name","extend","target","object","key","Function","prototype","superclass","constructor","this","trans","Moz","Webkit","Khtml","O","ms","Icab","_mobile","navigator","userAgent","_touch","ready","_jcsspfx","_csspfx","_cssanim","_css3d","_css2d","parseQueryString","url","queryString","replace","RegExp","$0","$1","$2","$3","fps60","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","callback","setTimeout","re","currentStyle","Array","indexOf","elt","len","from","Number","Math","ceil","floor","isMSIE","version","browser","msie","ieVer","slice","eval","removeDataAttrs","$target","exclude","attrName","dataAttrsToDelete","dataAttrs","attributes","dataAttrsLen","substring","push","each","index","removeAttr","jQuery","jqLoadFix","complete","that","load","uaMatch","ua","toLowerCase","exec","matched","chrome","webkit","safari","isIE11","mozilla","fn","preloadImg","src","_event","$this","self","img","Image","onload","event","attr","width","height","data","call","EventDispatcher","listeners","_proto","instance","addEventListener","listener","ref","removeEventListener","splice","dispatchEvent","type","l","isTouch","isPointer","pointerEnabled","isMSPoiner","msPointerEnabled","usePointer","ev_start","ev_move","ev_end","ev_cancel","TouchSwipe","$element","enabled","bind","__touchStart","swipe","onSwipe","swipeType","noSwipeSelector","lastStatus","getDirection","new_x","new_y","start_x","start_y","abs","priventDefultEvent","dx","dy","horiz","createStatusObject","evt","temp_x","temp_y","status_data","distanceX","distanceY","pageX","pageY","moveX","moveY","distance","parseInt","sqrt","pow","duration","Date","getTime","start_time","direction","__reset","jqevt","reset","touches","closest","originalEvent","css","error","touchStarted","__touchEnd","__touchMove","__touchCancel","status","phase","preventDefault","clearTimeout","timo","priventEvt","unbind","speed","enable","disable","Ticker","st","list","__stopped","add","start","remove","stop","__tick","item","now","Timer","delay","autoStart","currentCount","paused","onTimer","refrence","lastTime","update","CSSTween","element","ease","to","to_cb","to_cb_target","fr_cb","fr_cb_target","onComplete","oc_fb","oc_fb_target","chain","csstween","chained_tween","start_to","end_to","fresh","onTransComplete","transProperty","transPos","properties","x","y","posx","posy","CTween","setPos","pos","animate","options","tween","EaseDic","onCl","fadeOut","opacity","fadeIn","linear","easeIn","easeOut","easeInOut","easeInCubic","easeOutCubic","easeInOutCubic","easeInCirc","easeOutCirc","easeInOutCirc","easeInExpo","easeOutExpo","easeInOutExpo","easeInQuad","easeOutQuad","easeInOutQuad","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInBack","easeOutBack","easeInOutBack","MSAligner","$container","$img","widthOnly","heightOnly","init","w","h","baseWidth","baseHeight","imgRatio","imgRatio2","backgroundPosition","backgroundRepeat","needAlign","align","cont_w","cont_h","contRatio","setMargin","offsetHeight","offsetWidth","_options","bouncing","snapping","snapsize","friction","outFriction","outAcceleration","minValidDist","snappingMinSpeed","paging","endless","maxSpeed","Controller","min","max","Error","_max_value","_min_value","value","end_loc","current_snap","getSnapNum","__extrStep","__extraMove","__animID","changeTo","snap_num","dispatch","stopped","_internalStop","_checkLimits","_callsnapChange","animating","active_id","amplitude","timeStep","targetPosition","animFrict","timeconst","tick","dis","_callrenderer","_callonComplete","exp","drag","move","start_drag","drag_start_loc","_deceleration","__isout","cancel","__speed","__startSpeed","_calculateEnd","snap_loc","end_snap","gotoSnap","__needsSnap","_calculateExtraMove","_startDecelaration","bounce","renderCallback","__renderHook","fun","snappingCallback","__snapHook","snapCompleteCallback","__compHook","nextSnap","curr_snap","prevSnap","destroy","m","step","temp_speed","temp_value","targetSnap","_computeDeceleration","xtr_move","out_value","round","MSSliderEvent","CHANGE_START","CHANGE_END","WAITING","AUTOPLAY_CHANGE","VIDEO_PLAY","VIDEO_CLOSE","INIT","HARD_UPDATE","RESIZE","RESERVED_SPACE_CHANGE","DESTROY","MSSlide","$loading","addClass","view","__width","__height","fillMode","selected","pselected","autoAppend","isSleeping","moz","onSwipeStart","link","linkdis","video","videodis","onSwipeMove","e","swipeMoved","onSwipeCancel","assetsLoaded","slider","api","_startTimer","setupBG","preload","slideList","loadImages","_removeLoading","setBG","hasBG","$imgcont","append","$bg_img","bgAligner","autoHeight","setHeight","bg_src","one","_onBGLoad","initBG","bgLoaded","bgWidth","bgNatrualWidth","bgHeight","bgNatrualHeight","ratio","setSize","getHeight","ls","hasLayers","on","layerController","clientHeight","__playVideo","vplayed","pause","roc","vcbtn","vpbtn","vframe","swipeControl","slideController","__closeVideo","resume","removeClass","create","html","click","appendTo","parent","sleep","prepareToSelect","MSViewEvents","SWIPE_START","SWIPE_MOVE","SWIPE_CANCEL","select","videoAutoPlay","trigger","unselect","force","detach","onSlideSleep","wakeup","$slideCont","onSlideWakeup","SliderViewList","MSSlideController","_delayProgress","_timer","currentSlide","so","registerView","_class","SliderControlList","registerControl","setupView","resize_listener","__resize","viewOptions","spacing","space","mouseSwipe","mouse","loop","dir","viewNum","inView","critMargin","heightLimit","viewClass","MSBasicView","_3dreq","_fallback","overPause","mouseenter","is_over","_stopTimer","mouseleave","onChangeStart","change_started","endPause","slides","skipTimer","deepLink","__updateWindowHash","onChangeEnd","loc","slide","next","hideCalled","hideLayers","animHideLayers","__appendSlides","detached","appendSlide","hard","created","clientWidth","fullwidth","aspect","minHeight","$controlsCont","centerControls","__dispatchInit","setup","autoplay","startSlide","scroller","controller","wheel","last_time","wheellistener","orginalEvent","current_time","delta","detail","wheelDelta","scrollThreshold","previous","init_safemode","count","slidesCount","checkLoop","gotoSlide","_destroy","runAction","action","actionParams","temp","split","apply","console","locate","currentTime","MasterSlider","grabCursor","smoothHeight","fullheight","autofill","layersMode","shuffle","layout","autofillTarget","fullscreenMargin","instantStartLayers","parallaxMode","rtl","deepLinkType","disablePlugins","activePlugins","lastMargin","leftSpace","topSpace","rightSpace","bottomSpace","_holdOn","_resize","author","releaseDate","_plugins","MS","registerPlugin","plugin","__setupSlides","new_slide","ind","children","$slide_ele","slide_img","controls","slideAction","getAttribute","hasClass","addSlide","_shuffleSlides","r","random","_setupSliderLayout","_updateSideMargins","lo","_updateLayout","$win","margin","offset","left","_init","_docReady","initialized","prepend","$msContainer","prependTo","$view","mousedown","ms_grabbing_curosr","cursor","mouseup","ms_grab_curosr","htween","reserveSpace","side","sideSpace","_realignControls","control","ins","holdOn","release","eq","setupMarkup","isAndroid","insertMarkup","MasterSliderPlugin","settings","defaults","_defaults","_name","pluginName","_slider","_superDispatch","args","returns","SWIPE_END","SCROLL","minSlideSpeed","__cssProb","__offset","__dimension","__translate_end","viewSlidesList","css3","start_buffer","firstslide_snap","slideChanged","_horizUpdate","_vertiUpdate","__snapUpdate","__snapCompelet","__locateSlides","snap","change","target_index","updateLoop","_checkCritMargins","marginTop","autoUpdateZIndex","__updateSlidesZindex","normalMode","hlf","size","cm","__contPos","top","__updateViewList","currentSlideLoc","unshift","position","__createLoopList","return_arr","before_count","after_count","__getSteps","right","__pushEnd","first_slide","shift","last_slide","__pushStart","pop","beforeNum","steps","fast","target_slide","setupSwipe","horizSwipeMove","vertSwipeMove","cont_size","lastWidth","lastHeight","__created","lastSnap","MSFadeView","__update","_super","cont_scroll","__updateSlides","fadeTo","BaseControl","prefix","autohide","overVideo","customClass","cont","insertTo","_hideOnvideoStarts","checkHideUnder","hideUnder","needsRealign","insetTo","inset","onResize","innerWidth","hide","onDetach","visible","onAppend","proxy","_onMouseEnter","_onMouseLeave","_onMouseDown","_onMouseUp","_disableAH","mdown","mleave","hideTo","MSArrows","$next","$prev","MSThumblist","arrows","hover","thumbs","index_count","__dimen","__alignsize","__jdimen","__pos","click_enable","$thumbscont","$fwd","$bwd","margin-bottom","margin-top","thumb_ele","find","thumb_frame","changeSlide","is","aligner","_hMove","_vMove","thumbSize","realignThumbs","cindex","dTouch","nindex","updateThumbscroll","thumb","NaN","first_snap","ele","MSBulltes","bullets","$bullet_cont","bullet","outerWidth","outerHeight","MSScrollbar","color","__translate_start","$bar","bottom","_update","vdimen","bar_dimen","lvalue","hto","MSTimerbar","MSCircleTimer","stroke","radius","$canvas","getContext","ctx","prog","__w","_draw","clearRect","beginPath","arc","PI","strokeStyle","lineWidth","MSSlideInfo","data_list","fadeDuratation","info_ele","switchEle","current_ele","__show","tou","PId","$window","$doc","StartOnAppear","$slider","startOnAppear","_onScroll","vpBottom","scrollTop","off"],"mappings":"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"}
1
+ {"version":3,"file":"masterslider.lite.min.js","sources":["masterslider.lite.js"],"names":["window","averta","$","getVendorPrefix","arguments","callee","result","regex","someScript","document","getElementsByTagName","prop","style","test","match","checkStyleValue","b","body","documentElement","s","p","v","charAt","toUpperCase","substr","i","length","supportsTransitions","supportsTransforms","supports3DTransforms","has3d","el","createElement","transforms","WebkitTransform","OTransform","MSTransform","msTransform","MozTransform","Transform","transform","display","insertBefore","t","undefined","getComputedStyle","getPropertyValue","removeChild","name","extend","target","object","key","Function","prototype","superclass","constructor","this","trans","Moz","Webkit","Khtml","O","ms","Icab","_mobile","navigator","userAgent","_touch","ready","_jcsspfx","_csspfx","_cssanim","_css3d","_css2d","parseQueryString","url","queryString","replace","RegExp","$0","$1","$2","$3","fps60","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","callback","setTimeout","re","currentStyle","Array","indexOf","elt","len","from","Number","Math","ceil","floor","isMSIE","version","browser","msie","ieVer","slice","eval","removeDataAttrs","$target","exclude","attrName","dataAttrsToDelete","dataAttrs","attributes","dataAttrsLen","substring","push","each","index","removeAttr","jQuery","jqLoadFix","complete","that","load","uaMatch","ua","toLowerCase","exec","matched","chrome","webkit","safari","isIE11","mozilla","fn","preloadImg","src","_event","$this","self","img","Image","onload","event","attr","width","height","data","call","EventDispatcher","listeners","_proto","instance","addEventListener","listener","ref","removeEventListener","splice","dispatchEvent","type","l","isTouch","isPointer","pointerEnabled","isMSPoiner","msPointerEnabled","usePointer","ev_start","ev_move","ev_end","ev_cancel","TouchSwipe","$element","enabled","bind","__touchStart","swipe","onSwipe","swipeType","noSwipeSelector","lastStatus","getDirection","new_x","new_y","start_x","start_y","abs","priventDefultEvent","dx","dy","horiz","createStatusObject","evt","temp_x","temp_y","status_data","distanceX","distanceY","pageX","pageY","moveX","moveY","distance","parseInt","sqrt","pow","duration","Date","getTime","start_time","direction","__reset","jqevt","reset","point","__getPoint","closest","originalEvent","css","error","touchStarted","__touchEnd","__touchMove","__touchCancel","status","phase","preventDefault","clearTimeout","timo","priventEvt","unbind","speed","jqEvent","touches","enable","disable","Ticker","st","list","__stopped","add","start","remove","stop","__tick","item","now","Timer","delay","autoStart","currentCount","paused","onTimer","refrence","lastTime","update","CSSTween","element","ease","to","to_cb","to_cb_target","fr_cb","fr_cb_target","onComplete","oc_fb","oc_fb_target","chain","csstween","chained_tween","start_to","end_to","fresh","onTransComplete","transProperty","transPos","properties","x","y","posx","posy","CTween","setPos","pos","animate","options","tween","EaseDic","onCl","fadeOut","opacity","fadeIn","linear","easeIn","easeOut","easeInOut","easeInCubic","easeOutCubic","easeInOutCubic","easeInCirc","easeOutCirc","easeInOutCirc","easeInExpo","easeOutExpo","easeInOutExpo","easeInQuad","easeOutQuad","easeInOutQuad","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInBack","easeOutBack","easeInOutBack","MSAligner","$container","$img","widthOnly","heightOnly","init","w","h","baseWidth","baseHeight","imgRatio","imgRatio2","backgroundPosition","backgroundRepeat","needAlign","align","cont_w","cont_h","contRatio","setMargin","offsetHeight","offsetWidth","_options","bouncing","snapping","snapsize","friction","outFriction","outAcceleration","minValidDist","snappingMinSpeed","paging","endless","maxSpeed","Controller","min","max","Error","_max_value","_min_value","value","end_loc","current_snap","getSnapNum","__extrStep","__extraMove","__animID","changeTo","snap_num","dispatch","stopped","_internalStop","_checkLimits","_callsnapChange","animating","active_id","amplitude","timeStep","targetPosition","animFrict","timeconst","tick","dis","_callrenderer","_callonComplete","exp","drag","move","start_drag","drag_start_loc","_deceleration","__isout","cancel","__speed","__startSpeed","_calculateEnd","snap_loc","end_snap","gotoSnap","__needsSnap","_calculateExtraMove","_startDecelaration","bounce","renderCallback","__renderHook","fun","snappingCallback","__snapHook","snapCompleteCallback","__compHook","nextSnap","curr_snap","prevSnap","destroy","m","step","temp_speed","temp_value","targetSnap","_computeDeceleration","xtr_move","out_value","round","MSSliderEvent","CHANGE_START","CHANGE_END","WAITING","AUTOPLAY_CHANGE","VIDEO_PLAY","VIDEO_CLOSE","INIT","HARD_UPDATE","RESIZE","RESERVED_SPACE_CHANGE","DESTROY","MSSlide","$loading","addClass","view","__width","__height","fillMode","selected","pselected","autoAppend","isSleeping","moz","onSwipeStart","link","linkdis","video","videodis","onSwipeMove","e","swipeMoved","onSwipeCancel","assetsLoaded","slider","api","_startTimer","setupBG","preload","slideList","loadImages","_removeLoading","setBG","hasBG","$imgcont","append","$bg_img","bgAligner","autoHeight","setHeight","bg_src","one","_onBGLoad","initBG","bgLoaded","bgWidth","bgNatrualWidth","bgHeight","bgNatrualHeight","ratio","setSize","getHeight","ls","hasLayers","on","layerController","clientHeight","__playVideo","vplayed","pause","roc","vcbtn","vpbtn","vframe","swipeControl","slideController","__closeVideo","resume","removeClass","create","html","click","appendTo","parent","sleep","prepareToSelect","MSViewEvents","SWIPE_START","SWIPE_MOVE","SWIPE_CANCEL","select","videoAutoPlay","trigger","unselect","force","detach","onSlideSleep","wakeup","$slideCont","onSlideWakeup","SliderViewList","MSSlideController","_delayProgress","_timer","currentSlide","so","registerView","_class","SliderControlList","registerControl","setupView","resize_listener","__resize","viewOptions","spacing","space","mouseSwipe","mouse","loop","dir","viewNum","inView","critMargin","heightLimit","viewClass","MSBasicView","_3dreq","_fallback","overPause","mouseenter","is_over","_stopTimer","mouseleave","onChangeStart","change_started","endPause","slides","skipTimer","deepLink","__updateWindowHash","onChangeEnd","loc","slide","next","hideCalled","hideLayers","animHideLayers","__appendSlides","detached","appendSlide","hard","created","clientWidth","fullwidth","aspect","minHeight","$controlsCont","centerControls","__dispatchInit","setup","autoplay","startSlide","scroller","controller","wheel","last_time","wheellistener","orginalEvent","current_time","delta","detail","wheelDelta","scrollThreshold","previous","init_safemode","count","slidesCount","checkLoop","gotoSlide","_destroy","runAction","action","actionParams","temp","split","apply","console","locate","currentTime","MasterSlider","forceInit","grabCursor","mobileBGVideo","smoothHeight","fullheight","autofill","layersMode","shuffle","layout","autofillTarget","fullscreenMargin","instantStartLayers","parallaxMode","rtl","deepLinkType","disablePlugins","activePlugins","lastMargin","leftSpace","topSpace","rightSpace","bottomSpace","_holdOn","_resize","author","releaseDate","_plugins","MS","registerPlugin","plugin","__setupSlides","new_slide","ind","children","$slide_ele","id","slide_img","controls","slideAction","getAttribute","hasClass","addSlide","_setupOverlayLayers","$ollayers","eq","overlayLayers","MSOverlayLayers","__createSlideLayers","find","prepend","_shuffleSlides","r","random","_setupSliderLayout","_updateSideMargins","lo","_updateLayout","$win","margin","offset","left","_init","_docReady","initialized","$msContainer","prependTo","$view","mousedown","ms_grabbing_curosr","cursor","mouseup","ms_grab_curosr","htween","reserveSpace","side","sideSpace","_realignControls","control","ins","holdOn","release","setupMarkup","isAndroid","addJQReadyErrorCheck","insertMarkup","MasterSliderPlugin","settings","defaults","_defaults","_name","pluginName","_slider","_superDispatch","args","returns","sliderInstances","_ready","_onerror","onerror","SWIPE_END","SCROLL","minSlideSpeed","__cssProb","__offset","__dimension","__translate_end","viewSlidesList","css3","start_buffer","firstslide_snap","slideChanged","_horizUpdate","_vertiUpdate","__snapUpdate","__snapCompelet","__locateSlides","snap","change","target_index","updateLoop","_checkCritMargins","marginTop","autoUpdateZIndex","__updateSlidesZindex","normalMode","hlf","size","cm","__contPos","top","__updateViewList","currentSlideLoc","unshift","position","__createLoopList","return_arr","before_count","after_count","__getSteps","right","__pushEnd","first_slide","shift","last_slide","__pushStart","pop","beforeNum","steps","fast","target_slide","setupSwipe","horizSwipeMove","vertSwipeMove","cont_size","speedh","speedv","lastWidth","lastHeight","__created","lastSnap","MSFadeView","__update","_super","cont_scroll","__updateSlides","fadeTo","BaseControl","prefix","autohide","overVideo","customClass","cont","insertTo","_hideOnvideoStarts","checkHideUnder","hideUnder","needsRealign","insetTo","inset","onResize","innerWidth","hide","onDetach","visible","onAppend","proxy","_onMouseEnter","_onMouseLeave","_onMouseDown","_onMouseUp","_disableAH","mdown","mleave","hideTo","MSArrows","$next","$prev","MSThumblist","arrows","hover","thumbs","index_count","__dimen","__alignsize","__jdimen","__pos","click_enable","$thumbscont","$fwd","$bwd","margin-bottom","margin-top","thumb_ele","thumb_frame","changeSlide","is","aligner","_hMove","_vMove","thumbSize","realignThumbs","cindex","dTouch","nindex","updateThumbscroll","thumb","NaN","first_snap","ele","MSBulltes","bullets","$bullet_cont","bullet","outerWidth","outerHeight","MSScrollbar","color","__translate_start","$bar","bottom","_update","vdimen","bar_dimen","lvalue","hto","MSTimerbar","MSCircleTimer","stroke","radius","$canvas","getContext","ctx","prog","__w","_draw","clearRect","beginPath","arc","PI","strokeStyle","lineWidth","MSSlideInfo","data_list","fadeDuratation","info_ele","switchEle","current_ele","__show","tou","PId","$window","$doc","StartOnAppear","$slider","startOnAppear","_onScroll","vpBottom","scrollTop","off","MSReady"],"mappings":"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"}
public/assets/js/masterslider.min.js CHANGED
@@ -1,11 +1,11 @@
1
  /*!
2
  * Master Slider – Responsive Touch Swipe Slider [lite version]
3
- * Copyright © 2015 All Rights Reserved.
4
  *
5
  * @author Averta [www.averta.net]
6
- * @version 2.9.7
7
- * @date Jun 2015
8
  */
9
- window.averta={},function($){function getVendorPrefix(){if("result"in arguments.callee)return arguments.callee.result;var regex=/^(Moz|Webkit|Khtml|O|ms|Icab)(?=[A-Z])/,someScript=document.getElementsByTagName("script")[0];for(var prop in someScript.style)if(regex.test(prop))return arguments.callee.result=prop.match(regex)[0];return arguments.callee.result="WebkitOpacity"in someScript.style?"Webkit":"KhtmlOpacity"in someScript.style?"Khtml":""}function checkStyleValue(prop){var b=document.body||document.documentElement,s=b.style,p=prop;if("string"==typeof s[p])return!0;v=["Moz","Webkit","Khtml","O","ms"],p=p.charAt(0).toUpperCase()+p.substr(1);for(var i=0;i<v.length;i++)if("string"==typeof s[v[i]+p])return!0;return!1}function supportsTransitions(){return checkStyleValue("transition")}function supportsTransforms(){return checkStyleValue("transform")}function supports3DTransforms(){if(!supportsTransforms())return!1;var has3d,el=document.createElement("i"),transforms={WebkitTransform:"-webkit-transform",OTransform:"-o-transform",MSTransform:"-ms-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",Transform:"transform",transform:"transform"};el.style.display="block",document.body.insertBefore(el,null);for(var t in transforms)void 0!==el.style[t]&&(el.style[t]="translate3d(1px,1px,1px)",has3d=window.getComputedStyle(el).getPropertyValue(transforms[t]));return document.body.removeChild(el),null!=has3d&&has3d.length>0&&"none"!==has3d}window["package"]=function(name){window[name]||(window[name]={})};var extend=function(target,object){for(var key in object)target[key]=object[key]};Function.prototype.extend=function(superclass){"function"==typeof superclass.prototype.constructor?(extend(this.prototype,superclass.prototype),this.prototype.constructor=this):(this.prototype.extend(superclass),this.prototype.constructor=this)};var trans={Moz:"-moz-",Webkit:"-webkit-",Khtml:"-khtml-",O:"-o-",ms:"-ms-",Icab:"-icab-"};window._mobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),window._touch="ontouchstart"in document,$(document).ready(function(){window._jcsspfx=getVendorPrefix(),window._csspfx=trans[window._jcsspfx],window._cssanim=supportsTransitions(),window._css3d=supports3DTransforms(),window._css2d=supportsTransforms()}),window.parseQueryString=function(url){var queryString={};return url.replace(new RegExp("([^?=&]+)(=([^&]*))?","g"),function($0,$1,$2,$3){queryString[$1]=$3}),queryString};var fps60=50/3;if(window.requestAnimationFrame||(window.requestAnimationFrame=function(){return window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(callback,fps60)}}()),window.getComputedStyle||(window.getComputedStyle=function(el){return this.el=el,this.getPropertyValue=function(prop){var re=/(\-([a-z]){1})/g;return"float"==prop&&(prop="styleFloat"),re.test(prop)&&(prop=prop.replace(re,function(){return arguments[2].toUpperCase()})),el.currentStyle[prop]?el.currentStyle[prop]:null},el.currentStyle}),Array.prototype.indexOf||(Array.prototype.indexOf=function(elt){var len=this.length>>>0,from=Number(arguments[1])||0;for(from=0>from?Math.ceil(from):Math.floor(from),0>from&&(from+=len);len>from;from++)if(from in this&&this[from]===elt)return from;return-1}),window.isMSIE=function(version){if(!$.browser.msie)return!1;if(!version)return!0;var ieVer=$.browser.version.slice(0,$.browser.version.indexOf("."));return"string"==typeof version?eval(-1!==version.indexOf("<")||-1!==version.indexOf(">")?ieVer+version:version+"=="+ieVer):version==ieVer},$.removeDataAttrs=function($target,exclude){var i,attrName,dataAttrsToDelete=[],dataAttrs=$target[0].attributes,dataAttrsLen=dataAttrs.length;for(exclude=exclude||[],i=0;dataAttrsLen>i;i++)attrName=dataAttrs[i].name,"data-"===attrName.substring(0,5)&&-1===exclude.indexOf(attrName)&&dataAttrsToDelete.push(dataAttrs[i].name);$.each(dataAttrsToDelete,function(index,attrName){$target.removeAttr(attrName)})},jQuery){$.jqLoadFix=function(){if(this.complete){var that=this;setTimeout(function(){$(that).load()},1)}},jQuery.uaMatch=jQuery.uaMatch||function(ua){ua=ua.toLowerCase();var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"}},matched=jQuery.uaMatch(navigator.userAgent),browser={},matched.browser&&(browser[matched.browser]=!0,browser.version=matched.version),browser.chrome?browser.webkit=!0:browser.webkit&&(browser.safari=!0);var isIE11=!!navigator.userAgent.match(/Trident\/7\./);isIE11&&(browser.msie="true",delete browser.mozilla),jQuery.browser=browser,$.fn.preloadImg=function(src,_event){return this.each(function(){var $this=$(this),self=this,img=new Image;img.onload=function(event){null==event&&(event={}),$this.attr("src",src),event.width=img.width,event.height=img.height,$this.data("width",img.width),$this.data("height",img.height),setTimeout(function(){_event.call(self,event)},50),img=null},img.src=src}),this}}}(jQuery),function(){"use strict";averta.EventDispatcher=function(){this.listeners={}},averta.EventDispatcher.extend=function(_proto){var instance=new averta.EventDispatcher;for(var key in instance)"constructor"!=key&&(_proto[key]=averta.EventDispatcher.prototype[key])},averta.EventDispatcher.prototype={constructor:averta.EventDispatcher,addEventListener:function(event,listener,ref){this.listeners[event]||(this.listeners[event]=[]),this.listeners[event].push({listener:listener,ref:ref})},removeEventListener:function(event,listener,ref){if(this.listeners[event]){for(var i=0;i<this.listeners[event].length;++i)listener===this.listeners[event][i].listener&&ref===this.listeners[event][i].ref&&this.listeners[event].splice(i--,1);0===this.listeners[event].length&&(this.listeners[event]=null)}},dispatchEvent:function(event){if(event.target=this,this.listeners[event.type])for(var i=0,l=this.listeners[event.type].length;l>i;++i)this.listeners[event.type][i].listener.call(this.listeners[event.type][i].ref,event)}}}(),function($){"use strict";var isTouch="ontouchstart"in document,isPointer=window.navigator.pointerEnabled,isMSPoiner=!isPointer&&window.navigator.msPointerEnabled,usePointer=isPointer||isMSPoiner,ev_start=(isPointer?"pointerdown ":"")+(isMSPoiner?"MSPointerDown ":"")+(isTouch?"touchstart ":"")+"mousedown",ev_move=(isPointer?"pointermove ":"")+(isMSPoiner?"MSPointerMove ":"")+(isTouch?"touchmove ":"")+"mousemove",ev_end=(isPointer?"pointerup ":"")+(isMSPoiner?"MSPointerUp ":"")+(isTouch?"touchend ":"")+"mouseup",ev_cancel=(isPointer?"pointercancel ":"")+(isMSPoiner?"MSPointerCancel ":"")+"touchcancel";averta.TouchSwipe=function($element){this.$element=$element,this.enabled=!0,$element.bind(ev_start,{target:this},this.__touchStart),$element[0].swipe=this,this.onSwipe=null,this.swipeType="horizontal",this.noSwipeSelector="input, textarea, button, .no-swipe, .ms-no-swipe",this.lastStatus={}};var p=averta.TouchSwipe.prototype;p.getDirection=function(new_x,new_y){switch(this.swipeType){case"horizontal":return new_x<=this.start_x?"left":"right";case"vertical":return new_y<=this.start_y?"up":"down";case"all":return Math.abs(new_x-this.start_x)>Math.abs(new_y-this.start_y)?new_x<=this.start_x?"left":"right":new_y<=this.start_y?"up":"down"}},p.priventDefultEvent=function(new_x,new_y){var dx=Math.abs(new_x-this.start_x),dy=Math.abs(new_y-this.start_y),horiz=dx>dy;return"horizontal"===this.swipeType&&horiz||"vertical"===this.swipeType&&!horiz},p.createStatusObject=function(evt){var temp_x,temp_y,status_data={};return temp_x=this.lastStatus.distanceX||0,temp_y=this.lastStatus.distanceY||0,status_data.distanceX=evt.pageX-this.start_x,status_data.distanceY=evt.pageY-this.start_y,status_data.moveX=status_data.distanceX-temp_x,status_data.moveY=status_data.distanceY-temp_y,status_data.distance=parseInt(Math.sqrt(Math.pow(status_data.distanceX,2)+Math.pow(status_data.distanceY,2))),status_data.duration=(new Date).getTime()-this.start_time,status_data.direction=this.getDirection(evt.pageX,evt.pageY),status_data},p.__reset=function(event,jqevt){this.reset=!1,this.lastStatus={},this.start_time=(new Date).getTime(),this.start_x=isTouch?event.touches[0].pageX:usePointer?event.pageX:jqevt.pageX,this.start_y=isTouch?event.touches[0].pageY:usePointer?event.pageY:jqevt.pageY},p.__touchStart=function(event){var swipe=event.data.target,jqevt=event;if(swipe.enabled&&!($(event.target).closest(swipe.noSwipeSelector,swipe.$element).length>0)){if(event=event.originalEvent,usePointer&&$(this).css("-ms-touch-action","horizontal"===swipe.swipeType?"pan-y":"pan-x"),!swipe.onSwipe)return void $.error("Swipe listener is undefined");if(!swipe.touchStarted){swipe.start_x=isTouch?event.touches[0].pageX:usePointer?event.pageX:jqevt.pageX,swipe.start_y=isTouch?event.touches[0].pageY:usePointer?event.pageY:jqevt.pageY,swipe.start_time=(new Date).getTime(),$(document).bind(ev_end,{target:swipe},swipe.__touchEnd).bind(ev_move,{target:swipe},swipe.__touchMove).bind(ev_cancel,{target:swipe},swipe.__touchCancel);var evt=isTouch?event.touches[0]:usePointer?event:jqevt,status=swipe.createStatusObject(evt);status.phase="start",swipe.onSwipe.call(null,status),isTouch||jqevt.preventDefault(),swipe.lastStatus=status,swipe.touchStarted=!0}}},p.__touchMove=function(event){var swipe=event.data.target,jqevt=event;if(event=event.originalEvent,swipe.touchStarted){clearTimeout(swipe.timo),swipe.timo=setTimeout(function(){swipe.__reset(event,jqevt)},60);var evt=isTouch?event.touches[0]:usePointer?event:jqevt,status=swipe.createStatusObject(evt);swipe.priventDefultEvent(evt.pageX,evt.pageY)&&jqevt.preventDefault(),status.phase="move",swipe.lastStatus=status,swipe.onSwipe.call(null,status)}},p.__touchEnd=function(event){var swipe=event.data.target,jqevt=event;event=event.originalEvent,clearTimeout(swipe.timo);var status=(isTouch?event.touches[0]:usePointer?event:jqevt,swipe.lastStatus);isTouch||jqevt.preventDefault(),status.phase="end",swipe.touchStarted=!1,swipe.priventEvt=null,$(document).unbind(ev_end,swipe.__touchEnd).unbind(ev_move,swipe.__touchMove).unbind(ev_cancel,swipe.__touchCancel),status.speed=status.distance/status.duration,swipe.onSwipe.call(null,status)},p.__touchCancel=function(event){var swipe=event.data.target;swipe.__touchEnd(event)},p.enable=function(){this.enabled||(this.enabled=!0)},p.disable=function(){this.enabled&&(this.enabled=!1)}}(jQuery),function(){"use strict";averta.Ticker=function(){};var st=averta.Ticker,list=[],len=0,__stopped=!0;st.add=function(listener,ref){return list.push([listener,ref]),1===list.length&&st.start(),len=list.length},st.remove=function(listener,ref){for(var i=0,l=list.length;l>i;++i)list[i]&&list[i][0]===listener&&list[i][1]===ref&&list.splice(i,1);len=list.length,0===len&&st.stop()},st.start=function(){__stopped&&(__stopped=!1,__tick())},st.stop=function(){__stopped=!0};var __tick=function(){if(!st.__stopped){for(var item,i=0;i!==len;i++)item=list[i],item[0].call(item[1]);requestAnimationFrame(__tick)}}}(),function(){"use strict";Date.now||(Date.now=function(){return(new Date).getTime()}),averta.Timer=function(delay,autoStart){this.delay=delay,this.currentCount=0,this.paused=!1,this.onTimer=null,this.refrence=null,autoStart&&this.start()},averta.Timer.prototype={constructor:averta.Timer,start:function(){this.paused=!1,this.lastTime=Date.now(),averta.Ticker.add(this.update,this)},stop:function(){this.paused=!0,averta.Ticker.remove(this.update,this)},reset:function(){this.currentCount=0,this.paused=!0,this.lastTime=Date.now()},update:function(){this.paused||Date.now()-this.lastTime<this.delay||(this.currentCount++,this.lastTime=Date.now(),this.onTimer&&this.onTimer.call(this.refrence,this.getTime()))},getTime:function(){return this.delay*this.currentCount}}}(),function(){"use strict";window.CSSTween=function(element,duration,delay,ease){this.$element=element,this.duration=duration||1e3,this.delay=delay||0,this.ease=ease||"linear"};var p=CSSTween.prototype;p.to=function(callback,target){return this.to_cb=callback,this.to_cb_target=target,this},p.from=function(callback,target){return this.fr_cb=callback,this.fr_cb_target=target,this},p.onComplete=function(callback,target){return this.oc_fb=callback,this.oc_fb_target=target,this},p.chain=function(csstween){return this.chained_tween=csstween,this},p.reset=function(){clearTimeout(this.start_to),clearTimeout(this.end_to)},p.start=function(){var element=this.$element[0];clearTimeout(this.start_to),clearTimeout(this.end_to),this.fresh=!0,this.fr_cb&&(element.style[window._jcsspfx+"TransitionDuration"]="0ms",this.fr_cb.call(this.fr_cb_target));var that=this;return this.onTransComplete=function(){that.fresh&&(that.reset(),element.style[window._jcsspfx+"TransitionDuration"]="",element.style[window._jcsspfx+"TransitionProperty"]="",element.style[window._jcsspfx+"TransitionTimingFunction"]="",element.style[window._jcsspfx+"TransitionDelay"]="",that.fresh=!1,that.chained_tween&&that.chained_tween.start(),that.oc_fb&&that.oc_fb.call(that.oc_fb_target))},this.start_to=setTimeout(function(){that.$element&&(element.style[window._jcsspfx+"TransitionDuration"]=that.duration+"ms",element.style[window._jcsspfx+"TransitionProperty"]=that.transProperty||"all",element.style[window._jcsspfx+"TransitionDelay"]=that.delay>0?that.delay+"ms":"",element.style[window._jcsspfx+"TransitionTimingFunction"]=that.ease,that.to_cb&&that.to_cb.call(that.to_cb_target),that.end_to=setTimeout(function(){that.onTransComplete()},that.duration+(that.delay||0)))},100),this}}(),function(){"use strict";function transPos(element,properties){if(void 0!==properties.x||void 0!==properties.y)if(_cssanim){var trans=window._jcsspfx+"Transform";void 0!==properties.x&&(properties[trans]=(properties[trans]||"")+" translateX("+properties.x+"px)",delete properties.x),void 0!==properties.y&&(properties[trans]=(properties[trans]||"")+" translateY("+properties.y+"px)",delete properties.y)}else{if(void 0!==properties.x){var posx="auto"!==element.css("right")?"right":"left";properties[posx]=properties.x+"px",delete properties.x}if(void 0!==properties.y){var posy="auto"!==element.css("bottom")?"bottom":"top";properties[posy]=properties.y+"px",delete properties.y}}return properties}var _cssanim=null;window.CTween={},CTween.setPos=function(element,pos){element.css(transPos(element,pos))},CTween.animate=function(element,duration,properties,options){if(null==_cssanim&&(_cssanim=window._cssanim),options=options||{},transPos(element,properties),_cssanim){var tween=new CSSTween(element,duration,options.delay,EaseDic[options.ease]);return options.transProperty&&(tween.transProperty=options.transProperty),tween.to(function(){element.css(properties)}),options.complete&&tween.onComplete(options.complete,options.target),tween.start(),tween.stop=tween.reset,tween}var onCl;return options.delay&&element.delay(options.delay),options.complete&&(onCl=function(){options.complete.call(options.target)}),element.stop(!0).animate(properties,duration,options.ease||"linear",onCl),element},CTween.fadeOut=function(target,duration,remove){var options={};remove===!0?options.complete=function(){target.remove()}:2===remove&&(options.complete=function(){target.css("display","none")}),CTween.animate(target,duration||1e3,{opacity:0},options)},CTween.fadeIn=function(target,duration,reset){reset!==!1&&target.css("opacity",0).css("display",""),CTween.animate(target,duration||1e3,{opacity:1})}}(),function(){window.EaseDic={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",easeInCubic:"cubic-bezier(.55,.055,.675,.19)",easeOutCubic:"cubic-bezier(.215,.61,.355,1)",easeInOutCubic:"cubic-bezier(.645,.045,.355,1)",easeInCirc:"cubic-bezier(.6,.04,.98,.335)",easeOutCirc:"cubic-bezier(.075,.82,.165,1)",easeInOutCirc:"cubic-bezier(.785,.135,.15,.86)",easeInExpo:"cubic-bezier(.95,.05,.795,.035)",easeOutExpo:"cubic-bezier(.19,1,.22,1)",easeInOutExpo:"cubic-bezier(1,0,0,1)",easeInQuad:"cubic-bezier(.55,.085,.68,.53)",easeOutQuad:"cubic-bezier(.25,.46,.45,.94)",easeInOutQuad:"cubic-bezier(.455,.03,.515,.955)",easeInQuart:"cubic-bezier(.895,.03,.685,.22)",easeOutQuart:"cubic-bezier(.165,.84,.44,1)",easeInOutQuart:"cubic-bezier(.77,0,.175,1)",easeInQuint:"cubic-bezier(.755,.05,.855,.06)",easeOutQuint:"cubic-bezier(.23,1,.32,1)",easeInOutQuint:"cubic-bezier(.86,0,.07,1)",easeInSine:"cubic-bezier(.47,0,.745,.715)",easeOutSine:"cubic-bezier(.39,.575,.565,1)",easeInOutSine:"cubic-bezier(.445,.05,.55,.95)",easeInBack:"cubic-bezier(.6,-.28,.735,.045)",easeOutBack:"cubic-bezier(.175, .885,.32,1.275)",easeInOutBack:"cubic-bezier(.68,-.55,.265,1.55)"}}(),function(){"use strict";window.MSAligner=function(type,$container,$img){this.$container=$container,this.$img=$img,this.type=type||"stretch",this.widthOnly=!1,this.heightOnly=!1};var p=MSAligner.prototype;p.init=function(w,h){switch(this.baseWidth=w,this.baseHeight=h,this.imgRatio=w/h,this.imgRatio2=h/w,this.type){case"tile":this.$container.css("background-image","url("+this.$img.attr("src")+")"),this.$img.remove();break;case"center":this.$container.css("background-image","url("+this.$img.attr("src")+")"),this.$container.css({backgroundPosition:"center center",backgroundRepeat:"no-repeat"}),this.$img.remove();break;case"stretch":this.$img.css({width:"100%",height:"100%"});break;case"fill":case"fit":this.needAlign=!0,this.align()}},p.align=function(){if(this.needAlign){var cont_w=this.$container.width(),cont_h=this.$container.height(),contRatio=cont_w/cont_h;"fill"==this.type?this.imgRatio<contRatio?(this.$img.width(cont_w),this.$img.height(cont_w*this.imgRatio2)):(this.$img.height(cont_h),this.$img.width(cont_h*this.imgRatio)):"fit"==this.type&&(this.imgRatio<contRatio?(this.$img.height(cont_h),this.$img.width(cont_h*this.imgRatio)):(this.$img.width(cont_w),this.$img.height(cont_w*this.imgRatio2))),this.setMargin()}},p.setMargin=function(){var cont_w=this.$container.width(),cont_h=this.$container.height();this.$img.css("margin-top",(cont_h-this.$img[0].offsetHeight)/2+"px"),this.$img.css("margin-left",(cont_w-this.$img[0].offsetWidth)/2+"px")}}(),function(){"use strict";var _options={bouncing:!0,snapping:!1,snapsize:null,friction:.05,outFriction:.05,outAcceleration:.09,minValidDist:.3,snappingMinSpeed:2,paging:!1,endless:!1,maxSpeed:160},Controller=function(min,max,options){if(null===max||null===min)throw new Error("Max and Min values are required.");this.options=options||{};for(var key in _options)key in this.options||(this.options[key]=_options[key]);this._max_value=max,this._min_value=min,this.value=min,this.end_loc=min,this.current_snap=this.getSnapNum(min),this.__extrStep=0,this.__extraMove=0,this.__animID=-1},p=Controller.prototype;p.changeTo=function(value,animate,speed,snap_num,dispatch){if(this.stopped=!1,this._internalStop(),value=this._checkLimits(value),speed=Math.abs(speed||0),this.options.snapping&&(snap_num=snap_num||this.getSnapNum(value),dispatch!==!1&&this._callsnapChange(snap_num),this.current_snap=snap_num),animate){this.animating=!0;var self=this,active_id=++self.__animID,amplitude=value-self.value,timeStep=0,targetPosition=value,animFrict=1-self.options.friction,timeconst=animFrict+(speed-20)*animFrict*1.3/self.options.maxSpeed,tick=function(){if(active_id===self.__animID){var dis=value-self.value;if(!(Math.abs(dis)>self.options.minValidDist&&self.animating))return self.animating&&(self.value=value,self._callrenderer()),self.animating=!1,active_id!==self.__animID&&(self.__animID=-1),void self._callonComplete("anim");window.requestAnimationFrame(tick),self.value=targetPosition-amplitude*Math.exp(-++timeStep*timeconst),self._callrenderer()}};return void tick()}this.value=value,this._callrenderer()},p.drag=function(move){this.start_drag&&(this.drag_start_loc=this.value,this.start_drag=!1),this.animating=!1,this._deceleration=!1,this.value-=move,!this.options.endless&&(this.value>this._max_value||this.value<0)?this.options.bouncing?(this.__isout=!0,this.value+=.6*move):this.value=this.value>this._max_value?this._max_value:0:!this.options.endless&&this.options.bouncing&&(this.__isout=!1),this._callrenderer()},p.push=function(speed){if(this.stopped=!1,this.options.snapping&&Math.abs(speed)<=this.options.snappingMinSpeed)return void this.cancel();if(this.__speed=speed,this.__startSpeed=speed,this.end_loc=this._calculateEnd(),this.options.snapping){var snap_loc=this.getSnapNum(this.value),end_snap=this.getSnapNum(this.end_loc);if(this.options.paging)return snap_loc=this.getSnapNum(this.drag_start_loc),this.__isout=!1,void(speed>0?this.gotoSnap(snap_loc+1,!0,speed):this.gotoSnap(snap_loc-1,!0,speed));if(snap_loc===end_snap)return void this.cancel();this._callsnapChange(end_snap),this.current_snap=end_snap}this.animating=!1,this.__needsSnap=this.options.endless||this.end_loc>this._min_value&&this.end_loc<this._max_value,this.options.snapping&&this.__needsSnap&&(this.__extraMove=this._calculateExtraMove(this.end_loc)),this._startDecelaration()},p.bounce=function(speed){this.animating||(this.stopped=!1,this.animating=!1,this.__speed=speed,this.__startSpeed=speed,this.end_loc=this._calculateEnd(),this._startDecelaration())},p.stop=function(){this.stopped=!0,this._internalStop()},p.cancel=function(){this.start_drag=!0,this.__isout?(this.__speed=4e-4,this._startDecelaration()):this.options.snapping&&this.gotoSnap(this.getSnapNum(this.value),!0)},p.renderCallback=function(listener,ref){this.__renderHook={fun:listener,ref:ref}},p.snappingCallback=function(listener,ref){this.__snapHook={fun:listener,ref:ref}},p.snapCompleteCallback=function(listener,ref){this.__compHook={fun:listener,ref:ref}},p.getSnapNum=function(value){return Math.floor((value+this.options.snapsize/2)/this.options.snapsize)},p.nextSnap=function(){this._internalStop();var curr_snap=this.getSnapNum(this.value);!this.options.endless&&(curr_snap+1)*this.options.snapsize>this._max_value?(this.__speed=8,this.__needsSnap=!1,this._startDecelaration()):this.gotoSnap(curr_snap+1,!0)},p.prevSnap=function(){this._internalStop();var curr_snap=this.getSnapNum(this.value);!this.options.endless&&(curr_snap-1)*this.options.snapsize<this._min_value?(this.__speed=-8,this.__needsSnap=!1,this._startDecelaration()):this.gotoSnap(curr_snap-1,!0)},p.gotoSnap=function(snap_num,animate,speed){this.changeTo(snap_num*this.options.snapsize,animate,speed,snap_num)},p.destroy=function(){this._internalStop(),this.__renderHook=null,this.__snapHook=null,this.__compHook=null},p._internalStop=function(){this.start_drag=!0,this.animating=!1,this._deceleration=!1,this.__extrStep=0},p._calculateExtraMove=function(value){var m=value%this.options.snapsize;return m<this.options.snapsize/2?-m:this.options.snapsize-m},p._calculateEnd=function(step){for(var temp_speed=this.__speed,temp_value=this.value,i=0;Math.abs(temp_speed)>this.options.minValidDist;)temp_value+=temp_speed,temp_speed*=this.options.friction,i++;return step?i:temp_value},p._checkLimits=function(value){return this.options.endless?value:value<this._min_value?this._min_value:value>this._max_value?this._max_value:value},p._callrenderer=function(){this.__renderHook&&this.__renderHook.fun.call(this.__renderHook.ref,this,this.value)},p._callsnapChange=function(targetSnap){this.__snapHook&&targetSnap!==this.current_snap&&this.__snapHook.fun.call(this.__snapHook.ref,this,targetSnap,targetSnap-this.current_snap)},p._callonComplete=function(type){this.__compHook&&!this.stopped&&this.__compHook.fun.call(this.__compHook.ref,this,this.current_snap,type)},p._computeDeceleration=function(){if(this.options.snapping&&this.__needsSnap){var xtr_move=(this.__startSpeed-this.__speed)/this.__startSpeed*this.__extraMove;this.value+=this.__speed+xtr_move-this.__extrStep,this.__extrStep=xtr_move}else this.value+=this.__speed;if(this.__speed*=this.options.friction,this.options.endless||this.options.bouncing||(this.value<=this._min_value?(this.value=this._min_value,this.__speed=0):this.value>=this._max_value&&(this.value=this._max_value,this.__speed=0)),this._callrenderer(),!this.options.endless&&this.options.bouncing){var out_value=0;this.value<this._min_value?out_value=this._min_value-this.value:this.value>this._max_value&&(out_value=this._max_value-this.value),this.__isout=Math.abs(out_value)>=this.options.minValidDist,this.__isout&&(this.__speed*out_value<=0?this.__speed+=out_value*this.options.outFriction:this.__speed=out_value*this.options.outAcceleration)}},p._startDecelaration=function(){if(!this._deceleration){this._deceleration=!0;var self=this,tick=function(){self._deceleration&&(self._computeDeceleration(),Math.abs(self.__speed)>self.options.minValidDist||self.__isout?window.requestAnimationFrame(tick):(self._deceleration=!1,self.__isout=!1,self.value=self.__needsSnap&&self.options.snapping&&!self.options.paging?self._checkLimits(self.end_loc+self.__extraMove):Math.round(self.value),self._callrenderer(),self._callonComplete("decel")))};tick()}},window.Controller=Controller}(),window.MSSliderEvent=function(type){this.type=type},MSSliderEvent.CHANGE_START="ms_changestart",MSSliderEvent.CHANGE_END="ms_changeend",MSSliderEvent.WAITING="ms_waiting",MSSliderEvent.AUTOPLAY_CHANGE="ms_autoplaychange",MSSliderEvent.VIDEO_PLAY="ms_videoPlay",MSSliderEvent.VIDEO_CLOSE="ms_videoclose",MSSliderEvent.INIT="ms_init",MSSliderEvent.HARD_UPDATE="ms_hard_update",MSSliderEvent.RESIZE="ms_resize",MSSliderEvent.RESERVED_SPACE_CHANGE="ms_rsc",MSSliderEvent.DESTROY="ms_destroy",function(window,document,$){"use strict";window.MSSlide=function(){this.$element=null,this.$loading=$("<div></div>").addClass("ms-slide-loading"),this.view=null,this.index=-1,this.__width=0,this.__height=0,this.fillMode="fill",this.selected=!1,this.pselected=!1,this.autoAppend=!0,this.isSleeping=!0,this.moz=$.browser.mozilla};var p=MSSlide.prototype;p.onSwipeStart=function(){this.link&&(this.linkdis=!0),this.video&&(this.videodis=!0)},p.onSwipeMove=function(e){var move=Math.max(Math.abs(e.data.distanceX),Math.abs(e.data.distanceY));this.swipeMoved=move>4},p.onSwipeCancel=function(){return this.swipeMoved?void(this.swipeMoved=!1):(this.link&&(this.linkdis=!1),void(this.video&&(this.videodis=!1)))},p.assetsLoaded=function(){this.ready=!0,this.slider.api._startTimer(),this.isSleeping||this.setupBG(),CTween.fadeOut(this.$loading,300,!0),(0===this.slider.options.preload||"all"===this.slider.options.preload)&&this.index<this.view.slideList.length-1?this.view.slideList[this.index+1].loadImages():"all"===this.slider.options.preload&&this.index===this.view.slideList.length-1&&this.slider._removeLoading()},p.setBG=function(img){this.hasBG=!0;var that=this;this.$imgcont=$("<div></div>").addClass("ms-slide-bgcont"),this.$element.append(this.$loading).append(this.$imgcont),this.$bg_img=$(img).css("visibility","hidden"),this.$imgcont.append(this.$bg_img),this.bgAligner=new MSAligner(that.fillMode,that.$imgcont,that.$bg_img),this.bgAligner.widthOnly=this.slider.options.autoHeight,that.slider.options.autoHeight&&(that.pselected||that.selected)&&that.slider.setHeight(that.slider.options.height),void 0!==this.$bg_img.data("src")?(this.bg_src=this.$bg_img.data("src"),this.$bg_img.removeAttr("data-src")):this.$bg_img.one("load",function(event){that._onBGLoad(event)}).each($.jqLoadFix)},p.setupBG=function(){!this.initBG&&this.bgLoaded&&(this.initBG=!0,this.$bg_img.css("visibility",""),this.bgWidth=this.bgNatrualWidth||this.$bg_img.width(),this.bgHeight=this.bgNatrualHeight||this.$bg_img.height(),CTween.fadeIn(this.$imgcont,300),this.slider.options.autoHeight&&this.$imgcont.height(this.bgHeight*this.ratio),this.bgAligner.init(this.bgWidth,this.bgHeight),this.setSize(this.__width,this.__height),this.slider.options.autoHeight&&(this.pselected||this.selected)&&this.slider.setHeight(this.getHeight()))},p.loadImages=function(){if(!this.ls){if(this.ls=!0,this.hasBG&&this.bg_src){var that=this;this.$bg_img.preloadImg(this.bg_src,function(event){that._onBGLoad(event)})}this.hasBG||this.hasLayers||this.assetsLoaded()}},p._onBGLoad=function(event){this.bgNatrualWidth=event.width,this.bgNatrualHeight=event.height,this.bgLoaded=!0,$.browser.msie&&this.$bg_img.on("dragstart",function(event){event.preventDefault()}),(!this.hasLayers||this.layerController.ready)&&this.assetsLoaded()},p.setSize=function(width,height){this.__width=width,this.slider.options.autoHeight&&(this.bgLoaded?(this.ratio=this.__width/this.bgWidth,height=Math.floor(this.ratio*this.bgHeight),this.$imgcont.height(height)):(this.ratio=width/this.slider.options.width,height=this.slider.options.height*this.ratio)),this.__height=height,this.$element.width(width).height(height),this.hasBG&&this.bgLoaded&&this.bgAligner.align()},p.getHeight=function(){return this.hasBG&&this.bgLoaded?this.bgHeight*this.ratio:Math.max(this.$element[0].clientHeight,this.slider.options.height*this.ratio)},p.__playVideo=function(){this.vplayed||this.videodis||(this.vplayed=!0,this.slider.api.paused||(this.slider.api.pause(),this.roc=!0),this.vcbtn.css("display",""),CTween.fadeOut(this.vpbtn,500,!1),CTween.fadeIn(this.vcbtn,500),CTween.fadeIn(this.vframe,500),this.vframe.css("display","block").attr("src",this.video+"&autoplay=1"),this.view.$element.addClass("ms-def-cursor"),this.moz&&this.view.$element.css("perspective","none"),this.view.swipeControl&&this.view.swipeControl.disable(),this.slider.slideController.dispatchEvent(new MSSliderEvent(MSSliderEvent.VIDEO_PLAY)))},p.__closeVideo=function(){if(this.vplayed){this.vplayed=!1,this.roc&&this.slider.api.resume();var that=this;CTween.fadeIn(this.vpbtn,500),CTween.animate(this.vcbtn,500,{opacity:0},{complete:function(){that.vcbtn.css("display","none")}}),CTween.animate(this.vframe,500,{opacity:0},{complete:function(){that.vframe.attr("src","about:blank").css("display","none")}}),this.moz&&this.view.$element.css("perspective",""),this.view.swipeControl&&this.view.swipeControl.enable(),this.view.$element.removeClass("ms-def-cursor"),this.slider.slideController.dispatchEvent(new MSSliderEvent(MSSliderEvent.VIDEO_CLOSE))}},p.create=function(){var that=this;this.link&&this.link.addClass("ms-slide-link").html("").click(function(e){that.linkdis&&e.preventDefault()}),this.video&&(-1===this.video.indexOf("?")&&(this.video+="?"),this.vframe=$("<iframe></iframe>").addClass("ms-slide-video").css({width:"100%",height:"100%",display:"none"}).attr("src","about:blank").attr("allowfullscreen","true").appendTo(this.$element),this.vpbtn=$("<div></div>").addClass("ms-slide-vpbtn").click(function(){that.__playVideo()}).appendTo(this.$element),this.vcbtn=$("<div></div>").addClass("ms-slide-vcbtn").click(function(){that.__closeVideo()}).appendTo(this.$element).css("display","none"),window._touch&&this.vcbtn.removeClass("ms-slide-vcbtn").addClass("ms-slide-vcbtn-mobile").append('<div class="ms-vcbtn-txt">Close video</div>').appendTo(this.view.$element.parent())),!this.slider.options.autoHeight&&this.hasBG&&(this.$imgcont.css("height","100%"),("center"===this.fillMode||"stretch"===this.fillMode)&&(this.fillMode="fill")),this.slider.options.autoHeight&&this.$element.addClass("ms-slide-auto-height"),this.sleep(!0)},p.destroy=function(){this.$element.remove(),this.$element=null},p.prepareToSelect=function(){this.pselected||this.selected||(this.pselected=!0,(this.link||this.video)&&(this.view.addEventListener(MSViewEvents.SWIPE_START,this.onSwipeStart,this),this.view.addEventListener(MSViewEvents.SWIPE_MOVE,this.onSwipeMove,this),this.view.addEventListener(MSViewEvents.SWIPE_CANCEL,this.onSwipeCancel,this),this.linkdis=!1,this.swipeMoved=!1),this.loadImages(),this.moz&&this.$element.css("margin-top",""))},p.select=function(){this.selected||(this.selected=!0,this.pselected=!1,this.$element.addClass("ms-sl-selected"),this.videoAutoPlay&&(this.videodis=!1,this.vpbtn.trigger("click")))},p.unselect=function(){this.pselected=!1,this.moz&&this.$element.css("margin-top","0.1px"),(this.link||this.video)&&(this.view.removeEventListener(MSViewEvents.SWIPE_START,this.onSwipeStart,this),this.view.removeEventListener(MSViewEvents.SWIPE_MOVE,this.onSwipeMove,this),this.view.removeEventListener(MSViewEvents.SWIPE_CANCEL,this.onSwipeCancel,this)),this.selected&&(this.selected=!1,this.$element.removeClass("ms-sl-selected"),this.video&&this.vplayed&&(this.__closeVideo(),this.roc=!1))
10
- },p.sleep=function(force){(!this.isSleeping||force)&&(this.isSleeping=!0,this.autoAppend&&this.$element.detach(),this.hasLayers&&this.layerController.onSlideSleep())},p.wakeup=function(){this.isSleeping&&(this.isSleeping=!1,this.autoAppend&&this.view.$slideCont.append(this.$element),this.moz&&this.$element.css("margin-top","0.1px"),this.setupBG(),this.hasBG&&this.bgAligner.align(),this.hasLayers&&this.layerController.onSlideWakeup())}}(window,document,jQuery),function($){"use strict";var SliderViewList={};window.MSSlideController=function(slider){this._delayProgress=0,this._timer=new averta.Timer(100),this._timer.onTimer=this.onTimer,this._timer.refrence=this,this.currentSlide=null,this.slider=slider,this.so=slider.options,averta.EventDispatcher.call(this)},MSSlideController.registerView=function(name,_class){if(name in SliderViewList)throw new Error(name+", is already registered.");SliderViewList[name]=_class},MSSlideController.SliderControlList={},MSSlideController.registerControl=function(name,_class){if(name in MSSlideController.SliderControlList)throw new Error(name+", is already registered.");MSSlideController.SliderControlList[name]=_class};var p=MSSlideController.prototype;p.setupView=function(){var that=this;this.resize_listener=function(){that.__resize()};var viewOptions={spacing:this.so.space,mouseSwipe:this.so.mouse,loop:this.so.loop,autoHeight:this.so.autoHeight,swipe:this.so.swipe,speed:this.so.speed,dir:this.so.dir,viewNum:this.so.inView,critMargin:this.so.critMargin};this.so.viewOptions&&$.extend(viewOptions,this.so.viewOptions),this.so.autoHeight&&(this.so.heightLimit=!1);var viewClass=SliderViewList[this.slider.options.view]||MSBasicView;if(!viewClass._3dreq||window._css3d&&!$.browser.msie||(viewClass=viewClass._fallback||MSBasicView),this.view=new viewClass(viewOptions),this.so.overPause){var that=this;this.slider.$element.mouseenter(function(){that.is_over=!0,that._stopTimer()}).mouseleave(function(){that.is_over=!1,that._startTimer()})}},p.onChangeStart=function(){this.change_started=!0,this.currentSlide&&this.currentSlide.unselect(),this.currentSlide=this.view.currentSlide,this.currentSlide.prepareToSelect(),this.so.endPause&&this.currentSlide.index===this.slider.slides.length-1&&(this.pause(),this.skipTimer()),this.so.autoHeight&&this.slider.setHeight(this.currentSlide.getHeight()),this.so.deepLink&&this.__updateWindowHash(),this.dispatchEvent(new MSSliderEvent(MSSliderEvent.CHANGE_START))},p.onChangeEnd=function(){if(this.change_started=!1,this._startTimer(),this.currentSlide.select(),this.so.preload>1){var loc,i,slide,l=this.so.preload-1;for(i=1;l>=i;++i){if(loc=this.view.index+i,loc>=this.view.slideList.length){if(!this.so.loop){i=l;continue}loc-=this.view.slideList.length}slide=this.view.slideList[loc],slide&&slide.loadImages()}for(l>this.view.slideList.length/2&&(l=Math.floor(this.view.slideList.length/2)),i=1;l>=i;++i){if(loc=this.view.index-i,0>loc){if(!this.so.loop){i=l;continue}loc=this.view.slideList.length+loc}slide=this.view.slideList[loc],slide&&slide.loadImages()}}this.dispatchEvent(new MSSliderEvent(MSSliderEvent.CHANGE_END))},p.onSwipeStart=function(){this.skipTimer()},p.skipTimer=function(){this._timer.reset(),this._delayProgress=0,this.dispatchEvent(new MSSliderEvent(MSSliderEvent.WAITING))},p.onTimer=function(){if(this._timer.getTime()>=1e3*this.view.currentSlide.delay&&(this.skipTimer(),this.view.next(),this.hideCalled=!1),this._delayProgress=this._timer.getTime()/(10*this.view.currentSlide.delay),this.so.hideLayers&&!this.hideCalled&&1e3*this.view.currentSlide.delay-this._timer.getTime()<=300){var currentSlide=this.view.currentSlide;currentSlide.hasLayers&&currentSlide.layerController.animHideLayers(),this.hideCalled=!0}this.dispatchEvent(new MSSliderEvent(MSSliderEvent.WAITING))},p._stopTimer=function(){this._timer&&this._timer.stop()},p._startTimer=function(){this.paused||this.is_over||!this.currentSlide||!this.currentSlide.ready||this.change_started||this._timer.start()},p.__appendSlides=function(){var slide,loc,i=0,l=this.view.slideList.length-1;for(i;l>i;++i)slide=this.view.slideList[i],slide.detached||(slide.$element.detach(),slide.detached=!0);for(this.view.appendSlide(this.view.slideList[this.view.index]),l=3,i=1;l>=i;++i){if(loc=this.view.index+i,loc>=this.view.slideList.length){if(!this.so.loop){i=l;continue}loc-=this.view.slideList.length}slide=this.view.slideList[loc],slide.detached=!1,this.view.appendSlide(slide)}for(l>this.view.slideList.length/2&&(l=Math.floor(this.view.slideList.length/2)),i=1;l>=i;++i){if(loc=this.view.index-i,0>loc){if(!this.so.loop){i=l;continue}loc=this.view.slideList.length+loc}slide=this.view.slideList[loc],slide.detached=!1,this.view.appendSlide(slide)}},p.__resize=function(hard){this.created&&(this.width=this.slider.$element[0].clientWidth||this.so.width,this.so.fullwidth||(this.width=Math.min(this.width,this.so.width)),this.height=this.width/this.slider.aspect,this.so.autoHeight?(this.currentSlide.setSize(this.width,null,hard),this.view.setSize(this.width,this.currentSlide.getHeight(),hard)):this.view.setSize(this.width,Math.max(this.so.minHeight,this.so.heightLimit?Math.min(this.height,this.so.height):this.height),hard),this.slider.$controlsCont&&this.so.centerControls&&this.so.fullwidth&&this.view.$element.css("left",Math.min(0,-(this.slider.$element[0].clientWidth-this.so.width)/2)+"px"),this.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESIZE)))},p.__dispatchInit=function(){this.dispatchEvent(new MSSliderEvent(MSSliderEvent.INIT))},p.setup=function(){this.created=!0,this.paused=!this.so.autoplay,this.view.addEventListener(MSViewEvents.CHANGE_START,this.onChangeStart,this),this.view.addEventListener(MSViewEvents.CHANGE_END,this.onChangeEnd,this),this.view.addEventListener(MSViewEvents.SWIPE_START,this.onSwipeStart,this),this.currentSlide=this.view.slideList[this.so.start-1],this.__resize();var startSlide=this.so.start-1;if(this.view.create(startSlide),0===this.so.preload&&this.view.slideList[0].loadImages(),this.scroller=this.view.controller,this.so.wheel){var that=this,last_time=(new Date).getTime();this.wheellistener=function(event){var e=window.event||event.orginalEvent||event;e.preventDefault();var current_time=(new Date).getTime();if(!(400>current_time-last_time)){last_time=current_time;var delta=Math.abs(e.detail||e.wheelDelta);$.browser.mozilla&&(delta*=100);var scrollThreshold=15;return e.detail<0||e.wheelDelta>0?delta>=scrollThreshold&&that.previous(!0):delta>=scrollThreshold&&that.next(!0),!1}},$.browser.mozilla?this.slider.$element[0].addEventListener("DOMMouseScroll",this.wheellistener):this.slider.$element.bind("mousewheel",this.wheellistener)}0===this.slider.$element[0].clientWidth&&(this.slider.init_safemode=!0),this.__resize()},p.index=function(){return this.view.index},p.count=function(){return this.view.slidesCount},p.next=function(checkLoop){this.skipTimer(),this.view.next(checkLoop)},p.previous=function(checkLoop){this.skipTimer(),this.view.previous(checkLoop)},p.gotoSlide=function(index){index=Math.min(index,this.count()-1),this.skipTimer(),this.view.gotoSlide(index)},p.destroy=function(reset){this.dispatchEvent(new MSSliderEvent(MSSliderEvent.DESTROY)),this.slider.destroy(reset)},p._destroy=function(){this._timer.reset(),this._timer=null,$(window).unbind("resize",this.resize_listener),this.view.destroy(),this.view=null,this.so.wheel&&($.browser.mozilla?this.slider.$element[0].removeEventListener("DOMMouseScroll",this.wheellistener):this.slider.$element.unbind("mousewheel",this.wheellistener),this.wheellistener=null),this.so=null},p.runAction=function(action){var actionParams=[];if(-1!==action.indexOf("(")){var temp=action.slice(0,action.indexOf("("));actionParams=action.slice(action.indexOf("(")+1,-1).replace(/\"|\'|\s/g,"").split(","),action=temp}action in this?this[action].apply(this,actionParams):console},p.update=function(hard){this.slider.init_safemode&&hard&&(this.slider.init_safemode=!1),this.__resize(hard),hard&&this.dispatchEvent(new MSSliderEvent(MSSliderEvent.HARD_UPDATE))},p.locate=function(){this.__resize()},p.resume=function(){this.paused&&(this.paused=!1,this._startTimer())},p.pause=function(){this.paused||(this.paused=!0,this._stopTimer())},p.currentTime=function(){return this._delayProgress},averta.EventDispatcher.extend(p)}(jQuery),function($){"use strict";window.MasterSlider=function(){this.options={autoplay:!1,loop:!1,mouse:!0,swipe:!0,grabCursor:!0,space:0,fillMode:"fill",start:1,view:"basic",width:300,height:150,inView:15,critMargin:1,heightLimit:!0,smoothHeight:!0,autoHeight:!1,minHeight:-1,fullwidth:!1,fullheight:!1,autofill:!1,layersMode:"center",hideLayers:!1,endPause:!1,centerControls:!0,overPause:!0,shuffle:!1,speed:17,dir:"h",preload:0,wheel:!1,layout:"boxed",autofillTarget:null,fullscreenMargin:0,instantStartLayers:!1,parallaxMode:"mouse",rtl:!1,deepLink:null,deepLinkType:"path",disablePlugins:[]},this.slides=[],this.activePlugins=[],this.$element=null,this.lastMargin=0,this.leftSpace=0,this.topSpace=0,this.rightSpace=0,this.bottomSpace=0,this._holdOn=0;var that=this;this.resize_listener=function(){that._resize()},$(window).bind("resize",this.resize_listener)},MasterSlider.author="Averta Ltd. (www.averta.net)",MasterSlider.version="2.9.7",MasterSlider.releaseDate="Jun 2015",MasterSlider._plugins=[];var MS=MasterSlider;MS.registerPlugin=function(plugin){-1===MS._plugins.indexOf(plugin)&&MS._plugins.push(plugin)};var p=MasterSlider.prototype;p.__setupSlides=function(){var new_slide,that=this,ind=0;this.$element.children(".ms-slide").each(function(){var $slide_ele=$(this);new_slide=new MSSlide,new_slide.$element=$slide_ele,new_slide.slider=that,new_slide.delay=void 0!==$slide_ele.data("delay")?$slide_ele.data("delay"):3,new_slide.fillMode=void 0!==$slide_ele.data("fill-mode")?$slide_ele.data("fill-mode"):that.options.fillMode,new_slide.index=ind++;var slide_img=$slide_ele.children("img:not(.ms-layer)");if(slide_img.length>0&&new_slide.setBG(slide_img[0]),that.controls)for(var i=0,l=that.controls.length;l>i;++i)that.controls[i].slideAction(new_slide);$slide_ele.children("a").each(function(){var $this=$(this);"video"===this.getAttribute("data-type")?(new_slide.video=this.getAttribute("href"),new_slide.videoAutoPlay=$this.data("autoplay"),$this.remove()):$this.hasClass("ms-layer")||(new_slide.link=$(this))});that.slides.push(new_slide),that.slideController.view.addSlide(new_slide)})},p._removeLoading=function(){$(window).unbind("resize",this.resize_listener),this.$element.removeClass("before-init").css("visibility","visible").css("height","").css("opacity",0),CTween.fadeIn(this.$element),this.$loading.remove(),this.slideController&&this.slideController.__resize()},p._resize=function(){if(this.$loading){var h=this.$loading[0].clientWidth/this.aspect;h=this.options.heightLimit?Math.min(h,this.options.height):h,this.$loading.height(h),this.$element.height(h)}},p._shuffleSlides=function(){for(var r,slides=this.$element.children(".ms-slide"),i=0,l=slides.length;l>i;++i)r=Math.floor(Math.random()*(l-1)),i!=r&&(this.$element[0].insertBefore(slides[i],slides[r]),slides=this.$element.children(".ms-slide"))},p._setupSliderLayout=function(){this._updateSideMargins(),this.lastMargin=this.leftSpace;var lo=this.options.layout;"boxed"!==lo&&"partialview"!==lo&&(this.options.fullwidth=!0),("fullscreen"===lo||"fullwidth"===lo||"autofill"===lo)&&($(window).bind("resize",{that:this},this._updateLayout),this._updateLayout()),$(window).bind("resize",this.slideController.resize_listener)},p._updateLayout=function(event){var that=event?event.data.that:this,$element=(that.options.layout,that.$element),$win=$(window);$element.width($win.width()-that.leftSpace-that.rightSpace);var margin=-$element.offset().left+that.leftSpace+that.lastMargin;$element.css("margin-left",margin),that.lastMargin=margin},p._init=function(){if(!(this._holdOn>0)&&this._docReady){if(this.initialized=!0,"all"!==this.options.preload&&this._removeLoading(),this.options.shuffle&&this._shuffleSlides(),this.slideController.setupView(),this.view=this.slideController.view,this.$controlsCont=$("<div></div>").addClass("ms-inner-controls-cont"),this.options.centerControls&&this.$controlsCont.css("max-width",this.options.width+"px"),this.$controlsCont.prepend(this.view.$element),this.$msContainer=$("<div></div>").addClass("ms-container").prependTo(this.$element).append(this.$controlsCont),this.controls)for(var i=0,l=this.controls.length;l>i;++i)this.controls[i].setup();if(this._setupSliderLayout(),this.__setupSlides(),this.slideController.setup(),this.controls)for(i=0,l=this.controls.length;l>i;++i)this.controls[i].create();if(this.options.autoHeight&&this.slideController.view.$element.height(this.slideController.currentSlide.getHeight()),this.options.swipe&&!window._touch&&this.options.grabCursor&&this.options.mouse){var $view=this.view.$element;$view.mousedown(function(){$view.removeClass("ms-grab-cursor"),$view.addClass("ms-grabbing-cursor"),$.browser.msie&&window.ms_grabbing_curosr&&($view[0].style.cursor="url("+window.ms_grabbing_curosr+"), move")}).addClass("ms-grab-cursor"),$(document).mouseup(function(){$view.removeClass("ms-grabbing-cursor"),$view.addClass("ms-grab-cursor"),$.browser.msie&&window.ms_grab_curosr&&($view[0].style.cursor="url("+window.ms_grab_curosr+"), move")})}this.slideController.__dispatchInit()}},p.setHeight=function(value){this.options.smoothHeight?(this.htween&&(this.htween.reset?this.htween.reset():this.htween.stop(!0)),this.htween=CTween.animate(this.slideController.view.$element,500,{height:value},{ease:"easeOutQuart"})):this.slideController.view.$element.height(value)},p.reserveSpace=function(side,space){var sideSpace=side+"Space",pos=this[sideSpace];return this[sideSpace]+=space,this._updateSideMargins(),pos},p._updateSideMargins=function(){this.$element.css("margin",this.topSpace+"px "+this.rightSpace+"px "+this.bottomSpace+"px "+this.leftSpace+"px")},p._realignControls=function(){this.rightSpace=this.leftSpace=this.topSpace=this.bottomSpace=0,this._updateSideMargins(),this.api.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESERVED_SPACE_CHANGE))},p.control=function(control,options){if(control in MSSlideController.SliderControlList){this.controls||(this.controls=[]);var ins=new MSSlideController.SliderControlList[control](options);return ins.slider=this,this.controls.push(ins),this}},p.holdOn=function(){this._holdOn++},p.release=function(){this._holdOn--,this._init()},p.setup=function(target,options){if(this.$element="string"==typeof target?$("#"+target):target.eq(0),this.setupMarkup=this.$element.html(),0!==this.$element.length){this.$element.addClass("master-slider").addClass("before-init"),$.browser.msie?this.$element.addClass("ms-ie").addClass("ms-ie"+$.browser.version.slice(0,$.browser.version.indexOf("."))):$.browser.webkit?this.$element.addClass("ms-wk"):$.browser.mozilla&&this.$element.addClass("ms-moz");var ua=navigator.userAgent.toLowerCase(),isAndroid=ua.indexOf("android")>-1;isAndroid&&this.$element.addClass("ms-android");var that=this;$.extend(this.options,options),this.aspect=this.options.width/this.options.height,this.$loading=$("<div></div>").addClass("ms-loading-container").insertBefore(this.$element).append($("<div></div>").addClass("ms-loading")),this.$loading.parent().css("position","relative"),this.options.autofill&&(this.options.fullwidth=!0,this.options.fullheight=!0),this.options.fullheight&&this.$element.addClass("ms-fullheight"),this._resize(),this.slideController=new MSSlideController(this),this.api=this.slideController;for(var i=0,l=MS._plugins.length;i!==l;i++){var plugin=MS._plugins[i];-1===this.options.disablePlugins.indexOf(plugin.name)&&this.activePlugins.push(new plugin(this))}return $(document).ready(function(){that._docReady=!0,that._init()}),this}},p.destroy=function(insertMarkup){for(var i=0,l=this.activePlugins.length;i!==l;i++)this.activePlugins[i].destroy();if(this.controls)for(i=0,l=this.controls.length;i!==l;i++)this.controls[i].destroy();this.slideController&&this.slideController._destroy(),this.$loading&&this.$loading.remove(),insertMarkup?this.$element.html(this.setupMarkup).css("visibility","hidden"):this.$element.remove();var lo=this.options.layout;("fullscreen"===lo||"fullwidth"===lo)&&$(window).unbind("resize",this._updateLayout),this.view=null,this.slides=null,this.options=null,this.slideController=null,this.api=null,this.resize_listener=null,this.activePlugins=null}}(jQuery),function($,window,document,undefined){function MasterSliderPlugin(element,options){this.element=element,this.$element=$(element),this.settings=$.extend({},defaults,options),this._defaults=defaults,this._name=pluginName,this.init()}var pluginName="masterslider",defaults={controls:{}};$.extend(MasterSliderPlugin.prototype,{init:function(){var self=this;this._slider=new MasterSlider;for(var control in this.settings.controls)this._slider.control(control,this.settings.controls[control]);this._slider.setup(this.$element,this.settings);var _superDispatch=this._slider.api.dispatchEvent;this._slider.api.dispatchEvent=function(event){self.$element.trigger(event.type),_superDispatch.call(this,event)}},api:function(){return this._slider.api},slider:function(){return this._slider}}),$.fn[pluginName]=function(options){var args=arguments,plugin="plugin_"+pluginName;if(options===undefined||"object"==typeof options)return this.each(function(){$.data(this,plugin)||$.data(this,plugin,new MasterSliderPlugin(this,options))});if("string"==typeof options&&"_"!==options[0]&&"init"!==options){var returns;return this.each(function(){var instance=$.data(this,plugin);instance instanceof MasterSliderPlugin&&"function"==typeof instance[options]&&(returns=instance[options].apply(instance,Array.prototype.slice.call(args,1))),instance instanceof MasterSliderPlugin&&"function"==typeof instance._slider.api[options]&&(returns=instance._slider.api[options].apply(instance._slider.api,Array.prototype.slice.call(args,1))),"destroy"===options&&$.data(this,plugin,null)}),returns!==undefined?returns:this}}}(jQuery,window,document),window.MSViewEvents=function(type,data){this.type=type,this.data=data},MSViewEvents.SWIPE_START="swipeStart",MSViewEvents.SWIPE_END="swipeEnd",MSViewEvents.SWIPE_MOVE="swipeMove",MSViewEvents.SWIPE_CANCEL="swipeCancel",MSViewEvents.SCROLL="scroll",MSViewEvents.CHANGE_START="slideChangeStart",MSViewEvents.CHANGE_END="slideChangeEnd",function($){"use strict";window.MSBasicView=function(options){this.options={loop:!1,dir:"h",autoHeight:!1,spacing:5,mouseSwipe:!0,swipe:!0,speed:17,minSlideSpeed:2,viewNum:20,critMargin:1},$.extend(this.options,options),this.dir=this.options.dir,this.loop=this.options.loop,this.spacing=this.options.spacing,this.__width=0,this.__height=0,this.__cssProb="h"===this.dir?"left":"top",this.__offset="h"===this.dir?"offsetLeft":"offsetTop",this.__dimension="h"===this.dir?"__width":"__height",this.__translate_end=window._css3d?" translateZ(0px)":"",this.$slideCont=$("<div></div>").addClass("ms-slide-container"),this.$element=$("<div></div>").addClass("ms-view").addClass("ms-basic-view").append(this.$slideCont),this.currentSlide=null,this.index=-1,this.slidesCount=0,this.slides=[],this.slideList=[],this.viewSlidesList=[],this.css3=window._cssanim,this.start_buffer=0,this.firstslide_snap=0,this.slideChanged=!1,this.controller=new Controller(0,0,{snapping:!0,snapsize:100,paging:!0,snappingMinSpeed:this.options.minSlideSpeed,friction:(100-.5*this.options.speed)/100,endless:this.loop}),this.controller.renderCallback("h"===this.dir?this._horizUpdate:this._vertiUpdate,this),this.controller.snappingCallback(this.__snapUpdate,this),this.controller.snapCompleteCallback(this.__snapCompelet,this),averta.EventDispatcher.call(this)};var p=MSBasicView.prototype;p.__snapCompelet=function(){this.slideChanged&&(this.slideChanged=!1,this.__locateSlides(),this.start_buffer=0,this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_END)))},p.__snapUpdate=function(controller,snap,change){if(this.loop){var target_index=this.index+change;this.updateLoop(target_index),target_index>=this.slidesCount&&(target_index-=this.slidesCount),0>target_index&&(target_index=this.slidesCount+target_index),this.index=target_index}else{if(0>snap||snap>=this.slidesCount)return;this.index=snap}this._checkCritMargins(),$.browser.mozilla&&(this.slideList[this.index].$element[0].style.marginTop="0.1px",this.currentSlide&&(this.currentSlide.$element[0].style.marginTop=""));var new_slide=this.slideList[this.index];new_slide!==this.currentSlide&&(this.currentSlide=new_slide,this.autoUpdateZIndex&&this.__updateSlidesZindex(),this.slideChanged=!0,this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_START)))},p._checkCritMargins=function(){if(!this.normalMode){var hlf=Math.floor(this.options.viewNum/2),inView=this.viewSlidesList.indexOf(this.slideList[this.index]),size=this[this.__dimension]+this.spacing,cm=this.options.critMargin;return this.loop?void((cm>=inView||inView>=this.viewSlidesList.length-cm)&&(size*=inView-hlf,this.__locateSlides(!1,size+this.start_buffer),this.start_buffer+=size)):void((cm>inView&&this.index>=cm||inView>=this.viewSlidesList.length-cm&&this.index<this.slidesCount-cm)&&this.__locateSlides(!1))}},p._vertiUpdate=function(controller,value){return this.__contPos=value,this.dispatchEvent(new MSViewEvents(MSViewEvents.SCROLL)),this.css3?void(this.$slideCont[0].style[window._jcsspfx+"Transform"]="translateY("+-value+"px)"+this.__translate_end):void(this.$slideCont[0].style.top=-value+"px")},p._horizUpdate=function(controller,value){return this.__contPos=value,this.dispatchEvent(new MSViewEvents(MSViewEvents.SCROLL)),this.css3?void(this.$slideCont[0].style[window._jcsspfx+"Transform"]="translateX("+-value+"px)"+this.__translate_end):void(this.$slideCont[0].style.left=-value+"px")},p.__updateViewList=function(){if(this.normalMode)return void(this.viewSlidesList=this.slides);var temp=this.viewSlidesList.slice();this.viewSlidesList=[];var l,i=0,hlf=Math.floor(this.options.viewNum/2);if(this.loop)for(;i!==this.options.viewNum;i++)this.viewSlidesList.push(this.slides[this.currentSlideLoc-hlf+i]);else{for(i=0;i!==hlf&&this.index-i!==-1;i++)this.viewSlidesList.unshift(this.slideList[this.index-i]);for(i=1;i!==hlf&&this.index+i!==this.slidesCount;i++)this.viewSlidesList.push(this.slideList[this.index+i])}for(i=0,l=temp.length;i!==l;i++)-1===this.viewSlidesList.indexOf(temp[i])&&temp[i].sleep();temp=null,this.currentSlide&&this.__updateSlidesZindex()},p.__locateSlides=function(move,start){this.__updateViewList(),start=this.loop?start||0:this.slides.indexOf(this.viewSlidesList[0])*(this[this.__dimension]+this.spacing);for(var slide,l=this.viewSlidesList.length,i=0;i!==l;i++){var pos=start+i*(this[this.__dimension]+this.spacing);slide=this.viewSlidesList[i],slide.wakeup(),slide.position=pos,slide.$element[0].style[this.__cssProb]=pos+"px"}move!==!1&&this.controller.changeTo(this.slideList[this.index].position,!1,null,null,!1)},p.__createLoopList=function(){var return_arr=[],i=0,count=this.slidesCount/2,before_count=this.slidesCount%2===0?count-1:Math.floor(count),after_count=this.slidesCount%2===0?count:Math.floor(count);for(this.currentSlideLoc=before_count,i=1;before_count>=i;++i)return_arr.unshift(this.slideList[this.index-i<0?this.slidesCount-i+this.index:this.index-i]);for(return_arr.push(this.slideList[this.index]),i=1;after_count>=i;++i)return_arr.push(this.slideList[this.index+i>=this.slidesCount?this.index+i-this.slidesCount:this.index+i]);return return_arr},p.__getSteps=function(index,target){var right=index>target?this.slidesCount-index+target:target-index,left=Math.abs(this.slidesCount-right);return left>right?right:-left},p.__pushEnd=function(){var first_slide=this.slides.shift(),last_slide=this.slides[this.slidesCount-2];if(this.slides.push(first_slide),this.normalMode){var pos=last_slide.$element[0][this.__offset]+this.spacing+this[this.__dimension];first_slide.$element[0].style[this.__cssProb]=pos+"px",first_slide.position=pos}},p.__pushStart=function(){var last_slide=this.slides.pop(),first_slide=this.slides[0];if(this.slides.unshift(last_slide),this.normalMode){var pos=first_slide.$element[0][this.__offset]-this.spacing-this[this.__dimension];last_slide.$element[0].style[this.__cssProb]=pos+"px",last_slide.position=pos}},p.__updateSlidesZindex=function(){{var slide,l=this.viewSlidesList.length;Math.floor(l/2)}if(this.loop)for(var loc=this.viewSlidesList.indexOf(this.currentSlide),i=0;i!==l;i++)slide=this.viewSlidesList[i],this.viewSlidesList[i].$element.css("z-index",loc>=i?i+1:l-i);else{for(var beforeNum=this.currentSlide.index-this.viewSlidesList[0].index,i=0;i!==l;i++)this.viewSlidesList[i].$element.css("z-index",beforeNum>=i?i+1:l-i);this.currentSlide.$element.css("z-index",l)}},p.addSlide=function(slide){slide.view=this,this.slides.push(slide),this.slideList.push(slide),this.slidesCount++},p.appendSlide=function(slide){this.$slideCont.append(slide.$element)},p.updateLoop=function(index){if(this.loop)for(var steps=this.__getSteps(this.index,index),i=0,l=Math.abs(steps);l>i;++i)0>steps?this.__pushStart():this.__pushEnd()},p.gotoSlide=function(index,fast){this.updateLoop(index),this.index=index;var target_slide=this.slideList[index];this._checkCritMargins(),this.controller.changeTo(target_slide.position,!fast,null,null,!1),target_slide!==this.currentSlide&&(this.slideChanged=!0,this.currentSlide=target_slide,this.autoUpdateZIndex&&this.__updateSlidesZindex(),this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_START)),fast&&this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_END)))},p.next=function(checkLoop){return checkLoop&&!this.loop&&this.index+1>=this.slidesCount?void this.controller.bounce(10):void this.gotoSlide(this.index+1>=this.slidesCount?0:this.index+1)},p.previous=function(checkLoop){return checkLoop&&!this.loop&&this.index-1<0?void this.controller.bounce(-10):void this.gotoSlide(this.index-1<0?this.slidesCount-1:this.index-1)},p.setupSwipe=function(){this.swipeControl=new averta.TouchSwipe(this.$element),this.swipeControl.swipeType="h"===this.dir?"horizontal":"vertical";var that=this;this.swipeControl.onSwipe="h"===this.dir?function(status){that.horizSwipeMove(status)}:function(status){that.vertSwipeMove(status)}},p.vertSwipeMove=function(status){var phase=status.phase;if("start"===phase)this.controller.stop(),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_START,status));else if("move"===phase&&(!this.loop||Math.abs(this.currentSlide.position-this.controller.value+status.moveY)<this.cont_size/2))this.controller.drag(status.moveY),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_MOVE,status));else if("end"===phase||"cancel"===phase){var speed=status.distanceY/status.duration*50/3;Math.abs(speed)>.1?(this.controller.push(-speed),speed>this.controller.options.snappingMinSpeed&&this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_END,status))):(this.controller.cancel(),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_CANCEL,status)))}},p.horizSwipeMove=function(status){var phase=status.phase;if("start"===phase)this.controller.stop(),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_START,status));else if("move"===phase&&(!this.loop||Math.abs(this.currentSlide.position-this.controller.value+status.moveX)<this.cont_size/2))this.controller.drag(status.moveX),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_MOVE,status));else if("end"===phase||"cancel"===phase){var speed=status.distanceX/status.duration*50/3;Math.abs(speed)>.1?(this.controller.push(-speed),speed>this.controller.options.snappingMinSpeed&&this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_END,status))):(this.controller.cancel(),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_CANCEL,status)))}},p.setSize=function(width,height,hard){if(this.lastWidth!==width||height!==this.lastHeight||hard){this.$element.width(width).height(height);for(var i=0;i<this.slidesCount;++i)this.slides[i].setSize(width,height,hard);this.__width=width,this.__height=height,this.__created&&(this.__locateSlides(),this.cont_size=(this.slidesCount-1)*(this[this.__dimension]+this.spacing),this.loop||(this.controller._max_value=this.cont_size),this.controller.options.snapsize=this[this.__dimension]+this.spacing,this.controller.changeTo(this.currentSlide.position,!1,null,null,!1),this.controller.cancel(),this.lastWidth=width,this.lastHeight=height)}},p.create=function(index){this.__created=!0,this.index=Math.min(index||0,this.slidesCount-1),this.lastSnap=this.index,this.loop&&(this.slides=this.__createLoopList()),this.normalMode=this.slidesCount<=this.options.viewNum;for(var i=0;i<this.slidesCount;++i)this.slides[i].create();this.__locateSlides(),this.controller.options.snapsize=this[this.__dimension]+this.spacing,this.loop||(this.controller._max_value=(this.slidesCount-1)*(this[this.__dimension]+this.spacing)),this.gotoSlide(this.index,!0),this.options.swipe&&(window._touch||this.options.mouseSwipe)&&this.setupSwipe()},p.destroy=function(){if(this.__created){for(var i=0;i<this.slidesCount;++i)this.slides[i].destroy();this.slides=null,this.slideList=null,this.$element.remove(),this.controller.destroy(),this.controller=null}},averta.EventDispatcher.extend(p),MSSlideController.registerView("basic",MSBasicView)}(jQuery),function(){"use strict";window.MSFadeView=function(options){MSBasicView.call(this,options),this.$element.removeClass("ms-basic-view").addClass("ms-fade-view"),this.controller.renderCallback(this.__update,this)},MSFadeView.extend(MSBasicView);var p=MSFadeView.prototype,_super=MSBasicView.prototype;p.__update=function(controller,value){for(var slide,distance,cont_scroll=-value,i=0;i<this.slidesCount;++i)slide=this.slideList[i],distance=-cont_scroll-slide.position,this.__updateSlides(slide,distance)},p.__updateSlides=function(slide,distance){var value=Math.abs(distance/this[this.__dimension]);0>=1-value?slide.$element.fadeTo(0,0).css("visibility","hidden"):slide.$element.fadeTo(0,1-value).css("visibility","")},p.__locateSlides=function(move,start){this.__updateViewList(),start=this.loop?start||0:this.slides.indexOf(this.viewSlidesList[0])*(this[this.__dimension]+this.spacing);for(var slide,l=this.viewSlidesList.length,i=0;i!==l;i++){var pos=start+i*this[this.__dimension];slide=this.viewSlidesList[i],slide.wakeup(),slide.position=pos}move!==!1&&this.controller.changeTo(this.slideList[this.index].position,!1,null,null,!1)},p.__pushEnd=function(){var first_slide=this.slides.shift(),last_slide=this.slides[this.slidesCount-2];this.slides.push(first_slide),first_slide.position=last_slide.position+this[this.__dimension]},p.__pushStart=function(){var last_slide=this.slides.pop(),first_slide=this.slides[0];this.slides.unshift(last_slide),last_slide.position=first_slide.position-this[this.__dimension]},p.create=function(index){_super.create.call(this,index),this.spacing=0,this.controller.options.minValidDist=10},MSSlideController.registerView("fade",MSFadeView)}(jQuery),function($){"use strict";var BaseControl=function(){this.options={prefix:"ms-",autohide:!0,overVideo:!0,customClass:null}},p=BaseControl.prototype;p.slideAction=function(){},p.setup=function(){this.cont=this.options.insertTo?$(this.options.insertTo):this.slider.$controlsCont,this.options.overVideo||this._hideOnvideoStarts()},p.checkHideUnder=function(){this.options.hideUnder&&(this.needsRealign=!this.options.insetTo&&("left"===this.options.align||"right"===this.options.align)&&this.options.inset===!1,$(window).bind("resize",{that:this},this.onResize),this.onResize())},p.onResize=function(event){var that=event&&event.data.that||this,w=window.innerWidth;w<=that.options.hideUnder&&!that.detached?(that.hide(!0),that.detached=!0,that.onDetach()):w>=that.options.hideUnder&&that.detached&&(that.detached=!1,that.visible(),that.onAppend())},p.create=function(){this.options.autohide&&(this.hide(!0),this.slider.$controlsCont.mouseenter($.proxy(this._onMouseEnter,this)).mouseleave($.proxy(this._onMouseLeave,this)).mousedown($.proxy(this._onMouseDown,this)),this.$element&&this.$element.mouseenter($.proxy(this._onMouseEnter,this)).mouseleave($.proxy(this._onMouseLeave,this)).mousedown($.proxy(this._onMouseDown,this)),$(document).mouseup($.proxy(this._onMouseUp,this))),this.options.align&&this.$element.addClass("ms-align-"+this.options.align),this.options.customClass&&this.$element&&this.$element.addClass(this.options.customClass)
11
- },p._onMouseEnter=function(){this._disableAH||this.mdown||this.visible(),this.mleave=!1},p._onMouseLeave=function(){this.mdown||this.hide(),this.mleave=!0},p._onMouseDown=function(){this.mdown=!0},p._onMouseUp=function(){this.mdown&&this.mleave&&this.hide(),this.mdown=!1},p.onAppend=function(){this.needsRealign&&this.slider._realignControls()},p.onDetach=function(){this.needsRealign&&this.slider._realignControls()},p._hideOnvideoStarts=function(){var that=this;this.slider.api.addEventListener(MSSliderEvent.VIDEO_PLAY,function(){that._disableAH=!0,that.hide()}),this.slider.api.addEventListener(MSSliderEvent.VIDEO_CLOSE,function(){that._disableAH=!1,that.visible()})},p.hide=function(fast){if(fast)this.$element.css("opacity",0),this.$element.css("display","none");else{clearTimeout(this.hideTo);var $element=this.$element;this.hideTo=setTimeout(function(){CTween.fadeOut($element,400,!1)},20)}this.$element.addClass("ms-ctrl-hide")},p.visible=function(){this.detached||(clearTimeout(this.hideTo),this.$element.css("display",""),CTween.fadeIn(this.$element,400,!1),this.$element.removeClass("ms-ctrl-hide"))},p.destroy=function(){this.options&&this.options.hideUnder&&$(window).unbind("resize",this.onResize)},window.BaseControl=BaseControl}(jQuery),function($){"use strict";var MSArrows=function(options){BaseControl.call(this),$.extend(this.options,options)};MSArrows.extend(BaseControl);var p=MSArrows.prototype,_super=BaseControl.prototype;p.setup=function(){var that=this;this.$next=$("<div></div>").addClass(this.options.prefix+"nav-next").bind("click",function(){that.slider.api.next(!0)}),this.$prev=$("<div></div>").addClass(this.options.prefix+"nav-prev").bind("click",function(){that.slider.api.previous(!0)}),_super.setup.call(this),this.cont.append(this.$next),this.cont.append(this.$prev),this.checkHideUnder()},p.hide=function(fast){return fast?(this.$prev.css("opacity",0).css("display","none"),void this.$next.css("opacity",0).css("display","none")):(CTween.fadeOut(this.$prev,400,!1),CTween.fadeOut(this.$next,400,!1),this.$prev.addClass("ms-ctrl-hide"),void this.$next.addClass("ms-ctrl-hide"))},p.visible=function(){this.detached||(CTween.fadeIn(this.$prev,400),CTween.fadeIn(this.$next,400),this.$prev.removeClass("ms-ctrl-hide").css("display",""),this.$next.removeClass("ms-ctrl-hide").css("display",""))},p.destroy=function(){_super.destroy(),this.$next.remove(),this.$prev.remove()},window.MSArrows=MSArrows,MSSlideController.registerControl("arrows",MSArrows)}(jQuery),function($){"use strict";var MSThumblist=function(options){BaseControl.call(this),this.options.dir="h",this.options.wheel="v"===options.dir,this.options.arrows=!1,this.options.speed=17,this.options.align=null,this.options.inset=!1,this.options.margin=10,this.options.space=10,this.options.width=100,this.options.height=100,this.options.type="thumbs",this.options.hover=!1,$.extend(this.options,options),this.thumbs=[],this.index_count=0,this.__dimen="h"===this.options.dir?"width":"height",this.__alignsize="h"===this.options.dir?"height":"width",this.__jdimen="h"===this.options.dir?"outerWidth":"outerHeight",this.__pos="h"===this.options.dir?"left":"top",this.click_enable=!0};MSThumblist.extend(BaseControl);var p=MSThumblist.prototype,_super=BaseControl.prototype;p.setup=function(){if(this.$element=$("<div></div>").addClass(this.options.prefix+"thumb-list"),"tabs"===this.options.type&&this.$element.addClass(this.options.prefix+"tabs"),this.$element.addClass("ms-dir-"+this.options.dir),_super.setup.call(this),this.$element.appendTo(this.slider.$controlsCont===this.cont?this.slider.$element:this.cont),this.$thumbscont=$("<div></div>").addClass("ms-thumbs-cont").appendTo(this.$element),this.options.arrows){var that=this;this.$fwd=$("<div></div>").addClass("ms-thumblist-fwd").appendTo(this.$element).click(function(){that.controller.push(-15)}),this.$bwd=$("<div></div>").addClass("ms-thumblist-bwd").appendTo(this.$element).click(function(){that.controller.push(15)})}if(!this.options.insetTo&&this.options.align){var align=this.options.align;this.options.inset?this.$element.css(align,this.options.margin):"top"===align?this.$element.detach().prependTo(this.slider.$element).css({"margin-bottom":this.options.margin,position:"relative"}):"bottom"===align?this.$element.css({"margin-top":this.options.margin,position:"relative"}):(this.slider.api.addEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.align()),"v"===this.options.dir?this.$element.width(this.options.width):this.$element.height(this.options.height)}this.checkHideUnder()},p.align=function(){if(!this.detached){var align=this.options.align,pos=this.slider.reserveSpace(align,this.options[this.__alignsize]+2*this.options.margin);this.$element.css(align,-pos-this.options[this.__alignsize]-this.options.margin)}},p.slideAction=function(slide){var thumb_ele=slide.$element.find(".ms-thumb"),that=this,thumb_frame=$("<div></div>").addClass("ms-thumb-frame").append(thumb_ele).append($('<div class="ms-thumb-ol"></div>')).bind(this.options.hover?"hover":"click",function(){that.changeSlide(thumb_frame)});if(this.options.align&&thumb_frame.width(this.options.width-("v"===this.options.dir&&"tabs"===this.options.type?12:0)).height(this.options.height).css("margin-"+("v"===this.options.dir?"bottom":"right"),this.options.space),thumb_frame[0].index=this.index_count++,this.$thumbscont.append(thumb_frame),this.options.fillMode&&thumb_ele.is("img")){var aligner=new window.MSAligner(this.options.fillMode,thumb_frame,thumb_ele);thumb_ele[0].aligner=aligner,thumb_ele.one("load",function(){var $this=$(this);$this[0].aligner.init($this.width(),$this.height()),$this[0].aligner.align()}).each($.jqLoadFix)}$.browser.msie&&thumb_ele.on("dragstart",function(event){event.preventDefault()}),this.thumbs.push(thumb_frame)},p.create=function(){_super.create.call(this),this.__translate_end=window._css3d?" translateZ(0px)":"",this.controller=new Controller(0,0,{snappingMinSpeed:2,friction:(100-.5*this.options.speed)/100}),this.controller.renderCallback("h"===this.options.dir?this._hMove:this._vMove,this);var that=this;this.resize_listener=function(){that.__resize()},$(window).bind("resize",this.resize_listener),this.thumbSize=this.thumbs[0][this.__jdimen](!0),this.setupSwipe(),this.__resize();var that=this;this.options.wheel&&(this.wheellistener=function(event){var e=window.event||event.orginalEvent||event,delta=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));return that.controller.push(10*-delta),!1},$.browser.mozilla?this.$element[0].addEventListener("DOMMouseScroll",this.wheellistener):this.$element.bind("mousewheel",this.wheellistener)),this.slider.api.addEventListener(MSSliderEvent.CHANGE_START,this.update,this),this.slider.api.addEventListener(MSSliderEvent.HARD_UPDATE,this.realignThumbs,this),this.cindex=this.slider.api.index(),this.select(this.thumbs[this.cindex])},p._hMove=function(controller,value){return this.__contPos=value,window._cssanim?void(this.$thumbscont[0].style[window._jcsspfx+"Transform"]="translateX("+-value+"px)"+this.__translate_end):void(this.$thumbscont[0].style.left=-value+"px")},p._vMove=function(controller,value){return this.__contPos=value,window._cssanim?void(this.$thumbscont[0].style[window._jcsspfx+"Transform"]="translateY("+-value+"px)"+this.__translate_end):void(this.$thumbscont[0].style.top=-value+"px")},p.setupSwipe=function(){this.swipeControl=new averta.TouchSwipe(this.$element),this.swipeControl.swipeType="h"===this.options.dir?"horizontal":"vertical";var that=this;this.swipeControl.onSwipe="h"===this.options.dir?function(status){that.horizSwipeMove(status)}:function(status){that.vertSwipeMove(status)}},p.vertSwipeMove=function(status){if(!this.dTouch){var phase=status.phase;if("start"===phase)this.controller.stop();else if("move"===phase)this.controller.drag(status.moveY);else if("end"===phase||"cancel"===phase){var speed=Math.abs(status.distanceY/status.duration*50/3);speed>.1?this.controller.push(-status.distanceY/status.duration*50/3):(this.click_enable=!0,this.controller.cancel())}}},p.horizSwipeMove=function(status){if(!this.dTouch){var phase=status.phase;if("start"===phase)this.controller.stop(),this.click_enable=!1;else if("move"===phase)this.controller.drag(status.moveX);else if("end"===phase||"cancel"===phase){var speed=Math.abs(status.distanceX/status.duration*50/3);speed>.1?this.controller.push(-status.distanceX/status.duration*50/3):(this.click_enable=!0,this.controller.cancel())}}},p.update=function(){var nindex=this.slider.api.index();this.cindex!==nindex&&(null!=this.cindex&&this.unselect(this.thumbs[this.cindex]),this.cindex=nindex,this.select(this.thumbs[this.cindex]),this.dTouch||this.updateThumbscroll())},p.realignThumbs=function(){this.$element.find(".ms-thumb").each(function(index,thumb){thumb.aligner&&thumb.aligner.align()})},p.updateThumbscroll=function(){var pos=this.thumbSize*this.cindex;if(0/0==this.controller.value&&(this.controller.value=0),pos-this.controller.value<0)return void this.controller.gotoSnap(this.cindex,!0);if(pos+this.thumbSize-this.controller.value>this.$element[this.__dimen]()){var first_snap=this.cindex-Math.floor(this.$element[this.__dimen]()/this.thumbSize)+1;return void this.controller.gotoSnap(first_snap,!0)}},p.changeSlide=function(thumb){this.click_enable&&this.cindex!==thumb[0].index&&this.slider.api.gotoSlide(thumb[0].index)},p.unselect=function(ele){ele.removeClass("ms-thumb-frame-selected")},p.select=function(ele){ele.addClass("ms-thumb-frame-selected")},p.__resize=function(){var size=this.$element[this.__dimen]();if(this.ls!==size){this.ls=size,this.thumbSize=this.thumbs[0][this.__jdimen](!0);var len=this.slider.api.count()*this.thumbSize;this.$thumbscont[0].style[this.__dimen]=len+"px",size>=len?(this.dTouch=!0,this.controller.stop(),this.$thumbscont[0].style[this.__pos]=.5*(size-len)+"px",this.$thumbscont[0].style[window._jcsspfx+"Transform"]=""):(this.dTouch=!1,this.click_enable=!0,this.$thumbscont[0].style[this.__pos]="",this.controller._max_value=len-size,this.controller.options.snapsize=this.thumbSize,this.updateThumbscroll())}},p.destroy=function(){_super.destroy(),this.options.wheel&&($.browser.mozilla?this.$element[0].removeEventListener("DOMMouseScroll",this.wheellistener):this.$element.unbind("mousewheel",this.wheellistener),this.wheellistener=null),$(window).unbind("resize",this.resize_listener),this.$element.remove(),this.slider.api.removeEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.slider.api.removeEventListener(MSSliderEvent.CHANGE_START,this.update,this)},window.MSThumblist=MSThumblist,MSSlideController.registerControl("thumblist",MSThumblist)}(jQuery),function($){"use strict";var MSBulltes=function(options){BaseControl.call(this),this.options.dir="h",this.options.inset=!0,this.options.margin=10,this.options.space=10,$.extend(this.options,options),this.bullets=[]};MSBulltes.extend(BaseControl);var p=MSBulltes.prototype,_super=BaseControl.prototype;p.setup=function(){if(_super.setup.call(this),this.$element=$("<div></div>").addClass(this.options.prefix+"bullets").addClass("ms-dir-"+this.options.dir).appendTo(this.cont),this.$bullet_cont=$("<div></div>").addClass("ms-bullets-count").appendTo(this.$element),!this.options.insetTo&&this.options.align){var align=this.options.align;this.options.inset&&this.$element.css(align,this.options.margin)}this.checkHideUnder()},p.create=function(){_super.create.call(this);var that=this;this.slider.api.addEventListener(MSSliderEvent.CHANGE_START,this.update,this),this.cindex=this.slider.api.index();for(var i=0;i<this.slider.api.count();++i){var bullet=$("<div></div>").addClass("ms-bullet");bullet[0].index=i,bullet.on("click",function(){that.changeSlide(this.index)}),this.$bullet_cont.append(bullet),this.bullets.push(bullet),"h"===this.options.dir?bullet.css("margin",this.options.space/2):bullet.css("margin",this.options.space)}"h"===this.options.dir?this.$element.width(bullet.outerWidth(!0)*this.slider.api.count()):this.$element.css("margin-top",-this.$element.outerHeight(!0)/2),this.select(this.bullets[this.cindex])},p.update=function(){var nindex=this.slider.api.index();this.cindex!==nindex&&(null!=this.cindex&&this.unselect(this.bullets[this.cindex]),this.cindex=nindex,this.select(this.bullets[this.cindex]))},p.changeSlide=function(index){this.cindex!==index&&this.slider.api.gotoSlide(index)},p.unselect=function(ele){ele.removeClass("ms-bullet-selected")},p.select=function(ele){ele.addClass("ms-bullet-selected")},p.destroy=function(){_super.destroy(),this.slider.api.removeEventListener(MSSliderEvent.CHANGE_START,this.update,this),this.$element.remove()},window.MSBulltes=MSBulltes,MSSlideController.registerControl("bullets",MSBulltes)}(jQuery),function($){"use strict";var MSScrollbar=function(options){BaseControl.call(this),this.options.dir="h",this.options.autohide=!0,this.options.width=4,this.options.color="#3D3D3D",this.options.margin=10,$.extend(this.options,options),this.__dimen="h"===this.options.dir?"width":"height",this.__jdimen="h"===this.options.dir?"outerWidth":"outerHeight",this.__pos="h"===this.options.dir?"left":"top",this.__translate_end=window._css3d?" translateZ(0px)":"",this.__translate_start="h"===this.options.dir?" translateX(":"translateY("};MSScrollbar.extend(BaseControl);var p=MSScrollbar.prototype,_super=BaseControl.prototype;p.setup=function(){if(this.$element=$("<div></div>").addClass(this.options.prefix+"sbar").addClass("ms-dir-"+this.options.dir),_super.setup.call(this),this.$element.appendTo(this.slider.$controlsCont===this.cont?this.slider.$element:this.cont),this.$bar=$("<div></div>").addClass(this.options.prefix+"bar").appendTo(this.$element),this.slider.options.loop&&(this.disable=!0,this.$element.remove()),"v"===this.options.dir?this.$bar.width(this.options.width):this.$bar.height(this.options.width),this.$bar.css("background-color",this.options.color),!this.options.insetTo&&this.options.align){this.$element.css("v"===this.options.dir?{right:"auto",left:"auto"}:{top:"auto",bottom:"auto"});var align=this.options.align;this.options.inset?this.$element.css(align,this.options.margin):"top"===align?this.$element.prependTo(this.slider.$element).css({"margin-bottom":this.options.margin,position:"relative"}):"bottom"===align?this.$element.css({"margin-top":this.options.margin,position:"relative"}):(this.slider.api.addEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.align())}this.checkHideUnder()},p.align=function(){if(!this.detached){var align=this.options.align,pos=this.slider.reserveSpace(align,2*this.options.margin+this.options.width);this.$element.css(align,-pos-this.options.margin-this.options.width)}},p.create=function(){if(!this.disable){this.scroller=this.slider.api.scroller,this.slider.api.view.addEventListener(MSViewEvents.SCROLL,this._update,this),this.slider.api.addEventListener(MSSliderEvent.RESIZE,this._resize,this),this._resize(),this.options.autohide&&this.$bar.css("opacity","0")}},p._resize=function(){this.vdimen=this.$element[this.__dimen](),this.bar_dimen=this.slider.api.view["__"+this.__dimen]*this.vdimen/this.scroller._max_value,this.$bar[this.__dimen](this.bar_dimen)},p._update=function(){var value=this.scroller.value*(this.vdimen-this.bar_dimen)/this.scroller._max_value;if(this.lvalue!==value){if(this.lvalue=value,this.options.autohide){clearTimeout(this.hto),this.$bar.css("opacity","1");var that=this;this.hto=setTimeout(function(){that.$bar.css("opacity","0")},150)}return 0>value?void(this.$bar[0].style[this.__dimen]=this.bar_dimen+value+"px"):(value>this.vdimen-this.bar_dimen&&(this.$bar[0].style[this.__dimen]=this.vdimen-value+"px"),window._cssanim?void(this.$bar[0].style[window._jcsspfx+"Transform"]=this.__translate_start+value+"px)"+this.__translate_end):void(this.$bar[0].style[this.__pos]=value+"px"))}},p.destroy=function(){_super.destroy(),this.slider.api.view.removeEventListener(MSViewEvents.SCROLL,this._update,this),this.slider.api.removeEventListener(MSSliderEvent.RESIZE,this._resize,this),this.slider.api.removeEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.$element.remove()},window.MSScrollbar=MSScrollbar,MSSlideController.registerControl("scrollbar",MSScrollbar)}(jQuery),function($){"use strict";var MSTimerbar=function(options){BaseControl.call(this),this.options.autohide=!1,this.options.width=4,this.options.color="#FFFFFF",this.options.inset=!0,this.options.margin=0,$.extend(this.options,options)};MSTimerbar.extend(BaseControl);var p=MSTimerbar.prototype,_super=BaseControl.prototype;p.setup=function(){if(_super.setup.call(this),this.$element=$("<div></div>").addClass(this.options.prefix+"timerbar"),_super.setup.call(this),this.$element.appendTo(this.slider.$controlsCont===this.cont?this.slider.$element:this.cont),this.$bar=$("<div></div>").addClass("ms-time-bar").appendTo(this.$element),"v"===this.options.dir?(this.$bar.width(this.options.width),this.$element.width(this.options.width)):(this.$bar.height(this.options.width),this.$element.height(this.options.width)),this.$bar.css("background-color",this.options.color),!this.options.insetTo&&this.options.align){this.$element.css({top:"auto",bottom:"auto"});var align=this.options.align;this.options.inset?this.$element.css(align,this.options.margin):"top"===align?this.$element.prependTo(this.slider.$element).css({"margin-bottom":this.options.margin,position:"relative"}):"bottom"===align?this.$element.css({"margin-top":this.options.margin,position:"relative"}):(this.slider.api.addEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.align())}this.checkHideUnder()},p.align=function(){if(!this.detached){var align=this.options.align,pos=this.slider.reserveSpace(align,2*this.options.margin+this.options.width);this.$element.css(align,-pos-this.options.margin-this.options.width)}},p.create=function(){_super.create.call(this),this.slider.api.addEventListener(MSSliderEvent.WAITING,this._update,this),this._update()},p._update=function(){this.$bar[0].style.width=this.slider.api._delayProgress+"%"},p.destroy=function(){_super.destroy(),this.slider.api.removeEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.slider.api.removeEventListener(MSSliderEvent.WAITING,this._update,this),this.$element.remove()},window.MSTimerbar=MSTimerbar,MSSlideController.registerControl("timebar",MSTimerbar)}(jQuery),function($){"use strict";var MSCircleTimer=function(options){BaseControl.call(this),this.options.color="#A2A2A2",this.options.stroke=10,this.options.radius=4,this.options.autohide=!1,$.extend(this.options,options)};MSCircleTimer.extend(BaseControl);var p=MSCircleTimer.prototype,_super=BaseControl.prototype;p.setup=function(){return _super.setup.call(this),this.$element=$("<div></div>").addClass(this.options.prefix+"ctimer").appendTo(this.cont),this.$canvas=$("<canvas></canvas>").addClass("ms-ctimer-canvas").appendTo(this.$element),this.$bar=$("<div></div>").addClass("ms-ctimer-bullet").appendTo(this.$element),this.$canvas[0].getContext?(this.ctx=this.$canvas[0].getContext("2d"),this.prog=0,this.__w=2*(this.options.radius+this.options.stroke/2),this.$canvas[0].width=this.__w,this.$canvas[0].height=this.__w,void this.checkHideUnder()):(this.destroy(),void(this.disable=!0))},p.create=function(){if(!this.disable){_super.create.call(this),this.slider.api.addEventListener(MSSliderEvent.WAITING,this._update,this);var that=this;this.$element.click(function(){that.slider.api.paused?that.slider.api.resume():that.slider.api.pause()}),this._update()}},p._update=function(){var that=this;$(this).stop(!0).animate({prog:.01*this.slider.api._delayProgress},{duration:200,step:function(){that._draw()}})},p._draw=function(){this.ctx.clearRect(0,0,this.__w,this.__w),this.ctx.beginPath(),this.ctx.arc(.5*this.__w,.5*this.__w,this.options.radius,1.5*Math.PI,1.5*Math.PI+2*Math.PI*this.prog,!1),this.ctx.strokeStyle=this.options.color,this.ctx.lineWidth=this.options.stroke,this.ctx.stroke()},p.destroy=function(){_super.destroy(),this.disable||($(this).stop(!0),this.slider.api.removeEventListener(MSSliderEvent.WAITING,this._update,this),this.$element.remove())},window.MSCircleTimer=MSCircleTimer,MSSlideController.registerControl("circletimer",MSCircleTimer)}(jQuery),function($){"use strict";window.MSSlideInfo=function(options){BaseControl.call(this,options),this.options.autohide=!1,this.options.align=null,this.options.inset=!1,this.options.margin=10,this.options.size=100,this.options.dir="h",$.extend(this.options,options),this.data_list=[]},MSSlideInfo.fadeDuratation=400,MSSlideInfo.extend(BaseControl);var p=MSSlideInfo.prototype,_super=BaseControl.prototype;p.setup=function(){if(this.$element=$("<div></div>").addClass(this.options.prefix+"slide-info").addClass("ms-dir-"+this.options.dir),_super.setup.call(this),this.$element.appendTo(this.slider.$controlsCont===this.cont?this.slider.$element:this.cont),!this.options.insetTo&&this.options.align){var align=this.options.align;this.options.inset?this.$element.css(align,this.options.margin):"top"===align?this.$element.prependTo(this.slider.$element).css({"margin-bottom":this.options.margin,position:"relative"}):"bottom"===align?this.$element.css({"margin-top":this.options.margin,position:"relative"}):(this.slider.api.addEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.align()),"v"===this.options.dir?this.$element.width(this.options.size):this.$element.css("min-height",this.options.size)}this.checkHideUnder()},p.align=function(){if(!this.detached){var align=this.options.align,pos=this.slider.reserveSpace(align,this.options.size+2*this.options.margin);this.$element.css(align,-pos-this.options.size-this.options.margin)}},p.slideAction=function(slide){var info_ele=$(slide.$element.find(".ms-info"));info_ele.detach(),this.data_list[slide.index]=info_ele},p.create=function(){_super.create.call(this),this.slider.api.addEventListener(MSSliderEvent.CHANGE_START,this.update,this),this.cindex=this.slider.api.index(),this.switchEle(this.data_list[this.cindex])},p.update=function(){var nindex=this.slider.api.index();this.switchEle(this.data_list[nindex]),this.cindex=nindex},p.switchEle=function(ele){if(this.current_ele){this.current_ele[0].tween&&this.current_ele[0].tween.stop(!0),this.current_ele[0].tween=CTween.animate(this.current_ele,MSSlideInfo.fadeDuratation,{opacity:0},{complete:function(){this.detach(),this[0].tween=null,ele.css("position","relative")},target:this.current_ele}),ele.css("position","absolute")}this.__show(ele)},p.__show=function(ele){ele.appendTo(this.$element).css("opacity","0"),this.current_ele&&ele.height(Math.max(ele.height(),this.current_ele.height())),clearTimeout(this.tou),this.tou=setTimeout(function(){CTween.fadeIn(ele,MSSlideInfo.fadeDuratation),ele.css("height","")},MSSlideInfo.fadeDuratation),ele[0].tween&&ele[0].tween.stop(!0),this.current_ele=ele},p.destroy=function(){_super.destroy(),clearTimeout(this.tou),this.current_ele&&this.current_ele[0].tween&&this.current_ele[0].tween.stop("true"),this.$element.remove(),this.slider.api.removeEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.slider.api.removeEventListener(MSSliderEvent.CHANGE_START,this.update,this)},MSSlideController.registerControl("slideinfo",MSSlideInfo)}(jQuery),function($,document,window){var PId=0,$window=$(window),$doc=$(document);if(window.MasterSlider){var StartOnAppear=function(slider){this.PId=PId++,this.slider=slider,this.$slider=slider.$element,this.slider.options.startOnAppear&&(slider.holdOn(),$doc.ready($.proxy(this.init,this)))};StartOnAppear.name="MSStartOnAppear";var p=StartOnAppear.prototype;p.init=function(){this.slider.api;$window.on("scroll.soa"+this.PId,$.proxy(this._onScroll,this)).trigger("scroll")},p._onScroll=function(){var vpBottom=$window.scrollTop()+$window.height(),top=this.$slider.offset().top;vpBottom>top&&($window.off("scroll.soa"+this.PId),this.slider.release())},p.destroy=function(){},MasterSlider.registerPlugin(StartOnAppear)}}(jQuery,document,window),function(){window.msCli=function(f){f=f||"pause";var m=masterslider_instances;for(var i in m)m[i].api[f]()}}(jQuery);
1
  /*!
2
  * Master Slider – Responsive Touch Swipe Slider [lite version]
3
+ * Copyright © 2016 All Rights Reserved.
4
  *
5
  * @author Averta [www.averta.net]
6
+ * @version 2.50.0
7
+ * @date Aug 2016
8
  */
9
+ window.averta={},function($){function getVendorPrefix(){if("result"in arguments.callee)return arguments.callee.result;var regex=/^(Moz|Webkit|Khtml|O|ms|Icab)(?=[A-Z])/,someScript=document.getElementsByTagName("script")[0];for(var prop in someScript.style)if(regex.test(prop))return arguments.callee.result=prop.match(regex)[0];return arguments.callee.result="WebkitOpacity"in someScript.style?"Webkit":"KhtmlOpacity"in someScript.style?"Khtml":""}function checkStyleValue(prop){var b=document.body||document.documentElement,s=b.style,p=prop;if("string"==typeof s[p])return!0;v=["Moz","Webkit","Khtml","O","ms"],p=p.charAt(0).toUpperCase()+p.substr(1);for(var i=0;i<v.length;i++)if("string"==typeof s[v[i]+p])return!0;return!1}function supportsTransitions(){return checkStyleValue("transition")}function supportsTransforms(){return checkStyleValue("transform")}function supports3DTransforms(){if(!supportsTransforms())return!1;var has3d,el=document.createElement("i"),transforms={WebkitTransform:"-webkit-transform",OTransform:"-o-transform",MSTransform:"-ms-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",Transform:"transform",transform:"transform"};el.style.display="block",document.body.insertBefore(el,null);for(var t in transforms)void 0!==el.style[t]&&(el.style[t]="translate3d(1px,1px,1px)",has3d=window.getComputedStyle(el).getPropertyValue(transforms[t]));return document.body.removeChild(el),null!=has3d&&has3d.length>0&&"none"!==has3d}window["package"]=function(name){window[name]||(window[name]={})};var extend=function(target,object){for(var key in object)target[key]=object[key]};Function.prototype.extend=function(superclass){"function"==typeof superclass.prototype.constructor?(extend(this.prototype,superclass.prototype),this.prototype.constructor=this):(this.prototype.extend(superclass),this.prototype.constructor=this)};var trans={Moz:"-moz-",Webkit:"-webkit-",Khtml:"-khtml-",O:"-o-",ms:"-ms-",Icab:"-icab-"};window._mobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),window._touch="ontouchstart"in document,$(document).ready(function(){window._jcsspfx=getVendorPrefix(),window._csspfx=trans[window._jcsspfx],window._cssanim=supportsTransitions(),window._css3d=supports3DTransforms(),window._css2d=supportsTransforms()}),window.parseQueryString=function(url){var queryString={};return url.replace(new RegExp("([^?=&]+)(=([^&]*))?","g"),function($0,$1,$2,$3){queryString[$1]=$3}),queryString};var fps60=50/3;if(window.requestAnimationFrame||(window.requestAnimationFrame=function(){return window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(callback,fps60)}}()),window.getComputedStyle||(window.getComputedStyle=function(el){return this.el=el,this.getPropertyValue=function(prop){var re=/(\-([a-z]){1})/g;return"float"==prop&&(prop="styleFloat"),re.test(prop)&&(prop=prop.replace(re,function(){return arguments[2].toUpperCase()})),el.currentStyle[prop]?el.currentStyle[prop]:null},el.currentStyle}),Array.prototype.indexOf||(Array.prototype.indexOf=function(elt){var len=this.length>>>0,from=Number(arguments[1])||0;for(from=0>from?Math.ceil(from):Math.floor(from),0>from&&(from+=len);len>from;from++)if(from in this&&this[from]===elt)return from;return-1}),window.isMSIE=function(version){if(!$.browser.msie)return!1;if(!version)return!0;var ieVer=$.browser.version.slice(0,$.browser.version.indexOf("."));return"string"==typeof version?eval(-1!==version.indexOf("<")||-1!==version.indexOf(">")?ieVer+version:version+"=="+ieVer):version==ieVer},$.removeDataAttrs=function($target,exclude){var i,attrName,dataAttrsToDelete=[],dataAttrs=$target[0].attributes,dataAttrsLen=dataAttrs.length;for(exclude=exclude||[],i=0;dataAttrsLen>i;i++)attrName=dataAttrs[i].name,"data-"===attrName.substring(0,5)&&-1===exclude.indexOf(attrName)&&dataAttrsToDelete.push(dataAttrs[i].name);$.each(dataAttrsToDelete,function(index,attrName){$target.removeAttr(attrName)})},jQuery){$.jqLoadFix=function(){if(this.complete){var that=this;setTimeout(function(){$(that).load()},1)}},jQuery.uaMatch=jQuery.uaMatch||function(ua){ua=ua.toLowerCase();var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"}},matched=jQuery.uaMatch(navigator.userAgent),browser={},matched.browser&&(browser[matched.browser]=!0,browser.version=matched.version),browser.chrome?browser.webkit=!0:browser.webkit&&(browser.safari=!0);var isIE11=!!navigator.userAgent.match(/Trident\/7\./);isIE11&&(browser.msie="true",delete browser.mozilla),jQuery.browser=browser,$.fn.preloadImg=function(src,_event){return this.each(function(){var $this=$(this),self=this,img=new Image;img.onload=function(event){null==event&&(event={}),$this.attr("src",src),event.width=img.width,event.height=img.height,$this.data("width",img.width),$this.data("height",img.height),setTimeout(function(){_event.call(self,event)},50),img=null},img.src=src}),this}}}(jQuery),function(){"use strict";averta.EventDispatcher=function(){this.listeners={}},averta.EventDispatcher.extend=function(_proto){var instance=new averta.EventDispatcher;for(var key in instance)"constructor"!=key&&(_proto[key]=averta.EventDispatcher.prototype[key])},averta.EventDispatcher.prototype={constructor:averta.EventDispatcher,addEventListener:function(event,listener,ref){this.listeners[event]||(this.listeners[event]=[]),this.listeners[event].push({listener:listener,ref:ref})},removeEventListener:function(event,listener,ref){if(this.listeners[event]){for(var i=0;i<this.listeners[event].length;++i)listener===this.listeners[event][i].listener&&ref===this.listeners[event][i].ref&&this.listeners[event].splice(i--,1);0===this.listeners[event].length&&(this.listeners[event]=null)}},dispatchEvent:function(event){if(event.target=this,this.listeners[event.type])for(var i=0,l=this.listeners[event.type].length;l>i;++i)this.listeners[event.type][i].listener.call(this.listeners[event.type][i].ref,event)}}}(),function($){"use strict";var isTouch="ontouchstart"in document,isPointer=window.navigator.pointerEnabled,isMSPoiner=!isPointer&&window.navigator.msPointerEnabled,usePointer=isPointer||isMSPoiner,ev_start=(isPointer?"pointerdown ":"")+(isMSPoiner?"MSPointerDown ":"")+(isTouch?"touchstart ":"")+"mousedown",ev_move=(isPointer?"pointermove ":"")+(isMSPoiner?"MSPointerMove ":"")+(isTouch?"touchmove ":"")+"mousemove",ev_end=(isPointer?"pointerup ":"")+(isMSPoiner?"MSPointerUp ":"")+(isTouch?"touchend ":"")+"mouseup",ev_cancel=(isPointer?"pointercancel ":"")+(isMSPoiner?"MSPointerCancel ":"")+"touchcancel";averta.TouchSwipe=function($element){this.$element=$element,this.enabled=!0,$element.bind(ev_start,{target:this},this.__touchStart),$element[0].swipe=this,this.onSwipe=null,this.swipeType="horizontal",this.noSwipeSelector="input, textarea, button, .no-swipe, .ms-no-swipe",this.lastStatus={}};var p=averta.TouchSwipe.prototype;p.getDirection=function(new_x,new_y){switch(this.swipeType){case"horizontal":return new_x<=this.start_x?"left":"right";case"vertical":return new_y<=this.start_y?"up":"down";case"all":return Math.abs(new_x-this.start_x)>Math.abs(new_y-this.start_y)?new_x<=this.start_x?"left":"right":new_y<=this.start_y?"up":"down"}},p.priventDefultEvent=function(new_x,new_y){var dx=Math.abs(new_x-this.start_x),dy=Math.abs(new_y-this.start_y),horiz=dx>dy;return"horizontal"===this.swipeType&&horiz||"vertical"===this.swipeType&&!horiz},p.createStatusObject=function(evt){var temp_x,temp_y,status_data={};return temp_x=this.lastStatus.distanceX||0,temp_y=this.lastStatus.distanceY||0,status_data.distanceX=evt.pageX-this.start_x,status_data.distanceY=evt.pageY-this.start_y,status_data.moveX=status_data.distanceX-temp_x,status_data.moveY=status_data.distanceY-temp_y,status_data.distance=parseInt(Math.sqrt(Math.pow(status_data.distanceX,2)+Math.pow(status_data.distanceY,2))),status_data.duration=(new Date).getTime()-this.start_time,status_data.direction=this.getDirection(evt.pageX,evt.pageY),status_data},p.__reset=function(event,jqevt){this.reset=!1,this.lastStatus={},this.start_time=(new Date).getTime();var point=this.__getPoint(event,jqevt);this.start_x=point.pageX,this.start_y=point.pageY},p.__touchStart=function(event){var swipe=event.data.target,jqevt=event;if(swipe.enabled&&!($(event.target).closest(swipe.noSwipeSelector,swipe.$element).length>0)){if(event=event.originalEvent,usePointer&&$(this).css("-ms-touch-action","horizontal"===swipe.swipeType?"pan-y":"pan-x"),!swipe.onSwipe)return void $.error("Swipe listener is undefined");if(!(swipe.touchStarted||isTouch&&swipe.start_time&&"mousedown"===event.type&&(new Date).getTime()-swipe.start_time<600)){var point=swipe.__getPoint(event,jqevt);swipe.start_x=point.pageX,swipe.start_y=point.pageY,swipe.start_time=(new Date).getTime(),$(document).bind(ev_end,{target:swipe},swipe.__touchEnd).bind(ev_move,{target:swipe},swipe.__touchMove).bind(ev_cancel,{target:swipe},swipe.__touchCancel);var status=swipe.createStatusObject(point);status.phase="start",swipe.onSwipe.call(null,status),isTouch||jqevt.preventDefault(),swipe.lastStatus=status,swipe.touchStarted=!0}}},p.__touchMove=function(event){var swipe=event.data.target,jqevt=event;if(event=event.originalEvent,swipe.touchStarted){clearTimeout(swipe.timo),swipe.timo=setTimeout(function(){swipe.__reset(event,jqevt)},60);var point=swipe.__getPoint(event,jqevt),status=swipe.createStatusObject(point);swipe.priventDefultEvent(point.pageX,point.pageY)&&jqevt.preventDefault(),status.phase="move",swipe.lastStatus=status,swipe.onSwipe.call(null,status)}},p.__touchEnd=function(event){var swipe=event.data.target,jqevt=event;event=event.originalEvent,clearTimeout(swipe.timo);var status=swipe.lastStatus;isTouch||jqevt.preventDefault(),status.phase="end",swipe.touchStarted=!1,swipe.priventEvt=null,$(document).unbind(ev_end,swipe.__touchEnd).unbind(ev_move,swipe.__touchMove).unbind(ev_cancel,swipe.__touchCancel),status.speed=status.distance/status.duration,swipe.onSwipe.call(null,status)},p.__touchCancel=function(event){var swipe=event.data.target;swipe.__touchEnd(event)},p.__getPoint=function(event,jqEvent){return isTouch&&-1===event.type.indexOf("mouse")?event.touches[0]:usePointer?event:jqEvent},p.enable=function(){this.enabled||(this.enabled=!0)},p.disable=function(){this.enabled&&(this.enabled=!1)}}(jQuery),function(){"use strict";averta.Ticker=function(){};var st=averta.Ticker,list=[],len=0,__stopped=!0;st.add=function(listener,ref){return list.push([listener,ref]),1===list.length&&st.start(),len=list.length},st.remove=function(listener,ref){for(var i=0,l=list.length;l>i;++i)list[i]&&list[i][0]===listener&&list[i][1]===ref&&list.splice(i,1);len=list.length,0===len&&st.stop()},st.start=function(){__stopped&&(__stopped=!1,__tick())},st.stop=function(){__stopped=!0};var __tick=function(){if(!st.__stopped){for(var item,i=0;i!==len;i++)item=list[i],item[0].call(item[1]);requestAnimationFrame(__tick)}}}(),function(){"use strict";Date.now||(Date.now=function(){return(new Date).getTime()}),averta.Timer=function(delay,autoStart){this.delay=delay,this.currentCount=0,this.paused=!1,this.onTimer=null,this.refrence=null,autoStart&&this.start()},averta.Timer.prototype={constructor:averta.Timer,start:function(){this.paused=!1,this.lastTime=Date.now(),averta.Ticker.add(this.update,this)},stop:function(){this.paused=!0,averta.Ticker.remove(this.update,this)},reset:function(){this.currentCount=0,this.paused=!0,this.lastTime=Date.now()},update:function(){this.paused||Date.now()-this.lastTime<this.delay||(this.currentCount++,this.lastTime=Date.now(),this.onTimer&&this.onTimer.call(this.refrence,this.getTime()))},getTime:function(){return this.delay*this.currentCount}}}(),function(){"use strict";window.CSSTween=function(element,duration,delay,ease){this.$element=element,this.duration=duration||1e3,this.delay=delay||0,this.ease=ease||"linear"};var p=CSSTween.prototype;p.to=function(callback,target){return this.to_cb=callback,this.to_cb_target=target,this},p.from=function(callback,target){return this.fr_cb=callback,this.fr_cb_target=target,this},p.onComplete=function(callback,target){return this.oc_fb=callback,this.oc_fb_target=target,this},p.chain=function(csstween){return this.chained_tween=csstween,this},p.reset=function(){clearTimeout(this.start_to),clearTimeout(this.end_to)},p.start=function(){var element=this.$element[0];clearTimeout(this.start_to),clearTimeout(this.end_to),this.fresh=!0,this.fr_cb&&(element.style[window._jcsspfx+"TransitionDuration"]="0ms",this.fr_cb.call(this.fr_cb_target));var that=this;return this.onTransComplete=function(){that.fresh&&(that.reset(),element.style[window._jcsspfx+"TransitionDuration"]="",element.style[window._jcsspfx+"TransitionProperty"]="",element.style[window._jcsspfx+"TransitionTimingFunction"]="",element.style[window._jcsspfx+"TransitionDelay"]="",that.fresh=!1,that.chained_tween&&that.chained_tween.start(),that.oc_fb&&that.oc_fb.call(that.oc_fb_target))},this.start_to=setTimeout(function(){that.$element&&(element.style[window._jcsspfx+"TransitionDuration"]=that.duration+"ms",element.style[window._jcsspfx+"TransitionProperty"]=that.transProperty||"all",element.style[window._jcsspfx+"TransitionDelay"]=that.delay>0?that.delay+"ms":"",element.style[window._jcsspfx+"TransitionTimingFunction"]=that.ease,that.to_cb&&that.to_cb.call(that.to_cb_target),that.end_to=setTimeout(function(){that.onTransComplete()},that.duration+(that.delay||0)))},1),this}}(),function(){"use strict";function transPos(element,properties){if(void 0!==properties.x||void 0!==properties.y)if(_cssanim){var trans=window._jcsspfx+"Transform";void 0!==properties.x&&(properties[trans]=(properties[trans]||"")+" translateX("+properties.x+"px)",delete properties.x),void 0!==properties.y&&(properties[trans]=(properties[trans]||"")+" translateY("+properties.y+"px)",delete properties.y)}else{if(void 0!==properties.x){var posx="auto"!==element.css("right")?"right":"left";properties[posx]=properties.x+"px",delete properties.x}if(void 0!==properties.y){var posy="auto"!==element.css("bottom")?"bottom":"top";properties[posy]=properties.y+"px",delete properties.y}}return properties}var _cssanim=null;window.CTween={},CTween.setPos=function(element,pos){element.css(transPos(element,pos))},CTween.animate=function(element,duration,properties,options){if(null==_cssanim&&(_cssanim=window._cssanim),options=options||{},transPos(element,properties),_cssanim){var tween=new CSSTween(element,duration,options.delay,EaseDic[options.ease]);return options.transProperty&&(tween.transProperty=options.transProperty),tween.to(function(){element.css(properties)}),options.complete&&tween.onComplete(options.complete,options.target),tween.start(),tween.stop=tween.reset,tween}var onCl;return options.delay&&element.delay(options.delay),options.complete&&(onCl=function(){options.complete.call(options.target)}),element.stop(!0).animate(properties,duration,options.ease||"linear",onCl),element},CTween.fadeOut=function(target,duration,remove){var options={};remove===!0?options.complete=function(){target.remove()}:2===remove&&(options.complete=function(){target.css("display","none")}),CTween.animate(target,duration||1e3,{opacity:0},options)},CTween.fadeIn=function(target,duration,reset){reset!==!1&&target.css("opacity",0).css("display",""),CTween.animate(target,duration||1e3,{opacity:1})}}(),function(){window.EaseDic={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",easeInCubic:"cubic-bezier(.55,.055,.675,.19)",easeOutCubic:"cubic-bezier(.215,.61,.355,1)",easeInOutCubic:"cubic-bezier(.645,.045,.355,1)",easeInCirc:"cubic-bezier(.6,.04,.98,.335)",easeOutCirc:"cubic-bezier(.075,.82,.165,1)",easeInOutCirc:"cubic-bezier(.785,.135,.15,.86)",easeInExpo:"cubic-bezier(.95,.05,.795,.035)",easeOutExpo:"cubic-bezier(.19,1,.22,1)",easeInOutExpo:"cubic-bezier(1,0,0,1)",easeInQuad:"cubic-bezier(.55,.085,.68,.53)",easeOutQuad:"cubic-bezier(.25,.46,.45,.94)",easeInOutQuad:"cubic-bezier(.455,.03,.515,.955)",easeInQuart:"cubic-bezier(.895,.03,.685,.22)",easeOutQuart:"cubic-bezier(.165,.84,.44,1)",easeInOutQuart:"cubic-bezier(.77,0,.175,1)",easeInQuint:"cubic-bezier(.755,.05,.855,.06)",easeOutQuint:"cubic-bezier(.23,1,.32,1)",easeInOutQuint:"cubic-bezier(.86,0,.07,1)",easeInSine:"cubic-bezier(.47,0,.745,.715)",easeOutSine:"cubic-bezier(.39,.575,.565,1)",easeInOutSine:"cubic-bezier(.445,.05,.55,.95)",easeInBack:"cubic-bezier(.6,-.28,.735,.045)",easeOutBack:"cubic-bezier(.175, .885,.32,1.275)",easeInOutBack:"cubic-bezier(.68,-.55,.265,1.55)"}}(),function(){"use strict";window.MSAligner=function(type,$container,$img){this.$container=$container,this.$img=$img,this.type=type||"stretch",this.widthOnly=!1,this.heightOnly=!1};var p=MSAligner.prototype;p.init=function(w,h){switch(this.baseWidth=w,this.baseHeight=h,this.imgRatio=w/h,this.imgRatio2=h/w,this.type){case"tile":this.$container.css("background-image","url("+this.$img.attr("src")+")"),this.$img.remove();break;case"center":this.$container.css("background-image","url("+this.$img.attr("src")+")"),this.$container.css({backgroundPosition:"center center",backgroundRepeat:"no-repeat"}),this.$img.remove();break;case"stretch":this.$img.css({width:"100%",height:"100%"});break;case"fill":case"fit":this.needAlign=!0,this.align()}},p.align=function(){if(this.needAlign){var cont_w=this.$container.width(),cont_h=this.$container.height(),contRatio=cont_w/cont_h;"fill"==this.type?this.imgRatio<contRatio?(this.$img.width(cont_w),this.$img.height(cont_w*this.imgRatio2)):(this.$img.height(cont_h),this.$img.width(cont_h*this.imgRatio)):"fit"==this.type&&(this.imgRatio<contRatio?(this.$img.height(cont_h),this.$img.width(cont_h*this.imgRatio)):(this.$img.width(cont_w),this.$img.height(cont_w*this.imgRatio2))),this.setMargin()}},p.setMargin=function(){var cont_w=this.$container.width(),cont_h=this.$container.height();this.$img.css("margin-top",(cont_h-this.$img[0].offsetHeight)/2+"px"),this.$img.css("margin-left",(cont_w-this.$img[0].offsetWidth)/2+"px")}}(),function(){"use strict";var _options={bouncing:!0,snapping:!1,snapsize:null,friction:.05,outFriction:.05,outAcceleration:.09,minValidDist:.3,snappingMinSpeed:2,paging:!1,endless:!1,maxSpeed:160},Controller=function(min,max,options){if(null===max||null===min)throw new Error("Max and Min values are required.");this.options=options||{};for(var key in _options)key in this.options||(this.options[key]=_options[key]);this._max_value=max,this._min_value=min,this.value=min,this.end_loc=min,this.current_snap=this.getSnapNum(min),this.__extrStep=0,this.__extraMove=0,this.__animID=-1},p=Controller.prototype;p.changeTo=function(value,animate,speed,snap_num,dispatch){if(this.stopped=!1,this._internalStop(),value=this._checkLimits(value),speed=Math.abs(speed||0),this.options.snapping&&(snap_num=snap_num||this.getSnapNum(value),dispatch!==!1&&this._callsnapChange(snap_num),this.current_snap=snap_num),animate){this.animating=!0;var self=this,active_id=++self.__animID,amplitude=value-self.value,timeStep=0,targetPosition=value,animFrict=1-self.options.friction,timeconst=animFrict+(speed-20)*animFrict*1.3/self.options.maxSpeed,tick=function(){if(active_id===self.__animID){var dis=value-self.value;if(!(Math.abs(dis)>self.options.minValidDist&&self.animating))return self.animating&&(self.value=value,self._callrenderer()),self.animating=!1,active_id!==self.__animID&&(self.__animID=-1),void self._callonComplete("anim");window.requestAnimationFrame(tick),self.value=targetPosition-amplitude*Math.exp(-++timeStep*timeconst),self._callrenderer()}};return void tick()}this.value=value,this._callrenderer()},p.drag=function(move){this.start_drag&&(this.drag_start_loc=this.value,this.start_drag=!1),this.animating=!1,this._deceleration=!1,this.value-=move,!this.options.endless&&(this.value>this._max_value||this.value<0)?this.options.bouncing?(this.__isout=!0,this.value+=.6*move):this.value=this.value>this._max_value?this._max_value:0:!this.options.endless&&this.options.bouncing&&(this.__isout=!1),this._callrenderer()},p.push=function(speed){if(this.stopped=!1,this.options.snapping&&Math.abs(speed)<=this.options.snappingMinSpeed)return void this.cancel();if(this.__speed=speed,this.__startSpeed=speed,this.end_loc=this._calculateEnd(),this.options.snapping){var snap_loc=this.getSnapNum(this.value),end_snap=this.getSnapNum(this.end_loc);if(this.options.paging)return snap_loc=this.getSnapNum(this.drag_start_loc),this.__isout=!1,void(speed>0?this.gotoSnap(snap_loc+1,!0,speed):this.gotoSnap(snap_loc-1,!0,speed));if(snap_loc===end_snap)return void this.cancel();this._callsnapChange(end_snap),this.current_snap=end_snap}this.animating=!1,this.__needsSnap=this.options.endless||this.end_loc>this._min_value&&this.end_loc<this._max_value,this.options.snapping&&this.__needsSnap&&(this.__extraMove=this._calculateExtraMove(this.end_loc)),this._startDecelaration()},p.bounce=function(speed){this.animating||(this.stopped=!1,this.animating=!1,this.__speed=speed,this.__startSpeed=speed,this.end_loc=this._calculateEnd(),this._startDecelaration())},p.stop=function(){this.stopped=!0,this._internalStop()},p.cancel=function(){this.start_drag=!0,this.__isout?(this.__speed=4e-4,this._startDecelaration()):this.options.snapping&&this.gotoSnap(this.getSnapNum(this.value),!0)},p.renderCallback=function(listener,ref){this.__renderHook={fun:listener,ref:ref}},p.snappingCallback=function(listener,ref){this.__snapHook={fun:listener,ref:ref}},p.snapCompleteCallback=function(listener,ref){this.__compHook={fun:listener,ref:ref}},p.getSnapNum=function(value){return Math.floor((value+this.options.snapsize/2)/this.options.snapsize)},p.nextSnap=function(){this._internalStop();var curr_snap=this.getSnapNum(this.value);!this.options.endless&&(curr_snap+1)*this.options.snapsize>this._max_value?(this.__speed=8,this.__needsSnap=!1,this._startDecelaration()):this.gotoSnap(curr_snap+1,!0)},p.prevSnap=function(){this._internalStop();var curr_snap=this.getSnapNum(this.value);!this.options.endless&&(curr_snap-1)*this.options.snapsize<this._min_value?(this.__speed=-8,this.__needsSnap=!1,this._startDecelaration()):this.gotoSnap(curr_snap-1,!0)},p.gotoSnap=function(snap_num,animate,speed){this.changeTo(snap_num*this.options.snapsize,animate,speed,snap_num)},p.destroy=function(){this._internalStop(),this.__renderHook=null,this.__snapHook=null,this.__compHook=null},p._internalStop=function(){this.start_drag=!0,this.animating=!1,this._deceleration=!1,this.__extrStep=0},p._calculateExtraMove=function(value){var m=value%this.options.snapsize;return m<this.options.snapsize/2?-m:this.options.snapsize-m},p._calculateEnd=function(step){for(var temp_speed=this.__speed,temp_value=this.value,i=0;Math.abs(temp_speed)>this.options.minValidDist;)temp_value+=temp_speed,temp_speed*=this.options.friction,i++;return step?i:temp_value},p._checkLimits=function(value){return this.options.endless?value:value<this._min_value?this._min_value:value>this._max_value?this._max_value:value},p._callrenderer=function(){this.__renderHook&&this.__renderHook.fun.call(this.__renderHook.ref,this,this.value)},p._callsnapChange=function(targetSnap){this.__snapHook&&targetSnap!==this.current_snap&&this.__snapHook.fun.call(this.__snapHook.ref,this,targetSnap,targetSnap-this.current_snap)},p._callonComplete=function(type){this.__compHook&&!this.stopped&&this.__compHook.fun.call(this.__compHook.ref,this,this.current_snap,type)},p._computeDeceleration=function(){if(this.options.snapping&&this.__needsSnap){var xtr_move=(this.__startSpeed-this.__speed)/this.__startSpeed*this.__extraMove;this.value+=this.__speed+xtr_move-this.__extrStep,this.__extrStep=xtr_move}else this.value+=this.__speed;if(this.__speed*=this.options.friction,this.options.endless||this.options.bouncing||(this.value<=this._min_value?(this.value=this._min_value,this.__speed=0):this.value>=this._max_value&&(this.value=this._max_value,this.__speed=0)),this._callrenderer(),!this.options.endless&&this.options.bouncing){var out_value=0;this.value<this._min_value?out_value=this._min_value-this.value:this.value>this._max_value&&(out_value=this._max_value-this.value),this.__isout=Math.abs(out_value)>=this.options.minValidDist,this.__isout&&(this.__speed*out_value<=0?this.__speed+=out_value*this.options.outFriction:this.__speed=out_value*this.options.outAcceleration)}},p._startDecelaration=function(){if(!this._deceleration){this._deceleration=!0;var self=this,tick=function(){self._deceleration&&(self._computeDeceleration(),Math.abs(self.__speed)>self.options.minValidDist||self.__isout?window.requestAnimationFrame(tick):(self._deceleration=!1,self.__isout=!1,self.value=self.__needsSnap&&self.options.snapping&&!self.options.paging?self._checkLimits(self.end_loc+self.__extraMove):Math.round(self.value),self._callrenderer(),self._callonComplete("decel")))};tick()}},window.Controller=Controller}(),window.MSSliderEvent=function(type){this.type=type},MSSliderEvent.CHANGE_START="ms_changestart",MSSliderEvent.CHANGE_END="ms_changeend",MSSliderEvent.WAITING="ms_waiting",MSSliderEvent.AUTOPLAY_CHANGE="ms_autoplaychange",MSSliderEvent.VIDEO_PLAY="ms_videoPlay",MSSliderEvent.VIDEO_CLOSE="ms_videoclose",MSSliderEvent.INIT="ms_init",MSSliderEvent.HARD_UPDATE="ms_hard_update",MSSliderEvent.RESIZE="ms_resize",MSSliderEvent.RESERVED_SPACE_CHANGE="ms_rsc",MSSliderEvent.DESTROY="ms_destroy",function(window,document,$){"use strict";window.MSSlide=function(){this.$element=null,this.$loading=$("<div></div>").addClass("ms-slide-loading"),this.view=null,this.index=-1,this.__width=0,this.__height=0,this.fillMode="fill",this.selected=!1,this.pselected=!1,this.autoAppend=!0,this.isSleeping=!0,this.moz=$.browser.mozilla};var p=MSSlide.prototype;p.onSwipeStart=function(){this.link&&(this.linkdis=!0),this.video&&(this.videodis=!0)},p.onSwipeMove=function(e){var move=Math.max(Math.abs(e.data.distanceX),Math.abs(e.data.distanceY));this.swipeMoved=move>4},p.onSwipeCancel=function(){return this.swipeMoved?void(this.swipeMoved=!1):(this.link&&(this.linkdis=!1),void(this.video&&(this.videodis=!1)))},p.assetsLoaded=function(){this.ready=!0,this.slider.api._startTimer(),this.isSleeping||this.setupBG(),CTween.fadeOut(this.$loading,300,!0),(0===this.slider.options.preload||"all"===this.slider.options.preload)&&this.index<this.view.slideList.length-1?this.view.slideList[this.index+1].loadImages():"all"===this.slider.options.preload&&this.index===this.view.slideList.length-1&&this.slider._removeLoading()},p.setBG=function(img){this.hasBG=!0;var that=this;this.$imgcont=$("<div></div>").addClass("ms-slide-bgcont"),this.$element.append(this.$loading).append(this.$imgcont),this.$bg_img=$(img).css("visibility","hidden"),this.$imgcont.append(this.$bg_img),this.bgAligner=new MSAligner(that.fillMode,that.$imgcont,that.$bg_img),this.bgAligner.widthOnly=this.slider.options.autoHeight,that.slider.options.autoHeight&&(that.pselected||that.selected)&&that.slider.setHeight(that.slider.options.height),void 0!==this.$bg_img.data("src")?(this.bg_src=this.$bg_img.data("src"),this.$bg_img.removeAttr("data-src")):this.$bg_img.one("load",function(event){that._onBGLoad(event)}).each($.jqLoadFix)},p.setupBG=function(){!this.initBG&&this.bgLoaded&&(this.initBG=!0,this.$bg_img.css("visibility",""),this.bgWidth=this.bgNatrualWidth||this.$bg_img.width(),this.bgHeight=this.bgNatrualHeight||this.$bg_img.height(),CTween.fadeIn(this.$imgcont,300),this.slider.options.autoHeight&&this.$imgcont.height(this.bgHeight*this.ratio),this.bgAligner.init(this.bgWidth,this.bgHeight),this.setSize(this.__width,this.__height),this.slider.options.autoHeight&&(this.pselected||this.selected)&&this.slider.setHeight(this.getHeight()))},p.loadImages=function(){if(!this.ls){if(this.ls=!0,this.hasBG&&this.bg_src){var that=this;this.$bg_img.preloadImg(this.bg_src,function(event){that._onBGLoad(event)})}this.hasBG||this.hasLayers||this.assetsLoaded()}},p._onBGLoad=function(event){this.bgNatrualWidth=event.width,this.bgNatrualHeight=event.height,this.bgLoaded=!0,$.browser.msie&&this.$bg_img.on("dragstart",function(event){event.preventDefault()}),(!this.hasLayers||this.layerController.ready)&&this.assetsLoaded()},p.setSize=function(width,height){this.__width=width,this.slider.options.autoHeight&&(this.bgLoaded?(this.ratio=this.__width/this.bgWidth,height=Math.floor(this.ratio*this.bgHeight),this.$imgcont.height(height)):(this.ratio=width/this.slider.options.width,height=this.slider.options.height*this.ratio)),this.__height=height,this.$element.width(width).height(height),this.hasBG&&this.bgLoaded&&this.bgAligner.align()},p.getHeight=function(){return this.hasBG&&this.bgLoaded?this.bgHeight*this.ratio:Math.max(this.$element[0].clientHeight,this.slider.options.height*this.ratio)},p.__playVideo=function(){this.vplayed||this.videodis||(this.vplayed=!0,this.slider.api.paused||(this.slider.api.pause(),this.roc=!0),this.vcbtn.css("display",""),CTween.fadeOut(this.vpbtn,500,!1),CTween.fadeIn(this.vcbtn,500),CTween.fadeIn(this.vframe,500),this.vframe.css("display","block").attr("src",this.video+"&autoplay=1"),this.view.$element.addClass("ms-def-cursor"),this.moz&&this.view.$element.css("perspective","none"),this.view.swipeControl&&this.view.swipeControl.disable(),this.slider.slideController.dispatchEvent(new MSSliderEvent(MSSliderEvent.VIDEO_PLAY)))},p.__closeVideo=function(){if(this.vplayed){this.vplayed=!1,this.roc&&this.slider.api.resume();var that=this;CTween.fadeIn(this.vpbtn,500),CTween.animate(this.vcbtn,500,{opacity:0},{complete:function(){that.vcbtn.css("display","none")}}),CTween.animate(this.vframe,500,{opacity:0},{complete:function(){that.vframe.attr("src","about:blank").css("display","none")}}),this.moz&&this.view.$element.css("perspective",""),this.view.swipeControl&&this.view.swipeControl.enable(),this.view.$element.removeClass("ms-def-cursor"),this.slider.slideController.dispatchEvent(new MSSliderEvent(MSSliderEvent.VIDEO_CLOSE))}},p.create=function(){var that=this;this.link&&this.link.addClass("ms-slide-link").html("").click(function(e){that.linkdis&&e.preventDefault()}),this.video&&(-1===this.video.indexOf("?")&&(this.video+="?"),this.vframe=$("<iframe></iframe>").addClass("ms-slide-video").css({width:"100%",height:"100%",display:"none"}).attr("src","about:blank").attr("allowfullscreen","true").appendTo(this.$element),this.vpbtn=$("<div></div>").addClass("ms-slide-vpbtn").click(function(){that.__playVideo()}).appendTo(this.$element),this.vcbtn=$("<div></div>").addClass("ms-slide-vcbtn").click(function(){that.__closeVideo()}).appendTo(this.$element).css("display","none"),window._touch&&this.vcbtn.removeClass("ms-slide-vcbtn").addClass("ms-slide-vcbtn-mobile").append('<div class="ms-vcbtn-txt">Close video</div>').appendTo(this.view.$element.parent())),!this.slider.options.autoHeight&&this.hasBG&&(this.$imgcont.css("height","100%"),("center"===this.fillMode||"stretch"===this.fillMode)&&(this.fillMode="fill")),this.slider.options.autoHeight&&this.$element.addClass("ms-slide-auto-height"),this.sleep(!0)},p.destroy=function(){this.$element.remove(),this.$element=null},p.prepareToSelect=function(){this.pselected||this.selected||(this.pselected=!0,(this.link||this.video)&&(this.view.addEventListener(MSViewEvents.SWIPE_START,this.onSwipeStart,this),this.view.addEventListener(MSViewEvents.SWIPE_MOVE,this.onSwipeMove,this),this.view.addEventListener(MSViewEvents.SWIPE_CANCEL,this.onSwipeCancel,this),this.linkdis=!1,this.swipeMoved=!1),this.loadImages(),this.moz&&this.$element.css("margin-top",""))},p.select=function(){this.selected||(this.selected=!0,this.pselected=!1,this.$element.addClass("ms-sl-selected"),this.videoAutoPlay&&(this.videodis=!1,this.vpbtn.trigger("click")))},p.unselect=function(){this.pselected=!1,this.moz&&this.$element.css("margin-top","0.1px"),(this.link||this.video)&&(this.view.removeEventListener(MSViewEvents.SWIPE_START,this.onSwipeStart,this),this.view.removeEventListener(MSViewEvents.SWIPE_MOVE,this.onSwipeMove,this),this.view.removeEventListener(MSViewEvents.SWIPE_CANCEL,this.onSwipeCancel,this)),this.selected&&(this.selected=!1,this.$element.removeClass("ms-sl-selected"),this.video&&this.vplayed&&(this.__closeVideo(),this.roc=!1))
10
+ },p.sleep=function(force){(!this.isSleeping||force)&&(this.isSleeping=!0,this.autoAppend&&this.$element.detach(),this.hasLayers&&this.layerController.onSlideSleep())},p.wakeup=function(){this.isSleeping&&(this.isSleeping=!1,this.autoAppend&&this.view.$slideCont.append(this.$element),this.moz&&this.$element.css("margin-top","0.1px"),this.setupBG(),this.hasBG&&this.bgAligner.align(),this.hasLayers&&this.layerController.onSlideWakeup())}}(window,document,jQuery),function($){"use strict";var SliderViewList={};window.MSSlideController=function(slider){this._delayProgress=0,this._timer=new averta.Timer(100),this._timer.onTimer=this.onTimer,this._timer.refrence=this,this.currentSlide=null,this.slider=slider,this.so=slider.options,averta.EventDispatcher.call(this)},MSSlideController.registerView=function(name,_class){if(name in SliderViewList)throw new Error(name+", is already registered.");SliderViewList[name]=_class},MSSlideController.SliderControlList={},MSSlideController.registerControl=function(name,_class){if(name in MSSlideController.SliderControlList)throw new Error(name+", is already registered.");MSSlideController.SliderControlList[name]=_class};var p=MSSlideController.prototype;p.setupView=function(){var that=this;this.resize_listener=function(){that.__resize()};var viewOptions={spacing:this.so.space,mouseSwipe:this.so.mouse,loop:this.so.loop,autoHeight:this.so.autoHeight,swipe:this.so.swipe,speed:this.so.speed,dir:this.so.dir,viewNum:this.so.inView,critMargin:this.so.critMargin};this.so.viewOptions&&$.extend(viewOptions,this.so.viewOptions),this.so.autoHeight&&(this.so.heightLimit=!1);var viewClass=SliderViewList[this.slider.options.view]||MSBasicView;if(!viewClass._3dreq||window._css3d&&!$.browser.msie||(viewClass=viewClass._fallback||MSBasicView),this.view=new viewClass(viewOptions),this.so.overPause){var that=this;this.slider.$element.mouseenter(function(){that.is_over=!0,that._stopTimer()}).mouseleave(function(){that.is_over=!1,that._startTimer()})}},p.onChangeStart=function(){this.change_started=!0,this.currentSlide&&this.currentSlide.unselect(),this.currentSlide=this.view.currentSlide,this.currentSlide.prepareToSelect(),this.so.endPause&&this.currentSlide.index===this.slider.slides.length-1&&(this.pause(),this.skipTimer()),this.so.autoHeight&&this.slider.setHeight(this.currentSlide.getHeight()),this.so.deepLink&&this.__updateWindowHash(),this.dispatchEvent(new MSSliderEvent(MSSliderEvent.CHANGE_START))},p.onChangeEnd=function(){if(this.change_started=!1,this._startTimer(),this.currentSlide.select(),this.so.preload>1){var loc,i,slide,l=this.so.preload-1;for(i=1;l>=i;++i){if(loc=this.view.index+i,loc>=this.view.slideList.length){if(!this.so.loop){i=l;continue}loc-=this.view.slideList.length}slide=this.view.slideList[loc],slide&&slide.loadImages()}for(l>this.view.slideList.length/2&&(l=Math.floor(this.view.slideList.length/2)),i=1;l>=i;++i){if(loc=this.view.index-i,0>loc){if(!this.so.loop){i=l;continue}loc=this.view.slideList.length+loc}slide=this.view.slideList[loc],slide&&slide.loadImages()}}this.dispatchEvent(new MSSliderEvent(MSSliderEvent.CHANGE_END))},p.onSwipeStart=function(){this.skipTimer()},p.skipTimer=function(){this._timer.reset(),this._delayProgress=0,this.dispatchEvent(new MSSliderEvent(MSSliderEvent.WAITING))},p.onTimer=function(){if(this._timer.getTime()>=1e3*this.view.currentSlide.delay&&(this.skipTimer(),this.view.next(),this.hideCalled=!1),this._delayProgress=this._timer.getTime()/(10*this.view.currentSlide.delay),this.so.hideLayers&&!this.hideCalled&&1e3*this.view.currentSlide.delay-this._timer.getTime()<=300){var currentSlide=this.view.currentSlide;currentSlide.hasLayers&&currentSlide.layerController.animHideLayers(),this.hideCalled=!0}this.dispatchEvent(new MSSliderEvent(MSSliderEvent.WAITING))},p._stopTimer=function(){this._timer&&this._timer.stop()},p._startTimer=function(){this.paused||this.is_over||!this.currentSlide||!this.currentSlide.ready||this.change_started||this._timer.start()},p.__appendSlides=function(){var slide,loc,i=0,l=this.view.slideList.length-1;for(i;l>i;++i)slide=this.view.slideList[i],slide.detached||(slide.$element.detach(),slide.detached=!0);for(this.view.appendSlide(this.view.slideList[this.view.index]),l=3,i=1;l>=i;++i){if(loc=this.view.index+i,loc>=this.view.slideList.length){if(!this.so.loop){i=l;continue}loc-=this.view.slideList.length}slide=this.view.slideList[loc],slide.detached=!1,this.view.appendSlide(slide)}for(l>this.view.slideList.length/2&&(l=Math.floor(this.view.slideList.length/2)),i=1;l>=i;++i){if(loc=this.view.index-i,0>loc){if(!this.so.loop){i=l;continue}loc=this.view.slideList.length+loc}slide=this.view.slideList[loc],slide.detached=!1,this.view.appendSlide(slide)}},p.__resize=function(hard){this.created&&(this.width=this.slider.$element[0].clientWidth||this.so.width,this.so.fullwidth||(this.width=Math.min(this.width,this.so.width)),this.height=this.width/this.slider.aspect,this.so.autoHeight?(this.currentSlide.setSize(this.width,null,hard),this.view.setSize(this.width,this.currentSlide.getHeight(),hard)):this.view.setSize(this.width,Math.max(this.so.minHeight,this.so.heightLimit?Math.min(this.height,this.so.height):this.height),hard),this.slider.$controlsCont&&this.so.centerControls&&this.so.fullwidth&&this.view.$element.css("left",Math.min(0,-(this.slider.$element[0].clientWidth-this.so.width)/2)+"px"),this.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESIZE)))},p.__dispatchInit=function(){this.dispatchEvent(new MSSliderEvent(MSSliderEvent.INIT))},p.setup=function(){this.created=!0,this.paused=!this.so.autoplay,this.view.addEventListener(MSViewEvents.CHANGE_START,this.onChangeStart,this),this.view.addEventListener(MSViewEvents.CHANGE_END,this.onChangeEnd,this),this.view.addEventListener(MSViewEvents.SWIPE_START,this.onSwipeStart,this),this.currentSlide=this.view.slideList[this.so.start-1],this.__resize();var startSlide=this.so.start-1;if(this.view.create(startSlide),0===this.so.preload&&this.view.slideList[0].loadImages(),this.scroller=this.view.controller,this.so.wheel){var that=this,last_time=(new Date).getTime();this.wheellistener=function(event){var e=window.event||event.orginalEvent||event;e.preventDefault();var current_time=(new Date).getTime();if(!(400>current_time-last_time)){last_time=current_time;var delta=Math.abs(e.detail||e.wheelDelta);$.browser.mozilla&&(delta*=100);var scrollThreshold=15;return e.detail<0||e.wheelDelta>0?delta>=scrollThreshold&&that.previous(!0):delta>=scrollThreshold&&that.next(!0),!1}},$.browser.mozilla?this.slider.$element[0].addEventListener("DOMMouseScroll",this.wheellistener):this.slider.$element.bind("mousewheel",this.wheellistener)}0===this.slider.$element[0].clientWidth&&(this.slider.init_safemode=!0),this.__resize()},p.index=function(){return this.view.index},p.count=function(){return this.view.slidesCount},p.next=function(checkLoop){this.skipTimer(),this.view.next(checkLoop)},p.previous=function(checkLoop){this.skipTimer(),this.view.previous(checkLoop)},p.gotoSlide=function(index){index=Math.min(index,this.count()-1),this.skipTimer(),this.view.gotoSlide(index)},p.destroy=function(reset){this.dispatchEvent(new MSSliderEvent(MSSliderEvent.DESTROY)),this.slider.destroy(reset)},p._destroy=function(){this._timer.reset(),this._timer=null,$(window).unbind("resize",this.resize_listener),this.view.destroy(),this.view=null,this.so.wheel&&($.browser.mozilla?this.slider.$element[0].removeEventListener("DOMMouseScroll",this.wheellistener):this.slider.$element.unbind("mousewheel",this.wheellistener),this.wheellistener=null),this.so=null},p.runAction=function(action){var actionParams=[];if(-1!==action.indexOf("(")){var temp=action.slice(0,action.indexOf("("));actionParams=action.slice(action.indexOf("(")+1,-1).replace(/\"|\'|\s/g,"").split(","),action=temp}action in this?this[action].apply(this,actionParams):console},p.update=function(hard){this.slider.init_safemode&&hard&&(this.slider.init_safemode=!1),this.__resize(hard),hard&&this.dispatchEvent(new MSSliderEvent(MSSliderEvent.HARD_UPDATE))},p.locate=function(){this.__resize()},p.resume=function(){this.paused&&(this.paused=!1,this._startTimer())},p.pause=function(){this.paused||(this.paused=!0,this._stopTimer())},p.currentTime=function(){return this._delayProgress},averta.EventDispatcher.extend(p)}(jQuery),function($){"use strict";window.MasterSlider=function(){this.options={forceInit:!0,autoplay:!1,loop:!1,mouse:!0,swipe:!0,grabCursor:!0,space:0,fillMode:"fill",start:1,view:"basic",width:300,height:150,inView:15,critMargin:1,mobileBGVideo:!1,heightLimit:!0,smoothHeight:!0,autoHeight:!1,minHeight:-1,fullwidth:!1,fullheight:!1,autofill:!1,layersMode:"center",hideLayers:!1,endPause:!1,centerControls:!0,overPause:!0,shuffle:!1,speed:17,dir:"h",preload:0,wheel:!1,layout:"boxed",autofillTarget:null,fullscreenMargin:0,instantStartLayers:!1,parallaxMode:"mouse",rtl:!1,deepLink:null,deepLinkType:"path",disablePlugins:[]},this.slides=[],this.activePlugins=[],this.$element=null,this.lastMargin=0,this.leftSpace=0,this.topSpace=0,this.rightSpace=0,this.bottomSpace=0,this._holdOn=0;var that=this;this.resize_listener=function(){that._resize()},$(window).bind("resize",this.resize_listener)},MasterSlider.author="Averta Ltd. (www.averta.net)",MasterSlider.version="2.50.0",MasterSlider.releaseDate="Aug 2016",MasterSlider._plugins=[];var MS=MasterSlider;MS.registerPlugin=function(plugin){-1===MS._plugins.indexOf(plugin)&&MS._plugins.push(plugin)};var p=MasterSlider.prototype;p.__setupSlides=function(){var new_slide,that=this,ind=0;this.$element.children(".ms-slide").each(function(){var $slide_ele=$(this);new_slide=new MSSlide,new_slide.$element=$slide_ele,new_slide.slider=that,new_slide.delay=void 0!==$slide_ele.data("delay")?$slide_ele.data("delay"):3,new_slide.fillMode=void 0!==$slide_ele.data("fill-mode")?$slide_ele.data("fill-mode"):that.options.fillMode,new_slide.index=ind++,new_slide.id=$slide_ele.data("id");var slide_img=$slide_ele.children("img:not(.ms-layer)");if(slide_img.length>0&&new_slide.setBG(slide_img[0]),that.controls)for(var i=0,l=that.controls.length;l>i;++i)that.controls[i].slideAction(new_slide);$slide_ele.children("a").each(function(){var $this=$(this);"video"===this.getAttribute("data-type")?(new_slide.video=this.getAttribute("href"),new_slide.videoAutoPlay=$this.data("autoplay"),$this.remove()):$this.hasClass("ms-layer")||(new_slide.link=$(this))});that.slides.push(new_slide),that.slideController.view.addSlide(new_slide)})},p._setupOverlayLayers=function(){var self=this,$ollayers=this.$element.children(".ms-overlay-layers").eq(0);if($ollayers.length){var overlayLayers=new MSOverlayLayers(this);overlayLayers.$element=$ollayers,self.__createSlideLayers(overlayLayers,$ollayers.find(".ms-layer")),this.view.$element.prepend($ollayers),this.overlayLayers=overlayLayers,overlayLayers.create()}},p._removeLoading=function(){$(window).unbind("resize",this.resize_listener),this.$element.removeClass("before-init").css("visibility","visible").css("height","").css("opacity",0),CTween.fadeIn(this.$element),this.$loading.remove(),this.slideController&&this.slideController.__resize()},p._resize=function(){if(this.$loading){var h=this.$loading[0].clientWidth/this.aspect;h=this.options.heightLimit?Math.min(h,this.options.height):h,this.$loading.height(h),this.$element.height(h)}},p._shuffleSlides=function(){for(var r,slides=this.$element.children(".ms-slide"),i=0,l=slides.length;l>i;++i)r=Math.floor(Math.random()*(l-1)),i!=r&&(this.$element[0].insertBefore(slides[i],slides[r]),slides=this.$element.children(".ms-slide"))},p._setupSliderLayout=function(){this._updateSideMargins(),this.lastMargin=this.leftSpace;var lo=this.options.layout;"boxed"!==lo&&"partialview"!==lo&&(this.options.fullwidth=!0),("fullscreen"===lo||"fullwidth"===lo||"autofill"===lo)&&($(window).bind("resize",{that:this},this._updateLayout),this._updateLayout()),$(window).bind("resize",this.slideController.resize_listener)},p._updateLayout=function(event){var that=event?event.data.that:this,$element=(that.options.layout,that.$element),$win=$(window);$element.width($win.width()-that.leftSpace-that.rightSpace);var margin=-$element.offset().left+that.leftSpace+that.lastMargin;$element.css("margin-left",margin),that.lastMargin=margin},p._init=function(){if(!(this._holdOn>0)&&this._docReady){if(this.initialized=!0,"all"!==this.options.preload&&this._removeLoading(),this.options.shuffle&&this._shuffleSlides(),this.slideController.setupView(),this.view=this.slideController.view,this.$controlsCont=$("<div></div>").addClass("ms-inner-controls-cont"),this.options.centerControls&&this.$controlsCont.css("max-width",this.options.width+"px"),this.$controlsCont.prepend(this.view.$element),this.$msContainer=$("<div></div>").addClass("ms-container").prependTo(this.$element).append(this.$controlsCont),this.controls)for(var i=0,l=this.controls.length;l>i;++i)this.controls[i].setup();if(this._setupSliderLayout(),this.__setupSlides(),this.slideController.setup(),this._setupOverlayLayers(),this.controls)for(i=0,l=this.controls.length;l>i;++i)this.controls[i].create();if(this.options.autoHeight&&this.slideController.view.$element.height(this.slideController.currentSlide.getHeight()),this.options.swipe&&!window._touch&&this.options.grabCursor&&this.options.mouse){var $view=this.view.$element;$view.mousedown(function(){$view.removeClass("ms-grab-cursor"),$view.addClass("ms-grabbing-cursor"),$.browser.msie&&window.ms_grabbing_curosr&&($view[0].style.cursor="url("+window.ms_grabbing_curosr+"), move")}).addClass("ms-grab-cursor"),$(document).mouseup(function(){$view.removeClass("ms-grabbing-cursor"),$view.addClass("ms-grab-cursor"),$.browser.msie&&window.ms_grab_curosr&&($view[0].style.cursor="url("+window.ms_grab_curosr+"), move")})}this.slideController.__dispatchInit()}},p.setHeight=function(value){this.options.smoothHeight?(this.htween&&(this.htween.reset?this.htween.reset():this.htween.stop(!0)),this.htween=CTween.animate(this.slideController.view.$element,500,{height:value},{ease:"easeOutQuart"})):this.slideController.view.$element.height(value)},p.reserveSpace=function(side,space){var sideSpace=side+"Space",pos=this[sideSpace];return this[sideSpace]+=space,this._updateSideMargins(),pos},p._updateSideMargins=function(){this.$element.css("margin",this.topSpace+"px "+this.rightSpace+"px "+this.bottomSpace+"px "+this.leftSpace+"px")},p._realignControls=function(){this.rightSpace=this.leftSpace=this.topSpace=this.bottomSpace=0,this._updateSideMargins(),this.api.dispatchEvent(new MSSliderEvent(MSSliderEvent.RESERVED_SPACE_CHANGE))},p.control=function(control,options){if(control in MSSlideController.SliderControlList){this.controls||(this.controls=[]);var ins=new MSSlideController.SliderControlList[control](options);return ins.slider=this,this.controls.push(ins),this}},p.holdOn=function(){this._holdOn++},p.release=function(){this._holdOn--,this._init()},p.setup=function(target,options){if(this.$element="string"==typeof target?$("#"+target):target.eq(0),this.setupMarkup=this.$element.html(),0!==this.$element.length){this.$element.addClass("master-slider").addClass("before-init"),$.browser.msie?this.$element.addClass("ms-ie").addClass("ms-ie"+$.browser.version.slice(0,$.browser.version.indexOf("."))):$.browser.webkit?this.$element.addClass("ms-wk"):$.browser.mozilla&&this.$element.addClass("ms-moz");var ua=navigator.userAgent.toLowerCase(),isAndroid=ua.indexOf("android")>-1;isAndroid&&this.$element.addClass("ms-android");var that=this;$.extend(this.options,options),this.aspect=this.options.width/this.options.height,this.$loading=$("<div></div>").addClass("ms-loading-container").insertBefore(this.$element).append($("<div></div>").addClass("ms-loading")),this.$loading.parent().css("position","relative"),this.options.autofill&&(this.options.fullwidth=!0,this.options.fullheight=!0),this.options.fullheight&&this.$element.addClass("ms-fullheight"),this._resize(),this.slideController=new MSSlideController(this),this.api=this.slideController;for(var i=0,l=MS._plugins.length;i!==l;i++){var plugin=MS._plugins[i];-1===this.options.disablePlugins.indexOf(plugin.name)&&this.activePlugins.push(new plugin(this))}return this.options.forceInit&&MasterSlider.addJQReadyErrorCheck(this),$(document).ready(function(){that.initialized||(that._docReady=!0,that._init())}),this}},p.destroy=function(insertMarkup){for(var i=0,l=this.activePlugins.length;i!==l;i++)this.activePlugins[i].destroy();if(this.controls)for(i=0,l=this.controls.length;i!==l;i++)this.controls[i].destroy();this.slideController&&this.slideController._destroy(),this.$loading&&this.$loading.remove(),insertMarkup?this.$element.html(this.setupMarkup).css("visibility","hidden"):this.$element.remove();var lo=this.options.layout;("fullscreen"===lo||"fullwidth"===lo)&&$(window).unbind("resize",this._updateLayout),this.view=null,this.slides=null,this.options=null,this.slideController=null,this.api=null,this.resize_listener=null,this.activePlugins=null}}(jQuery),function($,window,document,undefined){function MasterSliderPlugin(element,options){this.element=element,this.$element=$(element),this.settings=$.extend({},defaults,options),this._defaults=defaults,this._name=pluginName,this.init()}var pluginName="masterslider",defaults={controls:{}};$.extend(MasterSliderPlugin.prototype,{init:function(){var self=this;this._slider=new MasterSlider;for(var control in this.settings.controls)this._slider.control(control,this.settings.controls[control]);this._slider.setup(this.$element,this.settings);var _superDispatch=this._slider.api.dispatchEvent;this._slider.api.dispatchEvent=function(event){self.$element.trigger(event.type),_superDispatch.call(this,event)}},api:function(){return this._slider.api},slider:function(){return this._slider}}),$.fn[pluginName]=function(options){var args=arguments,plugin="plugin_"+pluginName;if(options===undefined||"object"==typeof options)return this.each(function(){$.data(this,plugin)||$.data(this,plugin,new MasterSliderPlugin(this,options))});if("string"==typeof options&&"_"!==options[0]&&"init"!==options){var returns;return this.each(function(){var instance=$.data(this,plugin);instance instanceof MasterSliderPlugin&&"function"==typeof instance[options]&&(returns=instance[options].apply(instance,Array.prototype.slice.call(args,1))),instance instanceof MasterSliderPlugin&&"function"==typeof instance._slider.api[options]&&(returns=instance._slider.api[options].apply(instance._slider.api,Array.prototype.slice.call(args,1))),"destroy"===options&&$.data(this,plugin,null)}),returns!==undefined?returns:this}}}(jQuery,window,document),function($,window){"use strict";var sliderInstances=[];MasterSlider.addJQReadyErrorCheck=function(slider){sliderInstances.push(slider)};var _ready=$.fn.ready,_onerror=window.onerror;$.fn.ready=function(){return window.onerror=function(){if(0!==sliderInstances.length)for(var i=0,l=sliderInstances.length;i!==l;i++){var slider=sliderInstances[i];slider.initialized||(slider._docReady=!0,slider._init())}return _onerror?_onerror.apply(this,arguments):!1},_ready.apply(this,arguments)}}(jQuery,window,document),window.MSViewEvents=function(type,data){this.type=type,this.data=data},MSViewEvents.SWIPE_START="swipeStart",MSViewEvents.SWIPE_END="swipeEnd",MSViewEvents.SWIPE_MOVE="swipeMove",MSViewEvents.SWIPE_CANCEL="swipeCancel",MSViewEvents.SCROLL="scroll",MSViewEvents.CHANGE_START="slideChangeStart",MSViewEvents.CHANGE_END="slideChangeEnd",function($){"use strict";window.MSBasicView=function(options){this.options={loop:!1,dir:"h",autoHeight:!1,spacing:5,mouseSwipe:!0,swipe:!0,speed:17,minSlideSpeed:2,viewNum:20,critMargin:1},$.extend(this.options,options),this.dir=this.options.dir,this.loop=this.options.loop,this.spacing=this.options.spacing,this.__width=0,this.__height=0,this.__cssProb="h"===this.dir?"left":"top",this.__offset="h"===this.dir?"offsetLeft":"offsetTop",this.__dimension="h"===this.dir?"__width":"__height",this.__translate_end=window._css3d?" translateZ(0px)":"",this.$slideCont=$("<div></div>").addClass("ms-slide-container"),this.$element=$("<div></div>").addClass("ms-view").addClass("ms-basic-view").append(this.$slideCont),this.currentSlide=null,this.index=-1,this.slidesCount=0,this.slides=[],this.slideList=[],this.viewSlidesList=[],this.css3=window._cssanim,this.start_buffer=0,this.firstslide_snap=0,this.slideChanged=!1,this.controller=new Controller(0,0,{snapping:!0,snapsize:100,paging:!0,snappingMinSpeed:this.options.minSlideSpeed,friction:(100-.5*this.options.speed)/100,endless:this.loop}),this.controller.renderCallback("h"===this.dir?this._horizUpdate:this._vertiUpdate,this),this.controller.snappingCallback(this.__snapUpdate,this),this.controller.snapCompleteCallback(this.__snapCompelet,this),averta.EventDispatcher.call(this)};var p=MSBasicView.prototype;p.__snapCompelet=function(){this.slideChanged&&(this.slideChanged=!1,this.__locateSlides(),this.start_buffer=0,this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_END)))},p.__snapUpdate=function(controller,snap,change){if(this.loop){var target_index=this.index+change;this.updateLoop(target_index),target_index>=this.slidesCount&&(target_index-=this.slidesCount),0>target_index&&(target_index=this.slidesCount+target_index),this.index=target_index}else{if(0>snap||snap>=this.slidesCount)return;this.index=snap}this._checkCritMargins(),$.browser.mozilla&&(this.slideList[this.index].$element[0].style.marginTop="0.1px",this.currentSlide&&(this.currentSlide.$element[0].style.marginTop=""));var new_slide=this.slideList[this.index];new_slide!==this.currentSlide&&(this.currentSlide=new_slide,this.autoUpdateZIndex&&this.__updateSlidesZindex(),this.slideChanged=!0,this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_START)))},p._checkCritMargins=function(){if(!this.normalMode){var hlf=Math.floor(this.options.viewNum/2),inView=this.viewSlidesList.indexOf(this.slideList[this.index]),size=this[this.__dimension]+this.spacing,cm=this.options.critMargin;return this.loop?void((cm>=inView||inView>=this.viewSlidesList.length-cm)&&(size*=inView-hlf,this.__locateSlides(!1,size+this.start_buffer),this.start_buffer+=size)):void((cm>inView&&this.index>=cm||inView>=this.viewSlidesList.length-cm&&this.index<this.slidesCount-cm)&&this.__locateSlides(!1))}},p._vertiUpdate=function(controller,value){return this.__contPos=value,this.dispatchEvent(new MSViewEvents(MSViewEvents.SCROLL)),this.css3?void(this.$slideCont[0].style[window._jcsspfx+"Transform"]="translateY("+-value+"px)"+this.__translate_end):void(this.$slideCont[0].style.top=-value+"px")},p._horizUpdate=function(controller,value){return this.__contPos=value,this.dispatchEvent(new MSViewEvents(MSViewEvents.SCROLL)),this.css3?void(this.$slideCont[0].style[window._jcsspfx+"Transform"]="translateX("+-value+"px)"+this.__translate_end):void(this.$slideCont[0].style.left=-value+"px")},p.__updateViewList=function(){if(this.normalMode)return void(this.viewSlidesList=this.slides);var temp=this.viewSlidesList.slice();this.viewSlidesList=[];var l,i=0,hlf=Math.floor(this.options.viewNum/2);if(this.loop)for(;i!==this.options.viewNum;i++)this.viewSlidesList.push(this.slides[this.currentSlideLoc-hlf+i]);else{for(i=0;i!==hlf&&this.index-i!==-1;i++)this.viewSlidesList.unshift(this.slideList[this.index-i]);for(i=1;i!==hlf&&this.index+i!==this.slidesCount;i++)this.viewSlidesList.push(this.slideList[this.index+i])}for(i=0,l=temp.length;i!==l;i++)-1===this.viewSlidesList.indexOf(temp[i])&&temp[i].sleep();temp=null,this.currentSlide&&this.__updateSlidesZindex()},p.__locateSlides=function(move,start){this.__updateViewList(),start=this.loop?start||0:this.slides.indexOf(this.viewSlidesList[0])*(this[this.__dimension]+this.spacing);for(var slide,l=this.viewSlidesList.length,i=0;i!==l;i++){var pos=start+i*(this[this.__dimension]+this.spacing);slide=this.viewSlidesList[i],slide.wakeup(),slide.position=pos,slide.$element[0].style[this.__cssProb]=pos+"px"}move!==!1&&this.controller.changeTo(this.slideList[this.index].position,!1,null,null,!1)},p.__createLoopList=function(){var return_arr=[],i=0,count=this.slidesCount/2,before_count=this.slidesCount%2===0?count-1:Math.floor(count),after_count=this.slidesCount%2===0?count:Math.floor(count);for(this.currentSlideLoc=before_count,i=1;before_count>=i;++i)return_arr.unshift(this.slideList[this.index-i<0?this.slidesCount-i+this.index:this.index-i]);for(return_arr.push(this.slideList[this.index]),i=1;after_count>=i;++i)return_arr.push(this.slideList[this.index+i>=this.slidesCount?this.index+i-this.slidesCount:this.index+i]);return return_arr},p.__getSteps=function(index,target){var right=index>target?this.slidesCount-index+target:target-index,left=Math.abs(this.slidesCount-right);return left>right?right:-left},p.__pushEnd=function(){var first_slide=this.slides.shift(),last_slide=this.slides[this.slidesCount-2];if(this.slides.push(first_slide),this.normalMode){var pos=last_slide.$element[0][this.__offset]+this.spacing+this[this.__dimension];first_slide.$element[0].style[this.__cssProb]=pos+"px",first_slide.position=pos}},p.__pushStart=function(){var last_slide=this.slides.pop(),first_slide=this.slides[0];if(this.slides.unshift(last_slide),this.normalMode){var pos=first_slide.$element[0][this.__offset]-this.spacing-this[this.__dimension];last_slide.$element[0].style[this.__cssProb]=pos+"px",last_slide.position=pos}},p.__updateSlidesZindex=function(){{var slide,l=this.viewSlidesList.length;Math.floor(l/2)}if(this.loop)for(var loc=this.viewSlidesList.indexOf(this.currentSlide),i=0;i!==l;i++)slide=this.viewSlidesList[i],this.viewSlidesList[i].$element.css("z-index",loc>=i?i+1:l-i);else{for(var beforeNum=this.currentSlide.index-this.viewSlidesList[0].index,i=0;i!==l;i++)this.viewSlidesList[i].$element.css("z-index",beforeNum>=i?i+1:l-i);this.currentSlide.$element.css("z-index",l)}},p.addSlide=function(slide){slide.view=this,this.slides.push(slide),this.slideList.push(slide),this.slidesCount++},p.appendSlide=function(slide){this.$slideCont.append(slide.$element)},p.updateLoop=function(index){if(this.loop)for(var steps=this.__getSteps(this.index,index),i=0,l=Math.abs(steps);l>i;++i)0>steps?this.__pushStart():this.__pushEnd()},p.gotoSlide=function(index,fast){this.updateLoop(index),this.index=index;var target_slide=this.slideList[index];this._checkCritMargins(),this.controller.changeTo(target_slide.position,!fast,null,null,!1),target_slide!==this.currentSlide&&(this.slideChanged=!0,this.currentSlide=target_slide,this.autoUpdateZIndex&&this.__updateSlidesZindex(),this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_START)),fast&&this.dispatchEvent(new MSViewEvents(MSViewEvents.CHANGE_END)))},p.next=function(checkLoop){return checkLoop&&!this.loop&&this.index+1>=this.slidesCount?void this.controller.bounce(10):void this.gotoSlide(this.index+1>=this.slidesCount?0:this.index+1)},p.previous=function(checkLoop){return checkLoop&&!this.loop&&this.index-1<0?void this.controller.bounce(-10):void this.gotoSlide(this.index-1<0?this.slidesCount-1:this.index-1)},p.setupSwipe=function(){this.swipeControl=new averta.TouchSwipe(this.$element),this.swipeControl.swipeType="h"===this.dir?"horizontal":"vertical";var that=this;this.swipeControl.onSwipe="h"===this.dir?function(status){that.horizSwipeMove(status)}:function(status){that.vertSwipeMove(status)}},p.vertSwipeMove=function(status){var phase=status.phase;if("start"===phase)this.controller.stop(),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_START,status));else if("move"===phase&&(!this.loop||Math.abs(this.currentSlide.position-this.controller.value+status.moveY)<this.cont_size/2))this.controller.drag(status.moveY),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_MOVE,status));else if("end"===phase||"cancel"===phase){var speed=status.distanceY/status.duration*50/3,speedh=Math.abs(status.distanceY/status.duration*50/3);Math.abs(speed)>.1&&Math.abs(speed)>=speedh?(this.controller.push(-speed),speed>this.controller.options.snappingMinSpeed&&this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_END,status))):(this.controller.cancel(),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_CANCEL,status)))}},p.horizSwipeMove=function(status){var phase=status.phase;if("start"===phase)this.controller.stop(),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_START,status));else if("move"===phase&&(!this.loop||Math.abs(this.currentSlide.position-this.controller.value+status.moveX)<this.cont_size/2))this.controller.drag(status.moveX),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_MOVE,status));else if("end"===phase||"cancel"===phase){var speed=status.distanceX/status.duration*50/3,speedv=Math.abs(status.distanceY/status.duration*50/3);Math.abs(speed)>.1&&Math.abs(speed)>=speedv?(this.controller.push(-speed),speed>this.controller.options.snappingMinSpeed&&this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_END,status))):(this.controller.cancel(),this.dispatchEvent(new MSViewEvents(MSViewEvents.SWIPE_CANCEL,status)))}},p.setSize=function(width,height,hard){if(this.lastWidth!==width||height!==this.lastHeight||hard){this.$element.width(width).height(height);for(var i=0;i<this.slidesCount;++i)this.slides[i].setSize(width,height,hard);this.__width=width,this.__height=height,this.__created&&(this.__locateSlides(),this.cont_size=(this.slidesCount-1)*(this[this.__dimension]+this.spacing),this.loop||(this.controller._max_value=this.cont_size),this.controller.options.snapsize=this[this.__dimension]+this.spacing,this.controller.changeTo(this.currentSlide.position,!1,null,null,!1),this.controller.cancel(),this.lastWidth=width,this.lastHeight=height)}},p.create=function(index){this.__created=!0,this.index=Math.min(index||0,this.slidesCount-1),this.lastSnap=this.index,this.loop&&(this.slides=this.__createLoopList()),this.normalMode=this.slidesCount<=this.options.viewNum;for(var i=0;i<this.slidesCount;++i)this.slides[i].create();this.__locateSlides(),this.controller.options.snapsize=this[this.__dimension]+this.spacing,this.loop||(this.controller._max_value=(this.slidesCount-1)*(this[this.__dimension]+this.spacing)),this.gotoSlide(this.index,!0),this.options.swipe&&(window._touch||this.options.mouseSwipe)&&this.setupSwipe()},p.destroy=function(){if(this.__created){for(var i=0;i<this.slidesCount;++i)this.slides[i].destroy();this.slides=null,this.slideList=null,this.$element.remove(),this.controller.destroy(),this.controller=null}},averta.EventDispatcher.extend(p),MSSlideController.registerView("basic",MSBasicView)}(jQuery),function(){"use strict";window.MSFadeView=function(options){MSBasicView.call(this,options),this.$element.removeClass("ms-basic-view").addClass("ms-fade-view"),this.controller.renderCallback(this.__update,this)},MSFadeView.extend(MSBasicView);var p=MSFadeView.prototype,_super=MSBasicView.prototype;p.__update=function(controller,value){for(var slide,distance,cont_scroll=-value,i=0;i<this.slidesCount;++i)slide=this.slideList[i],distance=-cont_scroll-slide.position,this.__updateSlides(slide,distance)},p.__updateSlides=function(slide,distance){var value=Math.abs(distance/this[this.__dimension]);0>=1-value?slide.$element.fadeTo(0,0).css("visibility","hidden"):slide.$element.fadeTo(0,1-value).css("visibility","")},p.__locateSlides=function(move,start){this.__updateViewList(),start=this.loop?start||0:this.slides.indexOf(this.viewSlidesList[0])*(this[this.__dimension]+this.spacing);for(var slide,l=this.viewSlidesList.length,i=0;i!==l;i++){var pos=start+i*this[this.__dimension];slide=this.viewSlidesList[i],slide.wakeup(),slide.position=pos}move!==!1&&this.controller.changeTo(this.slideList[this.index].position,!1,null,null,!1)},p.__pushEnd=function(){var first_slide=this.slides.shift(),last_slide=this.slides[this.slidesCount-2];this.slides.push(first_slide),first_slide.position=last_slide.position+this[this.__dimension]},p.__pushStart=function(){var last_slide=this.slides.pop(),first_slide=this.slides[0];this.slides.unshift(last_slide),last_slide.position=first_slide.position-this[this.__dimension]
11
+ },p.create=function(index){_super.create.call(this,index),this.spacing=0,this.controller.options.minValidDist=10},MSSlideController.registerView("fade",MSFadeView)}(jQuery),function($){"use strict";var BaseControl=function(){this.options={prefix:"ms-",autohide:!0,overVideo:!0,customClass:null}},p=BaseControl.prototype;p.slideAction=function(){},p.setup=function(){this.cont=this.options.insertTo?$(this.options.insertTo):this.slider.$controlsCont,this.options.overVideo||this._hideOnvideoStarts()},p.checkHideUnder=function(){this.options.hideUnder&&(this.needsRealign=!this.options.insetTo&&("left"===this.options.align||"right"===this.options.align)&&this.options.inset===!1,$(window).bind("resize",{that:this},this.onResize),this.onResize())},p.onResize=function(event){var that=event&&event.data.that||this,w=window.innerWidth;w<=that.options.hideUnder&&!that.detached?(that.hide(!0),that.detached=!0,that.onDetach()):w>=that.options.hideUnder&&that.detached&&(that.detached=!1,that.visible(),that.onAppend())},p.create=function(){this.options.autohide&&(this.hide(!0),this.slider.$controlsCont.mouseenter($.proxy(this._onMouseEnter,this)).mouseleave($.proxy(this._onMouseLeave,this)).mousedown($.proxy(this._onMouseDown,this)),this.$element&&this.$element.mouseenter($.proxy(this._onMouseEnter,this)).mouseleave($.proxy(this._onMouseLeave,this)).mousedown($.proxy(this._onMouseDown,this)),$(document).mouseup($.proxy(this._onMouseUp,this))),this.options.align&&this.$element.addClass("ms-align-"+this.options.align),this.options.customClass&&this.$element&&this.$element.addClass(this.options.customClass)},p._onMouseEnter=function(){this._disableAH||this.mdown||this.visible(),this.mleave=!1},p._onMouseLeave=function(){this.mdown||this.hide(),this.mleave=!0},p._onMouseDown=function(){this.mdown=!0},p._onMouseUp=function(){this.mdown&&this.mleave&&this.hide(),this.mdown=!1},p.onAppend=function(){this.needsRealign&&this.slider._realignControls()},p.onDetach=function(){this.needsRealign&&this.slider._realignControls()},p._hideOnvideoStarts=function(){var that=this;this.slider.api.addEventListener(MSSliderEvent.VIDEO_PLAY,function(){that._disableAH=!0,that.hide()}),this.slider.api.addEventListener(MSSliderEvent.VIDEO_CLOSE,function(){that._disableAH=!1,that.visible()})},p.hide=function(fast){if(fast)this.$element.css("opacity",0),this.$element.css("display","none");else{clearTimeout(this.hideTo);var $element=this.$element;this.hideTo=setTimeout(function(){CTween.fadeOut($element,400,!1)},20)}this.$element.addClass("ms-ctrl-hide")},p.visible=function(){this.detached||(clearTimeout(this.hideTo),this.$element.css("display",""),CTween.fadeIn(this.$element,400,!1),this.$element.removeClass("ms-ctrl-hide"))},p.destroy=function(){this.options&&this.options.hideUnder&&$(window).unbind("resize",this.onResize)},window.BaseControl=BaseControl}(jQuery),function($){"use strict";var MSArrows=function(options){BaseControl.call(this),$.extend(this.options,options)};MSArrows.extend(BaseControl);var p=MSArrows.prototype,_super=BaseControl.prototype;p.setup=function(){var that=this;this.$next=$("<div></div>").addClass(this.options.prefix+"nav-next").bind("click",function(){that.slider.api.next(!0)}),this.$prev=$("<div></div>").addClass(this.options.prefix+"nav-prev").bind("click",function(){that.slider.api.previous(!0)}),_super.setup.call(this),this.cont.append(this.$next),this.cont.append(this.$prev),this.checkHideUnder()},p.hide=function(fast){return fast?(this.$prev.css("opacity",0).css("display","none"),void this.$next.css("opacity",0).css("display","none")):(CTween.fadeOut(this.$prev,400,!1),CTween.fadeOut(this.$next,400,!1),this.$prev.addClass("ms-ctrl-hide"),void this.$next.addClass("ms-ctrl-hide"))},p.visible=function(){this.detached||(CTween.fadeIn(this.$prev,400),CTween.fadeIn(this.$next,400),this.$prev.removeClass("ms-ctrl-hide").css("display",""),this.$next.removeClass("ms-ctrl-hide").css("display",""))},p.destroy=function(){_super.destroy(),this.$next.remove(),this.$prev.remove()},window.MSArrows=MSArrows,MSSlideController.registerControl("arrows",MSArrows)}(jQuery),function($){"use strict";var MSThumblist=function(options){BaseControl.call(this),this.options.dir="h",this.options.wheel="v"===options.dir,this.options.arrows=!1,this.options.speed=17,this.options.align=null,this.options.inset=!1,this.options.margin=10,this.options.space=10,this.options.width=100,this.options.height=100,this.options.type="thumbs",this.options.hover=!1,$.extend(this.options,options),this.thumbs=[],this.index_count=0,this.__dimen="h"===this.options.dir?"width":"height",this.__alignsize="h"===this.options.dir?"height":"width",this.__jdimen="h"===this.options.dir?"outerWidth":"outerHeight",this.__pos="h"===this.options.dir?"left":"top",this.click_enable=!0};MSThumblist.extend(BaseControl);var p=MSThumblist.prototype,_super=BaseControl.prototype;p.setup=function(){if(this.$element=$("<div></div>").addClass(this.options.prefix+"thumb-list"),"tabs"===this.options.type&&this.$element.addClass(this.options.prefix+"tabs"),this.$element.addClass("ms-dir-"+this.options.dir),_super.setup.call(this),this.$element.appendTo(this.slider.$controlsCont===this.cont?this.slider.$element:this.cont),this.$thumbscont=$("<div></div>").addClass("ms-thumbs-cont").appendTo(this.$element),this.options.arrows){var that=this;this.$fwd=$("<div></div>").addClass("ms-thumblist-fwd").appendTo(this.$element).click(function(){that.controller.push(-15)}),this.$bwd=$("<div></div>").addClass("ms-thumblist-bwd").appendTo(this.$element).click(function(){that.controller.push(15)})}if(!this.options.insetTo&&this.options.align){var align=this.options.align;this.options.inset?this.$element.css(align,this.options.margin):"top"===align?this.$element.detach().prependTo(this.slider.$element).css({"margin-bottom":this.options.margin,position:"relative"}):"bottom"===align?this.$element.css({"margin-top":this.options.margin,position:"relative"}):(this.slider.api.addEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.align()),"v"===this.options.dir?this.$element.width(this.options.width):this.$element.height(this.options.height)}this.checkHideUnder()},p.align=function(){if(!this.detached){var align=this.options.align,pos=this.slider.reserveSpace(align,this.options[this.__alignsize]+2*this.options.margin);this.$element.css(align,-pos-this.options[this.__alignsize]-this.options.margin)}},p.slideAction=function(slide){var thumb_ele=slide.$element.find(".ms-thumb"),that=this,thumb_frame=$("<div></div>").addClass("ms-thumb-frame").append(thumb_ele).append($('<div class="ms-thumb-ol"></div>')).bind(this.options.hover?"hover":"click",function(){that.changeSlide(thumb_frame)});if(this.options.align&&thumb_frame.width(this.options.width-("v"===this.options.dir&&"tabs"===this.options.type?12:0)).height(this.options.height).css("margin-"+("v"===this.options.dir?"bottom":"right"),this.options.space),thumb_frame[0].index=this.index_count++,this.$thumbscont.append(thumb_frame),this.options.fillMode&&thumb_ele.is("img")){var aligner=new window.MSAligner(this.options.fillMode,thumb_frame,thumb_ele);thumb_ele[0].aligner=aligner,thumb_ele.one("load",function(){var $this=$(this);$this[0].aligner.init($this.width(),$this.height()),$this[0].aligner.align()}).each($.jqLoadFix)}$.browser.msie&&thumb_ele.on("dragstart",function(event){event.preventDefault()}),this.thumbs.push(thumb_frame)},p.create=function(){_super.create.call(this),this.__translate_end=window._css3d?" translateZ(0px)":"",this.controller=new Controller(0,0,{snappingMinSpeed:2,friction:(100-.5*this.options.speed)/100}),this.controller.renderCallback("h"===this.options.dir?this._hMove:this._vMove,this);var that=this;this.resize_listener=function(){that.__resize()},$(window).bind("resize",this.resize_listener),this.thumbSize=this.thumbs[0][this.__jdimen](!0),this.setupSwipe(),this.__resize();var that=this;this.options.wheel&&(this.wheellistener=function(event){var e=window.event||event.orginalEvent||event,delta=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));return that.controller.push(10*-delta),!1},$.browser.mozilla?this.$element[0].addEventListener("DOMMouseScroll",this.wheellistener):this.$element.bind("mousewheel",this.wheellistener)),this.slider.api.addEventListener(MSSliderEvent.CHANGE_START,this.update,this),this.slider.api.addEventListener(MSSliderEvent.HARD_UPDATE,this.realignThumbs,this),this.cindex=this.slider.api.index(),this.select(this.thumbs[this.cindex])},p._hMove=function(controller,value){return this.__contPos=value,window._cssanim?void(this.$thumbscont[0].style[window._jcsspfx+"Transform"]="translateX("+-value+"px)"+this.__translate_end):void(this.$thumbscont[0].style.left=-value+"px")},p._vMove=function(controller,value){return this.__contPos=value,window._cssanim?void(this.$thumbscont[0].style[window._jcsspfx+"Transform"]="translateY("+-value+"px)"+this.__translate_end):void(this.$thumbscont[0].style.top=-value+"px")},p.setupSwipe=function(){this.swipeControl=new averta.TouchSwipe(this.$element),this.swipeControl.swipeType="h"===this.options.dir?"horizontal":"vertical";var that=this;this.swipeControl.onSwipe="h"===this.options.dir?function(status){that.horizSwipeMove(status)}:function(status){that.vertSwipeMove(status)}},p.vertSwipeMove=function(status){if(!this.dTouch){var phase=status.phase;if("start"===phase)this.controller.stop();else if("move"===phase)this.controller.drag(status.moveY);else if("end"===phase||"cancel"===phase){var speed=Math.abs(status.distanceY/status.duration*50/3);speed>.1?this.controller.push(-status.distanceY/status.duration*50/3):(this.click_enable=!0,this.controller.cancel())}}},p.horizSwipeMove=function(status){if(!this.dTouch){var phase=status.phase;if("start"===phase)this.controller.stop(),this.click_enable=!1;else if("move"===phase)this.controller.drag(status.moveX);else if("end"===phase||"cancel"===phase){var speed=Math.abs(status.distanceX/status.duration*50/3);speed>.1?this.controller.push(-status.distanceX/status.duration*50/3):(this.click_enable=!0,this.controller.cancel())}}},p.update=function(){var nindex=this.slider.api.index();this.cindex!==nindex&&(null!=this.cindex&&this.unselect(this.thumbs[this.cindex]),this.cindex=nindex,this.select(this.thumbs[this.cindex]),this.dTouch||this.updateThumbscroll())},p.realignThumbs=function(){this.$element.find(".ms-thumb").each(function(index,thumb){thumb.aligner&&thumb.aligner.align()})},p.updateThumbscroll=function(){var pos=this.thumbSize*this.cindex;if(0/0==this.controller.value&&(this.controller.value=0),pos-this.controller.value<0)return void this.controller.gotoSnap(this.cindex,!0);if(pos+this.thumbSize-this.controller.value>this.$element[this.__dimen]()){var first_snap=this.cindex-Math.floor(this.$element[this.__dimen]()/this.thumbSize)+1;return void this.controller.gotoSnap(first_snap,!0)}},p.changeSlide=function(thumb){this.click_enable&&this.cindex!==thumb[0].index&&this.slider.api.gotoSlide(thumb[0].index)},p.unselect=function(ele){ele.removeClass("ms-thumb-frame-selected")},p.select=function(ele){ele.addClass("ms-thumb-frame-selected")},p.__resize=function(){var size=this.$element[this.__dimen]();if(this.ls!==size){this.ls=size,this.thumbSize=this.thumbs[0][this.__jdimen](!0);var len=this.slider.api.count()*this.thumbSize;this.$thumbscont[0].style[this.__dimen]=len+"px",size>=len?(this.dTouch=!0,this.controller.stop(),this.$thumbscont[0].style[this.__pos]=.5*(size-len)+"px",this.$thumbscont[0].style[window._jcsspfx+"Transform"]=""):(this.dTouch=!1,this.click_enable=!0,this.$thumbscont[0].style[this.__pos]="",this.controller._max_value=len-size,this.controller.options.snapsize=this.thumbSize,this.updateThumbscroll())}},p.destroy=function(){_super.destroy(),this.options.wheel&&($.browser.mozilla?this.$element[0].removeEventListener("DOMMouseScroll",this.wheellistener):this.$element.unbind("mousewheel",this.wheellistener),this.wheellistener=null),$(window).unbind("resize",this.resize_listener),this.$element.remove(),this.slider.api.removeEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.slider.api.removeEventListener(MSSliderEvent.CHANGE_START,this.update,this)},window.MSThumblist=MSThumblist,MSSlideController.registerControl("thumblist",MSThumblist)}(jQuery),function($){"use strict";var MSBulltes=function(options){BaseControl.call(this),this.options.dir="h",this.options.inset=!0,this.options.margin=10,this.options.space=10,$.extend(this.options,options),this.bullets=[]};MSBulltes.extend(BaseControl);var p=MSBulltes.prototype,_super=BaseControl.prototype;p.setup=function(){if(_super.setup.call(this),this.$element=$("<div></div>").addClass(this.options.prefix+"bullets").addClass("ms-dir-"+this.options.dir).appendTo(this.cont),this.$bullet_cont=$("<div></div>").addClass("ms-bullets-count").appendTo(this.$element),!this.options.insetTo&&this.options.align){var align=this.options.align;this.options.inset&&this.$element.css(align,this.options.margin)}this.checkHideUnder()},p.create=function(){_super.create.call(this);var that=this;this.slider.api.addEventListener(MSSliderEvent.CHANGE_START,this.update,this),this.cindex=this.slider.api.index();for(var i=0;i<this.slider.api.count();++i){var bullet=$("<div></div>").addClass("ms-bullet");bullet[0].index=i,bullet.on("click",function(){that.changeSlide(this.index)}),this.$bullet_cont.append(bullet),this.bullets.push(bullet),"h"===this.options.dir?bullet.css("margin",this.options.space/2):bullet.css("margin",this.options.space)}"h"===this.options.dir?this.$element.width(bullet.outerWidth(!0)*this.slider.api.count()):this.$element.css("margin-top",-this.$element.outerHeight(!0)/2),this.select(this.bullets[this.cindex])},p.update=function(){var nindex=this.slider.api.index();this.cindex!==nindex&&(null!=this.cindex&&this.unselect(this.bullets[this.cindex]),this.cindex=nindex,this.select(this.bullets[this.cindex]))},p.changeSlide=function(index){this.cindex!==index&&this.slider.api.gotoSlide(index)},p.unselect=function(ele){ele.removeClass("ms-bullet-selected")},p.select=function(ele){ele.addClass("ms-bullet-selected")},p.destroy=function(){_super.destroy(),this.slider.api.removeEventListener(MSSliderEvent.CHANGE_START,this.update,this),this.$element.remove()},window.MSBulltes=MSBulltes,MSSlideController.registerControl("bullets",MSBulltes)}(jQuery),function($){"use strict";var MSScrollbar=function(options){BaseControl.call(this),this.options.dir="h",this.options.autohide=!0,this.options.width=4,this.options.color="#3D3D3D",this.options.margin=10,$.extend(this.options,options),this.__dimen="h"===this.options.dir?"width":"height",this.__jdimen="h"===this.options.dir?"outerWidth":"outerHeight",this.__pos="h"===this.options.dir?"left":"top",this.__translate_end=window._css3d?" translateZ(0px)":"",this.__translate_start="h"===this.options.dir?" translateX(":"translateY("};MSScrollbar.extend(BaseControl);var p=MSScrollbar.prototype,_super=BaseControl.prototype;p.setup=function(){if(this.$element=$("<div></div>").addClass(this.options.prefix+"sbar").addClass("ms-dir-"+this.options.dir),_super.setup.call(this),this.$element.appendTo(this.slider.$controlsCont===this.cont?this.slider.$element:this.cont),this.$bar=$("<div></div>").addClass(this.options.prefix+"bar").appendTo(this.$element),this.slider.options.loop&&(this.disable=!0,this.$element.remove()),"v"===this.options.dir?this.$bar.width(this.options.width):this.$bar.height(this.options.width),this.$bar.css("background-color",this.options.color),!this.options.insetTo&&this.options.align){this.$element.css("v"===this.options.dir?{right:"auto",left:"auto"}:{top:"auto",bottom:"auto"});var align=this.options.align;this.options.inset?this.$element.css(align,this.options.margin):"top"===align?this.$element.prependTo(this.slider.$element).css({"margin-bottom":this.options.margin,position:"relative"}):"bottom"===align?this.$element.css({"margin-top":this.options.margin,position:"relative"}):(this.slider.api.addEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.align())}this.checkHideUnder()},p.align=function(){if(!this.detached){var align=this.options.align,pos=this.slider.reserveSpace(align,2*this.options.margin+this.options.width);this.$element.css(align,-pos-this.options.margin-this.options.width)}},p.create=function(){if(!this.disable){this.scroller=this.slider.api.scroller,this.slider.api.view.addEventListener(MSViewEvents.SCROLL,this._update,this),this.slider.api.addEventListener(MSSliderEvent.RESIZE,this._resize,this),this._resize(),this.options.autohide&&this.$bar.css("opacity","0")}},p._resize=function(){this.vdimen=this.$element[this.__dimen](),this.bar_dimen=this.slider.api.view["__"+this.__dimen]*this.vdimen/this.scroller._max_value,this.$bar[this.__dimen](this.bar_dimen)},p._update=function(){var value=this.scroller.value*(this.vdimen-this.bar_dimen)/this.scroller._max_value;if(this.lvalue!==value){if(this.lvalue=value,this.options.autohide){clearTimeout(this.hto),this.$bar.css("opacity","1");var that=this;this.hto=setTimeout(function(){that.$bar.css("opacity","0")},150)}return 0>value?void(this.$bar[0].style[this.__dimen]=this.bar_dimen+value+"px"):(value>this.vdimen-this.bar_dimen&&(this.$bar[0].style[this.__dimen]=this.vdimen-value+"px"),window._cssanim?void(this.$bar[0].style[window._jcsspfx+"Transform"]=this.__translate_start+value+"px)"+this.__translate_end):void(this.$bar[0].style[this.__pos]=value+"px"))}},p.destroy=function(){_super.destroy(),this.slider.api.view.removeEventListener(MSViewEvents.SCROLL,this._update,this),this.slider.api.removeEventListener(MSSliderEvent.RESIZE,this._resize,this),this.slider.api.removeEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.$element.remove()},window.MSScrollbar=MSScrollbar,MSSlideController.registerControl("scrollbar",MSScrollbar)}(jQuery),function($){"use strict";var MSTimerbar=function(options){BaseControl.call(this),this.options.autohide=!1,this.options.width=4,this.options.color="#FFFFFF",this.options.inset=!0,this.options.margin=0,$.extend(this.options,options)};MSTimerbar.extend(BaseControl);var p=MSTimerbar.prototype,_super=BaseControl.prototype;p.setup=function(){if(_super.setup.call(this),this.$element=$("<div></div>").addClass(this.options.prefix+"timerbar"),_super.setup.call(this),this.$element.appendTo(this.slider.$controlsCont===this.cont?this.slider.$element:this.cont),this.$bar=$("<div></div>").addClass("ms-time-bar").appendTo(this.$element),"v"===this.options.dir?(this.$bar.width(this.options.width),this.$element.width(this.options.width)):(this.$bar.height(this.options.width),this.$element.height(this.options.width)),this.$bar.css("background-color",this.options.color),!this.options.insetTo&&this.options.align){this.$element.css({top:"auto",bottom:"auto"});var align=this.options.align;this.options.inset?this.$element.css(align,this.options.margin):"top"===align?this.$element.prependTo(this.slider.$element).css({"margin-bottom":this.options.margin,position:"relative"}):"bottom"===align?this.$element.css({"margin-top":this.options.margin,position:"relative"}):(this.slider.api.addEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.align())}this.checkHideUnder()},p.align=function(){if(!this.detached){var align=this.options.align,pos=this.slider.reserveSpace(align,2*this.options.margin+this.options.width);this.$element.css(align,-pos-this.options.margin-this.options.width)}},p.create=function(){_super.create.call(this),this.slider.api.addEventListener(MSSliderEvent.WAITING,this._update,this),this._update()},p._update=function(){this.$bar[0].style.width=this.slider.api._delayProgress+"%"},p.destroy=function(){_super.destroy(),this.slider.api.removeEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.slider.api.removeEventListener(MSSliderEvent.WAITING,this._update,this),this.$element.remove()},window.MSTimerbar=MSTimerbar,MSSlideController.registerControl("timebar",MSTimerbar)}(jQuery),function($){"use strict";var MSCircleTimer=function(options){BaseControl.call(this),this.options.color="#A2A2A2",this.options.stroke=10,this.options.radius=4,this.options.autohide=!1,$.extend(this.options,options)};MSCircleTimer.extend(BaseControl);var p=MSCircleTimer.prototype,_super=BaseControl.prototype;p.setup=function(){return _super.setup.call(this),this.$element=$("<div></div>").addClass(this.options.prefix+"ctimer").appendTo(this.cont),this.$canvas=$("<canvas></canvas>").addClass("ms-ctimer-canvas").appendTo(this.$element),this.$bar=$("<div></div>").addClass("ms-ctimer-bullet").appendTo(this.$element),this.$canvas[0].getContext?(this.ctx=this.$canvas[0].getContext("2d"),this.prog=0,this.__w=2*(this.options.radius+this.options.stroke/2),this.$canvas[0].width=this.__w,this.$canvas[0].height=this.__w,void this.checkHideUnder()):(this.destroy(),void(this.disable=!0))},p.create=function(){if(!this.disable){_super.create.call(this),this.slider.api.addEventListener(MSSliderEvent.WAITING,this._update,this);var that=this;this.$element.click(function(){that.slider.api.paused?that.slider.api.resume():that.slider.api.pause()}),this._update()}},p._update=function(){var that=this;$(this).stop(!0).animate({prog:.01*this.slider.api._delayProgress},{duration:200,step:function(){that._draw()}})},p._draw=function(){this.ctx.clearRect(0,0,this.__w,this.__w),this.ctx.beginPath(),this.ctx.arc(.5*this.__w,.5*this.__w,this.options.radius,1.5*Math.PI,1.5*Math.PI+2*Math.PI*this.prog,!1),this.ctx.strokeStyle=this.options.color,this.ctx.lineWidth=this.options.stroke,this.ctx.stroke()},p.destroy=function(){_super.destroy(),this.disable||($(this).stop(!0),this.slider.api.removeEventListener(MSSliderEvent.WAITING,this._update,this),this.$element.remove())},window.MSCircleTimer=MSCircleTimer,MSSlideController.registerControl("circletimer",MSCircleTimer)}(jQuery),function($){"use strict";window.MSSlideInfo=function(options){BaseControl.call(this,options),this.options.autohide=!1,this.options.align=null,this.options.inset=!1,this.options.margin=10,this.options.size=100,this.options.dir="h",$.extend(this.options,options),this.data_list=[]},MSSlideInfo.fadeDuratation=400,MSSlideInfo.extend(BaseControl);var p=MSSlideInfo.prototype,_super=BaseControl.prototype;p.setup=function(){if(this.$element=$("<div></div>").addClass(this.options.prefix+"slide-info").addClass("ms-dir-"+this.options.dir),_super.setup.call(this),this.$element.appendTo(this.slider.$controlsCont===this.cont?this.slider.$element:this.cont),!this.options.insetTo&&this.options.align){var align=this.options.align;this.options.inset?this.$element.css(align,this.options.margin):"top"===align?this.$element.prependTo(this.slider.$element).css({"margin-bottom":this.options.margin,position:"relative"}):"bottom"===align?this.$element.css({"margin-top":this.options.margin,position:"relative"}):(this.slider.api.addEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.align()),"v"===this.options.dir?this.$element.width(this.options.size):this.$element.css("min-height",this.options.size)}this.checkHideUnder()},p.align=function(){if(!this.detached){var align=this.options.align,pos=this.slider.reserveSpace(align,this.options.size+2*this.options.margin);this.$element.css(align,-pos-this.options.size-this.options.margin)}},p.slideAction=function(slide){var info_ele=$(slide.$element.find(".ms-info"));info_ele.detach(),this.data_list[slide.index]=info_ele},p.create=function(){_super.create.call(this),this.slider.api.addEventListener(MSSliderEvent.CHANGE_START,this.update,this),this.cindex=this.slider.api.index(),this.switchEle(this.data_list[this.cindex])},p.update=function(){var nindex=this.slider.api.index();this.switchEle(this.data_list[nindex]),this.cindex=nindex},p.switchEle=function(ele){if(this.current_ele){this.current_ele[0].tween&&this.current_ele[0].tween.stop(!0),this.current_ele[0].tween=CTween.animate(this.current_ele,MSSlideInfo.fadeDuratation,{opacity:0},{complete:function(){this.detach(),this[0].tween=null,ele.css("position","relative")},target:this.current_ele}),ele.css("position","absolute")}this.__show(ele)},p.__show=function(ele){ele.appendTo(this.$element).css("opacity","0"),this.current_ele&&ele.height(Math.max(ele.height(),this.current_ele.height())),clearTimeout(this.tou),this.tou=setTimeout(function(){CTween.fadeIn(ele,MSSlideInfo.fadeDuratation),ele.css("height","")},MSSlideInfo.fadeDuratation),ele[0].tween&&ele[0].tween.stop(!0),this.current_ele=ele},p.destroy=function(){_super.destroy(),clearTimeout(this.tou),this.current_ele&&this.current_ele[0].tween&&this.current_ele[0].tween.stop("true"),this.$element.remove(),this.slider.api.removeEventListener(MSSliderEvent.RESERVED_SPACE_CHANGE,this.align,this),this.slider.api.removeEventListener(MSSliderEvent.CHANGE_START,this.update,this)},MSSlideController.registerControl("slideinfo",MSSlideInfo)}(jQuery),function($,document,window){var PId=0,$window=$(window),$doc=$(document);if(window.MasterSlider){var StartOnAppear=function(slider){this.PId=PId++,this.slider=slider,this.$slider=slider.$element,this.slider.options.startOnAppear&&(slider.holdOn(),$doc.ready($.proxy(this.init,this)))};StartOnAppear.name="MSStartOnAppear";var p=StartOnAppear.prototype;p.init=function(){this.slider.api;$window.on("scroll.soa"+this.PId,$.proxy(this._onScroll,this)).trigger("scroll")},p._onScroll=function(){var vpBottom=$window.scrollTop()+$window.height(),top=this.$slider.offset().top;vpBottom>top&&($window.off("scroll.soa"+this.PId),this.slider.release())},p.destroy=function(){},MasterSlider.registerPlugin(StartOnAppear)}}(jQuery,document,window),function($,window){"use strict";if(window.MSReady)for(var i=0,l=MSReady.length;i!==l;i++)MSReady[i].call(null,$)}(jQuery,window,document),function(){window.msCli=function(f){f=f||"pause";var m=masterslider_instances;for(var i in m)m[i].api[f]()}}(jQuery);