phcthemes_web_theme_pack 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (250) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +0 -0
  4. data/Rakefile +32 -0
  5. data/app/assets/config/phcthemes_web_theme_pack_manifest.js +3 -0
  6. data/app/assets/javascripts/common/backstretch/jquery.backstretch.js +1602 -0
  7. data/app/assets/javascripts/common/bootstrap-datepicker/bootstrap-datepicker.js +2039 -0
  8. data/app/assets/javascripts/common/bootstrap-markdown/bootstrap-markdown.js +1390 -0
  9. data/app/assets/javascripts/common/bootstrap-select/bootstrap-select.js +3139 -0
  10. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-am_ET.js +46 -0
  11. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-am_ET.js.map +1 -0
  12. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-am_ET.min.js +8 -0
  13. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ar_AR.js +51 -0
  14. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ar_AR.js.map +1 -0
  15. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ar_AR.min.js +8 -0
  16. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-bg_BG.js +46 -0
  17. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-bg_BG.js.map +1 -0
  18. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-bg_BG.min.js +8 -0
  19. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-cs_CZ.js +39 -0
  20. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-cs_CZ.js.map +1 -0
  21. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-cs_CZ.min.js +8 -0
  22. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-da_DK.js +46 -0
  23. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-da_DK.js.map +1 -0
  24. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-da_DK.min.js +8 -0
  25. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-de_DE.js +46 -0
  26. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-de_DE.js.map +1 -0
  27. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-de_DE.min.js +8 -0
  28. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-en_US.js +46 -0
  29. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-en_US.js.map +1 -0
  30. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-en_US.min.js +8 -0
  31. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_CL.js +39 -0
  32. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_CL.js.map +1 -0
  33. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_CL.min.js +8 -0
  34. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_ES.js +39 -0
  35. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_ES.js.map +1 -0
  36. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_ES.min.js +8 -0
  37. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-et_EE.js +46 -0
  38. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-et_EE.js.map +1 -0
  39. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-et_EE.min.js +8 -0
  40. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-eu.js +39 -0
  41. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-eu.js.map +1 -0
  42. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-eu.min.js +8 -0
  43. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fa_IR.js +39 -0
  44. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fa_IR.js.map +1 -0
  45. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fa_IR.min.js +8 -0
  46. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fi_FI.js +46 -0
  47. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fi_FI.js.map +1 -0
  48. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fi_FI.min.js +8 -0
  49. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fr_FR.js +46 -0
  50. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fr_FR.js.map +1 -0
  51. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fr_FR.min.js +8 -0
  52. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hr_HR.js +46 -0
  53. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hr_HR.js.map +1 -0
  54. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hr_HR.min.js +8 -0
  55. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hu_HU.js +46 -0
  56. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hu_HU.js.map +1 -0
  57. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hu_HU.min.js +8 -0
  58. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-id_ID.js +39 -0
  59. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-id_ID.js.map +1 -0
  60. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-id_ID.min.js +8 -0
  61. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-it_IT.js +41 -0
  62. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-it_IT.js.map +1 -0
  63. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-it_IT.min.js +8 -0
  64. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ja_JP.js +39 -0
  65. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ja_JP.js.map +1 -0
  66. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ja_JP.min.js +8 -0
  67. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-kh_KM.js +46 -0
  68. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-kh_KM.js.map +1 -0
  69. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-kh_KM.min.js +8 -0
  70. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ko_KR.js +46 -0
  71. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ko_KR.js.map +1 -0
  72. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ko_KR.min.js +8 -0
  73. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lt_LT.js +46 -0
  74. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lt_LT.js.map +1 -0
  75. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lt_LT.min.js +8 -0
  76. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lv_LV.js +46 -0
  77. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lv_LV.js.map +1 -0
  78. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lv_LV.min.js +8 -0
  79. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nb_NO.js +46 -0
  80. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nb_NO.js.map +1 -0
  81. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nb_NO.min.js +8 -0
  82. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nl_NL.js +39 -0
  83. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nl_NL.js.map +1 -0
  84. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nl_NL.min.js +8 -0
  85. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pl_PL.js +39 -0
  86. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pl_PL.js.map +1 -0
  87. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pl_PL.min.js +8 -0
  88. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_BR.js +39 -0
  89. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_BR.js.map +1 -0
  90. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_BR.min.js +8 -0
  91. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_PT.js +39 -0
  92. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_PT.js.map +1 -0
  93. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_PT.min.js +8 -0
  94. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ro_RO.js +40 -0
  95. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ro_RO.js.map +1 -0
  96. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ro_RO.min.js +8 -0
  97. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ru_RU.js +40 -0
  98. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ru_RU.js.map +1 -0
  99. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ru_RU.min.js +8 -0
  100. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sk_SK.js +39 -0
  101. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sk_SK.js.map +1 -0
  102. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sk_SK.min.js +8 -0
  103. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sl_SI.js +44 -0
  104. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sl_SI.js.map +1 -0
  105. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sl_SI.min.js +8 -0
  106. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sv_SE.js +46 -0
  107. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sv_SE.js.map +1 -0
  108. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sv_SE.min.js +8 -0
  109. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-tr_TR.js +46 -0
  110. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-tr_TR.js.map +1 -0
  111. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-tr_TR.min.js +8 -0
  112. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ua_UA.js +39 -0
  113. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ua_UA.js.map +1 -0
  114. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ua_UA.min.js +8 -0
  115. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-vi_VN.js +46 -0
  116. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-vi_VN.js.map +1 -0
  117. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-vi_VN.min.js +8 -0
  118. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_CN.js +39 -0
  119. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_CN.js.map +1 -0
  120. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_CN.min.js +8 -0
  121. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_TW.js +39 -0
  122. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_TW.js.map +1 -0
  123. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_TW.min.js +8 -0
  124. data/app/assets/javascripts/common/bootstrap/bootstrap.bundle.js +7013 -0
  125. data/app/assets/javascripts/common/custom/custom.js +0 -0
  126. data/app/assets/javascripts/common/daterangepicker/daterangepicker.js +1565 -0
  127. data/app/assets/javascripts/common/flexslider/jquery.flexslider.js +1252 -0
  128. data/app/assets/javascripts/common/greenstock/greensock.js +36 -0
  129. data/app/assets/javascripts/common/icheck/icheck.js +509 -0
  130. data/app/assets/javascripts/common/imagesloaded/imagesloaded.pkgd.js +497 -0
  131. data/app/assets/javascripts/common/isotope/isotope.pkgd.js +3563 -0
  132. data/app/assets/javascripts/common/jquery-countdown/jquery.countdown.js +246 -0
  133. data/app/assets/javascripts/common/jquery-filterizer/jquery.filterizr.min.js +1 -0
  134. data/app/assets/javascripts/common/jquery-placeholder/jquery.placeholder.js +281 -0
  135. data/app/assets/javascripts/common/jquery-validation/jquery.validate.js +1650 -0
  136. data/app/assets/javascripts/common/jqvmap/jquery.vmap.js +1281 -0
  137. data/app/assets/javascripts/common/jqvmap/jquery.vmap.min.js +10 -0
  138. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.africa.js +2 -0
  139. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.asia.js +2 -0
  140. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.australia.js +2 -0
  141. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.europe.js +2 -0
  142. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.north-america.js +2 -0
  143. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.south-america.js +2 -0
  144. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.algeria.js +2 -0
  145. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.argentina.js +1 -0
  146. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.brazil.js +2 -0
  147. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.canada.js +2 -0
  148. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.europe.js +2 -0
  149. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.france.js +1 -0
  150. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.germany.js +2 -0
  151. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.greece.js +1 -0
  152. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.iran.js +6 -0
  153. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.iraq.js +1 -0
  154. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.russia.js +2 -0
  155. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.tunisia.js +2 -0
  156. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.turkey.js +11 -0
  157. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.usa.js +2 -0
  158. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.world.js +2 -0
  159. data/app/assets/javascripts/common/js-cookie/js.cookie.js +165 -0
  160. data/app/assets/javascripts/common/layerslider/layerslider.kreaturamedia.jquery.js +13 -0
  161. data/app/assets/javascripts/common/layerslider/layerslider.origami.js +13 -0
  162. data/app/assets/javascripts/common/layerslider/layerslider.timeline.js +13 -0
  163. data/app/assets/javascripts/common/layerslider/layerslider.transitions.js +13 -0
  164. data/app/assets/javascripts/common/leaflet/leaflet.js +5 -0
  165. data/app/assets/javascripts/common/magnific-popup/jquery.magnific-popup.js +1860 -0
  166. data/app/assets/javascripts/common/mapbox/mapbox.js +51 -0
  167. data/app/assets/javascripts/common/moderizer/modernizr.js +11 -0
  168. data/app/assets/javascripts/common/owl-carousel/owl.carousel.js +3448 -0
  169. data/app/assets/javascripts/common/pace/pace.js +935 -0
  170. data/app/assets/javascripts/common/paroller/jquery.paroller.js +228 -0
  171. data/app/assets/javascripts/common/particlejs/particles.js +1541 -0
  172. data/app/assets/javascripts/common/plyr/plyr.js +9137 -0
  173. data/app/assets/javascripts/common/rangeslider/rangeslider.js +498 -0
  174. data/app/assets/javascripts/common/retina/retina.js +100 -0
  175. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.actions.js +386 -0
  176. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.carousel.js +365 -0
  177. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.kenburn.js +199 -0
  178. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.layeranimation.js +2524 -0
  179. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.migration.js +260 -0
  180. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.navigation.js +1156 -0
  181. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.parallax.js +465 -0
  182. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.slideanims.js +1447 -0
  183. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.video.js +1464 -0
  184. data/app/assets/javascripts/common/rev-slider/jquery.themepunch.revolution.js +3286 -0
  185. data/app/assets/javascripts/common/rev-slider/jquery.themepunch.tools.min.js +8710 -0
  186. data/app/assets/javascripts/common/scrollup/jquery.scrollUp.js +168 -0
  187. data/app/assets/javascripts/common/select2/select2.full.js +6597 -0
  188. data/app/assets/javascripts/common/selectbox/jquery.selectBox.js +1092 -0
  189. data/app/assets/javascripts/common/smooth-scroll/SmoothScroll.js +788 -0
  190. data/app/assets/javascripts/common/spectrum/spectrum.js +2323 -0
  191. data/app/assets/javascripts/common/stepper/jquery.fs.stepper.js +339 -0
  192. data/app/assets/javascripts/common/swiper/swiper.js +8124 -0
  193. data/app/assets/javascripts/common/typed/typed.js +1045 -0
  194. data/app/assets/javascripts/common/visable/jquery.visible.js +68 -0
  195. data/app/assets/javascripts/common/waypoints/jquery.waypoints.js +662 -0
  196. data/app/assets/javascripts/phcthemes_web_theme_pack_appstrap.js +11 -0
  197. data/app/assets/javascripts/phcthemes_web_theme_pack_basic.js +39 -0
  198. data/app/assets/javascripts/phcthemes_web_theme_pack_bold.js +34 -0
  199. data/app/assets/javascripts/phcthemes_web_theme_pack_coloradmin.js +12 -0
  200. data/app/assets/javascripts/phcthemes_web_theme_pack_devine_villas.js +20 -0
  201. data/app/assets/javascripts/phcthemes_web_theme_pack_smarty.js +57 -0
  202. data/app/assets/javascripts/phcthemes_web_theme_pack_xero.js +18 -0
  203. data/app/assets/javascripts/phcthemes_web_theme_pack_zoner.js +24 -0
  204. data/app/assets/javascripts/themes/appstrap/custom/custom.js +0 -0
  205. data/app/assets/javascripts/themes/appstrap/theme/custom-script.js +69 -0
  206. data/app/assets/javascripts/themes/appstrap/theme/script.js +3096 -0
  207. data/app/assets/javascripts/themes/basic/custom/custom.js +0 -0
  208. data/app/assets/javascripts/themes/bold/custom/custom.js +0 -0
  209. data/app/assets/javascripts/themes/coloradmin/custom/custom.js +0 -0
  210. data/app/assets/javascripts/themes/coloradmin/theme/apps.js +236 -0
  211. data/app/assets/javascripts/themes/devine_villas/custom/custom.js +0 -0
  212. data/app/assets/javascripts/themes/devine_villas/theme/dashboard.js +19 -0
  213. data/app/assets/javascripts/themes/devine_villas/theme/main.js +384 -0
  214. data/app/assets/javascripts/themes/devine_villas/theme/map.js +563 -0
  215. data/app/assets/javascripts/themes/devine_villas/theme/searchmap.js +69 -0
  216. data/app/assets/javascripts/themes/smarty/custom/custom.js +0 -0
  217. data/app/assets/javascripts/themes/smarty/theme/scripts.js +4271 -0
  218. data/app/assets/javascripts/themes/xero/custom/custom.js +0 -0
  219. data/app/assets/javascripts/themes/xero/theme/app.js +696 -0
  220. data/app/assets/javascripts/themes/zoner/custom-maps/custom-map.js +289 -0
  221. data/app/assets/javascripts/themes/zoner/custom/custom.js +0 -0
  222. data/app/assets/javascripts/themes/zoner/draggable/draggable.js +196 -0
  223. data/app/assets/javascripts/themes/zoner/jquery-dependclass/dependclass.js +56 -0
  224. data/app/assets/javascripts/themes/zoner/jquery-slider/jquery.slider.js +700 -0
  225. data/app/assets/javascripts/themes/zoner/jquery-vanillabox/jquery.vanillabox.min.js +24 -0
  226. data/app/assets/javascripts/themes/zoner/jshashtable/hashtable.js +402 -0
  227. data/app/assets/javascripts/themes/zoner/numberformatter/numberformatter.js +566 -0
  228. data/app/assets/javascripts/themes/zoner/simple-js-templating/tmpl.js +35 -0
  229. data/app/assets/javascripts/themes/zoner/theme/main.js +667 -0
  230. data/app/assets/stylesheets/common/custom/custom.scss +0 -0
  231. data/app/assets/stylesheets/phcthemes_web_theme_pack_appstrap.scss +28 -0
  232. data/app/assets/stylesheets/phcthemes_web_theme_pack_basic.scss +0 -0
  233. data/app/assets/stylesheets/phcthemes_web_theme_pack_bold.scss +21 -0
  234. data/app/assets/stylesheets/phcthemes_web_theme_pack_coloradmin.scss +22 -0
  235. data/app/assets/stylesheets/phcthemes_web_theme_pack_devine_villas.scss +28 -0
  236. data/app/assets/stylesheets/phcthemes_web_theme_pack_smarty.scss +47 -0
  237. data/app/assets/stylesheets/phcthemes_web_theme_pack_xero.scss +28 -0
  238. data/app/assets/stylesheets/phcthemes_web_theme_pack_zoner.scss +22 -0
  239. data/app/assets/stylesheets/themes/appstrap/custom/custom.scss +0 -0
  240. data/app/assets/stylesheets/themes/bold/custom/custom.scss +0 -0
  241. data/app/assets/stylesheets/themes/coloradmin/custom/custom.scss +0 -0
  242. data/app/assets/stylesheets/themes/devine_villas/custom/custom.scss +0 -0
  243. data/app/assets/stylesheets/themes/smarty/custom/custom.scss +0 -0
  244. data/app/assets/stylesheets/themes/xero/custom/custom.scss +0 -0
  245. data/app/assets/stylesheets/themes/zoner/custom/custom.scss +0 -0
  246. data/lib/phcthemes_web_theme_pack.rb +5 -0
  247. data/lib/phcthemes_web_theme_pack/engine.rb +13 -0
  248. data/lib/phcthemes_web_theme_pack/version.rb +3 -0
  249. data/lib/tasks/phcthemes_web_theme_pack_tasks.rake +4 -0
  250. metadata +375 -0
@@ -0,0 +1,1464 @@
1
+ /********************************************
2
+ * REVOLUTION 5.4.6.5 EXTENSION - VIDEO FUNCTIONS
3
+ * @version: 2.2.2 (04.06.2018)
4
+ * @requires jquery.themepunch.revolution.js
5
+ * @author ThemePunch
6
+ *********************************************/
7
+ ;(function($) {
8
+ "use strict";
9
+ var _R = jQuery.fn.revolution,
10
+ _ISM = _R.is_mobile(),
11
+ _ANDROID = _R.is_android(),
12
+ extension = { alias:"Video Min JS",
13
+ name:"revolution.extensions.video.min.js",
14
+ min_core: "5.4.8",
15
+ version:"2.2.2"
16
+ };
17
+
18
+
19
+
20
+ ///////////////////////////////////////////
21
+ // EXTENDED FUNCTIONS AVAILABLE GLOBAL //
22
+ ///////////////////////////////////////////
23
+ jQuery.extend(true,_R, {
24
+
25
+
26
+ preLoadAudio : function(li,opt) {
27
+ if (_R.compare_version(extension).check==="stop") return false;
28
+ li.find('.tp-audiolayer').each(function() {
29
+
30
+ var element = jQuery(this),
31
+ obj = {};
32
+ if (element.find('audio').length===0) {
33
+ obj.src = element.data('videomp4') !=undefined ? element.data('videomp4') : '',
34
+ obj.pre = element.data('videopreload') || '';
35
+ if (element.attr('id')===undefined) element.attr('audio-layer-'+Math.round(Math.random()*199999));
36
+ obj.id = element.attr('id');
37
+ obj.status = "prepared";
38
+ obj.start = jQuery.now();
39
+ obj.waittime = element.data('videopreloadwait')*1000 || 5000;
40
+
41
+
42
+ if (obj.pre=="auto" || obj.pre=="canplaythrough" || obj.pre=="canplay" || obj.pre=="progress") {
43
+ if (opt.audioqueue===undefined) opt.audioqueue = [];
44
+ opt.audioqueue.push(obj);
45
+ _R.manageVideoLayer(element,opt);
46
+ }
47
+ }
48
+ });
49
+ },
50
+
51
+ preLoadAudioDone : function(nc,opt,event) {
52
+
53
+ if (opt.audioqueue && opt.audioqueue.length>0)
54
+ jQuery.each(opt.audioqueue,function(i,obj) {
55
+ if (nc.data('videomp4') === obj.src && (obj.pre === event || obj.pre==="auto")) {
56
+ obj.status = "loaded";
57
+ }
58
+ });
59
+ },
60
+
61
+ resetVideo : function(_nc,opt,preset,nextli) {
62
+
63
+ var _ = _nc.data();
64
+ switch (_.videotype) {
65
+ case "youtube":
66
+
67
+ var player=_.player;
68
+ try{
69
+ if (_.forcerewind=="on") { //Removed Force Rewind Protection for Handy here !!!
70
+ var s = getStartSec(_nc.data('videostartat')),
71
+ wasdead = s==-1 ? true : false,
72
+ forceseek = _.bgvideo===1 || _nc.find('.tp-videoposter').length>0 ? true : false;
73
+
74
+ if (_.player!=undefined) {
75
+ //if ((s!==0 && !wasdead) || forceseek) {
76
+ s= s==-1 ? 0 : s;
77
+ _.player.seekTo(s);
78
+ _.player.pauseVideo();
79
+ //}
80
+ }
81
+ }
82
+ } catch(e) {}
83
+ if (_nc.find('.tp-videoposter').length==0 && _.bgvideo!==1 && preset!==true)
84
+ punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
85
+
86
+ break;
87
+
88
+ case "vimeo":
89
+
90
+ var f = _nc.data('vimeoplayer');
91
+ try{
92
+
93
+ if (_.forcerewind=="on") { //Removed Force Rewind Protection for Handy here !!!
94
+
95
+ var s = getStartSec(_.videostartat),
96
+ ct = 0,
97
+ wasdead = s==-1 ? true : false,
98
+ forceseek = _.bgvideo===1 || _nc.find('.tp-videoposter').length>0 ? true : false;
99
+ s= s==-1 ? 0 : s;
100
+ if ((s!==0 && !wasdead) || forceseek) {
101
+
102
+ // 5.4.6.5
103
+ f.pause().then(function() {
104
+
105
+ f.setCurrentTime(s);
106
+
107
+ });
108
+ }
109
+ }
110
+
111
+ } catch(e) {}
112
+
113
+ if (_nc.find('.tp-videoposter').length==0 && _.bgvideo!==1 && preset!==true)
114
+ punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
115
+ break;
116
+
117
+ case "html5":
118
+ if (_ISM && _.disablevideoonmobile==1) return false;
119
+
120
+ var tag = _.audio=="html5" ? "audio" : "video",
121
+ jvideo = _nc.find(tag),
122
+ video = jvideo[0];
123
+
124
+
125
+ punchgs.TweenLite.to(jvideo,0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
126
+
127
+ if (_.forcerewind=="on" && !_nc.hasClass("videoisplaying")) {
128
+ try{
129
+
130
+ var s = getStartSec(_.videostartat);
131
+ video.currentTime = s == -1 ? 0 : s;
132
+ } catch(e) {}
133
+ }
134
+
135
+ if (_.volume=="mute" || _R.lastToggleState(_nc.videomutetoggledby) || opt.globalmute===true)
136
+ video.muted = true;
137
+ break;
138
+ }
139
+ },
140
+
141
+
142
+ isVideoMuted : function(_nc,opt) {
143
+ var muted = false,
144
+ _ = _nc.data();
145
+ switch (_.videotype) {
146
+ case "youtube":
147
+ try{
148
+ var player=_.player;
149
+ muted = player.isMuted();
150
+ } catch(e) {}
151
+ break;
152
+ case "vimeo":
153
+ try{
154
+ // var f = _.vimeoplayer;
155
+ if (_.volume=="mute")
156
+ muted = true;
157
+
158
+ } catch(e) {}
159
+ break;
160
+ case "html5":
161
+ var tag = _.audio=="html5" ? "audio" : "video",
162
+ jvideo = _nc.find(tag),
163
+ video = jvideo[0];
164
+
165
+ if (video.muted)
166
+ muted = true;
167
+ break;
168
+ }
169
+ return muted;
170
+ },
171
+
172
+ muteVideo : function(_nc,opt) {
173
+ var _ = _nc.data();
174
+ switch (_.videotype) {
175
+ case "youtube":
176
+ try{
177
+ var player=_.player;
178
+
179
+ player.mute();
180
+ } catch(e) {}
181
+ break;
182
+ case "vimeo":
183
+ try{
184
+ var f = _nc.data('vimeoplayer');
185
+ _nc.data('volume',"mute");
186
+ f.setVolume(0);
187
+ } catch(e) {}
188
+ break;
189
+ case "html5":
190
+ var tag = _.audio=="html5" ? "audio" : "video",
191
+ jvideo = _nc.find(tag),
192
+ video = jvideo[0];
193
+ video.muted = true;
194
+ break;
195
+ }
196
+ },
197
+
198
+ unMuteVideo : function(_nc,opt) {
199
+ if (opt.globalmute===true) return;
200
+ var _ = _nc.data();
201
+ switch (_.videotype) {
202
+ case "youtube":
203
+ try{
204
+ var player=_.player;
205
+ player.unMute();
206
+ } catch(e) {}
207
+ break;
208
+ case "vimeo":
209
+ try{
210
+ var f = _nc.data('vimeoplayer');
211
+ _nc.data('volume',"1");
212
+ f.setVolume(1);
213
+ } catch(e) {}
214
+ break;
215
+ case "html5":
216
+ var tag = _.audio=="html5" ? "audio" : "video",
217
+ jvideo = _nc.find(tag),
218
+ video = jvideo[0];
219
+ video.muted = false;
220
+ break;
221
+ }
222
+ },
223
+
224
+
225
+
226
+
227
+
228
+ stopVideo : function(_nc,opt) {
229
+
230
+ var _ = _nc.data();
231
+ if (!opt.leaveViewPortBasedStop)
232
+ opt.lastplayedvideos = [];
233
+
234
+ opt.leaveViewPortBasedStop = false;
235
+
236
+ switch (_.videotype) {
237
+ case "youtube":
238
+
239
+ //if (_ISM) return;
240
+ try{
241
+
242
+ var player=_.player;
243
+
244
+ if (player.getPlayerState()===2 || player.getPlayerState()===5) return;
245
+ player.pauseVideo();
246
+ _.youtubepausecalled = true;
247
+ setTimeout(function() {
248
+ _.youtubepausecalled=false;
249
+ },80);
250
+ } catch(e) {
251
+ console.log("Issue at YouTube Video Pause:");
252
+ console.log(e);
253
+ }
254
+ break;
255
+ case "vimeo":
256
+ try{
257
+ var f = _nc.data('vimeoplayer');
258
+ f.pause();
259
+ _.vimeopausecalled = true;
260
+ setTimeout(function() {
261
+ _.vimeopausecalled=false;
262
+ },80);
263
+
264
+ } catch(e) {
265
+ console.log("Issue at Vimeo Video Pause:");
266
+ console.log(e);
267
+ }
268
+ break;
269
+ case "html5":
270
+ var tag = _.audio=="html5" ? "audio" : "video",
271
+ jvideo = _nc.find(tag),
272
+ video = jvideo[0];
273
+ if (jvideo!=undefined && video!=undefined) {
274
+
275
+ video.pause();
276
+ }
277
+ break;
278
+ }
279
+ },
280
+
281
+ playVideo : function(_nc,opt) {
282
+
283
+ clearTimeout(_nc.data('videoplaywait'));
284
+ var _ = _nc.data();
285
+ switch (_.videotype) {
286
+ case "youtube":
287
+
288
+ if (_nc.find('iframe').length==0) {
289
+ _nc.append(_nc.data('videomarkup'));
290
+ addVideoListener(_nc,opt,true);
291
+ } else {
292
+ if (_.player.playVideo !=undefined) {
293
+
294
+ var s = getStartSec(_nc.data('videostartat')),
295
+ ct = _.player.getCurrentTime();
296
+ if (_nc.data('nextslideatend-triggered')==1) {
297
+ ct=-1;
298
+ _nc.data('nextslideatend-triggered',0);
299
+ }
300
+ if (s!=-1 && s>ct) _.player.seekTo(s);
301
+ if (_.youtubepausecalled!==true)
302
+ _.player.playVideo();
303
+ } else {
304
+ _nc.data('videoplaywait',setTimeout(function() {
305
+ if (_.youtubepausecalled!==true) _R.playVideo(_nc,opt);
306
+ },50));
307
+ }
308
+ }
309
+ break;
310
+ case "vimeo":
311
+
312
+ if (_nc.find('iframe').length==0) {
313
+ _nc.removeData('vimeoplayer');
314
+ _nc.append(_nc.data('videomarkup'));
315
+ addVideoListener(_nc,opt,true);
316
+
317
+ } else {
318
+ if (_nc.hasClass("rs-apiready")) {
319
+ var id = _nc.find('iframe').attr("id"),
320
+ f;
321
+
322
+ if(!_nc.data('vimeoplayer')) {
323
+
324
+ f = new Vimeo.Player(id);
325
+ _nc.data('vimeoplayer', f);
326
+ }
327
+ else {
328
+ f = _nc.data('vimeoplayer');
329
+ }
330
+ if (!f.getPaused()) {
331
+ _nc.data('videoplaywait',setTimeout(function() {
332
+ if (_.vimeopausecalled!==true)
333
+ _R.playVideo(_nc,opt);
334
+ },50));
335
+
336
+ } else {
337
+ setTimeout(function() {
338
+
339
+ var s = getStartSec(_nc.data('videostartat')),
340
+ ct = _nc.data('currenttime');
341
+
342
+ // ct can register as undefined here at slide start
343
+ if(!ct) ct = 0;
344
+
345
+ if (_nc.data('nextslideatend-triggered')==1) {
346
+ ct=-1;
347
+ _nc.data('nextslideatend-triggered',0);
348
+ }
349
+
350
+ if (s!=-1 && s>ct) f.setCurrentTime(s);
351
+ f.play();
352
+ },510);
353
+ }
354
+
355
+ } else {
356
+ _nc.data('videoplaywait',setTimeout(function() {
357
+ if (_.vimeopausecalled!==true)
358
+ _R.playVideo(_nc,opt);
359
+ },50));
360
+ }
361
+ }
362
+ break;
363
+ case "html5":
364
+ //if (_ISM && _nc.data('disablevideoonmobile')==1) return false;
365
+
366
+
367
+ var tag = _.audio=="html5" ? "audio" : "video",
368
+ jvideo = _nc.find(tag),
369
+ video = jvideo[0],
370
+ html5vid = jvideo.parent();
371
+
372
+ if (html5vid.data('metaloaded') != 1) {
373
+ addEvent(video,'loadedmetadata',function(_nc) {
374
+ _R.resetVideo(_nc,opt);
375
+ video.play();
376
+ var s = getStartSec(_nc.data('videostartat')),
377
+ ct = video.currentTime;
378
+ if (_nc.data('nextslideatend-triggered')==1) {
379
+ ct=-1;
380
+ _nc.data('nextslideatend-triggered',0);
381
+ }
382
+ if (s!=-1 && s>ct) video.currentTime = s;
383
+ }(_nc));
384
+ } else {
385
+ video.play();
386
+ var s = getStartSec(_nc.data('videostartat')),
387
+ ct = video.currentTime;
388
+ if (_nc.data('nextslideatend-triggered')==1) {
389
+ ct=-1;
390
+ _nc.data('nextslideatend-triggered',0);
391
+ }
392
+ if (s!=-1 && s>ct) video.currentTime = s;
393
+ }
394
+ break;
395
+ }
396
+ },
397
+
398
+ isVideoPlaying : function(_nc,opt) {
399
+
400
+ var ret = false;
401
+ if (opt.playingvideos != undefined) {
402
+ jQuery.each(opt.playingvideos,function(i,nc) {
403
+ if (_nc.attr('id') == nc.attr('id'))
404
+ ret = true;
405
+ });
406
+ }
407
+ return ret;
408
+ },
409
+
410
+ removeMediaFromList : function(_nc,opt) {
411
+ remVidfromList(_nc,opt);
412
+ },
413
+
414
+ prepareCoveredVideo : function(opt,_nc) {
415
+
416
+ // only resize/reposition fullscreen video
417
+ if(_nc.hasClass('tp-caption') && !_nc.hasClass('coverscreenvideo')) return;
418
+
419
+ if (_nc.data('vimeoid')!==undefined && _nc.data('vimeoplayerloaded')===undefined) return;
420
+
421
+ var _ = {};
422
+
423
+ _.ifr = _nc.find('iframe, video');
424
+ _.asp = _nc.data('aspectratio');
425
+
426
+ _.wa = _.asp.split(':')[0];
427
+ _.ha = _.asp.split(':')[1];
428
+ _.vd = _.wa/_.ha;
429
+
430
+ // 5.4.6.5
431
+ var conw = opt.sliderType !== 'carousel' ? opt.conw : _nc.closest('.tp-revslider-slidesli').width();
432
+
433
+ if (conw===0 || opt.conh===0) {
434
+ _R.setSize(opt);
435
+ clearTimeout(_.ifr.data('resizelistener'));
436
+ _.ifr.data('resizelistener',setTimeout(function() {
437
+ _R.prepareCoveredVideo(opt,_nc);
438
+ },100));
439
+ return;
440
+ }
441
+
442
+
443
+ var od = conw / opt.conh,
444
+ nvh = (od/_.vd)*100,
445
+ nvw = (_.vd/od)*100;
446
+
447
+
448
+ if (od>_.vd) {
449
+ punchgs.TweenLite.set(_.ifr,{height:nvh+"%", width:"100%", top:-(nvh-100)/2+"%",left:"0px",position:"absolute"});
450
+ }
451
+ else {
452
+ punchgs.TweenLite.set(_.ifr,{width:nvw+"%", height:"100%", left:-(nvw-100)/2+"%",top:"0px",position:"absolute"});
453
+ }
454
+
455
+ if (!_.ifr.hasClass("resizelistener")) {
456
+ _.ifr.addClass("resizelistener");
457
+ jQuery(window).resize(function() {
458
+ _R.prepareCoveredVideo(opt,_nc);
459
+
460
+ clearTimeout(_.ifr.data('resizelistener'));
461
+ _.ifr.data('resizelistener',setTimeout(function() {
462
+ _R.prepareCoveredVideo(opt,_nc);
463
+ },90));
464
+
465
+ })
466
+ }
467
+ },
468
+
469
+ checkVideoApis : function(_nc,opt,addedApis) {
470
+ var httpprefix = location.protocol === 'https:' ? "https" : "http";
471
+
472
+ if ((_nc.data('ytid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('youtube')>0)) opt.youtubeapineeded = true;
473
+ if ((_nc.data('ytid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('youtube')>0) && addedApis.addedyt==0) {
474
+ opt.youtubestarttime = jQuery.now();
475
+ addedApis.addedyt=1;
476
+ var s = document.createElement("script");
477
+ s.src = "https://www.youtube.com/iframe_api"; /* Load Player API*/
478
+ var before = document.getElementsByTagName("script")[0],
479
+ loadit = true;
480
+ jQuery('head').find('*').each(function(){
481
+ if (jQuery(this).attr('src') == "https://www.youtube.com/iframe_api")
482
+ loadit = false;
483
+ });
484
+ if (loadit) before.parentNode.insertBefore(s, before);
485
+
486
+ }
487
+
488
+
489
+
490
+ if ((_nc.data('vimeoid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('vimeo')>0)) opt.vimeoapineeded = true;
491
+ if ((_nc.data('vimeoid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('vimeo')>0) && addedApis.addedvim==0) {
492
+ opt.vimeostarttime = jQuery.now();
493
+ addedApis.addedvim=1;
494
+ var f = document.createElement("script"),
495
+ before = document.getElementsByTagName("script")[0],
496
+ loadit = true;
497
+ f.src = "https://player.vimeo.com/api/player.js"; /* Load Player API*/
498
+
499
+ jQuery('head').find('*').each(function(){
500
+ if (jQuery(this).attr('src') == "https://player.vimeo.com/api/player.js")
501
+ loadit = false;
502
+ });
503
+ if (loadit)
504
+ before.parentNode.insertBefore(f, before);
505
+ }
506
+ return addedApis;
507
+ },
508
+
509
+ manageVideoLayer : function(_nc,opt,recalled,internrecalled) {
510
+ if (_R.compare_version(extension).check==="stop") return false;
511
+ // YOUTUBE AND VIMEO LISTENRES INITIALISATION
512
+ var _ = _nc.data(),
513
+ vida = _.videoattributes,
514
+ vidytid = _.ytid,
515
+ vimeoid = _.vimeoid,
516
+ videopreload = _.videopreload === "auto" || _.videopreload === "canplay" || _.videopreload === "canplaythrough" || _.videopreload === "progress" ? "auto" : _.videopreload,
517
+ videomp = _.videomp4,
518
+ videowebm = _.videowebm,
519
+ videoogv = _.videoogv,
520
+ videoafs = _.allowfullscreenvideo,
521
+ videocontrols = _.videocontrols,
522
+ httpprefix = "http",
523
+ videoloop = _.videoloop=="loop" ? "loop" : _.videoloop=="loopandnoslidestop" ? "loop" : "",
524
+ videotype = (videomp!=undefined || videowebm!=undefined) ? "html5" :
525
+ (vidytid!=undefined && String(vidytid).length>1) ? "youtube" :
526
+ (vimeoid!=undefined && String(vimeoid).length>1) ? "vimeo" : "none",
527
+ tag = _.audio=="html5" ? "audio" : "video",
528
+ newvideotype = (videotype=="html5" && _nc.find(tag).length==0) ? "html5" :
529
+ (videotype=="youtube" && _nc.find('iframe').length==0) ? "youtube" :
530
+ (videotype=="vimeo" && _nc.find('iframe').length==0) ? "vimeo" : "none";
531
+
532
+ // VideLoop reset if Next Slide at End is set !
533
+ videoloop = _.nextslideatend === true ? "" : videoloop;
534
+
535
+
536
+ _.videotype = videotype;
537
+ // ADD HTML5 VIDEO IF NEEDED
538
+ switch (newvideotype) {
539
+ case "html5":
540
+
541
+ if (videocontrols!="controls") videocontrols="";
542
+ var tag = "video";
543
+
544
+ //_nc.data('audio',"html5");
545
+ if (_.audio=="html5") {
546
+ tag = "audio";
547
+ _nc.addClass("tp-audio-html5");
548
+ }
549
+
550
+ /*
551
+ JASON:
552
+ HTML5 Video Mod
553
+ */
554
+ // var _funcs = opt.fallbacks.allowHTML5AutoPlayOnAndroid ? "muted playsinline" : "";
555
+ var _funcs = '';
556
+
557
+ if(tag === 'video') {
558
+
559
+ if (_R.is_mobile() || _R.isSafari11()) { /* updated to account for Safari 11 */
560
+
561
+ if(_.autoplay === 'on' || _.autoplay === 'true' || _.autoplay === true) {
562
+ _funcs = 'muted playsinline autoplay';
563
+ }
564
+ else if(_.videoinline == true || _.videoinline === 'true' || _.videoinline === 1) {
565
+ _funcs += ' playsinline';
566
+ }
567
+ }
568
+ }
569
+
570
+ var apptxt = '<'+tag+' '+_funcs+' style="object-fit:cover;background-size:cover;visible:hidden;width:100%; height:100%" class="" '+videoloop+' preload="'+videopreload+'">';
571
+
572
+ if (videopreload=="auto") opt.mediapreload = true;
573
+ //if (_.videoposter!=undefined) apptxt = apptxt + 'poster="'+_nc.data('videoposter')+'">';
574
+ if (tag === 'video') {
575
+ if (videowebm!=undefined && _R.get_browser().toLowerCase()=="firefox") apptxt = apptxt + '<source src="'+videowebm+'" type="video/webm" />';
576
+ if (videomp!=undefined) apptxt = apptxt + '<source src="'+videomp+'" type="video/mp4" />';
577
+ if (videoogv!=undefined) apptxt = apptxt + '<source src="'+videoogv+'" type="video/ogg" />';
578
+ } else
579
+ if (tag === 'audio') {
580
+ if (videomp!=undefined) apptxt = apptxt + '<source src="'+videomp+'" type="audio/mpeg" />';
581
+ if (videoogv!=undefined) apptxt = apptxt + '<source src="'+videoogv+'" type="audio/ogg" />';
582
+ }
583
+ apptxt = apptxt + '</'+tag+'>';
584
+ var hfm ="";
585
+ if (videoafs==="true" || videoafs===true)
586
+ hfm = '<div class="tp-video-button-wrap"><button type="button" class="tp-video-button tp-vid-full-screen">Full-Screen</button></div>';
587
+
588
+ if (videocontrols=="controls")
589
+ apptxt = apptxt + ('<div class="tp-video-controls">'+
590
+ '<div class="tp-video-button-wrap"><button type="button" class="tp-video-button tp-vid-play-pause">Play</button></div>'+
591
+ '<div class="tp-video-seek-bar-wrap"><input type="range" class="tp-seek-bar" value="0"></div>'+
592
+ '<div class="tp-video-button-wrap"><button type="button" class="tp-video-button tp-vid-mute">Mute</button></div>'+
593
+ '<div class="tp-video-vol-bar-wrap"><input type="range" class="tp-volume-bar" min="0" max="1" step="0.1" value="1"></div>'+
594
+ hfm+
595
+ '</div>');
596
+
597
+ _nc.data('videomarkup',apptxt)
598
+ _nc.append(apptxt);
599
+
600
+
601
+ // START OF HTML5 VIDEOS
602
+ if ((_ISM && _nc.data('disablevideoonmobile')==1) ||_R.isIE(8)) _nc.find(tag).remove();
603
+
604
+ // ADD HTML5 VIDEO CONTAINER
605
+ _nc.find(tag).each(function(i) {
606
+ var video = this,
607
+ jvideo = jQuery(this);
608
+
609
+ if (!jvideo.parent().hasClass("html5vid"))
610
+ jvideo.wrap('<div class="html5vid" style="position:relative;top:0px;left:0px;width:100%;height:100%; overflow:hidden;"></div>');
611
+
612
+ var html5vid = jvideo.parent();
613
+ if (html5vid.data('metaloaded') != 1) {
614
+ addEvent(video,'loadedmetadata',function(_nc) {
615
+ htmlvideoevents(_nc,opt);
616
+ _R.resetVideo(_nc,opt);
617
+ }(_nc));
618
+ }
619
+ });
620
+ break;
621
+ case "youtube":
622
+ httpprefix = "https";
623
+ /* if (location.protocol === 'https:')
624
+ httpprefix = "https"; */
625
+ if (videocontrols=="none") {
626
+ vida = vida.replace("controls=1","controls=0");
627
+ if (vida.toLowerCase().indexOf('controls')==-1)
628
+ vida = vida+"&controls=0";
629
+ }
630
+
631
+ if (_.videoinline===true || _.videoinline==="true" || _.videoinline===1 || _nc.hasClass('rs-background-video-layer') || _nc.data('autoplay') === 'on')
632
+ vida = vida + "&playsinline=1";
633
+ var s = getStartSec(_nc.data('videostartat')),
634
+ e = getStartSec(_nc.data('videoendat'));
635
+
636
+ if (s!=-1) vida=vida+"&start="+s;
637
+ if (e!=-1) vida=vida+"&end="+e;
638
+
639
+ // CHECK VIDEO ORIGIN, AND EXTEND WITH WWW IN CASE IT IS MISSING !
640
+ var orig = vida.split('origin='+httpprefix+'://'),
641
+ vida_new = "";
642
+
643
+ if (orig.length>1) {
644
+ vida_new = orig[0]+'origin='+httpprefix+'://';
645
+ if (self.location.href.match(/www/gi) && !orig[1].match(/www/gi))
646
+ vida_new=vida_new+"www."
647
+ vida_new=vida_new+orig[1];
648
+ } else {
649
+ vida_new = vida;
650
+ }
651
+
652
+ // youtube/chrome fix Jason (removed "visibility: hidden" from markup)
653
+ var yafv = videoafs==="true" || videoafs===true ? "allowfullscreen" : "";
654
+ _nc.data('videomarkup','<iframe type="text/html" src="'+httpprefix+'://www.youtube-nocookie.com/embed/'+vidytid+'?'+vida_new+'" '+yafv+' width="100%" height="100%" style="opacity:0;width:100%;height:100%"></iframe>');
655
+ break;
656
+
657
+ case "vimeo":
658
+ // if (location.protocol === 'https:')
659
+ httpprefix = "https";
660
+
661
+ _nc.data('videomarkup','<iframe src="'+httpprefix+'://player.vimeo.com/video/'+vimeoid+'?'+vida+'" webkitallowfullscreen mozallowfullscreen allowfullscreen width="100%" height="100%" style="opacity:0;visibility:hidden;width:100%;height:100%"></iframe>');
662
+
663
+ break;
664
+ }
665
+
666
+ //if (videotype=="vimeo" || videotype=="youtube") {
667
+
668
+ // IF VIDEOPOSTER EXISTING
669
+ var noposteronmobile = _ISM && _nc.data('noposteronmobile')=="on";
670
+
671
+ if (_.videoposter!=undefined && _.videoposter.length>2 && !noposteronmobile) {
672
+ if (_nc.find('.tp-videoposter').length==0)
673
+ _nc.append('<div class="tp-videoposter noSwipe" style="cursor:pointer; position:absolute;top:0px;left:0px;width:100%;height:100%;z-index:3;background-image:url('+_.videoposter+'); background-size:cover;background-position:center center;"></div>');
674
+ if (_nc.find('iframe').length==0)
675
+ _nc.find('.tp-videoposter').click(function() {
676
+ _R.playVideo(_nc,opt);
677
+ if (_ISM) {
678
+ if (_nc.data('disablevideoonmobile')==1) return false;
679
+ punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut});
680
+ punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
681
+ }
682
+ })
683
+ } else {
684
+ if (_ISM && _nc.data('disablevideoonmobile')==1) return false;
685
+ if (_nc.find('iframe').length==0 && (videotype=="youtube" || videotype=="vimeo")) {
686
+ _nc.removeData('vimeoplayer');
687
+ _nc.append(_nc.data('videomarkup'));
688
+ addVideoListener(_nc,opt,false);
689
+ }
690
+ }
691
+
692
+ // ADD DOTTED OVERLAY IF NEEDED
693
+ if (_nc.data('dottedoverlay')!="none" && _nc.data('dottedoverlay')!=undefined && _nc.find('.tp-dottedoverlay').length!=1)
694
+ _nc.append('<div class="tp-dottedoverlay '+_nc.data('dottedoverlay')+'"></div>');
695
+
696
+ _nc.addClass("HasListener");
697
+
698
+ if (_nc.data('bgvideo')==1) {
699
+
700
+ // youtube/chome fix Jason, iframe must be visible for iframe-API Post-Messaging to work
701
+ if(_nc.data('ytid')) {
702
+ punchgs.TweenLite.set(_nc.find('iframe'),{opacity:0});
703
+ }
704
+ else {
705
+ punchgs.TweenLite.set(_nc.find('video, iframe'),{autoAlpha:0});
706
+ }
707
+ }
708
+
709
+ }
710
+
711
+ });
712
+
713
+
714
+
715
+
716
+
717
+ //////////////////////////////////////////////////////
718
+ // * Revolution Slider - VIDEO / API FUNCTIONS //
719
+ // * @version: 1.0 (30.10.2014) //
720
+ // * @author ThemePunch //
721
+ //////////////////////////////////////////////////////
722
+
723
+ function getStartSec(st) {
724
+ return st == undefined ? -1 :jQuery.isNumeric(st) ? st : st.split(":").length>1 ? parseInt(st.split(":")[0],0)*60 + parseInt(st.split(":")[1],0) : st;
725
+ };
726
+
727
+ // - VIMEO ADD EVENT /////
728
+ var addEvent = function(element, eventName, callback) {
729
+ if (element.addEventListener)
730
+ element.addEventListener(eventName, callback, {capture:false,passive:true});
731
+ else
732
+ element.attachEvent(eventName, callback, {capture:false,passive:true});
733
+ };
734
+
735
+ var getVideoDatas = function(p,t,d) {
736
+ var a = {};
737
+ a.video = p;
738
+ a.videotype = t;
739
+ a.settings = d;
740
+ return a;
741
+ }
742
+
743
+
744
+ var callPrepareCoveredVideo = function(opt,_nc) {
745
+ // CARE ABOUT ASPECT RATIO
746
+ if (_nc.data('bgvideo')==1 || _nc.data('forcecover')==1) {
747
+ if (_nc.data('forcecover')===1) _nc.removeClass("fullscreenvideo").addClass("coverscreenvideo");
748
+ var a =_nc.data('aspectratio');
749
+ if (a===undefined && a.split(":").length<=1) _nc.data('aspectratio','16:9');
750
+
751
+ _R.prepareCoveredVideo(opt,_nc);
752
+ }
753
+ }
754
+
755
+ var addVideoListener = function(_nc,opt,startnow) {
756
+
757
+ var _=_nc.data(),
758
+ ifr = _nc.find('iframe'),
759
+ frameID = "iframe"+Math.round(Math.random()*100000+1),
760
+ loop = _.videoloop,
761
+ pforv = loop != "loopandnoslidestop";
762
+
763
+
764
+ loop = loop =="loop" || loop =="loopandnoslidestop";
765
+
766
+ callPrepareCoveredVideo(opt,_nc);
767
+
768
+ // IF LISTENER DOES NOT EXIST YET
769
+ ifr.attr('id',frameID);
770
+
771
+ if (startnow) _nc.data('startvideonow',true);
772
+
773
+ if (_nc.data('videolistenerexist')!==1) {
774
+ switch (_.videotype) {
775
+ // YOUTUBE LISTENER
776
+ case "youtube":
777
+ var player = new YT.Player(frameID, {
778
+ events: {
779
+ "onStateChange": function(event) {
780
+
781
+ var container = _nc.closest('.tp-simpleresponsive'),
782
+ videorate = _.videorate,
783
+ videostart = _nc.data('videostart'),
784
+ fsmode = checkfullscreenEnabled();
785
+
786
+ if (event.data == YT.PlayerState.PLAYING) {
787
+ punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut});
788
+ punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
789
+ if (_nc.data('volume')=="mute" || _R.lastToggleState(_nc.data('videomutetoggledby')) || opt.globalmute===true) {
790
+ player.mute();
791
+ } else {
792
+ player.unMute();
793
+ player.setVolume(parseInt(_nc.data('volume'),0) || 75);
794
+ }
795
+
796
+ opt.videoplaying=true;
797
+ addVidtoList(_nc,opt);
798
+ if (pforv)
799
+ opt.c.trigger('stoptimer');
800
+ else
801
+ opt.videoplaying=false;
802
+
803
+ opt.c.trigger('revolution.slide.onvideoplay',getVideoDatas(player,"youtube",_nc.data()));
804
+ _R.toggleState(_.videotoggledby);
805
+
806
+ } else {
807
+ if (event.data==0 && loop) {
808
+ //player.playVideo();
809
+ var s = getStartSec(_nc.data('videostartat'));
810
+ if (s!=-1) player.seekTo(s);
811
+ player.playVideo();
812
+ _R.toggleState(_.videotoggledby);
813
+ }
814
+
815
+ if (!fsmode && (event.data==0 || event.data==2) && ((_nc.data('showcoveronpause')=="on" && _nc.find('.tp-videoposter').length>0) || (_nc.data('bgvideo')===1 && _nc.find('.rs-fullvideo-cover').length>0))) {
816
+ if (_nc.data('bgvideo')===1)
817
+ punchgs.TweenLite.to(_nc.find('.rs-fullvideo-cover'),0.1,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
818
+ else
819
+ punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.1,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
820
+ punchgs.TweenLite.to(_nc.find('iframe'),0.1,{autoAlpha:0,ease:punchgs.Power3.easeInOut});
821
+ }
822
+ if ((event.data!=-1 && event.data!=3)) {
823
+
824
+ opt.videoplaying=false;
825
+ opt.tonpause = false;
826
+
827
+ remVidfromList(_nc,opt);
828
+ container.trigger('starttimer');
829
+ opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(player,"youtube",_nc.data()));
830
+
831
+ if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
832
+ _R.unToggleState(_.videotoggledby);
833
+
834
+ }
835
+
836
+ if (event.data==0 && _nc.data('nextslideatend')==true) {
837
+ exitFullscreen();
838
+ _nc.data('nextslideatend-triggered',1);
839
+ opt.c.revnext();
840
+ remVidfromList(_nc,opt);
841
+ } else {
842
+ remVidfromList(_nc,opt);
843
+ opt.videoplaying=false;
844
+ container.trigger('starttimer');
845
+ opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(player,"youtube",_nc.data()));
846
+ if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
847
+ _R.unToggleState(_.videotoggledby);
848
+ }
849
+ }
850
+ },
851
+ 'onReady': function(event) {
852
+
853
+ /*
854
+ Jason, YouTube Autoplay
855
+ */
856
+
857
+ var playerMuted,
858
+ isVideoMobile = _R.is_mobile(),
859
+ isVideoLayer = _nc.hasClass('tp-videolayer');
860
+
861
+ if(isVideoMobile || _R.isSafari11()) {
862
+
863
+ var isLayerAutoPlay = isVideoLayer && _nc.data('autoplay') !== 'off';
864
+ if(_nc.hasClass('rs-background-video-layer') || isLayerAutoPlay) {
865
+
866
+ var isSpecial = isVideoMobile && isVideoLayer;
867
+ if(!isSpecial) {
868
+
869
+ playerMuted = true;
870
+ player.setVolume(0);
871
+ _nc.data('volume', 'mute');
872
+ player.mute();
873
+
874
+ clearTimeout(_nc.data('mobilevideotimr'));
875
+ _nc.data('mobilevideotimr', setTimeout(function() {player.playVideo();}, 500));
876
+
877
+ }
878
+
879
+ }
880
+
881
+ }
882
+
883
+ if(!playerMuted && _nc.data('volume')=="mute") {
884
+ player.setVolume(0);
885
+ player.mute();
886
+ }
887
+
888
+ var videorate = _.videorate,
889
+ videostart = _nc.data('videostart');
890
+
891
+ _nc.addClass("rs-apiready");
892
+ if (videorate!=undefined)
893
+ event.target.setPlaybackRate(parseFloat(videorate));
894
+
895
+ // PLAY VIDEO IF THUMBNAIL HAS BEEN CLICKED
896
+ _nc.find('.tp-videoposter').unbind("click");
897
+ _nc.find('.tp-videoposter').click(function() {
898
+ if (!_ISM) {
899
+ player.playVideo();
900
+ }
901
+ })
902
+
903
+ if (_nc.data('startvideonow')) {
904
+
905
+ _.player.playVideo();
906
+ var s = getStartSec(_nc.data('videostartat'));
907
+ if (s!=-1) _.player.seekTo(s);
908
+ //_nc.find('.tp-videoposter').click();
909
+ }
910
+ _nc.data('videolistenerexist',1);
911
+ }
912
+ }
913
+ });
914
+ _nc.data('player',player);
915
+ break;
916
+
917
+ // VIMEO LISTENER
918
+ case "vimeo":
919
+ var isrc = ifr.attr('src'),
920
+ queryParameters = {}, queryString = isrc,
921
+ re = /([^&=]+)=([^&]*)/g, m;
922
+ // Creates a map with the query string parameters
923
+ while (m = re.exec(queryString)) {
924
+ queryParameters[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
925
+ }
926
+ if (queryParameters['player_id']!=undefined)
927
+ isrc = isrc.replace(queryParameters['player_id'],frameID);
928
+ else
929
+ isrc=isrc+"&player_id="+frameID;
930
+ // try{ isrc = isrc.replace('api=0','api=1'); } catch(e) {}
931
+ // isrc=isrc+"&api=1";
932
+ isrc = isrc.replace(/&api=0|&api=1/g, '');
933
+
934
+ var isVideoMobile = _R.is_mobile(),
935
+ isAutoplay = _nc.data('autoplay'),
936
+ toMute = _nc.data('volume')=="mute",
937
+ deviceCheck = isVideoMobile || _R.isSafari11(),
938
+ isVideoBg = _nc.hasClass('rs-background-video-layer');
939
+
940
+ isAutoplay = isAutoplay === 'on' || isAutoplay === 'true' || isAutoplay === true;
941
+ if(isAutoplay && deviceCheck) {
942
+
943
+ isrc += '?autoplay=1&autopause=0&muted=1&background=1&playsinline=1';
944
+ _nc.data({vimeoplaysinline: true, volume: 'mute'});
945
+
946
+ }
947
+
948
+ ifr.attr('src',isrc);
949
+
950
+ var player = _nc.find('iframe')[0],
951
+ vimcont = jQuery('#'+frameID),
952
+ f;
953
+
954
+ if(!_nc.data('vimeoplayer')) {
955
+ f = new Vimeo.Player(frameID);
956
+ _nc.data('vimeoplayer', f);
957
+ }
958
+ else {
959
+ f = _nc.data('vimeoplayer');
960
+ }
961
+
962
+ // Read out the Real Aspect Ratio from Vimeo Video
963
+
964
+ f.on('loaded',function(data) {
965
+ var newas = {};
966
+
967
+ f.getVideoWidth().then( function(width) {
968
+ newas.width = width;
969
+ if (newas.width!==undefined && newas.height!==undefined) {
970
+ _nc.data('aspectratio',newas.width+":"+newas.height);
971
+ _nc.data('vimeoplayerloaded',true);
972
+ callPrepareCoveredVideo(opt,_nc);
973
+ }
974
+
975
+ });
976
+ f.getVideoHeight().then( function(height) {
977
+ newas.height = height;
978
+ if (newas.width!==undefined && newas.height!==undefined) {
979
+ _nc.data('aspectratio',newas.width+":"+newas.height);
980
+ _nc.data('vimeoplayerloaded',true);
981
+ callPrepareCoveredVideo(opt,_nc);
982
+ }
983
+ });
984
+
985
+
986
+
987
+ });
988
+
989
+ _nc.addClass("rs-apiready");
990
+
991
+ f.on('play', function(data) {
992
+ _nc.data('nextslidecalled',0);
993
+ punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut});
994
+ punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
995
+ opt.c.trigger('revolution.slide.onvideoplay',getVideoDatas(f,"vimeo",_nc.data()));
996
+ opt.videoplaying=true;
997
+
998
+ addVidtoList(_nc,opt);
999
+ if (pforv)
1000
+ opt.c.trigger('stoptimer');
1001
+ else
1002
+ opt.videoplaying=false;
1003
+
1004
+ if(!_nc.data('vimeoplaysinline')) {
1005
+
1006
+ if (_nc.data('volume')=="mute" || _R.lastToggleState(_nc.data('videomutetoggledby')) || opt.globalmute===true)
1007
+ f.setVolume(0);
1008
+ else
1009
+ f.setVolume(parseInt(_nc.data('volume'),0)/100 || 0.75);
1010
+ _R.toggleState(_.videotoggledby);
1011
+
1012
+ }
1013
+
1014
+ });
1015
+
1016
+ f.on('timeupdate',function(data) {
1017
+ var et = getStartSec(_nc.data('videoendat'))
1018
+ _nc.data('currenttime',data.seconds);
1019
+
1020
+ if (et!=0 && (Math.abs(et-data.seconds) <1 && et>data.seconds) && _nc.data('nextslidecalled') != 1) {
1021
+ if (loop) {
1022
+ f.play();
1023
+ var s = getStartSec(_nc.data('videostartat'));
1024
+ if (s!=-1) f.setCurrentTime(s);
1025
+ } else {
1026
+ if (_nc.data('nextslideatend')==true) {
1027
+ _nc.data('nextslideatend-triggered',1);
1028
+ _nc.data('nextslidecalled',1);
1029
+ opt.c.revnext();
1030
+ }
1031
+ f.pause();
1032
+ }
1033
+ }
1034
+ });
1035
+
1036
+ f.on('ended', function(data) {
1037
+ remVidfromList(_nc,opt);
1038
+ opt.videoplaying=false;
1039
+ opt.c.trigger('starttimer');
1040
+ opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(f,"vimeo",_nc.data()));
1041
+ if (_nc.data('nextslideatend')==true) {
1042
+ _nc.data('nextslideatend-triggered',1);
1043
+ opt.c.revnext();
1044
+ }
1045
+ if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
1046
+ _R.unToggleState(_.videotoggledby);
1047
+
1048
+ });
1049
+
1050
+ f.on('pause', function(data) {
1051
+ if (((_nc.data('showcoveronpause')=="on" && _nc.find('.tp-videoposter').length>0) || (_nc.data('bgvideo')===1 && _nc.find('.rs-fullvideo-cover').length>0))) {
1052
+ if (_nc.data('bgvideo')===1)
1053
+ punchgs.TweenLite.to(_nc.find('.rs-fullvideo-cover'),0.1,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
1054
+ else
1055
+ punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.1,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
1056
+ punchgs.TweenLite.to(_nc.find('iframe'),0.1,{autoAlpha:0,ease:punchgs.Power3.easeInOut});
1057
+ }
1058
+ opt.videoplaying=false;
1059
+ opt.tonpause = false;
1060
+
1061
+ remVidfromList(_nc,opt);
1062
+ opt.c.trigger('starttimer');
1063
+ opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(f,"vimeo",_nc.data()));
1064
+ if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
1065
+ _R.unToggleState(_.videotoggledby);
1066
+ });
1067
+
1068
+
1069
+
1070
+ _nc.find('.tp-videoposter').unbind("click");
1071
+ _nc.find('.tp-videoposter').click(function() {
1072
+ if (!_ISM) {
1073
+
1074
+ f.play();
1075
+ return false;
1076
+ }
1077
+ })
1078
+ if (_nc.data('startvideonow')) {
1079
+ f.play();
1080
+ var s = getStartSec(_nc.data('videostartat'));
1081
+ if (s!=-1) f.setCurrentTime(s);
1082
+ }
1083
+ _nc.data('videolistenerexist',1);
1084
+
1085
+ break;
1086
+ }
1087
+ } else {
1088
+ var s = getStartSec(_nc.data('videostartat'));
1089
+ switch (_.videotype) {
1090
+ // YOUTUBE LISTENER
1091
+ case "youtube":
1092
+ if (startnow) {
1093
+ _.player.playVideo();
1094
+ if (s!=-1) _.player.seekTo()
1095
+ }
1096
+ break;
1097
+ case "vimeo":
1098
+
1099
+ if (startnow) {
1100
+
1101
+ var f = _nc.data('vimeoplayer');
1102
+ f.play();
1103
+ if (s!=-1) f.seekTo(s);
1104
+ }
1105
+ break;
1106
+ }
1107
+ }
1108
+ }
1109
+
1110
+
1111
+ var exitFullscreen = function() {
1112
+ if(document.exitFullscreen) {
1113
+ document.exitFullscreen();
1114
+ } else if(document.mozCancelFullScreen) {
1115
+ document.mozCancelFullScreen();
1116
+ } else if(document.webkitExitFullscreen) {
1117
+ document.webkitExitFullscreen();
1118
+ }
1119
+ }
1120
+
1121
+
1122
+ var checkfullscreenEnabled = function() {
1123
+ try{
1124
+ // FF provides nice flag, maybe others will add support for this later on?
1125
+ if(window['fullScreen'] !== undefined) {
1126
+ return window.fullScreen;
1127
+ }
1128
+ // 5px height margin, just in case (needed by e.g. IE)
1129
+ var heightMargin = 5;
1130
+ if(jQuery.browser.webkit && /Apple Computer/.test(navigator.vendor)) {
1131
+ // Safari in full screen mode shows the navigation bar,
1132
+ // which is 40px
1133
+ heightMargin = 42;
1134
+ }
1135
+ return screen.width == window.innerWidth &&
1136
+ Math.abs(screen.height - window.innerHeight) < heightMargin;
1137
+ } catch(e) {
1138
+
1139
+ }
1140
+ }
1141
+ ///////////////////////////////////////// HTML5 VIDEOS ///////////////////////////////////////////
1142
+
1143
+ var htmlvideoevents = function(_nc,opt,startnow) {
1144
+
1145
+
1146
+
1147
+ if (_ISM && _nc.data('disablevideoonmobile')==1) return false;
1148
+ var _ = _nc.data(),
1149
+ tag = _.audio=="html5" ? "audio" : "video",
1150
+ jvideo = _nc.find(tag),
1151
+ video = jvideo[0],
1152
+ html5vid = jvideo.parent(),
1153
+ loop = _.videoloop,
1154
+ pforv = loop != "loopandnoslidestop";
1155
+
1156
+ loop = loop =="loop" || loop =="loopandnoslidestop";
1157
+
1158
+ html5vid.data('metaloaded',1);
1159
+ // FIRST TIME LOADED THE HTML5 VIDEO
1160
+
1161
+ if (_nc.data('bgvideo')==1 && (_.videoloop==="none" || _.videoloop===false))
1162
+ pforv = false;
1163
+
1164
+
1165
+
1166
+
1167
+ //PLAY, STOP VIDEO ON CLICK OF PLAY, POSTER ELEMENTS
1168
+ if (jvideo.attr('control') == undefined ) {
1169
+ if (_nc.find('.tp-video-play-button').length==0 && !_ISM)
1170
+ _nc.append('<div class="tp-video-play-button"><i class="revicon-right-dir"></i><span class="tp-revstop">&nbsp;</span></div>');
1171
+ _nc.find('video, .tp-poster, .tp-video-play-button').click(function() {
1172
+ if (_nc.hasClass("videoisplaying"))
1173
+ video.pause();
1174
+ else
1175
+ video.play();
1176
+ })
1177
+ }
1178
+
1179
+ // PRESET FULLCOVER VIDEOS ON DEMAND
1180
+ if (_nc.data('forcecover')==1 || _nc.hasClass('fullscreenvideo') || _nc.data('bgvideo')==1) {
1181
+ if (_nc.data('forcecover')==1 || _nc.data('bgvideo')==1) {
1182
+ html5vid.addClass("fullcoveredvideo");
1183
+ var a = _nc.data('aspectratio');
1184
+ if (a===undefined || a.split(':').length==1) _nc.data('aspectratio','16:9');
1185
+
1186
+ _R.prepareCoveredVideo(opt,_nc);
1187
+ }
1188
+ else
1189
+ html5vid.addClass("fullscreenvideo");
1190
+ }
1191
+
1192
+
1193
+ // FIND CONTROL BUTTONS IN VIDEO, AND ADD EVENT LISTENERS ON THEM
1194
+ var playButton = _nc.find('.tp-vid-play-pause')[0],
1195
+ muteButton = _nc.find('.tp-vid-mute')[0],
1196
+ fullScreenButton = _nc.find('.tp-vid-full-screen')[0],
1197
+ seekBar = _nc.find('.tp-seek-bar')[0],
1198
+ volumeBar = _nc.find('.tp-volume-bar')[0];
1199
+
1200
+ if (playButton!=undefined) {
1201
+ // Event listener for the play/pause button
1202
+ addEvent(playButton,"click", function() {
1203
+ if (video.paused == true)
1204
+ video.play();
1205
+ else
1206
+ video.pause();
1207
+ });
1208
+ }
1209
+
1210
+ if (muteButton!=undefined) {
1211
+
1212
+ // Event listener for the mute button
1213
+ addEvent(muteButton,"click", function() {
1214
+ if (video.muted == false) {
1215
+ video.muted = true;
1216
+ muteButton.innerHTML = "Unmute";
1217
+ } else {
1218
+ video.muted = false;
1219
+ muteButton.innerHTML = "Mute";
1220
+ }
1221
+ });
1222
+ }
1223
+
1224
+ if (fullScreenButton!=undefined) {
1225
+
1226
+ // Event listener for the full-screen button
1227
+ if (fullScreenButton)
1228
+ addEvent(fullScreenButton,"click", function() {
1229
+ if (video.requestFullscreen) {
1230
+ video.requestFullscreen();
1231
+ } else if (video.mozRequestFullScreen) {
1232
+ video.mozRequestFullScreen(); // Firefox
1233
+ } else if (video.webkitRequestFullscreen) {
1234
+ video.webkitRequestFullscreen(); // Chrome and Safari
1235
+ }
1236
+ });
1237
+
1238
+ }
1239
+
1240
+ if (seekBar !=undefined) {
1241
+
1242
+ // Event listener for the seek bar
1243
+ addEvent(seekBar,"change", function() {
1244
+ var time = video.duration * (seekBar.value / 100);
1245
+ video.currentTime = time;
1246
+
1247
+ });
1248
+
1249
+ // Pause the video when the seek handle is being dragged
1250
+ addEvent(seekBar,"mousedown", function() {
1251
+ _nc.addClass("seekbardragged");
1252
+ video.pause();
1253
+
1254
+ });
1255
+
1256
+ // Play the video when the seek handle is dropped
1257
+ addEvent(seekBar,"mouseup", function() {
1258
+ _nc.removeClass("seekbardragged");
1259
+ video.play();
1260
+
1261
+ });
1262
+ }
1263
+
1264
+ addEvent(video,"canplaythrough", function() {
1265
+ _R.preLoadAudioDone(_nc,opt,"canplaythrough");
1266
+ });
1267
+
1268
+ addEvent(video,"canplay", function() {
1269
+ _R.preLoadAudioDone(_nc,opt,"canplay");
1270
+ });
1271
+
1272
+ addEvent(video,"progress", function() {
1273
+ _R.preLoadAudioDone(_nc,opt,"progress");
1274
+ });
1275
+
1276
+ // Update the seek bar as the video plays
1277
+ addEvent(video,"timeupdate", function() {
1278
+
1279
+
1280
+ var value = (100 / video.duration) * video.currentTime,
1281
+ et = getStartSec(_nc.data('videoendat')),
1282
+ cs =video.currentTime;
1283
+ if (seekBar != undefined)
1284
+ seekBar.value = value;
1285
+
1286
+ if (et!=0 && et!=-1 && (Math.abs(et-cs) <=0.3 && et>cs) && _nc.data('nextslidecalled') != 1) {
1287
+
1288
+ if (loop) {
1289
+ video.play();
1290
+ var s = getStartSec(_nc.data('videostartat'));
1291
+ if (s!=-1) video.currentTime = s;
1292
+ } else {
1293
+
1294
+
1295
+ if (_nc.data('nextslideatend')==true) {
1296
+ _nc.data('nextslideatend-triggered',1);
1297
+ _nc.data('nextslidecalled',1);
1298
+ opt.just_called_nextslide_at_htmltimer = true;
1299
+ opt.c.revnext();
1300
+ setTimeout(function() {
1301
+ opt.just_called_nextslide_at_htmltimer = false;
1302
+ },1000);
1303
+ }
1304
+ video.pause();
1305
+ }
1306
+ }
1307
+ });
1308
+
1309
+
1310
+ if (volumeBar != undefined) {
1311
+
1312
+ // Event listener for the volume bar
1313
+ addEvent(volumeBar,"change", function() {
1314
+ // Update the video volume
1315
+ video.volume = volumeBar.value;
1316
+ });
1317
+ }
1318
+
1319
+
1320
+ // VIDEO EVENT LISTENER FOR "PLAY"
1321
+ addEvent(video,"play",function() {
1322
+
1323
+ _nc.data('nextslidecalled',0);
1324
+
1325
+ var vol = _nc.data('volume');
1326
+ vol = vol!=undefined && vol!="mute" ?parseFloat(vol)/100 : vol;
1327
+
1328
+ // JASON
1329
+ // if (!_ANDROID) {
1330
+
1331
+ if (!_R.is_mobile() && !_R.isSafari11()) {
1332
+ if (opt.globalmute===true)
1333
+ video.muted = true;
1334
+ else
1335
+ video.muted = false;
1336
+
1337
+ if (vol>1) vol = vol/100;
1338
+
1339
+ if (vol=="mute")
1340
+ video.muted=true;
1341
+ else
1342
+ if (vol!=undefined)
1343
+ video.volume = vol;
1344
+ }
1345
+
1346
+
1347
+ _nc.addClass("videoisplaying");
1348
+
1349
+ var tag = _.audio=="html5" ? "audio" : "video";
1350
+
1351
+ addVidtoList(_nc,opt);
1352
+
1353
+ if (!pforv || tag=="audio") {
1354
+ opt.videoplaying=false;
1355
+ if (tag!="audio") opt.c.trigger('starttimer');
1356
+ opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(video,"html5",_));
1357
+ } else {
1358
+ opt.videoplaying=true;
1359
+ opt.c.trigger('stoptimer');
1360
+ opt.c.trigger('revolution.slide.onvideoplay',getVideoDatas(video,"html5",_));
1361
+ }
1362
+
1363
+ punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut});
1364
+ punchgs.TweenLite.to(_nc.find(tag),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
1365
+
1366
+ var playButton = _nc.find('.tp-vid-play-pause')[0],
1367
+ muteButton = _nc.find('.tp-vid-mute')[0];
1368
+ if (playButton!=undefined)
1369
+ playButton.innerHTML = "Pause";
1370
+ if (muteButton!=undefined && video.muted)
1371
+ muteButton.innerHTML = "Unmute";
1372
+
1373
+ _R.toggleState(_.videotoggledby);
1374
+ });
1375
+
1376
+ // VIDEO EVENT LISTENER FOR "PAUSE"
1377
+ addEvent(video,"pause",function(e) {
1378
+
1379
+ var tag = _.audio=="html5" ? "audio" : "video",
1380
+ fsmode = checkfullscreenEnabled();
1381
+
1382
+
1383
+
1384
+ if (!fsmode && _nc.find('.tp-videoposter').length>0 && _nc.data('showcoveronpause')=="on" && !_nc.hasClass("seekbardragged")) {
1385
+ punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
1386
+ punchgs.TweenLite.to(_nc.find(tag),0.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut});
1387
+ }
1388
+
1389
+ _nc.removeClass("videoisplaying");
1390
+ opt.videoplaying=false;
1391
+ remVidfromList(_nc,opt);
1392
+ if (tag!="audio") opt.c.trigger('starttimer');
1393
+ opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(video,"html5",_nc.data()));
1394
+ var playButton = _nc.find('.tp-vid-play-pause')[0];
1395
+ if (playButton!=undefined)
1396
+ playButton.innerHTML = "Play";
1397
+
1398
+ if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
1399
+ _R.unToggleState(_.videotoggledby);
1400
+ });
1401
+
1402
+ // VIDEO EVENT LISTENER FOR "END"
1403
+
1404
+
1405
+ addEvent(video,"ended",function() {
1406
+ exitFullscreen();
1407
+
1408
+ remVidfromList(_nc,opt);
1409
+ opt.videoplaying=false;
1410
+ remVidfromList(_nc,opt);
1411
+ if (tag!="audio") opt.c.trigger('starttimer');
1412
+ opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(video,"html5",_nc.data()));
1413
+
1414
+
1415
+ if (_nc.data('nextslideatend')===true && video.currentTime>0) {
1416
+
1417
+ if (!opt.just_called_nextslide_at_htmltimer==true) {
1418
+ _nc.data('nextslideatend-triggered',1);
1419
+ opt.c.revnext();
1420
+ opt.just_called_nextslide_at_htmltimer = true;
1421
+ }
1422
+ setTimeout(function() {
1423
+ opt.just_called_nextslide_at_htmltimer = false;
1424
+ },1500)
1425
+ }
1426
+ _nc.removeClass("videoisplaying");
1427
+
1428
+
1429
+ });
1430
+ }
1431
+
1432
+
1433
+
1434
+ var addVidtoList = function(_nc,opt) {
1435
+
1436
+ if (opt.playingvideos == undefined) opt.playingvideos = new Array();
1437
+
1438
+ // STOP OTHER VIDEOS
1439
+ if (_nc.data('stopallvideos')) {
1440
+ if (opt.playingvideos != undefined && opt.playingvideos.length>0) {
1441
+ opt.lastplayedvideos = jQuery.extend(true,[],opt.playingvideos);
1442
+ jQuery.each(opt.playingvideos,function(i,_nc) {
1443
+ _R.stopVideo(_nc,opt);
1444
+ });
1445
+ }
1446
+ }
1447
+ opt.playingvideos.push(_nc);
1448
+ opt.currentLayerVideoIsPlaying = _nc;
1449
+
1450
+ }
1451
+
1452
+
1453
+ var remVidfromList = function(_nc,opt) {
1454
+ if (opt.playingvideos != undefined && jQuery.inArray(_nc,opt.playingvideos)>=0)
1455
+ opt.playingvideos.splice(jQuery.inArray(_nc,opt.playingvideos),1);
1456
+ }
1457
+
1458
+
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+ })(jQuery);