CINXE.COM
About | The VET Expo
<!DOCTYPE html> <html lang="en"> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>About | The VET Expo</title> <link rel="canonical" href="https://www.terrapinn.com/exhibition/vet-expo/About.stm" /> <meta name="dc.date" content="2024-11-12" /><meta name="description" content="About - Australia鈥檚 largest free event for the entire veterinary community " /><meta name="keywords" content="About, Veterinary, Animal health, Livestock, Equine, Vet practice owners, Veterinary Pharmaceutical Manufacturing, Pet insurance, " /><meta name="application-name" content="The VET Expo 2025" /><meta name="msapplication-tooltip" content="3 - 4 September 2025 Melbourne" /><meta name="msapplication-starturl" content="https://www.terrapinn.com/exhibition/vet-expo/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 property="og:title" content="About | The VET Expo" /><meta property="og:description" content="Australia鈥檚 largest free event for the entire veterinary community " /><meta property="og:url" content="https://www.terrapinn.com/exhibition/vet-expo/About.stm" /><meta property="og:image" content="https://www.terrapinn.com/exhibition/vet-expo/img/sq_logo.gif" /><meta property="og:site_name" content="The VET Expo 2025" /><meta id="TerrapinnMetaOffice" name="TerrapinnMetaOffice" content="ACE" /><meta id="TerrapinnMetaCommunity" name="TerrapinnMetaCommunity" content="Vets" /><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 = "10958"; var strEventHash = "aca9d1405678ffa9ee0cba64de79a547392219df"; var strEventURL = "https://www.terrapinn.com/exhibition/vet-expo"; var strTwitterID = "@"; var thisSiteID = 0; var strEventZone = "UTC+10"; var strEventCity = "Melbourne"; /* ]]> */ </script> <link rel="stylesheet" type="text/css" href="inc/EventStyles.css" media="all" /> <style media="all"> @media (min-width:768px) {ul#MainMenu li.highlight a {background-color: #ec008c; color: #fff; text-transform:uppercase; border-radius:5px; padding-top:5px;}} h1,h2,h3,h4,body,table,div,span,p,td,a {font-family: 'Roboto', sans-serif; } body.GenericPage section .bg-white { width:100%; margin:0; border:0px; max-width:none; box-shadow:none;} body.GenericPage section h1:first-child {color:#000; font-weight:700; text-align:center;font-size: 40pt; padding-bottom:50px; text-transform:uppercase; } div#OrgBio h1{font-size: 24px; padding-bottom:0; text-align:left; text-transform:none;} .header {font-size:30pt !important; font-weight:700 !important; text-align:center; } .pink {color: #ec008c !important} .green {color: #a6ce39 !important} .yellow {color: #fff200 !important} .btn-pink-main { background: #EB008B; color: #fff !important; font-weight: 700; text-align: center; text-transform: uppercase; border-radius: 0; display: flex; align-items: center; justify-content: center; padding: 16px; width:100%;} .btn-green-main { background: #A5CD39; color: #fff !important; font-weight: 700; text-align: center; text-transform: uppercase; border-radius: 0; display: flex; align-items: center; justify-content: center; padding: 16px; width:100%;} .tmpl_ContactImage {display:none;} </style> <link rel="shortcut icon" type="image/ico" href="/config/img/VET.ico" /> <link href='https://www.terrapinn-cdn.com/config/bootstrap/css/hover.css' rel='stylesheet' type='text/css'> <link href="https://fonts.googleapis.com/css?family=Roboto:400,700" rel="stylesheet"> <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':'10958'}); dataLayer.push({'OfficePropertyID':'UA-75997440-1'}); dataLayer.push({ 'offices':'ACE', 'community':'Vets', 'event':'The VET Expo', 'event_id':'10958', 'event_name':'The VET Expo 2025', 'event_chain':'10958|10857|10725|10454', 'event_location':'Australia'}); 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 --> </head> <body class="GenericPage" 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="Innovation. Performance. Excellence. For the Entire Veterinary Community"> <img src="https://www.terrapinn-cdn.com/logos/E10958.gif?516" alt="The VET Expo 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=10958';" title="add to my diary"> <span class="Summary">The VET Expo 2025<br /></span> <span class="Date dtstart" data-start-utc="2025-09-03T09:00+10:00" data-end-utc="2025-09-04T16:00+10:00"><span class="value-title" title="2025-09-03">3 - 4 September</span></span><span Class="Location"><span Class="Venue"><br />Melbourne Convention & Exhibition Centre,</span> Melbourne</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 The VET Expo" href="https://secure.terrapinn.com/V5/step1.aspx?E=10958" rel="nofollow">register now <i Class="fa fa-shopping-cart" aria-hidden="true"></i></a></li> <li class=" dropdown"> <a title="The VET Expo 2025" href="index.stm">home</a> </li> <li class=" dropdown"> <a title="About" href="About.stm">About</a> <ul Class="dropdown-menu"> <li class=" dropdown"> <a title="venue information (Melbourne Convention & Exhibition Centre)" href="venue.stm">venue</a> </li> </ul> </li> <li class=" dropdown"> <a title="Expo" href="Expo.stm">Expo</a> <ul Class="dropdown-menu"> <li class=" dropdown"> <a title="Past Sponsors & Exhibitors" href="Past-Sponsors-Exhibitors.stm">Past Sponsors & Exhibitors</a> </li> <li class=" dropdown"> <a title="Why Attend?" href="Why-Attend.stm">Why Attend?</a> </li> <li class=" dropdown"> <a title="Who Attends?" href="Who-Attends.stm">Who Attends?</a> </li> <li class=" dropdown"> <a title="Networking" href="Networking.stm">Networking</a> </li> </ul> </li> <li class=" dropdown"> <a title="Conference" href="Conference.stm">Conference</a> <ul Class="dropdown-menu"> <li class=" dropdown"> <a title="Past Speakers" href="Past-Speakers.stm">Past Speakers</a> </li> <li class=" dropdown"> <a title="Apply to Speak" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10958">Apply to Speak</a> </li> <li class=" dropdown"> <a title="CPD Accreditation" href="CPD-Accreditation.stm">CPD Accreditation</a> </li> </ul> </li> <li class=" dropdown"> <a title="For Exhibitors" href="Why-Sponsor-Exhibit.stm">For Exhibitors</a> <ul Class="dropdown-menu"> <li class=" dropdown"> <a title="Why Sponsor & Exhibit" href="Why-Sponsor-Exhibit.stm">Why Sponsor & Exhibit</a> </li> <li class=" dropdown"> <a title="download prospectus" href="https://www.terrapinn.com/template/live/go/10958/22902" rel="nofollow">download prospectus</a> </li> <li class=" dropdown"> <a title="Apply to Sponsor/Exhibit" href="https://secure.terrapinn.com/v5/edetails.aspx?e=10958">Apply to Sponsor/Exhibit</a> </li> <li class=" dropdown"> <a title="Apply for Start-Up" href="Apply-for-Start-Up.stm">Apply for Start-Up</a> </li> <li class=" dropdown"> <a title="Exhibitor Warning" href="Exhibitor-Warning.stm">Exhibitor Warning</a> </li> </ul> </li> <li class=" dropdown highlight"> <a title="register now for The VET Expo 2025" href="https://secure.terrapinn.com/V5/step1.aspx?E=10958&p=1" rel="nofollow">register</a> <ul Class="dropdown-menu"> <li class=" dropdown"> <a title="Login" href="https://www.terrapinn.com/my-account" target="_blank">Login</a> </li> <li class=" dropdown"> <a title="contact the The VET Expo 2025 team" href="contact-us.stm">contact us</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="row"> <div class="col-sm-12"> <h1 style="text-align: center;"> OUR STORY </h1> <p> </p> </div> </div> <section> <div class="row"> <div class="col-sm-12"> <h2 class="header pink" style="text-align: center;"> WHERE ANIMAL HEALTH IS <span class="header green"> TRANSFORMED </span> </h2> <p> </p> </div> </div> <div class="row"> <div class="col-sm-6"> <p> <b> TIME FOR CHANGE </b> </p> <p> Welcome to Australia’s new, international style, all in one business-and-learning-festival, designed to: </p> <ul> <li> Help buyers find, compare and buy new technology, products and services <br /> </li> <li> Help veterinarians and animal health professionals keep abreast of change <br /> </li> <li> Help solution providers engage with vet practice owners and animal health professionals <br /> </li> <li> Help manufacturers, importers and distributors of pet care and pettech products connect with vet clinics, pet store owners and retailers <br /> </li> </ul> <p> Like every industry, animal health is changing: the humanization of pets is now a leading trend; the demand for livestock and poultry production is constantly escalating; controlling disease and sustainability of wildlife resources is top of mind; and the development of ground breaking research has become a core focus. </p> <p> The need to re-connect, learn and upskill, as well as uncover innovative products and services, has never been more relevant. </p> </div> <div class="col-sm-6"> <p> <span style="font-size: medium;"> The VET Expo is an in person B2B event intentionally designed to connect buyers to sellers who wish to learn more about the latest technology, products and services in the veterinarian, animal health, pet care and pettech industries. </span> </p> <p> <span style="font-size: medium;"> </span> <br /> The VET Expo showcases disruptors who promise clinical excellence and operational innovation with the services they provide to buyers. </p> <p> <br /> The VET Expo unites all stakeholders – vets and veterinary specialists, veterinary nurses, animal technologists and technicians, commercial farmers, breeders, researchers, wildlife parks, associations and peak bodies, suppliers and solution providers, government, start-ups and innovators. </p> <p> <br /> New format, new thinking, new technology, more efficiency and best practice, The VET Expo is the definitive event that brings all these elements together under one roof. </p> <p> <br /> In addition to over 120 leading exhibits, this vibrant event also includes top quality CPD and 100s of exciting demos, prizes and networking opportunities all together, in the same space, at the same time giving you excellent bang for your buck. </p> </div> </div> </section> <section> <div class="row"> <div class="col-md-12"> <p> </p> <p> The VET Expo offers a fresh approach ….new format, more engaging, more compact, more affordable, more memorable. </p> <p> <br /> An event that: </p> </div> </div> <div class="row"> <div class="col-xs-6 col-md-3"> <center> <img alt="The Vet Expo, Provides quality education, content and ideas to all vets and animal healthcare professionals" class="img-responsive img-center" src="https://www.terrapinn.com/exhibition/vet-expo/Img/icon1.jpg" /> </center> <p> Provides quality education, content and ideas to all vets and animal healthcare professionals </p> </div> <div class="col-xs-6 col-md-3"> <center> <img alt="The Vet Expo, Enables the personal and professional development of vets and animal healthcare professionals" class="img-responsive img-center" src="https://www.terrapinn.com/exhibition/vet-expo/Img/icon2.jpg" /> </center> <p> Enables the personal and professional development of vets and animal healthcare professionals </p> </div> <div class="col-xs-6 col-md-3"> <center> <img alt="The Vet Expo, Is an essential forum for ideas and knowledge" class="img-responsive img-center" src="https://www.terrapinn.com/exhibition/vet-expo/Img/icon3.jpg" /> </center> <p> Is an essential forum for ideas and knowledge </p> </div> <div class="col-xs-6 col-md-3"> <center> <img alt="The Vet Expo, Promotes innovation and new technology across the entire animal healthcare sector" class="img-responsive img-center" src="https://www.terrapinn.com/exhibition/vet-expo/Img/icon4.jpg" /> </center> <p> Promotes innovation and new technology across the entire animal healthcare sector </p> </div> </div> <div class="row"> <div class="col-xs-6 col-md-3"> <center> <img alt="The Vet Expo, Allows customers to evaluate new technology and solutions" class="img-responsive" src="https://www.terrapinn.com/exhibition/vet-expo/Img/icon5.jpg" /> </center> <p> Allows customers to evaluate new technology and solutions </p> </div> <div class="col-xs-6 col-md-3"> <center> <img alt="The Vet Expo, Delivers opportunity for new collaborations and partnerships" class="img-responsive img-center" src="https://www.terrapinn.com/exhibition/vet-expo/Img/icon6.jpg" /> </center> <p> Delivers opportunity for new collaborations and partnerships </p> </div> <div class="col-xs-6 col-md-3"> <center> <img alt="The Vet Expo, Start-ups in animal healthcare can use to meet real buyers" class="img-responsive img-center" src="https://www.terrapinn.com/exhibition/vet-expo/Img/icon7.jpg" /> </center> <p> Start-ups can use to meet real buyers </p> </div> <div class="col-xs-6 col-md-3"> <center> <img alt="The Vet Expo, Connects animal health and petcare importers, manufacturers, retailers, thought leaders and creative minds" class="img-responsive img-center" src="https://www.terrapinn.com/exhibition/vet-expo/Img/connect.png" style="padding:2em" /> </center> <p> Connects animal health and petcare importers, manufacturers, retailers, thought leaders and creative minds </p> </div> </div> <p> </p> </section> </div> </section> <div id="SectionBottom"><section style="background:#A5CD39;"> <div class="row"> <div class="col-sm-3"> <h3> <span style="color: #fff;"> Information </span> </h3> <p> <a href="https://secure.terrapinn.com/v5/edetails.aspx?e=10958"> <span style="color: rgb(255, 255, 255);"> Request Prospectus </span> </a> </p> <p> <a href="https://secure.terrapinn.com/V5/step1.aspx?E=10958"> <span style="color: rgb(255, 255, 255);"> Register </span> </a> </p> <p> <a href="past-speakers.stm"> <span style="color: rgb(255, 255, 255);"> Past Speakers </span> </a> </p> <p> <span class="template20" style="color:#ffffff"> #TheVETExpo </span> </p> <p> </p> <br /> </div> <div class="col-sm-3"> <h3> <span style="color: #fff;"> Contact us </span> </h3> <p> <span style="color: rgb(255, 255, 255);"> <strong> Sponsorship Enquiries </strong> </span> <br /> <a href="mailto:Ellen.phelan@terrapinn.com"> <span style="color: rgb(255, 255, 255);"> Ellen.phelan@terrapinn.com </span> </a> </p> <p> </p> <p> <span style="color: rgb(255, 255, 255);"> <strong> Speaking Enquiries </strong> </span> </p> <p> <a href="mailto:Amanda.liversage@terrapinn.com"> <span style="color:#FFFFFF;"> Amanda.liversage@terrapinn.com </span> </a> </p> <p> </p> <p> <span style="color: rgb(255, 255, 255);"> <strong> Marketing Enquiries </strong> </span> <br /> <a href="mailto:natalie.mcclelland@terrapinn.com"> <span style="color:#FFFFFF;"> natalie.mcclelland@terrapinn.com </span> </a> </p> <p> </p> <p> <span style="color: rgb(255, 255, 255);"> <strong> General Enquiries </strong> </span> <br /> <a href="mailto:meg.obrien@terrapinn.com"> <span style="color: rgb(255, 255, 255); "> Meg.Obrien@terrapinn.com </span> </a> </p> <p> </p> </div> <div class="col-sm-3"> <a href="https://www.linkedin.com/company/vet-expo" target="_blank"> <img class="img-responsive" src="https://www.terrapinn-cdn.com/config/img/icons/linkedin.png" style="padding-right: 20px; max-width: 72px; float: left; " /> </a> <h4> <a href="https://www.linkedin.com/company/vet-expo" target="_blank"> <span style="color: rgb(255, 255, 255);"> Vet Expo </span> </a> </h4> <div class="clearfix"> </div> <div class="clearfix"> </div> <p> <a href="https://twitter.com/expo_vet" target="_blank"> <img class="img-responsive" src="https://www.terrapinn-cdn.com/config/img/icons/x.png" style="max-width: 72px; float: left; padding-right:20px;" /> </a> </p> <h4> <a href="https://twitter.com/expo_vet" target="_blank"> <span style="color: rgb(255, 255, 255);"> Vet Expo </span> </a> </h4> <div class="clearfix"> </div> <div class="clearfix"> </div> <p> <a href="https://facebook.com/vetexpomelbourne/" target="_blank"> <img class="img-responsive" src="https://www.terrapinn-cdn.com/config/img/icons/facebook.png" style="max-width: 72px; float: left; padding-right:20px;" /> </a> </p> <h4> <a href="https://www.facebook.com/vetexpomelbourne" target="_blank"> <span style="color: rgb(255, 255, 255);"> Vet Expo </span> </a> </h4> <div class="clearfix"> </div> <div class="clearfix"> </div> <p> <a href="https://www.instagram.com/thevetexpo/" target="_blank"> <img class="img-responsive" src="https://www.terrapinn-cdn.com/config/img/icons/instagram.png" style="max-width: 72px; float: left; padding-right:20px;" /> </a> </p> <h4> <a href="https://www.instagram.com/thevetexpo/" target="_blank"> <span style="color: rgb(255, 255, 255);"> Vet Expo </span> </a> </h4> <div class="clearfix"> </div> </div> <div class="col-sm-3"> <img class="img-responsive img-center" src="https://www.terrapinn-cdn.com/exhibition/edutech-australia/Img/CPD-Approved.png" /> </div> </div> <p> </p> </section></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 Australia Pty Limited" rel="nofollow"><img alt="created by Terrapinn Australia Pty Limited" src="https://www.terrapinn.com/config/img/tmpl/acevents-logo.png" title="created by Terrapinn Australia Pty Limited" 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/10958/22902" 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 --> </body> </html>