- ID de l'analyse :
- 58aca230-cca7-48d1-bc29-4f7d97d7d27dTerminée
- URL soumise :
- https://community.oilprice.com/
- Fin du rapport :
Liens : 16 trouvé(s)
Liens sortants identifiés à partir de la page
Lien | texte |
---|---|
https://oilprice.com/ | Back to Oilprice.com |
https://www.invisioncommunity.com/ | Powered by Invision Community |
https://www.facebook.com/oilpricenews | |
https://twitter.com/OilandEnergy | |
https://www.linkedin.com/company/oilprice-com?report%2Esuccess=KJ_KkFGTDCfMt-A7wV3Fn9Yvgwr02Kd6AZHGx4bQCDiP6-2rfP2oxyVoEQiPrcAQ7Bf | |
https://plus.google.com/100818571694606454377/posts | |
http://feeds.feedburner.com/oilpricecom | |
http://oilprice.com/rss/main | |
http://oilprice.com/about-us | More About Us |
http://oilprice.com/Latest-Energy-News/World-News/ | Site News |
Variables JavaScript : 60 trouvée(s)
Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel
Nom | Type |
---|---|
0 | object |
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
gtag | function |
dataLayer | object |
google_tag_manager | object |
google_tag_data | object |
GoogleAnalyticsObject | string |
ga | function |
Messages de journal de console : 16 trouvé(s)
Messages consignés dans la console web
Type | Catégorie | Enregistrement |
---|---|---|
log | other |
|
warning | other |
|
trace | other |
|
warning | other |
|
trace | other |
|
log | other |
|
verbose | dom |
|
error | network |
|
error | other |
|
error | network |
|
error | other |
|
error | network |
|
error | other |
|
error | network |
|
error | other |
|
error | network |
|
HTML
Le corps HTML de la page en données brutes
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\globalTemplate.phtml --><!DOCTYPE html><html lang="en-US" dir="ltr"><head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<link rel="stylesheet" type="text/css" href="/themes/2/css/forums/front/introjs.css">
<script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=AW-814550776&l=dataLayer&cx=c&gtm=457e4cc1za200"></script><script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=AW-811559680&l=dataLayer&cx=c&gtm=457e4cc1za200"></script><script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script><script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=G-QL9S782LWM&l=dataLayer&cx=c&gtm=457e4cc1za200"></script><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-2249023-28"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-2249023-28', { 'anonymize_ip': true });
</script>
<title>
Energy & Oil Forums - Oil Price Community
</title>
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/front/extra/ie8.css">
<script src="//community.oilprice.com/applications/core/interface/html5shiv/html5shiv.js"></script>
<![endif]-->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeMeta.phtml -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:title" content="Energy & Oil Forums - Oil Price Community">
<meta property="og:type" content="website">
<meta property="og:url" content="https://community.oilprice.com/">
<meta property="og:site_name" content="Oil Price Community">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://community.oilprice.com/uploads/monthly_2018_03/oilprice-community-facebook-share-logo.png.327f70c445b14df1f04f3aa5b87a9d1e.png">
<meta property="og:description" content="Latest discussions about crude oil prices, gas price charts and energy news covering: oil, petroleum, natural gas and investment advice.">
<meta name="keywords" content="">
<meta name="theme-color" content="#ffffff">
<link rel="canonical" href="https://community.oilprice.com">
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeMeta.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeCSS.phtml -->
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/global/framework/_vars.css,themes/2/css/core/global/framework/animation.css,themes/2/css/core/global/framework/badges.css,themes/2/css/core/global/framework/blocks.css,themes/2/css/core/global/framework/buttons.css,themes/2/css/core/global/framework/cards.css,themes/2/css/core/global/framework/comments.css,themes/2/css/core/global/framework/compose.css,themes/2/css/core/global/framework/data-lists.css,themes/2/css/core/global/framework/engagement.css,themes/2/css/core/global/framework/fonts.css,themes/2/css/core/global/framework/forms.css,themes/2/css/core/global/framework/global.css,themes/2/css/core/global/framework/global_new.css,themes/2/css/core/global/framework/global_old.css,themes/2/css/core/global/framework/layout.css,themes/2/css/core/global/framework/lightbox.css,themes/2/css/core/global/framework/menus.css,themes/2/css/core/global/framework/menus_new.css,themes/2/css/core/global/framework/menus_old.css,themes/2/css/core/global/framework/messages.css,themes/2/css/core/global/framework/misc.css,themes/2/css/core/global/framework/navigation.css,themes/2/css/core/global/framework/normalize.css,themes/2/css/core/global/framework/pagination.css,themes/2/css/core/global/framework/popup.css,themes/2/css/core/global/framework/post-content.css,themes/2/css/core/global/framework/posts.css,themes/2/css/core/global/framework/prettify.css,themes/2/css/core/global/framework/spectrum.css,themes/2/css/core/global/framework/streams.css,themes/2/css/core/global/framework/tables.css,themes/2/css/core/global/framework/tabs.css,themes/2/css/core/global/framework/tags.css,themes/2/css/core/global/framework/toolbox.css,themes/2/css/core/global/framework/typography.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/global/responsive/badges.css,themes/2/css/core/global/responsive/blocks.css,themes/2/css/core/global/responsive/buttons.css,themes/2/css/core/global/responsive/comments.css,themes/2/css/core/global/responsive/compose.css,themes/2/css/core/global/responsive/data-lists.css,themes/2/css/core/global/responsive/engagement.css,themes/2/css/core/global/responsive/forms.css,themes/2/css/core/global/responsive/global.css,themes/2/css/core/global/responsive/layout.css,themes/2/css/core/global/responsive/lightbox.css,themes/2/css/core/global/responsive/menus.css,themes/2/css/core/global/responsive/misc.css,themes/2/css/core/global/responsive/navigation.css,themes/2/css/core/global/responsive/pagination.css,themes/2/css/core/global/responsive/popup.css,themes/2/css/core/global/responsive/post-content.css,themes/2/css/core/global/responsive/posts.css,themes/2/css/core/global/responsive/responsive.css,themes/2/css/core/global/responsive/streams.css,themes/2/css/core/global/responsive/tables.css,themes/2/css/core/global/responsive/tabs.css,themes/2/css/core/global/responsive/typography.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/front/core.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/front/core_responsive.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/forums/front/forums.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/forums/front/forums_responsive.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/front/custom/custom.css,themes/2/css/core/front/custom/smartbanner.min.css,themes/2/css/core/front/custom/style.css&v=43c8c39307" media="all">
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeCSS.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\globalavico.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\globalavico.phtml -->
<!-- Global site tag (gtag.js) - AdWords: 811559680 -->
<script async="" src="https://www.googletagmanager.com/gtag/js?id=AW-811559680"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-811559680');
gtag('config', 'AW-814550776');
</script>
<!-- Start GPT Tag -->
<script async="" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script>
window.googletag = window.googletag || {cmd: []};
googletag.cmd.push(function() {
var mapping1 = googletag.sizeMapping()
.addSize([750, 300], [[728, 90]])
.addSize([10, 10], [[320, 50]])
.build();
googletag.defineSlot('/43459271/oilprice.com/oilprice-comm1', [[728,90],[320,50]], 'div-gpt-ad-7114456-1')
.defineSizeMapping(mapping1)
.addService(googletag.pubads());
if (window.location.href.indexOf("topic") > -1) {
googletag.defineSlot('/43459271/oilprice.com/oilprice-comm2', [[728,90],[320,50]], 'div-gpt-ad-5847596-1')
.defineSizeMapping(mapping1)
.addService(googletag.pubads());
googletag.defineSlot('/43459271/oilprice.com/oilprice-comm3', [[728,90],[320,50]], 'div-gpt-ad-2229021-1')
.defineSizeMapping(mapping1)
.addService(googletag.pubads());
googletag.defineSlot('/43459271/oilprice.com/oilprice-comm4', [[728,90],[320,50]], 'div-gpt-ad-8795603-1')
.defineSizeMapping(mapping1)
.addService(googletag.pubads());
}
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
<!-- End GPT Tag -->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com -->
<script type="text/javascript" src="https://a.optmnstr.com/app/js/api.min.js" data-campaign="ab3gyyqeflzggh1omxfh" data-user="20987" async=""></script>
<!-- / https://optinmonster.com -->
<meta http-equiv="origin-trial" content="AlK2UR5SkAlj8jjdEc9p3F3xuFYlF6LYjAML3EOqw1g26eCwWPjdmecULvBH5MVPoqKYrOfPhYVL71xAXI1IBQoAAAB8eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ=="><meta http-equiv="origin-trial" content="Amm8/NmvvQfhwCib6I7ZsmUxiSCfOxWxHayJwyU1r3gRIItzr7bNQid6O8ZYaE1GSQTa69WwhPC9flq/oYkRBwsAAACCeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ=="><meta http-equiv="origin-trial" content="A9wSqI5i0iwGdf6L1CERNdmsTPgVu44ewj8QxTBYgsv1LCPUVF7YmWOvTappqB1139jAymxUW/RO8zmMqo4zlAAAAACNeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A+d7vJfYtay4OUbdtRPZA3y7bKQLsxaMEPmxgfhBGqKXNrdkCQeJlUwqa6EBbSfjwFtJWTrWIioXeMW+y8bWAgQAAACTeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><script src="https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202412090101/pubads_impl.js" async=""></script><link rel="stylesheet" href="https://a.omappapi.com/app/js/api.min.css" id="omapi-css" media="all"><script id="omapi-script" src="https://a.optmnstr.com/app/js/api.min.js" async=""></script></head>
<body class="ipsApp ipsApp_front ipsClearfix ipsJS_has ipsApp_noTouch ipsLayout_sidebarUnused" data-controller="core.front.core.app" data-message="" data-pageapp="forums" data-pagelocation="front" data-pagemodule="forums" data-pagecontroller="index" itemscope="" itemtype="http://schema.org/WebSite">
<meta itemprop="url" content="https://community.oilprice.com/">
<a href="#elContent" class="ipsHide" title="Go to main content on this page" accesskey="m">Jump to content</a>
<div id="ipsLayout_header" class="ipsClearfix">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\updateWarning.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\updateWarning.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global\lkeyWarning.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global\lkeyWarning.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavBar.phtml -->
<ul id="elMobileNav" class="ipsList_inline ipsResponsive_hideDesktop ipsResponsive_block" data-controller="core.front.core.mobileNav" data-default="forums_topic">
<li>
<a data-action="defaultStream" class="ipsType_light" href="https://community.oilprice.com/discover/8/"><i class="icon-newspaper"></i></a>
</li>
<li class="ipsJS_show">
<a rel="nofollow" href="https://community.oilprice.com/search/" data-action=""><i class="fa fa-search"></i></a>
</li>
<li data-ipsdrawer="" data-ipsdrawer-drawerelem="#elMobileDrawer">
<a href="#">
<i class="fa fa-navicon"></i>
</a>
</li>
</ul>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavBar.phtml -->
<header>
<!-- GPT AdSlot 1 for Ad unit 'oilprice.com/oilprice-comm3' ### Size: [[728,90],[320,50]] -->
<!-- End AdSlot 1 -->
<div class="ipsLayout_container">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\logo.phtml -->
<a href="https://community.oilprice.com/" id="elLogo" accesskey="1"><img src="https://community.oilprice.com/uploads/monthly_2017_06/oilprice-logo.png.244a8b59653b7f47b94d0a9ec6967311.png" alt="Oil Price Community"></a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\logo.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBar.phtml -->
<div class="ipsNavBar_primary ipsClearfix">
<ul data-role="primaryNavBar" class="ipsResponsive_showDesktop ipsResponsive_block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li id="elNavSecondary_13" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://oilprice.com/" data-navitem-id="13">
Back to Oilprice.com
</a>
</li>
<li class="ipsNavBar_active" data-active="" id="elNavSecondary_1" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://community.oilprice.com" data-navitem-id="1" data-navdefault="">
Browse
</a>
<ul class="ipsNavBar_secondary " data-role="secondaryNavBar">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li class="ipsNavBar_active" data-active="" id="elNavSecondary_8" data-role="navBarItem" data-navapp="forums" data-navext="Forums">
<a href="https://community.oilprice.com" data-navitem-id="8" data-navdefault="">
Forums
</a>
</li>
<li id="elNavSecondary_11" data-role="navBarItem" data-navapp="core" data-navext="OnlineUsers">
<a href="https://community.oilprice.com/online/" data-navitem-id="11">
Online Users
</a>
</li>
<li id="elNavSecondary_12" data-role="navBarItem" data-navapp="core" data-navext="Leaderboard">
<a href="https://community.oilprice.com/leaderboard/" data-navitem-id="12">
Leaderboard
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li class="ipsHide" id="elNavigationMore_1" data-role="navMore">
<a href="#" data-ipsmenu="" data-ipsmenu-appendto="#elNavigationMore_1" id="elNavigationMore_1_dropdown">More <i class="fa fa-caret-down"></i></a>
<ul class="ipsHide ipsMenu ipsMenu_auto" id="elNavigationMore_1_dropdown_menu" data-role="moreDropdown"></ul>
</li>
</ul>
</li>
<li id="elNavSecondary_2" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://community.oilprice.com/discover/" data-navitem-id="2">
Activity
</a>
<ul class="ipsNavBar_secondary ipsHide" data-role="secondaryNavBar">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li id="elNavSecondary_16" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://community.oilprice.com/discover/" data-navitem-id="16">
Latest Discussions
</a>
</li>
<li id="elNavSecondary_18" data-role="navBarItem" data-navapp="core" data-navext="YourActivityStreamsItem">
<a href="https://community.oilprice.com/discover/8/" data-navitem-id="18">
All Activity
</a>
</li>
<li id="elNavSecondary_7" data-role="navBarItem" data-navapp="core" data-navext="Search">
<a href="https://community.oilprice.com/search/" data-navitem-id="7" rel="nofollow">
Search
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li class="ipsHide" id="elNavigationMore_2" data-role="navMore">
<a href="#" data-ipsmenu="" data-ipsmenu-appendto="#elNavigationMore_2" id="elNavigationMore_2_dropdown">More <i class="fa fa-caret-down"></i></a>
<ul class="ipsHide ipsMenu ipsMenu_auto" id="elNavigationMore_2_dropdown_menu" data-role="moreDropdown"></ul>
</li>
</ul>
</li>
<li id="elNavSecondary_23" data-role="navBarItem" data-navapp="blog" data-navext="Blogs">
<a href="https://community.oilprice.com/blogs/" data-navitem-id="23">
Blogs
</a>
</li>
<li id="elNavSecondary_24" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://community.oilprice.com/referafriend/" data-navitem-id="24">
Refer a Friend
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li class="ipsHide" id="elNavigationMore" data-role="navMore">
<a href="#" data-ipsmenu="" data-ipsmenu-appendto="#elNavigationMore" id="elNavigationMore_dropdown">More</a>
<ul class="ipsNavBar_secondary ipsHide" data-role="secondaryNavBar">
<li class="ipsHide" id="elNavigationMore_more" data-role="navMore">
<a href="#" data-ipsmenu="" data-ipsmenu-appendto="#elNavigationMore_more" id="elNavigationMore_more_dropdown">More <i class="fa fa-caret-down"></i></a>
<ul class="ipsHide ipsMenu ipsMenu_auto" id="elNavigationMore_more_dropdown_menu" data-role="moreDropdown"></ul>
</li>
</ul>
</li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBar.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userBar.phtml -->
<ul id="elUserNav" class="ipsList_inline cSignedOut ipsClearfix ipsResponsive_hidePhone ipsResponsive_block">
<li id="elSignInLink">
<a href="https://community.oilprice.com/login/" data-ipsmenu-closeonclick="false" data-ipsmenu="" id="elUserSignIn">
Login <i class="fa fa-caret-down"></i>
</a>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\loginPopup.phtml -->
<div id="elUserSignIn_menu" class="ipsMenu ipsMenu_auto ipsHide">
<form accept-charset="utf-8" method="post" action="https://community.oilprice.com/login/" data-controller="core.global.core.login">
<input type="hidden" name="csrfKey" value="f33f58e7e4d78326f74b23f36735b0d3">
<input type="hidden" name="ref" value="aHR0cHM6Ly9jb21tdW5pdHkub2lscHJpY2UuY29tLw==">
<div data-role="loginForm">
<div class="ipsColumns ipsColumns_noSpacing">
<div class="ipsColumn ipsColumn_wide" id="elUserSignIn_internal">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\loginPopupForm.phtml -->
<div class="ipsPad ipsForm ipsForm_vertical">
<h4 class="ipsType_sectionHead">Sign In</h4>
<br><br>
<ul class="ipsList_reset">
<li class="ipsFieldRow ipsFieldRow_noLabel ipsFieldRow_fullWidth">
<input type="text" placeholder="Display Name or Email Address" name="auth">
</li>
<li class="ipsFieldRow ipsFieldRow_noLabel ipsFieldRow_fullWidth">
<input type="password" placeholder="Password" name="password">
</li>
<li class="ipsFieldRow ipsFieldRow_checkbox ipsClearfix">
<span class="ipsCustomInput">
<input type="checkbox" name="remember_me" id="remember_me_checkbox" value="1" checked="" aria-checked="true">
<span></span>
</span>
<div class="ipsFieldRow_content">
<label class="ipsFieldRow_label" for="remember_me_checkbox">Remember me</label>
<span class="ipsFieldRow_desc">Not recommended on shared computers</span>
</div>
</li>
<li class="ipsFieldRow ipsFieldRow_checkbox ipsClearfix">
<span class="ipsCustomInput">
<input type="checkbox" name="anonymous" id="anonymous_checkbox" value="1" aria-checked="false">
<span></span>
</span>
<div class="ipsFieldRow_content">
<label class="ipsFieldRow_label" for="anonymous_checkbox">Sign in anonymously</label>
</div>
</li>
<li class="ipsFieldRow ipsFieldRow_fullWidth">
<br>
<button type="submit" name="_processLogin" value="usernamepassword" class="ipsButton ipsButton_primary ipsButton_small" id="elSignIn_submit">Sign In</button>
<br>
<p class="ipsType_right ipsType_small">
<a href="https://community.oilprice.com/lostpassword/" data-ipsdialog="" data-ipsdialog-title="Forgot your password?">
Forgot your password?</a>
</p>
</li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\loginPopupForm.phtml -->
</div>
<div class="ipsColumn ipsColumn_wide">
<div class="ipsPad" id="elUserSignIn_external">
<div class="ipsAreaBackground_light ipsPad_half">
<p class="ipsType_reset ipsType_small ipsType_center"><strong>Or sign in with one of these services</strong></p>
<div class="ipsPad_half ipsType_center">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
<button type="submit" name="_processLogin" value="11" class="ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_google" style="background-color: #4285F4">
<span class="ipsSocial_icon">
<i class="fa fa-google"></i>
</span>
<span class="ipsSocial_text">Google</span>
</button>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
</div>
<div class="ipsPad_half ipsType_center">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
<button type="submit" name="_processLogin" value="13" class="ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_linkedin" style="background-color: #007eb3">
<span class="ipsSocial_icon">
<i class="fa fa-linkedin"></i>
</span>
<span class="ipsSocial_text">LinkedIn</span>
</button>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
</div>
<div class="ipsPad_half ipsType_center">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
<button type="submit" name="_processLogin" value="14" class="ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_facebook" style="background-color: #3a579a">
<span class="ipsSocial_icon">
<i class="fa fa-facebook-official"></i>
</span>
<span class="ipsSocial_text">Facebook</span>
</button>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\loginPopup.phtml -->
</li>
<li>
<a href="https://community.oilprice.com/register/" id="elRegisterButton" class="ipsButton ipsButton_normal ipsButton_primary">Register</a>
</li>
</ul>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userBar.phtml -->
</div>
</header>
<!-- GPT AdSlot 1 for Ad unit 'oilprice.com/oilprice-comm1' ### Size: [[728,90],[320,50]] -->
<!--<div id='div-gpt-ad-7114456-1' style="text-align: center; margin: 10px auto; padding: 10px;">
<script>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-7114456-1'); });
</script>
</div>-->
<!-- End AdSlot 1 -->
</div>
<main role="main" id="ipsLayout_body" class="ipsLayout_container">
<div id="ipsLayout_contentArea">
<div id="ipsLayout_contentWrapper">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\sidebar.phtml -->
<div id="ipsLayout_sidebar" class="ipsLayout_sidebarleft " data-controller="core.front.widgets.sidebar">
<div id="sidebar_inner">
<li class="sidebar_btn"><a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="/register">Start a Discussion</a></li>
<li class="sidebar_btn"><a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="/blogs/create/">Create a Blog</a></li>
<li class="sidebar_btn"><a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="/discover">Latest Discussions</a></li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
<div class="cWidgetContainer " data-role="widgetReceiver" data-orientation="vertical" data-widgetarea="sidebar">
<ul class="ipsList_reset">
<li>
<!-- 300x250-Sidebar1 - Place as first ad in the left sidebar --><!--<div id='div-gpt-ad-1553138697564-0' style='min-width: 300px; min-height: 250px;'></div>-->
</li>
<li class="ipsWidget ipsWidget_vertical ipsBox" data-blockid="app_core_members_ds8glh70x" data-blockconfig="true" data-blocktitle="Members" data-controller="core.front.widgets.block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\widgets\members.phtml -->
<h3 class="ipsType_reset ipsWidget_title"><img src="https://community.oilprice.com/themes/2/resources/core/front/widgetsIcons/most_active_icon.png">
Most Active Members
</h3>
<div class="ipsWidget_inner ipsPad">
<ul class="ipsList_reset">
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49528-samonsda/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49528-samonsda/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to samonsda's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49528.thumb.png.7208bea35e02f59b5401a2850d2aab48.png" alt="samonsda" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/23606-danlxyz/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/23606-danlxyz/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to Danlxyz's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="23606" style="background-color: #0a0d1a;">
<span class="user_photo_text">DF</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/36356-edi-mulyana/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/36356-edi-mulyana/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to edi mulyana's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2022_09/imported-photo-36356.thumb.png.9b3031921d985e520fb12412e2455fbb.png" alt="edi mulyana" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49527-mithu-sorkar/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49527-mithu-sorkar/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to Mithu Sorkar's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49527.thumb.png.29e4dcba3a16b315e1ef86b9d2ba957a.png" alt="Mithu Sorkar" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49514-top-up/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49514-top-up/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to Top Up's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49514.thumb.png.1305b4ff826a800735dc5bd710d0580c.png" alt="Top Up" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/48669-rakulpreet/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/48669-rakulpreet/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to rakulpreet's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="48669" style="background-color: #69899a;">
<span class="user_photo_text">rp</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\widgets\members.phtml --></li>
<li>
<!-- 300x250-Sidebar2 - Place as second ad in the left sidebar --><!--<div id='div-gpt-ad-1553138761376-0' style='min-width: 300px; min-height: 250px;'></div>-->
</li>
<li class="ipsWidget ipsWidget_vertical ipsBox" data-blockid="app_core_activeUsers_a42u95ftn" data-blockconfig="true" data-blocktitle="Recently Online" data-controller="core.front.widgets.block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\widgets\activeUsers.phtml -->
<h3 class="ipsType_reset ipsWidget_title recently_online_title"><img src="https://community.oilprice.com/themes/2/resources/core/front/widgetsIcons/recent_icon.png">
Recently Online
</h3>
<div class="ipsWidget_inner recent_online_holder ipsPad">
<p class="ipsType_reset ipsType_medium ipsType_light">No registered users viewing this page.</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\widgets\activeUsers.phtml --></li>
<li>
<!-- 300x250-Sidebar3 - Place as third ad in the left sidebar --><!--<div id='div-gpt-ad-1553138837676-0' style='min-width: 300px; min-height: 250px;'></div>-->
</li>
<li class="ipsWidget ipsWidget_vertical ipsBox" data-blockid="app_core_topContributors_fnaf1nteq" data-blockconfig="true" data-blocktitle="Popular Members" data-controller="core.front.widgets.block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\widgets opContributors.phtml -->
<h3 class="ipsType_reset ipsWidget_title no_margin_at_bottom test-class"><img src="https://community.oilprice.com/themes/2/resources/core/front/widgetsIcons/popular_users_icon.png"> Popular Members</h3>
<section id="elTopContributors_content" class="ipsWidget_inner">
<div id="ipsTabs_elTopContributors_el_topContributorsWeek_panel" class="ipsTabs_panel">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\widgets opContributorRows.phtml -->
<ol class="ipsDataList ipsDataList_reducedSpacing cTopContributors">
<li class="ipsDataItem">
<div class="ipsDataItem_main ipsPhotoPanel ipsPhotoPanel_tiny">
<h3 class="pop_time_title">This week</h3>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/40980-turbguy/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/40980-turbguy/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to turbguy's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2021_02/HA.thumb.jpg.3ca3d5546320c18904b4b526c70da47b.jpg" alt="turbguy" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<div>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/40980-turbguy/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/40980-turbguy/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to turbguy's profile" class="ipsType_break" rel="nofollow">turbguy</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<span class="member_topics_amount">1</span>
<br>
<span title="Member's reputation this period" data-ipstooltip="" class="ipsRepBadge ipsRepBadge_positive"><i class="fa fa-plus-circle"></i> 5</span>
</div>
</div>
</li>
</ol>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\widgets opContributorRows.phtml -->
</div>
</section>
<!--
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('#el_topContributorsWeek').trigger('click');
jQuery('#el_topContributorsMonth').trigger('click');
jQuery('#el_topContributorsYear').trigger('click');
jQuery('#el_topContributorsAll').trigger('click');
});
</script> -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\widgets opContributors.phtml --></li>
<li>
<!-- 300x250-Sidebar4 - Place as fourth ad in the left sidebar --><!--<div id='div-gpt-ad-1568042970649-0' style='min-width: 300px; min-height: 250px;'></div>-->
</li>
<li class="ipsWidget ipsWidget_vertical ipsBox ipsWidgetHide ipsHide" data-blockid="app_forums_topicFeed_weje7aarv" data-blockconfig="true" data-blocktitle="Topic Feed" data-controller="core.front.widgets.block"></li>
<li class="ipsWidget ipsWidget_vertical ipsBox ipsWidgetHide ipsHide" data-blockid="app_forums_topicFeed_5cjo2ss9v" data-blockconfig="true" data-blocktitle="Topic Feed" data-controller="core.front.widgets.block"></li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\sidebar.phtml -->
<div id="ipsLayout_mainArea">
<a id="elContent"></a>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\announcementContentTop.phtml -->
<div class="cAnnouncementsContent">
<div class="cAnnouncementContentTop ipsAnnouncement ipsMessage_information ipsType_center">
<a href="https://community.oilprice.com/announcement/3-an-important-message-for-oilprice-members/" data-ipsdialog="" data-ipsdialog-title="An Important Message For Oilprice Members">An Important Message For Oilprice Members</a>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\announcementContentTop.phtml -->
<!--<div id='div-gpt-ad-1584415042483-0' style='min-width: 320px; min-height: 50px;'></div>-->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
<div class="cWidgetContainer " data-role="widgetReceiver" data-orientation="horizontal" data-widgetarea="header">
<ul class="ipsList_reset">
<li class="ipsWidget ipsWidget_horizontal ipsBox" data-blockid="app_blog_entryFeed_qnz9f0fxb" data-blockconfig="true" data-blocktitle="Blog Entry Feed" data-controller="core.front.widgets.block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryFeed.phtml -->
<h3 class="ipsType_reset ipsWidget_title blog-widget-title">Community Blog Entries</h3>
<div class="ipsPad_half ipsWidget_inner" style="overflow:hidden;">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<div class="blog-container half">
<div class="table">
<div class="blog-image-container td">
<div class="cBlog_grid_catBadge"><a href="https://community.oilprice.com/blogs/blog/353-crude-oil-futures/">Crude Oil Futures</a></div>
<a class="blog-image-link" href="https://community.oilprice.com/blogs/entry/4804-colombia-pushes-for-shorter-production-timeline-from-offshore-gas-discovery/">
<div class="cBlog_grid_item__image" style="background-image: url("https://community.oilprice.com/themes/2/resources/core/global/pattern.png"); background-color: hsl(-59, 100%, 80% )">
</div>
</a>
</div>
<div class="blog-entry-container td">
<div class="blog-entry">
<a href="https://community.oilprice.com/blogs/entry/4804-colombia-pushes-for-shorter-production-timeline-from-offshore-gas-discovery/" class="blog-entry-title">Colombia pushes for shorter production timeline from offshore gas discovery</a>
<div class="blog-content ipsType_break is-truncated" data-ipstruncate="" data-ipstruncate-size="4 lines" data-ipstruncate-type="remove" style="overflow-wrap: break-word;">
(Bloomberg) – Colombia wants to shorten the... </div>
</div>
</div>
</div>
<div class="blog-meta">
<hr class="ipsHr">
<div class="cBlog_grid_item__stats">
<div class="ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_tiny">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/41040-hemanthaamailcom/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to [email protected]'s profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2021_01/hemantha-opcom.thumb.jpg.199ea6ddba58c41716fa96ba03d6160b.jpg" alt="[email protected]" itemprop="image">
</a>
<div>
<p class="ipsType_reset">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/">[email protected]</a>
</p>
<p class="ipsType_reset">
<time datetime="2024-12-14T01:20:52Z" title="12/14/2024 01:20 AM" data-short="16 hr">16 hours ago</time>
</p>
</div>
</div>
<div class="cBlog_grid_item__comments ipsType_light ipsFaded">
<a href="https://community.oilprice.com/blogs/entry/4804-colombia-pushes-for-shorter-production-timeline-from-offshore-gas-discovery/#comments" title="View comments"><i class="fa fa-comment"></i> 0</a>
</div>
</div>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<div class="blog-container half">
<div class="table">
<div class="blog-image-container td">
<div class="cBlog_grid_catBadge"><a href="https://community.oilprice.com/blogs/blog/353-crude-oil-futures/">Crude Oil Futures</a></div>
<a class="blog-image-link" href="https://community.oilprice.com/blogs/entry/4805-seplat-to-revive-idle-nigeria-wells-following-purchase-of-exxons-onshore-assets/">
<div class="cBlog_grid_item__image" style="background-image: url("https://community.oilprice.com/themes/2/resources/core/global/pattern.png"); background-color: hsl(47, 100%, 80% )">
</div>
</a>
</div>
<div class="blog-entry-container td">
<div class="blog-entry">
<a href="https://community.oilprice.com/blogs/entry/4805-seplat-to-revive-idle-nigeria-wells-following-purchase-of-exxons-onshore-assets/" class="blog-entry-title">Seplat to revive idle Nigeria wells following purchase of Exxon's onshore assets</a>
<div class="blog-content ipsType_break is-truncated" data-ipstruncate="" data-ipstruncate-size="4 lines" data-ipstruncate-type="remove" style="overflow-wrap: break-word;">
(Bloomberg) -- Seplat Energy Plc will revive hundreds of... </div>
</div>
</div>
</div>
<div class="blog-meta">
<hr class="ipsHr">
<div class="cBlog_grid_item__stats">
<div class="ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_tiny">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/41040-hemanthaamailcom/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to [email protected]'s profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2021_01/hemantha-opcom.thumb.jpg.199ea6ddba58c41716fa96ba03d6160b.jpg" alt="[email protected]" itemprop="image">
</a>
<div>
<p class="ipsType_reset">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/">[email protected]</a>
</p>
<p class="ipsType_reset">
<time datetime="2024-12-14T01:20:52Z" title="12/14/2024 01:20 AM" data-short="16 hr">16 hours ago</time>
</p>
</div>
</div>
<div class="cBlog_grid_item__comments ipsType_light ipsFaded">
<a href="https://community.oilprice.com/blogs/entry/4805-seplat-to-revive-idle-nigeria-wells-following-purchase-of-exxons-onshore-assets/#comments" title="View comments"><i class="fa fa-comment"></i> 0</a>
</div>
</div>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<div class="blog-container half">
<div class="table">
<div class="blog-image-container td">
<div class="cBlog_grid_catBadge"><a href="https://community.oilprice.com/blogs/blog/353-crude-oil-futures/">Crude Oil Futures</a></div>
<a class="blog-image-link" href="https://community.oilprice.com/blogs/entry/4801-expro-to-develop-new-flowmeter-technology-for-petrobras-operated-wells/">
<div class="cBlog_grid_item__image" style="background-image: url("https://community.oilprice.com/themes/2/resources/core/global/pattern.png"); background-color: hsl(-173, 100%, 80% )">
</div>
</a>
</div>
<div class="blog-entry-container td">
<div class="blog-entry">
<a href="https://community.oilprice.com/blogs/entry/4801-expro-to-develop-new-flowmeter-technology-for-petrobras-operated-wells/" class="blog-entry-title">Expro to develop new flowmeter technology for Petrobras-operated wells</a>
<div class="blog-content ipsType_break" data-ipstruncate="" data-ipstruncate-size="4 lines" data-ipstruncate-type="remove" style="overflow-wrap: break-word;">
Expro has signed a technology agreement (ETEC) with Petrobras for the development of a new non-intrusive flowmeter. The technology is designed to increase efficiency and optimize production of wells. View the full article
</div>
</div>
</div>
</div>
<div class="blog-meta">
<hr class="ipsHr">
<div class="cBlog_grid_item__stats">
<div class="ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_tiny">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/41040-hemanthaamailcom/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to [email protected]'s profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2021_01/hemantha-opcom.thumb.jpg.199ea6ddba58c41716fa96ba03d6160b.jpg" alt="[email protected]" itemprop="image">
</a>
<div>
<p class="ipsType_reset">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/">[email protected]</a>
</p>
<p class="ipsType_reset">
<time datetime="2024-12-13T16:07:14Z" title="12/13/2024 04:07 PM" data-short="1 dy">Yesterday at 04:07 PM</time>
</p>
</div>
</div>
<div class="cBlog_grid_item__comments ipsType_light ipsFaded">
<a href="https://community.oilprice.com/blogs/entry/4801-expro-to-develop-new-flowmeter-technology-for-petrobras-operated-wells/#comments" title="View comments"><i class="fa fa-comment"></i> 0</a>
</div>
</div>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<br>
<a href="/blogs/">View all blogs →</a>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryFeed.phtml --></li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\htmlorumsront\index\index.phtml -->
<div class="ipsPageHeader ipsClearfix ipsSpacer_bottom cForumHeader">
<ul class="ipsToolList ipsToolList_horizontal ipsClearfix ipsPos_right">
<li class="ipsToolList_primaryAction ipsResponsive_hidePhone">
<a class="ipsButton ipsButton_medium ipsButton_important" href="https://community.oilprice.com/startTopic/" data-ipsdialog="" data-ipsdialog-size="narrow" data-ipsdialog-title="Select Forum">Start new topic</a>
</li>
<!-- template start C:\wamp64\www\websites\op-community hemes\htmlorumsront\globaliewChange.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\htmlorumsront\globaliewChange.phtml -->
</ul>
<h1 class="ipsType_pageTitle">
Oil Price Community
</h1>
</div>
<section>
<ol class="ipsList_reset cForumList" data-controller="core.global.core.table, forums.front.forum.forumList" data-baseurl="">
<li data-categoryid="63" class="cForumRow ipsBox ipsSpacer_bottom">
<h2 class="ipsType_sectionTitle ipsType_reset cForumTitle">
<a href="#" class="ipsPos_right ipsJS_show ipsType_noUnderline cForumToggle" data-action="toggleCategory" data-ipstooltip="" title="Toggle this category"></a>
<a href="https://community.oilprice.com/forum/63-energy-general/">Energy General</a>
</h2>
<ol class="ipsDataList ipsDataList_large ipsDataList_zebra ipsAreaBackground_reset" data-role="forums">
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="64">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/64-oil-general/">Oil (General)</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Oil General Forum focuses on long term changes, bigger picture analysis, discussions, mostly but not completely related to geopolitics, demand/supply scenarios, trade war, agreements, etc.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">69.7k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49528-samonsda/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49528-samonsda/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to samonsda's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49528.thumb.png.7208bea35e02f59b5401a2850d2aab48.png" alt="samonsda" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44303-de-cuda-tel-chara/?do=getNewComment" title="de cuda tel chara">de cuda tel chara</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/49528-samonsda/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49528-samonsda/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to samonsda's profile" class="ipsType_break" rel="nofollow">samonsda</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44303-de-cuda-tel-chara/?do=getLastComment" title="Go to last post"><time datetime="2024-12-14T16:38:42Z" title="12/14/2024 04:38 PM" data-short="1 hr">1 hour ago</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="89">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/89-oil-trading/">Oil Trading</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Oil Trading Forum is focused only on oil trading.
</p>
<p>
Happy trading everyone.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">3.8k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44187-%D0%B2%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D1%82%D1%8F-%D0%BF%D0%BE%D0%BB%D1%8E%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-2022-2024/?do=getNewComment" title="Відкриття Полювання 2022-2024">Відкриття Полювання 2022-2024</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44187-%D0%B2%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D1%82%D1%8F-%D0%BF%D0%BE%D0%BB%D1%8E%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-2022-2024/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:55:33Z" title="12/12/2024 01:55 AM" data-short="2 dy">Thursday at 01:55 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="65">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/65-nat-gas-lng/">Nat Gas / LNG</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">6.5k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44188-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B1%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B2%D0%B0%D0%BD%D0%B3%D0%B8-%D0%BD%D0%B0-2024-%D1%80%D1%96%D0%BA/?do=getNewComment" title="Передбачення Ванги На 2024 Рік">Передбачення Ванги На 2024 Рік</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44188-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B1%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B2%D0%B0%D0%BD%D0%B3%D0%B8-%D0%BD%D0%B0-2024-%D1%80%D1%96%D0%BA/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:56:01Z" title="12/12/2024 01:56 AM" data-short="2 dy">Thursday at 01:56 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="66">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/66-mining/">Mining</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Mining Forum focuses on all mining activities and technologies.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">1.7k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/42343-tailingspond/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/42343-tailingspond/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to TailingsPond's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="42343" style="background-color: #939598;">
<span class="user_photo_text">GE</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44189-%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0-%D0%B4%D0%B5%D0%BD%D1%8C-%D1%84%D0%B0%D1%80%D0%BC%D0%B0%D1%86%D0%B5%D0%B2%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BD%D0%B8%D0%BA%D0%B0-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%8B-%D0%B2-2024-%D0%B3%D0%BE%D0%B4%D1%83/?do=getNewComment" title="Когда День Фармацевтического Работника Украины В 2024 Году">Когда День Фармацевтического Работника Украины В 2024 Году</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/42343-tailingspond/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/42343-tailingspond/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to TailingsPond's profile" class="ipsType_break" rel="nofollow">TailingsPond</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44189-%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0-%D0%B4%D0%B5%D0%BD%D1%8C-%D1%84%D0%B0%D1%80%D0%BC%D0%B0%D1%86%D0%B5%D0%B2%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BD%D0%B8%D0%BA%D0%B0-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%8B-%D0%B2-2024-%D0%B3%D0%BE%D0%B4%D1%83/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T07:36:46Z" title="12/12/2024 07:36 AM" data-short="2 dy">Thursday at 07:36 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="67">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/67-renewables/">Renewables</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">18.8k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44190-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5-%D0%BE%D1%85%D0%BE%D1%82%D1%8B-2024-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0/?do=getNewComment" title="Открытие Охоты 2024 Украина">Открытие Охоты 2024 Украина</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44190-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5-%D0%BE%D1%85%D0%BE%D1%82%D1%8B-2024-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:57:07Z" title="12/12/2024 01:57 AM" data-short="2 dy">Thursday at 01:57 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="90">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read" style="background-color: #ffffff; color: #000000;">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/90-energy-tech-science-and-research/">Energy Tech, Science, and Research</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Energy Tech, Science and Research Forum focuses on major breakthroughs, innovations, and new tech related to the energy industry.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">1.8k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44191-%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F-%D0%BA%D0%B0%D1%80%D1%82%D0%B0-2024-%D0%B3%D0%BE%D0%B4%D0%B0/?do=getNewComment" title="Спутниковая Карта 2024 Года">Спутниковая Карта 2024 Года</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44191-%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F-%D0%BA%D0%B0%D1%80%D1%82%D0%B0-2024-%D0%B3%D0%BE%D0%B4%D0%B0/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:57:49Z" title="12/12/2024 01:57 AM" data-short="2 dy">Thursday at 01:57 AM</time></a>
</li>
</ul>
</li>
</ol>
</li>
<li data-categoryid="70" class="cForumRow ipsBox ipsSpacer_bottom">
<h2 class="ipsType_sectionTitle ipsType_reset cForumTitle">
<a href="#" class="ipsPos_right ipsJS_show ipsType_noUnderline cForumToggle" data-action="toggleCategory" data-ipstooltip="" title="Toggle this category"></a>
<a href="https://community.oilprice.com/forum/70-general-markets-and-trading/">General Markets and Trading</a>
</h2>
<ol class="ipsDataList ipsDataList_large ipsDataList_zebra ipsAreaBackground_reset" data-role="forums">
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="58">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/58-geopolitics/">Geopolitics</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Geopolitics Forum focuses on all global politics. If it's related to oil please create a thread within the Oil General forum.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">45k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/22669-specinho/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/22669-specinho/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to specinho's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2019_04/mydrawing2.thumb.jpg.f63255fb1c71f2d20580bc98432a9242.jpg" alt="specinho" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/34400-america-is-exceptional-in-its-political-divide/?do=getNewComment" title="America Is Exceptional in Its Political Divide">America Is Exceptional in Its Political Divide</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/22669-specinho/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/22669-specinho/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to specinho's profile" class="ipsType_break" rel="nofollow">specinho</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/34400-america-is-exceptional-in-its-political-divide/?do=getLastComment" title="Go to last post"><time datetime="2024-12-14T05:54:30Z" title="12/14/2024 05:54 AM" data-short="12 hr">12 hours ago</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="71">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/71-markets-trading/">Markets & Trading</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Markets & Trading Forum focuses on world markets, general trading, stock picks, bitcoin, cryptocurrencies, and more.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">7.7k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49513-harosed/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49513-harosed/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to Harosed's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49513.thumb.png.9843fed7bf8d5ed4473b3693ad1dc2fe.png" alt="Harosed" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/11246-short-the-vix/?do=getNewComment" title="Short the VIX">Short the VIX</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/49513-harosed/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49513-harosed/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to Harosed's profile" class="ipsType_break" rel="nofollow">Harosed</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/11246-short-the-vix/?do=getLastComment" title="Go to last post"><time datetime="2024-12-13T11:16:10Z" title="12/13/2024 11:16 AM" data-short="1 dy">Yesterday at 11:16 AM</time></a>
</li>
</ul>
</li>
</ol>
</li>
<li data-categoryid="76" class="cForumRow ipsBox ipsSpacer_bottom">
<h2 class="ipsType_sectionTitle ipsType_reset cForumTitle">
<a href="#" class="ipsPos_right ipsJS_show ipsType_noUnderline cForumToggle" data-action="toggleCategory" data-ipstooltip="" title="Toggle this category"></a>
<a href="https://community.oilprice.com/forum/76-other-energy-topics/">Other Energy Topics</a>
</h2>
<ol class="ipsDataList ipsDataList_large ipsDataList_zebra ipsAreaBackground_reset" data-role="forums">
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="68">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/68-infrastructure/">Infrastructure</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">1.2k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44194-%D0%B2%D0%B8%D1%82%D0%B8%D0%BD%D0%B0%D0%BD%D0%BA%D0%B8-%D0%BD%D0%B0-%D0%B2%D1%96%D0%BA%D0%BD%D0%B0-2024/?do=getNewComment" title="Витинанки На Вікна 2024">Витинанки На Вікна 2024</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44194-%D0%B2%D0%B8%D1%82%D0%B8%D0%BD%D0%B0%D0%BD%D0%BA%D0%B8-%D0%BD%D0%B0-%D0%B2%D1%96%D0%BA%D0%BD%D0%B0-2024/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:59:31Z" title="12/12/2024 01:59 AM" data-short="2 dy">Thursday at 01:59 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="47">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/47-technology/">Technology</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">4.9k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44195-%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B3%D0%BB%D0%BE%D0%B1%D1%8B-%D0%BD%D0%B0-2024-%D0%B3%D0%BE%D0%B4-%D0%B4%D0%BB%D1%8F-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%8B/?do=getNewComment" title="Предсказания Глобы На 2024 Год Для Украины">Предсказания Глобы На 2024 Год Для Украины</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44195-%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B3%D0%BB%D0%BE%D0%B1%D1%8B-%D0%BD%D0%B0-2024-%D0%B3%D0%BE%D0%B4-%D0%B4%D0%BB%D1%8F-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%8B/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T02:00:05Z" title="12/12/2024 02:00 AM" data-short="2 dy">Thursday at 02:00 AM</time></a>
</li>
</ul>
</li>
</ol>
</li>
</ol>
</section>
<!-- template end C:\wamp64\www\websites\op-community hemes\htmlorumsront\index\index.phtml -->
</div>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
</div>
</div>
</main>
<footer id="ipsLayout_footer" class="ipsClearfix">
<div class="ipsLayout_container">
</div>
<p id="elCopyright">
<span id="elCopyright_userLine"></span>
<a rel="nofollow" title="Invision Community" href="https://www.invisioncommunity.com/">Powered by Invision Community</a>
</p>
<div class="footerLogoBanner">
<div class="ipsLayout_container">
<img src="https://oilprice.com/a/img/oilprice-logo-footer.png" alt="Oilprice - The No. 1 Source for Oil & Energy News" title="Oilprice - The No. 1 Source for Oil & Energy News">
<p class="footerLogoBanner__socialMedia">
<a class="footerLogoBanner__socialLink" href="https://www.facebook.com/oilpricenews" rel="external nofollow noopener" target="_blank"><i class="fa fa-facebook"></i></a>
<a class="footerLogoBanner__socialLink" href="https://twitter.com/OilandEnergy" rel="external nofollow noopener" target="_blank"><i class="fa fa-twitter"></i></a>
<a class="footerLogoBanner__socialLink" href="https://www.linkedin.com/company/oilprice-com?report%2Esuccess=KJ_KkFGTDCfMt-A7wV3Fn9Yvgwr02Kd6AZHGx4bQCDiP6-2rfP2oxyVoEQiPrcAQ7Bf" rel="external nofollow noopener" target="_blank"><i class="fa fa-linkedin-square"></i></a>
<a class="footerLogoBanner__socialLink" href="https://plus.google.com/100818571694606454377/posts" rel="external nofollow noopener" target="_blank"><i class="fa fa-google-plus"></i></a>
<a class="breakingNews__socialLink" href="http://feeds.feedburner.com/oilpricecom" rel="external publisher noopener" target="_blank"><img src="https://oilprice.com/a/img/common/icon-feedburner-large.png" height="28" width="26" alt=""></a>
<a class="footerLogoBanner__socialLink" href="http://oilprice.com/rss/main" rel="external nofollow noopener" target="_blank"><i class="fa fa-rss"></i></a>
</p>
<!-- /.breakingNews__socialMedia -->
</div>
<!-- /.siteContainer -->
</div>
<!-- /.footerLogoBanner -->
<div class="footer">
<div class="ipsLayout_container">
<div class="footerNavigation">
<div class="footerNavigation__column">
<ul class="footerNavigation__linkList">
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/about-us" class="footerNavigation__link footerNavigation__link--title">More About Us</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/about-us" class="footerNavigation__link">About Us</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/Latest-Energy-News/World-News/" class="footerNavigation__link">Site News</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/Sitemap/" class="footerNavigation__link">Sitemap</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/advertising" class="footerNavigation__link">Advertise with us</a></li>
<li class="footerNavigation__linkItem"><a href="mailto:[email protected]" class="footerNavigation__link">Give us feedback</a></li>
</ul>
</div>
<!-- /.footerNavigation__column -->
<div class="footerNavigation__column">
<ul class="footerNavigation__linkList">
<li class="footerNavigation__linkItem"><a class="footerNavigation__link footerNavigation__link--title">Site info</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/terms-and-conditions" class="footerNavigation__link">Terms & Conditions</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/disclaimer" class="footerNavigation__link">Disclaimer</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/privacy-policy" class="footerNavigation__link">Privacy Policy</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/Sitemap" class="footerNavigation__link">Sitemap</a></li>
</ul>
</div>
<!-- /.footerNavigation__column -->
<div class="footerNavigation__column float_right footer_copyright">
<p class="copyrightText">© <a href="/">OilPrice.com</a><!-- | <a href="https://plus.google.com/100818571694606454377/posts" rel="external nofollow">Google+</a>--></p>
<p class="smallprint">The materials provided on this Web site are for informational and educational purposes only and are not intended to provide tax, legal, or investment advice.</p>
<p class="smallprint">Nothing contained on the Web site shall be considered a recommendation, solicitation, or offer to buy or sell a security to any person in any jurisdiction.</p>
<p class="smallprint">Merchant of Record: A Media Solutions trading as Oilprice.com</p>
</div>
</div>
<!-- /.footerNavigation -->
</div>
<!-- /.siteContainer -->
</div>
</footer>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigation.phtml -->
<div id="elMobileDrawer" class="ipsDrawer ipsHide">
<a href="#" class="ipsDrawer_close" data-action="close"><span>×</span></a>
<div class="ipsDrawer_menu">
<div class="ipsDrawer_content">
<div class="ipsSpacer_bottom ipsPad">
<ul class="ipsToolList ipsToolList_vertical">
<li>
<a href="https://community.oilprice.com/login/" class="ipsButton ipsButton_light ipsButton_small ipsButton_fullWidth">Login</a>
</li>
<li>
<a href="https://community.oilprice.com/register/" rel="nofollow" id="elRegisterButton_mobile" class="ipsButton ipsButton_small ipsButton_fullWidth ipsButton_important">Register</a>
</li>
</ul>
</div>
<ul class="ipsDrawer_list">
<li><a href="https://oilprice.com/">Back to Oilprice.com</a></li>
<li class="ipsDrawer_itemParent">
<h4 class="ipsDrawer_title"><a href="#">Browse</a></h4>
<ul class="ipsDrawer_list">
<li data-action="back"><a href="#">Back</a></li>
<li><a href="https://community.oilprice.com">Browse</a></li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigationChildren.phtml -->
<li>
<a href="https://community.oilprice.com">
Forums
</a>
</li>
<li>
<a href="https://community.oilprice.com/online/">
Online Users
</a>
</li>
<li>
<a href="https://community.oilprice.com/leaderboard/">
Leaderboard
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigationChildren.phtml -->
</ul>
</li>
<li class="ipsDrawer_itemParent">
<h4 class="ipsDrawer_title"><a href="#">Activity</a></h4>
<ul class="ipsDrawer_list">
<li data-action="back"><a href="#">Back</a></li>
<li><a href="https://community.oilprice.com/discover/">Activity</a></li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigationChildren.phtml -->
<li>
<a href="https://community.oilprice.com/discover/">
Latest Discussions
</a>
</li>
<li>
<a href="https://community.oilprice.com/discover/8/">
All Activity
</a>
</li>
<li>
<a href="https://community.oilprice.com/search/" rel="nofollow">
Search
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigationChildren.phtml -->
</ul>
</li>
<li><a href="https://community.oilprice.com/blogs/">Blogs</a></li>
<li><a href="https://community.oilprice.com/referafriend/">Refer a Friend</a></li>
</ul>
</div>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigation.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeJS.phtml -->
<script type="text/javascript">
var ipsDebug = false;
var CKEDITOR_BASEPATH = '//community.oilprice.com/applications/core/interface/ckeditor/ckeditor/';
var ipsSettings = {
cookie_domain: ".oilprice.com",
cookie_path: "/",
cookie_prefix: "ips4_",
cookie_ssl: true,
upload_imgURL: "https://community.oilprice.com/themes/2/resources/core/front/notifyIcons/upload.png",
message_imgURL: "https://community.oilprice.com/themes/2/resources/core/front/notifyIcons/message.png",
notification_imgURL: "https://community.oilprice.com/themes/2/resources/core/front/notifyIcons/notification.png",
baseURL: "//community.oilprice.com/",
jsURL: "//community.oilprice.com/applications/core/interface/js/js.php",
csrfKey: "f33f58e7e4d78326f74b23f36735b0d3",
antiCache: "222d4a16bf",
disableNotificationSounds: false,
useCompiledFiles: true,
links_external: true,
memberID: 0,
analyticsProvider: "none",
viewProfiles: true,
mapProvider: 'none',
mapApiKey: '',
};
</script>
<iframe height="0" width="0" style="display: none; visibility: hidden;"></iframe><script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_library.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_js_lang_1.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_framework.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_core/global_global_core.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_front.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_core/front_front_core.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_forums/front_front_forum.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_map.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript">
ips.setSetting( 'date_format', jQuery.parseJSON('"mm\/dd\/yy"') );
ips.setSetting( 'date_first_day', jQuery.parseJSON('0') );
ips.setSetting( 'ipb_url_filter_option', jQuery.parseJSON('"none"') );
ips.setSetting( 'url_filter_any_action', jQuery.parseJSON('"allow"') );
ips.setSetting( 'bypass_profanity', jQuery.parseJSON('0') );
ips.setSetting( 'emoji_style', jQuery.parseJSON('"native"') );
ips.setSetting( 'emoji_shortcodes', jQuery.parseJSON('true') );
ips.setSetting( 'emoji_ascii', jQuery.parseJSON('true') );
ips.setSetting( 'emoji_cache', jQuery.parseJSON('1581415122') );
ips.setSetting( 'image_jpg_quality', jQuery.parseJSON('85') );
ips.setSetting( 'cloud2', jQuery.parseJSON('false') );
</script>
<script type="application/ld+json">
{
"@context": "http://www.schema.org",
"publisher": "https://community.oilprice.com/#organization",
"@type": "WebSite",
"@id": "https://community.oilprice.com/#website",
"mainEntityOfPage": "https://community.oilprice.com/",
"name": "Oil Price Community",
"url": "https://community.oilprice.com/",
"potentialAction": {
"type": "SearchAction",
"query-input": "required name=query",
"target": "https://community.oilprice.com/search/?q={query}"
},
"inLanguage": [
{
"@type": "Language",
"name": "English (USA)",
"alternateName": "en-US"
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "http://www.schema.org",
"@type": "Organization",
"@id": "https://community.oilprice.com/#organization",
"mainEntityOfPage": "https://community.oilprice.com/",
"name": "Oil Price Community",
"url": "https://community.oilprice.com/",
"logo": {
"@type": "ImageObject",
"@id": "https://community.oilprice.com/#logo",
"url": "https://community.oilprice.com/uploads/monthly_2017_06/oilprice-logo.png.244a8b59653b7f47b94d0a9ec6967311.png"
}
}
</script>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "ContactPage",
"url": "https://community.oilprice.com/contact/"
}
</script>
<script>
/**
* Intro.js v2.8.0-alpha.1
* https://github.com/usablica/intro.js
*
* Copyright (C) 2017 Afshin Mehrabani (@afshinmeh)
*/
(function (root, factory) {
if (typeof exports === 'object') {
// CommonJS
factory(exports);
} else if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports'], factory);
} else {
// Browser globals
factory(root);
}
} (this, function (exports) {
//Default config/variables
var VERSION = '2.8.0-alpha.1';
/**
* IntroJs main class
*
* @class IntroJs
*/
function IntroJs(obj) {
this._targetElement = obj;
this._introItems = [];
this._options = {
/* Next button label in tooltip box */
nextLabel: 'Next →',
/* Previous button label in tooltip box */
prevLabel: '← Back',
/* Skip button label in tooltip box */
skipLabel: 'Skip',
/* Done button label in tooltip box */
doneLabel: 'Done',
/* Hide previous button in the first step? Otherwise, it will be disabled button. */
hidePrev: false,
/* Hide next button in the last step? Otherwise, it will be disabled button. */
hideNext: false,
/* Default tooltip box position */
tooltipPosition: 'bottom',
/* Next CSS class for tooltip boxes */
tooltipClass: '',
/* CSS class that is added to the helperLayer */
highlightClass: '',
/* Close introduction when pressing Escape button? */
exitOnEsc: true,
/* Close introduction when clicking on overlay layer? */
exitOnOverlayClick: true,
/* Show step numbers in introduction? */
showStepNumbers: true,
/* Let user use keyboard to navigate the tour? */
keyboardNavigation: true,
/* Show tour control buttons? */
showButtons: true,
/* Show tour bullets? */
showBullets: true,
/* Show tour progress? */
showProgress: false,
/* Scroll to highlighted element? */
scrollToElement: true,
/*
* Should we scroll the tooltip or target element?
*
* Options are: 'element' or 'tooltip'
*/
scrollTo: 'element',
/* Padding to add after scrolling when element is not in the viewport (in pixels) */
scrollPadding: 30,
/* Set the overlay opacity */
overlayOpacity: 0.8,
/* Precedence of positions, when auto is enabled */
positionPrecedence: ["bottom", "top", "right", "left"],
/* Disable an interaction with element? */
disableInteraction: false,
/* Default hint position */
hintPosition: 'top-middle',
/* Hint button label */
hintButtonLabel: 'Got it',
/* Adding animation to hints? */
hintAnimation: true
};
}
/**
* Initiate a new introduction/guide from an element in the page
*
* @api private
* @method _introForElement
* @param {Object} targetElm
* @returns {Boolean} Success or not?
*/
function _introForElement(targetElm) {
var introItems = [],
self = this;
if (this._options.steps) {
//use steps passed programmatically
for (var i = 0, stepsLength = this._options.steps.length; i < stepsLength; i++) {
var currentItem = _cloneObject(this._options.steps[i]);
//set the step
currentItem.step = introItems.length + 1;
//use querySelector function only when developer used CSS selector
if (typeof (currentItem.element) === 'string') {
//grab the element with given selector from the page
currentItem.element = document.querySelector(currentItem.element);
}
//intro without element
if (typeof (currentItem.element) === 'undefined' || currentItem.element == null) {
var floatingElementQuery = document.querySelector(".introjsFloatingElement");
if (floatingElementQuery == null) {
floatingElementQuery = document.createElement('div');
floatingElementQuery.className = 'introjsFloatingElement';
document.body.appendChild(floatingElementQuery);
}
currentItem.element = floatingElementQuery;
currentItem.position = 'floating';
}
currentItem.scrollTo = currentItem.scrollTo || this._options.scrollTo;
if (typeof (currentItem.disableInteraction) === 'undefined') {
currentItem.disableInteraction = this._options.disableInteraction;
}
if (currentItem.element != null) {
introItems.push(currentItem);
}
}
} else {
//use steps from data-* annotations
var allIntroSteps = targetElm.querySelectorAll('*[data-intro]');
//if there's no element to intro
if (allIntroSteps.length < 1) {
return false;
}
//first add intro items with data-step
for (var i = 0, elmsLength = allIntroSteps.length; i < elmsLength; i++) {
var currentElement = allIntroSteps[i];
// skip hidden elements
if (currentElement.style.display == 'none') {
continue;
}
var step = parseInt(currentElement.getAttribute('data-step'), 10);
var disableInteraction = this._options.disableInteraction;
if (typeof (currentElement.getAttribute('data-disable-interaction')) != 'undefined') {
disableInteraction = !!currentElement.getAttribute('data-disable-interaction');
}
if (step > 0) {
introItems[step - 1] = {
element: currentElement,
intro: currentElement.getAttribute('data-intro'),
step: parseInt(currentElement.getAttribute('data-step'), 10),
tooltipClass: currentElement.getAttribute('data-tooltipClass'),
highlightClass: currentElement.getAttribute('data-highlightClass'),
position: currentElement.getAttribute('data-position') || this._options.tooltipPosition,
scrollTo: currentElement.getAttribute('data-scrollTo') || this._options.scrollTo,
disableInteraction: disableInteraction
};
}
}
//next add intro items without data-step
//todo: we need a cleanup here, two loops are redundant
var nextStep = 0;
for (var i = 0, elmsLength = allIntroSteps.length; i < elmsLength; i++) {
var currentElement = allIntroSteps[i];
if (currentElement.getAttribute('data-step') == null) {
while (true) {
if (typeof introItems[nextStep] == 'undefined') {
break;
} else {
nextStep++;
}
}
var disableInteraction = this._options.disableInteraction;
if (typeof (currentElement.getAttribute('data-disable-interaction')) != 'undefined') {
disableInteraction = !!currentElement.getAttribute('data-disable-interaction');
}
introItems[nextStep] = {
element: currentElement,
intro: currentElement.getAttribute('data-intro'),
step: nextStep + 1,
tooltipClass: currentElement.getAttribute('data-tooltipClass'),
highlightClass: currentElement.getAttribute('data-highlightClass'),
position: currentElement.getAttribute('data-position') || this._options.tooltipPosition,
scrollTo: currentElement.getAttribute('data-scrollTo') || this._options.scrollTo,
disableInteraction: disableInteraction
};
}
}
}
//removing undefined/null elements
var tempIntroItems = [];
for (var z = 0; z < introItems.length; z++) {
introItems[z] && tempIntroItems.push(introItems[z]); // copy non-empty values to the end of the array
}
introItems = tempIntroItems;
//Ok, sort all items with given steps
introItems.sort(function (a, b) {
return a.step - b.step;
});
//set it to the introJs object
self._introItems = introItems;
//add overlay layer to the page
if(_addOverlayLayer.call(self, targetElm)) {
//then, start the show
_nextStep.call(self);
var skipButton = targetElm.querySelector('.introjs-skipbutton'),
nextStepButton = targetElm.querySelector('.introjs-nextbutton');
self._onKeyDown = function(e) {
if (e.keyCode === 27 && self._options.exitOnEsc == true) {
//escape key pressed, exit the intro
//check if exit callback is defined
_exitIntro.call(self, targetElm);
} else if(e.keyCode === 37) {
//left arrow
_previousStep.call(self);
} else if (e.keyCode === 39) {
//right arrow
_nextStep.call(self);
} else if (e.keyCode === 13) {
//srcElement === ie
var target = e.target || e.srcElement;
if (target && target.className.indexOf('introjs-prevbutton') > 0) {
//user hit enter while focusing on previous button
_previousStep.call(self);
} else if (target && target.className.indexOf('introjs-skipbutton') > 0) {
//user hit enter while focusing on skip button
if (self._introItems.length - 1 == self._currentStep && typeof (self._introCompleteCallback) === 'function') {
self._introCompleteCallback.call(self);
}
_exitIntro.call(self, targetElm);
} else {
//default behavior for responding to enter
_nextStep.call(self);
}
//prevent default behaviour on hitting Enter, to prevent steps being skipped in some browsers
if(e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
}
};
self._onResize = function(e) {
self.refresh.call(self);
};
if (window.addEventListener) {
if (this._options.keyboardNavigation) {
window.addEventListener('keydown', self._onKeyDown, true);
}
//for window resize
window.addEventListener('resize', self._onResize, true);
} else if (document.attachEvent) { //IE
if (this._options.keyboardNavigation) {
document.attachEvent('onkeydown', self._onKeyDown);
}
//for window resize
document.attachEvent('onresize', self._onResize);
}
}
return false;
}
/*
* makes a copy of the object
* @api private
* @method _cloneObject
*/
function _cloneObject(object) {
if (object == null || typeof (object) != 'object' || typeof (object.nodeType) != 'undefined') {
return object;
}
var temp = {};
for (var key in object) {
if (typeof (jQuery) != 'undefined' && object[key] instanceof jQuery) {
temp[key] = object[key];
} else {
temp[key] = _cloneObject(object[key]);
}
}
return temp;
}
/**
* Go to specific step of introduction
*
* @api private
* @method _goToStep
*/
function _goToStep(step) {
//because steps starts with zero
this._currentStep = step - 2;
if (typeof (this._introItems) !== 'undefined') {
_nextStep.call(this);
}
}
/**
* Go to the specific step of introduction with the explicit [data-step] number
*
* @api private
* @method _goToStepNumber
*/
function _goToStepNumber(step) {
this._currentStepNumber = step;
if (typeof (this._introItems) !== 'undefined') {
_nextStep.call(this);
}
}
/**
* Go to next step on intro
*
* @api private
* @method _nextStep
*/
function _nextStep() {
this._direction = 'forward';
if (typeof (this._currentStepNumber) !== 'undefined') {
for( var i = 0, len = this._introItems.length; i < len; i++ ) {
var item = this._introItems[i];
if( item.step === this._currentStepNumber ) {
this._currentStep = i - 1;
this._currentStepNumber = undefined;
}
}
}
if (typeof (this._currentStep) === 'undefined') {
this._currentStep = 0;
} else {
++this._currentStep;
}
if (typeof (this._introBeforeChangeCallback) !== 'undefined') {
var continueStep = this._introBeforeChangeCallback.call(this);
}
// if `onbeforechange` returned `false`, stop displaying the element
if (continueStep === false) {
--this._currentStep;
return false;
}
if ((this._introItems.length) <= this._currentStep) {
//end of the intro
//check if any callback is defined
if (typeof (this._introCompleteCallback) === 'function') {
this._introCompleteCallback.call(this);
}
_exitIntro.call(this, this._targetElement);
return;
}
var nextStep = this._introItems[this._currentStep];
_showElement.call(this, nextStep);
}
/**
* Go to previous step on intro
*
* @api private
* @method _previousStep
*/
function _previousStep() {
this._direction = 'backward';
if (this._currentStep === 0) {
return false;
}
--this._currentStep;
if (typeof (this._introBeforeChangeCallback) !== 'undefined') {
var continueStep = this._introBeforeChangeCallback.call(this);
}
// if `onbeforechange` returned `false`, stop displaying the element
if (continueStep === false) {
++this._currentStep;
return false;
}
var nextStep = this._introItems[this._currentStep];
_showElement.call(this, nextStep);
}
/**
* Update placement of the intro objects on the screen
* @api private
*/
function _refresh() {
// re-align intros
_setHelperLayerPosition.call(this, document.querySelector('.introjs-helperLayer'));
_setHelperLayerPosition.call(this, document.querySelector('.introjs-tooltipReferenceLayer'));
_setHelperLayerPosition.call(this, document.querySelector('.introjs-disableInteraction'));
// re-align tooltip
if(this._currentStep !== undefined && this._currentStep !== null) {
var oldHelperNumberLayer = document.querySelector('.introjs-helperNumberLayer'),
oldArrowLayer = document.querySelector('.introjs-arrow'),
oldtooltipContainer = document.querySelector('.introjs-tooltip');
_placeTooltip.call(this, this._introItems[this._currentStep].element, oldtooltipContainer, oldArrowLayer, oldHelperNumberLayer);
}
//re-align hints
_reAlignHints.call(this);
return this;
}
/**
* Exit from intro
*
* @api private
* @method _exitIntro
* @param {Object} targetElement
* @param {Boolean} force - Setting to `true` will skip the result of beforeExit callback
*/
function _exitIntro(targetElement, force) {
var continueExit = true;
// calling onbeforeexit callback
//
// If this callback return `false`, it would halt the process
if (this._introBeforeExitCallback != undefined) {
continueExit = this._introBeforeExitCallback.call(self);
}
// skip this check if `force` parameter is `true`
// otherwise, if `onbeforeexit` returned `false`, don't exit the intro
if (!force && continueExit === false) return;
//remove overlay layers from the page
var overlayLayers = targetElement.querySelectorAll('.introjs-overlay');
if (overlayLayers && overlayLayers.length > 0) {
for (var i = overlayLayers.length - 1; i >= 0; i--) {
//for fade-out animation
var overlayLayer = overlayLayers[i];
overlayLayer.style.opacity = 0;
setTimeout(function () {
if (this.parentNode) {
this.parentNode.removeChild(this);
}
}.bind(overlayLayer), 500);
};
}
//remove all helper layers
var helperLayer = targetElement.querySelector('.introjs-helperLayer');
if (helperLayer) {
helperLayer.parentNode.removeChild(helperLayer);
}
var referenceLayer = targetElement.querySelector('.introjs-tooltipReferenceLayer');
if (referenceLayer) {
referenceLayer.parentNode.removeChild(referenceLayer);
}
//remove disableInteractionLayer
var disableInteractionLayer = targetElement.querySelector('.introjs-disableInteraction');
if (disableInteractionLayer) {
disableInteractionLayer.parentNode.removeChild(disableInteractionLayer);
}
//remove intro floating element
var floatingElement = document.querySelector('.introjsFloatingElement');
if (floatingElement) {
floatingElement.parentNode.removeChild(floatingElement);
}
_removeShowElement();
//remove `introjs-fixParent` class from the elements
var fixParents = document.querySelectorAll('.introjs-fixParent');
if (fixParents && fixParents.length > 0) {
for (var i = fixParents.length - 1; i >= 0; i--) {
fixParents[i].className = fixParents[i].className.replace(/introjs-fixParent/g, '').replace(/^\s+|\s+$/g, '');
}
}
//clean listeners
if (window.removeEventListener) {
window.removeEventListener('keydown', this._onKeyDown, true);
} else if (document.detachEvent) { //IE
document.detachEvent('onkeydown', this._onKeyDown);
}
//check if any callback is defined
if (this._introExitCallback != undefined) {
this._introExitCallback.call(self);
}
//set the step to zero
this._currentStep = undefined;
}
/**
* Render tooltip box in the page
*
* @api private
* @method _placeTooltip
* @param {HTMLElement} targetElement
* @param {HTMLElement} tooltipLayer
* @param {HTMLElement} arrowLayer
* @param {HTMLElement} helperNumberLayer
* @param {Boolean} hintMode
*/
function _placeTooltip(targetElement, tooltipLayer, arrowLayer, helperNumberLayer, hintMode) {
var tooltipCssClass = '',
currentStepObj,
tooltipOffset,
targetOffset,
windowSize,
currentTooltipPosition;
hintMode = hintMode || false;
//reset the old style
tooltipLayer.style.top = null;
tooltipLayer.style.right = null;
tooltipLayer.style.bottom = null;
tooltipLayer.style.left = null;
tooltipLayer.style.marginLeft = null;
tooltipLayer.style.marginTop = null;
arrowLayer.style.display = 'inherit';
if (typeof(helperNumberLayer) != 'undefined' && helperNumberLayer != null) {
helperNumberLayer.style.top = null;
helperNumberLayer.style.left = null;
}
//prevent error when `this._currentStep` is undefined
if (!this._introItems[this._currentStep]) return;
//if we have a custom css class for each step
currentStepObj = this._introItems[this._currentStep];
if (typeof (currentStepObj.tooltipClass) === 'string') {
tooltipCssClass = currentStepObj.tooltipClass;
} else {
tooltipCssClass = this._options.tooltipClass;
}
tooltipLayer.className = ('introjs-tooltip ' + tooltipCssClass).replace(/^\s+|\s+$/g, '');
currentTooltipPosition = this._introItems[this._currentStep].position;
if (currentTooltipPosition != "floating") { // Floating is always valid, no point in calculating
if (currentTooltipPosition === "auto") {
currentTooltipPosition = _determineAutoPosition.call(this, targetElement, tooltipLayer);
} else {
currentTooltipPosition = _determineAutoPosition.call(this, targetElement, tooltipLayer, currentTooltipPosition);
}
}
targetOffset = _getOffset(targetElement);
tooltipOffset = _getOffset(tooltipLayer);
windowSize = _getWinSize();
switch (currentTooltipPosition) {
case 'top':
arrowLayer.className = 'introjs-arrow bottom';
if (hintMode) {
var tooltipLayerStyleLeft = 0;
} else {
var tooltipLayerStyleLeft = 15;
}
_checkRight(targetOffset, tooltipLayerStyleLeft, tooltipOffset, windowSize, tooltipLayer);
tooltipLayer.style.bottom = (targetOffset.height + 20) + 'px';
break;
case 'right':
tooltipLayer.style.left = (targetOffset.width + 20) + 'px';
if (targetOffset.top + tooltipOffset.height > windowSize.height) {
// In this case, right would have fallen below the bottom of the screen.
// Modify so that the bottom of the tooltip connects with the target
arrowLayer.className = "introjs-arrow left-bottom";
tooltipLayer.style.top = "-" + (tooltipOffset.height - targetOffset.height - 20) + "px";
} else {
arrowLayer.className = 'introjs-arrow left';
}
break;
case 'left':
if (!hintMode && this._options.showStepNumbers == true) {
tooltipLayer.style.top = '15px';
}
if (targetOffset.top + tooltipOffset.height > windowSize.height) {
// In this case, left would have fallen below the bottom of the screen.
// Modify so that the bottom of the tooltip connects with the target
tooltipLayer.style.top = "-" + (tooltipOffset.height - targetOffset.height - 20) + "px";
arrowLayer.className = 'introjs-arrow right-bottom';
} else {
arrowLayer.className = 'introjs-arrow right';
}
tooltipLayer.style.right = (targetOffset.width + 20) + 'px';
break;
case 'floating':
arrowLayer.style.display = 'none';
//we have to adjust the top and left of layer manually for intro items without element
tooltipLayer.style.left = '50%';
tooltipLayer.style.top = '50%';
tooltipLayer.style.marginLeft = '-' + (tooltipOffset.width / 2) + 'px';
tooltipLayer.style.marginTop = '-' + (tooltipOffset.height / 2) + 'px';
if (typeof(helperNumberLayer) != 'undefined' && helperNumberLayer != null) {
helperNumberLayer.style.left = '-' + ((tooltipOffset.width / 2) + 18) + 'px';
helperNumberLayer.style.top = '-' + ((tooltipOffset.height / 2) + 18) + 'px';
}
break;
case 'bottom-right-aligned':
arrowLayer.className = 'introjs-arrow top-right';
var tooltipLayerStyleRight = 0;
_checkLeft(targetOffset, tooltipLayerStyleRight, tooltipOffset, tooltipLayer);
tooltipLayer.style.top = (targetOffset.height + 20) + 'px';
break;
case 'bottom-middle-aligned':
arrowLayer.className = 'introjs-arrow top-middle';
var tooltipLayerStyleLeftRight = targetOffset.width / 2 - tooltipOffset.width / 2;
// a fix for middle aligned hints
if (hintMode) {
tooltipLayerStyleLeftRight += 5;
}
if (_checkLeft(targetOffset, tooltipLayerStyleLeftRight, tooltipOffset, tooltipLayer)) {
tooltipLayer.style.right = null;
_checkRight(targetOffset, tooltipLayerStyleLeftRight, tooltipOffset, windowSize, tooltipLayer);
}
tooltipLayer.style.top = (targetOffset.height + 20) + 'px';
break;
case 'bottom-left-aligned':
// Bottom-left-aligned is the same as the default bottom
case 'bottom':
// Bottom going to follow the default behavior
default:
arrowLayer.className = 'introjs-arrow top';
var tooltipLayerStyleLeft = 0;
_checkRight(targetOffset, tooltipLayerStyleLeft, tooltipOffset, windowSize, tooltipLayer);
tooltipLayer.style.top = (targetOffset.height + 20) + 'px';
break;
}
}
/**
* Set tooltip left so it doesn't go off the right side of the window
*
* @return boolean true, if tooltipLayerStyleLeft is ok. false, otherwise.
*/
function _checkRight(targetOffset, tooltipLayerStyleLeft, tooltipOffset, windowSize, tooltipLayer) {
if (targetOffset.left + tooltipLayerStyleLeft + tooltipOffset.width > windowSize.width) {
// off the right side of the window
tooltipLayer.style.left = (windowSize.width - tooltipOffset.width - targetOffset.left) + 'px';
return false;
}
tooltipLayer.style.left = tooltipLayerStyleLeft + 'px';
return true;
}
/**
* Set tooltip right so it doesn't go off the left side of the window
*
* @return boolean true, if tooltipLayerStyleRight is ok. false, otherwise.
*/
function _checkLeft(targetOffset, tooltipLayerStyleRight, tooltipOffset, tooltipLayer) {
if (targetOffset.left + targetOffset.width - tooltipLayerStyleRight - tooltipOffset.width < 0) {
// off the left side of the window
tooltipLayer.style.left = (-targetOffset.left) + 'px';
return false;
}
tooltipLayer.style.right = tooltipLayerStyleRight + 'px';
return true;
}
/**
* Determines the position of the tooltip based on the position precedence and availability
* of screen space.
*
* @param {Object} targetElement
* @param {Object} tooltipLayer
* @param {Object} desiredTooltipPosition
*
*/
function _determineAutoPosition(targetElement, tooltipLayer, desiredTooltipPosition) {
// Take a clone of position precedence. These will be the available
var possiblePositions = this._options.positionPrecedence.slice();
var windowSize = _getWinSize();
var tooltipHeight = _getOffset(tooltipLayer).height + 10;
var tooltipWidth = _getOffset(tooltipLayer).width + 20;
var targetOffset = _getOffset(targetElement);
// If we check all the possible areas, and there are no valid places for the tooltip, the element
// must take up most of the screen real estate. Show the tooltip floating in the middle of the screen.
var calculatedPosition = "floating";
// Check if the width of the tooltip + the starting point would spill off the right side of the screen
// If no, neither bottom or top are valid
if (targetOffset.left + tooltipWidth > windowSize.width || ((targetOffset.left + (targetOffset.width / 2)) - tooltipWidth) < 0) {
_removeEntry(possiblePositions, "bottom");
_removeEntry(possiblePositions, "top");
} else {
// Check for space below
if ((targetOffset.height + targetOffset.top + tooltipHeight) > windowSize.height) {
_removeEntry(possiblePositions, "bottom");
}
// Check for space above
if (targetOffset.top - tooltipHeight < 0) {
_removeEntry(possiblePositions, "top");
}
}
// Check for space to the right
if (targetOffset.width + targetOffset.left + tooltipWidth > windowSize.width) {
_removeEntry(possiblePositions, "right");
}
// Check for space to the left
if (targetOffset.left - tooltipWidth < 0) {
_removeEntry(possiblePositions, "left");
}
// At this point, our array only has positions that are valid. Pick the first one, as it remains in order
if (possiblePositions.length > 0) {
calculatedPosition = possiblePositions[0];
}
// If the requested position is in the list, replace our calculated choice with that
if (desiredTooltipPosition && desiredTooltipPosition != "auto") {
if (possiblePositions.indexOf(desiredTooltipPosition) > -1) {
calculatedPosition = desiredTooltipPosition;
}
}
return calculatedPosition;
}
/**
* Remove an entry from a string array if it's there, does nothing if it isn't there.
*
* @param {Array} stringArray
* @param {String} stringToRemove
*/
function _removeEntry(stringArray, stringToRemove) {
if (stringArray.indexOf(stringToRemove) > -1) {
stringArray.splice(stringArray.indexOf(stringToRemove), 1);
}
}
/**
* Update the position of the helper layer on the screen
*
* @api private
* @method _setHelperLayerPosition
* @param {Object} helperLayer
*/
function _setHelperLayerPosition(helperLayer) {
if (helperLayer) {
//prevent error when `this._currentStep` in undefined
if (!this._introItems[this._currentStep]) return;
var currentElement = this._introItems[this._currentStep],
elementPosition = _getOffset(currentElement.element),
widthHeightPadding = 10;
// If the target element is fixed, the tooltip should be fixed as well.
// Otherwise, remove a fixed class that may be left over from the previous
// step.
if (_isFixed(currentElement.element)) {
helperLayer.className += ' introjs-fixedTooltip';
} else {
helperLayer.className = helperLayer.className.replace(' introjs-fixedTooltip', '');
}
if (currentElement.position == 'floating') {
widthHeightPadding = 0;
}
//set new position to helper layer
helperLayer.setAttribute('style', 'width: ' + (elementPosition.width + widthHeightPadding) + 'px; ' +
'height:' + (elementPosition.height + widthHeightPadding) + 'px; ' +
'top:' + (elementPosition.top - 5) + 'px;' +
'left: ' + (elementPosition.left - 5) + 'px;');
}
}
/**
* Add disableinteraction layer and adjust the size and position of the layer
*
* @api private
* @method _disableInteraction
*/
function _disableInteraction() {
var disableInteractionLayer = document.querySelector('.introjs-disableInteraction');
if (disableInteractionLayer === null) {
disableInteractionLayer = document.createElement('div');
disableInteractionLayer.className = 'introjs-disableInteraction';
this._targetElement.appendChild(disableInteractionLayer);
}
_setHelperLayerPosition.call(this, disableInteractionLayer);
}
/**
* Setting anchors to behave like buttons
*
* @api private
* @method _setAnchorAsButton
*/
function _setAnchorAsButton(anchor){
anchor.setAttribute('role', 'button');
anchor.tabIndex = 0;
}
/**
* Show an element on the page
*
* @api private
* @method _showElement
* @param {Object} targetElement
*/
function _showElement(targetElement) {
if (typeof (this._introChangeCallback) !== 'undefined') {
this._introChangeCallback.call(this, targetElement.element);
}
var self = this,
oldHelperLayer = document.querySelector('.introjs-helperLayer'),
oldReferenceLayer = document.querySelector('.introjs-tooltipReferenceLayer'),
highlightClass = 'introjs-helperLayer',
elementPosition = _getOffset(targetElement.element);
//check for a current step highlight class
if (typeof (targetElement.highlightClass) === 'string') {
highlightClass += (' ' + targetElement.highlightClass);
}
//check for options highlight class
if (typeof (this._options.highlightClass) === 'string') {
highlightClass += (' ' + this._options.highlightClass);
}
if (oldHelperLayer != null) {
var oldHelperNumberLayer = oldReferenceLayer.querySelector('.introjs-helperNumberLayer'),
oldtooltipLayer = oldReferenceLayer.querySelector('.introjs-tooltiptext'),
oldArrowLayer = oldReferenceLayer.querySelector('.introjs-arrow'),
oldtooltipContainer = oldReferenceLayer.querySelector('.introjs-tooltip'),
skipTooltipButton = oldReferenceLayer.querySelector('.introjs-skipbutton'),
prevTooltipButton = oldReferenceLayer.querySelector('.introjs-prevbutton'),
nextTooltipButton = oldReferenceLayer.querySelector('.introjs-nextbutton');
//update or reset the helper highlight class
oldHelperLayer.className = highlightClass;
//hide the tooltip
oldtooltipContainer.style.opacity = 0;
oldtooltipContainer.style.display = "none";
if (oldHelperNumberLayer != null) {
var lastIntroItem = this._introItems[(targetElement.step - 2 >= 0 ? targetElement.step - 2 : 0)];
if (lastIntroItem != null && (this._direction == 'forward' && lastIntroItem.position == 'floating') || (this._direction == 'backward' && targetElement.position == 'floating')) {
oldHelperNumberLayer.style.opacity = 0;
}
}
//set new position to helper layer
_setHelperLayerPosition.call(self, oldHelperLayer);
_setHelperLayerPosition.call(self, oldReferenceLayer);
//remove `introjs-fixParent` class from the elements
var fixParents = document.querySelectorAll('.introjs-fixParent');
if (fixParents && fixParents.length > 0) {
for (var i = fixParents.length - 1; i >= 0; i--) {
fixParents[i].className = fixParents[i].className.replace(/introjs-fixParent/g, '').replace(/^\s+|\s+$/g, '');
};
}
//remove old classes if the element still exist
_removeShowElement();
//we should wait until the CSS3 transition is competed (it's 0.3 sec) to prevent incorrect `height` and `width` calculation
if (self._lastShowElementTimer) {
clearTimeout(self._lastShowElementTimer);
}
self._lastShowElementTimer = setTimeout(function() {
//set current step to the label
if (oldHelperNumberLayer != null) {
oldHelperNumberLayer.innerHTML = targetElement.step;
}
//set current tooltip text
oldtooltipLayer.innerHTML = targetElement.intro;
//set the tooltip position
oldtooltipContainer.style.display = "block";
_placeTooltip.call(self, targetElement.element, oldtooltipContainer, oldArrowLayer, oldHelperNumberLayer);
//change active bullet
if (self._options.showBullets) {
oldReferenceLayer.querySelector('.introjs-bullets li > a.active').className = '';
oldReferenceLayer.querySelector('.introjs-bullets li > a[data-stepnumber="' + targetElement.step + '"]').className = 'active';
}
oldReferenceLayer.querySelector('.introjs-progress .introjs-progressbar').setAttribute('style', 'width:' + _getProgress.call(self) + '%;');
//show the tooltip
oldtooltipContainer.style.opacity = 1;
if (oldHelperNumberLayer) oldHelperNumberLayer.style.opacity = 1;
//reset button focus
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null && /introjs-donebutton/gi.test(skipTooltipButton.className)) {
// skip button is now "done" button
skipTooltipButton.focus();
} else if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
//still in the tour, focus on next
nextTooltipButton.focus();
}
// change the scroll of the window, if needed
_scrollTo.call(self, targetElement.scrollTo, targetElement, oldtooltipLayer);
}, 350);
// end of old element if-else condition
} else {
var helperLayer = document.createElement('div'),
referenceLayer = document.createElement('div'),
arrowLayer = document.createElement('div'),
tooltipLayer = document.createElement('div'),
tooltipTextLayer = document.createElement('div'),
bulletsLayer = document.createElement('div'),
progressLayer = document.createElement('div'),
buttonsLayer = document.createElement('div');
helperLayer.className = highlightClass;
referenceLayer.className = 'introjs-tooltipReferenceLayer';
//set new position to helper layer
_setHelperLayerPosition.call(self, helperLayer);
_setHelperLayerPosition.call(self, referenceLayer);
//add helper layer to target element
this._targetElement.appendChild(helperLayer);
this._targetElement.appendChild(referenceLayer);
arrowLayer.className = 'introjs-arrow';
tooltipTextLayer.className = 'introjs-tooltiptext';
tooltipTextLayer.innerHTML = targetElement.intro;
bulletsLayer.className = 'introjs-bullets';
if (this._options.showBullets === false) {
bulletsLayer.style.display = 'none';
}
var ulContainer = document.createElement('ul');
for (var i = 0, stepsLength = this._introItems.length; i < stepsLength; i++) {
var innerLi = document.createElement('li');
var anchorLink = document.createElement('a');
anchorLink.onclick = function() {
self.goToStep(this.getAttribute('data-stepnumber'));
};
if (i === (targetElement.step-1)) anchorLink.className = 'active';
_setAnchorAsButton(anchorLink);
anchorLink.innerHTML = " ";
anchorLink.setAttribute('data-stepnumber', this._introItems[i].step);
innerLi.appendChild(anchorLink);
ulContainer.appendChild(innerLi);
}
bulletsLayer.appendChild(ulContainer);
progressLayer.className = 'introjs-progress';
if (this._options.showProgress === false) {
progressLayer.style.display = 'none';
}
var progressBar = document.createElement('div');
progressBar.className = 'introjs-progressbar';
progressBar.setAttribute('style', 'width:' + _getProgress.call(this) + '%;');
progressLayer.appendChild(progressBar);
buttonsLayer.className = 'introjs-tooltipbuttons';
if (this._options.showButtons === false) {
buttonsLayer.style.display = 'none';
}
tooltipLayer.className = 'introjs-tooltip';
tooltipLayer.appendChild(tooltipTextLayer);
tooltipLayer.appendChild(bulletsLayer);
tooltipLayer.appendChild(progressLayer);
//add helper layer number
if (this._options.showStepNumbers == true) {
var helperNumberLayer = document.createElement('span');
helperNumberLayer.className = 'introjs-helperNumberLayer';
helperNumberLayer.innerHTML = targetElement.step;
referenceLayer.appendChild(helperNumberLayer);
}
tooltipLayer.appendChild(arrowLayer);
referenceLayer.appendChild(tooltipLayer);
//next button
var nextTooltipButton = document.createElement('a');
nextTooltipButton.onclick = function() {
if (self._introItems.length - 1 != self._currentStep) {
_nextStep.call(self);
}
};
_setAnchorAsButton(nextTooltipButton);
nextTooltipButton.innerHTML = this._options.nextLabel;
//previous button
var prevTooltipButton = document.createElement('a');
prevTooltipButton.onclick = function() {
if (self._currentStep != 0) {
_previousStep.call(self);
}
};
_setAnchorAsButton(prevTooltipButton);
prevTooltipButton.innerHTML = this._options.prevLabel;
//skip button
var skipTooltipButton = document.createElement('a');
skipTooltipButton.className = 'introjs-button introjs-skipbutton';
_setAnchorAsButton(skipTooltipButton);
skipTooltipButton.innerHTML = this._options.skipLabel;
skipTooltipButton.onclick = function() {
if (self._introItems.length - 1 == self._currentStep && typeof (self._introCompleteCallback) === 'function') {
self._introCompleteCallback.call(self);
}
_exitIntro.call(self, self._targetElement);
};
buttonsLayer.appendChild(skipTooltipButton);
//in order to prevent displaying next/previous button always
if (this._introItems.length > 1) {
buttonsLayer.appendChild(prevTooltipButton);
buttonsLayer.appendChild(nextTooltipButton);
}
tooltipLayer.appendChild(buttonsLayer);
//set proper position
_placeTooltip.call(self, targetElement.element, tooltipLayer, arrowLayer, helperNumberLayer);
// change the scroll of the window, if needed
_scrollTo.call(this, targetElement.scrollTo, targetElement, tooltipLayer);
//end of new element if-else condition
}
// removing previous disable interaction layer
var disableInteractionLayer = self._targetElement.querySelector('.introjs-disableInteraction');
if (disableInteractionLayer) {
disableInteractionLayer.parentNode.removeChild(disableInteractionLayer);
}
//disable interaction
if (targetElement.disableInteraction) {
_disableInteraction.call(self);
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.removeAttribute('tabIndex');
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.removeAttribute('tabIndex');
}
// when it's the first step of tour
if (this._currentStep == 0 && this._introItems.length > 1) {
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.className = 'introjs-button introjs-skipbutton';
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className = 'introjs-button introjs-nextbutton';
}
if (this._options.hidePrev == true) {
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className = 'introjs-button introjs-prevbutton introjs-hidden';
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className += ' introjs-fullbutton';
}
} else {
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className = 'introjs-button introjs-prevbutton introjs-disabled';
}
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.tabIndex = '-1';
}
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.innerHTML = this._options.skipLabel;
}
} else if (this._introItems.length - 1 == this._currentStep || this._introItems.length == 1) {
// last step of tour
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.innerHTML = this._options.doneLabel;
// adding donebutton class in addition to skipbutton
skipTooltipButton.className += ' introjs-donebutton';
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className = 'introjs-button introjs-prevbutton';
}
if (this._options.hideNext == true) {
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className = 'introjs-button introjs-nextbutton introjs-hidden';
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className += ' introjs-fullbutton';
}
} else {
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className = 'introjs-button introjs-nextbutton introjs-disabled';
}
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.tabIndex = '-1';
}
} else {
// steps between start and end
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.className = 'introjs-button introjs-skipbutton';
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className = 'introjs-button introjs-prevbutton';
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className = 'introjs-button introjs-nextbutton';
}
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.innerHTML = this._options.skipLabel;
}
}
//Set focus on "next" button, so that hitting Enter always moves you onto the next step
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.focus();
}
_setShowElement(targetElement);
if (typeof (this._introAfterChangeCallback) !== 'undefined') {
this._introAfterChangeCallback.call(this, targetElement.element);
}
}
/**
* To change the scroll of `window` after highlighting an element
*
* @api private
* @method _scrollTo
* @param {String} scrollTo
* @param {Object} targetElement
* @param {Object} tooltipLayer
*/
function _scrollTo(scrollTo, targetElement, tooltipLayer) {
if (!this._options.scrollToElement) return;
if (scrollTo === 'tooltip') {
var rect = tooltipLayer.getBoundingClientRect();
} else {
var rect = targetElement.element.getBoundingClientRect();
}
if (!_elementInViewport(targetElement.element)) {
var winHeight = _getWinSize().height;
var top = rect.bottom - (rect.bottom - rect.top);
var bottom = rect.bottom - winHeight;
// TODO (afshinm): do we need scroll padding now?
// I have changed the scroll option and now it scrolls the window to
// the center of the target element or tooltip.
if (top < 0 || targetElement.element.clientHeight > winHeight) {
window.scrollBy(0, rect.top - ((winHeight / 2) - (rect.height / 2)) - this._options.scrollPadding); // 30px padding from edge to look nice
//Scroll down
} else {
window.scrollBy(0, rect.top - ((winHeight / 2) - (rect.height / 2)) + this._options.scrollPadding); // 30px padding from edge to look nice
}
}
}
/**
* To remove all show element(s)
*
* @api private
* @method _removeShowElement
*/
function _removeShowElement() {
var elms = document.querySelectorAll('.introjs-showElement');
for (var i = 0, l = elms.length; i < l; i++) {
var elm = elms[i];
_removeClass(elm, /introjs-[a-zA-Z]+/g);
}
}
/**
* To set the show element
* This function set a relative (in most cases) position and changes the z-index
*
* @api private
* @method _setShowElement
* @param {Object} targetElement
*/
function _setShowElement(targetElement) {
// we need to add this show element class to the parent of SVG elements
// because the SVG elements can't have independent z-index
if (targetElement.element instanceof SVGElement) {
var parentElm = targetElement.element.parentNode;
while (targetElement.element.parentNode != null) {
if (!parentElm.tagName || parentElm.tagName.toLowerCase() === 'body') break;
if (parentElm.tagName.toLowerCase() === 'svg') {
_setClass(parentElm, 'introjs-showElement introjs-relativePosition');
}
parentElm = parentElm.parentNode;
}
}
_setClass(targetElement.element, 'introjs-showElement');
var currentElementPosition = _getPropValue(targetElement.element, 'position');
if (currentElementPosition !== 'absolute' &&
currentElementPosition !== 'relative' &&
currentElementPosition !== 'fixed') {
//change to new intro item
//targetElement.element.className += ' introjs-relativePosition';
_setClass(targetElement.element, 'introjs-relativePosition')
}
var parentElm = targetElement.element.parentNode;
while (parentElm != null) {
if (!parentElm.tagName || parentElm.tagName.toLowerCase() === 'body') break;
//fix The Stacking Context problem.
//More detail: https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Understanding_z_index/The_stacking_context
var zIndex = _getPropValue(parentElm, 'z-index');
var opacity = parseFloat(_getPropValue(parentElm, 'opacity'));
var transform = _getPropValue(parentElm, 'transform') || _getPropValue(parentElm, '-webkit-transform') || _getPropValue(parentElm, '-moz-transform') || _getPropValue(parentElm, '-ms-transform') || _getPropValue(parentElm, '-o-transform');
if (/[0-9]+/.test(zIndex) || opacity < 1 || (transform !== 'none' && transform !== undefined)) {
parentElm.className += ' introjs-fixParent';
}
parentElm = parentElm.parentNode;
}
}
function _setClass(element, className) {
if (element instanceof SVGElement) {
var pre = element.getAttribute('class') || '';
element.setAttribute('class', pre + ' ' + className);
} else {
element.className += ' ' + className;
}
}
function _removeClass(element, classNameRegex) {
if (element instanceof SVGElement) {
var pre = element.getAttribute('class') || '';
element.setAttribute('class', pre.replace(classNameRegex, '').replace(/^\s+|\s+$/g, ''));
} else {
element.className = element.className.replace(classNameRegex, '').replace(/^\s+|\s+$/g, '');
}
}
/**
* Get an element CSS property on the page
* Thanks to JavaScript Kit: http://www.javascriptkit.com/dhtmltutors/dhtmlcascade4.shtml
*
* @api private
* @method _getPropValue
* @param {Object} element
* @param {String} propName
* @returns Element's property value
*/
function _getPropValue (element, propName) {
var propValue = '';
if (element.currentStyle) { //IE
propValue = element.currentStyle[propName];
} else if (document.defaultView && document.defaultView.getComputedStyle) { //Others
propValue = document.defaultView.getComputedStyle(element, null).getPropertyValue(propName);
}
//Prevent exception in IE
if (propValue && propValue.toLowerCase) {
return propValue.toLowerCase();
} else {
return propValue;
}
}
/**
* Checks to see if target element (or parents) position is fixed or not
*
* @api private
* @method _isFixed
* @param {Object} element
* @returns Boolean
*/
function _isFixed (element) {
var p = element.parentNode;
if (!p || p.nodeName === 'HTML') {
return false;
}
if (_getPropValue(element, 'position') == 'fixed') {
return true;
}
return _isFixed(p);
}
/**
* Provides a cross-browser way to get the screen dimensions
* via: http://stackoverflow.com/questions/5864467/internet-explorer-innerheight
*
* @api private
* @method _getWinSize
* @returns {Object} width and height attributes
*/
function _getWinSize() {
if (window.innerWidth != undefined) {
return { width: window.innerWidth, height: window.innerHeight };
} else {
var D = document.documentElement;
return { width: D.clientWidth, height: D.clientHeight };
}
}
/**
* Check to see if the element is in the viewport or not
* http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport
*
* @api private
* @method _elementInViewport
* @param {Object} el
*/
function _elementInViewport(el) {
var rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
(rect.bottom+80) <= window.innerHeight && // add 80 to get the text right
rect.right <= window.innerWidth
);
}
/**
* Add overlay layer to the page
*
* @api private
* @method _addOverlayLayer
* @param {Object} targetElm
*/
function _addOverlayLayer(targetElm) {
var overlayLayer = document.createElement('div'),
styleText = '',
self = this;
//set css class name
overlayLayer.className = 'introjs-overlay';
//check if the target element is body, we should calculate the size of overlay layer in a better way
if (!targetElm.tagName || targetElm.tagName.toLowerCase() === 'body') {
styleText += 'top: 0;bottom: 0; left: 0;right: 0;position: fixed;';
overlayLayer.setAttribute('style', styleText);
} else {
//set overlay layer position
var elementPosition = _getOffset(targetElm);
if (elementPosition) {
styleText += 'width: ' + elementPosition.width + 'px; height:' + elementPosition.height + 'px; top:' + elementPosition.top + 'px;left: ' + elementPosition.left + 'px;';
overlayLayer.setAttribute('style', styleText);
}
}
targetElm.appendChild(overlayLayer);
overlayLayer.onclick = function() {
if (self._options.exitOnOverlayClick == true) {
_exitIntro.call(self, targetElm);
}
};
setTimeout(function() {
styleText += 'opacity: ' + self._options.overlayOpacity.toString() + ';';
overlayLayer.setAttribute('style', styleText);
}, 10);
return true;
}
/**
* Removes open hint (tooltip hint)
*
* @api private
* @method _removeHintTooltip
*/
function _removeHintTooltip() {
var tooltip = this._targetElement.querySelector('.introjs-hintReference');
if (tooltip) {
var step = tooltip.getAttribute('data-step');
tooltip.parentNode.removeChild(tooltip);
return step;
}
}
/**
* Start parsing hint items
*
* @api private
* @param {Object} targetElm
* @method _startHint
*/
function _populateHints(targetElm) {
var self = this;
this._introItems = [];
if (this._options.hints) {
for (var i = 0, l = this._options.hints.length; i < l; i++) {
var currentItem = _cloneObject(this._options.hints[i]);
if (typeof(currentItem.element) === 'string') {
//grab the element with given selector from the page
currentItem.element = document.querySelector(currentItem.element);
}
currentItem.hintPosition = currentItem.hintPosition || this._options.hintPosition;
currentItem.hintAnimation = currentItem.hintAnimation || this._options.hintAnimation;
if (currentItem.element != null) {
this._introItems.push(currentItem);
}
}
} else {
var hints = targetElm.querySelectorAll('*[data-hint]');
if (hints.length < 1) {
return false;
}
//first add intro items with data-step
for (var i = 0, l = hints.length; i < l; i++) {
var currentElement = hints[i];
// hint animation
var hintAnimation = currentElement.getAttribute('data-hintAnimation');
if (hintAnimation) {
hintAnimation = (hintAnimation == 'true');
} else {
hintAnimation = this._options.hintAnimation;
}
this._introItems.push({
element: currentElement,
hint: currentElement.getAttribute('data-hint'),
hintPosition: currentElement.getAttribute('data-hintPosition') || this._options.hintPosition,
hintAnimation: hintAnimation,
tooltipClass: currentElement.getAttribute('data-tooltipClass'),
position: currentElement.getAttribute('data-position') || this._options.tooltipPosition
});
}
}
_addHints.call(this);
if (document.addEventListener) {
document.addEventListener('click', _removeHintTooltip.bind(this), false);
//for window resize
window.addEventListener('resize', _reAlignHints.bind(this), true);
} else if (document.attachEvent) { //IE
//for window resize
document.attachEvent('onclick', _removeHintTooltip.bind(this));
document.attachEvent('onresize', _reAlignHints.bind(this));
}
}
/**
* Re-aligns all hint elements
*
* @api private
* @method _reAlignHints
*/
function _reAlignHints() {
for (var i = 0, l = this._introItems.length; i < l; i++) {
var item = this._introItems[i];
if (typeof (item.targetElement) == 'undefined') continue;
_alignHintPosition.call(this, item.hintPosition, item.element, item.targetElement)
}
}
/**
* Hide a hint
*
* @api private
* @method _hideHint
*/
function _hideHint(stepId) {
_removeHintTooltip.call(this);
var hint = this._targetElement.querySelector('.introjs-hint[data-step="' + stepId + '"]');
if (hint) {
hint.className += ' introjs-hidehint';
}
// call the callback function (if any)
if (typeof (this._hintCloseCallback) !== 'undefined') {
this._hintCloseCallback.call(this, stepId);
}
}
/**
* Hide all hints
*
* @api private
* @method _hideHints
*/
function _hideHints() {
var hints = this._targetElement.querySelectorAll('.introjs-hint');
if (hints && hints.length > 0) {
for (var i = 0; i < hints.length; i++) {
_hideHint.call(this, hints[i].getAttribute('data-step'));
}
}
}
/**
* Show all hints
*
* @api private
* @method _showHints
*/
function _showHints() {
var hints = this._targetElement.querySelectorAll('.introjs-hint');
if (hints && hints.length > 0) {
for (var i = 0; i < hints.length; i++) {
_showHint.call(this, hints[i].getAttribute('data-step'));
}
} else {
_populateHints.call(this, this._targetElement);
}
};
/**
* Show a hint
*
* @api private
* @method _showHint
*/
function _showHint(stepId) {
var hint = this._targetElement.querySelector('.introjs-hint[data-step="' + stepId + '"]');
if (hint) {
hint.className = hint.className.replace(/introjs\-hidehint/g, '');
}
};
/**
* Removes all hint elements on the page
* Useful when you want to destroy the elements and add them again (e.g. a modal or popup)
*
* @api private
* @method _removeHints
*/
function _removeHints() {
var hints = this._targetElement.querySelectorAll('.introjs-hint');
if (hints && hints.length > 0) {
for (var i = 0; i < hints.length; i++) {
_removeHint.call(this, hints[i].getAttribute('data-step'));
}
}
};
/**
* Remove one single hint element from the page
* Useful when you want to destroy the element and add them again (e.g. a modal or popup)
* Use removeHints if you want to remove all elements.
*
* @api private
* @method _removeHint
*/
function _removeHint(stepId) {
var hint = this._targetElement.querySelector('.introjs-hint[data-step="' + stepId + '"]');
if (hint) {
hint.parentNode.removeChild(hint);
}
};
/**
* Add all available hints to the page
*
* @api private
* @method _addHints
*/
function _addHints() {
var self = this;
var oldHintsWrapper = document.querySelector('.introjs-hints');
if (oldHintsWrapper != null) {
hintsWrapper = oldHintsWrapper;
} else {
var hintsWrapper = document.createElement('div');
hintsWrapper.className = 'introjs-hints';
}
for (var i = 0, l = this._introItems.length; i < l; i++) {
var item = this._introItems[i];
// avoid append a hint twice
if (document.querySelector('.introjs-hint[data-step="' + i + '"]'))
continue;
var hint = document.createElement('a');
_setAnchorAsButton(hint);
(function (hint, item, i) {
// when user clicks on the hint element
hint.onclick = function(e) {
var evt = e ? e : window.event;
if (evt.stopPropagation) evt.stopPropagation();
if (evt.cancelBubble != null) evt.cancelBubble = true;
_showHintDialog.call(self, i);
};
}(hint, item, i));
hint.className = 'introjs-hint';
if (!item.hintAnimation) {
hint.className += ' introjs-hint-no-anim';
}
// hint's position should be fixed if the target element's position is fixed
if (_isFixed(item.element)) {
hint.className += ' introjs-fixedhint';
}
var hintDot = document.createElement('div');
hintDot.className = 'introjs-hint-dot';
var hintPulse = document.createElement('div');
hintPulse.className = 'introjs-hint-pulse';
hint.appendChild(hintDot);
hint.appendChild(hintPulse);
hint.setAttribute('data-step', i);
// we swap the hint element with target element
// because _setHelperLayerPosition uses `element` property
item.targetElement = item.element;
item.element = hint;
// align the hint position
_alignHintPosition.call(this, item.hintPosition, hint, item.targetElement);
hintsWrapper.appendChild(hint);
}
// adding the hints wrapper
document.body.appendChild(hintsWrapper);
// call the callback function (if any)
if (typeof (this._hintsAddedCallback) !== 'undefined') {
this._hintsAddedCallback.call(this);
}
}
/**
* Aligns hint position
*
* @api private
* @method _alignHintPosition
* @param {String} position
* @param {Object} hint
* @param {Object} element
*/
function _alignHintPosition(position, hint, element) {
// get/calculate offset of target element
var offset = _getOffset.call(this, element);
var iconWidth = 20;
var iconHeight = 20;
// align the hint element
switch (position) {
default:
case 'top-left':
hint.style.left = offset.left + 'px';
hint.style.top = offset.top + 'px';
break;
case 'top-right':
hint.style.left = (offset.left + offset.width - iconWidth) + 'px';
hint.style.top = offset.top + 'px';
break;
case 'bottom-left':
hint.style.left = offset.left + 'px';
hint.style.top = (offset.top + offset.height - iconHeight) + 'px';
break;
case 'bottom-right':
hint.style.left = (offset.left + offset.width - iconWidth) + 'px';
hint.style.top = (offset.top + offset.height - iconHeight) + 'px';
break;
case 'middle-left':
hint.style.left = offset.left + 'px';
hint.style.top = (offset.top + (offset.height - iconHeight) / 2) + 'px';
break;
case 'middle-right':
hint.style.left = (offset.left + offset.width - iconWidth) + 'px';
hint.style.top = (offset.top + (offset.height - iconHeight) / 2) + 'px';
break;
case 'middle-middle':
hint.style.left = (offset.left + (offset.width - iconWidth) / 2) + 'px';
hint.style.top = (offset.top + (offset.height - iconHeight) / 2) + 'px';
break;
case 'bottom-middle':
hint.style.left = (offset.left + (offset.width - iconWidth) / 2) + 'px';
hint.style.top = (offset.top + offset.height - iconHeight) + 'px';
break;
case 'top-middle':
hint.style.left = (offset.left + (offset.width - iconWidth) / 2) + 'px';
hint.style.top = offset.top + 'px';
break;
}
}
/**
* Triggers when user clicks on the hint element
*
* @api private
* @method _showHintDialog
* @param {Number} stepId
*/
function _showHintDialog(stepId) {
var hintElement = document.querySelector('.introjs-hint[data-step="' + stepId + '"]');
var item = this._introItems[stepId];
// call the callback function (if any)
if (typeof (this._hintClickCallback) !== 'undefined') {
this._hintClickCallback.call(this, hintElement, item, stepId);
}
// remove all open tooltips
var removedStep = _removeHintTooltip.call(this);
// to toggle the tooltip
if (parseInt(removedStep, 10) == stepId) {
return;
}
var tooltipLayer = document.createElement('div');
var tooltipTextLayer = document.createElement('div');
var arrowLayer = document.createElement('div');
var referenceLayer = document.createElement('div');
tooltipLayer.className = 'introjs-tooltip';
tooltipLayer.onclick = function (e) {
//IE9 & Other Browsers
if (e.stopPropagation) {
e.stopPropagation();
}
//IE8 and Lower
else {
e.cancelBubble = true;
}
};
tooltipTextLayer.className = 'introjs-tooltiptext';
var tooltipWrapper = document.createElement('p');
tooltipWrapper.innerHTML = item.hint;
var closeButton = document.createElement('a');
closeButton.className = 'introjs-button';
closeButton.innerHTML = this._options.hintButtonLabel;
closeButton.onclick = _hideHint.bind(this, stepId);
tooltipTextLayer.appendChild(tooltipWrapper);
tooltipTextLayer.appendChild(closeButton);
arrowLayer.className = 'introjs-arrow';
tooltipLayer.appendChild(arrowLayer);
tooltipLayer.appendChild(tooltipTextLayer);
// set current step for _placeTooltip function
this._currentStep = hintElement.getAttribute('data-step');
// align reference layer position
referenceLayer.className = 'introjs-tooltipReferenceLayer introjs-hintReference';
referenceLayer.setAttribute('data-step', hintElement.getAttribute('data-step'));
_setHelperLayerPosition.call(this, referenceLayer);
referenceLayer.appendChild(tooltipLayer);
document.body.appendChild(referenceLayer);
//set proper position
_placeTooltip.call(this, hintElement, tooltipLayer, arrowLayer, null, true);
}
/**
* Get an element position on the page
* Thanks to `meouw`: http://stackoverflow.com/a/442474/375966
*
* @api private
* @method _getOffset
* @param {Object} element
* @returns Element's position info
*/
function _getOffset(element) {
var elementPosition = {};
var body = document.body;
var docEl = document.documentElement;
var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;
var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;
if (element instanceof SVGElement) {
var x = element.getBoundingClientRect()
elementPosition.top = x.top + scrollTop;
elementPosition.width = x.width;
elementPosition.height = x.height;
elementPosition.left = x.left + scrollLeft;
} else {
//set width
elementPosition.width = element.offsetWidth;
//set height
elementPosition.height = element.offsetHeight;
//calculate element top and left
var _x = 0;
var _y = 0;
while (element && !isNaN(element.offsetLeft) && !isNaN(element.offsetTop)) {
_x += element.offsetLeft;
_y += element.offsetTop;
element = element.offsetParent;
}
//set top
elementPosition.top = _y;
//set left
elementPosition.left = _x;
}
return elementPosition;
}
/**
* Gets the current progress percentage
*
* @api private
* @method _getProgress
* @returns current progress percentage
*/
function _getProgress() {
// Steps are 0 indexed
var currentStep = parseInt((this._currentStep + 1), 10);
return ((currentStep / this._introItems.length) * 100);
}
/**
* Overwrites obj1's values with obj2's and adds obj2's if non existent in obj1
* via: http://stackoverflow.com/questions/171251/how-can-i-merge-properties-of-two-javascript-objects-dynamically
*
* @param obj1
* @param obj2
* @returns obj3 a new object based on obj1 and obj2
*/
function _mergeOptions(obj1,obj2) {
var obj3 = {};
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
return obj3;
}
var introJs = function (targetElm) {
if (typeof (targetElm) === 'object') {
//Ok, create a new instance
return new IntroJs(targetElm);
} else if (typeof (targetElm) === 'string') {
//select the target element with query selector
var targetElement = document.querySelector(targetElm);
if (targetElement) {
return new IntroJs(targetElement);
} else {
throw new Error('There is no element with given selector.');
}
} else {
return new IntroJs(document.body);
}
};
/**
* Current IntroJs version
*
* @property version
* @type String
*/
introJs.version = VERSION;
//Prototype
introJs.fn = IntroJs.prototype = {
clone: function () {
return new IntroJs(this);
},
setOption: function(option, value) {
this._options[option] = value;
return this;
},
setOptions: function(options) {
this._options = _mergeOptions(this._options, options);
return this;
},
start: function () {
_introForElement.call(this, this._targetElement);
return this;
},
goToStep: function(step) {
_goToStep.call(this, step);
return this;
},
addStep: function(options) {
if (!this._options.steps) {
this._options.steps = [];
}
this._options.steps.push(options);
return this;
},
addSteps: function(steps) {
if (!steps.length) return;
for(var index = 0; index < steps.length; index++) {
this.addStep(steps[index]);
}
return this;
},
goToStepNumber: function(step) {
_goToStepNumber.call(this, step);
return this;
},
nextStep: function() {
_nextStep.call(this);
return this;
},
previousStep: function() {
_previousStep.call(this);
return this;
},
exit: function(force) {
_exitIntro.call(this, this._targetElement, force);
return this;
},
refresh: function() {
_refresh.call(this);
return this;
},
onbeforechange: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introBeforeChangeCallback = providedCallback;
} else {
throw new Error('Provided callback for onbeforechange was not a function');
}
return this;
},
onchange: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introChangeCallback = providedCallback;
} else {
throw new Error('Provided callback for onchange was not a function.');
}
return this;
},
onafterchange: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introAfterChangeCallback = providedCallback;
} else {
throw new Error('Provided callback for onafterchange was not a function');
}
return this;
},
oncomplete: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introCompleteCallback = providedCallback;
} else {
throw new Error('Provided callback for oncomplete was not a function.');
}
return this;
},
onhintsadded: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._hintsAddedCallback = providedCallback;
} else {
throw new Error('Provided callback for onhintsadded was not a function.');
}
return this;
},
onhintclick: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._hintClickCallback = providedCallback;
} else {
throw new Error('Provided callback for onhintclick was not a function.');
}
return this;
},
onhintclose: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._hintCloseCallback = providedCallback;
} else {
throw new Error('Provided callback for onhintclose was not a function.');
}
return this;
},
onexit: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introExitCallback = providedCallback;
} else {
throw new Error('Provided callback for onexit was not a function.');
}
return this;
},
onbeforeexit: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introBeforeExitCallback = providedCallback;
} else {
throw new Error('Provided callback for onbeforeexit was not a function.');
}
return this;
},
addHints: function() {
_populateHints.call(this, this._targetElement);
return this;
},
hideHint: function (stepId) {
_hideHint.call(this, stepId);
return this;
},
hideHints: function () {
_hideHints.call(this);
return this;
},
showHint: function (stepId) {
_showHint.call(this, stepId);
return this;
},
showHints: function () {
_showHints.call(this);
return this;
},
removeHints: function () {
_removeHints.call(this);
return this;
},
removeHint: function (stepId) {
_removeHint.call(this, stepId);
return this;
},
showHintDialog: function (stepId) {
_showHintDialog.call(this, stepId);
return this;
}
};
exports.introJs = introJs;
return introJs;
}));
</script>
<script>
$( window ).on('load', function() {
$('.cProfileSidebarBlock .ipsWidget_inner .cProfileFields .ipsDataItem .ipsDataItem_generic strong:contains("Homepage")').parent().parent().parent().parent().parent().hide();
$('.cProfileSidebarBlock .ipsWidget_inner .cProfileFields .ipsDataItem .ipsDataItem_generic strong:contains("Comment")').parent().parent().parent().parent().parent().hide();
$('.cProfileSidebarBlock .ipsWidget_inner .cProfileFields .ipsDataItem .ipsDataItem_generic strong:contains("Profile")').parent().parent().parent().parent().parent().hide();
});
</script>
<script type="text/javascript">
$(document).on('ready', function(){
if($('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]').length == 2 && $('#ipsLayout_sidebar [data-blocktitle="Topic Feed"] ~ [data-blocktitle="Topic Feed"]').length == 1){
if($('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(0) ul.ipsDataList li').length > 0){
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(1)').attr('data-time','week');
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(1)').find('h3').hide();
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(1)').find('> div').hide();
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(1)').css('margin-top',0);
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(0)').attr('data-time','day');
$('<ul class="trending_switch_list"><li><a href="#" class="active" data-block="day">Day</a></li><li><a href="#" data-block="week">Week</a></li></ul>').insertAfter('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(0) h3');
$('body').on('click', '.trending_switch_list a', function(e){
e.preventDefault();
$('.trending_switch_list a.active').removeClass('active');
$(this).addClass('active');
var time = $(this).attr('data-block');
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"] > div > div').hide();
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"][data-time="'+time+'"] > div').show();
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"][data-time="'+time+'"] > div > div').show();
});
}
}
});
</script>
<!-- Duplicate social links to sidebar on topic -->
<script type="text/javascript">
$(document).ready(function(){
if ($(window).width() > 980) {
targetElement = '#sidebar_inner ';
$('.social_links_footer ul[data-controller="core.front.core.sharelink"]').hide().clone().appendTo(targetElement).show();
$(targetElement + 'ul[data-controller="core.front.core.sharelink"] > li').each(function(){
$(this).append('<a href="' + $(this).find('> a').attr('href') + '"></a>');
$(this).find('a:first-of-type:empty').parent().hide();
});
$(targetElement + 'ul[data-controller="core.front.core.sharelink"] > li:nth-child(2)').prependTo($(targetElement + 'ul[data-controller="core.front.core.sharelink"]'));
$(targetElement + 'ul[data-controller="core.front.core.sharelink"] > li:nth-child(4)').prependTo($(targetElement + 'ul[data-controller="core.front.core.sharelink"]'));
$(targetElement + 'ul[data-controller="core.front.core.sharelink"]').before('<div class="ipsWidget ipsWidget_vertical"><h3 class="ipsType_reset ipsWidget_title share_title"><i class="fa fa-share-alt"></i>Share</h3></div>');
}
});
</script>
<!-- Sticky sidebar on topic page -->
<script type="text/javascript">
(function(){var b,f;b=this.jQuery||window.jQuery;f=b(window);b.fn.stick_in_parent=function(d){var A,w,J,n,B,K,p,q,k,E,t;null==d&&(d={});t=d.sticky_class;B=d.inner_scrolling;E=d.recalc_every;k=d.parent;q=d.offset_top;p=d.spacer;w=d.bottoming;null==q&&(q=0);null==k&&(k=void 0);null==B&&(B=!0);null==t&&(t="is_stuck");A=b(document);null==w&&(w=!0);J=function(a,d,n,C,F,u,r,G){var v,H,m,D,I,c,g,x,y,z,h,l;if(!a.data("sticky_kit")){a.data("sticky_kit",!0);I=A.height();g=a.parent();null!=k&&(g=g.closest(k));
if(!g.length)throw"failed to find stick parent";v=m=!1;(h=null!=p?p&&a.closest(p):b("<div />"))&&h.css("position",a.css("position"));x=function(){var c,f,e;if(!G&&(I=A.height(),c=parseInt(g.css("border-top-width"),10),f=parseInt(g.css("padding-top"),10),d=parseInt(g.css("padding-bottom"),10),n=g.offset().top+c+f,C=g.height(),m&&(v=m=!1,null==p&&(a.insertAfter(h),h.detach()),a.css({position:"",top:"",width:"",bottom:""}).removeClass(t),e=!0),F=a.offset().top-(parseInt(a.css("margin-top"),10)||0)-q,
u=a.outerHeight(!0),r=a.css("float"),h&&h.css({width:a.outerWidth(!0),height:u,display:a.css("display"),"vertical-align":a.css("vertical-align"),"float":r}),e))return l()};x();if(u!==C)return D=void 0,c=q,z=E,l=function(){var b,l,e,k;if(!G&&(e=!1,null!=z&&(--z,0>=z&&(z=E,x(),e=!0)),e||A.height()===I||x(),e=f.scrollTop(),null!=D&&(l=e-D),D=e,m?(w&&(k=e+u+c>C+n,v&&!k&&(v=!1,a.css({position:"fixed",bottom:"",top:c}).trigger("sticky_kit:unbottom"))),e<F&&(m=!1,c=q,null==p&&("left"!==r&&"right"!==r||a.insertAfter(h),
h.detach()),b={position:"",width:"",top:""},a.css(b).removeClass(t).trigger("sticky_kit:unstick")),B&&(b=f.height(),u+q>b&&!v&&(c-=l,c=Math.max(b-u,c),c=Math.min(q,c),m&&a.css({top:c+"px"})))):e>F&&(m=!0,b={position:"fixed",top:c},b.width="border-box"===a.css("box-sizing")?a.outerWidth()+"px":a.width()+"px",a.css(b).addClass(t),null==p&&(a.after(h),"left"!==r&&"right"!==r||h.append(a)),a.trigger("sticky_kit:stick")),m&&w&&(null==k&&(k=e+u+c>C+n),!v&&k)))return v=!0,"static"===g.css("position")&&g.css({position:"relative"}),
a.css({position:"absolute",bottom:d,top:"auto"}).trigger("sticky_kit:bottom")},y=function(){x();return l()},H=function(){G=!0;f.off("touchmove",l);f.off("scroll",l);f.off("resize",y);b(document.body).off("sticky_kit:recalc",y);a.off("sticky_kit:detach",H);a.removeData("sticky_kit");a.css({position:"",bottom:"",top:"",width:""});g.position("position","");if(m)return null==p&&("left"!==r&&"right"!==r||a.insertAfter(h),h.remove()),a.removeClass(t)},f.on("touchmove",l),f.on("scroll",l),f.on("resize",
y),b(document.body).on("sticky_kit:recalc",y),a.on("sticky_kit:detach",H),setTimeout(l,0)}};n=0;for(K=this.length;n<K;n++)d=this[n],J(b(d));return this}}).call(this);
$(window).on('load', function(){
$('body[data-pagecontroller="topic"] #ipsLayout_sidebar #sidebar_inner').stick_in_parent();
});
</script>
<script type="text/javascript">
$(document).ready(function(){
if($('.topic-header-signin').length){
var offset_top = $('.topic-header-signin').offset().top;
}
$(window).on('scroll', function() {
if ($(window).width() >= 768) {
if ($(window).scrollTop() >= offset_top ) {
if (!$('.clone.topic-header-signin').length) {
$('.topic-header-signin').clone().appendTo('#ipsLayout_mainArea').addClass('clone');
$('.clone .show-registration-caret').on('click', function(){
$('.clone #signup-box').show();
$('.clone .show-registration-caret').hide();
$('.clone .hide-registration-caret').show();
});
$('.clone .hide-registration-caret').on('click', function(){
$('.clone #signup-box').hide();
$('.clone .hide-registration-caret').hide();
$('.clone .show-registration-caret').show();
});
}
//$('.clone #signup-box').hide();
//$('.clone .show-registration-caret').show();
//$('.clone .hide-registration-caret').hide();
$('.clone.topic-header-signin').addClass('sticky');
} else {
$('#signup-box').show();
$('.show-registration-caret').hide();
$('.topic-header-signin').removeClass('sticky');
}
}
});
});
</script>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeJS.phtml -->
<!--ipsQueryLog-->
<!--ipsCachingLog-->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com :: Campaign Title: Popups 2018-03-06 --><div id="om-nlrpk0jo45q932oe8k5u-holder"></div><script>var nlrpk0jo45q932oe8k5u,nlrpk0jo45q932oe8k5u_poll=function(){var r=0;return function(n,l){clearInterval(r),r=setInterval(n,l)}}();!function(e,t,n){if(e.getElementById(n)){nlrpk0jo45q932oe8k5u_poll(function(){if(window['om_loaded']){if(!nlrpk0jo45q932oe8k5u){nlrpk0jo45q932oe8k5u=new OptinMonsterApp();return nlrpk0jo45q932oe8k5u.init({"u":"20987.812068","staging":0,"dev":0,"beta":0});}}},25);return;}var d=false,o=e.createElement(t);o.id=n,o.src="https://a.optmnstr.com/app/js/api.min.js",o.async=true,o.onload=o.onreadystatechange=function(){if(!d){if(!this.readyState||this.readyState==="loaded"||this.readyState==="complete"){try{d=om_loaded=true;nlrpk0jo45q932oe8k5u=new OptinMonsterApp();nlrpk0jo45q932oe8k5u.init({"u":"20987.812068","staging":0,"dev":0,"beta":0});o.onload=o.onreadystatechange=null;}catch(t){}}}};(document.getElementsByTagName("head")[0]||document.documentElement).appendChild(o)}(document,"script","omapi-script");</script>
<!-- / OptinMonster -->
<!-- Mobile signup popup -->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com :: Campaign Title: Popups 2018-03-06 Mobile --><div id="om-lir8qkgp2p6cyup7pji1-holder"></div><script>var lir8qkgp2p6cyup7pji1,lir8qkgp2p6cyup7pji1_poll=function(){var r=0;return function(n,l){clearInterval(r),r=setInterval(n,l)}}();!function(e,t,n){if(e.getElementById(n)){lir8qkgp2p6cyup7pji1_poll(function(){if(window['om_loaded']){if(!lir8qkgp2p6cyup7pji1){lir8qkgp2p6cyup7pji1=new OptinMonsterApp();return lir8qkgp2p6cyup7pji1.init({"u":"20987.812073","staging":0,"dev":0,"beta":0});}}},25);return;}var d=false,o=e.createElement(t);o.id=n,o.src="https://a.optmnstr.com/app/js/api.min.js",o.async=true,o.onload=o.onreadystatechange=function(){if(!d){if(!this.readyState||this.readyState==="loaded"||this.readyState==="complete"){try{d=om_loaded=true;lir8qkgp2p6cyup7pji1=new OptinMonsterApp();lir8qkgp2p6cyup7pji1.init({"u":"20987.812073","staging":0,"dev":0,"beta":0});o.onload=o.onreadystatechange=null;}catch(t){}}}};(document.getElementsByTagName("head")[0]||document.documentElement).appendChild(o)}(document,"script","omapi-script");</script><!-- / OptinMonster -->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com -->
<script type="text/javascript" src="https://a.optmnstr.com/app/js/api.min.js" data-campaign="tznnprkubtqu4kdwaopm" data-user="20987" async=""></script>
<!-- / https://optinmonster.com -->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com -->
<script type="text/javascript" src="https://a.optmnstr.com/app/js/api.min.js" data-campaign="ym0etig14uhvgxsorvij" data-user="20987" async=""></script>
<!-- / https://optinmonster.com -->
<script type="text/javascript">
var uaString = navigator.userAgent;
var includesMobile = uaString.includes("Mobile");
var includesWV = uaString.includes("wv)");
var includesVersion = uaString.includes("Version");
var includesiPhone = uaString.includes("iPhone");
var includesAndroid = uaString.includes("Android");
if ( (includesMobile && includesiPhone && !includesVersion) || (includesMobile && includesWV && includesAndroid) ){ // iPhone or Android
document.write('<style type="text/css">.hide-in-app,#om-ab3gyyqeflzggh1omxfh{display:none!important;}body{overflow:auto!important;}</style>');
document.getElementsByClassName("ipsButton ipsSocial ipsSocial_google")[0].style.display = "none";
}
</script>
<span style="visibility: hidden; position: absolute; top: -300px; width: 1px; height: 1px; overflow: hidden; left: -300px;"><span class="ipsLoading ipsLoading_noAnim" style="display: block;"></span></span><div id="om-ym0etig14uhvgxsorvij-holder"></div></body></html><!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\globalTemplate.phtml -->