{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///../html5vg_source/videogallery/js_dzsvg/_dzsvg_helpers.js","webpack:///../html5vg_source/videogallery/configs/Constants.js","webpack:///../html5vg_source/videogallery/js_common/_dzs_helpers.js","webpack:///../html5vg_source/videogallery/js_dzsvg/_dzsvg_svgs.js","webpack:///../html5vg_source/videogallery/js_dzsvg/playlist/_playlistHelpers.js","webpack:///../html5vg_source/videogallery/js_player/_player_setupAd.js","webpack:///../html5vg_source/videogallery/js_playlist/mode/_mode-wall.js","webpack:///../html5vg_source/videogallery/js_dzsvg/navigation/configs/_navigationSettings.js","webpack:///../html5vg_source/videogallery/js_view/_viewFunctions.js","webpack:///../html5vg_source/videogallery/js_dzsvg/navigation/inc/_navigation-view.js","webpack:///../html5vg_source/videogallery/js_dzsvg/navigation/_navigation-helpers.js","webpack:///../html5vg_source/videogallery/js_dzsvg/navigation/_navigation.js","webpack:///../html5vg_source/videogallery/configs/_playlistSettings.js","webpack:///../html5vg_source/videogallery/js_playlist/_searchFunctions.js","webpack:///../html5vg_source/videogallery/js_dzsvg/playlist/_searchPlaylist.js","webpack:///../html5vg_source/videogallery/js_playlist/_playlistAuxiliaryButtons.js","webpack:///../html5vg_source/videogallery/vgallery.sourcepack.js","webpack:///../html5vg_source/videogallery/js_dzsvg/playlist/_playlistBuilderFunctions.js","webpack:///../html5vg_source/videogallery/js_dzsvg/components/_second_con.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","can_translate","is_chrome","is_safari","navigator","userAgent","toLowerCase","indexOf","player_setQualityLevels","selfClass","$temp_qualitiesFromFeed","cthis","find","length","addClass","$qualitySelector","str_qualitiesTooltip","html","aux_opts","added","each","_t2","$","this","attr","dataSrc","initOptions","settings_currQuality","replace","console","warn","is_android","is_touch_device","window","can_history_api","history","pushState","add_query_arg","purl","pair","encodeURIComponent","RegExp","regex_attr","is_ios","platform","fullscreen_status","document","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","player_controls_generatePlayCon","structPlayControls","design_skin","dzsvg_call_video_when_ready","_videoElement","init_readyVideo","vimeo_is_ready","inter_videoReadyState","type","getPlayerState","cueVideo","Number","readyState","vimeo_is_chromeless","is_mobile","clearInterval","preload_method","dzsvg_check_multisharer","sanitize_to_youtube_id","arg","detect_video_type_and_source","source","getDataOrAttr","_c","data","detect_videoTypeAndSourceForElement","_el","forceType","playFrom","String","aux","exec","eq","sanitizeDataAdArrayStringToArray","ad_array","JSON","parse","err","log","is_autoplay_and_muted","autoplay","autoplayWithVideoMuted","user_action","defaultvolume","setup_videogalleryCategories","ccat","jQuery","currCatNr","_t","css","append","gotoCategory","parent","children","index","setTimeout","trigger","i2","auxurl","NaN","tempCat","pargs","margs","extend","undefined","external_handle_stopCurrVideo","ind","removeClass","_cachg","init_settings","api_play_currVideo","called_from","hide","show","api_handleResize","api_handleResize_currVideo","location","href","api_goto_category","youtube_sanitize_url_to_id","auxa","split","arr","registerAuxjQueryExtends","fn","appendOnce","argfind","auxarr","Date","dzsvg_time_started","getTime","inter_check_treat","clearTimeout","workaround_treatuntretreadItems","$ytApiPlayer_","substr","aux2","loadVideoById","pauseVideo","onYouTubePlayerReady","backup_onYouTubePlayerReady","dzsvg_backup_onYouTubePlayerReady","dzsvgExtraWindowFunctions","dzsvg_wp_send_view","argcthis","argtitle","video_title","video_analytics_id","dzsvg_curr_user","theajaxurl","dzsvg_site_url","dzsvg_settings","ajax","url","success","response","error","dzsvg_wp_send_contor_60_secs","dzsvg_open_social_link","leftPosition","topPosition","windowFeatures","screen","width","height","open","dzsvp_yt_iframe_ready","_global_youtubeIframeAPIReady","onYouTubeIframeAPIReady","dzsvg_yt_ready","extractOptionsFromPlayer","$c","finalOptions","convertPluginOptionsToFinalOptions","elThis","defaultOptions","argOptions","searchedAttr","searchedDivClass","tempOptions","sw_setFromJson","_elThis","eval","assign","player_setupQualitySelector","yt_qualCurr","yt_qualArray","_qualitySelector","playerHandleDeprecatedAttrSrc","player_assert_autoplay","configureAudioPlayerOptionsInitial","gallery_object","$parentGallery","api_video_ready","DELAY_MINUSCULE","first_video_from_gallery","playfrom","isNaN","sliderAreaHeight","embed_code","videoWidth","videoHeight","autoplayVideo","mainClass","className","extra_classes","bufferedWidthOffset","volumeWidthOffset","design_enableProgScrubBox","hasClass","extra_controls","responsive_ratio","dataType","isPartOfAnGallery","isGalleryHasOneVideoPlayerMode","mode_normal_video_mode","gallery_target_index","action_video_view","action_video_contor_60secs","reinitPlayerOptions","hasCustomSkin","settings_youtube_usecustomskin","settings_ios_usecustomskin","is_ad","isAd","player_checkIfItShouldStartMuted","ad_link","shouldStartMuted","isHadFirstInteraction","tagsSetupDom","_tagElement","auxhtml","w","h","acomlink","pauseDzsapPlayers","dzsap_list","api_pause_media","api_destroy_for_rebuffer","dzsap_player_interrupted_by_dzsvg","init_navigationOuter","xpos","_cach","cclass","api_set_outerNav","$targetVideoGallery","_clip","_clipmover","_block_active","_navOuterBullets","_navOuterBlocks","e","$outerBlock","api_gotoItem","SelfPlaylist","handleHadFirstInteraction","scrollY","offset","top","scrollTo","left","behavior","auxl","vimeo_do_command","vimeo_data","vimeo_url","contentWindow","postMessage","stringify","ConstantsDzsvg","THREEJS_LIB_URL","THREEJS_LIB_ORBIT_URL","YOUTUBE_IFRAME_API","VIMEO_IFRAME_API","DEBUG_STYLING","DEBUG_STYLING_2","ANIMATIONS_DURATION","VIEW_LAYOUT_BUILDER_FEED_CLASS","DEFAULT_MENU_ITEM_STRUCTURE","PLAYER_DEFAULT_RESPONSIVE_RATIO","PLAYER_DEFAULT_TIMEOUT","PLAYLIST_HEIGHT_IS_WINDOW_MAX_OFFSET","PLAYLIST_DEFAULT_TIMEOUT","PLAYLIST_SCROLL_TOP_OFFSET","PLAYLIST_VIEW_FULLSCREEN_CLASS","formatTime","Math","round","get_query_arg","stringUri","regtest","splitterS","sanitizeToCssPx","format_to_seconds","argsplit","reverse","secs","loadScriptIfItDoesNotExist","scriptSrc","checkForVar","checkInterval","Promise","resolve","reject","isAlreadyLoaded","isGoingToLoadScript","checkIfVarExists","setInterval","script","createElement","onload","onerror","src","head","appendChild","loadScript","stringUtilGetSkinFromClass","svg_quality_icon","svg_default_volume_static","svg_volume_icon","svg_aurora_play_btn","svg_embed","svg_mute_btn","svg_mute_icon","svg_play_simple_skin_bigplay_pro","svg_pause_simple_skin_aurora","svg_volume_active_skin_default","svg_full_icon","svgReplayIcon","svgBackButton","svgForwardButton","svgSearchIcon","svgShareIcon","playlistGotoItemHistoryChangeForNonLinks","cid","deeplinkGotoItemQueryParam","deeplink_str","ignore_linking","stateObj","foo","playlist_initSetupInitial","autoplayFirstVideo","nav_type","forceVideoHeight","settings_mode","menu_position","autoplayNext","cgallery","parseInt","menuitem_width","menuitem_height","settings_go_to_next_after_inactivity","startItem","settings_separation_pages_number","settings_trigger_resize","$feedItemsContainer","masonry_options","columnWidth","containerStyle","position","isFitWidth","isAnimated","settings_enable_linking","$feedLayoutBuilderItems","navigation_customStructure","transition_type","videoplayersettings","dzsvg_vpconfigs","embedCode","viewOptions","enableVideoArea","playlist_initialConfig","galleryComputedId","auxnr","temps","playlist_inDzsTabsHandle","_con","init","playlist_navigation_getPreviewImg","stringPreviewImg","playlist_get_real_responsive_ratio","targetIndex","_sliderCon","php_media_data_retriever","json","rr","toFixed","api_get_responsive_ratio","handleResize_currVideo","info","playlist_navigation_mode_one__set_players_data","_cachmenuitem","attr_arr","maxlen","ci","i5","val","lab4","lab_sanitized_for_data","playlistGotoItemHistoryChangeForLinks","ind_ajaxPage","_currentTargetPlayer","settings_enableHistory","text","settings_ajax_extraDivs","extradivs","xhr","ajaxOptions","thrownError","detect_startItemBasedOnQueryAddress","navigation_detectClassesForPosition","_mainNavigation","classesNewMenuLocation","navigation_initScroller","_navMain","scroller","assertVideoFromGalleryAutoplayStatus","currNr","shouldVideoAutoplay","ads_view_setupMarkersOnScrub","before","time","ads_decode_ads_array","lab","initialVal","fout","player_setupAd","skip_delay","ad_time","splice","$adContainer","stringVplayerAdStructure","argsForVideoPlayerAd","parent_player","isAdPlaying","vPlayer","api_ad_block_navigation","pauseMovie","player_setup_skipad","translate_skipad","dzsvg_translate_youcanskipto","dzsvg_translate_skipad","inter_time_counter_skipad","time_counter_skipad","ad_status","skipad_timer","$adSkipCon","handleVideoEnd","dzsvg_mode_wall_init","navigation_gridClassItemsContainer","dzsvg_mode_wall_reinitWallStructure","$navigationItemsContainer","$t","ultibox_suggestedWidth","ultibox_suggestedHeight","uriThumb","thumb_imgblock","handleResize","isGalleryLoaded","defaultSettings","navigationType","navigationSkin","menuPosition","navigation_direction","menuItemWidth","menuItemHeight","feedItemNotInitedClass","isAutoScrollToCurrent","isSyncMainAreaAndNavigationAreas","viewEnableMediaArea","viewNavigationIsUltibox","isUseEasing","parentSkin","filter_structureMenuItemContent","viewAnimationDuration","navigationStructureHtml","gridClassItemsContainer","view_setCssPropsForElement","$elements","cssProps","view_navigation_generateNavigationItem","structureMenuItemContentInner","$currentItemFeed","configObj","navAttributes","isUltiboxItem","final_structureMenuItemContent","$currentVideoPlayer","replaceInNav","currentStructure","placeholderText","argInStructure","feedValue","playlist_navigationStructureAssignVars","navigationItemDomTag","navigationItemExtraAttr","navigationItemExtraClasses","easeIn","b","easeOut","parentClass","$mainArea","$mainNavigation","$mainNavigationClipped","$mainNavigationItemsContainer","$containerComponent","ultraResponsive","totalItemsWidth","totalItemsHeight","totalAreaWidth","totalAreaHeight","mainAreaHeight","currPage","nav_max_pages","navigation_extraFixedElementsSize","navigation_mainDimensionTotalSize","navigation_mainDimensionClipSize","navigation_mainDimensionItemSize","initClass","itemsLength","$currentItemFeed_","$justAdded","last","atts","attributes","nodeName","selfInstance","newOptions","computeNavAttributes","navMain_mousex","navMain_mousey","target_viy","target_vix","begin_viy","begin_vix","finish_viy","finish_vix","change_viy","change_vix","DURATION_EASING","init_navIsReady","handleEnterFrame","animate_to_curr_thumb","handleClick_navigationArrow","tempPage","nav_thumbsandarrows_gotoPage","gotoPrevPage","firstItemInSightWidth","handleMouse","pageY","pageX","navigation_getNavPosition","view_animateMenuVertical","navigation_prepareAnimateMenuY","navigation_prepareAnimateMenuX","requestAnimationFrame","navMain_mouse","clipSize","viewMax","finish_viewIndex","$activeNavItem","rat","outerHeight","outerWidth","coordinateToActiveItem","api_scrolly_to","viewIndex","scrollTop","containerComponent","sanitizeInitValues","structure_baseLayout","$navigationAndMainArea","prepend","setupStructure","calculateDimsArgs","forceMainAreaHeight","totalAreaHeightPixels","mainNavigationDesiredWidth","$navigationChild","scrollHeight","navWidth","unbind","defaultPlaylistSettings","init_on","randomise","cueFirstVideo","playorder","loop_playlist","navigation_isUltibox","navigation_maxHeight","navigation_viewAnimationDuration","nav_type_outer_max_height","nav_type_outer_grid","easing_speed","design_navigationUseEasing","settings_disableVideo","settings_enableHistory_fornormalitems","settings_separation_mode","settings_separation_pages","settings_menu_overlay","search_field","search_field_con","nav_type_auto_scroll","init_all_players_at_init","settings_secondCon","settings_outerNav","extra_class_slider_con","menu_description_format","dzsvg_playlist_initSearchField","$searchFieldCon","struct_searchFieldString","dzsvg_playlist_addSearchField","handleSearchFieldChange","dzsvg_playlist_setupEmbedAndShareButtons","isMergeSocialIconsIntoOne","feed_socialCode","$sliderMain","$galleryButtons","click","isEmbedOpened","queue","duration","Constants","click_embedhandle","isShareOpened","click_sharehandle","DzsVideoGallery","argThis","$containerForItems","videoAreaWidth","Navigation","classInit","videoAreaHeight","totalWidth","totalHeight","ww","heightWindow","$currVideoPlayer","$galleryParent","nrChildren","last_totalWidth","last_totalHeight","last_height_for_videoheight","inter_start_the_transition","currNr_curr","nextNr","prevNr","last_arg","heightInitial","isBusyTransition","isTransitionStarted","isBusyAjax","isFirstPlayed","isMouseOver","isFirstTransition","settings_separation_nr_pages","action_playlist_end","caller","apiResponsiveRationResize","baseUrl","elimi","dzsvg_page","$videoItem","remove","str_pagination","ceil","str_active","after","design_shadow","navOptions","DzsNavigation","setup_structure","reinit","merge_social_into_one","nto_mh","libsUri","then","dzsscr_init","calculateDims","fn_scrollx_to","on","handle_mouse","handleKeyPress","addEventListener","view_handleOrientationChange","init_playlistIsReady","videoEnd","play_currVideo","video_stopCurrentVideo","api_gotoNext","gotoNext","api_gotoPrev","gotoPrev","gotoItem","api_responsive_ratio_resize_h","ad_block_navigation","api_ad_unblock_navigation","ad_unblock_navigation","api_pause_currVideo","pause_currVideo","api_currVideo_refresh_fsbutton","galleryTransition","api_set_secondCon","api_set_action_playlist_end","api_played_video","tempStartItem","$categoriesVideoGallery","call_init_readyForInitingVideos","donotopenlink","handleScroll","click_btn_ajax_loadmore","handleMouseout","handleMouseover","keyCode","setup_navigation_items","addNavigationItems","vpRealSrc","sourceAndType","curatedTypeFromGallery","$cacheMenuItem","buildPlaylist","len","setup_transfer_items_to_sliderCon","wrap","rotator3d_handleClickOnPreviewImg","handleClickOnNavigationContainer","resizeHeightDimension","api_toggle_resize","design_menuitem_height","abs","style","$dzsNavItems","calculateDims_secondCon","windowMinusGalleryOffset","api_pauseMovie","argcol","classForNavigationItem","wh","ajax_load_nextpage","st","cthisOffsetTop","innerHeight","gotoItemOptions","isTransformed","argsForVideoPlayer","gallery_last_curr_nr","_targetPlayer","optionsForChange","api_change_media","_c2","autoplay_ad","htmlContent","end_exit_fullscreen","externalPlayMovie","force_resize_gallery","_descCon","delay","_c_outerNav","_t4","_extraBtns","next","setCurrVideoClass","tagName","pause","$innerSecondCon","externalPauseMovie","api_playMovie","tempNr","isGoingToGoNext","selectedIndex","apply_videogallery_plugin","vGallery","dzsvg_init","selector","settings","zsvg_init","dzsvg_handleInitedjQuery","dzsvg_reinit","off","_content","complete","auxh","secondCon_initFunctions","stringClass","ready","dzsvg_default_settings"],"mappings":"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","file":"vgallery.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n","import {ads_decode_ads_array} from \"../js_player/_player_setupAd\";\n\n\nimport {ConstantsDzsvg, PLAYLIST_SCROLL_TOP_OFFSET} from '../configs/Constants';\nimport {\n svg_aurora_play_btn,\n svg_pause_simple_skin_aurora,\n svg_play_simple_skin_bigplay_pro,\n svgReplayIcon\n} from \"./_dzsvg_svgs\";\nimport {get_query_arg} from \"../js_common/_dzs_helpers\";\n\n\nexport function can_translate() {\n return is_chrome() || is_safari();\n\n}\n\n\nexport function is_safari() {\n return navigator.userAgent.toLowerCase().indexOf('safari') > -1;\n}\n;\n\nexport function player_setQualityLevels(selfClass) {\n\n var $temp_qualitiesFromFeed = selfClass.cthis.find('.dzsvg-feed-quality');\n if ($temp_qualitiesFromFeed.length) {\n selfClass.cthis.addClass('has-multiple-quality-levels');\n\n\n var $qualitySelector = selfClass.cthis.find('.quality-selector');\n var str_qualitiesTooltip = $qualitySelector.find('.dzsvg-tooltip').html();\n\n var aux_opts = '';\n\n var added = false;\n\n\n var curr_qual_added = false;\n $temp_qualitiesFromFeed.each(function () {\n var _t2 = $(this);\n\n\n aux_opts += '
' + _t2.attr('data-label') + '
';\n })\n\n if (added === false) {\n\n aux_opts += '
' + selfClass.initOptions.settings_currQuality + '
';\n\n }\n\n\n if (str_qualitiesTooltip) {\n\n\n str_qualitiesTooltip = str_qualitiesTooltip.replace('{{quality-options}}', aux_opts);\n $qualitySelector.find('.dzsvg-tooltip').html(str_qualitiesTooltip);\n } else {\n console.warn('no aux ? ', str_qualitiesTooltip, $qualitySelector);\n }\n\n\n }\n}\n\n\nexport function is_android() {\n\n\n var ua = navigator.userAgent.toLowerCase();\n return (ua.indexOf(\"android\") > -1);\n}\n\nexport function is_touch_device() {\n\n return !!('ontouchstart' in window);\n}\n\nexport function can_history_api() {\n return !!(window.history && history.pushState);\n}\n\nexport function add_query_arg(purl, key, value) {\n key = encodeURIComponent(key);\n value = encodeURIComponent(value);\n\n var s = purl;\n var pair = key + \"=\" + value;\n\n var r = new RegExp(\"(&|\\\\?)\" + key + \"=[^\\&]*\");\n\n s = s.replace(r, \"$1\" + pair);\n\n if (s.indexOf(key + '=') > -1) {\n\n\n } else {\n if (s.indexOf('?') > -1) {\n s += '&' + pair;\n } else {\n s += '?' + pair;\n }\n }\n\n\n if (value === 'NaN') {\n var regex_attr = new RegExp('[\\?|\\&]' + key + '=' + value);\n s = s.replace(regex_attr, '');\n }\n\n return s;\n}\n\n\nexport function is_ios() {\n\n return ((navigator.platform.indexOf(\"iPhone\") !== -1) || (navigator.platform.indexOf(\"iPod\") !== -1) || (navigator.platform.indexOf(\"iPad\") !== -1 || (navigator.platform.indexOf(\"MacIntel\") !== -1 && is_touch_device()))\n );\n}\n\n/**\n *\n * @returns {number}\n */\nexport function fullscreen_status() {\n if (document.fullscreenElement !== null && typeof document.fullscreenElement !== \"undefined\") {\n return 1;\n } else if (document.webkitFullscreenElement && typeof document.webkitFullscreenElement !== \"undefined\") {\n return 1;\n } else if (document.mozFullScreenElement && typeof document.mozFullScreenElement !== \"undefined\") {\n return 1;\n }\n ;\n return 0\n}\n\n\nfunction is_chrome() {\n return navigator.userAgent.toLowerCase().indexOf('chrome') > -1;\n}\n;\n\nexport function player_controls_generatePlayCon(o) {\n\n var structPlayControls = '';\n structPlayControls = '
';\n if (o.design_skin == 'skin_bigplay_pro') {\n\n structPlayControls += svg_play_simple_skin_bigplay_pro;\n }\n if (o.design_skin == 'skin_aurora' || o.design_skin == 'skin_bigplay' || o.design_skin == 'skin_avanti' || o.design_skin == 'skin_default' || o.design_skin == 'skin_pro' || o.design_skin == 'skin_white') {\n structPlayControls += svg_aurora_play_btn;\n }\n\n\n structPlayControls += '
';\n if (o.design_skin == 'skin_aurora' || o.design_skin == 'skin_pro' || o.design_skin == 'skin_bigplay' || o.design_skin == 'skin_avanti' || o.design_skin == 'skin_default' || o.design_skin == 'skin_white') {\n\n structPlayControls += svg_pause_simple_skin_aurora;\n }\n structPlayControls += '
';\n\n\n structPlayControls += '
';\n structPlayControls += svgReplayIcon;\n\n structPlayControls += '
';\n\n\n return structPlayControls;\n}\n\nexport function dzsvg_call_video_when_ready(o, _videoElement, init_readyVideo, vimeo_is_ready, inter_videoReadyState) {\n\n\n if (o.type === 'youtube' && _videoElement.getPlayerState) {\n\n init_readyVideo();\n }\n\n\n if (o.cueVideo != 'on' && (o.type == 'selfHosted' || o.type == 'audio') && Number(_videoElement.readyState) >= 2) {\n init_readyVideo({\n 'called_from': 'check_videoReadyState'\n });\n return false;\n }\n\n\n if (o.type == 'vimeo' && o.vimeo_is_chromeless == 'on') {\n\n if (vimeo_is_ready) {\n init_readyVideo();\n return false;\n }\n }\n if (o.type == 'audio') {\n if (is_mobile()) {\n if (Number(_videoElement.readyState) >= 1) {\n\n init_readyVideo();\n return false;\n }\n }\n\n\n if (Number(_videoElement.readyState) >= 3) {\n clearInterval(inter_videoReadyState);\n init_readyVideo({\n 'called_from': 'check_videoReadyState'\n });\n return false;\n }\n }\n if (o.type === 'selfHosted') {\n\n\n if (is_ios()) {\n\n if (Number(_videoElement.readyState) >= 1) {\n\n init_readyVideo();\n return false;\n }\n }\n\n if (is_android()) {\n if (Number(_videoElement.readyState) >= 2) {\n\n init_readyVideo();\n return false;\n }\n }\n\n\n if (Number(_videoElement.readyState) >= 3 || o.preload_method === 'none') {\n clearInterval(inter_videoReadyState);\n init_readyVideo({\n 'called_from': 'check_videoReadyState'\n });\n return false;\n }\n }\n\n\n // --- WORKAROUND __ for some reason ios default browser would not go over video ready state 1\n\n if (o.type === 'dash') {\n\n clearInterval(inter_videoReadyState)\n init_readyVideo({\n 'called_from': 'check_videoReadyState'\n });\n }\n\n\n}\n\n\nexport function dzsvg_check_multisharer() {\n\n\n\n}\n\n\nexport function is_mobile() {\n\n return is_ios() || is_android();\n}\n\n\nexport function sanitize_to_youtube_id(arg = '') {\n var fourArr = null;\n\n if (arg) {\n arg = detect_video_type_and_source(arg).source;\n }\n return arg;\n}\n\n/**\n *\n * @param _c the video player element\n * @param attr attribute\n * @returns {null|jQuery|undefined|*}\n */\nexport function getDataOrAttr(_c, attr) {\n if (_c.data && typeof _c.data(attr) != 'undefined') {\n return _c.data(attr);\n }\n if (_c.attr && typeof _c.attr(attr) != 'undefined') {\n return _c.attr(attr);\n }\n\n return null;\n}\n\nexport function detect_videoTypeAndSourceForElement(_el) {\n\n if (_el.data('originalPlayerAttributes')) {\n return _el.data('originalPlayerAttributes');\n }\n\n var dataSrc = getDataOrAttr(_el, 'data-sourcevp');\n\n var forceType = getDataOrAttr(_el, 'data-type') ? getDataOrAttr(_el, 'data-type') : '';\n\n return detect_video_type_and_source(dataSrc, forceType)\n}\n\n/**\n * detect video type and source\n * @param {string} dataSrc\n * @param forceType we might want to force the type if we know it\n * @param cthis\n * @returns {{source: *, playFrom: null, type: string}}\n */\nexport function detect_video_type_and_source(dataSrc, forceType = null, cthis = null) {\n\n\n dataSrc = String(dataSrc);\n\n var playFrom = null;\n var type = 'selfHosted';\n var source = dataSrc;\n\n if (dataSrc.indexOf('youtube.com/watch?') > -1 || dataSrc.indexOf('youtube.com/embed') > -1 || dataSrc.indexOf('youtu.be/') > -1) {\n type = 'youtube';\n\n var aux = /http(?:s?):\\/\\/(?:www\\.)?youtu(?:be\\.com\\/watch\\?v=|\\.be\\/)([\\w\\-\\_]*)(&(amp;)?‌​[\\w\\?‌​=]*)?/g.exec(dataSrc);\n\n\n if (get_query_arg(dataSrc, 't')) {\n playFrom = get_query_arg(dataSrc, 't');\n }\n if (aux && aux[1]) {\n source = aux[1];\n } else {\n // -- let us try youtube embed\n source = dataSrc.replace(/http(?:s?):\\/\\/(?:www\\.)?youtu(?:be\\.com\\/watch\\?v=|\\.be\\/|be\\.com)\\/embed\\//g, '');\n }\n }\n\n\n if (dataSrc.indexOf(' -1) {\n type = 'inline';\n }\n // todo: php turn into content\n if (cthis && cthis.find('.feed-dzsvg--inline-content').length && cthis.find('.feed-dzsvg--inline-content').eq(0).html().indexOf(' -1) {\n type = 'inline';\n }\n if (dataSrc.indexOf('vimeo.com/') > -1) {\n type = 'vimeo';\n\n var aux = /(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^\\/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:[a-zA-Z0-9_\\-]+)?/g.exec(dataSrc);\n\n\n if (aux && aux[1]) {\n source = aux[1];\n }\n }\n\n if (dataSrc.indexOf('.mp4') > -1) {\n type = 'selfHosted';\n }\n if (dataSrc && dataSrc.indexOf('.mpd') > dataSrc.length - 5) {\n type = 'dash';\n }\n if (forceType && forceType !== 'detect') {\n type = forceType;\n }\n\n\n if (!playFrom) {\n\n if (cthis && cthis.attr('data-play_from')) {\n playFrom = cthis.attr('data-play_from');\n }\n }\n return {\n type,\n source,\n playFrom\n };\n}\n\nexport function sanitizeDataAdArrayStringToArray(aux) {\n\n var ad_array = null;\n try {\n // temp - try to remove slashes manually\n aux = aux.replace(/{\\\\\"/g, '{\"');\n aux = aux.replace(/\\\\\":/g, '\":');\n aux = aux.replace(/:\\\\\"/g, ':\"');\n aux = aux.replace(/\\\\\",/g, '\",');\n aux = aux.replace(/\\\\\"}/g, '\"}');\n aux = aux.replace(/,\\\\\"/g, ',\"');\n ad_array = JSON.parse(aux);\n } catch (err) {\n console.log('ad array parse error', aux);\n }\n\n return ad_array;\n\n\n}\n\nexport function is_autoplay_and_muted(autoplay, o) {\n\n return ((1) && autoplay === 'on' && o.autoplayWithVideoMuted === 'on' && o.user_action === 'noUserActionYet') || (o.defaultvolume === 0 && o.defaultvolume !== '');\n\n}\n\n\nexport function setup_videogalleryCategories(arg) {\n var ccat = jQuery(arg);\n var currCatNr = -1;\n\n ccat.find('.gallery-precon').each(function () {\n var _t = jQuery(this);\n\n _t.css({'display': 'none'});\n ccat.find('.the-categories-con').append('' + _t.attr('data-category') + '')\n });\n\n ccat.find('.the-categories-con').find('.a-category').eq(0).addClass('active');\n ccat.find('.the-categories-con').find('.a-category').bind('click', click_category);\n\n function click_category() {\n var _t = jQuery(this);\n var ind = _t.parent().children('.a-category').index(_t);\n\n\n gotoCategory(ind);\n setTimeout(function () {\n jQuery(window).trigger('resize');\n }, 100);\n }\n\n\n var i2 = 0;\n\n ccat.find('.gallery-precon').each(function () {\n var _t = jQuery(this);\n\n\n _t.find('.pagination-number').each(function () {\n var _t2 = jQuery(this);\n\n\n var auxurl = _t2.attr('href');\n\n\n auxurl = add_query_arg(auxurl, ccat.attr('id') + '_cat', NaN);\n\n\n auxurl = add_query_arg(auxurl, ccat.attr('id') + '_cat', i2);\n\n _t2.attr('href', auxurl);\n })\n\n i2++;\n })\n\n var tempCat = 0;\n\n\n if (get_query_arg(window.location.href, ccat.attr('id') + '_cat')) {\n tempCat = Number(get_query_arg(window.location.href, ccat.attr('id') + '_cat'));\n }\n\n\n ccat.get(0).api_goto_category = gotoCategory;\n\n gotoCategory(tempCat, {\n 'called_from': 'init'\n });\n\n function gotoCategory(arg, pargs) {\n\n\n var margs = {\n 'called_from': 'default'\n };\n\n\n if (pargs) {\n margs = jQuery.extend(margs, pargs);\n }\n\n\n if (currCatNr > -1 && ccat.find('.gallery-precon').eq(currCatNr).find('.videogallery').eq(0).get(0) != undefined && ccat.find('.gallery-precon').eq(currCatNr).find('.videogallery').eq(0).get(0).external_handle_stopCurrVideo != undefined) {\n\n\n var ind = 0;\n ccat.find('.gallery-precon').each(function () {\n\n\n if (ind != arg) {\n\n jQuery(this).find('.videogallery').eq(0).get(0).external_handle_stopCurrVideo();\n }\n ind++;\n })\n\n\n }\n ccat.find('.gallery-precon').removeClass('curr-gallery');\n ccat.find('.the-categories-con').find('.a-category').removeClass('active');\n ccat.find('.the-categories-con').find('.a-category').eq(arg).addClass('active');\n ccat.find('.gallery-precon').addClass('disabled');\n ccat.find('.gallery-precon').eq(arg).css('display', '').removeClass('disabled');\n\n var _cach = ccat.find('.gallery-precon').eq(arg);\n var _cachg = _cach.find('.videogallery').eq(0);\n\n\n if (_cachg.get(0) && _cachg.get(0).init_settings) {\n\n\n if (_cachg.get(0).init_settings.autoplay == 'on') {\n setTimeout(function () {\n\n _cachg.get(0).api_play_currVideo();\n }, 10);\n\n if (margs.called_from == 'deeplink' || margs.called_from == 'init') {\n\n setTimeout(function () {\n\n\n }, 1000);\n setTimeout(function () {\n\n _cachg.get(0).api_play_currVideo();\n }, 1500);\n }\n }\n }\n\n setTimeout(function () {\n ccat.children('.dzsas-second-con').hide();\n ccat.children('.dzsas-second-con').eq(arg).show();\n\n\n ccat.find('.gallery-precon').eq(arg).addClass('curr-gallery');\n\n\n currCatNr = arg;\n\n\n if (typeof ccat.find('.gallery-precon').eq(arg).find('.videogallery').eq(0).get(0) != 'undefined' && typeof ccat.find('.gallery-precon').eq(arg).find('.videogallery').eq(0).get(0).api_handleResize != 'undefined') {\n ccat.find('.gallery-precon').eq(arg).find('.videogallery').eq(0).get(0).api_handleResize();\n ccat.find('.gallery-precon').eq(arg).find('.videogallery').eq(0).get(0).api_handleResize_currVideo();\n }\n setTimeout(function () {\n\n jQuery(window).trigger('resize');\n }, 1500);\n\n\n }, 50);\n\n\n }\n\n}\n\nexport function youtube_sanitize_url_to_id(arg) {\n\n\n if (arg) {\n\n if (String(arg).indexOf('youtube.com/embed') > -1) {\n var auxa = String(dataSrc).split('youtube.com/embed/');\n\n\n if (auxa[1]) {\n\n return auxa[1];\n }\n }\n\n if (arg.indexOf('youtube.com') > -1 || arg.indexOf('youtu.be') > -1) {\n\n\n if (get_query_arg(arg, 'v')) {\n return get_query_arg(arg, 'v');\n }\n\n if (arg.indexOf('youtu.be') > -1) {\n var arr = arg.split('/');\n\n arg = arr[arr.length - 1];\n }\n }\n }\n\n\n return arg;\n}\n\n\nexport function registerAuxjQueryExtends($) {\n\n\n $.fn.appendOnce = function (arg, argfind) {\n var _t = $(this) // It's your element\n\n\n if (typeof (argfind) == 'undefined') {\n var regex = new RegExp('class=\"(.*?)\"');\n var auxarr = regex.exec(arg);\n\n\n if (typeof auxarr[1] != 'undefined') {\n argfind = '.' + auxarr[1];\n }\n }\n\n if (_t.children(argfind).length < 1) {\n _t.append(arg);\n return true;\n }\n return false;\n };\n\n\n var d = new Date();\n window.dzsvg_time_started = d.getTime();\n\n\n var inter_check_treat = 0;\n\n clearTimeout(inter_check_treat);\n inter_check_treat = setTimeout(workaround_treatuntretreadItems, 2000);\n\n function workaround_treatuntretreadItems() {\n jQuery('.js-api-player:not(.treated)').each(function () {\n var _t = jQuery(this);\n var $ytApiPlayer_ = _t.get(0);\n\n\n var playerId = _t.attr('id');\n\n var aux = playerId.substr(8);\n var aux2 = _t.attr('data-suggestedquality');\n\n\n if (typeof $ytApiPlayer_.loadVideoById != 'undefined') {\n $ytApiPlayer_.loadVideoById(aux, 0, aux2);\n $ytApiPlayer_.pauseVideo();\n } else {\n\n inter_check_treat = setTimeout(workaround_treatuntretreadItems, 2000);\n }\n\n\n })\n\n }\n\n // -- we save the other youtube player ready functions ( maybe conflict with other players )\n if (window.onYouTubePlayerReady && typeof window.onYouTubePlayerReady == 'function' && typeof backup_onYouTubePlayerReady == 'undefined') {\n window.dzsvg_backup_onYouTubePlayerReady = window.onYouTubePlayerReady;\n }\n}\n\nexport function dzsvgExtraWindowFunctions() {\n\n\n window.dzsvg_wp_send_view = function (argcthis, argtitle) {\n var data = {\n video_title: argtitle\n , video_analytics_id: argcthis.attr('data-player-id')\n };\n\n if (window.dzsvg_curr_user) {\n data.dzsvg_curr_user = window.dzsvg_curr_user;\n }\n\n var theajaxurl = 'index.php?action=ajax_dzsvg_submit_view';\n\n if (window.dzsvg_site_url) {\n theajaxurl = dzsvg_settings.dzsvg_site_url + theajaxurl;\n }\n\n\n jQuery.ajax({\n type: \"POST\",\n url: theajaxurl,\n data: data,\n success: function (response) {\n\n\n },\n error: function (arg) {\n }\n });\n\n\n }\n\n\n window.dzsvg_wp_send_contor_60_secs = function (argcthis, argtitle) {\n\n var data = {\n video_title: argtitle\n\n , video_analytics_id: argcthis.attr('data-player-id')\n , dzsvg_curr_user: window.dzsvg_curr_user\n };\n var theajaxurl = 'index.php?action=ajax_dzsvg_submit_contor_60_secs';\n\n if (window.dzsvg_site_url) {\n\n theajaxurl = dzsvg_settings.dzsvg_site_url + theajaxurl;\n }\n\n\n jQuery.ajax({\n type: \"POST\",\n url: theajaxurl,\n data: data,\n success: function (response) {\n\n },\n error: function (arg) {\n ;\n }\n });\n }\n\n\n window.dzsvg_open_social_link = function (arg) {\n var leftPosition, topPosition;\n var w = 500, h = 500;\n\n\n arg = arg.replace(/{{replacewithcurrurl}}/g, encodeURIComponent(window.location.href));\n leftPosition = (window.screen.width / 2) - ((w / 2) + 10);\n topPosition = (window.screen.height / 2) - ((h / 2) + 50);\n var windowFeatures = \"status=no,height=\" + h + \",width=\" + w + \",resizable=yes,left=\" + leftPosition + \",top=\" + topPosition + \",screenX=\" + leftPosition + \",screenY=\" + topPosition + \",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no\";\n window.open(arg, \"sharer\", windowFeatures);\n }\n\n\n window.dzsvp_yt_iframe_ready = function () {\n _global_youtubeIframeAPIReady = true;\n }\n\n window.onYouTubeIframeAPIReady = function () {\n window.dzsvg_yt_ready = true;\n window.dzsvp_yt_iframe_ready();\n }\n\n\n}\n\n\nexport function extractOptionsFromPlayer($c) {\n\n\n if ($c.data('originalPlayerAttributes')) {\n return $c.data('originalPlayerAttributes');\n }\n var finalOptions = {};\n\n\n if (getDataOrAttr($c, 'data-sourcevp')) {\n finalOptions.source = getDataOrAttr($c, 'data-sourcevp');\n }\n if ($c.attr('data-type')) {\n finalOptions.type = $c.attr('data-type');\n }\n\n return finalOptions;\n}\n\n\nexport function convertPluginOptionsToFinalOptions(elThis, defaultOptions, argOptions = null, searchedAttr = 'data-options', searchedDivClass = 'feed-options') {\n\n var finalOptions = null;\n var tempOptions = {};\n var sw_setFromJson = false;\n var _elThis = jQuery(elThis);\n\n if (argOptions && typeof argOptions == 'object') {\n tempOptions = argOptions;\n } else {\n\n if (_elThis.attr(searchedAttr)) {\n try {\n tempOptions = JSON.parse(_elThis.attr(searchedAttr));\n sw_setFromJson = true;\n } catch (err) {\n console.log('json parse error searched attr err - ', err, _elThis.attr(searchedAttr));\n }\n } else {\n\n if (_elThis.find('.feed-options').length) {\n try {\n tempOptions = JSON.parse(_elThis.find('.feed-options').html());\n sw_setFromJson = true;\n } catch (err) {\n console.log('json parse error feed-options err - ', err, _elThis.find('.feed-options').html());\n }\n }\n }\n if (!sw_setFromJson) {\n\n // -- *deprecated\n if (typeof argOptions == 'undefined' || !argOptions) {\n if (typeof _elThis.attr(searchedAttr) != 'undefined' && _elThis.attr(searchedAttr) !== '') {\n var aux = _elThis.attr(searchedAttr);\n aux = 'var aux_opts = ' + aux;\n eval(aux);\n tempOptions = Object.assign({}, aux_opts);\n }\n }\n }\n }\n\n finalOptions = Object.assign(defaultOptions, tempOptions);\n\n return finalOptions;\n}\n\nexport function player_setupQualitySelector(selfClass, yt_qualCurr, yt_qualArray) {\n var _qualitySelector = selfClass.cthis.find('.quality-selector');\n if (_qualitySelector.find('.dzsvg-tooltip').length) {\n\n var aux = _qualitySelector.find('.dzsvg-tooltip').html();\n var aux_opts = '';\n\n for (var i2 in yt_qualArray) {\n aux_opts += '
' + yt_qualArray[i2] + '
';\n }\n aux = aux.replace('{{quality-options}}', aux_opts);\n _qualitySelector.find('.dzsvg-tooltip').html(aux);\n }\n\n}\n\nexport function playerHandleDeprecatedAttrSrc(cthis) {\n\n\n if (!cthis.attr('data-sourcevp')) {\n if (cthis.attr('data-source')) {\n cthis.attr('data-sourcevp', cthis.attr('data-source'));\n } else {\n\n if (cthis.attr('data-src')) {\n cthis.attr('data-sourcevp', cthis.attr('data-src'));\n\n }\n }\n }\n}\n\nexport function player_assert_autoplay(selfClass) {\n\n\n // -- autoplay assert\n\n var o = selfClass.initOptions;\n\n\n if (is_mobile()) {\n\n }\n\n\n}\n\nexport function configureAudioPlayerOptionsInitial(cthis, o, selfClass) {\n\n\n if (o.gallery_object != null) {\n if (typeof (o.gallery_object.get(0)) != 'undefined') {\n selfClass.$parentGallery = o.gallery_object;\n\n\n setTimeout(function () {\n if (selfClass.$parentGallery.get(0).api_video_ready) {\n selfClass.$parentGallery.get(0).api_video_ready();\n }\n }, ConstantsDzsvg.DELAY_MINUSCULE);\n }\n }\n\n\n if (is_mobile() || (o.first_video_from_gallery === 'on' && (is_safari()))) {\n if (is_mobile()) {\n cthis.addClass('is-mobile');\n }\n if (cthis.attr('data-img')) {\n } else {\n cthis.removeClass('hide-on-paused');\n }\n }\n\n\n if (o.playfrom === 'default') {\n if (typeof selfClass.cthis.attr('data-playfrom') != 'undefined' && selfClass.cthis.attr('data-playfrom') != '') {\n o.playfrom = selfClass.cthis.attr('data-playfrom');\n }\n }\n if (isNaN(Number(o.playfrom)) == false) {\n o.playfrom = Number(o.playfrom);\n }\n if (isNaN(Number(o.sliderAreaHeight)) == false) {\n o.sliderAreaHeight = Number(o.sliderAreaHeight);\n }\n\n\n cthis.data('embed_code', o.embed_code);\n\n\n selfClass.videoWidth = cthis.width();\n selfClass.videoHeight = cthis.height();\n\n\n if (o.autoplay === 'on') {\n selfClass.autoplayVideo = 'on';\n }\n\n if (!selfClass.dataSrc) {\n console.log('[dzsvg] missing source', selfClass.cthis);\n }\n\n var mainClass = '';\n if (typeof (cthis.attr('class')) == 'string') {\n mainClass = cthis.attr('class');\n } else {\n mainClass = cthis.get(0).className;\n }\n\n if (mainClass.indexOf('skin_') == -1) {\n cthis.addClass(o.design_skin);\n mainClass += ' ' + o.design_skin;\n }\n\n\n cthis.addClass(o.extra_classes);\n\n //-setting skin specific vars\n if (mainClass.indexOf('skin_aurora') > -1) {\n o.design_skin = 'skin_aurora';\n selfClass.bufferedWidthOffset = -2;\n selfClass.volumeWidthOffset = -2;\n if (o.design_enableProgScrubBox == 'default') {\n o.design_enableProgScrubBox = 'on';\n }\n }\n if (mainClass.indexOf('skin_pro') > -1) {\n o.design_skin = 'skin_pro';\n\n selfClass.volumeWidthOffset = -2;\n if (o.design_enableProgScrubBox == 'default') {\n o.design_enableProgScrubBox = 'off';\n }\n }\n if (mainClass.indexOf('skin_bigplay') > -1) {\n o.design_skin = 'skin_bigplay';\n }\n if (mainClass.indexOf('skin_nocontrols') > -1) {\n o.design_skin = 'skin_nocontrols';\n }\n if (mainClass.indexOf('skin_bigplay_pro') > -1) {\n o.design_skin = 'skin_bigplay_pro';\n }\n if (mainClass.indexOf('skin_bluescrubtop') > -1) {\n o.design_skin = 'skin_bluescrubtop';\n\n }\n if (mainClass.indexOf('skin_avanti') > -1) {\n o.design_skin = 'skin_avanti';\n\n }\n if (mainClass.indexOf('skin_noskin') > -1) {\n o.design_skin = 'skin_noskin';\n }\n\n\n if (cthis.hasClass('skin_white')) {\n o.design_skin = 'skin_white';\n }\n if (cthis.hasClass('skin_reborn')) {\n o.design_skin = 'skin_reborn';\n }\n\n\n if (o.design_enableProgScrubBox == 'default') {\n o.design_enableProgScrubBox = 'off';\n }\n\n\n if (is_mobile() || is_ios()) {\n cthis.addClass('disable-volume');\n\n\n }\n\n\n if (o.gallery_object) {\n if (o.gallery_object.get(0)) {\n cthis.get(0).gallery_object = o.gallery_object.get(0);\n }\n }\n\n\n if (o.extra_controls) {\n cthis.append(o.extra_controls);\n }\n\n\n if (o.responsive_ratio === 'default' || (selfClass.dataType === 'youtube' && o.responsive_ratio === 'detect')) {\n\n if (cthis.attr('data-responsive_ratio')) {\n o.responsive_ratio = cthis.attr('data-responsive_ratio');\n }\n }\n\n if (o.gallery_object !== null) {\n selfClass.isPartOfAnGallery = true;\n }\n if (selfClass.isPartOfAnGallery) {\n selfClass.isGalleryHasOneVideoPlayerMode = o.gallery_object.data('vg_settings') && o.gallery_object.data('vg_settings').mode_normal_video_mode === 'one';\n }\n\n\n // -- we cache this for the one\n if (selfClass.isGalleryHasOneVideoPlayerMode) {\n if (o.gallery_target_index === 0 && !(selfClass.cthis.data('originalPlayerAttributes'))) {\n selfClass.cthis.data('originalPlayerAttributes', detect_videoTypeAndSourceForElement(selfClass.cthis));\n }\n }\n\n if (o.action_video_view === 'wpdefault') {\n o.action_video_view = window.dzsvg_wp_send_view;\n }\n if (o.action_video_contor_60secs === 'wpdefault') {\n o.action_video_contor_60secs = window.dzsvg_wp_send_contor_60_secs;\n }\n\n reinitPlayerOptions(selfClass, o);\n}\n\n\nexport function reinitPlayerOptions(selfClass, o) {\n // -- we need selfClass.dataType and selfClass.dataSrc beforeHand\n\n\n selfClass.hasCustomSkin = true;\n // -- assess custom skin\n if (selfClass.dataType === 'vimeo' && o.vimeo_is_chromeless !== 'on') {\n selfClass.hasCustomSkin = false;\n }\n if (selfClass.dataType === 'youtube' && o.settings_youtube_usecustomskin !== 'on') {\n selfClass.hasCustomSkin = false;\n }\n if (is_ios() && o.settings_ios_usecustomskin !== 'on') {\n selfClass.hasCustomSkin = false;\n }\n if (selfClass.dataType === 'inline') {\n\n selfClass.hasCustomSkin = false;\n }\n\n\n if (selfClass.cthis.attr('data-ad-array')) {\n selfClass.ad_array = sanitizeDataAdArrayStringToArray(selfClass.cthis.attr('data-ad-array'));\n }\n ads_decode_ads_array(selfClass);\n\n\n player_assert_autoplay(selfClass);\n\n if (o.is_ad === 'on') {\n selfClass.isAd = true;\n }\n\n player_checkIfItShouldStartMuted(selfClass, o);\n\n if (selfClass.isAd && o.ad_link) {\n selfClass.ad_link = o.ad_link;\n }\n\n\n // -- assess custom skin END\n}\n\nfunction player_checkIfItShouldStartMuted(selfClass, o) {\n\n const isPlayerOrGalleryHadFirstInteraction = () => {\n if (selfClass.isHadFirstInteraction) return true;\n if (!is_mobile() && selfClass.$parentGallery && selfClass.$parentGallery.hasClass('user-had-first-interaction')) {\n return true;\n }\n return false;\n };\n\n // -- should start muted\n if (selfClass.cthis.hasClass('start-muted')) {\n selfClass.initOptions.autoplayWithVideoMuted = 'always'; // -- warning: override\n }\n\n // -- detect\n if (selfClass.initOptions.autoplay === 'off') {\n selfClass.shouldStartMuted = false;\n\n }\n if (selfClass.initOptions.autoplay === 'on') {\n\n\n if (isPlayerOrGalleryHadFirstInteraction()) {\n selfClass.shouldStartMuted = false;\n } else {\n if (is_mobile()) {\n // -- mobile\n selfClass.shouldStartMuted = selfClass.initOptions.autoplay === 'on' && selfClass.initOptions.autoplayWithVideoMuted === 'auto';\n } else {\n // -- desktop\n if (o.autoplayWithVideoMuted === 'auto') {\n selfClass.shouldStartMuted = true;\n }\n }\n\n }\n }\n // -- should start muted\n\n if (o.autoplayWithVideoMuted === 'always') {\n selfClass.shouldStartMuted = true;\n }\n\n}\n\nexport function tagsSetupDom(_tagElement) {\n var auxhtml = _tagElement.html();\n var w = 100;\n var h = 100;\n var acomlink = '';\n if (_tagElement.attr('data-width') != undefined) {\n w = _tagElement.attr('data-width');\n }\n if (_tagElement.attr('data-height') != undefined) {\n h = _tagElement.attr('data-height');\n }\n if (_tagElement.attr('data-link') != undefined) {\n acomlink = '';\n }\n\n _tagElement.html('');\n _tagElement.css({'left': (_tagElement.attr('data-left') + 'px'), 'top': (_tagElement.attr('data-top') + 'px')});\n\n _tagElement.append('
' + acomlink + '
');\n _tagElement.append('' + auxhtml + '');\n _tagElement.removeClass('dzstag-tobe').addClass('dzstag');\n\n}\n\nexport function pauseDzsapPlayers() {\n if (window.dzsap_list) {\n for (var i = 0; i < dzsap_list.length; i++) {\n\n\n if (typeof dzsap_list[i].get(0) != \"undefined\" && typeof dzsap_list[i].get(0).api_pause_media != \"undefined\" && dzsap_list[i].get(0) != cthis.get(0)) {\n\n\n if (dzsap_list[i].data('type_audio_stop_buffer_on_unfocus') && dzsap_list[i].data('type_audio_stop_buffer_on_unfocus') == 'on') {\n dzsap_list[i].get(0).api_destroy_for_rebuffer();\n } else {\n\n dzsap_list[i].get(0).api_pause_media({\n 'audioapi_setlasttime': false\n });\n }\n window.dzsap_player_interrupted_by_dzsvg = dzsap_list[i].get(0);\n }\n }\n\n }\n\n}\n\nexport function init_navigationOuter() {\n jQuery('.videogallery--navigation-outer').each(function () {\n var _t = jQuery(this);\n\n\n var xpos = 0;\n _t.find('.videogallery--navigation-outer--bigblock').each(function () {\n var _t = jQuery(this);\n _t.css('left', xpos + '%');\n xpos += 100;\n })\n\n\n // -- we will use first gallery if id is auto\n if (_t.attr('data-vgtarget') === '.id_auto') {\n\n\n var _cach = jQuery('.videogallery,.videogallery-tobe').eq(0);\n\n var cclass = /id_(.*?) /.exec(_cach.attr('class'));\n\n if (cclass && cclass[1]) {\n _t.attr('data-vgtarget', '.id_' + cclass[1]);\n }\n\n if (_cach.get(0) && _cach.get(0).api_set_outerNav) {\n _cach.get(0).api_set_outerNav(_t);\n }\n setTimeout(function () {\n if (_cach.get(0) && _cach.get(0).api_set_outerNav) {\n _cach.get(0).api_set_outerNav(_t);\n }\n }, 1000)\n }\n var $targetVideoGallery = jQuery(_t.attr('data-vgtarget')).eq(0);\n\n\n var _clip = _t.find('.videogallery--navigation-outer--clip').eq(0);\n var _clipmover = _t.find('.videogallery--navigation-outer--clipmover').eq(0);\n\n var currPage = 0;\n var _block_active = _t.find('.videogallery--navigation-outer--bigblock.active').eq(0);\n\n var _navOuterBullets = _t.find('.navigation-outer--bullet');\n var _navOuterBlocks = _t.find('.videogallery--navigation-outer--block');\n\n setTimeout(function () {\n _t.addClass('active');\n _block_active = _t.find('.videogallery--navigation-outer--bigblock.active').eq(0);\n _clip.height(_block_active.height());\n }, 500)\n\n _navOuterBlocks.bind('click', function (e) {\n const $outerBlock = jQuery(this);\n const ind = _navOuterBlocks.index($outerBlock);\n\n\n if ($targetVideoGallery.get(0) && $targetVideoGallery.get(0).api_gotoItem) {\n\n\n if ($targetVideoGallery.get(0).SelfPlaylist) {\n const SelfPlaylist = $targetVideoGallery.get(0).SelfPlaylist;\n SelfPlaylist.handleHadFirstInteraction(e);\n }\n\n if ($targetVideoGallery.get(0).api_gotoItem(ind)) {\n }\n\n const scrollY = $targetVideoGallery.offset().top - PLAYLIST_SCROLL_TOP_OFFSET;\n window.scrollTo({\n top: scrollY,\n left: 0,\n behavior: 'smooth'\n });\n\n }\n });\n\n _navOuterBullets.bind('click', function () {\n var _t2 = jQuery(this);\n var ind = _navOuterBullets.index(_t2);\n\n gotoPage(ind);\n\n })\n\n function gotoPage(arg) {\n var auxl = -(Number(arg) * 100) + '%';\n\n _navOuterBullets.removeClass('active');\n _navOuterBullets.eq(arg).addClass('active');\n\n _t.find('.videogallery--navigation-outer--bigblock.active').removeClass('active');\n _t.find('.videogallery--navigation-outer--bigblock').eq(arg).addClass('active');\n\n\n _clip.height(_t.find('.videogallery--navigation-outer--bigblock').eq(arg).height());\n\n _clipmover.css('left', auxl);\n\n }\n\n\n })\n}\n\nexport function vimeo_do_command(selfClass, vimeo_data, vimeo_url) {\n\n if (vimeo_url) {\n\n if (selfClass._videoElement && selfClass._videoElement.contentWindow && vimeo_url) {\n\n selfClass._videoElement.contentWindow.postMessage(JSON.stringify(vimeo_data), vimeo_url);\n }\n }\n}\n\n\n\n\n","export const ConstantsDzsvg = {\n THREEJS_LIB_URL: 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r73/three.min.js',\n THREEJS_LIB_ORBIT_URL: 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/211120/orbitControls.js',\n YOUTUBE_IFRAME_API: 'https://www.youtube.com/iframe_api',\n VIMEO_IFRAME_API: 'https://player.vimeo.com/api/player.js',\n DEBUG_STYLING: 'background-color: #4422aa;',\n DEBUG_STYLING_2: 'color: #ffdada; background-color: #da3333;',\n ANIMATIONS_DURATION: 303,\n DELAY_MINUSCULE: 3,\n}\n\nexport const VIEW_LAYOUT_BUILDER_FEED_CLASS = 'feed-layout-builder--menu-items';\n\nexport const DEFAULT_MENU_ITEM_STRUCTURE = `
\n
\n
\n
\n
\n
\n
\n
{{layout-builder.replace-title}}
\n
{{layout-builder.replace-menu-description}}
\n
\n
`;\nexport const PLAYER_DEFAULT_RESPONSIVE_RATIO = 0.5625;\nexport const PLAYER_DEFAULT_TIMEOUT = 304;\nexport const PLAYLIST_HEIGHT_IS_WINDOW_MAX_OFFSET = 310;\nexport const PLAYLIST_DEFAULT_TIMEOUT = 305;\nexport const PLAYLIST_SCROLL_TOP_OFFSET = 120;\nexport const PLAYLIST_VIEW_FULLSCREEN_CLASS = 'is_fullscreen';","/**\n * formats the time\n * @param {number} arg\n * @returns {string}\n */\nexport function formatTime(arg) {\n\n var s = Math.round(arg);\n var m = 0;\n if (s > 0) {\n while (s > 59) {\n m++;\n s -= 60;\n }\n return String((m < 10 ? \"0\" : \"\") + m + \":\" + (s < 10 ? \"0\" : \"\") + s);\n } else {\n return \"00:00\";\n }\n}\n\n/**\n *\n * @param {string} stringUri\n * @param {string} key\n * @returns {string}\n */\nexport function get_query_arg(stringUri, key) {\n if (stringUri.indexOf(key + '=') > -1) {\n\n var regexS = \"[?&]\" + key + \"=.+\";\n var regex = new RegExp(regexS);\n var regtest = regex.exec(stringUri);\n\n\n if (regtest != null) {\n var splitterS = regtest[0];\n if (splitterS.indexOf('&') > -1) {\n var aux = splitterS.split('&');\n splitterS = aux[1];\n }\n\n var splitter = splitterS.split('=');\n\n\n return splitter[1];\n\n }\n\n }\n}\n\n/**\n *\n * @param {string|number} arg\n * @returns {string|*}\n */\nexport function sanitizeToCssPx(arg) {\n\n if (String(arg).indexOf('%') > -1 || String(arg).indexOf('em') > -1 || String(arg).indexOf('px') > -1 || String(arg).indexOf('auto') > -1) {\n return arg;\n }\n return arg + 'px';\n}\n\n\nexport function format_to_seconds(arg) {\n\n var argsplit = String(arg).split(':');\n argsplit.reverse();\n var secs = 0;\n\n if (argsplit[0]) {\n argsplit[0] = String(argsplit[0]).replace(',', '.');\n secs += Number(argsplit[0]);\n }\n if (argsplit[1]) {\n secs += Number(argsplit[1]) * 60;\n }\n if (argsplit[2]) {\n secs += Number(argsplit[2]) * 60;\n }\n\n\n return secs;\n}\n\n/**\n *\n * @param {string} scriptSrc if no script src - it will just look for var\n * @param {string} checkForVar must be on window property\n * @returns {Promise}\n */\nexport const loadScriptIfItDoesNotExist = (scriptSrc, checkForVar) => {\n const CHECK_INTERVAL = 50;\n const TIMEOUT_MAX = 5000;\n let checkInterval = 0;\n const loadScript = (scriptSrc, resolve, reject) => {\n var script = document.createElement('script');\n script.onload = function () {\n resolve('loadfromload');\n };\n script.onerror = function () {\n reject();\n };\n script.src = scriptSrc;\n document.head.appendChild(script);\n }\n\n return new Promise((resolve, reject) => {\n let isAlreadyLoaded = false;\n let isGoingToLoadScript = false;\n\n function checkIfVarExists() {\n if (window[checkForVar]) {\n clearInterval(checkInterval);\n resolve('loadfromvar');\n return true;\n }\n return false;\n }\n\n isAlreadyLoaded = checkIfVarExists();\n if (!isAlreadyLoaded) {\n isGoingToLoadScript = true;\n\n checkInterval = setInterval(checkIfVarExists, CHECK_INTERVAL);\n\n setTimeout(() => {\n clearInterval(checkInterval);\n reject('timeout');\n }, TIMEOUT_MAX);\n }\n if (!checkForVar) {\n isGoingToLoadScript = true;\n }\n if (!scriptSrc) {\n isGoingToLoadScript = false;\n }\n\n if (isGoingToLoadScript) {\n clearInterval(checkInterval);\n loadScript(scriptSrc, resolve, reject);\n }\n\n })\n}\n\n\nexport function stringUtilGetSkinFromClass(cclass){\n var arr = /(skin.*?)( |$)/.exec(cclass);\n\n if(arr && arr[1]){\n return arr[1];\n }\n\n return '';\n}","export const svg_quality_icon = ' ';\n\n\nexport const svg_default_volume_static = ' ';\nexport const svg_volume_icon = ' ';\nexport const svg_aurora_play_btn = ' ';\nexport const svg_embed = '';\nexport const svg_mute_btn = ' ';\nexport const svg_mute_icon = ' ';\nexport const svg_play_simple_skin_bigplay_pro = ' ';\nexport const svg_pause_simple_skin_aurora = ' ';\nexport const svg_volume_active_skin_default = ' ';\nexport const svg_full_icon = ' ';\n\n\nexport const svgReplayIcon = ' ';\n\nexport const svgBackButton = '';\nexport const svgForwardButton = '';\n\nexport const svgForSkin_boxyRounded = ' ';\nexport const svgForSkin_boxyRounded2 = ' ';\nexport const svgSearchIcon = ' ';\nexport const svgShareIcon = ' ';","import {\n can_history_api,\n add_query_arg,\n getDataOrAttr,\n is_mobile,\n is_touch_device\n} from \"../_dzsvg_helpers\";\n\nimport {get_query_arg} from '../../js_common/_dzs_helpers';\n\nimport {\n DEFAULT_MENU_ITEM_STRUCTURE,\n PLAYER_DEFAULT_RESPONSIVE_RATIO,\n VIEW_LAYOUT_BUILDER_FEED_CLASS\n} from '../../configs/Constants';\nimport {stringUtilGetSkinFromClass} from \"../../js_common/_dzs_helpers\";\nimport {dzsvg_mode_wall_init} from \"../../js_playlist/mode/_mode-wall\";\n\n\nexport function playlistGotoItemHistoryChangeForNonLinks(margs, o, cid, arg, deeplinkGotoItemQueryParam = 'the-video') {\n\n var $ = jQuery;\n\n var deeplink_str = String(deeplinkGotoItemQueryParam).replace('{{galleryid}}', cid);\n if (!margs.ignore_linking && margs.called_from !== 'init') {\n var stateObj = {foo: \"bar\"};\n\n if ($('.videogallery').length === 1) {\n history.pushState(stateObj, null, add_query_arg(window.location.href, deeplink_str, (Number(arg) + 1)));\n } else {\n history.pushState(stateObj, null, add_query_arg(window.location.href, deeplink_str + '-' + cid, (Number(arg) + 1)));\n }\n }\n}\n\n/**\n * sanitize all options\n * @param selfClass\n * @param o\n */\nexport function playlist_initSetupInitial(selfClass, o) {\n\n\n if (!o.autoplayFirstVideo) {\n\n o.autoplayFirstVideo = o.autoplay;\n }\n\n if (o.nav_type === 'outer') {\n if (o.forceVideoHeight === '') {\n o.forceVideoHeight = '300';\n }\n }\n\n if (o.settings_mode === 'slider') {\n o.menu_position = 'none';\n o.nav_type = 'none';\n }\n if (o.settings_mode === 'wall') {\n\n o.nav_type = 'thumbs';\n }\n\n if (is_mobile() && o.autoplayNext === 'on') {\n if (o.mode_normal_video_mode !== 'one') {\n o.autoplayNext = 'off';\n }\n }\n\n selfClass.cgallery.data('vg_autoplayNext', o.autoplayNext);\n selfClass.cgallery.data('vg_settings', o);\n\n if (isNaN(parseInt(o.menuitem_width, 10)) === false && String(o.menuitem_width).indexOf('%') === -1) {\n o.menuitem_width = parseInt(o.menuitem_width, 10);\n } else {\n o.menuitem_width = '';\n }\n\n if (isNaN(Number(o.menuitem_height)) === false && o.menuitem_height > 0) {\n\n o.menuitem_height = Number(o.menuitem_height);\n } else {\n o.menuitem_height = '';\n }\n o.settings_go_to_next_after_inactivity = parseInt(o.settings_go_to_next_after_inactivity, 10);\n\n\n if (o.startItem !== 'default') {\n o.startItem = parseInt(o.startItem, 10);\n }\n\n\n o.settings_separation_pages_number = parseInt(o.settings_separation_pages_number, 10);\n o.settings_trigger_resize = parseInt(o.settings_trigger_resize, 10);\n\n\n selfClass.$feedItemsContainer = selfClass.cgallery;\n\n if (selfClass.cgallery.children('.items').length) {\n selfClass.$feedItemsContainer = selfClass.cgallery.children('.items');\n }\n\n\n const masonry_options_default = {\n columnWidth: 1\n , containerStyle: {position: 'relative'}\n , isFitWidth: false\n , isAnimated: true\n };\n\n\n o.masonry_options = Object.assign(masonry_options_default, o.masonry_options);\n\n\n if (!can_history_api()) {\n o.settings_enable_linking = 'off';\n }\n\n const $feedLayoutBuilderItems = selfClass.cgallery.children('.'+VIEW_LAYOUT_BUILDER_FEED_CLASS);\n if ($feedLayoutBuilderItems.length) {\n selfClass.navigation_customStructure = $feedLayoutBuilderItems.eq(0).html();\n } else {\n selfClass.navigation_customStructure = DEFAULT_MENU_ITEM_STRUCTURE;\n }\n\n\n if (!selfClass.navigation_customStructure) {\n if (!o.design_skin) {\n o.design_skin = 'skin-default';\n }\n }\n\n\n if (o.settings_mode === 'rotator3d') {\n\n o.menu_position = 'none';\n o.nav_type = 'none';\n o.transition_type = 'rotator3d';\n }\n\n\n if (typeof o.videoplayersettings == 'string' && window.dzsvg_vpconfigs) {\n if (typeof window.dzsvg_vpconfigs[o.videoplayersettings] === 'object') {\n o.videoplayersettings = {...window.dzsvg_vpconfigs[o.videoplayersettings]};\n }\n }\n\n\n if (o.videoplayersettings.design_skin === 'sameasgallery') {\n o.videoplayersettings.design_skin = o.design_skin;\n }\n\n if (selfClass.cgallery.find('.feed-dzsvg--embedcode').length) {\n o.embedCode = selfClass.cgallery.find('.feed-dzsvg--embedcode').eq(0).html();\n }\n\n if(selfClass.cgallery.hasClass('view--disable-video-area')){\n selfClass.viewOptions.enableVideoArea = false;\n }\n\n\n\n}\n\nexport function playlist_initialConfig(selfClass, o) {\n\n selfClass.galleryComputedId = selfClass.cgallery.attr('id');\n if (!selfClass.galleryComputedId) {\n var auxnr = 0;\n var temps = 'vgallery' + auxnr;\n\n while (jQuery('#' + temps).length > 0) {\n auxnr++;\n temps = 'vgallery' + auxnr;\n }\n\n selfClass.galleryComputedId = temps;\n selfClass.cgallery.attr('id', selfClass.galleryComputedId);\n }\n\n\n selfClass.deeplinkGotoItemQueryParam = (window.dzsvg_settings && (window.dzsvg_settings.deeplink_str)) ? String(window.dzsvg_settings.deeplink_str).replace('{{galleryid}}', selfClass.galleryComputedId) : 'the-video';\n\n\n if (is_touch_device()) {\n if (o.nav_type === 'scroller') {\n o.nav_type = 'thumbs';\n }\n }\n\n selfClass.cgallery.addClass('mode-' + o.settings_mode);\n selfClass.cgallery.addClass('nav-' + o.nav_type);\n\n var mainClass = '';\n\n if (typeof (selfClass.cgallery.attr('class')) == 'string') {\n mainClass = selfClass.cgallery.attr('class');\n } else {\n mainClass = selfClass.cgallery.get(0).className;\n }\n if (mainClass.indexOf('skin-') === -1) {\n selfClass.cgallery.addClass(o.design_skin);\n } else {\n o.design_skin = stringUtilGetSkinFromClass(mainClass);\n }\n\n if (o.nav_type === 'scroller') {\n if (o.menu_position === 'bottom' || o.menu_position === 'top') {\n if (o.menuitem_height === 'default' || o.menuitem_height === '') {\n o.menuitem_height = '100';\n }\n }\n }\n\n if (o.settings_mode === 'wall') {\n if (o.design_skin === 'skin-default') {\n o.design_skin = 'skin-wall';\n }\n dzsvg_mode_wall_init(selfClass);\n }\n\n}\n\n\nexport function playlist_inDzsTabsHandle(selfClass, margs) {\n // -- tabs\n var _con = selfClass.cgallery.parent().parent().parent();\n if (selfClass.initOptions.autoplayFirstVideo === 'on') {\n if (margs.called_from !== 'init_restart_in_tabs') {\n\n setTimeout(function () {\n\n margs.called_from = 'init_restart_in_tabs';\n selfClass.init(margs);\n }, 50);\n return false;\n }\n if (_con.hasClass('active') || _con.hasClass('will-be-start-item')) {\n\n } else {\n selfClass.initOptions.autoplayFirstVideo = 'off';\n }\n }\n\n}\n\n\n/**\n * return .previewImg\n * @param _t\n * @returns {null|jQuery|undefined|*}\n */\nexport function playlist_navigation_getPreviewImg(_t) {\n\n let stringPreviewImg = '';\n if (_t.attr('data-previewimg')) {\n stringPreviewImg = _t.attr('data-previewimg');\n } else if (_t.attr('data-audioimg')) {\n\n\n stringPreviewImg = _t.attr('data-audioimg');\n } else if (_t.attr('data-thumb')) {\n stringPreviewImg = _t.attr('data-thumb');\n }\n return stringPreviewImg;\n\n}\n\nexport function playlist_get_real_responsive_ratio(i, selfClass) {\n var $ = jQuery;\n var o = selfClass.initOptions;\n setTimeout(function (targetIndex) {\n var _cach = selfClass._sliderCon.children().eq(targetIndex);\n\n var src = _cach.data('dzsvg-curatedid-from-gallery');\n\n $.get(o.php_media_data_retriever + \"?action=dzsvg_action_get_responsive_ratio&type=\" + _cach.data('dzsvg-curatedtype-from-gallery') + \"&source=\" + src, function (data) {\n\n\n try {\n var json = JSON.parse(data);\n\n var rr = PLAYER_DEFAULT_RESPONSIVE_RATIO;\n\n if (json.height && json.width) {\n\n rr = json.height / json.width;\n }\n\n if (rr.toFixed(3) !== '0.563') {\n _cach.attr('data-responsive_ratio', rr.toFixed(3));\n }\n _cach.attr('data-responsive_ratio-not-known-for-sure', 'off');\n\n\n if (_cach.get(0) && _cach.get(0).api_get_responsive_ratio) {\n _cach.get(0).api_get_responsive_ratio({\n 'reset_responsive_ratio': true\n , 'called_from': 'php_media_data_retriever'\n })\n\n setTimeout(function () {\n selfClass.handleResize_currVideo();\n }, 100);\n }\n } catch (err) {\n console.info('json parse error - ', data);\n }\n\n\n });\n }, 100, i)\n}\n\n/**\n * set player data\n * @param _cachmenuitem\n */\nexport function playlist_navigation_mode_one__set_players_data(_cachmenuitem) {\n\n var attr_arr = ['data-loop', 'data-sourcevp', 'data-source', 'data-videotitle', 'data-type'];\n\n var maxlen = attr_arr.length;\n var ci = 0;\n for (var i5 in attr_arr) {\n var lab4 = attr_arr[i5];\n\n var val = '';\n\n\n val = getDataOrAttr(_cachmenuitem, lab4)\n if (val) {\n\n var lab_sanitized_for_data = lab4.replace('data-', 'vp_');\n _cachmenuitem.data(lab_sanitized_for_data, val);\n }\n\n if (ci > maxlen || ci > 10) {\n break;\n }\n\n ci++;\n }\n}\n\nexport function playlistGotoItemHistoryChangeForLinks(ind_ajaxPage, o, cgallery, _currentTargetPlayer) {\n\n\n var $ = jQuery;\n // --- history API ajax cool stuff\n if (o.settings_enableHistory === 'on' && can_history_api()) {\n var stateObj = {foo: \"bar\"};\n history.pushState(stateObj, \"Gallery Video\", getDataOrAttr(_currentTargetPlayer, 'data-sourcevp'));\n\n $.ajax({\n url: getDataOrAttr(_currentTargetPlayer, 'data-sourcevp'),\n success: function (response) {\n setTimeout(function () {\n $('.history-video-element').eq(0).html($(response).find('.history-video-element').eq(0).html());\n\n $('.toexecute').each(function () {\n var _t = $(this);\n if (!_t.hasClass('executed')) {\n eval(_t.text());\n _t.addClass('executed');\n }\n });\n\n\n if (o.settings_ajax_extraDivs !== '') {\n var extradivs = String(o.settings_ajax_extraDivs).split(',');\n for (let i = 0; i < extradivs.length; i++) {\n\n $(extradivs[i]).eq(0).html(jQuery(response).find(extradivs[i]).eq(0).html());\n }\n }\n\n }, 100);\n },\n error: function (xhr, ajaxOptions, thrownError) {\n console.error('not found ' + ajaxOptions);\n\n ind_ajaxPage++;\n cgallery.children('.preloader').removeClass('is-visible');\n\n }\n });\n\n }\n}\n\n\nexport function detect_startItemBasedOnQueryAddress(deeplinkGotoItemQueryParam = '', cid = '') {\n\n if (get_query_arg(window.location.href, deeplinkGotoItemQueryParam) && jQuery('.videogallery').length === 1) {\n return Number(get_query_arg(window.location.href, deeplinkGotoItemQueryParam)) - 1;\n }\n if (get_query_arg(window.location.href, deeplinkGotoItemQueryParam + '-' + cid)) {\n return Number(get_query_arg(window.location.href, deeplinkGotoItemQueryParam + '-' + cid)) - 1;\n\n }\n\n return null;\n}\n\n\nexport function navigation_detectClassesForPosition(menu_position, _mainNavigation, cgallery) {\n const classMenuMovement = (menu_position === 'right' || menu_position === 'left') ? 'menu-moves-vertically' : 'menu-moves-horizontally';\n const classesClearMenuLocations = 'menu-top menu-bottom menu-right menu-left';\n const classesNewMenuLocation = 'menu-' + menu_position + ' ' + classMenuMovement;\n\n _mainNavigation.removeClass(classesClearMenuLocations);\n _mainNavigation.addClass(classesNewMenuLocation);\n\n cgallery.removeClass(classesClearMenuLocations);\n cgallery.addClass(classesNewMenuLocation);\n}\n\nexport function navigation_initScroller(_navMain) {\n\n var $ = jQuery;\n if ($ && $.fn && $.fn.scroller) {\n _navMain.scroller({\n 'enable_easing': 'on'\n });\n }\n}\n\nexport function assertVideoFromGalleryAutoplayStatus(currNr, o, cgallery) {\n var shouldVideoAutoplay = false;\n if (currNr === -1) {\n if (o.autoplayFirstVideo === 'on') {\n if ((cgallery.parent().parent().parent().hasClass('categories-videogallery')) || !!(cgallery.parent().parent().parent().hasClass('categories-videogallery') && !cgallery.parent().parent().hasClass('gallery-precon')) || !!(cgallery.parent().parent().parent().hasClass('categories-videogallery') && cgallery.parent().parent().hasClass('gallery-precon') && cgallery.parent().parent().hasClass('curr-gallery'))) {\n shouldVideoAutoplay = false;\n } else {\n shouldVideoAutoplay = true;\n }\n }\n\n }\n //-- if it's not the first video\n if (currNr > -1) {\n if (o.autoplayNext === 'on') {\n shouldVideoAutoplay = true;\n // -- todo: sideeffect - maybe move\n o.videoplayersettings['cueVideo'] = 'on';\n }\n }\n\n\n return shouldVideoAutoplay;\n}","\nimport * as helpersDZSVG from '../js_dzsvg/_dzsvg_helpers';\n\n/**\n *\n * @param {string} initialVal\n */\nconst ads_sanitizeForSource = (initialVal) => {\n var fout = initialVal;\n fout = fout.replace(/{{doublequot_fordzsvgad}}/g, '\"');\n fout = fout.replace(/</g, '<');\n fout = fout.replace(/>/g, '>');\n\n return fout;\n}\n\nexport const ads_view_setupMarkersOnScrub = (selfClass) => {\n\n for (var i2 = 0; i2 < selfClass.ad_array.length; i2++) {\n selfClass.cthis.find('.scrubbar .scrub').eq(0).before('');\n }\n}\nexport const ads_decode_ads_array = (selfClass) => {\n\n\n // -- decode after parsing json\n for (var lab in selfClass.ad_array) {\n selfClass.ad_array[lab].source = ads_sanitizeForSource(selfClass.ad_array[lab].source)\n }\n\n}\n\nexport const player_setupAd = (selfClass, arg, pargs) => {\n\n\n var margs = {\n 'called_from': 'default'\n\n }\n\n if (pargs) {\n margs = Object.assign(margs, pargs);\n }\n\n var o = selfClass.initOptions;\n\n const {source,type,skip_delay,ad_link} = selfClass.ad_array[arg];\n\n var ad_time = selfClass.ad_array[arg].time;\n\n\n selfClass.ad_array.splice(arg, 1);\n\n selfClass.cthis.appendOnce('
');\n\n selfClass.$adContainer = selfClass.cthis.find('.ad-container').eq(0);\n\n\n var stringVplayerAdStructure = '
';\n }\n\n\n stringVplayerAdStructure += '
';\n selfClass.$adContainer.show();\n selfClass.$adContainer.append(stringVplayerAdStructure);\n\n\n var argsForVideoPlayerAd = {};\n\n\n argsForVideoPlayerAd.design_skin = o.design_skin;\n argsForVideoPlayerAd.cueVideo = 'on';\n argsForVideoPlayerAd.is_ad = 'on';\n argsForVideoPlayerAd.parent_player = selfClass.cthis;\n argsForVideoPlayerAd.user_action = o.user_action;\n selfClass.isAdPlaying = true;\n\n argsForVideoPlayerAd.autoplay = 'on';\n\n\n\n if (ad_time < 0.1 && helpersDZSVG.is_mobile()) {\n // this is invisible\n\n selfClass.$adContainer.children('.vplayer-tobe').addClass('mobile-pretime-ad');\n selfClass.cthis.addClass('pretime-ad-setuped');\n if (o.gallery_object) {\n o.gallery_object.addClass('pretime-ad-setuped');\n }\n }\n\n\n\n selfClass.$adContainer.children('.vplayer-tobe').addClass('is-ad');\n selfClass.$adContainer.children('.vplayer-tobe').vPlayer(argsForVideoPlayerAd);\n\n\n if (o.gallery_object) {\n if (o.gallery_object.get(0) && o.gallery_object.get(0).api_ad_block_navigation) {\n o.gallery_object.get(0).api_ad_block_navigation();\n }\n }\n\n\n setTimeout(function () {\n\n selfClass.cthis.addClass('ad-playing');\n }, 100);\n selfClass.isAdPlaying = true;\n selfClass.pauseMovie({\n 'called_from': 'ad_setup'\n });\n}\n\nexport const player_setup_skipad = (selfClass) => () => {\n\n\n var translate_skipad = 'Skip Ad';\n var dzsvg_translate_youcanskipto = 'you can skip to video in ';\n\n if (window.dzsvg_translate_youcanskipto) {\n dzsvg_translate_youcanskipto = window.dzsvg_translate_youcanskipto;\n }\n if (window.dzsvg_translate_skipad) {\n translate_skipad = window.dzsvg_translate_skipad;\n }\n\n let inter_time_counter_skipad = null;\n let time_counter_skipad = null;\n\n let $ = jQuery;\n\n if (selfClass.ad_status === 'first_played') {\n return false;\n }\n\n if (selfClass.isAd) {\n let skipad_timer = 0;\n\n if (selfClass.dataType === 'image' || selfClass.dataType === 'inline') {\n skipad_timer = 0;\n }\n if (selfClass.dataType === 'selfHosted' || selfClass.dataType === 'youtube') {\n skipad_timer = 1001;\n }\n\n selfClass.cthis.appendOnce('
', '.skipad-con');\n selfClass.$adSkipCon = selfClass.cthis.find('.skipad-con').eq(0);\n\n\n\n if(helpersDZSVG.is_mobile() && selfClass.cthis.attr('data-adskip_delay')){\n\n // -- TBC - skip ad notice on mobile\n selfClass.$adSkipCon.html(\"Play the ad for the skip ad counter to appear\");\n selfClass.$adSkipCon.attr('data-ad-status', 'waiting_for_play');\n }\n\n if (typeof selfClass.cthis.attr('data-adskip_delay') != 'undefined') {\n skipad_timer = Number(selfClass.cthis.attr('data-adskip_delay'));\n }\n\n time_counter_skipad = skipad_timer;\n if (skipad_timer !== 1001) {\n setTimeout(function () {\n\n time_counter_skipad = 0;\n selfClass.$adSkipCon.html(translate_skipad);\n selfClass.$adSkipCon.bind('click', function () {\n if ($(this).attr('data-ad-status') === 'can_be_clicked_for_end_ad') {\n selfClass.handleVideoEnd();\n }\n })\n selfClass.$adSkipCon.attr('data-ad-status', 'can_be_clicked_for_end_ad');\n }, skipad_timer * 1000);\n\n if (skipad_timer > 0) {\n inter_time_counter_skipad = setInterval(tick_counter_skipad, 1000);\n }\n }\n }\n\n\n selfClass.ad_status = 'first_played';\n\n\n function tick_counter_skipad() {\n\n if (time_counter_skipad > 0) {\n time_counter_skipad = time_counter_skipad - 1;\n if (selfClass.$adSkipCon) {\n selfClass.$adSkipCon.html(dzsvg_translate_youcanskipto + time_counter_skipad);\n selfClass.$adSkipCon.attr('data-ad-status', 'ad_status_is_ticking');\n }\n } else {\n clearInterval(inter_time_counter_skipad);\n }\n }\n}\n\n\n","import {\n getDataOrAttr,\n} from \"../../js_dzsvg/_dzsvg_helpers\";\nimport {sanitizeToCssPx} from \"../../js_common/_dzs_helpers\";\n\n\nexport function dzsvg_mode_wall_init(selfClass) {\n const o = selfClass.initOptions;\n\n\n o.menu_position = 'all';\n\n if(o.navigation_gridClassItemsContainer==='default'){\n o.navigation_gridClassItemsContainer = 'dzs-layout--3-cols';\n }\n}\nexport function dzsvg_mode_wall_reinitWallStructure(selfClass) {\n // -- wall\n\n const o = selfClass.initOptions;\n\n selfClass.$navigationItemsContainer.children().each(function () {\n // -- each item\n var $t = jQuery(this);\n\n\n\n if(!$t.hasClass('wall-treated')){\n $t.addClass('vgwall-item').addClass(' dzs-layout-item ultibox-item-delegated');\n $t.css({});\n $t.attr('data-suggested-width', o.ultibox_suggestedWidth);\n $t.attr('data-suggested-height', o.ultibox_suggestedHeight);\n $t.attr('data-biggallery', 'vgwall');\n\n if ($t.attr('data-previewimg')) {\n $t.attr('data-thumb-for-gallery', $t.attr('data-previewimg'));\n } else {\n\n }\n\n\n var uriThumb = $t.attr('data-thumb');\n var thumb_imgblock = null;\n\n if ($t.find('.layout-builder--item--type-thumbnail').length) {\n thumb_imgblock = $t.find('.layout-builder--item--type-thumbnail');\n }\n\n\n\n if (!uriThumb) {\n\n if (thumb_imgblock) {\n if (thumb_imgblock.attr('data-imgsrc')) {\n } else {\n if (thumb_imgblock.attr('src')) {\n uriThumb = $t.find('.imgblock').attr('src');\n } else {\n uriThumb = thumb_imgblock.css('background-image');\n }\n }\n }\n\n }\n\n\n if (uriThumb) {\n\n uriThumb = uriThumb.replace('url(', '');\n uriThumb = uriThumb.replace(')', '');\n uriThumb = uriThumb.replace(/\"/g, '');\n $t.attr('data-thumb-for-gallery', uriThumb);\n }\n // -- setup wall\n if (!$t.attr('data-source')) {\n $t.attr('data-source', getDataOrAttr($t, 'data-sourcevp'));\n }\n $t.attr('data-type', 'video');\n\n if(getDataOrAttr($t, 'data-video-type')){\n $t.attr('data-type', getDataOrAttr($t, 'data-video-type'));\n }\n\n $t.addClass('wall-treated')\n }\n\n\n\n });\n\n\n setTimeout(function () {\n\n setTimeout(selfClass.handleResize, 1000);\n selfClass.isGalleryLoaded = true;\n }, 1500);\n\n}","export const defaultSettings = {\n navigationType: 'hover', // -- \"hover\" or \"scroller\" or \"thumbsAndArrows\" or \"simple\"\n navigationSkin: 'skin-default',\n menuPosition: 'bottom',\n navigation_direction: 'auto', // -- \"auto\" or \"vertical\" or \"horizontal\"\n menuItemWidth: 'default', // -- number or \"default\"\n menuItemHeight: 'default',\n feedItemNotInitedClass: '.vplayer-tobe',\n isAutoScrollToCurrent: false,\n isSyncMainAreaAndNavigationAreas: true,\n viewEnableMediaArea: true,\n viewNavigationIsUltibox: false,\n isUseEasing: true,\n parentSkin: '',\n filter_structureMenuItemContent: null,\n viewAnimationDuration: null,\n navigationStructureHtml: '',\n gridClassItemsContainer: '', // -- used for \"simple\" or \"scroller\"\n}\n\n\nexport const NAVIGATION_DEFAULT_TIMEOUT = 320;","/**\n *\n * @param {jQuery} $elements\n * @param {object} cssProps\n */\nexport function view_setCssPropsForElement($elements, cssProps){\n $elements.css(cssProps);\n}","import {playlist_navigationStructureAssignVars} from \"../_navigation-helpers\";\n\n\nexport function view_navigation_generateNavigationItem(structureMenuItemContentInner, $currentItemFeed, configObj, navAttributes, isUltiboxItem = false){\n\n let final_structureMenuItemContent = '';\n\n\n if (structureMenuItemContentInner) {\n structureMenuItemContentInner = playlist_navigationStructureAssignVars($currentItemFeed, structureMenuItemContentInner);\n // -- add parent default skin todo: we will have navigation skin\n structureMenuItemContentInner = structureMenuItemContentInner.replace('
';\n\n\n final_structureMenuItemContent += '';\n\n\n // -- function\n if (configObj.filter_structureMenuItemContent) {\n final_structureMenuItemContent = configObj.filter_structureMenuItemContent(final_structureMenuItemContent, $currentItemFeed);\n }\n\n return final_structureMenuItemContent;\n\n}","\n/**\n * we need selfClass.navigation_customStructure\n * @param {DzsVideoGallery} selfClass\n * @return {string}\n */\nexport function playlist_navigationGenerateStructure(selfClass) {\n\n let desc = selfClass.navigation_customStructure;\n if(!desc){\n desc = '';\n }\n return desc;\n\n}\n\n\n/**\n *\n * @param {jQuery} $currentVideoPlayer\n * @param {string} structureMenuItemContentInner\n * @returns {string}\n */\nexport function playlist_navigationStructureAssignVars ($currentVideoPlayer, structureMenuItemContentInner) {\n\n /**\n *\n * @param {string} currentStructure\n * @param {string} placeholderText\n * @param {string} argInStructure\n */\n function replaceInNav(currentStructure, placeholderText, argInStructure) {\n\n let feedValue = '';\n\n if($currentVideoPlayer.find(argInStructure).length){\n feedValue = $currentVideoPlayer.find(argInStructure).eq(0).html();\n }\n \n return currentStructure.replace(placeholderText, feedValue);\n }\n\n structureMenuItemContentInner = replaceInNav(structureMenuItemContentInner, '{{layout-builder.replace-title}}', '.feed-menu-title');\n structureMenuItemContentInner = replaceInNav(structureMenuItemContentInner, '{{layout-builder.replace-menu-description}}', '.feed-menu-desc');\n structureMenuItemContentInner = replaceInNav(structureMenuItemContentInner, '{{layout-builder.replace-thumbnail-url}}', '.feed-menu-image');\n\n\n return structureMenuItemContentInner;\n}","import {sanitizeToCssPx} from \"../../js_common/_dzs_helpers\";\nimport {defaultSettings, NAVIGATION_DEFAULT_TIMEOUT} from \"./configs/_navigationSettings\";\nimport {is_android, is_ios, is_touch_device} from \"../_dzsvg_helpers\";\nimport {playlist_navigationStructureAssignVars} from \"./_navigation-helpers\";\nimport {view_setCssPropsForElement} from \"../../js_view/_viewFunctions\";\nimport {view_navigation_generateNavigationItem} from \"./inc/_navigation-view\";\n\n\nMath.easeIn = function (t, b, c, d) {\n\n return -c * (t /= d) * (t - 2) + b;\n\n};\nMath.easeOut = function (t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n};\n\nexport class DzsNavigation {\n\n\n /**\n *\n * @param parentClass\n * @param argOptions\n * @param $\n */\n constructor(parentClass, argOptions, $) {\n\n\n this.$ = $;\n this.parentClass = parentClass;\n this.initOptions = null;\n this.navAttributes = null;\n this.$mainArea = null;\n this.$mainNavigation = null;\n this.$mainNavigationClipped = null;\n this.$mainNavigationItemsContainer = null;\n this.$containerComponent = null;\n this.ultraResponsive = false;\n this.menuPosition = null;\n this.configObj = argOptions;\n\n this.viewOptions = {\n isSyncMainAreaAndNavigationAreas: true\n }\n\n // -- dimensions\n this.totalItemsWidth = 0;\n this.totalItemsHeight = 0;\n this.totalAreaWidth = 0;\n this.totalAreaHeight = 0;\n this.mainAreaHeight = 0;\n\n // -- thumbsAndArrows\n this.currPage = 0;\n this.nav_max_pages = 0;\n this.navigation_extraFixedElementsSize = 0;\n this.navigation_mainDimensionTotalSize = 0;\n this.navigation_mainDimensionClipSize = 0;\n this.navigation_mainDimensionItemSize = 0;\n\n this.navigation_customStructure = '';\n\n this.initClass();\n\n }\n\n /**\n *\n * @param {object} navAttributes\n * @returns {object}\n */\n computeNavAttributes(navAttributes) {\n\n if (navAttributes.menuPosition === 'right' || navAttributes.menuPosition === 'left') {\n navAttributes.navigation_direction = 'vertical';\n }\n if (navAttributes.menuPosition === 'bottom' || navAttributes.menuPosition === 'top') {\n if (navAttributes.navigation_direction === 'auto') {\n navAttributes.navigation_direction = 'horizontal';\n }\n }\n\n if (navAttributes.navigationType === 'simple') {\n navAttributes.navigation_direction = 'none';\n }\n\n return navAttributes;\n }\n\n computeInstanceProps() {\n\n }\n\n /**\n *\n * @param {jQuery} $feedItemsContainer\n */\n addNavigationItems($feedItemsContainer) {\n\n const itemsLength = $feedItemsContainer.find(this.configObj.feedItemNotInitedClass).length;\n for (let i = 0; i < itemsLength; i++) {\n let $currentItemFeed = $feedItemsContainer.find(this.configObj.feedItemNotInitedClass).eq(i);\n\n let structureMenuItemContentInner = this.navigation_customStructure;\n\n const final_structureMenuItemContent = view_navigation_generateNavigationItem(structureMenuItemContentInner, $currentItemFeed, this.configObj, this.navAttributes, this.configObj.viewNavigationIsUltibox);\n\n const $currentItemFeed_ = $currentItemFeed.get(0);\n\n $currentItemFeed.addClass('nav-treated');\n\n\n\n this.$mainNavigationItemsContainer.append(final_structureMenuItemContent);\n const $justAdded = this.$mainNavigationItemsContainer.children().last();\n for (let i = 0, atts = $currentItemFeed_.attributes, n = atts.length; i < n; i++) {\n if (atts[i].nodeName && atts[i].value) {\n $justAdded.data(atts[i].nodeName, atts[i].value);\n }\n }\n }\n }\n\n initClass() {\n const selfInstance = this;\n const parentClass = this.parentClass;\n this.configObj = Object.assign(Object.assign(defaultSettings, {}), this.configObj);\n const newOptions = Object.assign({}, this.configObj);\n this.initOptions = {...newOptions};\n this.navAttributes = {...newOptions};\n this.menuPosition = this.navAttributes.menuPosition;\n\n this.navigation_customStructure = this.navAttributes.navigationStructureHtml;\n\n const navAttributes = this.computeNavAttributes(this.navAttributes);\n\n let isMenuMoveLocked = false,\n navMain_mousex = 0,\n navMain_mousey = 0\n ;\n\n\n let target_viy = 0,\n target_vix = 0,\n begin_viy = 0,\n begin_vix = 0,\n finish_viy = 0,\n finish_vix = 0,\n change_viy = 0,\n change_vix = 0\n ;\n\n\n const OFFSET_BUFFER = 25;\n let DURATION_EASING = 20;\n\n\n init();\n\n function init() {\n\n\n if (parentClass) {\n if (parentClass.cgallery) {\n selfInstance.containerComponent = selfInstance.parentClass.cgallery;\n } else {\n if (parentClass.cthis) {\n selfInstance.containerComponent = selfInstance.parentClass.cthis;\n }\n }\n }\n\n\n sanitizeInitValues();\n\n\n setupStructure();\n\n if (navAttributes.gridClassItemsContainer) {\n selfInstance.$mainNavigationItemsContainer.addClass(navAttributes.gridClassItemsContainer);\n }\n\n\n selfInstance.nav_thumbsandarrows_gotoPage = nav_thumbsandarrows_gotoPage;\n selfInstance.handleMouse = handleMouse;\n\n setTimeout(init_navIsReady, 100);\n }\n\n function calculateDimsInitial(){\n\n if ((navAttributes.menuPosition === 'right' || navAttributes.menuPosition === 'left')) {\n\n view_setCssPropsForElement(selfInstance.$mainNavigation, {\n 'width': menuitem_width\n\n });\n }\n if ((navAttributes.menuPosition === 'bottom' || navAttributes.menuPosition === 'top')) {\n view_setCssPropsForElement(selfInstance.$mainNavigation, {\n 'height': (menuitem_height)\n })\n }\n }\n\n function sanitizeInitValues() {\n\n if (navAttributes.menuPosition === 'left' || navAttributes.menuPosition === 'right') {\n if (isNaN(Number(selfInstance.initOptions.menuItemWidth)) || selfInstance.initOptions.menuItemWidth === 'default') {\n navAttributes.menuItemWidth = 254;\n }\n }\n\n if(!navAttributes.viewEnableMediaArea){\n selfInstance.viewOptions.isSyncMainAreaAndNavigationAreas = false;\n }\n }\n\n\n if(selfInstance.initOptions.viewAnimationDuration!==null){\n DURATION_EASING = selfInstance.initOptions.viewAnimationDuration;\n }\n\n function init_navIsReady() {\n if (is_touch_device()) {\n navAttributes.isUseEasing = false;\n }\n\n\n // calculateDimsInitial();\n\n if (navAttributes.navigationType === 'hover') {\n handleEnterFrame();\n }\n\n\n if (navAttributes.isAutoScrollToCurrent) {\n if (navAttributes.navigationType === 'hover') {\n\n\n setTimeout(function () {\n animate_to_curr_thumb();\n\n }, 20);\n }\n }\n\n }\n\n function calculateDimsInitial(){\n\n if (navAttributes.navigation_direction === 'vertical') {\n selfInstance.navigation_extraFixedElementsSize = 0;\n selfInstance.$mainNavigation.children().each(function () {\n const $mainNavChild = jQuery(this);\n if (!$mainNavChild.hasClass('navigation--clipped-container')) {\n selfInstance.navigation_extraFixedElementsSize += $mainNavChild.outerHeight();\n }\n });\n }\n }\n\n\n function setupStructure() {\n let structure_baseLayout = '
';\n structure_baseLayout += '
';\n\n parentClass.$navigationAndMainArea.addClass(`navPosition-${navAttributes.menuPosition} navType-${navAttributes.navigationType}`);\n\n parentClass.$navigationAndMainArea.append('
');\n parentClass.$navigationAndMainArea.append(structure_baseLayout);\n\n\n selfInstance.$mainArea = parentClass.$navigationAndMainArea.find('.media--main-area');\n selfInstance.$mainNavigation = parentClass.$navigationAndMainArea.find('.main-navigation');\n selfInstance.$mainNavigationClipped = selfInstance.$mainNavigation.find('.navigation--clipped-container');\n selfInstance.$mainNavigationItemsContainer = selfInstance.$mainNavigation.find('.navigation--total-container');\n\n\n if (navAttributes.menuItemWidth === 'default') {\n navAttributes.menuItemWidth = '';\n }\n if (navAttributes.menuItemHeight === 'default') {\n navAttributes.menuItemHeight = '';\n }\n\n\n if (navAttributes.menuPosition === 'top' || navAttributes.menuPosition === 'bottom') {\n\n }\n\n\n if (navAttributes.menuPosition === 'top') {\n selfInstance.$mainArea.before(selfInstance.$mainNavigation);\n }\n\n\n\n if (navAttributes.navigationType === 'scroller') {\n if(navAttributes.navigation_direction==='horizontal'){\n\n\n view_setCssPropsForElement(selfInstance.$mainNavigation, {\n 'minHeight':navAttributes.menuItemHeight+'px'\n })\n }\n }\n\n if (navAttributes.navigationType === 'thumbsAndArrows') {\n selfInstance.$mainNavigation.prepend('
');\n selfInstance.$mainNavigation.append('
');\n\n selfInstance.$mainNavigation.find('.thumbs-arrow-left,.thumbs-arrow-right').bind('click', handleClick_navigationArrow);\n }\n\n if(!selfInstance.configObj.viewEnableMediaArea){\n parentClass.$navigationAndMainArea.addClass('view--disable-video-area');\n }\n\n parentClass.$navigationAndMainArea.addClass(`layout-builder--menu-items--${navAttributes.navigationSkin}`)\n }\n\n function handleClick_navigationArrow() {\n\n\n var $t = jQuery(this);\n\n if ($t.hasClass('thumbs-arrow-left')) {\n gotoPrevPage();\n }\n if ($t.hasClass('thumbs-arrow-right')) {\n gotoNextPage();\n }\n }\n\n\n function gotoNextPage() {\n var tempPage = selfInstance.currPage;\n\n tempPage++;\n nav_thumbsandarrows_gotoPage(tempPage);\n\n }\n\n function gotoPrevPage() {\n if (selfInstance.currPage === 0) {\n return;\n }\n\n selfInstance.currPage--;\n nav_thumbsandarrows_gotoPage(selfInstance.currPage);\n\n }\n\n /**\n * called only from thumbsandarrows\n * @param {number} arg\n */\n function nav_thumbsandarrows_gotoPage(arg) {\n\n if (arg > selfInstance.nav_max_pages || navAttributes.navigationType !== 'thumbsAndArrows') {\n return;\n }\n\n selfInstance.$mainNavigation.find('.nav--thumbsAndArrows--arrow').removeClass('arrow-is-inactive');\n\n if (arg === 0) {\n selfInstance.$mainNavigation.find('.thumbs-arrow-left').addClass('arrow-is-inactive');\n }\n if (arg >= selfInstance.nav_max_pages) {\n selfInstance.$mainNavigation.find('.thumbs-arrow-right').addClass('arrow-is-inactive');\n }\n\n if (arg >= selfInstance.nav_max_pages) {\n if (navAttributes.navigation_direction === \"vertical\") {\n\n view_setCssPropsForElement(selfInstance.$mainNavigationItemsContainer, {\n 'top': -(selfInstance.navigation_mainDimensionTotalSize - selfInstance.navigation_mainDimensionClipSize),\n 'left': 0\n })\n }\n if (navAttributes.navigation_direction === \"horizontal\") {\n\n view_setCssPropsForElement(selfInstance.$mainNavigationItemsContainer, {\n 'left': -(selfInstance.navigation_mainDimensionTotalSize - selfInstance.navigation_mainDimensionClipSize),\n 'top': 0\n })\n }\n\n } else {\n if (navAttributes.navigation_direction === \"vertical\") {\n let firstItemInSightWidth = selfInstance.$mainNavigationItemsContainer.children().eq(selfInstance.currPage).width();\n selfInstance.$mainNavigationItemsContainer.css({\n 'top': firstItemInSightWidth * -arg,\n 'left': 0\n });\n\n }\n\n if (navAttributes.navigation_direction === \"horizontal\") {\n\n let firstItemInSightWidth = selfInstance.$mainNavigationItemsContainer.children().eq(selfInstance.currPage).width();\n selfInstance.$mainNavigationItemsContainer.css({\n 'left': firstItemInSightWidth * -arg,\n 'top': 0\n });\n }\n }\n selfInstance.currPage = arg;\n }\n\n /**\n * handle mouse for the parentClass.$navigationItemsContainer element\n * @param e\n * @returns {boolean}\n */\n function handleMouse(e) {\n\n\n navMain_mousey = (e.pageY - selfInstance.$mainNavigationClipped.offset().top)\n navMain_mousex = (e.pageX - selfInstance.$mainNavigationClipped.offset().left)\n\n\n if (!is_ios() && !is_android()) {\n\n\n if (isMenuMoveLocked) {\n return false;\n }\n\n if (navAttributes.navigation_direction === \"vertical\") {\n\n\n navigation_prepareAnimateMenuY(navMain_mousey, {\n called_from: \"handleMouse\"\n });\n\n\n }\n if (navAttributes.navigation_direction === \"horizontal\") {\n\n\n navigation_prepareAnimateMenuX(navMain_mousex, {\n called_from: \"handleMouse\"\n });\n\n\n }\n\n } else {\n\n return false;\n }\n\n }\n\n\n /**\n * only for navType: \"hover\"\n * @returns {boolean}\n */\n function handleEnterFrame() {\n\n\n if (isNaN(target_viy)) {\n target_viy = 0;\n }\n\n if (DURATION_EASING === 0) {\n window.requestAnimationFrame(handleEnterFrame);\n return false;\n }\n\n if (navAttributes.navigation_direction === 'vertical') {\n begin_viy = target_viy;\n change_viy = finish_viy - begin_viy;\n\n\n target_viy = Number(Math.easeIn(1, begin_viy, change_viy, DURATION_EASING).toFixed(4));\n\n\n if (!is_ios() && !is_android()) {\n\n view_setCssPropsForElement(parentClass.$navigationItemsContainer, {\n 'transform': 'translate3d(0,' + target_viy + 'px,0)'\n })\n }\n\n }\n\n\n if (navAttributes.navigation_direction === 'horizontal') {\n begin_vix = target_vix;\n change_vix = finish_vix - begin_vix;\n\n\n target_vix = Number(Math.easeIn(1, begin_vix, change_vix, DURATION_EASING).toFixed(4));\n\n\n if (!is_ios() && !is_android()) {\n view_setCssPropsForElement(parentClass.$navigationItemsContainer, {\n 'transform': 'translate3d(' + target_vix + 'px,0,0)'\n })\n }\n\n }\n\n\n window.requestAnimationFrame(handleEnterFrame);\n }\n\n\n function navigation_getNavPosition(navMain_mouse) {\n\n const clipSize = (selfInstance.navigation_mainDimensionClipSize);\n let viewMax = (selfInstance.navigation_mainDimensionTotalSize) - clipSize;\n const viewRatio = navMain_mouse / clipSize;\n let finish_viewIndex = (((navMain_mouse + viewRatio * OFFSET_BUFFER + 2 - OFFSET_BUFFER) / clipSize)) * -(selfInstance.navigation_mainDimensionTotalSize);\n\n if (finish_viewIndex > 0) {\n finish_viewIndex = 0;\n }\n if (finish_viewIndex < -viewMax) {\n finish_viewIndex = -viewMax;\n }\n\n\n return finish_viewIndex;\n }\n\n function navigation_prepareAnimateMenuX(navMain_mousex) {\n finish_vix = navigation_getNavPosition(navMain_mousex);\n\n if (navAttributes.isUseEasing) {\n } else {\n animate_menu_x(finish_vix);\n }\n }\n\n function navigation_prepareAnimateMenuY(navMain_mousey) {\n\n finish_viy = navigation_getNavPosition(navMain_mousey);\n\n if (navAttributes.isUseEasing) {\n } else {\n view_animateMenuVertical(finish_viy);\n }\n }\n\n\n selfInstance.animate_to_curr_thumb = animate_to_curr_thumb;\n\n function animate_to_curr_thumb() {\n\n\n if (is_touch_device()) {\n\n }\n\n\n if (navAttributes.navigationType === 'hover') {\n\n\n var $activeNavItem = parentClass.$navigationItemsContainer.find('.dzs-navigation--item').eq(0);\n\n\n if (parentClass.$navigationItemsContainer.find('.dzs-navigation--item.active').length) {\n $activeNavItem = parentClass.$navigationItemsContainer.find('.dzs-navigation--item.active').eq(0);\n }\n\n\n var rat = ($activeNavItem.offset().top - parentClass.$navigationItemsContainer.offset().top) / (parentClass.$navigationItemsContainer.outerHeight() - selfInstance.$mainNavigationClipped.parent().outerHeight());\n\n\n if (navAttributes.navigation_direction === 'vertical') {\n\n if (parentClass.$navigationItemsContainer.outerHeight() > selfInstance.$mainNavigationClipped.parent().outerHeight()) {\n\n view_animateMenuVertical(rat * (parentClass.$navigationItemsContainer.outerHeight() - selfInstance.$mainNavigationClipped.parent().outerHeight()), {\n 'called_from': 'animate_to_curr_thumb'\n });\n }\n } else {\n\n if (navAttributes.navigation_direction === 'horizontal') {\n\n rat = ($activeNavItem.offset().left - parentClass.$navigationItemsContainer.offset().left) / (parentClass.$navigationItemsContainer.outerWidth() - selfInstance.$mainNavigationClipped.outerWidth());\n\n\n navigation_prepareAnimateMenuX(rat * selfInstance.$mainNavigationClipped.outerWidth());\n }\n\n\n }\n }\n if (navAttributes.navigationType === 'scroller') {\n\n var coordinateToActiveItem = 0;\n\n if (parentClass.$navigationItemsContainer.find('.dzs-navigation--item.active').length) {\n\n coordinateToActiveItem = parentClass.$navigationItemsContainer.find('.dzs-navigation--item.active').offset().top - parentClass.$navigationItemsContainer.eq(0).offset().top;\n\n\n setTimeout(function () {\n\n if (selfInstance.$mainNavigationClipped.get(0).api_scrolly_to) {\n selfInstance.$mainNavigationClipped.get(0).api_scrolly_to(coordinateToActiveItem);\n }\n }, NAVIGATION_DEFAULT_TIMEOUT);\n }\n\n }\n }\n\n\n function animate_menu_x() {\n\n\n if (!is_ios() && !is_android()) {\n if (navAttributes.isUseEasing) {\n\n view_setCssPropsForElement(parentClass.$navigationItemsContainer, {\n 'transform': 'translate3d(' + finish_vix + 'px, ' + 0 + 'px, 0)'\n })\n }\n\n\n }\n }\n\n\n function view_animateMenuVertical(viewIndex, pargs) {\n\n\n // -- positive number viewIndexX\n var margs = {\n\n called_from: \"default\"\n }\n\n if (pargs) {\n margs = jQuery.extend(margs, pargs);\n }\n\n\n if (!is_touch_device()) {\n if (!navAttributes.isUseEasing) {\n\n view_setCssPropsForElement(parentClass.$navigationItemsContainer, {\n 'transform': 'translate3d(0, ' + (finish_viy) + 'px, 0)'\n })\n } else {\n if ((-finish_viy) < selfInstance.navigation_mainDimensionTotalSize - selfInstance.$mainNavigation.outerHeight()) {\n finish_viy = -(selfInstance.navigation_mainDimensionTotalSize - selfInstance.$mainNavigation.outerHeight());\n }\n finish_viy = -viewIndex;\n }\n\n\n } else {\n if (margs.called_from === 'animate_to_curr_thumb') {\n setTimeout(function () {\n selfInstance.$mainNavigation.scrollTop(viewIndex);\n }, 1500);\n }\n }\n }\n\n\n }\n\n calculateDims(pargs = {}) {\n\n const calculateDimsArgs = Object.assign({\n forceMainAreaHeight: null\n }, pargs)\n\n\n const selfInstance = this;\n const parentClass = this.parentClass;\n const navAttributes = this.navAttributes;\n\n selfInstance.mainAreaHeight = calculateDimsArgs.forceMainAreaHeight ? calculateDimsArgs.forceMainAreaHeight : selfInstance.$mainArea.outerHeight();\n\n\n let totalAreaHeightPixels = 0;\n selfInstance.totalAreaWidth = parentClass.$navigationAndMainArea.outerWidth();\n selfInstance.totalAreaHeight = parentClass.$navigationAndMainArea.outerHeight();\n let mainNavigationDesiredWidth = navAttributes.menuItemWidth;\n\n if (navAttributes.navigation_direction === 'vertical') {\n selfInstance.navigation_mainDimensionTotalSize = selfInstance.$mainNavigationItemsContainer.height();\n selfInstance.navigation_mainDimensionClipSize = selfInstance.$mainNavigationClipped.height();\n selfInstance.navigation_mainDimensionItemSize = selfInstance.$mainNavigationItemsContainer.children().eq(0).height();\n }\n\n if (navAttributes.navigation_direction === 'horizontal') {\n selfInstance.navigation_mainDimensionTotalSize = selfInstance.$mainNavigationItemsContainer.width();\n selfInstance.navigation_mainDimensionClipSize = selfInstance.$mainNavigationClipped.width();\n selfInstance.navigation_mainDimensionItemSize = selfInstance.$mainNavigationItemsContainer.children().eq(0).width();\n }\n selfInstance.nav_max_pages = Math.round((selfInstance.navigation_mainDimensionTotalSize - selfInstance.navigation_mainDimensionClipSize) / selfInstance.navigation_mainDimensionItemSize);\n\n parentClass.$navigationAndMainArea.children().each(function () {\n const $navigationChild = jQuery(this);\n totalAreaHeightPixels += $navigationChild.get(0).scrollHeight;\n })\n\n\n // -- ultra-responsive\n // todo: remove dependency on parentClass\n if (this.configObj.viewEnableMediaArea && (navAttributes.menuPosition === 'right' || navAttributes.menuPosition === 'left')) {\n if (selfInstance.totalAreaWidth - mainNavigationDesiredWidth < mainNavigationDesiredWidth) {\n\n if (selfInstance.containerComponent) {\n selfInstance.containerComponent.addClass('ultra-responsive');\n }\n parentClass.$navigationAndMainArea.addClass('nav-is-ultra-responsive');\n selfInstance.ultraResponsive = true;\n } else {\n\n parentClass.$navigationAndMainArea.removeClass('nav-is-ultra-responsive');\n selfInstance.ultraResponsive = false;\n }\n }\n\n\n if (navAttributes.menuPosition === 'top' || navAttributes.menuPosition === 'bottom') {\n\n }\n if (navAttributes.menuPosition === 'right' || navAttributes.menuPosition === 'left') {\n if (!selfInstance.ultraResponsive) {\n if (navAttributes.menuItemWidth) {\n\n\n view_setCssPropsForElement(selfInstance.$mainNavigation, {\n 'flex-basis': `${sanitizeToCssPx(navAttributes.menuItemWidth)}`\n })\n }\n\n if (selfInstance.viewOptions.isSyncMainAreaAndNavigationAreas) {\n view_setCssPropsForElement(selfInstance.$mainNavigation, {\n 'height': `${selfInstance.mainAreaHeight}`\n })\n }\n } else {\n\n }\n\n }\n\n\n let navWidth = 0;\n\n\n selfInstance.totalItemsWidth = parentClass.$navigationItemsContainer.outerWidth();\n selfInstance.totalItemsHeight = parentClass.$navigationItemsContainer.outerHeight();\n\n // -- hover\n if (navAttributes.navigationType === 'hover') {\n if (navAttributes.navigation_direction === 'horizontal') {\n\n navWidth = 0;\n parentClass.$navigationItemsContainer.children().each(function () {\n const $t = jQuery(this);\n navWidth += $t.outerWidth(true);\n });\n\n\n if (navWidth > selfInstance.totalAreaWidth) {\n selfInstance.$mainNavigation.unbind('mousemove', selfInstance.handleMouse);\n selfInstance.$mainNavigation.bind('mousemove', selfInstance.handleMouse);\n selfInstance.containerComponent.removeClass('navWidth-bigger-then-totalWidth')\n\n } else {\n\n selfInstance.containerComponent.addClass('navWidth-bigger-then-totalWidth')\n\n view_setCssPropsForElement(parentClass.$navigationItemsContainer, {'left': ''})\n selfInstance.$mainNavigation.unbind('mousemove', selfInstance.handleMouse);\n\n }\n }\n if (navAttributes.navigation_direction === 'vertical') {\n\n\n if (selfInstance.totalItemsHeight > selfInstance.totalAreaHeight) {\n selfInstance.$mainNavigation.unbind('mousemove', selfInstance.handleMouse);\n selfInstance.$mainNavigation.bind('mousemove', selfInstance.handleMouse);\n } else {\n view_setCssPropsForElement(parentClass.$navigationItemsContainer, {'top': ''})\n selfInstance.$mainNavigation.unbind('mousemove', selfInstance.handleMouse);\n }\n }\n\n }\n\n }\n}\n","export const defaultPlaylistSettings = {\n\n init_on: \"init\",\n\n\n randomise: \"off\",\n sliderAreaHeight: '300', // -- \"300\" is default, overwritten by responsive_ratio\n\n // -- video play options\n autoplay: \"off\", // -- autoplay ( deprecated )\n autoplayFirstVideo: undefined, // -- autoplay ( deprecated )\n autoplayNext: \"on\", // -- play the next video when one finishes\n cueFirstVideo: 'on', // -- load first video\n\n // -- playlist playing options\n startItem: 'default',\n playorder: \"normal\", // -- normal or reverse\n loop_playlist: \"on\", // -- loop the playlist from the beginning when the end has been reached\n\n\n // -- navigation params\n menu_position: 'right',\n menuitem_width: \"default\", // -- *deprecated\n menuitem_height: \"default\", // -- *deprecated\n\n navigation_isUltibox: false,\n navigation_gridClassItemsContainer: \"default\", // -- only for some modes\n navigation_direction: \"auto\", // -- \"auto\" -> \"vertical\" / \"horizontal\"\n navigation_maxHeight: \"auto\", // -- only for navigation_direction:\"vertical\" AND menu_position:\"top\"|\"bottom\"\n navigation_viewAnimationDuration: null, // -- number\n nav_type_outer_max_height: '', // -- enable a scroller if menu height bigger then max_height *deprecated todo: replace with navigation_maxHeight\n nav_type: \"thumbs\", // -- \"thumbs\" or \"thumbsandarrows\" or \"scroller\"\n // -- navigation params END\n nav_type_outer_grid: 'dzs-layout--4-cols', // -- four-per-row --- only for navPosition: \"top\"|\"bottom\" and navigation_direction: \"vertical\"\n\n\n // -- lightbox suggested params\n ultibox_suggestedWidth: '800', // -- the mode wall video ( when opened ) dimensions\n ultibox_suggestedHeight: '500', // -- the mode wall video ( when opened ) dimensions\n\n\n easing_speed: \"\",\n transition_type: \"slideup\",\n design_skin: '', // -- *deprecated -> use class\n videoplayersettings: {}, // -- array or string from \"window.dzsvg_vpconfigs\"\n embedCode: '',\n php_media_data_retriever: '', // -- this can help get the video meta data for youtube and vimeo\n design_navigationUseEasing: 'off',\n settings_enable_linking: 'off', // -- enable deeplinking on video gallery items\n settings_mode: 'normal', /// -- normal / wall / rotator / rotator3d / slider / stack\n mode_normal_video_mode: 'auto', // -- auto or \"one\" ( only one video player )\n settings_disableVideo: 'off', // -- disable the video area\n settings_enableHistory: 'off', // -- html5 history api for link type items\n settings_enableHistory_fornormalitems: 'off', // html5 history api for normal items\n settings_ajax_extraDivs: '', // extra divs to pull in the ajax request\n settings_separation_mode: 'normal', // -- normal ( no pagination ) or pages or scroll or button\n settings_separation_pages: [], settings_separation_pages_number: '5', //=== the number of items per 'page'\n settings_menu_overlay: 'off', // -- an overlay to appear over the menu\n search_field: 'off', // -- an overlay to appear over the menu\n search_field_con: null, // -- an overlay to appear over the menu\n nav_type_auto_scroll: \"off\", // -- auto scroll nav\n settings_trigger_resize: '0', // -- a force trigger resize every x ms\n settings_go_to_next_after_inactivity: '0', // -- go to next track if no action\n init_all_players_at_init: 'off'\n , settings_secondCon: null\n , settings_outerNav: null\n , extra_class_slider_con: '',\n menu_description_format: '', // -- (*deprecated) use the new layout builder-- use something like \"{{number}}{{menuimage}}{{title}}{{desc}}\"\n masonry_options: {}\n}\n","import {svgSearchIcon} from \"../js_dzsvg/_dzsvg_svgs\";\nimport {handleSearchFieldChange} from \"../js_dzsvg/playlist/_searchPlaylist\";\n\nexport function dzsvg_playlist_initSearchField(selfClass, o){\n\n // -- setup search field\n if (o.search_field_con) {\n selfClass.$searchFieldCon = jQuery(o.search_field_con);\n }else{\n\n dzsvg_playlist_addSearchField(selfClass);\n\n }\n selfClass.$searchFieldCon.bind('keyup', handleSearchFieldChange(selfClass, selfClass.$navigationItemsContainer.parent(), selfClass.handleResize));\n\n}\nexport function dzsvg_playlist_addSearchField(selfClass){\n\n var struct_searchFieldString = '';\n struct_searchFieldString = '
' + svgSearchIcon + '
';\n if (selfClass._mainNavigation.hasClass('menu-moves-vertically')) {\n selfClass._mainNavigation.prepend(struct_searchFieldString);\n } else {\n selfClass.$navigationItemsContainer.prepend(struct_searchFieldString);\n }\n\n selfClass.$searchFieldCon = selfClass.cgallery.find('.dzsvg-search-field > input');\n}","export function handleSearchFieldChange(selfClass, _navMain, handleResize) {\n return function () {\n\n var $ = jQuery;\n var _t = $(this);\n var o = selfClass.initOptions;\n\n\n if (o.settings_mode === 'wall') {\n selfClass._sliderCon.children().each(function () {\n var _t2 = $(this);\n\n\n if (_t.val() === '' || String(String(_t2.find('.menuDescription').eq(0).html()).toLowerCase()).indexOf(_t.val().toLowerCase()) > -1) {\n\n _t2.show();\n } else {\n\n _t2.hide();\n }\n\n\n });\n }\n\n\n if (o.nav_type === 'scroller') {\n\n\n if (typeof _navMain.get(0).api_scrolly_to != 'undefined') {\n _navMain.get(0).api_scrolly_to(0);\n }\n\n setTimeout(function () {\n\n selfClass.$navigationItemsContainer.css('top', '0')\n }, 100)\n }\n selfClass.$navigationItemsContainer.children().each(function () {\n var _t2 = $(this);\n\n\n if (_t.val() === '' || String(String(_t2.find('.dzs-navigation--item-content').eq(0).html()).toLowerCase()).indexOf(_t.val().toLowerCase()) > -1) {\n\n _t2.show();\n } else {\n\n if (_t2.hasClass('dzsvg-search-field') === false) {\n _t2.hide();\n }\n }\n });\n\n handleResize();\n }\n}","import {dzsvg_check_multisharer, dzsvg_click_open_embed_ultibox} from \"../js_dzsvg/_dzsvg_helpers\";\nimport {svg_embed, svgShareIcon} from \"../js_dzsvg/_dzsvg_svgs\";\nimport {ConstantsDzsvg} from \"../configs/Constants\";\n\n\n/**\n *\n * @param {DzsVideoGallery} selfClass\n * @param {object} o\n * @param {boolean} isMergeSocialIconsIntoOne\n */\nexport function dzsvg_playlist_setupEmbedAndShareButtons(selfClass, o, isMergeSocialIconsIntoOne){\n\n\n // -- going to merge social code into one\n if (isMergeSocialIconsIntoOne) {\n console.log(o.embedCode, selfClass.feed_socialCode);\n if (o.embedCode !== '' || selfClass.feed_socialCode) {\n dzsvg_check_multisharer();\n if (o.settings_mode === 'wall') {\n\n if (selfClass.$sliderMain.find('.gallery-buttons').length === 0) {\n selfClass.$galleryButtons = selfClass.cgallery.find('.gallery-buttons');\n\n }\n setTimeout(function () {\n selfClass.$sliderMain.before(selfClass.$galleryButtons);\n }, 500);\n }\n\n\n selfClass.$galleryButtons.append('
' + svg_embed + '
');\n\n\n }\n\n\n } else {\n\n if (o.embedCode !== '') {\n selfClass.$galleryButtons.append('
' + svg_embed + '
');\n selfClass.$galleryButtons.find('.embed-button .handle').click(click_embedhandle(selfClass))\n selfClass.$galleryButtons.find('.embed-button .contentbox').css({\n 'right': 50\n })\n }\n if (selfClass.feed_socialCode) {\n selfClass.$galleryButtons.append('
' + svgShareIcon + '
' + selfClass.feed_socialCode + '
');\n selfClass.$galleryButtons.find('.share-button .handle').click(click_sharehandle(selfClass))\n selfClass.$galleryButtons.find('.share-button .contentbox').css({\n 'right': 50\n })\n }\n }\n}\n\n\n/**\n *\n * @param {DzsVideoGallery} selfClass\n * @returns {(function(): void)|*}\n */\nfunction click_embedhandle(selfClass) {\n\n return function(){\n\n if (selfClass.isEmbedOpened === false) {\n selfClass.$galleryButtons.find('.embed-button .contentbox').css({\n 'right': 60\n }, {queue: false, duration: ConstantsDzsvg.ANIMATIONS_DURATION});\n\n selfClass.$galleryButtons.find('.embed-button .contentbox').addClass('is-visible');\n selfClass.isEmbedOpened = true;\n } else {\n selfClass.$galleryButtons.find('.embed-button .contentbox').css({\n 'right': 50\n }, {queue: false, duration: ConstantsDzsvg.ANIMATIONS_DURATION});\n\n selfClass.$galleryButtons.find('.embed-button .contentbox').removeClass('is-visible');\n selfClass.isEmbedOpened = false;\n }\n }\n}\n\n\n/**\n *\n * @param {DzsVideoGallery} selfClass\n * @returns {(function(): void)|*}\n */\nfunction click_sharehandle(selfClass) {\n return function() {\n if (selfClass.isShareOpened === false) {\n selfClass.$galleryButtons.find('.share-button .contentbox').css({\n 'right': 60\n });\n\n selfClass.$galleryButtons.find('.share-button .contentbox').addClass('is-visible');\n selfClass.isShareOpened = true;\n } else {\n selfClass.$galleryButtons.find('.share-button .contentbox').css({\n 'right': 50\n });\n\n selfClass.$galleryButtons.find('.share-button .contentbox').removeClass('is-visible');\n selfClass.isShareOpened = false;\n }\n }\n}","'use strict';\nimport {svgBackButton, svgForwardButton} from './js_dzsvg/_dzsvg_svgs';\nimport {DzsNavigation} from \"./js_dzsvg/navigation/_navigation\";\nimport {defaultPlaylistSettings} from './configs/_playlistSettings';\nimport {\n assertVideoFromGalleryAutoplayStatus,\n detect_startItemBasedOnQueryAddress,\n navigation_detectClassesForPosition,\n navigation_initScroller,\n playlist_inDzsTabsHandle,\n playlist_initialConfig,\n playlist_initSetupInitial,\n playlist_navigation_getPreviewImg,\n playlistGotoItemHistoryChangeForLinks,\n playlistGotoItemHistoryChangeForNonLinks\n} from \"./js_dzsvg/playlist/_playlistHelpers\";\nimport {\n add_query_arg,\n convertPluginOptionsToFinalOptions,\n detect_videoTypeAndSourceForElement,\n dzsvgExtraWindowFunctions,\n fullscreen_status,\n init_navigationOuter,\n is_ios,\n is_touch_device,\n setup_videogalleryCategories,\n} from \"./js_dzsvg/_dzsvg_helpers\";\n\nimport {get_query_arg} from \"./js_common/_dzs_helpers\";\nimport {loadScriptIfItDoesNotExist} from \"./js_common/_dzs_helpers\";\nimport {init_secondCon, secondCon_initFunctions} from \"./js_dzsvg/components/_second_con\";\nimport {buildPlaylist} from \"./js_dzsvg/playlist/_playlistBuilderFunctions\";\nimport {dzsvg_mode_wall_reinitWallStructure} from \"./js_playlist/mode/_mode-wall\";\nimport {dzsvg_playlist_initSearchField} from \"./js_playlist/_searchFunctions\";\nimport {dzsvg_playlist_setupEmbedAndShareButtons,} from \"./js_playlist/_playlistAuxiliaryButtons\";\nimport {\n PLAYLIST_DEFAULT_TIMEOUT,\n PLAYLIST_HEIGHT_IS_WINDOW_MAX_OFFSET,\n PLAYLIST_VIEW_FULLSCREEN_CLASS\n} from \"./configs/Constants\";\nimport {view_setCssPropsForElement} from \"./js_view/_viewFunctions\";\n\n\n/**\n * @property {jQuery} _sliderCon\n * @property $feedItemsContainer\n * @property navigation_customStructure\n * @property _mainNavigation\n */\nclass DzsVideoGallery {\n constructor(argThis, argOptions, $) {\n\n\n this.argThis = argThis;\n this.argOptions = {...argOptions};\n this.viewOptions = {\n enableVideoArea: true,\n }\n this.$ = $;\n\n this._sliderCon = null;\n this.$sliderMain = null;\n this.$navigationAndMainArea = null;\n this._mainNavigation = null;\n this.$feedItemsContainer = null;\n this.navigation_customStructure = '';\n this.galleryComputedId = '';\n this.deeplinkGotoItemQueryParam = '';\n this.$galleryButtons = null;\n this.$containerForItems = null;\n this.$navigationItemsContainer = null;\n /** videogallery--navigation-container */\n this.$searchFieldCon = null;\n this.videoAreaWidth = 0;\n\n this.feed_socialCode = '';\n\n this.Navigation = null;\n\n\n this.isEmbedOpened = false;\n this.isShareOpened = false;\n this.isGalleryLoaded = false; // -- gallery loaded sw, when dimensions are set, will take a while if wall\n this.classInit();\n }\n\n classInit() {\n\n\n var cgallery = null\n ;\n var nrChildren = 0;\n var _navMain\n ;\n //gallery dimensions\n let videoAreaHeight\n , totalWidth\n , totalHeight\n , last_totalWidth = 0 // -- so we can compare to the last values\n , last_totalHeight = 0\n , navWidth = 0 // the _navCon width\n , ww\n , heightWindow\n , last_height_for_videoheight = 0 // -- last responsive_ratio height known\n ;\n\n var isMenuMovementLocked = false;\n\n var inter_start_the_transition = null;\n\n\n let isMergeSocialIconsIntoOne = false; // -- merge all socials into one\n\n\n var currNr = -1\n , currNr_curr = -1 // current transitioning\n , nextNr = -1\n , prevNr = -1\n , last_arg = 0\n ;\n var $currVideoPlayer;\n\n\n var $galleryParent\n , $galleryCon\n , heightInitial = -1\n ;\n var conw = 0;\n\n var wpos = 0\n , heightPosition = 0\n ;\n\n var isBusyTransition = false\n , isTransitionStarted = false\n , isBusyAjax = false\n ;\n var isFirstPlayed = false\n , isMouseOver = false\n , isFirstTransition = false // -- first transition made\n ;\n\n\n var i = 0;\n\n\n var menuitem_width = 0\n , menuitem_height = 0\n\n var menu_position = 'right';\n\n\n var settings_separation_nr_pages = 0;\n var ind_ajaxPage = 0;\n\n\n var init_settings = {};\n\n\n var action_playlist_end = null;\n\n var $ = this.$;\n var o = this.argOptions;\n cgallery = $(this.argThis);\n var selfClass = this;\n\n\n selfClass.init = init;\n selfClass.cgallery = cgallery;\n selfClass.initOptions = o;\n\n\n init_settings = $.extend({}, o);\n\n playlist_initSetupInitial(selfClass, o);\n\n\n menu_position = o.menu_position;\n\n\n nrChildren = selfClass.$feedItemsContainer.children('.vplayer,.vplayer-tobe').length;\n\n\n if (o.init_on === 'init') {\n init({\n 'called_from': 'init'\n });\n }\n if (o.init_on === 'scroll') {\n $(window).on('scroll', handleScroll);\n handleScroll();\n }\n\n\n function init(pargs) {\n\n\n var margs = {\n caller: null\n , 'called_from': 'default'\n }\n\n\n if (selfClass.cgallery.hasClass('dzsvg-inited')) {\n return false;\n }\n\n if (pargs) {\n margs = $.extend(margs, pargs);\n }\n\n selfClass.handleResize = handleResize;\n selfClass.handleResize_currVideo = handleResize_currVideo;\n selfClass.apiResponsiveRationResize = apiResponsiveRationResize;\n\n if (cgallery.parent().parent().parent().hasClass('tab-content')) {\n // -- tabs\n playlist_inDzsTabsHandle(selfClass, margs);\n }\n\n selfClass.cgallery.addClass('dzsvg-inited');\n\n $galleryCon = cgallery.parent();\n $galleryParent = cgallery.parent();\n\n\n if ($galleryParent.parent().hasClass('gallery-is-fullscreen')) {\n if (o.videoplayersettings.responsive_ratio === 'detect') {\n o.videoplayersettings.responsive_ratio = 'default';\n }\n\n }\n\n\n // -- separation - PAGES\n let elimi = 0;\n\n\n if (o.settings_separation_mode === 'pages') {\n\n let dzsvg_page = get_query_arg(window.location.href, 'dzsvgpage');\n\n\n if (typeof dzsvg_page == \"undefined\") {\n dzsvg_page = 1;\n }\n dzsvg_page = parseInt(dzsvg_page, 10);\n\n\n if (dzsvg_page === 0 || isNaN(dzsvg_page)) {\n dzsvg_page = 1;\n }\n\n if (dzsvg_page > 0 && o.settings_separation_pages_number < nrChildren) {\n\n if (o.settings_separation_pages_number * dzsvg_page <= nrChildren) {\n for (elimi = o.settings_separation_pages_number * dzsvg_page - 1; elimi >= o.settings_separation_pages_number * (dzsvg_page - 1); elimi--) {\n cgallery.children().eq(elimi).addClass('from-pagination-do-not-eliminate');\n }\n } else {\n for (elimi = nrChildren - 1; elimi >= nrChildren - o.settings_separation_pages_number; elimi--) {\n cgallery.children().eq(elimi).addClass('from-pagination-do-not-eliminate');\n }\n }\n\n cgallery.children().each(function () {\n const $videoItem = $(this);\n if (!$videoItem.hasClass('from-pagination-do-not-eliminate')) {\n $videoItem.remove();\n }\n })\n\n var str_pagination = '
';\n settings_separation_nr_pages = Math.ceil(nrChildren / o.settings_separation_pages_number);\n\n nrChildren = cgallery.children().length;\n\n for (i = 0; i < settings_separation_nr_pages; i++) {\n var str_active = '';\n if ((i + 1) === dzsvg_page) {\n str_active = ' active';\n }\n str_pagination += '' + (i + 1) + ''\n }\n\n str_pagination += '
';\n cgallery.after(str_pagination);\n\n }\n }\n\n\n if (is_touch_device()) {\n cgallery.addClass('is-touch');\n }\n\n\n if (o.settings_mode === 'wall' || o.settings_mode === 'videowall') {\n o.design_shadow = 'off';\n }\n\n\n totalWidth = cgallery.width();\n totalHeight = cgallery.height();\n\n\n if (isNaN(totalWidth)) {\n totalWidth = 800;\n }\n\n if (isNaN(totalHeight)) {\n totalHeight = 400;\n }\n\n\n playlist_initialConfig(selfClass, o);\n\n\n $('html').addClass('supports-translate');\n\n\n setup_structure();\n\n\n if (o.settings_mode === 'normal' || o.settings_mode === 'slider') {\n reinit();\n }\n\n\n // -- wall END\n\n\n if (o.settings_mode === 'videowall') {\n\n\n if (cgallery.parent().hasClass('videogallery-con')) {\n view_setCssPropsForElement(cgallery.parent(), {'width': 'auto', 'height': 'auto'})\n }\n view_setCssPropsForElement(cgallery, {'width': 'auto', 'height': 'auto'})\n\n\n }\n\n\n if (o.settings_mode === 'wall' || o.settings_mode === 'videowall' || o.settings_mode === 'rotator' || o.settings_mode === 'rotator3d') {\n reinit({\n 'called_from': 'init'\n });\n }\n\n\n if (window.dzsvg_settings && window.dzsvg_settings.merge_social_into_one === 'on') {\n isMergeSocialIconsIntoOne = true;\n }\n\n dzsvg_playlist_setupEmbedAndShareButtons(selfClass, o, isMergeSocialIconsIntoOne);\n\n\n if (o.nav_type === 'outer') {\n selfClass.$navigationItemsContainer.addClass(o.nav_type_outer_grid);\n selfClass.$navigationItemsContainer.children().addClass('dzs-layout-item');\n\n\n if (o.menuitem_width) {\n o.menuitem_width = '';\n }\n\n\n if (o.nav_type_outer_max_height) {\n var nto_mh = Number(o.nav_type_outer_max_height);\n\n\n view_setCssPropsForElement(_navMain, {'max-height': nto_mh + 'px'})\n _navMain.addClass('scroller-con skin_apple inner-relative');\n selfClass.$navigationItemsContainer.addClass('inner');\n\n view_setCssPropsForElement(_navMain, {\n 'height': 'auto'\n })\n\n try_to_init_scroller();\n }\n }\n\n\n calculateDims({\n\n\n 'called_from': 'init'\n });\n\n\n if (o.nav_type === 'scroller') {\n _navMain.addClass('scroller-con skin_apple');\n selfClass.$navigationItemsContainer.addClass('inner');\n\n\n view_setCssPropsForElement(_navMain, {\n 'height': '100%'\n })\n\n // -- try scroller\n if ($.fn.scroller) {\n navigation_initScroller(_navMain);\n } else {\n setTimeout(() => {\n navigation_initScroller(_navMain);\n }, 2000);\n }\n\n setTimeout(function () {\n\n\n if ($('html').eq(0).attr('dir') === 'rtl') {\n _navMain.get(0).fn_scrollx_to(1);\n }\n }, 100);\n }\n // -- scroller END\n\n\n // -- NO FUNCTION HIER\n\n\n cgallery.on('click', '.rotator-btn-gotoNext,.rotator-btn-gotoPrev', handle_mouse);\n $(document).on('keyup.dzsvgg', handleKeyPress);\n\n\n window.addEventListener(\"orientationchange\", view_handleOrientationChange);\n $(window).on('resize', handleResize);\n handleResize();\n\n setTimeout(function () {\n calculateDims({\n\n 'called_from': 'first_timeout'\n })\n }, 3000);\n\n\n setTimeout(init_playlistIsReady, 100);\n\n\n if (o.settings_trigger_resize > 0) {\n setInterval(function () {\n\n\n calculateDims({\n 'called_from': 'recheck_sizes'\n });\n }, o.settings_trigger_resize);\n }\n ;\n\n setup_apiFunctions();\n\n if (o.startItem === 'default') {\n o.startItem = 0;\n if (o.playorder === 'reverse') {\n o.startItem = nrChildren - 1;\n }\n }\n\n // --- gotoItem\n if (o.settings_mode !== 'wall' && o.settings_mode !== 'videowall') {\n\n selfClass.isGalleryLoaded = true;\n\n\n if (get_query_arg(window.location.href, 'dzsvg_startitem_' + selfClass.galleryComputedId)) {\n o.startItem = Number(get_query_arg(window.location.href, 'dzsvg_startitem_' + selfClass.galleryComputedId));\n }\n\n\n var tempStartItem = detect_startItemBasedOnQueryAddress(selfClass.deeplinkGotoItemQueryParam, selfClass.galleryComputedId);\n if (tempStartItem !== null) {\n o.startItem = tempStartItem;\n if (cgallery.parent().parent().parent().hasClass('categories-videogallery')) {\n const $categoriesVideoGallery = cgallery.parent().parent().parent();\n\n const ind = $categoriesVideoGallery.find('.videogallery').index(cgallery);\n\n if (ind) {\n setTimeout(function () {\n $categoriesVideoGallery.get(0).api_goto_category(ind, {\n 'called_from': 'deeplink'\n });\n }, 100);\n }\n }\n }\n\n if (isNaN(o.startItem)) {\n o.startItem = 0;\n }\n\n\n if (o.nav_type === 'scroller') {\n // todo: import from _navigation.js\n }\n\n\n if (o.settings_go_to_next_after_inactivity) {\n setInterval(function () {\n if (!isFirstPlayed) {\n gotoNext();\n }\n }, o.settings_go_to_next_after_inactivity * 1000);\n }\n }\n\n if (o.settings_separation_mode === 'scroll') {\n $(window).bind('scroll', handleScroll);\n }\n if (o.settings_separation_mode === 'button') {\n cgallery.append('
Load More
');\n cgallery.on('click', '.btn_ajax_loadmore', click_btn_ajax_loadmore);\n if (o.settings_separation_pages.length === 0) {\n selfClass.cgallery.find('.btn_ajax_loadmore').hide();\n }\n }\n\n\n cgallery.on('mouseleave', handleMouseout);\n cgallery.on('mouseover', handleMouseover);\n\n function call_init_readyForInitingVideos() {\n init_readyForInitingVideos();\n }\n\n if (o.settings_mode === 'wall') {\n call_init_readyForInitingVideos();\n } else {\n loadScriptIfItDoesNotExist('', 'dzsvp_isLoaded').then(() => {\n call_init_readyForInitingVideos();\n });\n }\n }\n\n function init_readyForInitingVideos() {\n\n // -- first item\n\n if (selfClass._sliderCon.children().eq(o.startItem).attr('data-type') === 'link') {\n // -- only for link\n gotoItem(o.startItem, {donotopenlink: \"on\", 'called_from': 'init'});\n\n } else {\n // -- first item\n // -- normal\n if (o.settings_mode !== 'wall') {\n gotoItem(o.startItem, {'called_from': 'init'});\n }\n }\n }\n\n function setup_structure() {\n\n let structNavigationAndMainArea = '
'\n\n\n if (o.design_shadow === 'on') {\n cgallery.prepend('
');\n }\n selfClass.cgallery.append(structNavigationAndMainArea);\n selfClass.$navigationAndMainArea = selfClass.cgallery.find('.navigation-and-main-area').eq(0);\n\n\n selfClass.$navigationAndMainArea.css('background-color', selfClass.cgallery.css('background-color'));\n\n const navOptions = {\n navigationType: (o.nav_type === 'thumbs' ? 'hover' : o.nav_type === 'thumbsandarrows' ? 'thumbsAndArrows' : o.nav_type === 'outer' ? 'simple' : o.nav_type),\n menuPosition: o.menu_position,\n menuItemWidth: o.menuitem_width,\n menuItemHeight: o.menuitem_height,\n parentSkin: o.design_skin,\n viewNavigationIsUltibox: o.navigation_isUltibox,\n viewEnableMediaArea: (selfClass.viewOptions.enableVideoArea),\n viewAnimationDuration: o.navigation_viewAnimationDuration,\n navigationStructureHtml: selfClass.navigation_customStructure,\n };\n\n\n if (o.settings_mode === 'wall') {\n\n navOptions.gridClassItemsContainer = o.navigation_gridClassItemsContainer;\n navOptions.navigationType = 'simple';\n navOptions.filter_structureMenuItemContent = (final_structureMenuItemContent, $currentItemFeed) => {\n if ($currentItemFeed.attr('data-type')) {\n final_structureMenuItemContent = final_structureMenuItemContent.replace('dzs-navigation--item\"', 'dzs-navigation--item\" ' + ' data-video-type=\"' + $currentItemFeed.attr('data-type') + '\"');\n }\n\n return final_structureMenuItemContent;\n }\n }\n\n\n selfClass.Navigation = new DzsNavigation(selfClass, navOptions, $);\n\n\n selfClass.$sliderMain = cgallery.find('.sliderMain');\n selfClass._sliderCon = cgallery.find('.sliderCon');\n\n selfClass._mainNavigation = cgallery.find('.main-navigation');\n\n selfClass._sliderCon.addClass(o.extra_class_slider_con);\n\n if (o.settings_mode === 'slider') {\n selfClass.$sliderMain.after(selfClass._mainNavigation);\n }\n\n\n selfClass.$sliderMain.append('
');\n _navMain = selfClass.cgallery.find('.navMain');\n\n selfClass.$navigationItemsContainer = selfClass.cgallery.find('.videogallery--navigation-container').eq(0);\n\n\n if (o.settings_mode === 'slider') {\n _navMain.append('
' + svgForwardButton + '
' + svgBackButton + '
');\n }\n if (o.settings_mode === 'rotator') {\n _navMain.append('
');\n _navMain.append('
');\n }\n\n\n selfClass.$galleryButtons = selfClass.$sliderMain.children('.gallery-buttons');\n\n\n navigation_detectClassesForPosition(menu_position, selfClass._mainNavigation, cgallery);\n\n\n if (o.search_field === 'on') {\n dzsvg_playlist_initSearchField(selfClass, o);\n }\n\n }\n\n\n function setup_apiFunctions() {\n\n\n cgallery.get(0).SelfPlaylist = selfClass;\n // --- go to video 0 <<<< the start of the gallery\n cgallery.get(0).videoEnd = handleVideoEnd;\n cgallery.get(0).init_settings = init_settings;\n\n cgallery.get(0).api_play_currVideo = play_currVideo;\n cgallery.get(0).external_handle_stopCurrVideo = video_stopCurrentVideo;\n cgallery.get(0).api_gotoNext = gotoNext;\n cgallery.get(0).api_gotoPrev = gotoPrev;\n cgallery.get(0).api_gotoItem = gotoItem;\n cgallery.get(0).api_responsive_ratio_resize_h = apiResponsiveRationResize;\n\n // -- ad functions\n cgallery.get(0).api_ad_block_navigation = ad_block_navigation;\n cgallery.get(0).api_ad_unblock_navigation = ad_unblock_navigation;\n\n cgallery.get(0).api_handleResize = handleResize;\n cgallery.get(0).api_gotoItem = gotoItem;\n cgallery.get(0).api_handleResize_currVideo = handleResize_currVideo;\n cgallery.get(0).api_play_currVideo = play_currVideo;\n cgallery.get(0).api_pause_currVideo = pause_currVideo;\n cgallery.get(0).api_currVideo_refresh_fsbutton = api_currVideo_refresh_fsbutton;\n cgallery.get(0).api_video_ready = galleryTransition;\n cgallery.get(0).api_set_outerNav = function (arg) {\n o.settings_outerNav = arg;\n };\n cgallery.get(0).api_set_secondCon = function (arg) {\n o.settings_secondCon = arg;\n };\n cgallery.get(0).api_set_action_playlist_end = function (arg) {\n action_playlist_end = arg;\n };\n\n\n cgallery.get(0).api_played_video = function () {\n isFirstPlayed = true;\n };\n }\n\n\n function handleMouseover(e) {\n\n\n isMouseOver = true;\n\n }\n\n\n /**\n * handle actions for mouse over\n * @param e\n */\n function handleMouseout(e) {\n\n isMouseOver = false;\n\n if (o.nav_type_auto_scroll === 'on') {\n if (o.nav_type === 'thumbs' || o.nav_type === 'scroller') {\n setTimeout(function () {\n if (!isMouseOver) {\n // todo: import from navigation.js\n } else {\n handleMouseout();\n }\n }, 2000);\n }\n }\n\n }\n\n function handleKeyPress(e) {\n\n\n if (e.type === 'keyup') {\n\n if (e.keyCode === 27) {\n $('.'+PLAYLIST_VIEW_FULLSCREEN_CLASS).removeClass(PLAYLIST_VIEW_FULLSCREEN_CLASS);\n setTimeout(function () {\n $('.'+PLAYLIST_VIEW_FULLSCREEN_CLASS).removeClass(PLAYLIST_VIEW_FULLSCREEN_CLASS);\n }, 999);\n cgallery.find('.'+PLAYLIST_VIEW_FULLSCREEN_CLASS).removeClass(PLAYLIST_VIEW_FULLSCREEN_CLASS);\n setTimeout(function () {\n calculateDims();\n }, 100);\n }\n }\n\n\n }\n\n function try_to_init_scroller() {\n\n const baseUrl = window.dzsvg_settings && window.dzsvg_settings.libsUri ? window.dzsvg_settings.libsUri : '';\n\n loadScriptIfItDoesNotExist(baseUrl + 'dzsscroller/scroller.js', 'dzsscr_init').then(r => {\n window.dzsscr_init(_navMain, {\n 'enable_easing': 'on',\n 'settings_skin': 'skin_apple'\n });\n });\n $('head').append('');\n }\n\n\n function ad_block_navigation() {\n cgallery.addClass('ad-blocked-navigation');\n }\n\n function ad_unblock_navigation() {\n cgallery.removeClass('ad-blocked-navigation');\n }\n\n function init_playlistIsReady() {\n init_showPlaylist();\n\n\n if (o.settings_secondCon) {\n // -- moving this to bottom\n }\n\n\n if (o.settings_outerNav) {\n\n // -- we moved setup to bottom\n }\n\n\n handleResize();\n\n selfClass.cgallery.addClass('inited');\n }\n\n function handle_mouse(e) {\n\n var _t = $(this);\n if (_t.hasClass('rotator-btn-gotoNext')) {\n\n gotoNext();\n }\n if (_t.hasClass('rotator-btn-gotoPrev')) {\n\n gotoPrev();\n }\n }\n\n\n function init_showPlaylist() {\n\n\n cgallery.parent().children('.preloader').removeClass('is-visible');\n cgallery.parent().children('.css-preloader').removeClass('is-visible');\n\n setTimeout(() => {\n\n\n view_setCssPropsForElement(selfClass.cgallery, {\n 'min-height': '100px'\n })\n }, 100);\n\n\n if (o.init_on === 'scroll' && cgallery.hasClass('transition-slidein')) {\n setTimeout(function () {\n\n cgallery.addClass('dzsvg-loaded');\n\n if (cgallery.parent().hasClass('videogallery-con')) {\n cgallery.parent().addClass('dzsvg-loaded');\n }\n }, PLAYLIST_DEFAULT_TIMEOUT);\n } else {\n\n cgallery.addClass('dzsvg-loaded');\n if (cgallery.parent().hasClass('videogallery-con')) {\n cgallery.parent().addClass('dzsvg-loaded');\n }\n }\n }\n\n function setup_navigation_items() {\n if (o.settings_mode === 'normal' || o.settings_mode === 'wall') {\n buildPlaylist(selfClass);\n }\n }\n\n /**\n * transfer from feed con to slider con\n */\n function setup_transfer_items_to_sliderCon() {\n\n\n if (o.settings_mode !== 'wall') {\n var len = selfClass.$feedItemsContainer.find('.vplayer-tobe').length;\n for (i = 0; i < len; i++) {\n var _t = selfClass.$feedItemsContainer.children('.vplayer-tobe').eq(0);\n selfClass._sliderCon.append(_t);\n }\n }\n }\n\n function reinit(pargs) {\n var margs = {\n caller: null\n , 'called_from': 'default'\n }\n\n if (pargs) {\n margs = $.extend(margs, pargs);\n }\n\n\n selfClass.$containerForItems = cgallery;\n\n if (selfClass.$feedItemsContainer.children('.vplayer-tobe').length === 0) {\n selfClass.$containerForItems = selfClass._sliderCon;\n }\n\n setup_navigation_items();\n setup_transfer_items_to_sliderCon();\n\n\n if (o.settings_mode === 'videowall') {\n\n selfClass._sliderCon.children().each(function () {\n // --each item\n var _t = $(this);\n\n _t.wrap('
');\n\n\n o.videoplayersettings.responsive_ratio = 'detect';\n o.videoplayersettings.autoplay = 'off';\n o.videoplayersettings.preload_method = 'metadata';\n\n\n o.init_all_players_at_init = 'on';\n\n });\n }\n\n\n if (o.settings_mode === 'rotator3d') {\n menu_position = 'none';\n\n selfClass._sliderCon.children().each(function () {\n var _t = $(this);\n _t.addClass('rotator3d-item');\n\n\n view_setCssPropsForElement(_t, {'width': selfClass.videoAreaWidth, 'height': videoAreaHeight})\n _t.append('
');\n _t.children('.previewImg').bind('click', rotator3d_handleClickOnPreviewImg);\n\n })\n }\n\n\n if (o.init_all_players_at_init === 'on') {\n\n // -- init all players\n selfClass._sliderCon.find('.vplayer-tobe').each(function () {\n // -- each item\n var _t = $(this);\n\n o.videoplayersettings.autoplay = 'off';\n o.videoplayersettings.preload_method = 'metadata';\n\n\n o.videoplayersettings.gallery_object = cgallery;\n _t.vPlayer(o.videoplayersettings);\n });\n }\n\n\n nrChildren = selfClass._sliderCon.children().length;\n\n\n if (selfClass.cgallery.find('.feed-dzsvg--socialCode').length) {\n selfClass.feed_socialCode = selfClass.cgallery.find('.feed-dzsvg--socialCode').html();\n }\n\n\n if (o.settings_mode === 'wall') {\n dzsvg_mode_wall_reinitWallStructure(selfClass)\n }\n if (o.settings_mode === 'normal') {\n selfClass.$navigationItemsContainer.children('.dzs-navigation--item').unbind('click', handleClickOnNavigationContainer);\n selfClass.$navigationItemsContainer.children('.dzs-navigation--item').bind('click', handleClickOnNavigationContainer);\n\n }\n }\n\n\n /**\n * called from outside\n * @param resizeHeightDimension\n * @param pargs\n * @returns {boolean}\n */\n function apiResponsiveRationResize(resizeHeightDimension, pargs) {\n\n\n var margs = {\n caller: null\n , 'called_from': 'default'\n }\n\n if (pargs) {\n margs = $.extend(margs, pargs);\n }\n\n if (margs.caller == null || cgallery.parent().hasClass('skin-laptop')) {\n return false;\n }\n\n\n if (heightInitial === -1) {\n heightInitial = selfClass.$sliderMain.height();\n }\n\n\n $currVideoPlayer.height(resizeHeightDimension);\n\n\n view_setCssPropsForElement(selfClass.$sliderMain, {\n 'height': resizeHeightDimension,\n 'min-height': resizeHeightDimension\n })\n\n\n if (!cgallery.hasClass('ultra-responsive') && (menu_position === 'left' || menu_position === 'right' || menu_position === 'none')) {\n totalHeight = resizeHeightDimension;\n videoAreaHeight = resizeHeightDimension;\n\n\n if (o.settings_mode !== 'slider') {\n selfClass._mainNavigation.height(resizeHeightDimension);\n }\n videoAreaHeight = resizeHeightDimension;\n\n setTimeout(() => {\n\n selfClass.Navigation.calculateDims({forceMainAreaHeight: resizeHeightDimension});\n })\n\n } else {\n // -- responsive ratio\n\n\n view_setCssPropsForElement(selfClass.cgallery, {\n 'height': 'auto'\n })\n\n\n videoAreaHeight = resizeHeightDimension;\n\n }\n\n\n if (margs.caller) {\n margs.caller.data('height_for_videoheight', resizeHeightDimension);\n calculateDims({\n called_from: 'height_for_videoheight'\n });\n }\n\n if (o.nav_type === 'scroller') {\n setTimeout(function () {\n\n\n if (_navMain.get(0) && _navMain.get(0).api_toggle_resize) {\n _navMain.get(0).api_toggle_resize();\n }\n }, 100)\n }\n\n\n }\n\n\n /**\n * calculate dimensions\n * @param pargs\n * @returns {boolean}\n */\n function calculateDims(pargs) {\n\n var margs = {\n 'called_from': 'default'\n };\n if (pargs) {\n margs = $.extend(margs, pargs);\n }\n\n\n totalWidth = selfClass.cgallery.outerWidth();\n totalHeight = selfClass.cgallery.height();\n\n if (selfClass.cgallery.height() === 0) {\n if (o.forceVideoHeight) {\n if (menu_position === 'top' || menu_position === 'bottom') {\n totalHeight = o.forceVideoHeight + o.design_menuitem_height;\n } else {\n totalHeight = o.forceVideoHeight;\n }\n }\n }\n\n\n if (margs.called_from === 'recheck_sizes') {\n\n if (Math.abs(last_totalWidth - totalWidth) < 4 && Math.abs(last_totalHeight - totalHeight) < 4) {\n\n\n return false;\n }\n\n }\n\n\n last_totalWidth = totalWidth;\n last_totalHeight = totalHeight;\n\n\n if (totalWidth < 721) {\n cgallery.addClass('under-720');\n\n\n } else {\n cgallery.removeClass('under-720');\n }\n\n\n if (totalWidth < 601) {\n cgallery.addClass('under-600');\n } else {\n cgallery.removeClass('under-600');\n }\n\n\n if (String(cgallery.get(0).style.height).indexOf('%') > -1) {\n\n totalHeight = cgallery.height();\n } else {\n\n if (cgallery.data('init-height')) {\n\n totalHeight = cgallery.data('init-height');\n } else {\n\n totalHeight = cgallery.height();\n\n setTimeout(function () {\n })\n\n }\n }\n\n\n selfClass.videoAreaWidth = totalWidth;\n videoAreaHeight = totalHeight;\n\n\n menuitem_width = o.menuitem_width;\n menuitem_height = o.menuitem_height;\n\n\n if ((menu_position === 'right' || menu_position === 'left') && nrChildren > 1) {\n selfClass.videoAreaWidth -= (menuitem_width);\n }\n\n\n if (o.nav_type !== 'outer' && (menu_position === 'bottom' || menu_position === 'top') && nrChildren > 1 && cgallery.get(0).style && cgallery.get(0).style.height && cgallery.get(0).style.height !== 'auto') {\n videoAreaHeight -= (menuitem_height);\n } else {\n videoAreaHeight = o.sliderAreaHeight;\n }\n\n\n if ($currVideoPlayer && $currVideoPlayer.data('height_for_videoheight')) {\n\n videoAreaHeight = $currVideoPlayer.data('height_for_videoheight');\n\n last_height_for_videoheight = videoAreaHeight;\n } else {\n // -- lets try to get the last value known for responsive ratio if the height of the current video is now currently known\n if (o.videoplayersettings.responsive_ratio && o.videoplayersettings.responsive_ratio === 'detect') {\n if (last_height_for_videoheight) {\n videoAreaHeight = last_height_for_videoheight;\n }\n\n } else {\n if (menu_position === 'left' || menu_position === 'right') {\n videoAreaHeight = o.sliderAreaHeight;\n }\n }\n }\n\n\n if (o.forceVideoHeight !== '' && (!o.videoplayersettings || o.videoplayersettings.responsive_ratio !== 'detect')) {\n videoAreaHeight = o.forceVideoHeight;\n }\n\n if (o.settings_mode === 'rotator3d') {\n selfClass.videoAreaWidth = totalWidth / 2;\n videoAreaHeight = totalHeight * 0.8;\n menuitem_width = 0;\n menuitem_height = 0;\n }\n\n\n cgallery.addClass('transition-' + o.transition_type)\n\n\n // === if there is only one video we hide the nav\n if (nrChildren === 1) {\n selfClass._mainNavigation.hide();\n }\n\n\n if ($currVideoPlayer) {\n\n }\n ;\n\n heightPosition = 0;\n for (i = 0; i < nrChildren; i++) {\n\n heightPosition += totalHeight;\n }\n\n if (o.settings_mode !== 'wall' && o.settings_mode !== 'videowall') {\n\n\n\n view_setCssPropsForElement(selfClass.$sliderMain, {\n 'width': selfClass.videoAreaWidth\n })\n\n\n if ((menu_position === 'left' || menu_position === 'right') && nrChildren > 1) {\n\n\n view_setCssPropsForElement(selfClass.$sliderMain, {\n 'width': 'auto'\n })\n }\n\n\n view_setCssPropsForElement(selfClass.$sliderMain, {\n 'height': videoAreaHeight\n })\n\n }\n\n if (o.settings_mode === 'rotator3d') {\n view_setCssPropsForElement(selfClass.$sliderMain, {\n 'width': totalWidth,\n 'height': totalHeight\n })\n view_setCssPropsForElement(selfClass._sliderCon.children(), {\n 'width': selfClass.videoAreaWidth,\n 'height': videoAreaHeight\n })\n }\n\n\n // -- END calculate dims for navigation / mode-normal\n\n\n if (o.settings_mode === 'normal') {\n heightPosition = 0;\n wpos = 0;\n\n const $dzsNavItems = selfClass.$navigationItemsContainer.find('.dzs-navigation--item');\n\n\n if (menuitem_width) {\n\n\n view_setCssPropsForElement($dzsNavItems, {\n 'width': menuitem_width,\n })\n }\n if (menuitem_height) {\n\n view_setCssPropsForElement($dzsNavItems, {\n 'height': menuitem_height\n })\n }\n\n if (menuitem_height === 0) {\n view_setCssPropsForElement($dzsNavItems, {\n 'height': ''\n })\n }\n\n }\n\n if (o.nav_type === 'scroller') {\n\n if (menu_position === 'top' || menu_position === 'bottom') {\n navWidth = 0;\n selfClass.$navigationItemsContainer.children().each(function () {\n const _t = $(this);\n navWidth += _t.outerWidth(true);\n });\n selfClass.$navigationItemsContainer.width(navWidth);\n }\n }\n\n\n calculateDims_secondCon(currNr_curr);\n\n\n selfClass.Navigation.calculateDims();\n // -- calculateDims() END\n }\n\n function view_handleOrientationChange() {\n setTimeout(function () {\n handleResize();\n }, 1000);\n }\n\n function handleResize(e, pargs) {\n ww = $(window).width();\n heightWindow = $(window).height();\n\n conw = $galleryParent.width();\n\n\n if (cgallery.hasClass('try-breakout')) {\n view_setCssPropsForElement(cgallery, {\n 'width': ww + 'px'\n })\n\n view_setCssPropsForElement(cgallery, {\n 'margin-left': '0'\n })\n\n\n if (cgallery.offset().left > 0) {\n view_setCssPropsForElement(cgallery, {\n 'margin-left': '-' + cgallery.offset().left + 'px'\n })\n }\n }\n\n\n if (cgallery.hasClass('try-height-as-window-minus-offset')) {\n\n let windowMinusGalleryOffset = heightWindow - cgallery.offset().top;\n if (windowMinusGalleryOffset < PLAYLIST_HEIGHT_IS_WINDOW_MAX_OFFSET) {\n view_setCssPropsForElement(cgallery, {\n 'height': '90vh'\n })\n } else {\n view_setCssPropsForElement(cgallery, {\n 'height': windowMinusGalleryOffset + 'px'\n })\n }\n\n }\n\n\n calculateDims();\n\n\n if ($currVideoPlayer) {\n handleResize_currVideo();\n }\n\n }\n\n function handleResize_currVideo(e, pargs) {\n\n\n var margs = {\n 'force_resize_gallery': true\n , 'called_from': 'default'\n };\n\n if (pargs) {\n margs = $.extend(margs, pargs);\n }\n\n\n margs.called_from += '_handleResize_currVideo';\n\n if (($currVideoPlayer) && $currVideoPlayer.get(0) && ($currVideoPlayer.get(0).api_handleResize)) {\n\n\n $currVideoPlayer.get(0).api_handleResize(null, margs);\n }\n }\n\n function pause_currVideo(e, pargs) {\n\n\n var margs = {\n 'force_resize_gallery': true\n , 'called_from': 'default'\n };\n\n if (pargs) {\n margs = $.extend(margs, pargs);\n }\n\n\n margs.called_from += '_pause_currVideo';\n\n if (($currVideoPlayer) && ($currVideoPlayer.get(0).api_pauseMovie)) {\n\n\n $currVideoPlayer.get(0).api_pauseMovie(margs);\n }\n }\n\n\n function api_currVideo_refresh_fsbutton(argcol) {\n if (typeof ($currVideoPlayer) != \"undefined\" && typeof ($currVideoPlayer.get(0)) != \"undefined\" && typeof ($currVideoPlayer.get(0).api_currVideo_refresh_fsbutton) != \"undefined\") {\n $currVideoPlayer.get(0).api_currVideo_refresh_fsbutton(argcol);\n }\n }\n\n\n function handleClickOnNavigationContainer(e) {\n var _t = $(this);\n\n let classForNavigationItem = '';\n\n if (_t.hasClass('dzs-navigation--item')) {\n classForNavigationItem = '.dzs-navigation--item';\n }\n\n console.log('classForNavigationItem - ', classForNavigationItem);\n\n if (e) {\n selfClass.handleHadFirstInteraction(e);\n }\n\n\n if (_t.get(0) && _t.get(0).nodeName !== \"A\") {\n gotoItem(selfClass.$navigationItemsContainer.children(classForNavigationItem).index(_t));\n\n\n if (o.nav_type_auto_scroll === 'on') {\n if (o.nav_type === 'thumbs' || o.nav_type === 'scroller') {\n\n\n isMenuMovementLocked = true;\n\n setTimeout(function () {\n\n\n // todo: get form _navigation.js\n\n }, 100);\n setTimeout(function () {\n\n\n isMenuMovementLocked = false;\n\n }, 2000);\n }\n }\n\n } else {\n if ($currVideoPlayer && $currVideoPlayer.get(0) && typeof ($currVideoPlayer.get(0).api_pauseMovie) != \"undefined\") {\n $currVideoPlayer.get(0).api_pauseMovie({\n 'called_from': 'handleClickOnNavigationContainer()'\n });\n }\n\n }\n\n }\n\n function handleScroll() {\n if (!selfClass.isGalleryLoaded) {\n // -- try init\n\n\n var st = $(window).scrollTop();\n var cthisOffsetTop = cgallery.offset().top;\n\n var wh = window.innerHeight;\n\n\n if (cthisOffsetTop < st + wh + 50) {\n init();\n }\n\n return;\n } else {\n // -- try LOAD MORE\n\n var _t = $(this);//==window\n wh = $(window).height();\n if (isBusyAjax === true || ind_ajaxPage >= o.settings_separation_pages.length) {\n return;\n }\n\n\n if ((_t.scrollTop() + wh) > (cgallery.offset().top + cgallery.height() - 10)) {\n ajax_load_nextpage();\n }\n }\n\n }\n\n function click_btn_ajax_loadmore(e) {\n\n if (isBusyAjax === true || ind_ajaxPage >= o.settings_separation_pages.length) {\n return;\n }\n cgallery.find('.btn_ajax_loadmore').addClass('disabled')\n ajax_load_nextpage();\n }\n\n function ajax_load_nextpage() {\n\n cgallery.parent().children('.preloader').addClass('is-visible');\n\n $.ajax({\n url: o.settings_separation_pages[ind_ajaxPage],\n success: function (response) {\n setTimeout(function () {\n\n selfClass.$feedItemsContainer.append(response);\n reinit({\n 'called_from': 'ajax_load_nextpage'\n });\n cgallery.find('.btn_ajax_loadmore').removeClass('disabled');\n setTimeout(function () {\n isBusyAjax = false;\n cgallery.parent().children('.preloader').removeClass('is-visible');\n ind_ajaxPage++;\n\n\n if (ind_ajaxPage >= o.settings_separation_pages.length) {\n cgallery.children('.btn_ajax_loadmore').removeClass('is-visible');\n }\n\n\n }, 1000);\n }, 1000);\n },\n error: function (xhr, ajaxOptions, thrownError) {\n ind_ajaxPage++;\n cgallery.parent().children('.preloader').removeClass('is-visible');\n\n }\n });\n\n isBusyAjax = true;\n }\n\n function gotoItem(arg, pargs) {\n\n\n var gotoItemOptions = {\n\n 'ignore_arg_currNr_check': false\n , 'ignore_linking': false // -- does not change the link if set to true\n , donotopenlink: \"off\"\n , called_from: \"default\"\n }\n\n if (pargs) {\n gotoItemOptions = $.extend(gotoItemOptions, pargs);\n }\n\n\n if (!(o.settings_mode === 'normal' && o.mode_normal_video_mode === 'one')) {\n\n if (currNr === arg || isBusyTransition) {\n return false;\n }\n }\n let isTransformed = false; // -- if the video is already transformed there is no need to wait\n var _currentTargetPlayer = selfClass._sliderCon.children().eq(arg);\n var argsForVideoPlayer = $.extend({}, o.videoplayersettings);\n\n\n $currVideoPlayer = _currentTargetPlayer;\n\n argsForVideoPlayer.gallery_object = cgallery;\n argsForVideoPlayer.gallery_last_curr_nr = currNr;\n if (gotoItemOptions.called_from === 'init') {\n argsForVideoPlayer.first_video_from_gallery = 'on';\n }\n\n argsForVideoPlayer['gallery_target_index'] = arg;\n\n\n var shouldVideoAutoplay = assertVideoFromGalleryAutoplayStatus(currNr, o, cgallery);\n argsForVideoPlayer['autoplay'] = shouldVideoAutoplay ? 'on' : 'off';\n\n\n currNr_curr = arg;\n\n\n if (o.settings_enable_linking === 'on') {\n\n if (_currentTargetPlayer.attr('data-type') === 'link' && (gotoItemOptions.donotopenlink !== 'on')) {\n playlistGotoItemHistoryChangeForLinks(ind_ajaxPage, o, cgallery, _currentTargetPlayer, selfClass.deeplinkGotoItemQueryParam);\n return false;\n }\n if (_currentTargetPlayer.attr('data-type') !== 'link') {\n playlistGotoItemHistoryChangeForNonLinks(gotoItemOptions, o, selfClass.galleryComputedId, arg, selfClass.deeplinkGotoItemQueryParam);\n }\n }\n\n if (o.settings_mode === 'normal' && o.mode_normal_video_mode === 'one') {\n _currentTargetPlayer = selfClass._sliderCon.children().eq(0);\n _currentTargetPlayer.addClass('playlist-mode-video-one--main-player')\n $currVideoPlayer = _currentTargetPlayer;\n\n var _targetPlayer = selfClass._sliderCon.children().eq(arg);\n var optionsForChange = detect_videoTypeAndSourceForElement(_targetPlayer);\n // -- one\n if ($currVideoPlayer.hasClass('vplayer')) {\n\n pause_currVideo();\n\n\n $currVideoPlayer.get(0).api_change_media(\n optionsForChange.source, {\n 'type': optionsForChange.type,\n autoplay: shouldVideoAutoplay ? 'on' : 'off'\n })\n\n } else {\n // -- one video_mode .. vplayer-tobe\n // -- first item\n $currVideoPlayer.vPlayer(argsForVideoPlayer);\n $currVideoPlayer.addClass('active');\n $currVideoPlayer.addClass('currItem');\n }\n selfClass.$navigationItemsContainer.children('.dzs-navigation--item').removeClass('active');\n selfClass.$navigationItemsContainer.children('.dzs-navigation--item').eq(arg).addClass('active');\n }\n\n\n // -- not one\n if (!(o.settings_mode === 'normal' && o.mode_normal_video_mode === 'one')) {\n if (currNr > -1) {\n var _c2 = selfClass._sliderCon.children().eq(currNr);\n\n // --- if on iPad or iPhone, we disable the video as it had runed in a iframe and it wont pause otherwise\n _c2.addClass('transitioning-out');\n if (o.settings_mode === 'normal' && (is_ios() || _c2.attr('data-type') === 'inline' || (_c2.attr('data-type') === 'youtube' && o.videoplayersettings['settings_youtube_usecustomskin'] !== 'on'))) {\n setTimeout(function () {\n _c2.find('.video-description').remove();\n _c2.data('original-iframe', _c2.html());\n\n // -- we will delete inline content here\n _c2.html('');\n\n _c2.removeClass('vplayer');\n _c2.addClass('vplayer-tobe');\n\n }, 1000);\n }\n ;\n }\n }\n\n\n if (o.autoplay_ad === 'on') {\n\n _currentTargetPlayer.data('adplayed', 'on');\n } else {\n _currentTargetPlayer.data('adplayed', 'off');\n }\n\n\n if (_currentTargetPlayer.hasClass('vplayer')) {\n isTransformed = true;\n }\n\n\n if (!(o.settings_mode === 'normal' && o.mode_normal_video_mode === 'one')) {\n _currentTargetPlayer.addClass('transitioning-in');\n }\n\n\n if (_currentTargetPlayer.hasClass('type-inline') && _currentTargetPlayer.data('original-iframe')) {\n if (_currentTargetPlayer.html() === '') {\n _currentTargetPlayer.html(_currentTargetPlayer.data('original-iframe'));\n }\n }\n\n // -- not one\n if (!(o.settings_mode === 'normal' && o.mode_normal_video_mode === 'one')) {\n if (_currentTargetPlayer.hasClass('vplayer-tobe')) {\n // -- if not inited\n\n _currentTargetPlayer.addClass('in-vgallery');\n argsForVideoPlayer['videoWidth'] = selfClass.videoAreaWidth;\n argsForVideoPlayer['videoHeight'] = '';\n argsForVideoPlayer['old_curr_nr'] = currNr;\n\n\n if (currNr === -1 && o.cueFirstVideo === 'off') {\n argsForVideoPlayer.cueVideo = 'off';\n } else {\n argsForVideoPlayer.cueVideo = 'on';\n }\n\n argsForVideoPlayer['settings_disableControls'] = 'off';\n\n\n argsForVideoPlayer.htmlContent = '';\n\n argsForVideoPlayer.gallery_object = cgallery;\n\n if (argsForVideoPlayer.end_exit_fullscreen === 'off') {\n // -- exit fullscreen on video end\n\n if (cgallery.find('.vplayer.currItem').hasClass('type-vimeo')) {\n cgallery.find('.vplayer.currItem').removeClass(PLAYLIST_VIEW_FULLSCREEN_CLASS)\n }\n\n // -- next video has fullscreen status\n if (fullscreen_status() === 1) {\n argsForVideoPlayer.extra_classes = argsForVideoPlayer.extra_classes ? argsForVideoPlayer.extra_classes + ' '+PLAYLIST_VIEW_FULLSCREEN_CLASS : ' '+PLAYLIST_VIEW_FULLSCREEN_CLASS;\n }\n\n setTimeout(function () {\n\n }, 500);\n }\n\n if (o.settings_disableVideo === 'on') {\n } else {\n // -- NOT ONE MODE o.mode_normal_video_mode\n _currentTargetPlayer.vPlayer(argsForVideoPlayer);\n\n }\n\n\n } else {\n\n // -- NOT (ONE) if already setuped\n\n\n if (!(o.init_all_players_at_init === 'on' && currNr === -1)) {\n if (shouldVideoAutoplay) {\n if (typeof _currentTargetPlayer.get(0) != 'undefined' && typeof _currentTargetPlayer.get(0).externalPlayMovie != 'undefined') {\n _currentTargetPlayer.get(0).externalPlayMovie({\n 'called_from': 'autoplayNext'\n });\n }\n }\n }\n\n if (o.videoplayersettings.end_exit_fullscreen === 'off') {\n\n\n if (fullscreen_status() === 1) {\n _currentTargetPlayer.addClass(PLAYLIST_VIEW_FULLSCREEN_CLASS);\n }\n }\n\n // -- we force a resize on the player just in case it has an responsive ratio\n\n\n setTimeout(function () {\n if (typeof _currentTargetPlayer.get(0) != 'undefined' && _currentTargetPlayer.get(0).api_handleResize) {\n\n _currentTargetPlayer.get(0).api_handleResize(null, {\n force_resize_gallery: true\n })\n }\n }, 250);\n\n\n }\n\n }\n\n\n prevNr = arg - 1;\n if (prevNr < 0) {\n prevNr = selfClass._sliderCon.children().length - 1;\n }\n nextNr = arg + 1;\n if (nextNr > selfClass._sliderCon.children().length - 1) {\n nextNr = 0;\n }\n\n\n if (o.settings_mode === 'normal') {\n view_setCssPropsForElement(_currentTargetPlayer, {\n 'display': ''\n })\n }\n if (o.settings_mode === 'rotator3d') {\n selfClass._sliderCon.children().removeClass('nextItem currItem hide-preview-img').removeClass('prevItem');\n selfClass._sliderCon.children().eq(nextNr).addClass('nextItem');\n selfClass._sliderCon.children().eq(prevNr).addClass('prevItem');\n }\n if (o.settings_mode === 'rotator') {\n\n if (currNr > -1) {\n\n }\n var _descCon = _navMain.children('.descriptionsCon');\n _descCon.children('.currDesc').removeClass('currDesc').addClass('pastDesc');\n _descCon.append('
' + _currentTargetPlayer.find('.menuDescription').html() + '
');\n setTimeout(function () {\n _descCon.children('.desc').addClass('currDesc');\n }, 20)\n\n }\n\n\n last_arg = arg;\n\n\n if (!(o.settings_mode === 'normal' && o.mode_normal_video_mode === 'one')) {\n\n if (currNr === -1 || isTransformed) {\n galleryTransition();\n if (o.settings_mode === 'rotator3d') {\n selfClass._sliderCon.children().eq(arg).addClass('hide-preview-img');\n }\n } else {\n cgallery.parent().children('.preloader').addClass('is-visible');\n\n let delay = 500;\n\n if (o.settings_mode === 'rotator3d') {\n delay = 10;\n selfClass._sliderCon.children().eq(arg).addClass('currItem');\n setTimeout(function () {\n\n selfClass._sliderCon.children().eq(arg).addClass('hide-preview-img');\n }, PLAYLIST_DEFAULT_TIMEOUT);\n }\n\n inter_start_the_transition = setTimeout(galleryTransition, delay, arg);\n\n }\n } else {\n isBusyAjax = false;\n isBusyTransition = false;\n\n\n currNr = arg;\n }\n\n calculateDims_secondCon(arg);\n\n if (o.settings_outerNav) {\n\n var _c_outerNav = $(o.settings_outerNav);\n _c_outerNav.find('.videogallery--navigation-outer--block ').removeClass('active');\n _c_outerNav.find('.videogallery--navigation-outer--block ').eq(arg).addClass('active');\n\n _c_outerNav.find('*[data-global-responsive-ratio]').each(function () {\n var _t4 = $(this);\n\n var rat = Number(_t4.attr('data-global-responsive-ratio'));\n\n _t4.height(rat * _t4.width());\n })\n }\n\n if (cgallery.hasClass('responsive-ratio-smooth')) {\n if (!_currentTargetPlayer.attr('data-responsive_ratio')) {\n apiResponsiveRationResize(heightInitial);\n } else {\n $(window).trigger('resize');\n }\n\n }\n\n\n cgallery.removeClass('hide-players-not-visible-on-screen');\n setTimeout(function () {\n\n cgallery.addClass('hide-players-not-visible-on-screen');\n selfClass._sliderCon.find('.transitioning-in').removeClass('transitioning-in');\n selfClass._sliderCon.find('.transitioning-out').removeClass('transitioning-out');\n\n\n var _extraBtns = null;\n\n\n if (cgallery.parent().parent().next().hasClass('extra-btns-con')) {\n _extraBtns = cgallery.parent().parent().next();\n }\n if (cgallery.parent().parent().next().next().hasClass('extra-btns-con')) {\n _extraBtns = cgallery.parent().parent().next().next();\n }\n if (_extraBtns) {\n _extraBtns.find('.stats-btn').attr('data-playerid', $currVideoPlayer.attr('data-player-id'));\n\n }\n }, 400);\n\n isBusyTransition = true;\n\n\n return !(o.settings_mode === 'normal' && o.mode_normal_video_mode === 'one');\n\n\n }\n\n\n function galleryTransition() {\n if (isTransitionStarted) {\n return;\n }\n\n var arg = last_arg;\n\n\n var _c = selfClass._sliderCon.children().eq(arg);\n\n isTransitionStarted = true;\n clearTimeout(inter_start_the_transition);\n cgallery.parent().children('.preloader').removeClass('is-visible');\n\n\n selfClass._sliderCon.children().removeClass('currItem');\n\n if (currNr === -1) {\n _c.addClass('currItem');\n _c.addClass('no-transition');\n setTimeout(function () {\n selfClass._sliderCon.children().eq(currNr).removeClass('no-transition')\n })\n } else {\n\n if (currNr !== arg) {\n\n selfClass._sliderCon.children().eq(currNr).addClass('transition-slideup-gotoTop')\n } else {\n\n selfClass._sliderCon.children().eq(currNr).addClass('currItem');\n }\n\n\n }\n\n setTimeout(setCurrVideoClass, 100);\n selfClass.$navigationItemsContainer.children('.dzs-navigation--item').removeClass('active');\n selfClass.$navigationItemsContainer.children('.dzs-navigation--item').eq(arg).addClass('active');\n\n\n setTimeout(function () {\n $('window').trigger('resize');\n selfClass._sliderCon.children().removeClass('transition-slideup-gotoTop');\n }, 1000);\n\n if (is_ios() && currNr > -1) {\n if (selfClass._sliderCon.children().eq(currNr).children().eq(0).length > 0 && selfClass._sliderCon.children().eq(currNr).children().eq(0)[0] !== undefined) {\n if (selfClass._sliderCon.children().eq(currNr).children().eq(0)[0].tagName === 'VIDEO') {\n selfClass._sliderCon.children().eq(currNr).children().eq(0).get(0).pause();\n }\n }\n }\n\n if (isFirstTransition) {\n\n video_stopCurrentVideo({\n 'called_from': 'the_transition'\n });\n }\n\n if (currNr > -1) {\n\n\n isFirstTransition = true;\n\n\n }\n currNr = arg;\n\n setTimeout(function () {\n\n isBusyTransition = false;\n isTransitionStarted = false;\n hideAllVideosButCurrentVideo();\n }, 400);\n }\n\n // -- end the_transition()\n\n\n function calculateDims_secondCon(arg) {\n\n\n if (o.settings_secondCon) {\n\n var _c = $(o.settings_secondCon);\n\n\n _c.find('.item').removeClass('active');\n _c.find('.item').eq(arg).addClass('active');\n const $innerSecondCon = _c.find('.dzsas-second-con--clip');\n if($innerSecondCon.length){\n\n view_setCssPropsForElement($innerSecondCon, {\n 'height': _c.find('.item').eq(arg).outerHeight(false),\n 'left': -(arg * 100) + '%'\n })\n }\n\n\n }\n }\n\n function hideAllVideosButCurrentVideo() {\n if (o.settings_mode === 'normal') {\n\n selfClass._sliderCon.children().each(function () {\n var $videoItem = $(this);\n\n if (!$videoItem.hasClass('currItem')) {\n $videoItem.hide();\n }\n })\n }\n }\n\n\n function setCurrVideoClass() {\n\n if ($currVideoPlayer) {\n\n $currVideoPlayer.addClass('currItem');\n }\n }\n\n\n function play_currVideo() {\n\n if (selfClass._sliderCon.children().eq(currNr).get(0) && selfClass._sliderCon.children().eq(currNr).get(0).externalPauseMovie) {\n selfClass._sliderCon.children().eq(currNr).get(0).api_playMovie({\n 'called_from': 'api_playMovie'\n });\n }\n }\n\n function video_stopCurrentVideo(pargs) {\n\n var margs = {\n 'called_from': 'default'\n }\n\n if (pargs) {\n margs = $.extend(margs, pargs);\n }\n\n if (!(is_ios()) && currNr > -1 && o.mode_normal_video_mode !== 'one') {\n if (selfClass._sliderCon.children().eq(currNr).get(0) && selfClass._sliderCon.children().eq(currNr).get(0).externalPauseMovie) {\n selfClass._sliderCon.children().eq(currNr).get(0).externalPauseMovie({\n 'called_from': 'external_handle_stopCurrVideo() - ' + margs.called_from\n });\n }\n }\n }\n\n\n function gotoPrev() {\n\n if (o.playorder === 'reverse') {\n gotoNext();\n return;\n }\n\n var tempNr = currNr - 1;\n if (tempNr < 0) {\n tempNr = selfClass._sliderCon.children().length - 1;\n }\n gotoItem(tempNr);\n\n\n }\n\n function gotoNext() {\n\n if (o.playorder === 'reverse') {\n gotoPrev();\n return;\n }\n\n var isGoingToGoNext = true;\n var tempNr = currNr + 1;\n if (tempNr >= selfClass._sliderCon.children().length) {\n tempNr = 0;\n\n\n if (o.loop_playlist !== 'on') {\n isGoingToGoNext = false;\n }\n\n if (action_playlist_end) {\n action_playlist_end(cgallery);\n }\n }\n\n\n if (isGoingToGoNext) {\n\n // -- we will go forward with next movie\n gotoItem(tempNr);\n }\n\n\n if (o.nav_type_auto_scroll === 'on') {\n if (o.nav_type === 'thumbs' || o.nav_type === 'scroller') {\n setTimeout(function () {\n selfClass.Navigation.animate_to_curr_thumb();\n }, 20);\n }\n }\n }\n\n function handleVideoEnd() {\n // -- cgallery\n if (o.autoplayNext === 'on') {\n gotoNext();\n }\n }\n\n\n function rotator3d_handleClickOnPreviewImg(e) {\n var _t = $(this);\n var selectedIndex = _t.parent().parent().children().index(_t.parent());\n\n if (e) {\n selfClass.handleHadFirstInteraction(e);\n }\n\n gotoItem(selectedIndex);\n }\n\n }\n\n\n\n /**\n *\n * @param {Event} e\n * @returns {boolean}\n */\n handleHadFirstInteraction(e) {\n\n if (this.cgallery.data('user-had-first-interaction')) {\n return false;\n }\n\n\n this.isHadFirstInteraction = true;\n this.cgallery.data('user-had-first-interaction', 'yes');\n this.cgallery.addClass('user-had-first-interaction');\n\n }\n}\n\n\nexport function apply_videogallery_plugin($) {\n $.fn.vGallery = function (argOptions) {\n\n var finalOptions = {};\n var defaultOptions = Object.assign({}, defaultPlaylistSettings);\n finalOptions = convertPluginOptionsToFinalOptions(this, defaultOptions, argOptions);\n this.each(function () {\n\n return new DzsVideoGallery(this, finalOptions, $);\n }); // end each\n\n }\n\n\n window.dzsvg_init = function (selector, settings) {\n $(selector).vGallery(settings);\n };\n // -- deprecated\n window.zsvg_init = function (selector, settings) {\n $(selector).vGallery(settings);\n };\n}\n\n\nif (!window.dzsvg_settings) {\n if (window.dzsvg_default_settings) {\n window.dzsvg_settings = {...{}};\n }\n}\nwindow.setup_videogalleryCategories = setup_videogalleryCategories;\n\n\nfunction dzsvg_handleInitedjQuery() {\n\n\n (function ($) {\n apply_videogallery_plugin(jQuery);\n })(jQuery);\n\n\n const dzsvg_reinit = () => {\n\n secondCon_initFunctions();\n init_navigationOuter();\n init_secondCon();\n }\n\n\n jQuery(document).ready(function ($) {\n dzsvg_init('.videogallery.auto-init');\n dzsvg_reinit();\n })\n dzsvgExtraWindowFunctions();\n\n\n window.dzsvg_reinit = dzsvg_reinit;\n}\n\nloadScriptIfItDoesNotExist('', 'jQuery').then(() => {\n dzsvg_handleInitedjQuery();\n})","import {\n playlist_get_real_responsive_ratio, playlist_navigation_mode_one__set_players_data,\n\n} from \"./_playlistHelpers\";\nimport {detect_video_type_and_source, getDataOrAttr} from \"../_dzsvg_helpers\";\nimport {PLAYER_DEFAULT_RESPONSIVE_RATIO} from \"../../configs/Constants\";\n\n/**\n *\n * transfer feed items\n * @param {DzsVideoGallery} selfClass\n */\nexport function buildPlaylist(selfClass) {\n\n\n var itemsLength = selfClass.$feedItemsContainer.find('.vplayer-tobe').length;\n var o = selfClass.initOptions;\n\n selfClass.Navigation.addNavigationItems(selfClass.$feedItemsContainer);\n\n for (let i = 0; i < itemsLength; i++) {\n var $currentItemFeed = selfClass.$feedItemsContainer.find('.vplayer-tobe').eq(i);\n\n var vpRealSrc = getDataOrAttr($currentItemFeed, 'data-sourcevp');\n var sourceAndType = detect_video_type_and_source(vpRealSrc);\n vpRealSrc = sourceAndType.source;\n $currentItemFeed.data('dzsvg-curatedtype-from-gallery', sourceAndType.type);\n if (sourceAndType.type === 'youtube') {\n if (sourceAndType.source) {\n $currentItemFeed.data('dzsvg-curatedid-from-gallery', sourceAndType.source);\n }\n }\n\n\n vpRealSrc = getDataOrAttr($currentItemFeed, 'data-sourcevp');\n sourceAndType = detect_video_type_and_source(vpRealSrc);\n vpRealSrc = sourceAndType.source;\n const curatedTypeFromGallery = sourceAndType.type;\n\n $currentItemFeed.data('dzsvg-curatedtype-from-gallery', curatedTypeFromGallery);\n $currentItemFeed.data('dzsvg-curatedid-from-gallery', sourceAndType.source);\n\n\n // -- this is inside video gallery\n if ((curatedTypeFromGallery === 'youtube' || curatedTypeFromGallery === 'vimeo' || curatedTypeFromGallery === 'facebook' || curatedTypeFromGallery === 'inline')\n && o.videoplayersettings.responsive_ratio === 'detect' && !($currentItemFeed.attr('data-responsive_ratio'))) {\n if (!$currentItemFeed.attr('data-responsive_ratio') || $currentItemFeed.attr('data-responsive_ratio') === 'detect') {\n $currentItemFeed.attr('data-responsive_ratio', String(PLAYER_DEFAULT_RESPONSIVE_RATIO));\n }\n if (curatedTypeFromGallery === 'inline') {\n setTimeout(function () {\n selfClass.apiResponsiveRationResize(PLAYER_DEFAULT_RESPONSIVE_RATIO * selfClass.videoAreaWidth);\n }, 3003);\n }\n $currentItemFeed.attr('data-responsive_ratio-not-known-for-sure', 'on'); // -- we set this until we know the responsive ratio for sure , 0.562 is just 16/9 ratio so should fit to most videos\n\n if (o.php_media_data_retriever) {\n playlist_get_real_responsive_ratio(i, selfClass);\n }\n }\n\n\n var $cacheMenuItem = selfClass.$navigationItemsContainer.children().last();\n\n if (o.settings_mode === 'normal') {\n if (o.mode_normal_video_mode === 'one') {\n playlist_navigation_mode_one__set_players_data($cacheMenuItem);\n }\n }\n\n }\n\n\n\n}","\nimport {ConstantsDzsvg} from '../../configs/Constants';\nexport function secondCon_initFunctions () {\n\n\n var $ = jQuery;\n $(document).off('click', '.dzsas-second-con .read-more-label');\n $(document).on('click', '.dzsas-second-con .read-more-label', function (e) {\n\n\n var _t = $(this);\n var _con = _t.parent();\n\n var _content = _con.children('.read-more-content').eq(0);\n\n if (_con.hasClass('active')) {\n\n _content.css({\n 'height': 0\n }, {\n queue: false\n , duration: ConstantsDzsvg.ANIMATIONS_DURATION\n , complete: function (e) {\n\n\n }\n })\n\n _con.removeClass('active');\n } else {\n _content.css('height', 'auto');\n\n var auxh = (_content.outerHeight());\n\n _content.css('height', 0);\n _content.css({\n 'height': auxh\n }, {\n queue: false\n , duration: ConstantsDzsvg.ANIMATIONS_DURATION\n , complete: function (e) {\n\n\n $(this).css('height', 'auto');\n }\n })\n\n _con.addClass('active');\n\n }\n\n\n return false;\n })\n}\n\nexport function init_secondCon () {\n jQuery('.dzsas-second-con').each(function () {\n var _t = jQuery(this);\n\n\n\n var _c = _t;\n\n if (_c.find('.item').eq(1).children('.menudescriptioncon').html()) {\n\n } else {\n\n if (_c.find('.item').eq(2).children('.menudescriptioncon').html()) {\n\n _c.find('.item').eq(1).remove();\n }\n }\n\n var xpos = 0;\n _t.find('.videogallery--navigation-outer--bigblock').each(function () {\n var _t = jQuery(this);\n _t.css('left', xpos + '%');\n xpos += 100;\n })\n\n\n var xpos = 0;\n _t.find('.item').each(function () {\n var _t2 = jQuery(this);\n _t2.css('left', xpos + '%');\n xpos += 100;\n })\n\n\n\n\n\n\n if (_t.attr('data-vgtarget') === '.id_auto') {\n\n\n var _cach = jQuery('.videogallery,.videogallery-tobe').eq(0);\n\n\n var stringClass = /id_(.*?) /.exec(_cach.attr('class'));\n\n if (stringClass && stringClass[1]) {\n _t.attr('data-vgtarget', '.id_' + stringClass[1]);\n }\n\n if (_cach.get(0) && _cach.get(0).api_set_secondCon) {\n _cach.get(0).api_set_secondCon(_t);\n }\n setTimeout(function () {\n if (_cach.get(0) && _cach.get(0).api_set_secondCon) {\n _cach.get(0).api_set_secondCon(_t);\n }\n }, 1000)\n }\n\n\n })\n\n}\n"],"sourceRoot":""}