{"version":3,"sources":["webpack://dzsvg/../html5vg_source/videogallery/configs/Constants.js","webpack://dzsvg/../html5vg_source/videogallery/js_common/_dzs_helpers.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/_dzsvg_helpers.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/_dzsvg_svgs.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/playlist/_playlistHelpers.js","webpack://dzsvg/../html5vg_source/videogallery/js_player/_player_setupAd.js","webpack://dzsvg/../html5vg_source/videogallery/js_playlist/mode/_mode-wall.js","webpack://dzsvg/webpack/bootstrap","webpack://dzsvg/webpack/runtime/define property getters","webpack://dzsvg/webpack/runtime/hasOwnProperty shorthand","webpack://dzsvg/../html5vg_source/videogallery/configs/_playlistSettings.js","webpack://dzsvg/../html5vg_source/videogallery/shared/_viewFunctions.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/navigation/configs/_navigationSettings.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/navigation/inc/_navigation-view.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/navigation/_navigation-helpers.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/navigation/_navigation.js","webpack://dzsvg/../html5vg_source/videogallery/vgallery.sourcepack.js","webpack://dzsvg/../html5vg_source/videogallery/js_playlist/_viewPlaylistStructure.js","webpack://dzsvg/../html5vg_source/videogallery/js_playlist/_searchFunctions.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/playlist/_searchPlaylist.js","webpack://dzsvg/../html5vg_source/videogallery/js_playlist/_playlistAuxiliaryButtons.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/playlist/_playlistBuilderFunctions.js","webpack://dzsvg/../html5vg_source/videogallery/js_dzsvg/components/_second_con.js"],"names":["ConstantsDzsvg","THREEJS_LIB_URL","THREEJS_LIB_ORBIT_URL","YOUTUBE_IFRAME_API","VIMEO_IFRAME_API","DEBUG_STYLING","DEBUG_STYLING_2","ANIMATIONS_DURATION","DELAY_MINUSCULE","VIEW_LAYOUT_BUILDER_FEED_CLASS","DEFAULT_MENU_ITEM_STRUCTURE","PLAYER_DEFAULT_RESPONSIVE_RATIO","PLAYLIST_HEIGHT_IS_WINDOW_MAX_OFFSET","PLAYLIST_DEFAULT_TIMEOUT","PLAYLIST_SCROLL_TOP_OFFSET","PLAYLIST_VIEW_FULLSCREEN_CLASS","get_query_arg","stringUri","key","indexOf","regtest","RegExp","exec","splitterS","aux","split","sanitizeToCssPx","arg","String","add_query_arg","purl","value","s","pair","encodeURIComponent","r","replace","regex_attr","is_touch_device","window","can_history_api","history","pushState","is_safari","navigator","userAgent","toLowerCase","is_mobile","is_ios","is_android","platform","loadScriptIfItDoesNotExist","scriptSrc","checkForVar","checkInterval","Promise","resolve","reject","isAlreadyLoaded","isGoingToLoadScript","checkIfVarExists","clearInterval","setInterval","setTimeout","script","document","createElement","onload","onerror","src","head","appendChild","loadScript","stringUtilGetSkinFromClass","cclass","arr","player_setQualityLevels","selfClass","$temp_qualitiesFromFeed","cthis","find","length","addClass","$qualitySelector","str_qualitiesTooltip","html","aux_opts","added","each","_t2","$","this","attr","dataSrc","initOptions","settings_currQuality","console","warn","fullscreen_status","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","is_chrome","player_controls_generatePlayCon","o","structPlayControls","design_skin","dzsvg_call_video_when_ready","_videoElement","init_readyVideo","vimeo_is_ready","inter_videoReadyState","type","getPlayerState","cueVideo","Number","readyState","vimeo_is_chromeless","preload_method","dzsvg_check_multisharer","sanitize_to_youtube_id","detect_video_type_and_source","source","getDataOrAttr","_c","data","detect_videoTypeAndSourceForElement","_el","forceType","playFrom","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","bind","gotoCategory","parent","children","index","trigger","i2","auxurl","NaN","tempCat","pargs","margs","extend","undefined","get","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","registerAuxjQueryExtends","fn","appendOnce","argfind","auxarr","d","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","Object","assign","player_setupQualitySelector","yt_qualCurr","yt_qualArray","_qualitySelector","playerHandleDeprecatedAttrSrc","player_assert_autoplay","configureAudioPlayerOptionsInitial","gallery_object","$parentGallery","api_video_ready","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","i","api_pause_media","api_destroy_for_rebuffer","dzsap_player_interrupted_by_dzsvg","init_navigationOuter","xpos","_cach","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","svg_aurora_play_btn","svg_embed","svg_play_simple_skin_bigplay_pro","svg_pause_simple_skin_aurora","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","classesClearMenuLocations","classesNewMenuLocation","navigation_initScroller","_navMain","scroller","assertVideoFromGalleryAutoplayStatus","currNr","shouldVideoAutoplay","ads_sanitizeForSource","initialVal","fout","ads_decode_ads_array","lab","dzsvg_mode_wall_init","navigation_gridClassItemsContainer","dzsvg_mode_wall_reinitWallStructure","$navigationItemsContainer","$t","ultibox_suggestedWidth","ultibox_suggestedHeight","uriThumb","thumb_imgblock","handleResize","isGalleryLoaded","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","definition","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","defaultPlaylistSettings","init_on","randomise","cueFirstVideo","playorder","loop_playlist","navigation_isUltibox","navigation_direction","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","view_setCssPropsForElement","$elements","cssProps","view_cssConvertForPx","cssVal","defaultSettings","navigationType","navigationSkin","menuPosition","menuItemWidth","menuItemHeight","navigationSpace","feedItemNotInitedClass","isAutoScrollToCurrent","isSyncMainAreaAndNavigationAreas","viewEnableMediaArea","viewNavigationIsUltibox","isUseEasing","parentSkin","filter_structureMenuItemContent","viewAnimationDuration","navigationStructureHtml","gridClassItemsContainer","view_navigation_generateNavigationItem","structureMenuItemContentInner","$currentItemFeed","configObj","navAttributes","isUltiboxItem","final_structureMenuItemContent","$currentVideoPlayer","replaceInNav","currentStructure","placeholderText","argInStructure","feedValue","playlist_navigationStructureAssignVars","navigationItemDomTag","navigationItemExtraAttr","navigationItemExtraClasses","Math","easeIn","t","b","c","easeOut","DzsNavigation","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","n","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","targetPageNr","targetTop","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","structure_baseLayout","$navigationAndMainArea","before","gap","prepend","setupStructure","calculateDimsArgs","forceMainAreaHeight","totalAreaHeightPixels","mainNavigationDesiredWidth","ceil","$navigationChild","scrollHeight","navWidth","unbind","view_navigation_calculateDims","DzsVideoGallery","argThis","$sliderMain","$navigationClippedContainer","$galleryButtons","$containerForItems","$searchFieldCon","videoAreaWidth","feed_socialCode","Navigation","isEmbedOpened","isShareOpened","classInit","videoAreaHeight","totalWidth","totalHeight","ww","heightWindow","$currVideoPlayer","$galleryParent","nrChildren","last_totalWidth","last_totalHeight","last_height_for_videoheight","inter_start_the_transition","isMergeSocialIconsIntoOne","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","str_active","after","design_shadow","navOptions","keys","forEach","playlistOptionKey","newKeyForNav","struct_searchFieldString","dzsvg_playlist_addSearchField","handleSearchFieldChange","dzsvg_playlist_initSearchField","view_structureGenerateNavigation","reinit","merge_social_into_one","click","queue","duration","Constants","click_embedhandle","click_sharehandle","dzsvg_playlist_setupEmbedAndShareButtons","nto_mh","libsUri","then","dzsscr_init","calculateDims","fn_scrollx_to","on","handle_mouse","handleKeyPress","addEventListener","view_handleOrientationChange","init_playlistIsReady","videoEnd","handleVideoEnd","play_currVideo","video_stopCurrentVideo","api_gotoNext","gotoNext","api_gotoPrev","gotoPrev","gotoItem","api_responsive_ratio_resize_h","api_ad_block_navigation","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","addNavigationItems","vpRealSrc","sourceAndType","curatedTypeFromGallery","$cacheMenuItem","buildPlaylist","len","setup_transfer_items_to_sliderCon","wrap","rotator3d_handleClickOnPreviewImg","vPlayer","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","dzsvg_default_settings","vGallery","dzsvg_init","selector","settings","zsvg_init","apply_videogallery_plugin","dzsvg_reinit","off","_content","complete","auxh","stringClass","secondCon_initFunctions","ready","dzsvg_handleInitedjQuery"],"mappings":"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","file":"vgallery.js","sourcesContent":["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/**\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\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}\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\n/**\n * *deprecated\n * @returns {*|boolean}\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;\nexport function is_mobile() {\n\n return is_ios() || is_android();\n}\nexport function is_android() {\n\n\n var ua = navigator.userAgent.toLowerCase();\n return (ua.indexOf(\"android\") > -1);\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 *\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}","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, add_query_arg, is_safari, is_mobile, is_ios, is_android} from \"../js_common/_dzs_helpers\";\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\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\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 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 getDataOrAttr,\n} from \"../_dzsvg_helpers\";\n\nimport {get_query_arg, add_query_arg, is_mobile, is_touch_device, can_history_api} 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 {is_mobile} from \"../js_common/_dzs_helpers\";\n\n/**\n *\n * @param {string} initialVal\n */\nconst ads_sanitizeForSource = (initialVal) => {\n let 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 && 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(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 {getDataOrAttr,} from \"../../js_dzsvg/_dzsvg_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}\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 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 if ($t.data('thumbForGallery')) {\n $t.attr('data-thumb-for-gallery', $t.data('thumbForGallery'));\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 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 console.log($t, $t.data());\n\n if ($t.data('dataType')) {\n $t.attr('data-video-type', $t.data('dataType'));\n }\n\n $t.addClass('wall-treated')\n }\n\n\n });\n\n\n setTimeout(function () {\n\n setTimeout(selfClass.handleResize, 1000);\n selfClass.isGalleryLoaded = true;\n }, 1500);\n\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","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","/**\n *\n * @param {jQuery} $elements\n * @param {object} cssProps\n */\nexport function view_setCssPropsForElement($elements, cssProps){\n $elements.css(cssProps);\n}\n\n/**\n *\n * @param cssVal\n * @return {string}\n */\nexport function view_cssConvertForPx(cssVal){\n if(cssVal===''){\n return cssVal;\n }\n if(['auto','px','%',''].indexOf(cssVal)===-1){\n return cssVal + 'px';\n }\n\n return cssVal;\n}\n\n","export const defaultSettings = {\n navigationType: 'hover', // -- \"hover\" or \"scroller\" or \"thumbsAndArrows\" or \"simple\"\n navigationSkin: 'skin-default',\n menuPosition: 'bottom', // \"bottom\" / \"top\" / \"right\"\n navigation_direction: 'auto', // -- \"auto\" or \"vertical\" or \"horizontal\"\n menuItemWidth: 'default', // -- number or \"default\"\n menuItemHeight: 'default',\n navigationSpace: undefined,\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;\nexport const NAVIGATION_VIEW_MENU_VERTICAL_DEFAULT_ITEM_WIDTH = 254;","import {playlist_navigationStructureAssignVars} from \"../_navigation-helpers\";\nimport {view_setCssPropsForElement} from \"../../../shared/_viewFunctions\";\nimport {sanitizeToCssPx} from \"../../../js_common/_dzs_helpers\";\n\nexport function view_navigation_calculateDims(selfInstance, pargs = {}){\n\n\n const calculateDimsArgs = Object.assign({\n forceMainAreaHeight: null\n }, pargs)\n\n\n const parentClass = selfInstance.parentClass;\n const navAttributes = selfInstance.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.ceil((selfInstance.navigation_mainDimensionTotalSize / selfInstance.navigation_mainDimensionClipSize));\n\n parentClass.$navigationAndMainArea.children().each(function () {\n const $navigationChild = selfInstance.$(selfInstance);\n totalAreaHeightPixels += $navigationChild.get(0).scrollHeight;\n })\n\n\n // -- ultra-responsive\n // todo: remove dependency on parentClass\n if (selfInstance.configObj.viewEnableMediaArea && (navAttributes.menuPosition === 'right' || navAttributes.menuPosition === 'left')) {\n\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' || navAttributes.navigationType === 'thumbsAndArrows') {\n if (navAttributes.navigation_direction === 'horizontal') {\n\n navWidth = 0;\n parentClass.$navigationItemsContainer.children().each(function () {\n const $t = selfInstance.$(selfInstance);\n navWidth += $t.outerWidth(true);\n });\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 }\n if (navAttributes.navigation_direction === 'vertical') {\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}\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 {\n defaultSettings,\n NAVIGATION_DEFAULT_TIMEOUT,\n NAVIGATION_VIEW_MENU_VERTICAL_DEFAULT_ITEM_WIDTH\n} from \"./configs/_navigationSettings\";\nimport {is_android, is_ios, is_touch_device} from \"../../js_common/_dzs_helpers\";\nimport {view_cssConvertForPx, view_setCssPropsForElement} from \"../../shared/_viewFunctions\";\nimport {view_navigation_calculateDims, 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 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\n function sanitizeInitValues() {\n\n\n if (navAttributes.menuPosition === 'left' || navAttributes.menuPosition === 'right') {\n if (isNaN(Number(selfInstance.initOptions.menuItemWidth)) || selfInstance.initOptions.menuItemWidth === '' || selfInstance.initOptions.menuItemWidth === 'default') {\n navAttributes.menuItemWidth = NAVIGATION_VIEW_MENU_VERTICAL_DEFAULT_ITEM_WIDTH;\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 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\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 if (navAttributes.navigationSpace) {\n parentClass.$navigationAndMainArea.css({\n gap: view_cssConvertForPx(navAttributes.navigationSpace)\n })\n }\n\n if (navAttributes.navigationType === 'scroller') {\n if (navAttributes.navigation_direction === 'horizontal') {\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} targetPageNr\n */\n function nav_thumbsandarrows_gotoPage(targetPageNr) {\n\n if (targetPageNr > selfInstance.nav_max_pages || navAttributes.navigationType !== 'thumbsAndArrows') {\n return;\n }\n\n\n selfInstance.$mainNavigation.find('.nav--thumbsAndArrows--arrow').removeClass('arrow-is-inactive');\n\n if (targetPageNr === 0) {\n selfInstance.$mainNavigation.find('.thumbs-arrow-left').addClass('arrow-is-inactive');\n }\n if (targetPageNr >= selfInstance.nav_max_pages) {\n selfInstance.$mainNavigation.find('.thumbs-arrow-right').addClass('arrow-is-inactive');\n }\n\n if (targetPageNr >= selfInstance.nav_max_pages) {\n if (navAttributes.navigation_direction === \"vertical\") {\n\n const targetTop = -(selfInstance.navigation_mainDimensionTotalSize - selfInstance.navigation_mainDimensionClipSize);\n view_setCssPropsForElement(selfInstance.$mainNavigationItemsContainer, {\n 'top': targetTop,\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).height();\n selfInstance.$mainNavigationItemsContainer.css({\n 'top': firstItemInSightWidth * -targetPageNr,\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 * -targetPageNr,\n 'top': 0\n });\n }\n }\n selfInstance.currPage = targetPageNr;\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 const selfInstance = this;\n view_navigation_calculateDims(selfInstance, pargs);\n }\n}\n","'use strict';\nimport {defaultPlaylistSettings} from './configs/_playlistSettings';\nimport {\n assertVideoFromGalleryAutoplayStatus,\n detect_startItemBasedOnQueryAddress,\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 convertPluginOptionsToFinalOptions,\n detect_videoTypeAndSourceForElement,\n dzsvgExtraWindowFunctions,\n fullscreen_status,\n init_navigationOuter,\n setup_videogalleryCategories,\n} from \"./js_dzsvg/_dzsvg_helpers\";\n\nimport {\n add_query_arg,\n get_query_arg,\n is_ios,\n is_touch_device,\n loadScriptIfItDoesNotExist,\n} from \"./js_common/_dzs_helpers\";\nimport {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_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_cssConvertForPx, view_setCssPropsForElement} from \"./shared/_viewFunctions\";\nimport {view_structureGenerateNavigation} from \"./js_playlist/_viewPlaylistStructure\";\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.$navigationClippedContainer = 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 //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 view_structureGenerateNavigation(selfClass);\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 const nto_mh = Number(o.nav_type_outer_max_height);\n\n\n view_setCssPropsForElement(selfClass.$navigationClippedContainer, {'max-height': view_cssConvertForPx(nto_mh)})\n selfClass.$navigationClippedContainer.addClass('scroller-con skin_apple inner-relative');\n selfClass.$navigationItemsContainer.addClass('inner');\n\n view_setCssPropsForElement(selfClass.$navigationClippedContainer, {\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 selfClass.$navigationClippedContainer.addClass('scroller-con skin_apple');\n selfClass.$navigationItemsContainer.addClass('inner');\n\n\n view_setCssPropsForElement(selfClass.$navigationClippedContainer, {\n 'height': '100%'\n })\n\n // -- try scroller\n if ($.fn.scroller) {\n navigation_initScroller(selfClass.$navigationClippedContainer);\n } else {\n setTimeout(() => {\n navigation_initScroller(selfClass.$navigationClippedContainer);\n }, 2000);\n }\n\n setTimeout(function () {\n\n\n if ($('html').eq(0).attr('dir') === 'rtl') {\n selfClass.$navigationClippedContainer.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\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(selfClass.$navigationClippedContainer, {\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 let len = selfClass.$feedItemsContainer.find('.vplayer-tobe').length;\n for (i = 0; i < len; i++) {\n let _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 (selfClass.$navigationClippedContainer.get(0) && selfClass.$navigationClippedContainer.get(0).api_toggle_resize) {\n selfClass.$navigationClippedContainer.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('media-area--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 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 = selfClass.$navigationClippedContainer.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 * @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 }\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 {DzsNavigation} from \"../js_dzsvg/navigation/_navigation\";\nimport {svgBackButton, svgForwardButton} from \"../js_dzsvg/_dzsvg_svgs\";\nimport {navigation_detectClassesForPosition} from \"../js_dzsvg/playlist/_playlistHelpers\";\nimport {dzsvg_playlist_initSearchField} from \"./_searchFunctions\";\n\n\n/**\n *\n * @param {DzsVideoGallery} selfClass\n */\nexport function view_structureGenerateNavigation(selfClass) {\n\n let structNavigationAndMainArea = '
'\n\n const cgallery = selfClass.cgallery;\n const o = selfClass.initOptions;\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 Object.keys(o).forEach((playlistOptionKey)=>{\n if(playlistOptionKey.indexOf('navigation_')===0){\n const newKeyForNav = playlistOptionKey.replace('navigation_','');\n navOptions[newKeyForNav] = o[playlistOptionKey];\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, jQuery);\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 selfClass.$navigationClippedContainer = 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 selfClass.$navigationClippedContainer.append('
' + svgForwardButton + '
' + svgBackButton + '
');\n }\n if (o.settings_mode === 'rotator') {\n selfClass.$navigationClippedContainer.append('
');\n selfClass.$navigationClippedContainer.append('
');\n }\n\n\n selfClass.$galleryButtons = selfClass.$sliderMain.children('.gallery-buttons');\n\n\n navigation_detectClassesForPosition(o.menu_position, selfClass._mainNavigation, cgallery);\n\n\n if (o.search_field === 'on') {\n dzsvg_playlist_initSearchField(selfClass, o);\n }\n\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 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}","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 let itemsLength = selfClass.$feedItemsContainer.find('.vplayer-tobe').length;\n let 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\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":""}