CINXE.COM
Africa Rail 2025 | Johannesburg
<!DOCTYPE html> <html lang="en"> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Africa Rail 2025 | Johannesburg</title> <link rel="canonical" href="https://www.terrapinn.com/exhibition/africa-rail/index.stm" /> <meta name="dc.date" content="2024-11-15" /><meta name="description" content="African railway operators and major end users are looking to streamline efficiencies and improve operations." /><meta name="keywords" content="railway operators end users infrastructure train mines freight passenger freight forwarders African projects investment" /><meta name="application-name" content="Africa Rail 2025" /><meta name="msapplication-tooltip" content="13 - 14 May 2025 Johannesburg" /><meta name="msapplication-starturl" content="https://www.terrapinn.com/exhibition/africa-rail/index.stm?pinned=true" /> <meta name="robots" content="INDEX,FOLLOW,NOARCHIVE,NOODP,NOCACHE" /><meta http-equiv="Cache-Control" content="no-store" /><meta name="viewport" content="width=device-width, initial-scale=1" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="Version" content="8" /><meta name="Build Template" content="16/MAR/2023" /><meta name="rating" content="General" /><meta name="copyright" content="Copyright MMXXII Terrapinn Holdings Ltd. All rights reserved." /><meta name="Distribution" content="Global" /><meta name="msapplication-window" content="width=1280;height=1024" /> <meta property="fb:app_id" content="545116762267887" /> <meta name="EloquaMeta" content="Home" /><meta property="og:title" content="Africa Rail 2025 | Johannesburg" /><meta property="og:description" content="African railway operators and major end users are looking to streamline efficiencies and improve operations." /><meta property="og:url" content="https://www.terrapinn.com/exhibition/africa-rail/index.stm" /><meta property="og:image" content="https://www.terrapinn.com/exhibition/africa-rail/img/sq_logo.gif" /><meta property="og:site_name" content="Africa Rail 2025" /><meta id="TerrapinnMetaOffice" name="TerrapinnMetaOffice" content="ME" /><meta id="TerrapinnMetaCommunity" name="TerrapinnMetaCommunity" content="Rail" /><meta property="og:type" content="website" /> <script src="https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="018e41cd-072c-7be0-a7e6-c200e3ddceb6" ></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <link href="https://www.terrapinn-cdn.com/config/bootstrap/css/bootstrap.min.css" rel="stylesheet" /><link href="https://www.terrapinn-cdn.com/config/inc/font-awesome.min.css" rel="stylesheet" /><link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" /> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script><script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--><!-- Latest compiled and minified CSS --> <link rel="stylesheet" type="text/css" href="https://www.terrapinn-cdn.com/config/inc/JS_Slider/flexslider.css" media="all" /><link rel="stylesheet" type="text/css" href="https://www.terrapinn-cdn.com/config/inc/EVT_Responsive3.css?v=7#1" media="all" /><link rel="stylesheet" type="text/css" href="https://www.terrapinn-cdn.com/config/inc/EVT_Responsive_Print1.css?15/12/2014#1" media="print" /><link rel="stylesheet" type="text/css" href="https://www.terrapinn-cdn.com/config/bootstrap/css/animate.css" media="all" /><link rel="shortcut icon" href="/favicon.ico" /> <!-- TEMPLATED --> <script type="text/javascript"> /* <![CDATA[ */ var intDebug = 0; var strServicePath = "/template/live/events.asmx/"; var strRegURL = "/template/Live/Presentations.aspx"; var strProblem_With_Service = "problem with webservice -please try later or contact customer services."; var strCookieName = "TerrapinnPresentation"; var strEventID = "10909"; var strEventHash = "8edba87eb660aeb3560d6196af0caeaa0b1df59e"; var strEventURL = "https://www.terrapinn.com/exhibition/africa-rail"; var strTwitterID = "@"; var thisSiteID = 0; var strEventZone = "UTC+2"; var strEventCity = "Johannesburg"; /* ]]> */ </script> <link rel="stylesheet" type="text/css" href="inc/EventStyles.css" media="all" /> <script type="application/ld+json">{"@context": "http://schema.org","@type": "Organization","url": "https://www.terrapinn.com/exhibition/africa-rail/","logo": "https://www.terrapinn-cdn.com/logos/E10909.gif","contactPoint" : [],"sameAs" : [ "http://www.twitter.com/@"]}</script><script type="application/ld+json">{"@context": "http://schema.org","@type": "Event","name": "Africa Rail 2025","organizer": "Terrapinn Middle East Fz Llc","startDate" : "2025-05-13T09:00+02:00","endDate" : "2025-05-14T17:00+02:00","eventAttendanceMode" : "OfflineEventAttendanceMode","eventStatus" : "EventScheduled","url" : "https://www.terrapinn.com/exhibition/africa-rail/","image" : "https://www.terrapinn-cdn.com/logos/E10909.gif","description" : "Africa Rail is the leading marketplace and ideas exchange for African rail operators, end-users and governments hungry for innovative solutions.","location" : {"@type" : "Place","name" : "Sandton Convention Centre","address" : "Johannesburg"}}</script> <style media="all"> @import url("https://www.terrapinn-cdn.com/config/bootstrap/fonts/MorebiRounded-Regular.woff"); @font-face {font-family: 'Morebi Rounded Regular';font-style: normal;font-weight: normal; src: url('https://www.terrapinn-cdn.com/config/bootstrap/fonts/MorebiRounded-Regular.woff');} h1,h2,h3,h4,body,table,div,span,p,td,a {font-family: 'Morebi Rounded Regular';} h1,h2,h3,h4 {font-weight:900 !important} @media (min-width:768px) {ul#MainMenu li.highlight a {background-color: #fdc300; color: #000; text-transform:uppercase; border-radius:5px; padding-top:5px; border-radius: 20px;}} body.GenericPage section.generic {background: #fdc300; background: -moz-linear-gradient(top, #fdc300 0%, #ffffff 40%, #fdc300 100%); background: -webkit-linear-gradient(top, #fdc300 0%, #ffffff 40%, #fdc300 100%); background: linear-gradient(to bottom, top, #fdc300 0%, #ffffff 40%, #fdc300 100%);} .btn-yellow-main {background: #fdc300; color: #000 !important; font-weight: 700; text-align: center; text-transform: uppercase; border-radius: 20px; display: flex; align-items: center; justify-content: center; padding: 16px; width: 100%;} body.GenericPage section h1:first-of-type {font-weight:700; text-align:center; text-transform:uppercase; font-size: 40pt; padding-bottom:50px;} div#OrgBio h1 {font-size: 24px; padding-bottom:0; text-align:left;} </style> <link href='https://www.terrapinn-cdn.com/config/bootstrap/css/hover.css' rel='stylesheet' type='text/css'> <link rel="stylesheet" type="text/css" href="https://www.terrapinn-cdn.com/config/inc/slider-revolution/revolution/css/settings.css"> <script type="text/javascript"> function setREVStartSize(e){ try{ e.c=jQuery(e.c);var i=jQuery(window).width(),t=9999,r=0,n=0,l=0,f=0,s=0,h=0; if(e.responsiveLevels&&(jQuery.each(e.responsiveLevels,function(e,f){f>i&&(t=r=f,l=e),i>f&&f>r&&(r=f,n=e)}) ,t>r&&(l=n)),f=e.gridheight[l]||e.gridheight[0]||e.gridheight,s=e.gridwidth[l]||e.gridwidth[0]||e.gridwidth,h=i/s,h=h>1?1:h,f=Math.round(h*f), "fullscreen"==e.sliderLayout) {var u=(e.c.width(),jQuery(window).height());if(void 0!=e.fullScreenOffsetContainer) {var c=e.fullScreenOffsetContainer.split(",");if (c) jQuery.each(c,function(e,i) {u=jQuery(i).length>0?u-jQuery(i).outerHeight(!0):u}) ,e.fullScreenOffset.split("%").length>1&&void 0!=e.fullScreenOffset&&e.fullScreenOffset.length>0?u-=jQuery(window).height()*parseInt(e.fullScreenOffset,0)/100:void 0!=e.fullScreenOffset&&e.fullScreenOffset.length>0&&(u-=parseInt(e.fullScreenOffset,0))}f=u} else void 0!=e.minHeight&&f<e.minHeight&&(f=e.minHeight);e.c.closest(".rev_slider_wrapper").css({height:f})} catch(d){console.log("Failure at Presize of Slider:"+d)} } </script> <meta name="Terrapinn-SSL" content="1" /> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script><script type="text/javascript">window.jQuery || document.write('<script src="https://www.terrapinn-cdn.com/config/inc/jquery.min.js"><\/script>')</script> <script type="text/javascript" src="https://www.terrapinn-cdn.com/config/bootstrap/js/modernizr.js" async></script> <script type="text/javascript"> var dataLayer = dataLayer || []; dataLayer.push({'EventID':'10909'}); dataLayer.push({'OfficePropertyID':'UA-37394053-1'}); dataLayer.push({ 'offices':'ME', 'community':'Rail', 'event':'Africa Rail', 'event_id':'10909', 'event_name':'Africa Rail 2025', 'event_chain':'10909|10802|10384|10527|10240|9985', 'event_location':'South Africa'}); var flgGoogle = 1; var strOID = ''; var strCID = ''; if (document.getElementById('TerrapinnMetaOffice')) { strOID = document.getElementById('TerrapinnMetaOffice').content } if (document.getElementById('TerrapinnMetaCommunity')) { strCID = document.getElementById('TerrapinnMetaCommunity').content } var strPage = ''; if (document.getElementById('TerrapinnMetaPage') && strEventID) { strPage = document.getElementById('TerrapinnMetaPage').content + strEventID } </script> <link rel="stylesheet" type="text/css" href="https://www.terrapinn-cdn.com/config/inc/EVT_Responsive_Core.css?v=1" media="all" /> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-57TD9T');</script> <!-- End Google Tag Manager --> <!-- top tracking --> <style media="all"> section.s21571 { background:#000; } section.s21572 { background:#043e85; } section.s21573 { } section.s21752 { } section.s21574 { } section.s21728 { } section.s21737 { } section.s21576 { background:#043E85; } </style> <style type="text/css"> section.generic {padding-bottom:0 !important;} section#video-hero {padding:0 !important; margin-top: -20px;} div.hero-content {margin:50px 0;} .rev_slider img, .tp-simpleresponsive img {margin: 0 auto !important; max-width:100% !important;} .rs-fullvideo-cover {background: rgba(0,0,0,0.5) ;} </style> <link rel="stylesheet" href="https://www.terrapinn-cdn.com/config/inc/jf/liMarqueeJF.css"> </head> <body class="HomePage" id="top"><!-- Google Tag Manager (noscript) --><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-57TD9T" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><!-- End Google Tag Manager (noscript) --> <nav class="navbar navbar-default" id="MainNav" role="navigation"> <div id="TopMenu"> <table cellpadding="0" cellspacing="0" style="background:#fff;"> <tr> <td rowspan="2" valign="top" style="width:170px;"> <div> <a id="NonMobileSection" class="navbar-brand" href="index.stm" title="Investment, development and technology for rail operators, end-users, government and investors"> <img src="https://www.terrapinn-cdn.com/logos/E10909.gif?411" alt="Africa Rail 2025" style="display:block; padding:5px 0px; "/> </a> <div data-toggle="collapse" data-target="#MainMenu" class="navbar-toggle"> <div class="left"> <button type="button"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> </div> </div> </td> <td valign="top"><div class="vevent"><div class="right StructuredEvent" id="VenueAndDates" style="cursor:pointer;" onclick="javascript:window.location='https://www.terrapinn.com/template/live/add2diary.aspx?e=10909';" title="add to my diary"> <span class="Summary">Africa Rail 2025<br /></span> <span class="Date dtstart" data-start-utc="2025-05-13T09:30+02:00" data-end-utc="2025-05-14T17:00+02:00"><span class="value-title" title="2025-05-13">13 - 14 May</span></span><span Class="Location"><span Class="Venue"><br />Sandton Convention Centre,</span> Johannesburg</span></div></div></td> </tr><tr><td style="vertical-align:bottom;"><div class="navbar-collapse collapse" id="MainMenu"> <div id="menu"> <ul Class="nav navbar-nav" id="MainMenu"><li class="dropdown highlight hidden-sm hidden-md hidden-lg"><a title="register now for Africa Rail" href="https://secure.terrapinn.com/V5/step1.aspx?E=10909" rel="nofollow">register now <i Class="fa fa-shopping-cart" aria-hidden="true"></i></a></li> <li class=" dropdown"> <a title="Africa Rail 2025" href="index.stm">home</a> <ul Class="dropdown-menu"> <li class=" dropdown"> <a title="our story" href="our-story.stm">our story</a> </li> <li class=" dropdown"> <a title="LinkedIn" href="https://www.linkedin.com/company/africa-rail" target="_blank">LinkedIn</a> </li> <li class=" dropdown"> <a title="Facebook" href="https://www.facebook.com/AfricaRail" target="_blank">Facebook</a> </li> <li class=" dropdown"> <a title="X" href="https://x.com/AfricaRail" target="_blank">X</a> </li> <li class=" dropdown"> <a title="2024 Event Photos" href="https://www.flickr.com/photos/201040037@N08/albums/72177720318404434/">2024 Event Photos</a> </li> </ul> </li> <li class=" dropdown"> <a title="Whats On" href="Whats-On.stm">Whats On</a> </li> <li class=" dropdown"> <a title="Sponsor/Exhibit" href="SponsorExhibit.stm">Sponsor/Exhibit</a> <ul Class="dropdown-menu"> <li class=" dropdown"> <a title="sponsors & exhibitors" href="sponsors-and-exhibitors.stm">sponsors & exhibitors</a> </li> <li class=" dropdown"> <a title="2024 Post Event Report" href="https://www.terrapinn.com/template/live/go/10909/22788">2024 Post Event Report</a> </li> <li class=" dropdown"> <a title="download prospectus" href="https://www.terrapinn.com/template/live/go/10909/22798" rel="nofollow">download prospectus</a> </li> <li class=" dropdown"> <a title="Apply To Sponsor/Exhibit" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10909">Apply To Sponsor/Exhibit</a> </li> </ul> </li> <li class=" dropdown"> <a title="Conference" href="Conference.stm">Conference</a> <ul Class="dropdown-menu"> <li class=" dropdown"> <a title="Apply To Speak" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10909">Apply To Speak</a> </li> </ul> </li> <li class=" dropdown"> <a title="Guest Buyer Programme" href="Guest-Buyer-Programme.stm">Guest Buyer Programme</a> </li> <li class=" dropdown highlight"> <a title="register now for Africa Rail 2025" href="https://secure.terrapinn.com/V5/step1.aspx?E=10909&p=1" rel="nofollow">register now</a> <ul Class="dropdown-menu"> <li class=" dropdown"> <a title="venue information (Sandton Convention Centre)" href="venue.stm">venue</a> </li> <li class=" dropdown"> <a title="Accommodation" href="Accommodation.stm">Accommodation</a> </li> <li class=" dropdown"> <a title="contact the Africa Rail 2025 team" href="contact-us.stm">contact us</a> </li> <li class=" dropdown"> <a title="enquiry" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10909">enquiry</a> </li> </ul> </li> </ul> </div> </div></td></tr></table></div></nav> <div class="container-fluid container-content"> <section class="generic"> <div class="bg-white"> <div class="container-fluid" style="margin-top:-45px;"> <a class="arrow" data-jumpto="#video-hero"></a> <section class="s21571" id="video-hero"> <div class="rev_slider_wrapper fullwidthbanner-container" data-alias="video10802" data-source="gallery" id="video10802_wrapper" style="margin:0px auto;background:transparent;padding:0px;margin-top:0px;margin-bottom:0px;"> <!-- START REVOLUTION SLIDER 5.4.8.1 fullwidth mode --> <div class="rev_slider fullwidthabanner" data-version="5.4.8.1" id="video10802"> <ul> <!-- SLIDE --> <li data-description="" data-easein="default" data-easeout="default" data-hideafterloop="0" data-hideslideonmobile="off" data-index="rs-44" data-masterspeed="300" data-param1="" data-param10="" data-param2="" data-param3="" data-param4="" data-param5="" data-param6="" data-param7="" data-param8="" data-param9="" data-rotate="0" data-saveperformance="off" data-slotamount="default" data-title="Slide" data-transition="fade"> <!-- MAIN IMAGE --><!-- LAYERS --><!-- BACKGROUND VIDEO LAYER --> <div class="rs-background-video-layer" data-aspectratio="16:9" data-autoplay="true" data-autoplayonlyfirsttime="false" data-forcecover="1" data-forcerewind="off" data-videoheight="100%" data-videoloop="loopandnoslidestop" data-videomp4="https://callagur-images.s3.eu-west-2.amazonaws.com/Videos/10909_AfricaRail25_08082024.mp4" data-videopreload="auto" data-videowidth="100%" data-volume="mute"> 聽 </div><!-- CONTENT --> <div class="hero-content"> <div class="row"> <div class="col-sm-12"> <p style="text-align: center;"> 聽 </p> <img alt="Africa Rail" class="img-responsive img-center" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/africa-rail-rev.png" /> <p> 聽 </p> <h1 style="text-align:center; color: #fff; font-size:38px; font-weight:700"> Investment, development and technology for rail operators, end-users, government and investors </h1> <p style="text-align:center; color: #fff; font-size:28px;"> <br /> 13-14 May 2025 | Sandton Convention Centre, Johannesburg, South Africa </p> <p> 聽 </p> </div> </div> <div class="row"> <div class="col-md-4"> <p style="text-align: center;"> <a class="btn btn-yellow-main btn-lg hvr-grow center-block" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10909"> APPLY TO SPONSOR/EXHIBIT </a> </p> </div> <div class="col-md-4"> <p style="text-align: center;"> <a class="btn btn-yellow-main btn-lg hvr-grow center-block" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10909"> APPLY TO SPEAK </a> </p> </div> <div class="col-md-4"> <p style="text-align: center;"> <a class="btn btn-yellow-main btn-lg hvr-grow center-block" href="https://www.terrapinn.com/template/live/go/10909/22798"> DOWNLOAD PROSPECTUS </a> </p> </div> </div> </div> </li> </ul> </div></div><!-- END REVOLUTION SLIDER --><script type="text/javascript"> var revapi29, tpj; (function() { if (!/loaded|interactive|complete/.test(document.readyState)) document.addEventListener("DOMContentLoaded",onLoad); else onLoad(); function onLoad() { if (tpj===undefined) { tpj = jQuery; if("off" == "on") tpj.noConflict();} if(tpj("#video10802").revolution == undefined){ revslider_showDoubleJqueryError("#video10802"); }else{ revapi29 = tpj("#video10802").show().revolution({ sliderType:"hero", jsFileLocation:"https://www.terrapinn-cdn.com/config/inc/slider-revolution/revolution/js/", sliderLayout:"fullwidth", dottedOverlay:"none", delay:9000, navigation: { }, viewPort: { enable:true, outof:"wait", visible_area:"80%", presize:false }, responsiveLevels:[1200,992,768,480], visibilityLevels:[1200,992,768,480], gridwidth:[1240,1024,778,480], gridheight:[766,840,900,1020], lazyType:"none", parallax: { type:"mouse", origo:"slidercenter", speed:2000, speedbg:0, speedls:0, levels:[2,3,4,5,6,7,12,16,10,50,47,48,49,50,51,55], }, shadow:0, spinner:"spinner3", autoHeight:"off", disableProgressBar:"on", hideThumbsOnMobile:"on", hideSliderAtLimit:0, hideCaptionAtLimit:0, hideAllCaptionAtLilmit:0, debugMode:false, fallbacks: { simplifyAll:"off", disableFocusListener:false, } }); }; /* END OF revapi call */ if(typeof ExplodingLayersAddOn !== "undefined") ExplodingLayersAddOn(tpj, revapi29); }; /* END OF ON LOAD FUNCTION */ }()); /* END OF WRAPPING FUNCTION */ </script><style type="text/css"> .btn-yellow-main { background: #fdc300; color: #000 !important; font-weight:700; text-align:center; text-transform:uppercase; border-radius:20px; display: flex; align-items: center; justify-content: center; padding: 16px; width:100%; }</style></section> <a class="arrow" data-jumpto="#stats"></a> <section class="s21572 s-extra" id="stats"> <div class="row"><div class="col-sm-6 col-md-3"><h3>5,000</h3><p>Attendees</p></div><div class="col-sm-6 col-md-3"><h3>500</h3><p>Guest Buyers</p></div><div class="col-sm-6 col-md-3"><h3>150</h3><p>Speakers</p></div><div class="col-sm-6 col-md-3"><h3>120</h3><p>Sponsors & Exhibitors</p></div></div><style type="text/css">section#stats h3 { text-align: center; margin-bottom: 20px; font-size: 60px !important; font-weight:700; color: #fff !important; } section#stats p { text-align:center; font-size: 20px; font-weight:400; color: #fff; }</style></section> <a class="arrow" data-jumpto="#what-is"></a> <section class="s21573 s-extra" id="what-is"> <div class="row"><div class="col-sm-12"><h2 style="text-align: center; color: #020302; font-size: 38px; font-weight: 700;">What is Africa Rail?</h2><p>聽</p><p style="text-align: center;font-size:18px;">Built on 25聽years of history, Africa Rail is the largest and most established rail event in Africa and the meeting place for all customers looking to do business in the rail, freight and transport space.</p></div></div><p>聽</p><div class="row flexcontainer"><div class="flexitem box3"><div class="who">The conference</div><img class="img-responsive img-center" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/conference-africa-rail-25.png" /><div style="padding:10px;"><p>The event will host over 150 industry leading speakers, who will leave you inspired and full of actionable tactics that you can apply to your day to day routine.</p><p style="text-align: center; "><a class="btn btn-yellow-main btn-lg center-block hvr-float-shadow" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10909">APPLY TO SPEAK </a></p></div></div><div class="flexitem box3"><div class="who">The exhibition</div><img class="img-responsive img-center" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/exhibition-img-ar-25.png" /><div style="padding:10px;"><p>A world-class experience for innovators across the entire rail industry, Africa Rail is more than just an event, it鈥檚 a catalyst for the growth and development of the entire African railway industry.</p><p style="text-align: center; "><a class="btn btn-yellow-main btn-lg center-block hvr-float-shadow" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10909">APPLY TO SPONSOR/EXHIBIT </a></p></div></div><div class="flexitem box3"><div class="who">Networking</div><img class="img-responsive img-center" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/networking-image.png" /><div style="padding:10px;"><p>We attract the most senior representatives from government, operators, end users, technology providers and consultants from across Africa and have built hours of networking into the agenda.</p><p style="text-align: center; "><a class="btn btn-yellow-main btn-lg center-block hvr-float-shadow" href="https://secure.terrapinn.com/V5/step1.aspx?E=10909">REGISTER FOR FREE </a></p></div></div></div><style type="text/css">div.box3 { border: 1px solid #000; width:31%; margin:1%; justify-content:start; background: #fff; } div.who{ background: #043E85; padding:15px; color: #fff; font-weight:700; font-size:24px; text-align:center } div.box3 img { margin-bottom:15px; }</style></section> <a class="arrow" data-jumpto="#video"></a> <section class="s21752 s-extra" id="video"> <div class="row"><div class="col-sm-12"><h2 style="color:#020302; font-weight:700; font-size:38px; text-align:center;">Take a look at the 2024 edition</h2><div>聽</div><video controls="" height="auto !important" poster="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/poster.jpg" width="100%"><source src="https://callagur-images.s3.eu-west-2.amazonaws.com/Videos/10909_AfricaRail25_08082024.mp4" type="video/mp4" /> Your browser does not support the video tag.</video></div></div></section> <a class="arrow" data-jumpto="#past-speakers"></a> <section class="s21574 s-extra" id="past-speakers"> <div class="row"><div class="col-sm-12"><h2 style="text-align: center; color: #020302; font-size: 38px; font-weight: 700;">2024聽Speakers</h2><p>聽</p></div></div><div class="row flexcontainer speakers"><div class="speaker flexitem"><div class="speaker__content-wrap"><div class="speaker__content"><div class="speaker__content__inner"><a href="speakers.stm" style="text-decoration:none;">Nthabiseng Kubheka<br />Chief Executive Officer<br />Bombela Operating Company </a></div></div><img alt="" class="speaker__image" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/nthabiseng-kubheka-home-page.png" /></div></div><div class="speaker flexitem"><div class="speaker__content-wrap"><div class="speaker__content"><div class="speaker__content__inner"><a href="speakers.stm" style="text-decoration:none;">Rudi Dicks<br />Head of Project Management Office<br />NLCC<br />The Presidency </a></div></div><b><img alt="" class="speaker__image" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/rudi-dicks-home-page.png" /></b></div></div><div class="speaker flexitem"><div class="speaker__content-wrap"><div class="speaker__content"><div class="speaker__content__inner"><b><a href="speakers.stm" style="text-decoration:none;">Nicolas Gregoir<br />Chief Operating Officer<br />Lobito Atlantic Railway </a> </b></div></div><b><img alt="" class="speaker__image" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/nicolas-gregoir-home-page.png" /></b></div></div><div class="speaker flexitem"><div class="speaker__content-wrap"><div class="speaker__content"><div class="speaker__content__inner"><b><a href="speakers.stm" style="text-decoration:none;">Hishaam Emeran<br />Group Chief Executive Officer<br />PRASA </a> </b></div></div><b><img alt="" class="speaker__image" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/hishaam-emeran-home-page.png" /></b></div></div><div class="speaker flexitem"><div class="speaker__content-wrap"><div class="speaker__content"><div class="speaker__content__inner"><b><a href="speakers.stm" style="text-decoration:none;">Mesela Kope-Nhlapo<br />Chief Executive Officer<br />African Rail Industry<br />Association (ARIA) </a> </b></div></div><b><img alt="" class="speaker__image" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/mesela-kope-nhlapo-home-page.png" /></b></div></div><div class="speaker flexitem"><div class="speaker__content-wrap"><div class="speaker__content"><div class="speaker__content__inner"><b><a href="speakers.stm" style="text-decoration:none;">Mehdi Dib<br />Chief Technology Officer<br />SNTF subsidiary EPE Rail Electr </a> </b></div></div><b><img alt="" class="speaker__image" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/mehdi-dib-home-page.png" /></b></div></div><div class="speaker flexitem"><div class="speaker__content-wrap"><div class="speaker__content"><div class="speaker__content__inner"><b><a href="speakers.stm" style="text-decoration:none;">Tshepo Kgobe<br />Chief Executive Officer<br />Gautrain Management Agency </a> </b></div></div><b><img alt="Tshepo Kgobe" class="speaker__image" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/tshepo-kgobe-home-page.png" /></b></div></div><div class="speaker flexitem"><div class="speaker__content-wrap"><div class="speaker__content"><div class="speaker__content__inner"><b><a href="speakers.stm" style="text-decoration:none;">Nixon Dlamini,<br />Chief Executive Officer,<br />Eswatini Railways </a> </b></div></div><b><img alt="Tshepo Kgobe" class="speaker__image" src="https://terrapinn-cdn.com/exhibition/africa-rail/Img/nixon-diaminihome-page.png" /></b></div></div></div><p><b><b>聽 </b> </b></p><div class="row"><div class="col-md-4 col-md-offset-4"><p style="text-align: center;"><b><b><a class="btn btn-yellow-main btn-lg center-block hvr-float-shadow" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10909">REGISTER FOR FREE </a> </b> </b></p></div></div><div><b><b><b><b><style type="text/css">.speakers { align-items:flex-start; display:flex; flex-wrap:wrap; } .speakers { flex-wrap:wrap; display:flex; justify-content:space-between; padding:0} .speakers:after{ content:""; flex:auto} .speaker{ color:#fff; overflow:hidden; height:auto; width:24%; padding:0; margin-bottom:0.5%; margin-right:.5%; margin-left:.5%; position:relative} .speaker:hover{ cursor:pointer} .speaker:before{ padding-top:100%; display:block; content:""} .speaker .speaker__image{ overflow:hidden; position:absolute; top:0; left:0; z-index:0; height:100%; width:100%; -webkit-transition:all 1s ease; transition:all 1s ease; object-fit:cover} .speaker:hover .speaker__image{ -webkit-transform:scale(1.05); transform:scale(1.05)} .speaker .speaker__content__inner{ width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:700; } .speaker .speaker__content__inner a{ color: #fff !important; } .speaker .speaker__content-wrap{ position:absolute; overflow:hidden; top:0; height:100%; width:100%} .speaker .speaker__content-wrap:after{ content:""; position:absolute; left:0; top:0; width:100%; height:100%; z-index:1} .speaker .speaker__content{ height:100%; display:flex; align-items:flex-start; flex-wrap:wrap; flex-direction:column; justify-content:flex-end; padding:16px; text-shadow:1px 2px 3px #000; position:relative; z-index:2; font-weight:600; font-size:14px} @media only screen and (min-width:550px){ .speaker{ height:auto} } @media only screen and (max-width:1200px){ .speaker{ margin-bottom:0.5%; }</style> </b> </b> </b> </b></div></section> <a class="arrow" data-jumpto="#spex2024"></a> <section class="s21728 s-extra" id="spex2024"> <div class="row"><div class="col-sm-12"><h2 style="text-align: center; font-size:30pt; color:rgb(2, 3, 2); font-weight:700; text-transform:uppercase;">2024 SPONSORS & EXHIBITORS</h2><p>聽</p></div></div><script> $(window).on('load',function(){$(".attend").liMarquee({direction:'left', loop: -1, scrolldelay: 0, scrollamount: 50, circular:true, runshort: true, hoverstop:false, drag: false});});</script><div class="str_wrap attend"><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_01.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_02.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_03.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_04.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_05.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_06.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_07.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_08.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_09.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_10.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_11.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_12.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_13.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_14.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_15.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_16.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_17.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_18.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_19.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_20.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_21.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_22.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_23.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_24.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_25.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_26.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_27.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_28.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_29.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_30.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_31.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_32.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_33.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_34.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_35.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_36.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_37.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_38.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_39.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_40.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_41.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_42.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_43.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_44.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_45.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_46.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_47.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_48.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_49.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_50.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_51.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_52.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_53.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_54.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_55.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_56.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_57.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_58.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_59.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_60.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_61.png" /><img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/img/spex25_62.png" /></div><style type="text/css">div.attend img { width: auto; display:inline; margin: 0 40px; } div.str_wrap img { max-width:200px !important}</style></section> <a class="arrow" data-jumpto="#prospectus"></a> <section class="s21737 s-extra" id="prospectus"> <div class="row"> <div class="col-md-6"> <br /> <img alt="Saudi Rail Prospectus" class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/africa-rail/Img/2025prospectus.jpg" /> </div> <div class="col-md-6"> <h2 style="color:#020302; font-size:38px;"> <strong> EXHIBIT / SPONSOR AFRICA RAIL 2025 </strong> </h2> <p> 聽 </p> <p style="font-size:18px;">Africa Rail 2025 is the premier event in the region, and with major investments being made across the continent, it offers an excellent opportunity for the African rail industry to come together and engage in discussions about the long-term strategic vision of transport infrastructure stakeholders. </p> <p> 聽 </p> <div class="row"> <div class="col-md-8"> <p> <a class="btn btn-lg btn-yellow-main center-block hvr-glow" href="https://www.terrapinn.com/template/live/go/10909/22798"> DOWNLOAD PROSPECTUS </a> </p> </div> </div> </div></div></section> <a class="arrow" data-jumpto="#updates"></a> <section class="s21576 s-extra" id="updates"> <div class="row"><div class="col-sm-12"><h2 style="text-align: center;color: #fff; font-size: 38px; font-weight: 700;">Stay up-to date</h2><p style="text-align:center; color: #fff;">Join our mailing list to receive exclusive content and offers.</p><div class="container-iframe-updates"><iframe class="responsive-iframe-updates" frameborder="0" height="100%" scrolling="no" src="https://cloud.tp2.terrapinn.com/email-updates-rev?eid=10909&state=first" width="100%"></iframe></div><p style="text-align:center; color:#fff;">By submitting, you agree to receive email communications from Terrapinn, including upcoming promotions and discounted tickets and news.</p></div></div><style type="text/css">@media (min-width: 835px) { .responsive-iframe-updates { width: 100%; height: 200px; max-width: 1200px; margin: auto; display: table; } } @media (max-width: 834px) { .responsive-iframe-updates, container-iframe-updates { width: 100%; height: 400px; } }</style></section> </div> </div> </section> <div id="SectionBottom"><div style="background-color: #020302; padding:50px 0 !important"> <div class="row"> <div class="col-sm-12"> <h2 style="font-size: 38px; text-align: center; font-weight: 700;color:#FDC300; "> Get Involved at <span style="color:#fff; font-size: 38px; text-align: center; font-weight: 700;"> Africa Rail 2025 </span> <br /> </h2> </div> </div> <div class="row"> <div class="col-sm-6 col-md-3"> <p> </p> <h4 style="text-align: center; "> <span style="color: #FDC300;"> <strong> CONNECT WITH US </strong> </span> </h4> <div class="row"> <div class="col-xs-6"> <a href="https://www.facebook.com/AfricaRail" target="_blank"> <img alt="" class="img-responsive img-center" src="https://terrapinn-cdn.com/config/img/icons/facebook.png" style="max-width:68px;" /> </a> </div> <div class="col-xs-6"> <a href="https://www.linkedin.com/company/africa-rail" target="_blank"> <img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/config/img/icons/linkedin.png" style="max-width:68px;" /> </a> </div> </div> <p> </p> <p> <a class="btn btn-yellow-main btn-lg hvr-float-shadow" href="https://secure.terrapinn.com/V5/step1.aspx?E=10909"> FREE TICKETS </a> </p> </div> <div class="col-sm-6 col-md-3"> <p> </p> <h4 style="text-align: center; "> <span style="color: #FDC300;"> <strong> TO EXHIBIT OR SPONSOR </strong> </span> </h4> <h4 style="text-align: center; line-height: 1.5;"> <span style="color: rgb(255, 255, 255);"> <br /> Sean Hartley <br /> <a href="mailto:sean.hartley@terrapinn.com" style="color: #fff"> sean.hartley@terrapinn.com </a> </span> </h4> </div> <div class="col-sm-6 col-md-3"> <p style="text-align: center;"> </p> <h4 style="text-align: center; "> <span style="color: #FDC300;"> <strong> TO SPEAK </strong> </span> </h4> <h4 style="text-align: center; line-height: 1.5;"> <span style="color: rgb(255, 255, 255);"> <br /> Geraldine Lopez <br /> <a href="mailto:geraldine.lopez@terrapinn.com" style="color: #fff"> geraldine.lopez@terrapinn.com </a> </span> </h4> </div> <div class="col-sm-6 col-md-3"> <p> </p> <h4 style="text-align: center; text-transform:uppercase; "> <span style="color: #FDC300;"> <strong> Marketing & Press </strong> </span> </h4> <h4 style="text-align: center; line-height: 1.5;"> <span style="color: rgb(255, 255, 255);"> <br /> Bryony Whitehead <a href="mailto:paddy.mcgettigan@terrapinn.com?subject=Africa%20Rail%20Enquiry" style="color: #fff"> bryony.whitehead@terrapinn.com </a> </span> </h4> </div> </div> </div></div> <section class="footer" id="footerBottom"> <div class="row"><div class="col-xs-12"> </div></div> <div class="row"> <div class="col-xs-12 col-sm-4"><h4 class="pull-left">Created by</h4><div class="clearfix"></div><a href="https://www.terrapinn.com" target="_blank" title="Terrapinn Middle East Fz Llc" rel="nofollow"><img alt="created by Terrapinn Middle East Fz Llc" src="https://www.terrapinn-cdn.com/img/logo-open.png" title="created by Terrapinn Middle East Fz Llc" class="pull-left organiserIdentity" /></a></div> <div class="col-xs-12 col-sm-8" id="TerrapinnSustainability"> <a href="https://weareisla.co.uk/" target="_blank" title="isla is a non-profit organisation founded by event professionals and industry leaders focusing on a sustainable future for events."> <img style="float:left;margin-right:25px;" alt="isla" src="https://terrapinn-cdn.com/img/isla-member.png" /> </a> <p style="margin-top:10px;"> Terrapinn is proud to be a member of isla. <br />Working together to build sustainable events </p> <!-- [NETWORKING_PARTNER] --> </div> </div> <div class="row"> <div class="col-sm-push-1 col-sm-10"> <nav class="navbar navbar-default" role="navigation"> <ul class="nav navbar-nav"> <li class="ft_Conduct"><a href="https://www.terrapinn.com/good-conduct-policy" title="Terrapinn's good conduct policy" rel="nofollow">good conduct policy</a></li> <li class="ft_Slavery"><a href="https://www.terrapinn.com/anti-slavery-policy" title="Terrapinn's anti-slavery policy">anti-slavery policy</a></li> <li class="ft_Money"><a href="https://www.terrapinn.com/anti-money-laundering-and-financial-crime-policy" title="Terrapinn's anti-money laundering & financial crime policy">anti-money laundering & financial crime policy</a></li> <div style="clear:both;font-size:0pt;"><br/></div> <li class="ft_ExhibitionRules"><a href="https://www.terrapinn.com/exhibition-terms" title="exhibition rules for sponsors and exhibitors">exhibition rules</a></li> <li class="ft_Diversity"><a href="https://www.terrapinn.com/diversity-inclusion" title="Terrapinn's diversity-inclusion">diversity & inclusion policy</a></li> <li class="ft_Sustainability"><a href="https://www.terrapinn.com/data/Terrapinn-Sustainability-Policy-EXTERNAL.pdf" title="Terrapinn's sustainability policy">sustainability policy</a></li> <li class="ft_Sanctions"><a href="https://www.terrapinn.com/sanctions-policy" title="Terrapinn's sanctions policy">sanctions policy</a></li> <div style="clear:both;font-size:0pt;"><br/></div> <li class="ft_Copyright"><a href="https://www.terrapinn.com/copyright" title="copyright" rel="nofollow">© Terrapinn Holdings Ltd. MMXXIV</a></li> <li class="ft_Privacy"><a href="https://www.terrapinn.com/Legal.aspx?L=P" rel="nofollow" target="_blank" title="our take on your privacy" rel="nofollow">privacy</a></li> <li class="ft_Conditions"><a href="https://www.terrapinn.com/Legal.aspx?L=T" rel="nofollow" target="_blank" title="general terms & conditions" rel="nofollow">general t&c's</a></li> <li class="ft_Contact"><a href="contact-us.stm" title="contact us" rel="nofollow">contact</a></li> <!-- <li class="ft_Subscription"><a href="https://www.terrapinn.com/media-preferences" title="manage your subscription preferences" rel="nofollow">subscription preferences</a></li> --> <li class="ft_Brochure"><a href="https://www.terrapinn.com/template/live/go.aspx?e=10909" rel="nofollow">brochure</a></li> </ul> </nav> </div> </div> </section> </div> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.13.1/jquery-ui.min.js"></script><script type="text/javascript">if (!window.jQuery.ui) { var oHead = document.getElementsByTagName("head")[0]; var oLink = document.createElement("link");oLink.type = "text/css";oLink.rel = "stylesheet";oLink.href = "https://www.terrapinn-cdn.com/config/inc/jquery-ui.css";oHead.insertBefore(oLink,document.getElementsByTagName("link")[0]); document.write('<script type="text/javascript" src="https://www.terrapinn-cdn.com/config/inc/jquery-ui.min.js"><\/script>') } </script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.1/js/bootstrap.min.js"></script> <script type="text/javascript"> if(!$.fn.modal) { var oHead = document.getElementsByTagName("head")[0]; var oLink = document.createElement("link"); oLink.type = "text/css";oLink.rel = "stylesheet";oLink.href = "https://www.terrapinn-cdn.com/config/bootstrap/css/bootstrap.min.css";oHead.insertBefore(oLink,document.getElementsByTagName("link")[0]); oLink = document.createElement("link");oLink.type = "text/css";oLink.rel = "stylesheet";oLink.href = "https://www.terrapinn-cdn.com/config/inc/font-awesome.min.css";oHead.insertBefore(oLink,document.getElementsByTagName("link")[0]); document.write('<script src="https://www.terrapinn-cdn.com/config/bootstrap/js/bootstrap.min.js"><\/script>'); } </script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script defer="defer" type="text/javascript" src="https://www.terrapinn-cdn.com/config/bootstrap/js/viewport-units-buggyfill.js"></script> <script defer="defer" type="text/javascript" src="https://www.terrapinn-cdn.com/config/bootstrap/js/countdown.js"></script> <script defer="defer" type="text/javascript" src="https://www.terrapinn-cdn.com/config/bootstrap/js/wow.js"></script> <script defer="defer" type="text/javascript" src="https://www.terrapinn-cdn.com/config/inc/JS_Slider/jquery.flexslider-min.js"></script> <!--[if (lt IE 9) & (!IEMobile)]> <script src="/config/inc/responsive/js/selectivizr-min.js"></script> <![endif]--> <script type="text/javascript"> var intWidth, SMALL_WINDOW = 767, intSliderHeight, intOriginalHeight; var objDistance, myDistance, intWindowWidth, intLogoHeight, flgFixed = 0; var oWow, urlParams = {}; var SliderPresent = 0; var oCal; var $body = $('body'), $navtop = $('#MainNavigation'), offset = $('#FixSocialBar').outerHeight() + $('#MainMenu').outerHeight() ; function SortSliderHeight() { var resizeTimer2; clearTimeout(resizeTimer2); resizeTimer2 = setTimeout(fixSpy, 500); intSliderHeight = $(window).height() - ($('#MainNav').outerHeight() + 2); intOriginalHeight = intSliderHeight; //alert("intSliderHeight: " + intSliderHeight + "\n\n$('div.SliderImg').height(): " + $('div.SliderImg').height()); //alert("$('div.SliderImg').height(): " + $('div.SliderImg').height()); if (intSliderHeight < $('div.SliderImg').height()) { //alert("need to shrink slider back up..."); } else if ($('div.SliderImg').height() < 500) { //check if slider too small...push down if image height less than 400?... //alert("expand it"); var intLargerHeight = $('div.SliderImg').height() + $('div.Slider-Caption').height(); if (intLargerHeight > intSliderHeight) { //alert("too big..."); } else { intSliderHeight = intLargerHeight; } } if (intOriginalHeight!=intSliderHeight) { //change size.. //intSliderHeight = $('div.SliderImg').height(); //alert("Slider-Caption: " + $('div.Slider-Caption').height()); //alert("new height: " + intSliderHeight ); if ($('div.Slider-Caption').height() > intSliderHeight) { //alert("pulling up too far.."); intSliderHeight = $('div.Slider-Caption').height(); } //if smaller window add the mobile header to the slider height.. if (intWindowWidth < SMALL_WINDOW) { //intSliderHeight+=80; } //alert("original height: " + intOriginalHeight + '\n new height: ' + intSliderHeight); $('#MainSlider ul.flex-direction-nav').css("bottom", (intOriginalHeight - intSliderHeight) + "px"); $('#MainSlider').css("height", intSliderHeight + "px"); $('#MainSlider ul').css("height",intSliderHeight + "px"); $('#MainSlider ul li').css("height",intSliderHeight + "px"); } } function SortSliderHeight2(strClass) { if ((typeof Modernizr != 'undefined') && (Modernizr != undefined)) { if (Modernizr && !Modernizr.cssvwunit) { var intSliderHeight = $(window).height() - ($('#MainNav').outerHeight() + 2); $("div." + strClass + " ul li div.item").css({"width":"100%","height":intSliderHeight + "px"}); } } } function SlideAnimate(slider, strClass) { var thisSlide; if (typeof slider === "undefined") { thisSlide = $('.' + strClass + '>ul>li.flex-active-slide'); } else { thisSlide = slider.slides.eq(slider.currentSlide); } $.each($(thisSlide).find('.wow2'), function() { $(this).addClass($(this).attr('AF') + ' animated'); }); } function SlideAnimationStop(slider) { if (typeof slider === "undefined") { $.each($('.' + strClass + '>ul>li').find('.wow2'), function() { SlideStop($(this)); }); } else { $.each(slider.slides.find('.wow2'), function() { SlideStop($(this)); }); } } function SlideStop(wowItem) { if (typeof wowItem.attr('AF') !== "undefined") { wowItem.addClass(wowItem.attr('AF') + ' animated'); } else { wowItem.addClass('animated'); } strClasses = ''; var arrClasses = wowItem.attr('class').split(' '); // remove all acept: row wow2 for ( var i = 0, l = arrClasses.length; i<l; ++i ) { //alert( arrClasses[i] ); if (arrClasses[i]!='row' && arrClasses[i]!="wow2") { strClasses = strClasses + ' ' + arrClasses[i]; //console.log("removing class: " + arrClasses[i]); wowItem.removeClass(arrClasses[i]); } } //temp store these removed classes to add later (the animations).. wowItem.attr('AF',strClasses); } function SliderHeight(strClass) { SliderPresent = 1; var image = new Image(); $(image).load(function () { var intSliderHeight = $(window).height() - ($('#MainNav').outerHeight() + 2); var intHeight = image.height; //var intRatio = $(window).width() / image.width; //alert("Image: " + intHeight + ' x ' + image.width + '\n Viewing portal: ' + intSliderHeight + ' x ' + $(window).width() + '\n Ratio: ' + intRatio); //if (intRatio>1) { intHeight = image.height * ($(window).width() / image.width); } if (intHeight > intSliderHeight) { intHeight = intSliderHeight; } $('head').append('<style>.' + strClass + ' ul li div.item { height:' + intHeight + 'px; }<\/style>'); }); image.onerror = function () { //$('head').append('<style>.' + strClass + ' ul li div.item { height:' + 200 + 'px; }<\/style>'); //fall back to old method SortSliderHeight2(strClass); } image.src = $('.' + strClass + ' ul li div.item').css("background-image").match(/^url\("?(.+?)"?\)$/)[1]; } // function to do the tweaking function fixSpy() { // grab a copy the scrollspy data for the element //alert("fixSpy()"); var data = $body.data('bs.scrollspy'); // if there is data, lets fiddle with the offset value if (data) { // get the current height of the navbar //offset = $navtop.outerHeight(); offset = $("#MainNav").outerHeight(); //alert("offset: " + offset); // adjust the body's padding top to match //$body.css('padding-top', offset); // change the data's offset option to match data.options.offset = offset // now stick it back in the element $body.data('bs.scrollspy', data); // and finally refresh scrollspy $body.scrollspy('refresh'); } } function InitScrollSpecific() { //if (!$('body.GenericPage').length) { return; } // only proceed if a generic page.. myDistance = $(window).scrollTop(); intWindowWidth = $( window ).width(); //alert("InitScrollSpecific()"); if (flgFixed!=1 && myDistance >= objDistance) { // FIX IT! flgFixed = 1; //code fixes window as you scroll down...then unfixes back up.. if (intWindowWidth > SMALL_WINDOW) { //alert("fixing.."); $('body #MainNav').addClass('navbar-fixed-top'); $('body #FixSocialBar').removeClass('navbar-fixed-top'); $('body #NonMobileSection').css("display","none"); $('body').css("padding-top", (intLogoHeight) + 24 + "px"); // 92 (padding of body when section removed) //82 $('body #TopMenu').css("padding-top", "0px"); $('body #MainMenu ul').css("margin-left","15px"); $('body #VenueAndDates').css("display","none"); } } else if (flgFixed==1 && myDistance < (objDistance)) { // UNFIX IT! flgFixed = 0; if (intWindowWidth > SMALL_WINDOW) { //alert("unfixing.."); $('body #MainNav').removeClass('navbar-fixed-top'); $('body #FixSocialBar').addClass('navbar-fixed-top'); $('body #NonMobileSection').css("display","block"); $('body').css("padding-top","0px"); //$('body #TopMenu').css("padding-top", "40px"); $('body #MainNav #MainMenu ul').css("margin-left","0px"); $('body #VenueAndDates').css("display","block"); } } } function countdown() { var count = $('#countdown'); if ($.fn.countdown && count.length) { count.countdown(count.data("date"), function (event) { var $this = $(this); switch (event.type) { case "seconds": case "minutes": case "hours": case "days": case "weeks": case "daysLeft": $this.find('p#' + event.type).html(event.value); break; case "finished": $this.hide(); break; } }); } } function InitWindow() { //alert("init"); //test bootstrap... if ($('#bootstrapCssTest').is(':visible') === true) { //alert("manual load..."); $('<link href="/config/bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css" />').appendTo('head'); } // ensure BIO has no dodgy HTML in it //$('div#SpeakerBio div#AF_SpeakerBio').html($('div#SpeakerBio div#AF_SpeakerBio').text()); //intLogoHeight = $(".navbar-brand img").height(); intLogoHeight = $("#TopMenu #NonMobileSection").height(); objDistance = $("#MainNav").height() + $("#MainMenu").height() - 56; //114 (height of menu from top adjuster) /// 94 CheckContentWidths(); $(window).scroll(function () { InitScrollSpecific(); }); InitScrollSpecific(); // fix body padding (in case navbar size is different than the padding) //$body.css('padding-top', offset); // Enable scrollSpy with correct offset based on height of navbar $body.scrollspy({target: '.navbar-side', offset: offset }); // Now monitor the resize events and make the tweaks var resizeTimer; $(window).resize(function() { clearTimeout(resizeTimer); resizeTimer = setTimeout(fixSpy, 50); }); intSliderHeight = $(window).height() - ($('#MainNav').outerHeight() + 2); intOriginalHeight = intSliderHeight; if ($('#SpkRotator').length) { $('#SpkRotator').flexslider({ animation: "slide", initDelay: 2000, slideshowSpeed: 3500, animationSpeed: 600, easing: "jswing", animationLoop: true, itemWidth: 200, itemMargin: 35, minItems: 1, //maxItems: 8, pauseOnHover: true, controlNav: true, move: 2 //, start: function(slider){ } }); } if ($('#SpnMid').length) { $('#SpnMid').flexslider({ animation: "slide", initDelay: 2000, slideshowSpeed: 3500, easing: "jswing", animationSpeed: 600, animationLoop: true, itemWidth: 220, itemMargin: 15, minItems: 1, //maxItems: 15, pauseOnHover: true, controlNav: true, move: 2 //, start: function(slider){ alert("starting.."); } }); } if (!$(".navbar-toggle").is(":visible")) { $(function() { $(".dropdown").hover(function(){ $(this).addClass('open') }, function(){ $(this).removeClass('open') } ); }); } // check thumbnails... //console.log("check thumbnails...2"); var oImageCheck = setTimeout(CheckImagesLoaded, 1250); } function CheckImagesLoaded() { //console.log("CheckImagesLoaded()"); $('.tmpl_ContactImage').error(function() { console.log("image error found."); $('.tmpl_ContactImage').attr('src','/config/img/icons/noprofile.png'); }); } function DocReady() { //alert("doc ready"); if ($('#Photos').length) { GetPhotos(10,false); } if ($('#Videos').length) { GetVideos(8,false); } $('a.YouTubeVideo').each(function(index) { $(this).html('<iframe height="155" width="310" src="' + $(this).attr("href") + '?&rel=0&modestbranding=1&hd=1&controls=1&frameborder=0&wmode=transparent&autoplay=0" frameborder="0" allowfullscreen="allowfullscreen"></iframe>'); }); //$("a.PlayYouTubeVideo").click(ShowVideo($(this))); pageScroller(); close_toggle(); TidyInternetExplorer(); //hoverOpacity(); } $(document).delegate('*[data-toggle="lightbox"]', 'click', function(event) { event.preventDefault(); $(this).ekkoLightbox(); }); $(window).resize(function () { //alert("resize"); InitWindow(); }); $(window).load(function(){ //alert("(window).load"); CheckUrlSsl(); CheckMyAccount(); // 15/09/2023 to put login button on 2024+ events if ($('#countdown').length) { countdown(); } try { // hide cookie preferences... setTimeout(function(){ $("div.custom-persistent-icon").fadeOut(250) }, 6250); // if ((typeof window.viewportUnitsBuggyfill != 'undefined') && (window.viewportUnitsBuggyfill != undefined)) { window.viewportUnitsBuggyfill.init(); } if (intWidth>767) { oWow = new WOW( { boxClass: 'wow', // animated element css class (default is wow) animateClass: 'animated', // animation css class (default is animated) offset: 10, // distance to the element when triggering the animation (default is 0) mobile: false, // trigger animations on mobile devices (default is true) live: true, // act on asynchronously loaded content (default is true) }); oWow.init(); } else { //reset animation.. $('.wow').css("opacity","1"); $('.wow2').css("opacity","1"); } //# URL params... (function () { var e, a = /\+/g, // Regex for replacing addition symbol with a space r = /([^&=]+)=?([^&]*)/g, d = function (s) { return decodeURIComponent(s.replace(a, " ")); }, q = document.referrer.substring(1); //q = window.location.search.substring(1); while (e = r.exec(q)) urlParams[d(e[1])] = d(e[2]); })(); if ($('#webticker').length) { $('#webticker').css("display", "block"); // reveal ticker on load.. $('#webticker').webTicker({ speed: 50, //pixels per second direction: "left", //if to move left or right moving: true, //weather to start the ticker in a moving or static position startEmpty: false, //weather to start with an empty or full ticker duplicate: true, //if there is less items then visible on the ticker you can duplicate the items to make it continuous rssfrequency: 0, //the frequency of updates in minutes. 0 means do not refresh updatetype: "reset", //how the update would occur options are "reset" or "swap" hoverpause: true //pause the ticker when hovered }); } } catch(err) { } //alert("resize"); //$(window).trigger('resize'); }); $(document).ready(function () { //alert("doc ready"); InitWindow(); DocReady(); RunParallax(); CheckSearchTerms(); ListSearch(); CheckAgendaTimezone(); }) function CheckSearchTerms() { // check if sending search parameters.. var strQ = ""; if ("q" in urlParams) { strQ = urlParams["q"]; } else if ("prev" in urlParams) { strQ = "" } if (strQ != "") { $.ajax({ type: "POST", url: strServicePath + "AddSearchTerm", data: "{Token:'" + strEventHash + "',SearchString:'" + strQ + "',EventID:'" + strEventID + "'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { Debug("webservice response: " + msg.d); }, failure: function() { Debug("webservice search term call failed."); } }); } } function CheckUrlSsl() { var strUsesSSL = ($('meta[name=Terrapinn-SSL]').length > 0) ? $('meta[name=Terrapinn-SSL]').attr("content") : '0'; var strProtocol = document.location.protocol; //console.log('CheckUrlSsl(): ' + strUsesSSL); //console.log('SSL? ' + strProtocol); if (strUsesSSL == '1' && strProtocol == 'http:') { try { oScript.onload = function () { LE.init('41584e36-5452-40cb-931e-3227e7150b80'); var strData = "Non SSL: " + window.location.href; LE.log(strData); }; oScript.src = "https://secure.terrapinn.com/config/inc/le.min.js"; document.head.appendChild(oScript); } catch(err) { console.log('LE error: ' + err.message); } console.log('need SSL redirect'); console.log(window.location.href.replace('http://','https://')); window.location = window.location.href.replace('http://','https://'); } } // sort height of mainslider -#### no longer used? function MainMenu() { //alert("MainMenu()"); if ($('#MainSlider').length) { intWindowWidth = $( window ).width(); $('#MainSlider').css("height", intSliderHeight + "px"); $('#MainSlider ul').css("height",intSliderHeight + "px"); $('#MainSlider ul li').css("height",intSliderHeight + "px"); $('#MainSlider').flexslider({ animation: "fade", animationLoop: true, itemWidth: 1200, initDelay: 2000, slideshowSpeed: 3500, animationSpeed: 600, pauseOnHover: false, directionNav: true, controlNav: true //controlsContainer: ".Slider-Nav", ,//start: function(slider){ SortSliderHeight() } }); SortSliderHeight() } } function RunParallax() { // cache the window object $window = $(window); $('section[data-type="background"]').each(function(){ // declare the variable to affect the defined data-type var $scroll = $(this); $(window).scroll(function() { // HTML5 proves useful for helping with creating JS functions! // also, negative value because we're scrolling upwards //var yPos = -($window.scrollTop() / $scroll.data('speed')); //alert($scroll.height()); var yPos = -(($window.scrollTop() - $scroll.offset().top) / $scroll.data('speed')); yPos += -234; //yPos += $scroll.data('offset'); //alert("$scroll.height(): " + $scroll.height()); var coords = '50% '+ yPos + 'px'; // move the background $scroll.css({ backgroundPosition: coords }); }); // end window scroll }); // end section function } function TidyInternetExplorer() { //alert("navigator.userAgent: " + navigator.userAgent); if (navigator.userAgent.match(/Windows NT 6.2; ARM(.+)Touch/)) { var msViewportStyle = document.createElement("style"); msViewportStyle.appendChild( document.createTextNode( "@-ms-viewport{width:device-width}" ) ); document.getElementsByTagName("head")[0]. appendChild(msViewportStyle); } } function pageScroller(){ $("a[data-jumpto]").on("click",function(a){ a.preventDefault(); jumpTo($(this).data("jumpto")) }) } function jumpTo(a){ var pos = $('#MainMenu').outerHeight(); //alert("pos: " + pos); //alert($(a).offset().top); $("html, body").animate({scrollTop:$(a).offset().top - pos},1000); } function hoverOpacity() { $('#MainNav').mouseover(function() { $(this).css({ opacity: 1 }); }); $('#MainNav').mouseout(function() { $(this).css({ opacity: 0.30 }); }); } function CheckContentWidths() { //alert("CheckContentWidths()"); intWidth = $( window ).width(); var intHeaderHeight = $('#MainNav').outerHeight(); if ($("#webtickerHolder").length) { intHeaderHeight = intHeaderHeight + $('#webtickerHolder').outerHeight(); } //alert(intHeaderHeight); //alert("intWidth: " + intWidth); if (intWidth <= SMALL_WINDOW) { //alert("small"); $('#MainNav').addClass('navbar-fixed-top'); //$('#FixSocialBar').removeClass('navbar-fixed-top'); } else { //alert("large"); //$('#FixSocialBar').addClass('navbar-fixed-top'); $('#MainNav').removeClass('navbar-fixed-top'); } // smaller devices, check menu not overlaying... if (SliderPresent==1 && intWidth < 1000 && intWidth >767) { //$("body.HomePage section ").first().css("padding-top", intHeaderHeight + "px"); //$("body.HomePage section section").first().css("margin-top", 30 + "px"); } else if (SliderPresent==1 && intWidth <= 767) { //$("body.HomePage section ").first().css("padding-top", intHeaderHeight + "px"); //$("body.HomePage section section").first().css("margin-top", 10 + "px"); } } function close_toggle() { //alert("$(window).width(): " + $(window).width()); //alert("$(document).width(): " + $(document).width()); if ($(window).width() <= SMALL_WINDOW) { $('#MainMenu .nav a').on('click', function(){ if (!$(this).hasClass("dropdown-toggle")) { $(".navbar-toggle").click(); } }); } else { $('#MainMenu .nav a').off('click'); } } function ListSearch() { if ($('#AttendeeList').length) { var oListOptions = { valueNames: ['Company','Country','Jobtitle'], page:20, plugins: [ListPagination({})] }; var oList = new List('AttendeeList', oListOptions); } } function PrepareCalendar() { var strTitle, strBody, strLocation, strStart, strEnd; strTitle = $('div.StructuredEvent span.Summary').text(); strLocation = $('div.StructuredEvent span.Location').text(); strBody = $('div.StructuredEvent span.Summary').text() + ' - ' + $('a.navbar-brand').attr('title'); strStart = $('div.StructuredEvent span.dtstart').attr('data-start-utc'); strEnd = $('div.StructuredEvent span.dtstart').attr('data-end-utc'); } function ShowVideo(oA) { //alert("ShowVideo()"); var box = $("<div></div>").addClass("darkCover").html('<div class="CloseVideo"><a href="#"><img src="/img/icons/close.png" alt="close video" /></a></div>').click(function () { $(this).fadeOut(); content.fadeOut(); content.html("<div></div>"); return false; }); $("body").prepend(box); box.fadeTo(900, 0.6); var content = $("<div></div>").addClass("darkContent").html('<iframe height="390" width="640" src="' + $(oA).attr("href") + '?&rel=0&modestbranding=1&hd=1&controls=1&frameborder=0&wmode=transparent&autoplay=1" frameborder="0" allowfullscreen="allowfullscreen"></iframe>'); $("body").prepend(content); content.fadeTo("fast", 1); return false; } var strKeyHeader = "Terrapinn-"; function GetData(strKey, intTtl ) { var oEntry = JSON.parse(localStorage.getItem(strKey)||"0"); if (oEntry != "0") { if (oEntry.Ttl && ((parseInt(oEntry.Ttl) + parseInt(oEntry.Now)) < new Date().getTime())) { //cache expired..... } else { return oEntry.Value; } } else { //console.log("GetData(), key NOT found, returning... "); } } function SetData(strKey, oValue, intTtl ) { var oEntry = { Value : oValue, Ttl : intTtl, Now : new Date().getTime() }; var strData = JSON.stringify(oEntry); localStorage.setItem(strKey, strData); } function hashCode(str){ var hash = 0; if (str.length == 0) return hash; for (i = 0; i < str.length; i++) { char = str.charCodeAt(i); hash = ((hash<<5)-hash)+char; hash = hash & hash; // Convert to 32bit integer } return strKeyHeader + hash; } function PurgeOldCache() { let keys = Object.keys(localStorage); for(let strKey of keys) { if (strKey.startsWith(strKeyHeader)) { // read it...and check... var oEntry = JSON.parse(localStorage.getItem(strKey)||"0"); if (oEntry != "0") { if (flgPurgeCache || (oEntry.Ttl && ((parseInt(oEntry.Ttl) + parseInt(oEntry.Now)) < new Date().getTime()))) { //console.log("PurgeOldCache(), data EXPIRED, purging... "); localStorage.removeItem(strKey); } else { //console.log("PurgeOldCache(), cache NOT expired... " + oEntry.Value.length); } } } } } jQuery.browser = {}; (function () { jQuery.browser.msie = false; jQuery.browser.version = 0; if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) { jQuery.browser.msie = true; jQuery.browser.version = RegExp.$1; } })(); function ShowFeed(arrItems, intMaxArticles, strType, flgShowLead, flgShowImage, strColorOverride) { var html = ''; var arrImgs; var intMaxLength = 180; var intMaxTitleLength = 100; var i = 0; var strTitle = arrItems.title; var strDescription = arrItems.description; var strLink = arrItems.link; var strPrecis = ''; var strItemTitle = ''; //console.log('ShowFeed: ' + strType); //console.dir(arrItems); if (strType=='LIST') { //html += '<div class="row BlogTitle"><div class="col-md-12"><h1><a href="' + strLink + '">' + arrItems.title + '</a></h1><h2>' + strDescription + '</h2></div></div>'; html += '<div class="row">'; } else if (strType=='ROTATOR') { html+= '<div class="flex-container"><div id="BlogRotator" class="flexslider"><ul class="slides">' } //console.log('ShowFeed: arrItems.items.length: ' + arrItems.items.length); for(i; i < arrItems.items.length && i < intMaxArticles; i++) { try { var item = arrItems.items[i]; strItemTitle = item.title; if (strItemTitle.length > intMaxTitleLength) { strItemTitle = strItemTitle.substring(0,intMaxTitleLength) + '..'; } //description might be html? try { strPrecis = $(item.description).text(); } catch(err) { strPrecis = item.description; } if (strPrecis.length > intMaxLength) { strPrecis = strPrecis.substring(0,intMaxLength) + '..'; } arrImages = {}; try { if (flgShowImage) { arrImages = $('<div>' + item.description + '</div>').find('img'); } } catch (ex) { } if (strType=='LIST') { if (i!=0) { if ((i) % 2 == 0) { html += '<div class="clearfix visible-sm"> </div>'; } if ((i) % 3 == 0) { html += '<div class="clearfix visible-md"> </div>'; } if ((i) % 4 == 0) { html += '<div class="clearfix visible-lg"> </div>'; } } html += '<div class="col-sm-6 col-md-4 col-lg-3"><div class="BlogContentHolder">'; if (arrImages.length>0) { html += '<div class="BlogContent" style="background:url(\'' + arrImages[0].src + '\');background-repeat: no-repeat;background-size: cover;">' + '<h3><a href="' + item.link + '" target="_blog" title="' + strPrecis + '">'+ strItemTitle + '</a></h3>' + '</div>'; } else { html += '<div class="BlogContent" style="">' + '<h3><a href="' + item.link + '" target="_blog" title="' + strPrecis + '">'+ strItemTitle + '</a></h3>' + '</div>'; } if (flgShowLead) { html += '<div class="BlogPrecis"><p>' + strPrecis + ' <a href="' + item.link + '" target="_blog" title="' + strItemTitle + '">continues</a> »</p></div>'; } html += '</div></div>'; } else if (strType=='ROTATOR') { if (arrImages.length>0) { html += '<li>'; html += '<div class="BlogContent" style="background:url(\'' + arrImages[0].src + '\');background-repeat: no-repeat;background-size: cover;">' + '<h3><a href="' + item.link + '" title="' + strPrecis + '" target="_blog">'+ strItemTitle + '</a></h3>' + '</div>'; if (flgShowLead) { html += '<div class="BlogPrecis"><p>' + strPrecis + ' <a href="' + item.link + '" target="_blog" title="' + strItemTitle + '">continues</a> »</p></div>'; } html+= '</li>'; } else { html += '<li>'; html += '<div class="BlogContent">' + '<h3><a href="' + item.link + '" target="_blog" title="' + strPrecis + '">'+ strItemTitle + '</a></h3>' + '</div>'; if (flgShowLead) { html += '<div class="BlogPrecis"><p>' + strPrecis + ' <a href="' + item.link + '" target="_blog" title="' + strItemTitle + '">continues</a> »</p></div>'; } html += '</li>'; } } } catch(err) { showError(err); //console.log(err.message); } } if (strType=='LIST') { html += '</div>'; } else if (strType=='ROTATOR') { html += '</ul></div></div>'; } if (!flgShowImage) { html += '<style>div#BlogContent div.BlogContent { height:auto!important; }</style>'; } if (strColorOverride!='') { html += '<style>div#BlogContent h3 { background:#' + strColorOverride + '!important; } </style>'; } //console.log('html: ' + html); jQuery('div#BlogContent').append(html); if (strType=='ROTATOR') { $('#BlogRotator').flexslider({ animation: "slide", initDelay: 2000, slideshowSpeed: 3500, easing: "jswing", animationSpeed: 600, animationLoop: true, itemWidth: 320, itemMargin: 15, minItems: 1, //maxItems: 15, pauseOnHover: true, controlNav: true, move: 2 //, start: function(slider){ alert("starting.."); } }); } } function GetFeed(strURL, intMaxArticles, flgIsIntro) { var intCacheTime = 3600000; // 1 hour cache var strHashKey = hashCode(String(window.location)); var arrItems = {}; arrItems = GetData(strHashKey,intCacheTime); if (arrItems && arrItems.length > 0) { ShowFeed(arrItems, intMaxArticles, flgIsIntro); } else { jQuery.getFeed({ url: strURL, success: function(feed) { SetData(strHashKey, feed, intCacheTime); ShowFeed(feed, intMaxArticles, flgIsIntro); } }); } } const monthNames = ["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; const monthNamesShort = ["", "Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; var DateTime; var oDate; function CheckAgendaTimezone() { //console.log("CheckAgendaTimezone()"); // testing... //luxon.Settings.now = () => new Date(2020, 6, 8).valueOf(); //luxon.Settings.defaultZoneName = 'America/New_York'; if ( $("div#Agenda").length && $("div#Agenda").hasClass("VirtualEvent") ) { //console.log("dealing with agenda.."); loadExtScript('https://cdn.jsdelivr.net/npm/luxon@1.24.1/build/global/luxon.min.js', function() { return (typeof luxon === 'object'); }, CheckAgendaTimezoneRun); } } function CheckAgendaTimezoneRun() { //console.log("CheckAgendaTimezoneRun()"); // instantiate Luxon... DateTime = luxon.DateTime; var strLocalZone = DateTime.local().zoneName; strLocalZone = strLocalZone.substr(strLocalZone.indexOf('/') + 1, strLocalZone.length - 1); //console.log("Time zone city: " + strLocalZone); //console.log("Event city: " + strEventCity); if (strLocalZone == strEventCity) { return; } // testing... //console.log("local time: " + DateTime.local().toLocaleString(DateTime.TIME_24_SIMPLE)); //console.log("local timezone (browser): " + Intl.DateTimeFormat().resolvedOptions().timeZone) //console.log("local timezone: " + DateTime.local().zoneName); var oTimezone = $('<div id="TimeZoneChanger"><h3>Time zone</h3></div>'); var oHtml = $('<div class="onoffswitch"></div>'); var oBtn = $('<input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" tabindex="0" />'); var oLabel = $('<label class="onoffswitch-label" for="myonoffswitch"><span class="onoffswitch-inner" data-before="Local" data-after="Event"></span><span class="onoffswitch-switch"></span></label>'); $(oHtml).append($(oBtn)); $(oHtml).append($(oLabel)); $(oTimezone).append($(oHtml)); // filter version... $('div.AgendaHeader>div').append($(oTimezone)); // older version... $('div#Agenda').prepend($(oTimezone)); //var strLocalZone = DateTime.local().zoneName; //strLocalZone = strLocalZone.substr(strLocalZone.indexOf('/') + 1, strLocalZone.length - 1); $("span.onoffswitch-inner").attr('data-before', strLocalZone); $("span.onoffswitch-inner").attr('data-after', strEventCity); $("#myonoffswitch").change(function () { if ($("#myonoffswitch").is(":checked")) { DoTimezone(); } else { DoTimezoneLocal(); } }); } function DoTimezone() { //console.log("DoTimezone()"); $("div.Time").each(function () { oDate = DateTime.fromISO($(this).attr('data')); $(this).html('<span class="TimeDate">' + monthNamesShort[oDate.month] + ' ' + oDate.day + '</span>' + oDate.toLocaleString(DateTime.TIME_24_SIMPLE)); }); $("div.session>span").each(function () { oDate = DateTime.fromISO($(this).attr('data')); $(this).html('<span class="TimeDate">' + monthNamesShort[oDate.month] + ' ' + oDate.day + '</span>' + oDate.toLocaleString(DateTime.TIME_24_SIMPLE)); }); } function DoTimezoneLocal() { //console.log("DoTimezoneLocal()"); $("div.Time").each(function () { if (strEventZone == 'UTC0') { oDate = DateTime.fromISO($(this).attr('data'), { zone: 'UTC+0' }); } else { oDate = DateTime.fromISO($(this).attr('data'), { zone: strEventZone }); } //oDate = DateTime.fromISO($(this).attr('data'), { zone: strEventZone }); $(this).html('<span class="TimeDate">' + monthNamesShort[oDate.month] + ' ' + oDate.day + '</span>' + oDate.toLocaleString(DateTime.TIME_24_SIMPLE)); }); $("div.session>span").each(function () { if (strEventZone == 'UTC0') { oDate = DateTime.fromISO($(this).attr('data'), { zone: 'UTC+0' }); } else { oDate = DateTime.fromISO($(this).attr('data'), { zone: strEventZone }); } //oDate = DateTime.fromISO($(this).attr('data'), { zone: strEventZone }); $(this).html('<span class="TimeDate">' + monthNamesShort[oDate.month] + ' ' + oDate.day + '</span>' + oDate.toLocaleString(DateTime.TIME_24_SIMPLE)); }); } function loadExtScript(src, test, callback) { var s = document.createElement('script'); s.src = src; document.body.appendChild(s); var callbackTimer = setInterval(function() { var call = false; try { call = test.call(); } catch (e) {} if (call) { clearInterval(callbackTimer); callback.call(); } }, 100); } </script> <!-- youtube / flickr --> <script type="text/javascript"> /* <![CDATA[ */ // load photos from Flickr -either to gallery or rotator... function GetPhotos(intCount, flgGallery) { if (typeof strPhotos === 'undefined') { return; } intCount = (typeof intCount === "undefined") ? 500 : intCount; flgGallery = (typeof flgGallery === "undefined") ? true : flgGallery; $.ajax({ url: 'https://api.flickr.com/services/rest/', data: { format: 'json', method: 'flickr.photosets.getPhotos', api_key: 'b3a6ea9e962408fb6a57e1266989eba2', photoset_id: strPhotos, per_page: intCount, page: 1 }, dataType: 'jsonp', jsonp: 'jsoncallback' }).done(function (result) { var baseUrl; var linksContainer; if (flgGallery) { linksContainer = $('#links') } else { linksContainer = $('#Photos .slides') } $.each(result.photoset.photo, function (index, photo) { baseUrl = 'https://farm' + photo.farm + '.static.flickr.com/' + photo.server + '/' + photo.id + '_' + photo.secret; if (flgGallery) { $('<a/>').append($('<img></img>').prop("src", baseUrl + "_s.jpg")) .prop('href', baseUrl + '_b.jpg') .prop('title', photo.title) .attr('data-gallery', '') .appendTo(linksContainer); } else { //show in rotator.. $('<li/>').append($('<a href="' + baseUrl + '_b.jpg" title="' + photo.title + '" data-toggle="lightbox" data-title="' + photo.title + '"><img src="' + baseUrl + "_m.jpg" + '" alt="' + photo.title + '" /></a>')).appendTo(linksContainer); } }); if (flgGallery) { var links = document.getElementById('links').getElementsByTagName('a'), options = { startSlideshow: true, slideshowInterval: 1800, transitionSpeed: 600, carousel: false, closeOnEscape: true, }, gallery = blueimp.Gallery(links, options); } else { // init slider for photos... $('#Photos').flexslider({ animation: "slide", animationSpeed: 600, slideshow: false, itemWidth: 250, minItems: 1, maxItems: 8, controlNav: false, smoothHeight: false, start: function(slider){ $('body').removeClass('loading'); } }); } }); } function GetVideos(intCount, flgGallery) { var strKey = 'AIzaSyA2lXOFdwO0MoSF3Z0FkKEAlNh0jAtKKrw'; var strBaseURL = 'https://www.googleapis.com/youtube/v3/playlistItems'; var strBaseParams = '?part=contentDetails%2C+snippet&fields=items%2Fsnippet%2Ftitle%2Citems%2Fsnippet%2Fdescription%2Citems%2Fsnippet%2Fthumbnails%2Fmedium%2Furl%2Citems%2FcontentDetails%2FvideoId&key=' + strKey; if (typeof strVideos === 'undefined') { return; } intCount = (typeof intCount === "undefined") ? 50 : intCount; flgGallery = (typeof flgGallery === "undefined") ? true : flgGallery; $.getJSON(strBaseURL + strBaseParams + '&playlistId=' + strVideos + '&maxResults=' + intCount, function(data) { var linksContainer; if (flgGallery) { linksContainer = $('#links') } else { linksContainer = $('#Videos .slides') } for(var i=0; i<data.items.length; i++) { if (flgGallery) { $('<a/>').append($('<img></img>').prop("src", "http://img.youtube.com/vi/" + data.items[i].contentDetails.videoId + "/1.jpg")) .prop('href', 'https://www.youtube.com/watch?v=' + data.items[i].contentDetails.videoId) .prop('title', data.items[i].snippet.title) .prop('type', 'text/html') .attr('data-youtube', data.items[i].contentDetails.videoId) .attr('data-poster', data.items[i].snippet.thumbnails.medium.url) .attr('data-gallery', '') .appendTo(linksContainer); } else { //show in rotator.. $('<li/>').append($('<a class="PlayYouTubeVideo" href="https://www.youtube.com/embed/' + data.items[i].contentDetails.videoId + '" title="' + data.items[i].snippet.title + ' ' + data.items[i].snippet.description + '" onclick="return ShowVideo(this);"><img src="' + data.items[i].snippet.thumbnails.medium.url + '" alt="' + data.items[i].snippet.title + '" /></a>')).appendTo(linksContainer); } } if (flgGallery) { var links = document.getElementById('links').getElementsByTagName('a'), options = { startSlideshow: true, slideshowInterval: 6800, carousel: false, closeOnEscape: true, youTubeVideoIdProperty: 'youtube', youTubePlayerVars: undefined, youTubeClickToPlay: false }, gallery = blueimp.Gallery(links, options); } else { $('#Videos').flexslider({ animation: "slide", animationSpeed: 600, slideshow: false, itemWidth: 250, minItems: 1, maxItems: 8, controlNav: false, start: function(slider){ $('body').removeClass('loading'); } }); } }); } /* ]]> */ </script> <!-- Evt udpates --> <script> var intArchiveMonths = 3; var flgLookupProcessed = false; var submitOnce = 0; var strResponseMsg = ''; var strResponseCS = ''; $(document).ready(function () { if (!$("div#EvtUpdates").length) { return; } $("head").append("<script src=\"https://www.terrapinn-cdn.com/config/inc/le.min.js\" type=\"text/javascript\"></scr" + "ipt>"); $("#btnEvtUpdatesEmail").click(function(){ if (EvtUpdatesValidate()) { EvtUpdatesProcess(); } return false }); debugout($("div.form-inline").width()); strResponseMsg = $("div#EvtUpdates").attr("data-responseMsg"); debugout("strResponseMsg: " + strResponseMsg); strResponseCS = $("div#EvtUpdates").attr("data-responseCS"); debugout("strResponseCS: " + strResponseCS); $("div.form-inline").css("width",$("div.form-inline").width() + 64); $('#elqCustomerGUID').on("ElqLoaded", function( event ) { debugout("EVT, ELQ loaded."); if ($('#txtEvtUpdatesEmail').length) { $('#txtEvtUpdatesEmail').change(function() { //debugout("email changed, calling data lookup based on email: " + $('#txtEvtUpdatesEmail').val()); elqTracker.getData({key: "{64cb133a-2f29-4fba-be03-abfeb3a0cf3a}", lookup: "<C_EmailAddress>" + $('#txtEvtUpdatesEmail').val() + "</C_EmailAddress>", success: function() { EvtUpdatesPopulateForm(false); }}); }); } if ($('#elqCustomerGUID').val() != '') { var guid = $('#elqCustomerGUID').val(); debugout("have guid: " + guid); if ($('#SFDCContactID').length && $('#SFDCContactID').val()=='') { debugout("guid gotten, and SFDCContactID unknown...calling data lookup.."); elqTracker.getData({key: "{466702f1-a0a7-4198-aa3c-6196e5b21656}", lookup: "", success: function() { EvtUpdatesSetElqContent_Cookie($('#elqCustomerGUID').val()); }}); } } elqTracker.getGUID(function(guid) { debugout("[lookup] " + "guid: " + guid); $('#elqCustomerGUID').val(guid); debugout("guid gotten: " + $('#elqCustomerGUID').val() + " calling data lookup.."); if (guid != undefined) { elqTracker.getData({key: "{466702f1-a0a7-4198-aa3c-6196e5b21656}", lookup: "", success: function() { EvtUpdatesSetElqContent_Cookie(guid); }}); } }); }); }); function EvtUpdatesSetElqContent_Cookie(strGUID) { debugout("EvtUpdatesSetElqContent_Cookie('" + strGUID + "')"); if (typeof GetElqContentPersonalizationValue == "function") { //if ($('#V_ElqEmailAddress').length) { $('#V_ElqEmailAddress').val(GetElqContentPersonalizationValue('V_ElqEmailAddress')) } //if ($('#V_ElqLastName').length) { $('#V_ElqLastName').val(GetElqContentPersonalizationValue('V_ElqLastName')) } //if ($('#V_ElqCompanyName').length) { $('#V_ElqCompanyName').val(GetElqContentPersonalizationValue('V_ElqCompanyName')) } if ($('#txtEvtUpdatesEmail').length && $('#txtEvtUpdatesEmail').val()=='') { $('#txtEvtUpdatesEmail').val(GetElqContentPersonalizationValue('V_ElqEmailAddress')) } //var _Title = GetElqContentPersonalizationValue('V_ElqTitle'); //ElqDoUpate('#txtTitle',_Title); //var _Firstname = GetElqContentPersonalizationValue('V_ElqFirstName'); //ElqDoUpate('#txtFirstname',_Firstname); //var _Lastname = GetElqContentPersonalizationValue('V_ElqLastName'); //ElqDoUpate('#txtLastname',_Lastname); //var _Company = GetElqContentPersonalizationValue('V_ElqCompanyName'); //ElqDoUpate('#txtCompany',_Company); //ElqDoUpate('#txtOrganisation',_Company); //var _Email = GetElqContentPersonalizationValue('V_ElqEmailAddress'); //ElqDoUpate('#txtEmail',_Email); //ElqDoUpate('#txtEmailConfirm',_Email); //var _Phone = GetElqContentPersonalizationValue('V_ElqPhoneNumber'); //ElqDoUpate('#txtPhone',_Phone); //ElqDoUpate('#txtTel',_Phone); if ($('#SFDCContactID').val()=='') { debugout("$('#SFDCContactID').val(): " + $('#SFDCContactID').val()); if ($('#txtEvtUpdatesEmail').val() != '') { debugout("calling data lookup based on [EvtUpdatesSetElqContent_Cookie()] : " + $('#txtEvtUpdatesEmail').val()); elqTracker.getData({key: "{64cb133a-2f29-4fba-be03-abfeb3a0cf3a}", lookup: "<C_EmailAddress>" + $('#txtEvtUpdatesEmail').val() + "</C_EmailAddress>", success: function() { EvtUpdatesPopulateForm(true); }}); } } } } function EvtUpdatesPopulateForm(flgIsCookie) { debugout("EvtUpdatesPopulateForm('" + flgIsCookie + "')"); if (typeof GetElqContentPersonalizationValue == "function") { var oHistoryDate = new Date(); oHistoryDate.setMonth(oHistoryDate.getMonth() - intArchiveMonths); var oLastModified; var _LastModified = GetElqContentPersonalizationValue('C_DateModified'); var arrParts = _LastModified.split('/'); if (arrParts.length == 3) { debugout("_LastModified: " + _LastModified + " / " + arrParts[2] + " : " + (arrParts[0]-1) + " : " + arrParts[1]); debugout("oHistoryDate: " + oHistoryDate); oLastModified = new Date(arrParts[2], arrParts[0]-1, arrParts[1]); } if (arrParts.length != 3 || oLastModified > oHistoryDate) { debugout("Elq data valid"); // populate.. if ($('#txtEvtUpdatesFirstname').val() == '') { $('#txtEvtUpdatesFirstname').val(GetElqContentPersonalizationValue('C_FirstName')); } if ($('#txtEvtUpdatesLastname').val() == '') { $('#txtEvtUpdatesLastname').val(GetElqContentPersonalizationValue('C_LastName')); } } else { debugout("Date test failed, not populated"); } //basics.. always update, since a reflection on the email used $('#SFDCContactID').val(GetElqContentPersonalizationValue('SFDCContactID')); $('#SFDCAccountID').val(GetElqContentPersonalizationValue('SFDCAccountID')); debugout("SFDCContactID: " + $('#SFDCContactID').val()); debugout("SFDCAccountID: " + $('#SFDCAccountID').val()); } else { debugout("no ELQ function"); } } function EvtUpdatesValidate() { debugout("EvtUpdatesValidate()"); if (submitOnce == 0) { var oInput; var flgFirstError = true; $("div#EvtUpdates div.form-group").each(function(){ oInput = $(this).find("input"); //debugout(oInput.val()); //debugout("has class? " + oInput.hasClass("inputRequired")); if (oInput.length && oInput.hasClass("inputRequired") && $.trim(oInput.val()) == '') { //error debugout("ERROR. data for input: " + oInput.val()); $(this).removeClass("has-success"); $(this).addClass("has-error"); if (flgFirstError) { oInput.focus(); flgFirstError=false; } } else { $(this).removeClass("has-error"); $(this).addClass("has-success"); } }); } else { flgFirstError = false; } return flgFirstError; } function EvtUpdatesProcess() { debugout("EvtUpdatesProcess()"); var flgOK = true; EvtUpdatesProcessStart(); dataLayer.push({ 'event': 'goalVPV', 'VPV': '/evtUpdates/' }); submitOnce = 1; //var strServicePath = "/template/live/events.asmx/"; var strServicePath = "/template/live/events.asmx/"; //var strData = "{'EID':'" + strEventID + "','Email':'" + $("#txtEvtUpdatesEmail").val() + "','Firstname':'" + $("#txtEvtUpdatesFirstname").val() + "','Lastname':'" + $("#txtEvtUpdatesLastname").val() + "'}"; var strFirstname = ($("#txtEvtUpdatesFirstname").length > 0) ? $("#txtEvtUpdatesFirstname").val() : ''; var strLastname = ($("#txtEvtUpdatesLastname").length > 0) ? $("#txtEvtUpdatesLastname").val() : ''; var strOffice = ($("#TerrapinnMetaOffice").length > 0) ? $("#TerrapinnMetaOffice").attr('content') : ''; //console.log('strOffice: ' + strOffice); var strData = "{'EID':'" + strEventID + "','Email':'" + $("#txtEvtUpdatesEmail").val() + "','Firstname':'" + strFirstname + "','Lastname':'" + strLastname + "','Office':'" + strOffice + "'}"; debugout("strData: " + strData); LE.init('bc9b6f96-0d5d-45d7-87de-253d43edf3e6'); LE.log("Evt updates subscription attempt [" + strEventID + "] [" + window.location + "]"); debugout("LSE evt tracked"); jQuery.ajax({ type: "POST", url: strServicePath + "EventSignup", data: '{"Token":"' + strEventHash + '","EventID":"' + strEventID + '","oParams":"' + strData + '"}', contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { debugout("webservice response: " + msg.d); if (msg.d) { //good.. debugout("success"); EvtUpdatesProcessResult(true); } else { //error.. flgOK = false; debugout("apologies, unable to complete this at present"); EvtUpdatesProcessResult(false); } }, failure: function () { flgOK = false debugout("apologies, unable to complete this at present"); EvtUpdatesProcessResult(false); } }); } function EvtUpdatesProcessStart() { debugout("EvtUpdatesProcessStart()"); // hide form.. var intTime = 250; var intCount = 0; $("div#EvtUpdates div.form-group").each(function(i, el){ intCount = intCount+1; setTimeout(function(){ $(el).animate({right: '400px', opacity: '0'}, "slow"); }, intCount * intTime); }); intCount = intCount + 2; setTimeout(function(){ $("div#EvtUpdates div.form-group").css("display","none"); $("div#EvtUpdates div.form-inline").append('<img src="https://secure.terrapinn.com/v5/img/icons/loader.gif" alt="ajax loader icon" id="EvtUpdatesAjaxLoader" />'); }, (intCount * intTime)); } function EvtUpdatesProcessResult(flgResult) { debugout("EvtUpdatesProcessResult() : " + flgResult); // show msg.. var strHtml = ''; if (flgResult) { strHtml = '<h3 style="opacity:0;" id="EvtUpdatesResponseMsg">' + strResponseMsg + '</h3>'; } else { strHtml = '<h3 style="opacity:0;" id="EvtUpdatesResponseMsg">Apologies, at this time we\'re unable to carry out this request. Please try again later or <a href="mailto:' + strResponseCS + '">get in touch</a></h3>'; LE.log("Evt updates subscription FAILS [" + strEventID + "] [" + window.location + "]"); } setTimeout(function(){ $("img#EvtUpdatesAjaxLoader").animate({opacity: '0'}, "fast"); $("div#EvtUpdates div.form-inline").append(strHtml); $("img#EvtUpdatesAjaxLoader").css("display","none"); $("h3#EvtUpdatesResponseMsg").animate({opacity: '1'}, "slow"); }, 2050); } jQuery.fn.hideInput = function() { this.animate({left: '300px', opacity: '0'}, "slow"); return this; }; function debugout(strData) { try { //if (getParameterByName('adrian')=='1') { alert(strData);console.log(strData); } //console.log(strData); // alert(strData); } catch(err) { } } function showError(ex) { //var caller_line = ex.stack.split("\n")[4]; //var index = caller_line.indexOf("at "); //var clean = caller_line.slice(index+2, caller_line.length); console.log(ex); } function getParameterByName(name) { try { name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var regexS = "[\\?&]" + name + "=([^&#]*)"; var regex = new RegExp(regexS); var results = regex.exec(window.location.search); if(results == null) return ""; else return decodeURIComponent(results[1].replace(/\+/g, " ")); } catch(err) { console.log(err.message); } } </script> <!-- Wisepops checks --> <script> var intWisepopChecks = 0; $(function () { try { return; window.setTimeout(CheckWiepops, 500); } catch(err) { console.log(err.message); } }); function CheckWiepops() { intWisepopChecks = intWisepopChecks+1; //console.log("intWisepopChecks: " + intWisepopChecks); if (intWisepopChecks>10) { return; } if ($("div#wisepop-main-container").length) { //alert("have wisepops"); _paq.push(['trackEvent', 'Wisepops', 'Shown', '']); $("a.wisepop-building-block-action").click(function() { //alert("wisepops clicked! " + this.href); _paq.push(['trackEvent', 'Wisepops', 'ActionTaken', this.href]); //return false; }); $("div.wisepop-overlay").click(function() { //alert("wisepops cleared!!"); _paq.push(['trackEvent', 'Wisepops', 'Closed', 'overlay']); }); $("a.wisepop-close").click(function() { //alert("wisepops cleared!!"); _paq.push(['trackEvent', 'Wisepops', 'Closed', 'cross']); }); $("div#wisepop-content a[data-action~='close']").click(function() { //alert("wisepops cleared!!"); _paq.push(['trackEvent', 'Wisepops', 'Closed', 'close']); }); } else { window.setTimeout(CheckWiepops, 500); } } function CheckMyAccount() { var evtDate = $("span.dtstart").attr("data-start-utc"); //console.log($("span.dtstart").attr("data-start-utc")); //evtDate = new Date("2023-10-30"); if (intWidth > SMALL_WINDOW) { if (Date.parse(evtDate) >= Date.parse(new Date("2023-12-30"))) { $("div#VenueAndDates").css("text-align","left"); $("div#VenueAndDates").css("padding-left","90px"); $('div#VenueAndDates').append('<div id="NewButtons"><a href="register" id="btnReg" title="get your tickets now" class="btn btn-default">Tickets</a><a href="https://www.terrapinn.com/my-account/" id="btnMyAccount" title="login to your Terrapinn account" class="btn btn-default">Login</a></div>'); } } } function ProcessPanelOrgs(strType,strEIDs) { console.log("ProcessPanelOrgs('" + strType + "','" + strEIDs + "')"); var arrEIDs = strEIDs.split(','); console.dir(arrEIDs); // first cycle through an remove all items not referenced by the EID collection... $("div#" + strType + " ul li div.Spn").each(function( index ) { if (!arrEIDs.includes($(this).attr('data-eventId'))) { $(this).remove(); console.log("removed"); } }); // now re-sort the positions... var intCount = 0; var strHTML = '<li>'; $("div#" + strType + " ul li div.Spn").each(function( index ) { strHTML += '<div class="Spn">' + $(this).html() + '</div>'; intCount ++; if ((intCount % 2) == 0) { strHTML += '</li><li>'; } }); strHTML += '</li>'; $("div#" + strType + " ul").empty(); $("div#" + strType + " ul").append(strHTML); } function ProcessListingOrgs(strType, strEIDs) { console.log("ProcessOrgs('" + strType + "','" + strEIDs + "')"); var arrEIDs = strEIDs.split(','); console.dir(arrEIDs); // first cycle through an remove all items not referenced by the EID collection... $("div#" + strType + " div.Panel").each(function( index ) { //console.log($(this).attr('data-eventId')); if (!arrEIDs.includes($(this).attr('data-eventId'))) { $(this).remove(); //console.log("removed"); } else { //console.log($(this).attr('data-eventId')); } }); // now reprocess alignment... var intCount = 0; var strHTML = '<div class="row Framed">'; $("div#" + strType + " div.Panel").each(function( index ) { //console.log($( this ).clone()).html()); strHTML += '<div class="col-sm-3 Panel">' + $(this).html() + '</div>'; intCount ++; if ((intCount % 4) == 0) { strHTML += '</div><div class="row Framed">'; } }); strHTML += '</div>'; $("div#" + strType).empty(); $("div#" + strType).append(strHTML); } </script> <!-- Captcha --> <script src="/config/inc/tracking/GA_Captcha.js"></script> <script src="/config/inc/tracking/sourcebuster.min.js"></script> <script src="/config/inc/tracking/AF_Attribution.js?v=3"></script> <script defer="defer" type="text/javascript" src="https://www.terrapinn-cdn.com/config/inc/lightbox-master/dist/ekko-lightbox.min.js"></script> <script defer="defer" type="text/javascript" src="https://www.terrapinn-cdn.com/config/inc/eloqua/elqTracker_events.js"></script> <!-- base tracking --> <script data-cfasync="false">(function(W,i,s,e,P,o,p){W['WisePopsObject']=P;W[P]=W[P]||function(){(W[P].q=W[P].q||[]).push(arguments)},W[P].l=1*new Date();o=i.createElement(s),p=i.getElementsByTagName(s)[0];o.defer=1;o.src=e;p.parentNode.insertBefore(o,p)})(window,document,'script','//loader.wisepops.com/get-loader.js?v=1&site=cdJC824935','wisepops');</script> <script src="https://i.snoball.it/share/file/p/3zkR/widget.js"></script> <!--Nudgify--> <script> (function(w){ var k="nudgify",n=w[k]||(w[k]={}); n.uuid="c75255a5-4edd-46fc-9420-a70172b460b3"; var d=document,s=d.createElement("script"); s.src="https://pixel.nudgify.com/pixel.js"; s.async=1; s.charset="utf-8"; d.getElementsByTagName("head")[0].appendChild(s) })(window) var Nudgify_SiteKey = "c75255a5-4edd-46fc-9420-a70172b460b3"; </script> <script type="text/javascript" src="https://www.terrapinn-cdn.com/config/inc/slider-revolution/revolution/js/jquery.themepunch.tools.min.js"></script> <script type="text/javascript" src="https://www.terrapinn-cdn.com/config/inc/slider-revolution/revolution/js/jquery.themepunch.revolution.min.js"></script> <script type="text/javascript" src="https://www.terrapinn-cdn.com/config/inc/jf/jquery.liMarquee.js"></script> </body> </html>