{"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","struct_qualityOptions","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","aux_opts","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 = `<div class=\"layout-builder--structure layout-builder--menu-items--layout-default layout-builder--main-con \" style=\"display: flex; gap: 10px; padding: 10px; align-items: center;\">\n  <div class=\"layout-builder--item layout-builder--item--11241412321 layout-builder--item--type-container\" style=\"flex: 0 0 60px;\">\n  <div class=\"layout-builder--item layout-builder--item--11241412321 layout-builder--item--type-container\" style=\"padding-top: 100%; position:relative;\">\n    <div class=\"layout-builder--item layout-builder--item--2312321 layout-builder--item--type-thumbnail navigation-type-image divimage\" style=\"position:absolute;top:0; left:0; width: 100%; height: 100%; background-image: url({{layout-builder.replace-thumbnail-url}})\"></div>\n    </div>\n  </div>\n  <div class=\"layout-builder--item layout-builder--item--11241412321 layout-builder--item--type-container\" style=\"flex: 100; white-space: normal; min-width: 150px;\">\n    <div class=\"layout-builder--item layout-builder--item--3321321 layout-builder--item--type-title\" style=\"font-weight: bold; margin-bottom: 5px;;\">{{layout-builder.replace-title}}</div>\n    <div class=\"layout-builder--item layout-builder--item--21312321 layout-builder--item--type-menu-description\" style=\"font-weight: 400; line-height: 1.5;\">{{layout-builder.replace-menu-description}}</div>\n  </div>\n</div>`;\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\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<any>}\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    let struct_qualityOptions = '';\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      struct_qualityOptions += '<div class=\"quality-option';\n\n\n      if (_t2.attr('data-source') === selfClass.dataSrc) {\n        struct_qualityOptions += ' active';\n        added = true;\n      }\n\n\n      struct_qualityOptions += '\" data-val=\"' + _t2.attr('data-label') + '\" data-source=\"' + selfClass.dataSrc + '\">' + _t2.attr('data-label') + '</div>';\n    })\n\n    if (added === false) {\n\n      struct_qualityOptions += '<div class=\"quality-option active ';\n\n\n      struct_qualityOptions += '\" data-val=\"' + selfClass.initOptions.settings_currQuality + '\" data-source=\"' + selfClass.dataSrc + '\">' + selfClass.initOptions.settings_currQuality + '</div>';\n\n    }\n\n\n    if (str_qualitiesTooltip) {\n\n\n      str_qualitiesTooltip = str_qualitiesTooltip.replace('{{quality-options}}', struct_qualityOptions);\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 = '<div class=\"playSimple dzsvgColorForFills\">';\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 += '</div><div class=\"pauseSimple dzsvgColorForFills\">';\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 += '</div>';\n\n\n  structPlayControls += '<div class=\"dzsvg-player--replay-btn dzsvgColorForFills\">';\n  structPlayControls += svgReplayIcon;\n\n  structPlayControls += '</div>';\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('<iframe') > -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('<iframe') > -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('<span class=\"a-category\">' + _t.attr('data-category') + '</span>')\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 += '<div class=\"quality-option';\n      if (yt_qualCurr === yt_qualArray[i2]) {\n        aux_opts += ' active';\n      }\n      aux_opts += '\" data-val=\"' + yt_qualArray[i2] + '\">' + yt_qualArray[i2] + '</div>';\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 = '<a href=\"' + _tagElement.attr('data-link') + '\"></a>';\n  }\n\n  _tagElement.html('');\n  _tagElement.css({'left': (_tagElement.attr('data-left') + 'px'), 'top': (_tagElement.attr('data-top') + 'px')});\n\n  _tagElement.append('<div class=\"tag-box\" style=\"width:' + w + 'px; height:' + h + 'px;\">' + acomlink + '</div>');\n  _tagElement.append('<span class=\"tag-content\">' + auxhtml + '</span>');\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 = '<svg class=\"the-icon\" version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"896.025px\" height=\"896.025px\" viewBox=\"0 0 896.025 896.025\" style=\"enable-background:new 0 0 896.025 896.025;\" xml:space=\"preserve\"> <g> <path id=\"settings_1_\" d=\"M863.24,382.771l-88.759-14.807c-6.451-26.374-15.857-51.585-28.107-75.099l56.821-70.452 c12.085-14.889,11.536-36.312-1.205-50.682l-35.301-39.729c-12.796-14.355-34.016-17.391-50.202-7.165l-75.906,47.716 c-33.386-23.326-71.204-40.551-112-50.546l-14.85-89.235c-3.116-18.895-19.467-32.759-38.661-32.759h-53.198 c-19.155,0-35.561,13.864-38.608,32.759l-14.931,89.263c-33.729,8.258-65.353,21.588-94.213,39.144l-72.188-51.518 c-15.558-11.115-36.927-9.377-50.504,4.171l-37.583,37.61c-13.548,13.577-15.286,34.946-4.142,50.504l51.638,72.326 c-17.391,28.642-30.584,60.086-38.841,93.515l-89.743,14.985C13.891,385.888,0,402.24,0,421.435v53.156 c0,19.193,13.891,35.547,32.757,38.663l89.743,14.985c6.781,27.508,16.625,53.784,29.709,78.147L95.647,676.44 c-12.044,14.875-11.538,36.312,1.203,50.669l35.274,39.73c12.797,14.382,34.028,17.363,50.216,7.163l77-48.37 c32.581,22.285,69.44,38.664,108.993,48.37l14.931,89.25c3.048,18.896,19.453,32.76,38.608,32.76h53.198 c19.194,0,35.545-13.863,38.661-32.759l14.875-89.25c33.308-8.147,64.531-21.245,93.134-38.5l75.196,53.705 c15.53,11.155,36.915,9.405,50.478-4.186l37.598-37.597c13.532-13.536,15.365-34.893,4.127-50.479l-53.536-75.059 c17.441-28.738,30.704-60.238,38.909-93.816l88.758-14.82c18.921-3.116,32.756-19.469,32.756-38.663v-53.156 C895.998,402.24,882.163,385.888,863.24,382.771z M449.42,616.013c-92.764,0-168-75.25-168-168c0-92.764,75.236-168,168-168 c92.748,0,167.998,75.236,167.998,168C617.418,540.763,542.168,616.013,449.42,616.013z\"/> </g> </svg>';\n\n\nexport const svg_default_volume_static = '<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"24px\" height=\"14px\" viewBox=\"0 5 24 14\" enable-background=\"new 0 5 24 14\" xml:space=\"preserve\"> <path d=\"M0,19h24V5L0,19z M22,17L5,17.625l12-6.227l5-2.917V17z\"/> </svg>';\nexport const svg_volume_icon = '<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"10px\" height=\"12px\" viewBox=\"0 0 10 12\" enable-background=\"new 0 0 10 12\" xml:space=\"preserve\"> <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"#200C34\" d=\"M8.475,0H7.876L5.323,1.959c0,0-0.399,0.667-1.157,0.667H1.454 c0,0-1.237,0.083-1.237,1.334v3.962c0,0-0.159,1.334,1.277,1.334h2.553c0,0,0.877,0.167,1.316,0.667l2.513,1.959l0.638,0.083 c0,0,0.678,0,0.678-0.667V0.667C9.193,0.667,9.153,0,8.475,0z\"/> </svg>';\nexport const svg_aurora_play_btn = '<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"100%\" height=\"100%\" viewBox=\"0 0 13.75 12.982\" enable-background=\"new 0 0 13.75 12.982\" xml:space=\"preserve\"> <path d=\"M11.889,5.71L3.491,0.108C3.389,0.041,3.284,0,3.163,0C2.834,0,2.565,0.304,2.565,0.676H2.562v11.63h0.003 c0,0.372,0.269,0.676,0.597,0.676c0.124,0,0.227-0.047,0.338-0.115l8.389-5.595c0.199-0.186,0.326-0.467,0.326-0.781 S12.088,5.899,11.889,5.71z\"/> </svg>';\nexport const svg_embed = '<svg width=\"32.00199890136719\" height=\"32\" viewBox=\"0 0 32.00199890136719 32\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" fill=\"#000000\"><g><path d=\"M 23.586,9.444c 0.88,0.666, 1.972,1.064, 3.16,1.064C 29.648,10.508, 32,8.156, 32,5.254 C 32,2.352, 29.648,0, 26.746,0c-2.9,0-5.254,2.352-5.254,5.254c0,0.002,0,0.004,0,0.004L 8.524,11.528 C 7.626,10.812, 6.49,10.38, 5.254,10.38C 2.352,10.38,0,12.734,0,15.634s 2.352,5.254, 5.254,5.254c 1.048,0, 2.024-0.312, 2.844-0.84 l 13.396,6.476c0,0.002,0,0.004,0,0.004c0,2.902, 2.352,5.254, 5.254,5.254c 2.902,0, 5.254-2.352, 5.254-5.254 c0-2.902-2.352-5.254-5.254-5.254c-1.188,0-2.28,0.398-3.16,1.064L 10.488,16.006c 0.006-0.080, 0.010-0.158, 0.012-0.238L 23.586,9.444z\"></path></g></svg>';\nexport const svg_mute_btn = '<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"72.786px\" height=\"72.786px\" viewBox=\"0 0 72.786 72.786\" enable-background=\"new 0 0 72.786 72.786\" xml:space=\"preserve\"> <g id=\"Capa_1\"> <g> <g id=\"Volume_Off\"> <g> <path d=\"M38.479,4.216c-1.273-0.661-2.819-0.594-4.026,0.188L13.858,17.718h-2.084C5.28,17.718,0,22.84,0,29.135v14.592 c0,6.296,5.28,11.418,11.774,11.418h2.088L34.46,68.39c0.654,0.421,1.41,0.632,2.17,0.632c0.636,0,1.274-0.148,1.854-0.449 c1.274-0.662,2.067-1.949,2.067-3.355V7.572C40.551,6.172,39.758,4.878,38.479,4.216z\"/> </g> </g> </g> </g> <g id=\"only-if-mute\"> <path d=\"M67.17,35.735l4.469-4.334c1.529-1.48,1.529-3.896-0.004-5.377c-1.529-1.489-4.018-1.489-5.553,0l-4.461,4.328 l-4.045-3.923c-1.535-1.489-4.021-1.489-5.552,0c-1.534,1.489-1.534,3.896,0,5.378l4.048,3.926l-3.63,3.521 c-1.53,1.488-1.53,3.896,0,5.386c0.767,0.737,1.771,1.112,2.774,1.112c1.005,0,2.009-0.375,2.775-1.112l3.629-3.521l4.043,3.92 c0.769,0.744,1.771,1.121,2.775,1.121c1.004,0,2.008-0.377,2.773-1.121c1.533-1.48,1.533-3.89,0-5.377L67.17,35.735z\"/> </g> </svg> ';\nexport const svg_mute_icon = '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" id=\"Capa_1\" x=\"0px\"  y=\"0px\" viewBox=\"0 0 196.78 196.78\" style=\"enable-background:new 0 0 196.78 196.78;\" xml:space=\"preserve\" width=\"14px\" height=\"14px\"> <g > <path style=\"fill-rule:evenodd;clip-rule:evenodd;\" d=\"M144.447,3.547L80.521,53.672H53.674c-13.227,0-17.898,4.826-17.898,17.898 v26.4v27.295c0,13.072,4.951,17.898,17.898,17.898h26.848l63.926,50.068c7.668,4.948,16.558,6.505,16.558-7.365V10.914 C161.005-2.956,152.115-1.4,144.447,3.547z\" fill=\"#494b4d\"/> </g> </svg> ';\nexport const svg_play_simple_skin_bigplay_pro = '<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"120px\" height=\"120px\" viewBox=\"0 0 120 120\" enable-background=\"new 0 0 120 120\" xml:space=\"preserve\"> <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"#D0ECF3\" d=\"M79.295,56.914c2.45,1.705,2.45,4.468,0,6.172l-24.58,17.103 c-2.45,1.704-4.436,0.667-4.436-2.317V42.129c0-2.984,1.986-4.022,4.436-2.318L79.295,56.914z M0.199,54.604 c-0.265,2.971-0.265,7.821,0,10.792c2.57,28.854,25.551,51.835,54.405,54.405c2.971,0.265,7.821,0.265,10.792,0 c28.854-2.57,51.835-25.551,54.405-54.405c0.265-2.971,0.265-7.821,0-10.792C117.231,25.75,94.25,2.769,65.396,0.198 c-2.971-0.265-7.821-0.265-10.792,0C25.75,2.769,2.769,25.75,0.199,54.604z M8.816,65.394c-0.309-2.967-0.309-7.82,0-10.787 c2.512-24.115,21.675-43.279,45.79-45.791c2.967-0.309,7.821-0.309,10.788,0c24.115,2.512,43.278,21.675,45.79,45.79 c0.309,2.967,0.309,7.821,0,10.788c-2.512,24.115-21.675,43.279-45.79,45.791c-2.967,0.309-7.821,0.309-10.788,0 C30.491,108.672,11.328,89.508,8.816,65.394z\"/> </svg>';\nexport const svg_pause_simple_skin_aurora = '<svg version=\"1.1\" id=\"Layer_2\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"13.75px\" height=\"12.982px\" viewBox=\"0 0 13.75 12.982\" enable-background=\"new 0 0 13.75 12.982\" xml:space=\"preserve\"> <g> <path d=\"M5.208,11.982c0,0.55-0.45,1-1,1H3c-0.55,0-1-0.45-1-1V1c0-0.55,0.45-1,1-1h1.208c0.55,0,1,0.45,1,1V11.982z\"/> </g> <g> <path d=\"M12.208,11.982c0,0.55-0.45,1-1,1H10c-0.55,0-1-0.45-1-1V1c0-0.55,0.45-1,1-1h1.208c0.55,0,1,0.45,1,1V11.982z\"/> </g> </svg> ';\nexport const svg_volume_active_skin_default = '<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"24px\" height=\"14px\" viewBox=\"0 5 24 14\" enable-background=\"new 0 5 24 14\" xml:space=\"preserve\"> <path d=\"M0,19h24V5L0,19z M22,17L22,17V8.875V8.481V17z\"/> </svg>';\nexport const svg_full_icon = '<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\" xml:space=\"preserve\"> <g id=\"Layer_3\"> <polygon fill=\"#FFFFFF\" points=\"2.404,2.404 0.057,4.809 0.057,0 4.751,0 \"/> <polygon fill=\"#FFFFFF\" points=\"13.435,2.404 11.03,0.057 15.839,0.057 15.839,4.751 \"/> <polygon fill=\"#FFFFFF\" points=\"2.404,13.446 4.809,15.794 0,15.794 0,11.1 \"/> <polygon fill=\"#FFFFFF\" points=\"13.435,13.446 15.781,11.042 15.781,15.851 11.087,15.851 \"/> </g> <g id=\"Layer_2\"> <rect x=\"4.255\" y=\"4.274\" fill=\"#FFFFFF\" width=\"7.366\" height=\"7.442\"/> </g> </svg>';\n\n\nexport const svgReplayIcon = '<?xml version=\"1.0\" encoding=\"iso-8859-1\"?> <svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 17.12 17.12\" style=\"enable-background:new 0 0 17.12 17.12;\" xml:space=\"preserve\"> <path style=\"\" d=\"M8.661,0.001c0.006,0,0.01,0,0.01,0c0.007,0,0.007,0,0.011,0c0.002,0,0.007,0,0.009,0 c0,0,0,0,0.004,0c0.019-0.002,0.027,0,0.039,0c2.213,0,4.367,0.876,5.955,2.42l1.758-1.776c0.081-0.084,0.209-0.11,0.314-0.065 c0.109,0.044,0.186,0.152,0.186,0.271l-0.294,6.066h-5.699c-0.003,0-0.011,0-0.016,0c-0.158,0-0.291-0.131-0.291-0.296 c0-0.106,0.059-0.201,0.146-0.252l1.73-1.751c-1.026-0.988-2.36-1.529-3.832-1.529c-2.993,0.017-5.433,2.47-5.433,5.51 c0.023,2.978,2.457,5.4,5.481,5.422c1.972-0.106,3.83-1.278,4.719-3.221l2.803,1.293l-0.019,0.039 c-1.92,3.713-4.946,5.277-8.192,4.944c-4.375-0.348-7.848-4.013-7.878-8.52C0.171,3.876,3.976,0.042,8.661,0.001z\"/></svg> ';\n\nexport const svgBackButton = '<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"                width=\"32px\" height=\"32px\" viewBox=\"0 0 32 32\" enable-background=\"new 0 0 32 32\" xml:space=\"preserve\"><path fill=\"#515151\" d=\"M7.927,17.729l9.619,9.619c0.881,0.881,2.325,0.881,3.206,0l0.803-0.804c0.881-0.88,0.881-2.323,0-3.204l-7.339-7.342l7.34-7.34c0.881-0.882,0.881-2.325,0-3.205l-0.803-0.803c-0.881-0.882-2.325-0.882-3.206,0l-9.619,9.619                C7.454,14.744,7.243,15.378,7.278,16C7.243,16.621,7.452,17.256,7.927,17.729z\"/></svg>';\nexport const svgForwardButton = '<svg enable-background=\"new 0 0 32 32\" height=\"32px\" id=\"Layer_1\" version=\"1.1\" viewBox=\"0 0 32 32\" width=\"32px\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><path d=\"M24.291,14.276L14.705,4.69c-0.878-0.878-2.317-0.878-3.195,0l-0.8,0.8c-0.878,0.877-0.878,2.316,0,3.194  L18.024,16l-7.315,7.315c-0.878,0.878-0.878,2.317,0,3.194l0.8,0.8c0.878,0.879,2.317,0.879,3.195,0l9.586-9.587  c0.472-0.471,0.682-1.103,0.647-1.723C24.973,15.38,24.763,14.748,24.291,14.276z\" fill=\"#515151\"/></svg>';\n\nexport const svgForSkin_boxyRounded = ' <svg class=\"svg_rounded\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"1px\" height=\"1px\" viewBox=\"0 0 1 1\" enable-background=\"new 0 0 1 1\" xml:space=\"preserve\"> <g id=\"Layer_1\"> </g> <g id=\"Layer_2\"> <g> <defs> <path id=\"SVGID_1_\" d=\"M1,0.99C1,0.996,0.996,1,0.99,1H0.01C0.004,1,0,0.996,0,0.99V0.01C0,0.004,0.004,0,0.01,0h0.98 C0.996,0,1,0.004,1,0.01V0.99z\"/> </defs> <clipPath id=\"SVGID_2_\"  clipPathUnits=\"objectBoundingBox\"> <use xlink:href=\"#SVGID_1_\" overflow=\"visible\"/> </clipPath> <path clip-path=\"url(#SVGID_2_)\" fill=\"#2A2F3F\" d=\"M3,1.967C3,1.985,2.984,2,2.965,2h-3.93C-0.984,2-1,1.985-1,1.967v-2.934 C-1-0.985-0.984-1-0.965-1h3.93C2.984-1,3-0.985,3-0.967V1.967z\"/> </g> </g> </svg>  ';\nexport const svgForSkin_boxyRounded2 = ' <svg class=\"svg_rounded\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"1px\" height=\"1px\" viewBox=\"0 0 1 1\" enable-background=\"new 0 0 1 1\" xml:space=\"preserve\"> <g id=\"Layer_1\"> </g> <g id=\"Layer_2\"> <g> <defs> <path id=\"SVGID_1_\" d=\"M1,0.99C1,0.996,0.996,1,0.99,1H0.01C0.004,1,0,0.996,0,0.99V0.01C0,0.004,0.004,0,0.01,0h0.98 C0.996,0,1,0.004,1,0.01V0.99z\"/> </defs> <clipPath id=\"SVGID_2_\"  clipPathUnits=\"objectBoundingBox\"> <use xlink:href=\"#SVGID_1_\" overflow=\"visible\"/> </clipPath> <path clip-path=\"url(#SVGID_2_)\" fill=\"#2A2F3F\" d=\"M3,1.967C3,1.985,2.984,2,2.965,2h-3.93C-0.984,2-1,1.985-1,1.967v-2.934 C-1-0.985-0.984-1-0.965-1h3.93C2.984-1,3-0.985,3-0.967V1.967z\"/> </g> </g> </svg>  ';\nexport const svgSearchIcon = ' <svg class=\"search-icon\" version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"15px\" height=\"15px\" viewBox=\"230.042 230.042 15 15\" enable-background=\"new 230.042 230.042 15 15\" xml:space=\"preserve\"> <g> <path fill=\"#898383\" d=\"M244.708,243.077l-3.092-3.092c0.746-1.076,1.118-2.275,1.118-3.597c0-0.859-0.167-1.681-0.501-2.465 c-0.333-0.784-0.783-1.46-1.352-2.028s-1.244-1.019-2.027-1.352c-0.785-0.333-1.607-0.5-2.466-0.5s-1.681,0.167-2.465,0.5 s-1.46,0.784-2.028,1.352s-1.019,1.244-1.352,2.028s-0.5,1.606-0.5,2.465s0.167,1.681,0.5,2.465s0.784,1.46,1.352,2.028 s1.244,1.019,2.028,1.352c0.784,0.334,1.606,0.501,2.465,0.501c1.322,0,2.521-0.373,3.597-1.118l3.092,3.083 c0.217,0.229,0.486,0.343,0.811,0.343c0.312,0,0.584-0.114,0.812-0.343c0.228-0.228,0.342-0.499,0.342-0.812 C245.042,243.569,244.931,243.3,244.708,243.077z M239.241,239.241c-0.79,0.79-1.741,1.186-2.853,1.186s-2.062-0.396-2.853-1.186 c-0.79-0.791-1.186-1.741-1.186-2.853s0.396-2.063,1.186-2.853c0.79-0.791,1.741-1.186,2.853-1.186s2.062,0.396,2.853,1.186 s1.186,1.741,1.186,2.853S240.032,238.45,239.241,239.241z\"/> </g> </svg>  ';\nexport const svgShareIcon = ' <svg width=\"32\" height=\"33.762001037597656\" viewBox=\"0 0 32 33.762001037597656\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" fill=\"#000000\"><g><path d=\"M 22,6c0-3.212-2.788-6-6-6S 10,2.788, 10,6c0,3.212, 2.788,6, 6,6S 22,9.212, 22,6zM 16,14c-5.256,0-10,5.67-10,12.716s 20,7.046, 20,0S 21.256,14, 16,14z\"></path></g></svg>  ';","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(/&lt;/g, '<');\n  fout = fout.replace(/&gt;/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('<span class=\"reclam-marker\" style=\"left: ' + (selfClass.ad_array[i2].time * 100) + '%\"></span>');\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('<div class=\"ad-container\"></div>');\n\n  selfClass.$adContainer = selfClass.cthis.find('.ad-container').eq(0);\n\n\n  var stringVplayerAdStructure = '<div class=\"vplayer-tobe\"';\n\n  if (type !== 'inline') {\n    stringVplayerAdStructure += ' data-sourcevp=\"' + source + '\"';\n  }\n  if (type) {\n    stringVplayerAdStructure += ' data-type=\"' + type + '\"';\n  }\n  if (ad_link) {\n    stringVplayerAdStructure += ' data-adlink=\"' + ad_link + '\"';\n  }\n  if (skip_delay) {\n    stringVplayerAdStructure += ' data-adskip_delay=\"' + skip_delay + '\"';\n  }\n\n\n  stringVplayerAdStructure += '>';\n\n\n  if (type === 'inline') {\n    stringVplayerAdStructure += '<div class=\"feed-dzsvg--inline-content\">'+source+'</div>';\n  }\n\n\n  stringVplayerAdStructure += '</div>';\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('<div class=\"skipad-con\"></div>', '.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.$(this);\n        navWidth += $t.outerWidth();\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('<div class=\"layout-builder--structure', '<div class=\"layout-builder--structure layout-builder--parent-style-' + navAttributes.parentSkin);\n  }\n\n\n  let navigationItemDomTag = 'div';\n  let navigationItemExtraAttr = ' ';\n  let navigationItemExtraClasses = ' ';\n\n\n  if ($currentItemFeed.data('dzsvg-curatedtype-from-gallery') === 'link') {\n    navigationItemDomTag = 'a';\n    if ($currentItemFeed.attr('data-source')) {\n      navigationItemExtraAttr += ' href=\"' + $currentItemFeed.attr('data-source') + '\"';\n    }\n    if ($currentItemFeed.attr('data-target')) {\n      navigationItemExtraAttr += ' target=\"' + $currentItemFeed.attr('data-target') + '\"';\n    }\n  }\n\n\n  if(isUltiboxItem){\n    navigationItemExtraClasses+=' ultibox-item-delegated';\n\n    if($currentItemFeed.hasClass('vplayer-tobe')){\n      navigationItemExtraAttr+=' data-type=\"video\"';\n      if($currentItemFeed.attr('data-type')){\n\n        navigationItemExtraAttr+=` data-video-type=\"${$currentItemFeed.attr('data-type')}\"`;\n      }\n      if($currentItemFeed.attr('data-sourcevp')){\n\n        navigationItemExtraAttr+=` data-source=\"${$currentItemFeed.attr('data-sourcevp')}\"`;\n      }\n\n    }\n  }\n\n  // -- generating final_structureMenuItemContent\n\n  final_structureMenuItemContent += '<' + navigationItemDomTag + ' class=\" dzs-navigation--item ';\n  final_structureMenuItemContent+=navigationItemExtraClasses;\n  final_structureMenuItemContent+='\"';\n  final_structureMenuItemContent += navigationItemExtraAttr;\n  final_structureMenuItemContent += '>';\n  final_structureMenuItemContent += '<div class=\" dzs-navigation--item-content\">';\n\n\n  final_structureMenuItemContent += structureMenuItemContentInner + '</div>';\n\n\n  final_structureMenuItemContent += '</' + navigationItemDomTag + '>';\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    /** */\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      if (is_touch_device()) {\n        selfInstance.$mainNavigation.parent().addClass('is-touch');\n      }\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 = '<div class=\"main-navigation dzs-navigation--type-' + selfInstance.initOptions.navigationType + '\"><div class=\"navMain videogallery--navigation--clipped-container navigation--clipped-container\"><div class=\"videogallery--navigation-container navigation--total-container\">';\n      structure_baseLayout += '</div></div></div>';\n\n      parentClass.$navigationAndMainArea.addClass(`navPosition-${navAttributes.menuPosition} navType-${navAttributes.navigationType}`);\n\n      parentClass.$navigationAndMainArea.append('<div class=\"sliderMain media--main-area\"><div class=\"sliderCon\"></div></div>');\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('<div class=\"nav--thumbsAndArrows--arrow thumbs-arrow-left arrow-is-inactive\"></div>');\n        selfInstance.$mainNavigation.append('<div class=\"nav--thumbsAndArrows--arrow thumbs-arrow-right\"></div>');\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 = '<div class=\"con-dzsvg-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 += '<a class=\"pagination-number ' + str_active + '\" href=\"' + add_query_arg(window.location.href, 'dzsvgpage', (i + 1)) + '\">' + (i + 1) + '</a>'\n          }\n\n          str_pagination += '</div>';\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('<div class=\"btn_ajax_loadmore\">Load More</div>');\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('<link rel=\"stylesheet\" type=\"text/css\" href=\"' + baseUrl + 'dzsscroller/scroller.css\">');\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('<div class=\"dzs-layout-item\"></div>');\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('<div class=\"previewImg\" style=\"background-image:url(' + playlist_navigation_getPreviewImg(_t) + ');\"></div>');\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('<div class=\"desc\">' + _currentTargetPlayer.find('.menuDescription').html() + '</div>');\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 = '<div class=\"navigation-and-main-area\"></div>'\n\n  const cgallery = selfClass.cgallery;\n  const o = selfClass.initOptions;\n\n  if (o.design_shadow === 'on') {\n    cgallery.prepend('<div class=\"shadow\"></div>');\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('<div class=\"gallery-buttons\"></div>');\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('<div class=\"rotator-btn-gotoNext\">' + svgForwardButton + '</div><div class=\"rotator-btn-gotoPrev\">' + svgBackButton + '</div>');\n  }\n  if (o.settings_mode === 'rotator') {\n    selfClass.$navigationClippedContainer.append('<div class=\"rotator-btn-gotoNext\"></div><div class=\"rotator-btn-gotoPrev\"></div>');\n    selfClass.$navigationClippedContainer.append('<div class=\"descriptionsCon\"></div>');\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 = '<div class=\"dzsvg-search-field\"><input type=\"text\" placeholder=\"search...\"/>' + svgSearchIcon + '</div>';\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('<div class=\"dzs-social-box--invoke-btn embed-button open-in-embed-ultibox\"><div class=\"handle\">' + svg_embed + '</div><div hidden aria-hidden=\"true\" class=\"feed-dzsvg feed-dzsvg--embedcode\">' + o.embedCode + '</div></div>');\n\n\n    }\n\n\n  } else {\n\n    if (o.embedCode !== '') {\n      selfClass.$galleryButtons.append('<div class=\"embed-button\"><div class=\"handle\">' + svg_embed + '</div><div class=\"contentbox\" style=\"display:none;\"><textarea class=\"thetext\">' + o.embedCode + '</textarea></div></div>');\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('<div class=\"share-button\"><div class=\"handle\">' + svgShareIcon + '</div><div class=\"contentbox\" style=\"display:none;\"><div class=\"thetext\">' + selfClass.feed_socialCode + '</div></div></div>');\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":""}