Put companies on watchlist
Medartis Holding AG
ISIN: CH0386200239
WKN: A2JGBF
About
Company Snapshot
New: Enable Investor Alerts
Be informed about new publications
New: AI Factsheet

Corporate News meets AI! 
Content analysis and summary

EN GIF 300X250

Medartis Holding AG · ISIN: CH0386200239 · EQS - adhoc news (32 News)
Country: Switzerland · Primary market: Switzerland · EQS NID: 1856139
12 March 2024 06:30AM

Medartis increases sales by 21% (CER) and improves its underlying EBITDA margin to 16%


Medartis Holding AG / Key word(s): Annual Results
Medartis increases sales by 21% (CER) and improves its underlying EBITDA margin to 16%

12-March-2024 / 06:30 CET/CEST
Release of an ad hoc announcement pursuant to Art. 53 LR
The issuer is solely responsible for the content of this announcement.


PRESS RELEASE

Release of an ad hoc announcement pursuant to Art. 53 LR. The issuer is solely responsible for the content of this announcement.

<div> <p><span style="font-weight: bold;"> </span></p> <ul type="square"><li><span>Demonstrating further market share gains, full-year 2023 sales rose by 20.5%(CER) to CHF</span><span> </span><span>212.0</span><span> </span><span>million</span></li> <li><span>Internal sales growth</span><span>F</span><span style="vertical-align: super;">[1]</span><span> of 17.4% (H2: 18.6%) reached the upper end of the company's forecasts, with three out of four regions growing by around 20%</span></li> <li><span>The EMEA region was the driving force with strong growth of 19.8%, exceeding the CHF 100 million mark for the first time</span></li> <li><span>The US continued its momentum in H2 and achieved internal sales growth of 20.5% (CER) for the year as a whole</span></li> <li><span>Tight cost management led to a reduction in OpEx of 8%-points (PP), which increased the company’s underlying</span><span>F</span><span style="vertical-align: super;">[2]</span><span> EBITDA margin to 15.9% and strengthened cash flow and cash reserves</span></li> <li><span>In 2024, Medartis expects internal sales growth in the mid-teens range and a further increase in the underlying EBITDA margin of around 1 PP</span></li> </ul><p><span>  </span></p> <p><span style="font-weight: bold;">FULL-YEAR 2023 KEY FINANCIALS</span></p> <p><span style="font-weight: bold;"> </span></p> <table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="vertical-align: middle;"> <p><span>in CHF million,</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span style="font-weight: bold;">FY 2023</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span style="font-weight: bold;">FY 2022</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td colspan="2" style="vertical-align: middle;"> <p><span style="font-weight: bold;">Underlying YoY change</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>rounded</span></p> </td> <td style="vertical-align: top;"> <p><span>Reported</span></p> </td> <td style="vertical-align: top;"> <p><span>One-off costs</span><span style="vertical-align: super;">2</span></p> </td> <td style="vertical-align: top;"> <p><span>Underlying</span></p> </td> <td style="vertical-align: top;"> <p><span>Reported</span></p> </td> <td style="vertical-align: top;"> <p><span>One-off costs</span><span style="vertical-align: super;">2</span></p> </td> <td style="vertical-align: top;"> <p><span>Underlying</span></p> </td> <td style="vertical-align: top;"> <p><span>in CHF</span></p> </td> <td style="vertical-align: top;"> <p><span>at CER</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>Total net sales</span></p> </td> <td style="vertical-align: middle;"> <p><span>212.0</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>182.8</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>16.0%</span></p> </td> <td style="vertical-align: middle;"> <p><span>20.5%</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>Internal net sales</span><span style="vertical-align: super;">1</span></p> </td> <td style="vertical-align: middle;"> <p><span>201.2</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>177.8</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>17.4%</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>Gross profit</span></p> </td> <td style="vertical-align: middle;"> <p><span>167.6</span></p> </td> <td style="vertical-align: middle;"> <p><span>(0.5)</span></p> </td> <td style="vertical-align: middle;"> <p><span>168.1</span></p> </td> <td style="vertical-align: middle;"> <p><span>149.5</span></p> </td> <td style="vertical-align: middle;"> <p><span>(0.2)</span></p> </td> <td style="vertical-align: middle;"> <p><span>149.6</span></p> </td> <td style="vertical-align: middle;"> <p><span>12.3%</span></p> </td> <td style="vertical-align: middle;"> <p><span>17.7%</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>EBITDA</span></p> </td> <td style="vertical-align: middle;"> <p><span>31.9</span></p> </td> <td style="vertical-align: middle;"> <p><span>(1.8)</span></p> </td> <td style="vertical-align: middle;"> <p><span>33.6</span></p> </td> <td style="vertical-align: middle;"> <p><span>16.2</span></p> </td> <td style="vertical-align: middle;"> <p><span>(7.2)</span></p> </td> <td style="vertical-align: middle;"> <p><span>23.4</span></p> </td> <td style="vertical-align: middle;"> <p><span>43.4%</span></p> </td> <td style="vertical-align: middle;"> <p><span>54.6%</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>EBIT</span></p> </td> <td style="vertical-align: middle;"> <p><span>9.1</span></p> </td> <td style="vertical-align: middle;"> <p><span>(1.8)</span></p> </td> <td style="vertical-align: middle;"> <p><span>10.9</span></p> </td> <td style="vertical-align: middle;"> <p><span>(1.9)</span></p> </td> <td style="vertical-align: middle;"> <p><span>(7.2)</span></p> </td> <td style="vertical-align: middle;"> <p><span>5.3</span></p> </td> <td style="vertical-align: middle;"> <p><span>103.8%</span></p> </td> <td style="vertical-align: middle;"> <p><span>237.8%</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>Net profit / loss</span></p> </td> <td style="vertical-align: middle;"> <p><span>0.6</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>(5.8)</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>Headcount (31 Dec)</span></p> </td> <td style="vertical-align: middle;"> <p><span>829</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>866</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>(4.3%)</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>Margins in % of sales</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td colspan="2" style="vertical-align: middle;"> <p><span>Change in %-points (PP)</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>Gross profit</span></p> </td> <td style="vertical-align: middle;"> <p><span>79.0%</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>79.3%</span></p> </td> <td style="vertical-align: middle;"> <p><span>81.8%</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>81.9%</span></p> </td> <td style="vertical-align: middle;"> <p><span>(2.6 PP)</span></p> </td> <td style="vertical-align: middle;"> <p><span>(1.9 PP)</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>EBITDA</span></p> </td> <td style="vertical-align: middle;"> <p><span>15.0%</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>15.9%</span></p> </td> <td style="vertical-align: middle;"> <p><span>8.9%</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>12.8%</span></p> </td> <td style="vertical-align: middle;"> <p><span>3.0 PP</span></p> </td> <td style="vertical-align: middle;"> <p><span>3.6 PP</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>EBIT</span></p> </td> <td style="vertical-align: middle;"> <p><span>4.3%</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>5.1%</span></p> </td> <td style="vertical-align: middle;"> <p><span>(1.1%)</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>2.9%</span></p> </td> <td style="vertical-align: middle;"> <p><span>2.2 PP</span></p> </td> <td style="vertical-align: middle;"> <p><span>3.3 PP</span></p> </td> </tr><tr><td style="vertical-align: middle;"> <p><span>Net profit / loss</span></p> </td> <td style="vertical-align: middle;"> <p><span>0.3%</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>1.1%</span></p> </td> <td style="vertical-align: middle;"> <p><span>(3.2%)</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> <td style="vertical-align: middle;"> <p><span>0.8%</span></p> </td> <td style="vertical-align: middle;"> <p><span>0.3 PP</span></p> </td> <td style="vertical-align: middle;"> <p><span> </span></p> </td> </tr></tbody></table><p><span> </span></p> <p><span style="font-weight: bold;">Basel, 12 March 2024: Medartis Holding AG (MED:SW), </span><span style="font-weight: bold;">a leading orthopaedic company specialising in head and extremity surgery, </span><span><span style="font-weight: bold;">today reported sales of CHF</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">212.0</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">million for the full year 2023, representing growth of 20.5% (CER). Internal growth of 17.4% was driven by strong performance in EMEA, LATAM and the US. The EMEA business made the largest contribution to growth with an increase of 19.8%, further expanding its strong market position in both upper and lower limb. </span></span><span style="font-weight: bold;">In line with its growth strategy, the company is aiming for mid-teens sales growth in 2024.</span></p> </div> </div><div markup="content"><div> <p>The company's sales grew due to the strong performance of existing products and the successful launch of new products for the upper and lower extremities. The conversion from the first generation to the ‘Modus 2’-system in the head segment (cranio-maxillofacial) additionally contributed to growth. The remarkable acceleration of KeriMedical, and in particular the strong demand for the TOUCH saddle joint prosthesis, played a significant role in the company’s success in EMEA. In the important US market, the expansion of the distribution channel and the launch of the Field Orthopaedics hand products as well as KeriFlex were the most important factors.</p> <p>Thanks to this strong sales growth, Medartis also achieved higher profitability in 2023. EBITDA totalled  CHF 31.9 million, which corresponds to a margin of 15.0%. In May, Medartis faced an IT attack. This was swiftly resolved, but the resulting one-off costs lowered the EBITDA margin by 0.9 percentage points. Excluding non-recurring effects in both periods, the underlying EBITDA margin increased from 12.8% to 15.9%. The decline in the gross margin was attributable to a less favourable product mix, characterised by increased third-party business and a higher proportion of distribution products. However, this was more than offset by strong operating leverage and effective cost control measures. After taking financial expenses and taxes into account, net profit totalled CHF 0.6 million.</p> <p><span> </span></p> <p><span><span>Medartis’ </span><span style="font-weight: bold;">CEO Christoph Brönnimann</span><span> </span></span><span>commented: “In 2023, we completed another successful business year marked by further share gains and improved profitability and cash flow. Sales in three out of four regions soared in the 20% range. In Europe, we exceeded the CHF 100 million milestone thanks to the rollout of new products and the high acceptance of the KeriMedical portfolio. In the US, we maintained our momentum and we are heading towards our medium-term target of USD 80 million by 2025. The groundwork of the past two years is yielding initial results and provides strong foundations for our acceleration in 2024. Our focus for 2024 remains on expanding and strengthening our US sales channel, improving profitability, reinforcing our commercial teams and capitalising on the partnerships with Keri Medical and Field Orthopaedics”.</span></p> <p><span> </span></p> <p><span> </span><span style="font-weight: bold;">PERFORMANCE BY REGION AND PRODUCT CATEGORY</span></p> <p><span>Table: Revenue development by region and year-on-year changes:</span></p> <p><span> </span></p> <table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="vertical-align: bottom;"> <p><span><span>in CHF million,</span><br/><span>rounded</span></span></p> </td> <td style="vertical-align: bottom;"> <p><span>FY 2023</span></p> </td> <td style="vertical-align: bottom;"> <p><span>FY 2022</span></p> </td> <td style="vertical-align: bottom;"> <p><span>Change</span><br/><span>in CHF</span></p> </td> <td style="vertical-align: bottom;"> <p><span>Change</span><br/><span>in CER</span></p> </td> <td style="vertical-align: bottom;"> <p><span>Internal</span><br/><span>growth (CER)</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>EMEA</span></p> </td> <td style="vertical-align: bottom;"> <p><span>106.5</span></p> </td> <td style="vertical-align: bottom;"> <p><span>91.4</span></p> </td> <td style="vertical-align: bottom;"> <p><span>16.5%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>19.8%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>19.8%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>US</span></p> </td> <td style="vertical-align: bottom;"> <p><span>51.9</span></p> </td> <td style="vertical-align: bottom;"> <p><span>41.0</span></p> </td> <td style="vertical-align: bottom;"> <p><span>26.4%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>34.1%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>20.5%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>APAC</span></p> </td> <td style="vertical-align: bottom;"> <p><span>31.5</span></p> </td> <td style="vertical-align: bottom;"> <p><span>32.1</span></p> </td> <td style="vertical-align: bottom;"> <p><span>-2.0%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>5.6%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>5.6%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>LATAM</span></p> </td> <td style="vertical-align: bottom;"> <p><span>22.2</span></p> </td> <td style="vertical-align: bottom;"> <p><span>18.3</span></p> </td> <td style="vertical-align: bottom;"> <p><span>21.0%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>19.4%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>19.4%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>Total Group</span></p> </td> <td style="vertical-align: bottom;"> <p><span>212.0</span></p> </td> <td style="vertical-align: bottom;"> <p><span>182.8</span></p> </td> <td style="vertical-align: bottom;"> <p><span>16.0%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>20.5%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>17.4%</span></p> </td> </tr></tbody></table><p><span> </span></p> <p><span>The largest region</span><span style="font-weight: bold;">, EMEA,</span><span> showed a strong all-round performance and achieved year-on-year growth of 19.8% at CER. This allowed the company to surpass the CHF 100 million regional sales threshold for the first time. The important DACH region (Germany, Austria, Switzerland) grew significantly and exceeded expectations despite already holding a significant market share. France and the United Kingdom in particular grew rapidly over the course of the year. The performance in the UK was driven by strong demand across all businesses and by new customers, many of whom were attracted by the Keri Medical portfolio. Medartis acquired the distribution rights for Keri Medical products in the UK in H2 2021. In the third year since the Spanish subsidiary was founded, the company continued the dynamic growth trajectory of the previous years and delivered again an impressive increase. Poland and the distributor markets also saw significant expansion. From a financial perspective, the traditional EMEA subsidiaries generate strong cash flow that enables the company to strategically develop new markets, expand further in existing markets and acquire new customers.</span></p> <p><span> </span></p> <p><span>Keri Medical played a pivotal role in the growth of the German, Austrian, and British subsidiaries and contributed half of the growth in the upper extremities segment. In addition, the overall growth in the upper extremities segment was further bolstered by the recent launches of Clavicle, Ulna Shortening, and Forearm, as well as significant market growth in Medartis’ largest business — the wrist. </span><span>In 2023, Medartis introduced several solutions aimed at broadening its product portfolio and strengthening its position as a leading pure-play extremity company. Enhancing its upper extremities portfolio, the ‘APTUS Distal Ulna System 2.5’ offers surgeons a versatile and anatomical solution for treating a range of distal ulna fractures, from simple extraarticular to complex intraarticular head fractures. It integrates seamlessly with the company’s distal radius system, the company’s best-selling product.</span></p> <p><span> </span></p> <p><span>The lower extremities business enjoyed an impressive surge of 41% in EMEA with strong contributions from the ‘Ankle Trauma’ and the ‘CCS compression screw’ products, especially in Spain and the distributor markets. The implant portfolio is complemented by the digital and patient-specific functions of the CMX foot and ankle applications, which has been available in selected markets since August 2023. Medartis attaches great strategic importance to the area of lower extremities and aims to increase its market share in the coming years. Three systems were launched in 2023 and more will follow in 2024, targeting the treatment of flatfoot deformities and arthritic feet. The momentum gained from these launches is expected to fuel further growth in 2024.</span></p> <p><span> </span></p> <p><span>In CMF, Medartis continued to successfully migrate existing customers from ‘Modus 1’ to the next-generation ‘Modus 2’ system, resulting in an increased market share. Many countries also sent customers to the new ‘IBRA Institute’ in Basel, where participants were able to benefit from real-life training modules with pre-fractured human bone models. Positive feedback from attending surgeons confirmed both the necessity and the success of these training courses.</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">More than a quarter of growth contributed by new sales agents</span></p> <p><span><span>Medartis' </span><span style="font-weight: bold;">US business</span><span> grew by 34.1% (CER) and generated full-year sales of CHF</span><span> </span><span>51.9</span><span> </span><span>million, including CHF</span><span> </span><span>10.8</span><span> </span><span>million from contract manufacturing orders for third-party customers. Excluding these, internal sales growth saw a positive trend and surged by 20.5%. According to independent market data, this is 3-4 times higher than the market average. </span></span><span>More than a quarter of this growth was contributed by the new independent sales agents</span><span> who have joined the Medartis network over the last two years.</span></p> <p><span> </span></p> <p><span>T</span><span>he 20.5% growth was recorded across all product categories, but demand was particularly strong in foot and ankle, wrist, and hand. The contributions from KeriFlex and Field Orthopaedics supported this positive trajectory. In the US, the addition of Field Orthopaedics' intramedullary nail portfolio seamlessly complemented Medartis’ hand portfolio. These products, distributed alongside Medartis' own product portfolio, give surgeons the option of using different fixation technologies. The company also launched LapiPrep in Q2 2023, a technology acquired with the former NSI. LapiPrep offers hands-free, triplanar correction-angle correction for bunion / hallux valgus treatment cases, promising repeatable treatment results. While customer feedback is promising, initial experiences underscore the significance of medical training and education as well as clinical research and feedback. These elements will continue to be key focal points for the company in 2024 in order to strengthen its market position in the lower extremities segment and promote surgeon engagement. In view of current and upcoming product launches, Medartis plans to further expand its sales network, which currently boasts 247 sales agents and representatives. In 2024, the company aims to broaden its sales channels even more while enhancing its medical training capabilities. The recruitment of new talent in crucial commercial areas, including marketing, training and education, and sales, underscores the company’s commitment to developing the organisation furt</span><span>her.</span></p> <p><span> </span></p> <p><span>Following the successful integration of NSI and Medartis US over the past year and a half, the company has strategically realigned key functions such as manufacturing, logistics, quality, R&D and finance under global oversight. Preparations for the production technology transfer from Basel to Warsaw have concluded. Following validation tests, the inaugural production of screws began in February 2024, with plates and surgical guides set to follow later in the spring. This strategic move is aimed at leveraging the manufacturing and engineering expertise housed in the modern 6,500-square-meter (69,500-square-foot) production facility in Warsaw. The commercial and R&D departments are now seamlessly integrated into global functional metrics, bundling capabilities and enhancing mutual support for both current and upcoming product launches.</span></p> <p><span> </span></p> <p><span>As part of early succession planning, the current US President, Rod K. Mayer, has decided to retire following the completion of the integration of NSI into Medartis. The company is well advanced in its search for a new President of Sales & Marketing and sees this as an opportunity to further expand its commercial footprint in the US market.</span></p> <p><span> </span></p> <p><span><span>In the </span><span style="font-weight: bold;">APAC region</span><span>, full-year sales increased by 5.6% (CER) and reached CHF</span><span> </span><span>31.5</span><span> </span><span>million.</span><span> </span><span>In Swiss francs, however, sales decreased by 2.0% due to unfavourable currency effects. The Australian market underwent a transformative phase in 2023. </span></span><span>The local authorities have imposed price cuts of 12 % (affecting H1) and a further 5% (affecting H2), which had a significant impact on the industry. Thanks to strong volume growth in the mid-teens percentage range, Medartis Australia was able to compensate for the effects of the price adjustments and further improve its market position. To reflect the new pricing landscape, Medartis Australia has adjusted its organisation and implemented a more adaptable sales model, wherein certain sales representatives now operate as exclusive independent agents.</span></p> <p><span> </span></p> <p><span>In Japan, Medartis strengthened its direct organisation, achieving high double-digit growth in the lower extremities segment. This development will require additional set investments and the recruitment of new sales representatives, but enables systematic expansion of its market presence under one single management, with robust backing from IBRA and a significantly strengthened franchise covering both lower and upper extremities. Responding to local market needs, the company has also expanded its in-house capacity for sterile packaging at its headquarters.</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">PERFORMANCE BY PRODUCT CATEGORY</span></p> <p><span>Table: Revenue development by product category<span style="vertical-align: super;">[3]</span> and year-on-year changes:</span></p> <p><span> </span></p> <table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="vertical-align: bottom;"> <p><span><span>in CHF million,</span><br/><span>rounded</span></span></p> </td> <td style="vertical-align: bottom;"> <p><span>FY 2023</span></p> </td> <td style="vertical-align: bottom;"> <p><span>FY 2022</span></p> </td> <td style="vertical-align: bottom;"> <p><span>Change</span><br/><span>in CHF</span></p> </td> <td style="vertical-align: bottom;"> <p><span>Change</span><br/><span>in CER</span></p> </td> <td style="vertical-align: bottom;"> <p><span>Internal</span><br/><span>growth (CER)</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>Upper extremities</span></p> </td> <td style="vertical-align: bottom;"> <p><span>137.2</span></p> </td> <td style="vertical-align: bottom;"> <p><span>123.8</span></p> </td> <td style="vertical-align: bottom;"> <p><span>10.8%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>15.5%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>15.5%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>Lower extremities</span></p> </td> <td style="vertical-align: bottom;"> <p><span>35.4</span></p> </td> <td style="vertical-align: bottom;"> <p><span>28.2</span></p> </td> <td style="vertical-align: bottom;"> <p><span>25.5%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>31.8%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>31.8%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>CMF & other products</span></p> </td> <td style="vertical-align: bottom;"> <p><span>39.4</span></p> </td> <td style="vertical-align: bottom;"> <p><span>30.8</span></p> </td> <td style="vertical-align: bottom;"> <p><span>27.8%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>33.7%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>15.3%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>Total Group</span></p> </td> <td style="vertical-align: bottom;"> <p><span>212.0</span></p> </td> <td style="vertical-align: bottom;"> <p><span>182.8</span></p> </td> <td style="vertical-align: bottom;"> <p><span>16.0%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>20.5%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>17.4%</span></p> </td> </tr></tbody></table><p><span> </span></p> <p><span>Sales in in the </span><span style="font-weight: bold;">LATAM region</span><span> reached CHF</span><span> </span><span>22.2</span><span> </span><span>million, corresponding to a strong increase of 19.4% at CER. Compared to the very strong growth in 2022, Brazil experienced a more moderate growth rate in 2023 on the back of alterations to the Brazilian Health Regulatory Agency (ANVISA) registration processes and political uncertainty in H1 2023. The regulatory changes led to a delay in new product approvals which extended into H2 2023. Conversely, Medartis reported significant growth in Mexico, primarily as a result of the acquisition of new tenders, selective price increases, and the continuous optimisation of both direct and distributor sales channels.</span></p> <p><span> </span></p> <p><span>Sales in the distributor markets Colombia and Costa Rica grew strongly, reflecting a more systematic management approach marked by clear key performance indicators (KPIs) and a strong emphasis on building customer relationships. In Q4, the newly inaugurated IBRA Institute in Basel welcomed a delegation of 65 surgeons from Brazil, who took part in intensive CMF training courses. The region further reinforced its relationships with regional business partners by inviting 45 sales representatives to the Medartis HQ in Basel, providing updates on Medartis’ strategy, and conducting thorough training sessions for both existing and new products. In addition, Medartis Brazil and Mexico received the employer branding label ‘Great Place to Work’, underscoring the positive workplace environment.</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">New CHRO appointed in March</span></p> <p><span>Following the merger of Nextremity Solutions Inc. with Medartis US and the consolidation to a single location, the company has harnessed synergies and enhanced its regional profitability. Consequently, Medartis’ workforce saw a 4% reduction in 2023, resulting in a total of 829 employees. In Switzerland, where Medartis has its headquarters and main production facility, the number of employees remained relatively stable and totalled 330 at year-end.</span></p> <p><span> </span></p> <p><span>There was also a change at top management level a few days ago, as the Chief Human Resources Officer (CHRO), Anthony Durieux-Menage, has decided to leave the company by the end of March 2024 to pursue a new professional challenge outside the orthopaedics industry. He will be seamlessly succeeded by Inge Maes, who brings over 20 years of experience in the life sciences industry from her work in clinical development as well as leading HR positions at Sandoz and Novartis.</span></p> <p><span> </span></p> <p><span> </span></p> <p><span style="font-weight: bold;">FINANCIAL PERFORMANCE</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span style="font-weight: bold;">Improving profitability and cash management as basis for future growth investments</span></p> <p><span>In 2023, Medartis began enhancing its financial key performance indicator (KPI) management, shifting towards a more cash-centric framework that balances sales growth, profitability, and the optimisation of capital employed. While sustainable growth remains a primary value driver in all regions, awareness of total cash flow generation has increased in all countries and functions of the organisation. This has resulted in the optimisation of inventory levels and improved accounts receivable management. At the same time, investments in new surgical kits were made primarily for the launch of new products and customer acquisition. The financial impact of these proactive measures can be seen in the income statement, cash flow statement and balance sheet for 2023.</span></p> <p><span> </span></p> <p><span>In 2023, the </span><span style="font-weight: bold;">gross margin</span><span> decreased by 2.6PP to 79.0% due to a combination of various factors. In addition to unfavourable exchange rate effects, which accounted for 0.8 PP, the largest impact (2.4 PP) was due to the higher share of NSI’s third-party business, which generates low margins. Excluding third-party manufacturing, Medartis’ gross margin would have remained stable compared to the previous year at around 82.5%. Demand for NSI's low-margin contract manufacturing business is expected to decline in 2024.</span></p> <p><span> </span></p> <p><span>Medartis is using the acquired manufacturing capacities at its new plant in Warsaw opportunistically as long as the ramp-up for Medartis own products is not yet complete. Another factor diluting the margin is the very strong growth of Keri Medical and Field Orthopaedic’s products, which are distributed by Medartis under a distribution agreement. Selective price increases, a positive country mix and efficiency gains in manufacturing protected the gross margin despite higher supplier costs. The IT attack reported in H1 and the brief business interruption had a minor impact of 0.3 PP on the gross margin.</span></p> <p><span> </span></p> <p><span>The reported OpEx ratio of 74.7% has improved by more than 8 PP compared to the previous year. This reflects the initial cost efficiency improvements already achieved in the US just one and a half years after the NSI acquisition. Cost efficiency at the headquarters was also further improved in 2023. Medartis continued to invest in sales and marketing as well as medical education in all regions. In 2023, investments totalling 46% of sales (or 62% of total OpEx) were made for customer-facing activities. A further 12% of sales (or 16% of total OpEx) was dedicated to product development, R&D and IBRA education. This reflects the company’s commitment to delivering continuous innovation to its customers worldwide.</span></p> <p><span> </span></p> <p><span>Earnings before interest, taxes, depreciation and amortisation (</span><span style="font-weight: bold;">EBITDA</span><span>) almost doubled to CHF</span><span> </span><span>31.9</span><span> </span><span>million, resulting in a reported EBITDA margin of 15.0%. Excluding the one-off costs of CHF 1.8 million in connection with the IT attack, the adjusted EBITDA margin would have been 15.9% </span><span>– </span><span>3.0 PP higher than in the prior year.</span></p> <p><span> </span></p> <p><span>The underlying operating profit (EBIT) improved from CHF</span><span> </span><span>5.3</span><span> </span><span>million in 2022 to CHF</span><span> </span><span>10.9</span><span> </span><span>million, corresponding to a margin of 5.1% (2022: 2.9%). The share attributable to the associate Keri Medical was slightly negative (CHF -0.6 million), reflecting the additional growth expenses and the expansion of Keri Medical's production capacity in Archamps, France.</span></p> <p><span> </span></p> <p><span>Medartis reported a positive net result of CHF</span><span> </span><span>0.6</span><span> </span><span>million compared to a net loss of CHF</span><span> </span><span>5.8</span><span> </span><span>million in the previous year. This includes a financial result of CHF -7.3m (2022: CHF -5.2m), mainly driven by adverse currency movements as well as interest expenses from the NSI acquisition (contingent consideration of CHF 1.4 million). Earnings per share increased from </span><span>‑</span><span>0.49 to 0.05.</span></p> <p><span> </span></p> <p><span>The measures implemented with a view to optimising capital efficiency yielded positive results in 2023, particularly in the enhancement of set and trade receivables management. Despite strong double-digit growth, trade receivable saw only a marginal increase of CHF 0.3 million compared to a CHF 7.5 million increase in the previous year. In addition, inventories were reduced by CHF 1.6 million. Together with improved accounts payable management and a better operating result, this contributed to the improvement in cash flow.</span></p> <p><span> </span></p> <p>Cash flow from operating activities increased by CHF 23.2 million in 2023 and totalled CHF 20.0 million. In 2023, investments in property, plant, and equipment (CapEx) of CHF 14.9 million included CHF 8.7 million in consignment set investments to drive future procedure volumes. Set investments mainly related to the upgrade from Modus 1 to Modus 2 in CMF and to the expansion of the Keri Medical and Field Orthopaedics products. The changes in cash outflow used for investing and financing activities was mainly due to an increase in Medartis’ ownership in Keri Medical SA (current: 47.0%) for CHF 18.1 million, which was financed by net proceeds of CHF 29.7 million from a capital increase in March. At year-end, Medartis reported a cash position of CHF 25.2 million, which represents an increase of CHF 4.6 million compared to one year previously.</p> <p><span style="font-weight: bold;"> </span></p> <p><span style="font-weight: bold; text-transform: uppercase;">Changes to the board proposed</span></p> <p><span>After seven years serving on the Board of Directors at Medartis, Dr. med. Daniel B. Herren has decided not to stand for re-election as Board member at the Annual General Meeting 2024. The Board of Directors will propose Martha Shadan and Jennifer Dean as new members. Both will be appointed as Independent Non-Executive Directors at the upcoming Annual General Meeting on 17 April 2024, subject to shareholder approval. Mrs Shadan, who was previously CEO of the US medical technology companies Miach Orthopaedics and Rotation Medical (acquired by Smith & Nephew), and has held senior positions at Zimmer Biomet and Covidien. With her extensive experience of the US orthopaedic market, she will be very valuable in supporting the management and the board in the further US expansion. Mrs Dean, on the other hand, is currently CFO at medmix, a medical technology company listed on the Swiss stock exchange. She gained valuable international management experience at Sulzer, GE and Alstom and is currently a Board member of the Australian Swiss Chamber of Commerce. With her wide international financial experience, she will be a natural addition to the company’s Finance and Audit Committee. They will both join the Board of Directors as independent members.</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span style="font-weight: bold; text-transform: uppercase;">FULL-YEAR 2024 OUTLOOK</span></p> <p><span style="font-weight: bold; text-transform: uppercase; font-style: italic;">(barring any unforeseen circumstances)</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span>Medartis is confident that it will continue to gain market share and make significant progress in the US and its other core markets in 2024. Management expects market conditions to remain challenging in Australia, where it will face a further 5% price cut in July due to government intervention. Taking all this into account, the company is aiming for global growth in the mid-teens (15-17%). The underlying EBITDA margin at CER is to be improved by around 1 PP in 2024 by striking a balance between further operational efficiency improvements and strategic investments. </span></p> <p><span> </span></p> <p><span style="font-weight: bold;">____________________________________________________________________________________</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span style="font-weight: bold;">INTEGRATED ANNUAL REPORT 2023 AVAILABLE</span></p> <p><span>The Medartis Annual Report 2023 including the audited condensed financial statements and a comprehensive sustainability report was published today on the company’s website. </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=71845652abdda44eb9a57b997c60c574&application_id=1856139&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: none;"><span style="text-decoration: underline;">Download PDF.</span></a></p> <p> </p> <p><span style="font-weight: bold;"> </span></p> <p><span style="font-weight: bold;">ANALYSTS’ AND MEDIA CONFERENCE CALL </span></p> <p><span>Medartis will present its 2023 full-year results to representatives of the financial community and media in an audio webcast today at 10.30 am Swiss time. A webcast of the event will be available at </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=4973ce793740636a8678d4ac414a1e66&application_id=1856139&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: none;"><span style="text-decoration: underline;">https://event.choruscall.com/mediaframe/webcast.html?webcastid=aHE9aLN9</span></a><span>. The webcast will be hosted by Christoph Brönnimann (CEO) and Dirk Kirsten (CFO) and the webcast language will be English. </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=9bb093d8d9183c22fe2d71609c4277e4&application_id=1856139&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: none;"><span style="text-decoration: underline;">Download the presentation here.</span></a></p> <p><span> </span></p> <p><span>An alternative option for anyone experiencing technical problems is to use these telephone numbers:</span></p> <p><span>Switzerland / Europe:</span><span style="display: inline-block; width: 26.51pt;"> </span><span>+41 (0) 58 310 50 00</span></p> <p><span>United Kingdom:</span><span style="display: inline-block; width: 16pt;"> </span><span style="display: inline-block; width: 36pt;"> </span><span>+44 (0) 207 107 06 13</span></p> <p><span>United States:</span><span style="display: inline-block; width: 29.81pt;"> </span><span style="display: inline-block; width: 36pt;"> </span><span>+1 (1) 631 570 56 13</span></p> <p><span>Please dial in five minutes before the start of the conference to register.</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">IMPORTANT DATES AND UPCOMING INVESTOR EVENTS</span></p> <table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="vertical-align: top;"> <p><span>Date</span></p> </td> <td style="vertical-align: top;"> <p><span>Event</span></p> </td> <td style="vertical-align: top;"> <p><span>Broker</span></p> </td> <td style="vertical-align: top;"> <p><span>Destination</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span> </span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>12 March</span></p> </td> <td style="vertical-align: top;"> <p><span>2023 full-year results publication</span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> <td style="vertical-align: top;"> <p><span>Webcast</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>13 March</span></p> </td> <td style="vertical-align: top;"> <p><span>Investor meetings (virtual) </span></p> </td> <td style="vertical-align: top;"> <p><span>Stifel</span></p> </td> <td style="vertical-align: top;"> <p><span>US / UK</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>14 March</span></p> </td> <td style="vertical-align: top;"> <p><span>Investor meetings</span></p> </td> <td style="vertical-align: top;"> <p><span>Octavian</span></p> </td> <td style="vertical-align: top;"> <p><span>Zurich, CH</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>17 April</span></p> </td> <td style="vertical-align: top;"> <p><span>Annual General Meeting 2024</span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> <td style="vertical-align: top;"> <p><span>HQ Basel, CH</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>14 May</span></p> </td> <td style="vertical-align: top;"> <p><span>Investor meetings</span></p> </td> <td style="vertical-align: top;"> <p><span>ZKB</span></p> </td> <td style="vertical-align: top;"> <p><span>London, UK</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>15 May</span></p> </td> <td style="vertical-align: top;"> <p><span>Pan European Small and Mid-Cap Conference</span></p> </td> <td style="vertical-align: top;"> <p><span>UBS</span></p> </td> <td style="vertical-align: top;"> <p><span>London, UK</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>06 November</span></p> </td> <td style="vertical-align: top;"> <p><span>Swiss Equity Conference</span></p> </td> <td style="vertical-align: top;"> <p><span>ZKB</span></p> </td> <td style="vertical-align: top;"> <p><span>Zurich, CH</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>20 November</span></p> </td> <td style="vertical-align: top;"> <p><span>Healthcare Conference</span></p> </td> <td style="vertical-align: top;"> <p><span>Jefferies</span></p> </td> <td style="vertical-align: top;"> <p><span>London</span></p> </td> </tr></tbody></table><p> </p> <p> </p> </div> <hr style="width: 33%;"/><div id="_ftn1"> <p><span>.</span></p> </div> <div id="_ftn2"> <div id="_ftn1"> <p><span><span><span style="vertical-align: super;">[1]</span> "Internal growth" denotes the increase in sales at constant exchange rates (CER), excluding the impact of mergers, acquisitions, and divestments. The NSI's contract manufacturing business is classified as non-strategic and is therefore excluded from this calculation. Internal growth serves as a crucial performance indicator for management.</span></span></p> </div> <div id="_ftn2"> <p><span><span><span style="vertical-align: super;">[2]</span> The one-off costs in 2023 are related to the costs of remediating an IT attack in May. The figures for 2022 exclude the one-off M&A costs for the NSI acquisition and the discontinued China business in order to facilitate an assessment of the underlying operational performance</span></span></p> </div> </div> <div id="_ftn3"> <p><span><span><span style="vertical-align: super;">[3]</span> CMF & other product sales in 2023 include a CHF 10.8 million contribution from NSI’s third party manufacturing business.</span></span></p> </div> </div><div markup="footer"><p><span><span><span><b><span lang="EN-US">About Medartis</span></b></span><br/><span><span lang="EN-US"><span>Founded in 1997 and headquartered in Basel, Switzerland, Medartis (SIX Swiss Exchange: MED / ISIN CH0386200239) is one of the world's leading manufacturers and suppliers of medical devices for the surgical fixation of bone fractures in the upper and lower extremities and the craniomaxillofacial region. Medartis employs more than 830 people in 13 locations and its products are sold in more than 50 countries worldwide. Medartis is committed to providing surgeons and surgical staff with the most innovative titanium implants and instruments, as well as world-class service. For more information, please visit <a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=ac1a9388ff4c0c3cae80f1661ff5fc2d&application_id=1856139&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: none;">www.medartis.com</a>.</span> </span></span></span></span></p> </div><div markup="disclaimer"><p><span><span><span><b><span lang="EN-US"><span>Disclaimer and forward-looking statements</span></span></b><br/><span lang="EN-US"><span>Medartis product pictures and the company logo are trademarks of the Medartis AG in Switzerland and various other countries. All other trademarks are the property of their respective owners.<br/> This  communication  does  not  constitute  an  offer  or  invitation  to  subscribe  for  or  purchase  any securities of Medartis Holding AG. This publication may  contain certain forward-looking statements and assessments or  intentions  concerning  the  company  and  its  business.  Such  statements  involve certain risks, uncertainties and other factors which could cause the actual results, financial condition, performance  or  achievements  of  the  company  to  be  materially  different  from  those  expressed  or implied  by  such  statements.  Readers  should  therefore  not  place  reliance  on  these  statements, particularly not in connection with any contract or investment decision. The company disclaims any obligation to  update these forward-looking  statements,  assessments  or  intentions.  Further,  neither the company nor any of its directors, officers, employees, agents, counsel or advisers nor any other person makes any representation or warranty, express or implied, as to, and accordingly no reliance should be placed on, the accuracy or completeness of the information contained herein or of the views given or implied.</span></span></span></span></span></p> </div><div markup="contact"><p><strong><span><span><span>Your contact:</span></span></span></strong></p> <p><span><span><span>Medartis Holding AG<br/> Hochbergerstrasse 60E<br/> CH-4057 Basel</span></span></span></p> <p><span><span><span>Corporate Communications<br/> Investor contact: <a href="mailto:investor.relations@medartis.com" style="text-decoration: none;">investor.relations@medartis.com</a><br/> Media contact: <a href="mailto:corporate.communication@medartis.com" style="text-decoration: none;">corporate.communication@medartis.com</a><br/> +41 61 633 37 36 </span></span></span></p> </div></div> <br/><hr/>End of Inside Information<hr/></td> </tr></table><table cellpadding="0" cellspacing="0"><tr><td align="left" valign="top" nowrap="nowrap">Language:</td> <td align="left" valign="top">English</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">Company:</td> <td align="left" valign="top">Medartis Holding AG </td> </tr><tr><td align="left" valign="top"/> <td align="left" valign="top">Hochbergerstrasse 60E</td> </tr><tr><td align="left" valign="top"/> <td align="left" valign="top">4057 Basel</td> </tr><tr><td align="left" valign="top"/> <td align="left" valign="top">Switzerland</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">Phone:</td> <td align="left" valign="top">+41 61 633 34 34</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">Fax:</td> <td align="left" valign="top">+41 61 633 34 00</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">E-mail:</td> <td align="left" valign="top">info@medartis.com</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">Internet:</td> <td align="left" valign="top">www.medartis.com</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">ISIN:</td> <td align="left" valign="top">CH0386200239</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">Valor:</td> <td align="left" valign="top">38620023</td> </tr><tr><td align="left" valign="top">Listed:</td> <td align="left" valign="top">SIX Swiss Exchange</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">EQS News ID:</td> <td align="left" valign="top">1856139</td> </tr></table><br/><table border="0" cellpadding="0" cellspacing="0"><tr><td align="left" valign="top" colspan="2"/> </tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td align="left" valign="top" colspan="2"> </td> </tr><tr><td align="left" valign="top">End of Announcement</td> <td align="left" valign="top">EQS News Service</td> </tr></table><table border="0" width="600" cellpadding="0" cellspacing="0"><tr><td> <hr/></td> </tr></table><p> 1856139  12-March-2024 CET/CEST </p> <img src="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=show_t_gif&application_id=1856139&application_name=news&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f" alt="fncls.ssp?fn=show_t_gif&application_id=1856139&application_name=news&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f" width="0" height="0" border="0"/> </div> <div class="mt-4"> <div class="fw-bold"> Visual performance / price development - Medartis Holding AG </div> <div style="height: 400px;" > <div class="position-relative h-100 w-100"> <div class="tradingview-widget-container"> <div class="tradingview-widget-container__widget"></div> <script type="text/javascript" src="https://s3.tradingview.com/external-embedding/embed-widget-mini-symbol-overview.js" async>{"symbol":"SIX:MED","width":"100%","height":"100%","locale":"en","dateRange":"ALL","colorTheme":"dark","trendLineColor":"rgba(41, 98, 255, 1)","underLineColor":"rgba(41, 98, 255, 0.3)","underLineBottomColor":"rgba(41, 98, 255, 0)","isTransparent":true,"autosize":true,"largeChartUrl":"https:\/\/ayondo.com\/en\/technical-analysis\/advanced\/CH0386200239"}</script> </div> <div class="position-absolute w-100 h-100" style="top: 0px; left: 0px; z-index: 2;"></div> </div> <div class="tradingview-widget-copyright"> <a href="https://www.tradingview.com/chart/?symbol={chart_tv_ta_mapping}"> <p><a href="https://www.tradingview.com/chart/?symbol=SIX:MED" target="_blank" rel="noopener"><span class="blue-text">SIX:MED</span></a> Price indication <i>powered by TradingView</i></p> </a> </div> </div> </div> <div class="mt-5 text-end"> <div class="text-muted small"> Smart analysis and research tools can be found <a href="https://ayondo.com/en/technical-analysis/CH0386200239" target="_blank" class="text-reset">here</a>. </div> </div> </div> </div> <div class="mt-5 mt-md-6rem"> <div> <div class="mt-5 mb-3 text-muted"> <p>This publication was provided by our content partner <a href="https://www.eqs-news.com/">EQS</a><sup>3</sup>.</p> </div> <div class="row"> <div class="col-md-3 col-lg-2"> <div class="h3 mb-0"> EQS Newswire </div> <div class="text-muted"> via EQS - Newsfeed </div> <div class="text-muted "> EQS Group AG ©2025 </div> <div class="text-muted mb-3"> (DGAP) </div> </div> <div class="col-md-3 col-lg-2 mt-4 mt-md-0"> <div class="text-muted"> <span class="text-decoration-underline">Contact:</span> </div> <div class=""> Karlstraße 47 D-80333 München </div> <div class=""> +49 (0) 89 444 430-000 </div> <div class=""> <a href="https://www.eqs.com/" target="_blank"> Website </a> </div> </div> <div class="col-md mt-4 mt-md-0"> <ul class="ps-0" style="list-style: none;"> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-twitter"></i></span> <a href="https://twitter.com/eqsgroup" target="_blank"> Twitter </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-meta"></i></span> <a href="https://www.facebook.com/EQSGroup" target="_blank"> Meta </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-youtube"></i></span> <a href="https://www.youtube.com/user/EquityStory" target="_blank"> Youtube </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-instagram"></i></span> <a href="https://www.instagram.com/eqsgroup/" target="_blank"> Instagram </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-linkedin"></i></span> <a href="https://www.linkedin.com/company/eqs-group" target="_blank"> LinkedIn </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fas fa-address-book"></i></span> <a href="https://www.eqs.com/about-eqs/contact/" target="_blank"> Contact </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fas fa-globe"></i></span> <a href="https://www.eqs-news.com/en/" target="_blank"> Newsfeed </a> </li> <li class="d-lg-inline-block pe-lg-2 text-muted"> <span><i class="fas fa-rss"></i></span> RSS </li> <li class="d-lg-inline-block pe-lg-2 text-muted"> <span><i class="fas fa-blog"></i></span> Blog </li> </ul> </div> </div> <div class="text-end"> <a href="" target="_blank"> <img src="/assets/company-logos/eqs-logo.svg" alt="" class="img-fluid" style="max-width: 150px;"> </a> </div> </div> </div> <div class="mt-3"> <p style="text-align:right"> </p> <div style="text-align:right">SMART * AD</div> <div style="text-align:right"><!-- Beginn https://www.financeads.net/-Code --><a href="https://www.financeads.net/tc.php?t=52272C350477686B" target="_blank"><img src="https://www.financeads.net/tb.php?t=52272V350477686B" alt="EN GIF 970X250" border="0" width="970" height="250"></a><!-- Ende https://www.financeads.net/-Code --></div> <p style="text-align:right; margin-top:25px">P R O D U C T   S U G G E S T I O N S </p> <div style="text-align:right;"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4456862306790661" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-4456862306790661" data-ad-slot="9459189361"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> <div class="modal fade" id="modal-chatgpt-disabled" tabindex="-1" aria-labelledby="modal-chatgpt-disabled-label" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-chatgpt-disabled-label"> Virtual AI Assistant </h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div> If you want to use this and other features, follow the "Registration" to create a user account or log in to an existing user account. </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel </button> <a href="https://ayondo.com/en/register" class="btn btn-primary"> Create user account </a> </div> </div> </div> </div> <div class="modal fade" id="modal-chatgpt" tabindex="-1" aria-labelledby="modal-chatgpt-label" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="false"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-chatgpt-label"> <span id="modal-title-enabled"> AI-generated company profile - Important! Do not accept unchecked </span> <span id="modal-title-disabled" style="display: none;"> Virtual AI Assistant </span> </h1> </div> <div class="modal-body"> <div id="modal-body-enabled"> <div id="chatgpt-loading-ta" class="text-center text-primary"> <div class="mb-3"> <i class="fas fa-sync fa-spin fa-5x"></i> </div> <div> Result of the AI analysis<span id="thinking" class="blinking">...</span> </div> </div> <h1 class="h4 mb-3" id="chatgpt-answer-header-ta" style="display: none;"> The AI's analysis of the content resulted in the following brief summary: </h1> <div id="chatgpt-answer-ta" style="display: none; white-space: pre-line;" class="card-remove-p-margin-bottom"> </div> <div id="chatgpt-answer-disclaimer" class="mt-3" style="display: none;"> <div class="small text-end mb-2 text-muted"> <p>Tip: Registered users of the community can save the snippets in the <a href="/en/login">user account</a>.</p> </div> <div class="small text-muted mb-1"> <span class="text-decoration-underline">Disclaimer:</span> </div> <div class="card bg-light-grey border-light-grey mb-3"> <div class="card-body card-remove-p-margin-bottom"> <p>This summary was created with the help of an AI technology. The goal is to bring out the core message of the company's message. The simplification of the statement can help to grasp the content of the message more quickly. The feature is experimental in nature. Do not use the information without verification. More information about <a href="/en/your-question-artifical-intelligence-answers#lab-box">Lab features</a> can be found here.</p> </div> </div> <div class="alert alert-danger mb-0"> Caution: Unverified adoption of previously unquality-assured information is not advised. </div> </div> </div> <div id="modal-body-disabled" style="display: none;"> <div> You have reached the maximum number of queries. Please log in to the user account or try again later. </div> <div> If you want to use this and other features, follow the "Registration" to create a user account or log in to an existing user account. </div> </div> </div> <div class="modal-footer justify-content-between " id="modal-footer-enabled" id="modal-chatgpt-enabled-footer-ta" style="display: none;"> <div class="text-muted small card-remove-p-margin-bottom"> <p>If you use the functionality more often, you can <a href="/en/register">register here</a>.</p> </div> <button type="button" class="btn btn-outline-primary" data-bs-dismiss="modal" id="btn-chatgpt-ok"> Close window </button> </div> <div class="modal-footer" id="modal-footer-disabled" style="display: none;"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel </button> <a href="https://ayondo.com/en/register" class="btn btn-primary"> Create user account </a> </div> </div> </div> </div> <div class="container-lg pb-4"> <div class=""> <div class="mb-2 text-muted"> </div> <div class="alert alert-grey mb-0 card-remove-p-margin-bottom"> <p>The information presented here has been provided by our content partner EQS-Group. The originator of the news is the respective issuer, the company relating to the news, a publication service provider (press or information agency) which uses the distribution service of EQS to transmit company news to shareholders, investors, investors or interested parties. The original publications and other company-relevant information can be found at <a href="https://www.eqs-news.com/en/">eqs-news.com</a>.</p><hr><p>The information you can access does not constitute investment advice. The presentation of our cooperation partners, where the implementation of investment decisions would be possible depending on the individual risk profile, is solely at the discretion of the person using the service. We only present companies of which we are convinced that the range of services and customer service will satisfy discerning investors.</p><p>If you are considering leverage products, familiarise yourself with the typical characteristics of the financial instruments beforehand. Take the time to determine the risk content of the planned investment before making an investment decision. Bear in mind that a total loss cannot be ruled out with leverage products.</p><p>For newcomers to the subject, we offer various options in both the <a href="/en/education">training</a> and the <a href="/en/tools">tools</a> section, through which you can train theoretical knowledge and practical experience and thus improve your skills. The offer ranges from participation in <a href="/en/events">webinars</a> to personal <a href="/en/education/skilltrader">mentoring</a>. The range is continuously being expanded.</p><hr><p><sup>1</sup> Lab features are usually functionalities that emerge from the <a href="/en/concept-ideas">think tank</a> of the investor community. In the early stages, these are experimental functionalities whose development process is largely determined by use and the resulting feedback from the community. When integrating external services or functionalities, the functionality can only be guaranteed to the extent that the individual process elements, such as interfaces, interact with each other.</p> </div> </div> </div> <div class="modal fade" id="modal-report-bug" tabindex="-1" aria-labelledby="modal-report-bug-label" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-report-bug-label"> Report a bug </h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <form id="form-report-bug"> <div class="row"> <div class="col-md-6"> <div class="mb-3 mt-0"> <label for="report-bug-first_name" class="form-label"> First Name <span class="text-danger">*</span> </label> <input id="report-bug-first_name" type="text" class=" form-control " name="first_name" value="" required placeholder="" > <span class="invalid-feedback" role="alert"></span> </div> </div> <div class="col-md-6"> <div class="mb-3 mt-0"> <label for="report-bug-last_name" class="form-label"> Last Name </label> <input id="report-bug-last_name" type="text" class=" form-control " name="last_name" value="" placeholder="" > <span class="invalid-feedback" role="alert"></span> </div> </div> </div> <div class="mb-3 mt-0"> <label for="report-bug-email" class="form-label"> Email <span class="text-danger">*</span> </label> <input id="report-bug-email" type="email" class=" form-control " name="email" value="" required placeholder="" > <span class="invalid-feedback" role="alert"></span> </div> <div class="mb-3 mt-0"> <label for="report-bug-subject" class="form-label"> Subject <span class="text-danger">*</span> </label> <input id="report-bug-subject" type="text" class=" form-control " name="subject" value="" required placeholder="" > <span class="invalid-feedback" role="alert"></span> <div id="subject-help" class="form-text"> i.e Feature x is not working </div> </div> <div class="mb-3"> <label for="issue_happen_on" class="col-form-label"> Issue happened on <span class="text-danger">*</span> </label> <br> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="issue_happen_on" id="this_page" value="this_page" required checked> <label class="form-check-label" for="this_page">This page</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="issue_happen_on" id="other_page" value="other_page" required> <label class="form-check-label" for="other_page">Other page</label> </div> </div> <div style="display:none;"> <div class="mb-3 mt-0"> <label for="report-bug-page_url" class="form-label"> Page URL </label> <input id="report-bug-page_url" type="text" class=" form-control " name="page_url" value="" placeholder="" > <span class="invalid-feedback" role="alert"></span> <div id="page_url-help" class="form-text"> Paste the page URL here </div> </div> </div> <div class="mb-3"> <label for="report-bug-bug_detail" class="form-label"> Bug Detail <span class="text-danger">*</span> </label> <textarea id="report-bug-bug_detail" class=" form-control " name="bug_detail" required="required" placeholder="" rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="bug_detail-help" class="form-text"> Please give us more detailed explanation of the issue </div> </div> <div class="mb-3"> <label for="report-bug-steps_to_reproduce" class="form-label"> Steps to reproduce <span class="text-danger">*</span> </label> <textarea id="report-bug-steps_to_reproduce" class=" form-control " name="steps_to_reproduce" required="required" placeholder="" rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="steps_to_reproduce-help" class="form-text"> Specify the steps you've done before the issue happen </div> </div> <div class="mb-3"> <label for="report-bug-actual_result" class="form-label"> Actual Result <span class="text-danger">*</span> </label> <textarea id="report-bug-actual_result" class=" form-control " name="actual_result" required="required" placeholder="" rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="actual_result-help" class="form-text"> What's the result of the issue? </div> </div> <div class="mb-3"> <label for="report-bug-expected_result" class="form-label"> Expected Result <span class="text-danger">*</span> </label> <textarea id="report-bug-expected_result" class=" form-control " name="expected_result" required="required" placeholder="" rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="expected_result-help" class="form-text"> What do you expect to see? </div> </div> <div class="mb-3 mt-0"> <label for="report-bug-attachment" class="form-label"> Attachment </label> <input id="report-bug-attachment" type="file" class=" form-control " name="attachment" value="" placeholder="" accept=".jpg,.jpeg,.png,.gif,.pdf,.doc,.docx" > <span class="invalid-feedback" role="alert"></span> <div id="attachment-help" class="form-text"> (Optional) You can send us a screenshot, word document, or a PDF explaining the issue </div> </div> <div data-sitekey="6LcPXdgbAAAAADsU9u3L3DFMLzoO6JmMIxIR9Krl" class="g-recaptcha"></div> <script src="https://www.google.com/recaptcha/api.js?hl=en" async defer></script> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel </button> <button type="button" class="btn btn-primary" id="btn-submit-report-bug"> Submit issue </button> </div> </div> </div> </div> <div class="modal fade" id="modal-cta" tabindex="-1" aria-labelledby="modal-cta-label" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-sso-label"> Important note </h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="mb-3"> You have pressed the "<span class="modal-cta-content-button"></span>". We would like to inform you that you are now leaving the information service of the portal site ayondo.com. You will be redirected to <span class="modal-cta-content-partner"></span>. After confirming the "Continue" button, you confirm that you have been informed of this. You also confirm that you are carrying out this process of your own free will and that it is not the result of any promotional activity or other influence. Continue to <span class="modal-cta-content-partner"></span>. </div> <div class="form-check "> <input class="form-check-input cta-cbo-accept" type="checkbox" name="cbo_cta_1" id="cbo_cta_1" required value="1" > <label class="form-check-label " for="cbo_cta_1"> Understood and confirmed <span class="text-danger">*</span> </label> </div> <div class="form-check "> <input class="form-check-input cta-cbo-accept" type="checkbox" name="cbo_cta_2" id="cbo_cta_2" required value="1" > <label class="form-check-label " for="cbo_cta_2"> I would like to continue <span class="text-danger">*</span> </label> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel </button> <span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" data-bs-title="Please confirm to continue" data-bs-placement="bottom" id="btn-cta-proceed-wrapper"> <a class="btn btn-primary disabled" id="btn-cta-proceed" aria-disabled="true" href="" target="_blank"> Continue </a> </span> </div> </div> </div> </div> <div class="modal fade" id="modal-suggest-feature" tabindex="-1" aria-labelledby="modal-suggest-feature-label" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-suggest-feature-label"> Submit improvement suggestion/new feature </h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <form id="form-suggest-feature"> <div class="alert alert-danger card-remove-p-margin-bottom"> <p>Please log in to your <a href="https://ayondo.com/en/login?suggest_feature=1&ref_uri=news%2FCH0386200239%2Fmedartis-holding-ag%2Fmedartis-increases-sales-by-21-cer-and-improves-its-underlying-ebitda-margin-to-16-1856139">user account</a>. This will allow us to contact you in case of any queries.</p> </div> <div class="mb-4"> <div class="form-check "> <input class="form-check-input " type="checkbox" name="anon" id="suggest-feature-anon" value="1" > <label class="form-check-label " for="suggest-feature-anon"> I would like to remain anonymous. </label> </div> </div> <div id="form-suggest-feature-content" style=" display: none; "> <div class="mb-3 mt-0"> <label for="suggest-feature-subject" class="form-label"> Subject <span class="text-danger">*</span> </label> <input id="suggest-feature-subject" type="text" class=" form-control " name="subject" value="" required placeholder="Give a brief indication here of what your proposal relates to." > <span class="invalid-feedback" role="alert"></span> <div id="subject-help" class="form-text"> e.g. New calculation method for Risk-of-Ruin-Calculator </div> </div> <div class="mb-3"> <label for="issue_happen_on" class="col-form-label"> View/Tool <span class="text-danger">*</span> </label> <br> <div class="form-check form-check-inline"> <input class="form-check-input suggest-feature-page" type="radio" name="page" id="suggest-feature-rdo-this_page" value="this_page" required checked> <label class="form-check-label" for="suggest-feature-rdo-this_page">This view/tool</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input suggest-feature-page" type="radio" name="page" id="suggest-feature-rdo-other_page" value="other_page" required> <label class="form-check-label" for="suggest-feature-rdo-other_page">Another page/tool</label> </div> </div> <div style="display:none;"> <div class="mb-3 mt-0"> <label for="suggest-feature-page_url" class="form-label"> Link to view/tool </label> <input id="suggest-feature-page_url" type="text" class=" form-control " name="page_url" value="" placeholder="Link to the subpage or reference page (https://www.ayondo.com/unterseite)" > <span class="invalid-feedback" role="alert"></span> <div id="page_url-help" class="form-text"> View/Tool (specify URL/link) </div> </div> </div> <div class="mb-3"> <label for="suggest-feature-content" class="form-label"> Description of the proposed change/feedback <span class="text-danger">*</span> </label> <textarea id="suggest-feature-content" class=" form-control " name="content" required="required" placeholder="Use this input field to send us your change requests, feedback or suggestions for improvement." rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="content-help" class="form-text"> The more comprehensible the description, the faster a feasibility check can be carried out. </div> </div> <div class="mb-3"> <label for="suggest-feature-feedback" class="form-label"> General feedback on the view/tool/component/content <span class="text-danger">*</span> </label> <textarea id="suggest-feature-feedback" class=" form-control " name="feedback" required="required" placeholder="If you like the content provided, we would appreciate your feedback. This will enable us to make improvements if necessary." rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="feedback-help" class="form-text"> Use this feedback text field for general or supplementary information </div> </div> <div class="mb-3"> <label for="suggest-feature-feature_opinion" class="form-label"> Would you use the tool and recommend it if necessary? <span class="text-danger">*</span> </label> <textarea id="suggest-feature-feature_opinion" class=" form-control " name="feature_opinion" required="required" placeholder="We welcome any kind of feedback, including criticism. We take this as an opportunity to improve the information offered and usability in your interest." rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="feature_opinion-help" class="form-text"> Your opinion is valuable. Feel free to share it with us. </div> </div> <div data-sitekey="6LcPXdgbAAAAADsU9u3L3DFMLzoO6JmMIxIR9Krl" class="g-recaptcha"></div> <script src="https://www.google.com/recaptcha/api.js?hl=en" async defer></script> </div> </form> </div> <div class="modal-footer" style=" display: none; " id="modal-suggest-feature-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel process </button> <button type="button" class="btn btn-primary" id="btn-submit-suggest-feature"> Submit form </button> </div> </div> </div> </div> <div class="container mb-5"> </div> <footer class="mt-auto"> <div class="container-lg"> <div class="row d-flex justify-content-sm-between mb-2"> <div class="col-auto"> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Report Bug"> <button type="button" class="btn btn-link text-decoration-none" data-bs-toggle="modal" data-bs-target="#modal-report-bug"> <i class="fas fa-bug"></i> Report a bug </button> </span> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Suggest feature"> <button type="button" class="btn btn-link text-decoration-none" data-bs-toggle="modal" data-bs-target="#modal-suggest-feature" id="btn-modal-suggest-feature"> <i class="fas fa-lightbulb"></i> Suggest a feature </button> </span> <a href="https://ayondo.com/en/surveys/two-minutes-feedback-form?topic_id=15&answer_option=individual" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="If you think something is great or could be improved, please let us know. We welcome all kinds of feedback. We take critical comments as an opportunity to improve the information we provide." class="btn btn-link text-decoration-none"> <i class="fa-solid fa-comments"></i> Your opinion is important to us! </a> </div> <div class="col-auto"> <a href="https://ayondo.com/en/knowledge-hub/frequently-asked-questions/start-here" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Users can find a wealth of valuable information and an extensive collection of FAQs in the specially developed section." class="btn btn-link text-decoration-none"> <i class="fa-solid fa-question"></i> FAQ </a> </div> </div> </div> <div class="bg-footer-contact-blue py-4 font-open-sans text-white " style=""> <div class="container-lg"> <div class="row text-center d-flex justify-content-center g-2"> <div class="col-md-auto d-flex flex-column"> <div class="mt-auto"> <a href="https://ayondo.com/en/general-inquiries" class="btn btn-contact-panel-black"> You are <u>interested</u> </a> </div> </div> <div class="col-md-auto py-2 border-top border-bottom border-contact-panel-black"> <a href="https://ayondo.com/en/important-contact-numbers" class="btn btn-contact-panel-black fw-500 font-1125"> Do you have a request? Get in contact with us </a> </div> <div class="col-md-auto d-flex flex-column"> <div class="mt-auto"> <a href="https://ayondo.com/en/login?inquiry=1" class="btn btn-contact-panel-black"> You are already <u>a member</u>? </a> </div> </div> </div> </div> </div> <div class="bg-nav-blue pt-4 footer-nav" style=""> <div class="container-lg" style="opacity: 0.5"> <div class="text-line border-white text-start ps-4 text-white bg-transparent text-center m-0" style=""> <span class="bg-nav-blue" style=" "> Who is online? Community stats (Snapshot): 19.868 Visitors - 12.786 Registered members - 14 New registrations (Welcome!) </span> </div> </div> </div> <div class="bg-nav-blue pt-5 font-open-sans footer-nav" style=""> <div class="container-lg position-relative"> <div class="row position-relative"> <div class="col-md-4 pe-md-5"> <div class="mb-3"> <img src="https://ayondo.com/assets/logo/logo-blue.svg" alt=""> </div> <div class="text-white font-1-rem mb-4" style=""> ayondo® 2025 - Est.: 2008 - Technology provider, social network, trader community and online platform for investors with an affinity for the stock market - Information, data and news network - Multi-award-winning international business model - Proprietary technology - Fintech pioneer and innovation driver for disruptive technologies - Made in Germany | AI First | NextGen-Finovator </div> <div class="row mb-5"> <div class="col-auto position-relative"> <div class="mb-0 text-white font-1-rem" style=""> Made in Germany </div> <div style="position: absolute; width: calc(100% - 24px); bottom: -16px;"> <img src="https://ayondo.com/assets/illustration/footer-german-panel.png" alt="" class="img-fluid"> </div> </div> </div> <div class="mb-2"> <a href="https://ayondo.com/en/subscribe" class="btn btn-outline-white border-white" data-bs-toggle="tooltip" data-bs-title="Subscribe Newsletter to get informed" data-bs-placement="bottom" style=""> ayondo-prime </a> <a href="https://ayondo.com/en/technology" class="btn btn-outline-white border-white" data-bs-toggle="tooltip" data-bs-title="α² ('ælfə skweə')" data-bs-placement="bottom" style=""> a<sup>2</sup> </a> </div> </div> <div class="col-md-8 mt-4 mt-md-0 position-relative"> <div class="mb-2 d-flex"> <h4 class="text-white text-decoration-underline mb-0" style=" text-underline-offset: 10px;"> Useful Links </h4> <a href="https://ayondo.com/en/happy-customer"> <img src="https://ayondo.com/assets/illustration/footer-smiley.png" alt="" style=" width: 50px; position: relative; top: -10px;left: 5px;"> </a> </div> <div class="row"> <div class="col-sm-6 col-md-3 "> <div> <div class="mb-1"> <a href="https://ayondo.com/en/about-us" class="text-decoration-none text-white footer-link" style=""> About Us </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/mission-vision" class="text-decoration-none text-white footer-link" style=""> Vision/Mission </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/imprint" class="text-decoration-none text-white footer-link" style=""> Imprint </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/legal" class="text-decoration-none text-white footer-link" style=""> Legal </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/terms-of-service" class="text-decoration-none text-white footer-link" style=""> Terms of service </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/privacy-policy" class="text-decoration-none text-white footer-link" style=""> Data Protection </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/cookie-policy" class="text-decoration-none text-white footer-link" style=""> Cookie Guidelines </a> </div> <div class="mb-1"> <a href="#" class="text-decoration-none text-white toggle-cookiebot footer-link" style=""> Privacy </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/important-contact-numbers" class="text-decoration-none text-white footer-link" style=""> Contact </a> </div> </div> </div> <div class="col-sm-6 col-md-3 mt-3 mt-sm-0 mt-md-0 "> <div> <div class="mb-1"> <a href="https://ayondo.com/en/metatrader-4" class="text-decoration-none text-white footer-link" style=""> MetaTrader 4 </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/metatrader-5" class="text-decoration-none text-white footer-link" style=""> MetaTrader 5 </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/activtrader" class="text-decoration-none text-white footer-link" style=""> ActivTrader </a> </div> </div> </div> <div class="col-sm-6 col-md-3 mt-3 mt-sm-0 mt-md-0 "> <div> <div class="mb-1"> <a href="https://ayondo.com/en/education" class="text-decoration-none text-white footer-link" style=""> Education </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/tools" class="text-decoration-none text-white footer-link" style=""> Tools </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/products" class="text-decoration-none text-white footer-link" style=""> Product Universe </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/knowledge-hub/frequently-asked-questions" class="text-decoration-none text-white footer-link" style=""> FAQ </a> </div> <div class="mt-4"> <a href="https://ayondo.com/en/visual-sitemap" class="text-white footer-link" style=""> Visual Sitemap </a> </div> </div> </div> </div> <div class="row d-flex justify-content-md-center mt-4 position-relative" id="footer-qrs"> <div class="col-md-6 col-xl-5 position-relative"> <div class="text-end"> <span tabindex="0" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Coming soon!"> <a href="#" class="text-decoration-none text-white opacity-50" disabled style=""> <i class="fas fa-headset"></i> Helpdesk </a> </span> </div> <div class="text-white fast-lane white" style=""> <span class="bg-nav-blue" style=""> Fast lane </span> </div> <div class="row d-flex justify-content-center"> <div class="col-auto text-center" data-bs-toggle="tooltip" data-bs-title="Scan or follow the link to apply for a riskless Training platform" data-bs-placement="bottom"> <a href="https://ayondo.com/en/train-with-virtual-money" target="_blank"> <img src="https://ayondo.com/uploads/at-qrs/1_en.png" alt=""> </a> <br> <a href="https://ayon.do/v" target="_blank" class="text-decoration-none text-black footer-link text-white" style=""> https://ayon.do/v </a> </div> <div class="col-auto text-center" data-bs-toggle="tooltip" data-bs-title="Scan or follow the link to apply for a real money trading account" data-bs-placement="bottom"> <a href="https://ayondo.com/en/invest-with-real-money" target="_blank"> <img src="https://ayondo.com/uploads/at-qrs/2_en.png" alt=""> </a> <br> <a href="https://ayon.do/r" target="_blank" class="text-decoration-none text-black footer-link text-white" style=""> https://ayon.do/r </a> </div> </div> <div class="position-absolute" style="top: 5px; left: -20px;"> <a href="https://ayondo.com/en/the-friendly-social-trading-network-community"> <img src="https://ayondo.com/assets/illustration/footer-social-ayondo.png" alt="" style="width: 50px;"> </a> </div> </div> </div> </div> <div class="col-12 text-end text-white py-2" style=""> <span class="text-tiny"><i>ayondo® - my community, my spirit</i></span> </div> </div> <div class="position-absolute footer-logo-star-wrapper"> <a href="https://ayondo.com/en/technology" data-bs-toggle="tooltip" data-bs-title="ayondo®-Disruptive FinTech solutions since 2008" data-bs-placement="left"> <img src="https://ayondo.com/assets/illustration/footer-logo-stars.png" alt=""> </a> </div> </div> </div> <div class="bg-nav-blue footer-nav" style=""> <div class="bg-footer-social py-3 font-open-sans"> <div class="container-lg"> <div class="row"> <div class="col-md d-flex align-items-center"> <div class="row"> <div class="col-auto d-flex align-items-center"> <h5 class="mb-0 text-white"> Social Media Links </h5> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="LinkedIn" target="_blank"> <i class="fab fa-linkedin fa-2x"></i> </a> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="Facebook" target="_blank"> <i class="fab fa-facebook fa-2x"></i> </a> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="Instagram" target="_blank"> <i class="fab fa-instagram fa-2x"></i> </a> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="Twitter" target="_blank"> <i class="fab fa-twitter fa-2x"></i> </a> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="Youtube" target="_blank"> <i class="fab fa-youtube fa-2x"></i> </a> </div> </div> </div> <div class="col-md-5 mt-3 mt-md-0 d-flex align-items-center"> <form action="https://ayondo.com/en/subscribe" method="GET" class="w-100"> <div class="row w-100 g-0"> <div class="col-auto d-flex align-items-center pe-4"> <h5 class="text-white mb-0"> Newsletter </h5> </div> <div class="col"> <div class="input-group"> <input type="email" class="form-control" placeholder="Enter your email" aria-label="Enter your email" aria-describedby="button-newsletter-email" name="email"> <button class="btn btn-black" type="submit" id="button-newsletter-email"> <i class="fas fa-paper-plane"></i> </button> </div> </div> </div> </form> </div> </div> </div> </div> </div> <div class="bg-black" > <div class="bg-blue pt-4 text-white"> <div class="container-lg"> <div class="mb-2"> <p>ayondo® is a trademark of RSQ Technology Ventures GmbH ("RSQ"). RSQ is the operator of the Internet presence ayondo.com and its sub-sites. ayondo® as a brand represents a community of interest that is connected via a social network and common interests.</p><p>Financial literacy represents a key qualification. A key objective is to promote financial knowledge and financial literacy. The content published on the online portal is aimed at people who are interested in information and education in the field of investment, investing and trading and related topics. As a precautionary measure, we would like to point out that none of the content available on ayondo.com can be interpreted as a recommendation or invitation to buy or sell financial instruments, nor does it constitute any other advisory service. An explicit recommendation to use a particular service, information or financial instruments is not made.</p><p>Inasmuch as investment brokerage within the meaning of Section 2 (2) No. 3 of the German Securities Trading Act (WpIG) is provided via the online portal ayondo.com, RSQ acts as a contractually bound broker pursuant to Section 3 (2) WpIG. This service is provided exclusively for the account and under the liability of DonauCapital Wertpapier GmbH, Passauer Str. 5, 94161 Ruderting. In this case, the contractual partner of the customer is exclusively DonauCapital Wertpapier GmbH.</p><p>RSQ is entered as a contractually bound intermediary of DonauCapital Wertpapier GmbH in the public register maintained by the Federal Financial Supervisory Authority (BaFin) on the Internet. The register can be viewed at www.bafin.de.</p><p>If interested parties wish to take advantage of securities services with reference to CFD or FX trading, there is the option to consider offers from our cooperation partners for this purpose. Provided that this option is used, RSQ will broker trading accounts to the ActivTrades group of companies.</p> </div> <div class="text-end"> <a href="https://cybernord.se/" target="_blank" class="text-decoration-none"> <img src="https://ayondo.com/assets/illustration/protected-cybernord.png" alt="" style="width: 75px;" data-bs-toggle="tooltip" data-bs-title="protected by Proteo CyberDefence Shield ('PCDS')" data-bs-placement="left"> </a> </div> </div> </div> <div class="bg-blue text-white"> <div class=" py-4"> <div class="container-lg"> <hr> <div class="footer-blue-tinted p-2"> CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. Between 74% and 89% of all retail investor accounts lose money when trading CFDs. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money. </div> </div> </div> </div> </div> <div class="bg-black font-open-sans border-top" style="border-color: rgba(255,255,255,0.25) !important;"> <div class="container-lg"> <div class="row"> <div class="col-auto text-grey-on-black d-flex align-items-center"> <a href="https://ayondo.com/en/about-us" class="btn btn-nav-bottom"> ©ayondo · THE Social Trading Pioneer · FinTech made in Germany · 2025 </a> </div> <div class="col"> <div class="row d-flex justify-content-end"> <div class="col-auto"> <a href="https://ayondo.com/en/legal" class="btn btn-nav-bottom">Consumer information</a> </div> <div class="col-auto"> <a href="https://ayondo.com/en/imprint" class="btn btn-nav-bottom">Imprint</a> </div> </div> </div> </div> </div> </div></footer> <div class="sticky-bottom animate__animated animate__slideInUp" style="display: none;" id="bottom-info-bar"> <div class="bottom-info-bar"> <div class="container-lg py-2"> <div class="row"> <div class="col"> <div id="bottom-info-bar-content" class="card-remove-p-margin-bottom"></div> </div> <div class="col-auto"> <a href="" id="btn-close-bottom-info-bar"> <i class="fas fa-times"></i> </a> </div> </div> </div> </div> </div> </div> <script src="https://ayondo.com/js/jquery-3.6.3.min.js"></script> <script src="https://ayondo.com/js/jquery.easy-ticker.min.js"></script> <script src="https://ayondo.com/js/lazysizes.min.js" async=""></script> <script src="https://ayondo.com/js/share.js"></script> <script> function number_format (number, decimals, dec_point, thousands_sep) { try { if(number == 0 || number === null){ return '0' + dec_point + '0'.repeat(decimals); } if(number === null || number == ''){ return ''; } // Strip all characters but numerical ones. number = (number + '').replace(/[^0-9+\-Ee.]/g, ''); var n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, dec = (typeof dec_point === 'undefined') ? '.' : dec_point, s = '', toFixedFix = function (n, prec) { var k = Math.pow(10, prec); return '' + Math.round(n * k) / k; }; // Fix for IE parseFloat(0.55).toFixed(0) = 0; s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); if (s[0].length > 3) { s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); } if ((s[1] || '').length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1).join('0'); } return s.join(dec); } catch (err){ console.log(err); console.log(number); console.log(decimals); console.log(dec_point); console.log(thousands_sep); return number; } } function number_format_de(number, dec_places = 2){ return number_format(number, dec_places, ',', '.'); } function update_prices(){ if($('.stock-price').length || $('#vola-pos-number').length || $('#snapshot-dax').length || $('#snapshot-sp500').length || $('#snapshot-nasdaq').length || $('#snapshot-nasdaq-100').length || $('#snapshot-nikkei225').length || $('#snapshot-ftse-100').length || $('#snapshot-dow-jones').length|| $('#snapshot-asx-200').length || $('#snapshot-bitcoin').length || $('#snapshot-cac-40').length || $('#snapshot-eurostoxx-50').length || $('#snapshot-bovespa').length){ $.ajax({ type: 'POST', url: 'https://ayondo.com/en/ajax/stock-prices', dataType: 'json', success: function(response){ if(response.success){ for(var parent in response.stocks){ var list = response.stocks[parent]; list.forEach(function(item, idx){ $('.stock-price[data-symbol="' + item.symbol + '"][data-parent="' + parent + '"]').html(number_format_de(item.price)); if(item.symbol == 'VIX' && $('#vola-pos-pointer').length && $('#vola-pos-number').length){ $('#vola-pos-pointer').css('margin-left', 'calc(' + item.price + '% - 10px)'); $('#vola-pos-number').css('margin-left', 'calc(' + item.price + '% - 20px)'); $('#vola-pos-number').data('value', item.price); $('#vola-pos-number').html(number_format_de(item.price) + '%'); $('#vola-pos-pointer').show(); $('#vola-pos-number').show(); if($('#snapshot-vix').length){ // get last_vix var last_vix = $('#snapshot-vix-percent').data('last-vix'); if(typeof last_vix !== 'undefined'){ $('#snapshot-vix-number').html(number_format_de(item.price)); var change = (item.price - last_vix) / last_vix * 100; var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-vix-percent').html(formatted); $('#snapshot-vix-date').html(item.updated_at); if(change >= 0){ $('#snapshot-vix').css('background', '#850000'); } else { $('#snapshot-vix').css('background', '#5c6934'); } $('#snapshot-vix').addClass('text-white'); $('#snapshot-vix').show(); } if($('#vix-current-input').length){ $('#vix-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#vix-indicator-date').html(date); $('#vix-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#vix-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.symbol == 'DAX'){ if($('#snapshot-dax').length){ // get last_vix var last_dax = $('#snapshot-dax-percent').data('last-dax'); if(typeof last_dax !== 'undefined'){ $('#snapshot-dax-number').html(number_format_de(item.price)); var change = (item.price - last_dax) / last_dax * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-dax-percent').html(formatted); $('#snapshot-dax-date').html(item.updated_at); if(change >= 0){ $('#snapshot-dax').css('background', '#5c6934'); } else { $('#snapshot-dax').css('background', '#850000'); } $('#snapshot-dax').addClass('text-white'); $('#snapshot-dax').show(); } if($('#dax-current-input').length){ $('#dax-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#dax-indicator-date').html(date); $('#dax-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#dax-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'FTSE'){ if($('#snapshot-ftse-100').length){ // get last_vix var last_ftse_100 = $('#snapshot-ftse-100-percent').data('last-ftse-100'); if(typeof last_ftse_100 !== 'undefined'){ $('#snapshot-ftse-100-number').html(number_format_de(item.price)); var change = (item.price - last_ftse_100) / last_ftse_100 * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-ftse-100-percent').html(formatted); $('#snapshot-ftse-100-date').html(item.updated_at); if(change >= 0){ $('#snapshot-ftse-100').css('background', '#5c6934'); } else { $('#snapshot-ftse-100').css('background', '#850000'); } $('#snapshot-ftse-100').addClass('text-white'); $('#snapshot-ftse-100').show(); } if($('#ftse-100-current-input').length){ $('#ftse-100-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#ftse-100-indicator-date').html(date); $('#ftse-100-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#ftse-100-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'DOW'){ if($('#snapshot-dow-jones').length){ // get last_vix var last_dow_jones = $('#snapshot-dow-jones-percent').data('last-dow-jones'); if(typeof last_dow_jones !== 'undefined'){ $('#snapshot-dow-jones-number').html(number_format_de(item.price)); var change = (item.price - last_dow_jones) / last_dow_jones * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-dow-jones-percent').html(formatted); $('#snapshot-dow-jones-date').html(item.updated_at); if(change >= 0){ $('#snapshot-dow-jones').css('background', '#5c6934'); } else { $('#snapshot-dow-jones').css('background', '#850000'); } $('#snapshot-dow-jones').addClass('text-white'); $('#snapshot-dow-jones').show(); } if($('#dow-jones-current-input').length){ $('#dow-jones-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#dow-jones-indicator-date').html(date); $('#dow-jones-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#dow-jones-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'ASX200'){ if($('#snapshot-asx-200').length){ // get last_vix var last_asx = $('#snapshot-asx-200-percent').data('last-asx-200'); if(typeof last_asx !== 'undefined'){ $('#snapshot-asx-200-number').html(number_format_de(item.price)); var change = (item.price - last_asx) / last_asx * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-asx-200-percent').html(formatted); $('#snapshot-asx-200-date').html(item.updated_at); if(change >= 0){ $('#snapshot-asx-200').css('background', '#5c6934'); } else { $('#snapshot-asx-200').css('background', '#850000'); } $('#snapshot-asx-200').addClass('text-white'); $('#snapshot-asx-200').show(); } if($('#asx-200-current-input').length){ $('#asx-200-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#asx-200-indicator-date').html(date); $('#asx-200-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#asx-200-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.symbol == 'USDBTC'){ if($('#snapshot-bitcoin').length){ // get last_bitcoin var last_bitcoin = $('#snapshot-bitcoin-percent').data('last-bitcoin'); if(typeof last_bitcoin !== 'undefined'){ $('#snapshot-bitcoin-number').html(number_format_de(item.price)); var change = (item.price - last_bitcoin) / last_bitcoin * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-bitcoin-percent').html(formatted); $('#snapshot-bitcoin-date').html(item.updated_at); if(change >= 0){ $('#snapshot-bitcoin').css('background', '#5c6934'); } else { $('#snapshot-bitcoin').css('background', '#850000'); } $('#snapshot-bitcoin').addClass('text-white'); $('#snapshot-bitcoin').show(); } if($('#bitcoin-current-input').length){ $('#bitcoin-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#bitcoin-indicator-date').html(date); $('#bitcoin-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#bitcoin-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'CAC'){ if($('#snapshot-cac-40').length){ // get last_vix var last_cac = $('#snapshot-cac-40-percent').data('last-cac-40'); if(typeof last_cac !== 'undefined'){ $('#snapshot-cac-40-number').html(number_format_de(item.price)); var change = (item.price - last_cac) / last_cac * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-cac-40-percent').html(formatted); $('#snapshot-cac-40-date').html(item.updated_at); if(change >= 0){ $('#snapshot-cac-40').css('background', '#5c6934'); } else { $('#snapshot-cac-40').css('background', '#850000'); } $('#snapshot-cac-40').addClass('text-white'); $('#snapshot-cac-40').show(); } if($('#cac-40-current-input').length){ $('#cac-40-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#cac-40-indicator-date').html(date); $('#cac-40-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#cac-40-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'EUROSTOXX'){ if($('#snapshot-eurostoxx-50').length){ // get last_vix var last_eurostoxx_50 = $('#snapshot-eurostoxx-50-percent').data('last-eurostoxx-50'); if(typeof last_eurostoxx_50 !== 'undefined'){ $('#snapshot-eurostoxx-50-number').html(number_format_de(item.price)); var change = (item.price - last_eurostoxx_50) / last_eurostoxx_50 * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-eurostoxx-50-percent').html(formatted); $('#snapshot-eurostoxx-50-date').html(item.updated_at); if(change >= 0){ $('#snapshot-eurostoxx-50').css('background', '#5c6934'); } else { $('#snapshot-eurostoxx-50').css('background', '#850000'); } $('#snapshot-eurostoxx-50').addClass('text-white'); $('#snapshot-eurostoxx-50').show(); } if($('#eurostoxx-50-current-input').length){ $('#eurostoxx-50-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#eurostoxx-50-indicator-date').html(date); $('#eurostoxx-50-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#eurostoxx-50-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'SP500'){ if($('#snapshot-sp500').length){ // get last_vix var last_record = $('#snapshot-sp500-percent').data('last-sp500'); if(typeof last_record !== 'undefined'){ $('#snapshot-sp500-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-sp500-percent').html(formatted); $('#snapshot-sp500-date').html(item.updated_at); if(change >= 0){ $('#snapshot-sp500').css('background', '#5c6934'); } else { $('#snapshot-sp500').css('background', '#850000'); } $('#snapshot-sp500').addClass('text-white'); $('#snapshot-sp500').show(); } if($('#sp500-current-input').length){ $('#sp500-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#sp500-indicator-date').html(date); $('#sp500-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#sp500-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'NASDAQ'){ if($('#snapshot-nasdaq').length){ // get last_vix var last_record = $('#snapshot-nasdaq-percent').data('last-nasdaq'); if(typeof last_record !== 'undefined'){ $('#snapshot-nasdaq-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-nasdaq-percent').html(formatted); $('#snapshot-nasdaq-date').html(item.updated_at); if(change >= 0){ $('#snapshot-nasdaq').css('background', '#5c6934'); } else { $('#snapshot-nasdaq').css('background', '#850000'); } $('#snapshot-nasdaq').addClass('text-white'); $('#snapshot-nasdaq').show(); } if($('#nasdaq-current-input').length){ $('#nasdaq-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#nasdaq-indicator-date').html(date); $('#nasdaq-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#nasdaq-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'NASDAQ-100'){ if($('#snapshot-nasdaq-100').length){ // get last_vix var last_record = $('#snapshot-nasdaq-100-percent').data('last-nasdaq-100'); if(typeof last_record !== 'undefined'){ $('#snapshot-nasdaq-100-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-nasdaq-100-percent').html(formatted); $('#snapshot-nasdaq-100-date').html(item.updated_at); if(change >= 0){ $('#snapshot-nasdaq-100').css('background', '#5c6934'); } else { $('#snapshot-nasdaq-100').css('background', '#850000'); } $('#snapshot-nasdaq-100').addClass('text-white'); $('#snapshot-nasdaq-100').show(); } if($('#nasdaq-100-current-input').length){ $('#nasdaq-100-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#nasdaq-100-indicator-date').html(date); $('#nasdaq-100-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#nasdaq-100-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'BOVESPA'){ if($('#snapshot-bovespa').length){ // get last_vix var last_record = $('#snapshot-bovespa-percent').data('last-bovespa'); if(typeof last_record !== 'undefined'){ $('#snapshot-bovespa-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-bovespa-percent').html(formatted); $('#snapshot-bovespa-date').html(item.updated_at); if(change >= 0){ $('#snapshot-bovespa').css('background', '#5c6934'); } else { $('#snapshot-bovespa').css('background', '#850000'); } $('#snapshot-bovespa').addClass('text-white'); $('#snapshot-bovespa').show(); } if($('#bovespa-current-input').length){ $('#bovespa-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#bovespa-indicator-date').html(date); $('#bovespa-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#bovespa-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'NIKKEI'){ if($('#snapshot-nikkei225').length){ // get last_vix var last_record = $('#snapshot-nikkei225-percent').data('last-nikkei225'); if(typeof last_record !== 'undefined'){ $('#snapshot-nikkei225-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; console.log(item.price); console.log(last_record); console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-nikkei225-percent').html(formatted); $('#snapshot-nikkei225-date').html(item.updated_at); if(change >= 0){ $('#snapshot-nikkei225').css('background', '#5c6934'); } else { $('#snapshot-nikkei225').css('background', '#850000'); } $('#snapshot-nikkei225').addClass('text-white'); $('#snapshot-nikkei225').show(); } if($('#nikkei225-current-input').length){ $('#nikkei225-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#nikkei225-indicator-date').html(date); $('#nikkei225-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#nikkei225-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } }); } } else { console.log(response); } }, error: function(response){ console.log(response); } }) } } function copyToClipboard(text, el) { var copyTest = document.queryCommandSupported('copy'); var elOriginalText = el.attr('data-original-title'); if (copyTest === true) { var copyTextArea = document.createElement("textarea"); copyTextArea.value = text; document.body.appendChild(copyTextArea); copyTextArea.select(); try { var successful = document.execCommand('copy'); var msg = successful ? 'Copied!' : 'Whoops, not copied!'; // var msg = 'Whoops, not copied!'; el.attr('data-original-title', msg).tooltip('show'); // el.attr('data-original-title', msg).tooltip('hide'); } catch (err) { console.log(err); console.log('Oops, unable to copy'); } document.body.removeChild(copyTextArea); el.attr('data-original-title', elOriginalText); } else { // Fallback if browser doesn't support .execCommand('copy') window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text); } } function resize_svgs(){ $('.svg-container').each(function(){ var content = $(this).find('.svg-content'); var height = content.height(); $(this).css('padding-bottom', height + 'px'); }) } function countdown_onair(event_start_time, current_time, panel_gone_time){ // var total_sec_end = get_total_sec(event_start_time); // var total_sec_now = get_total_sec(current_time); var end = event_start_time.getTime(); var now = current_time.getTime(); var disappear = panel_gone_time.getTime(); // var end = new Date("Sep 25, 2025 15:00:00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get todays date and time // var total_sec_now = new Date().getTime(); // total_sec_now += 1; now += 1000; // disappear += 1000; // Find the distance between now an the count down date // var distance = total_sec_end - total_sec_now; var distance = end - now; var distance_gone = disappear - now; // console.log(distance); // console.log(distance_gone / 1000); if(distance > 0){ // Time calculations for days, hours, minutes and seconds var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); // var hours = Math.floor((distance % (60 * 60 * 24)) / (60 * 60)); // var minutes = Math.floor((distance % (60 * 60)) / (60)); // var seconds = Math.floor((distance % (60)) / 1); $('#onair-event-hour').html(String(hours).padStart(2, '0')); $('#onair-event-minute').html(String(minutes).padStart(2, '0')); $('#onair-event-second').html(String(seconds).padStart(2, '0')); $('#onair-onair_counter_starts').show(); } $('#onair').show(); // If the count down is over, write some text if (distance <= 0) { $('#onair-onair_counter_starts').hide(); $('#onair-border .corner-border').removeClass('border-ddh_blue'); $('#onair-border .corner-border').addClass('border-onair_red'); // console.log('end'); } if(distance_gone <= 0){ clearInterval(x); $('#onair').hide(); } }, 1000); } function setup_onair(event, show = false){ $('#onair-event_title').html(event.title); var href = 'https://ayondo.com/en/events/' + event.guid + '/link'; // if(event.link_registration == ''){ // href = 'https://ayondo.com/en/events/' + event.guid + '/link'; // } $('#onair-onair_event_link').attr('href', href); $('#onair-onair_speaker').html(event.speaker_name); $('#onair-onair_speaker_photo').attr('src', event.speaker_photo); $('#onair-onair_speaker_description').attr('data-bs-title', event.speaker_description); if(event.tenant !== null && event.tenant.icon !== null){ var tenant = event.tenant; var a_href = $('#onair-onair_presented_by'); if(tenant.link !== null){ a_href.attr('href', tenant.link); } else { a_href.removeAttr('href'); } var img = a_href.find('img'); img.attr('src', tenant.icon); $('#onair-tenant-name').html(tenant.name); $('#onair-presented-by-wrapper').show(); } else { $('#onair-presented-by-wrapper').hide(); } if(show){ $('#onair').show(); } // setup_tooltips(); var tooltip = bootstrap.Tooltip.getOrCreateInstance(document.getElementById('onair-onair_speaker_description')); tooltip.setContent({ '.tooltip-inner': event.speaker_description }); tooltip.hide(); } function setup_tooltips(){ var tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]'); var tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => { // var tooltip = new bootstrap.Tooltip(tooltipTriggerEl); var tooltip = bootstrap.Tooltip.getOrCreateInstance(tooltipTriggerEl); tooltip.hide(); }); } function setup_popovers(){ var popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]'); var popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl)); } function sync_current_url(){ var current = window.location.href; var langs = ['en', 'de']; var base = 'https://ayondo.com'; var base_w_locale = 'https://ayondo.com/en'; var current_locale = 'en'; langs.forEach(function(l){ var res = current.replace(base_w_locale, base + '/' + l); $('.lang-selector[data-lang="' + l + '"]').attr('href', res); }); } $(document).ready(function(){ resize_svgs(); $.ajaxSetup({ headers: { "X-CSRF-TOKEN": 'AKgLaSj9Or6AAYhKxT3xAMXysRnCBowJ7OO6ogv3', }, }); // whats new var whats_new = localStorage.getItem("whats_new"); var btn_whats_new = $('#btn-whats-new'); if(whats_new === null || (whats_new !== null && btn_whats_new.data('latest-update') != whats_new)){ btn_whats_new.addClass('text-warning'); btn_whats_new.find('i').addClass('blob-whats-new'); $('.btn-whats-new').addClass('text-warning'); $('.btn-whats-new').find('i').addClass('blob-whats-new'); } btn_whats_new.on('click', function(){ localStorage.setItem("whats_new", btn_whats_new.data('latest-update')); }); $('#article-content iframe').on('load', function(){ var id = $(this).attr('id'); // console.log($('.iframe-loading[data-iframe-id="' + id + '"]')); $('.iframe-loading[data-iframe-id="' + id + '"]').removeClass('d-flex'); $('.iframe-loading[data-iframe-id="' + id + '"]').addClass('d-none'); $(this).show(); }) update_prices(); var interval = window.setInterval(function(){ update_prices(); }, 10 * 60 * 1000); if($('.treadmill').length){ var interval = 7000; if(typeof $('.treadmill').data('interval') != 'undefined'){ interval = $('.treadmill').data('interval'); } $('.navbar-top-white-treadmill').show(); $('.treadmill').easyTicker({ direction: 'up', easing: 'swing', speed: 'slow', interval: interval, height: 'auto', visible: 1, mousePause: true, autoplay: true, controls: { up: '', down: '', toggle: '', playText: 'Play', stopText: 'Stop' }, callbacks: { before: false, after: false, finish: false } }); } if($('#swiper-hero').length){ var swiper = new Swiper('#swiper-hero', { spaceBetween: 30, autoplay: { delay: 5000, disableOnInteraction: true, }, loop: true, noSwiping: true, }); } $(window).scroll(function (event) { var scroll = $(window).scrollTop(); var navbar = $('#top-nav-bottom'); var background = navbar.data('background'); if(typeof background !== 'undefined'){ if(scroll >= 150){ navbar.addClass('remove-bg-image'); } else { console.log(scroll); console.log(background); navbar.removeClass('remove-bg-image'); } } }); setup_tooltips(); setup_popovers(); $('.toggle-cookiebot').click(function(event){ event.preventDefault(); // Cookiebot.renew(); $('#ccc-icon').trigger('click'); }); $(document).on('click', '.js-copy', function() { var text = $(this).attr('data-copy'); var el = $(this); copyToClipboard(text, el); }); $(window).on('resize', function(){ // console.log('hey'); resize_svgs(); }) if($('#onair').length){ $.ajax({ type: 'GET', dataType: 'json', url: 'https://ayondo.com/en/events/onair', data: { referrer: 'market-news.equity-story.detail' }, success: function(response) { if (response.success) { // console.log(response); if(response.event !== null){ var event = response.event; // var start_time = new Date(response.onair_date + ' ' + event.onair_starts); // var current_time = new Date(response.current_datetime); // var panel_gone_time = new Date(event.panel_gone_at); var start_time = new Date(event.start); var current_time = new Date(response.current_datetime); var panel_gone_time = new Date(event.panel_gone); if(response.status == 'pending'){ // console.log(panel_gone_time); countdown_onair(start_time, current_time, panel_gone_time); setup_onair(event, true); // $('#onair-border .corner-border').removeClass('border-ddh_blue'); // $('#onair-border .corner-border').addClass('border-' + event.onair_color_pending); } else if(response.status == 'started') { countdown_onair(start_time, current_time, panel_gone_time); setup_onair(event, true); $('#onair-border .corner-border').removeClass('border-ayon_blue'); $('#onair-border .corner-border').addClass('border-onair_red'); } } else { $('#onair').hide(); } } }, error: function(response) { console.log(response); } }) } $('.cbo-toggle-input').change(function(){ var checked = $(this).is(':checked'); var input_id = $(this).data('connected-input-id'); var input = $('#' + input_id); if(input.length){ input.prop('disabled', !checked); if(checked){ input.focus(); } } }); if($('#onair-teaser').length){ function countdown_onair_teaser(event_start_time, current_time, panel_gone_time){ // var total_sec_end = get_total_sec(event_start_time); // var total_sec_now = get_total_sec(current_time); var end = event_start_time.getTime(); var now = current_time.getTime(); var disappear = panel_gone_time.getTime(); // var end = new Date("Sep 25, 2025 15:00:00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get todays date and time // var total_sec_now = new Date().getTime(); // total_sec_now += 1; now += 1000; // disappear += 1000; // Find the distance between now an the count down date // var distance = total_sec_end - total_sec_now; var distance = end - now; var distance_gone = disappear - now; // console.log(distance); // console.log(distance_gone / 1000); if(distance > 0){ // Time calculations for days, hours, minutes and seconds var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); // var hours = Math.floor((distance % (60 * 60 * 24)) / (60 * 60)); // var minutes = Math.floor((distance % (60 * 60)) / (60)); // var seconds = Math.floor((distance % (60)) / 1); if(days > 0){ $('#onair-teaser-event-day').html(days); if(days == 1){ $('#onair-teaser-event-day-singular').show(); $('#onair-teaser-event-day-plural').hide(); } else { $('#onair-teaser-event-day-plural').show(); $('#onair-teaser-event-day-singular').hide(); } $('#onair-teaser-event-day-wrapper').show(); } else { $('#onair-teaser-event-day-wrapper').hide(); } $('#onair-teaser-event-hour').html(String(hours).padStart(2, '0')); $('#onair-teaser-event-minute').html(String(minutes).padStart(2, '0')); $('#onair-teaser-event-second').html(String(seconds).padStart(2, '0')); $('#onair-teaser-onair_counter_starts').show(); } $('#onair-teaser').show(); // If the count down is over, write some text if (distance <= 0) { $('#onair-teaser-onair_counter_starts').hide(); $('#onair-teaser-border .corner-border').removeClass('border-ddh_blue'); $('#onair-teaser-border .corner-border').addClass('border-onair_red'); // console.log('end'); } if(distance_gone <= 0){ clearInterval(x); $('#onair-teaser').hide(); } }, 1000); } function setup_onair_teaser(event, show = false){ if(event.onair_prime == '1'){ $('#onair-teaser-onair_prime').show(); } $('#onair-teaser-onair_label').html(event.onair_label); $('#onair-teaser-onair_type').html(event.onair_type); $('#onair-teaser-onair_product').html(event.onair_product); if(event.onair_product === null){ $('#onair-teaser-type-and-product-separator').hide(); } else { $('#onair-teaser-type-and-product-separator').show(); } if(event.onair_caption !== null){ $('#onair-teaser-onair_caption').html(event.onair_caption); $('#onair-teaser-onair_caption').show(); } else { $('#onair-teaser-onair_caption').hide(); } $('#onair-teaser-onair_referent').html(event.onair_referent); $('#onair-teaser-onair_title').html(event.onair_title); var register_url = 'https://ayondo.com/en/event-onair/' + event.id + '/register'; $('#onair-teaser-onair_bio_lnk').attr('href', event.onair_bio_lnk); // $('#onair-teaser-onair_bio_lnk').attr('href', register_url); $('#onair-teaser-onair_presented_by').attr('href', event.onair_presented_by_lnk); $('#onair-teaser-onair_presented_by').html(event.onair_presented_by); $('#onair-teaser-onair_supported_by').attr('href', event.onair_supported_by_lnk); $('#onair-teaser-onair_supported_by').html(event.onair_supported_by); // $('#onair-teaser-onair_event_link').attr('href', event.onair_event_link); $('#onair-teaser-onair_event_link').attr('href', register_url); $('#onair-teaser-onair_title_wrapper').attr('href', register_url); if(show){ $('#onair-teaser').show(); } } // get onair events $.ajax({ type: 'GET', dataType: 'json', url: 'https://ayondo.com/en/event-onair/get-events', data: { route_name: 'market-news.equity-story.detail' }, success: function(response) { if (response.success) { // console.log(response); if(response.event !== null){ var event = response.event; if(event.onair_permanent == 0){ var start_time = new Date(response.onair_date + ' ' + event.onair_starts); var current_time = new Date(response.current_datetime); var panel_gone_time = new Date(event.panel_gone_at); if(response.status == 'pending'){ // console.log(panel_gone_time); countdown_onair_teaser(start_time, current_time, panel_gone_time); setup_onair_teaser(event); // $('#onair-teaser-border .corner-border').removeClass('border-ayon_blue'); // $('#onair-teaser-border .corner-border').addClass('border-' + event.onair_color_pending); $('#onair-teaser-corner-border').css('border-color', event.onair_color_pending); $('#onair-teaser-corner-border span').css('border-color', event.onair_color_pending); $('#onair-teaser-corner-border span').css('color', event.onair_color_pending); $('#onair-teaser-corner-border .blob-onair').css('background', event.onair_color_pending); } else if(response.status == 'started') { countdown_onair_teaser(start_time, current_time, panel_gone_time); setup_onair_teaser(event); // $('#onair-teaser-border .corner-border').removeClass('border-ayon_blue'); // $('#onair-teaser-border .corner-border').addClass('border-' + event.onair_color_running); $('#onair-teaser-corner-border').css('border-color', event.onair_color_running); $('#onair-teaser-corner-border span').css('border-color', event.onair_color_running); $('#onair-teaser-corner-border span').css('color', event.onair_color_running); $('#onair-teaser-corner-border .blob-onair').css('background', event.onair_color_running); } } else { setup_onair_teaser(event, true); // $('#onair-teaser-border .corner-border').removeClass('border-ayon_blue'); // $('#onair-teaser-border .corner-border').addClass('border-' + event.onair_color_running); $('#onair-teaser-corner-border').css('border-color', event.onair_color_running); $('#onair-teaser-corner-border span').css('border-color', event.onair_color_running); $('#onair-teaser-corner-border span').css('color', event.onair_color_running); $('#onair-teaser-corner-border .blob-onair').css('background', event.onair_color_running); } } } }, error: function(response) { console.log(response); } }) // end get onair events } $('.textarea-with-char-left').keyup(function(){ var val = $(this).val(); var length = val.length; var max = $(this).attr('maxlength'); var left = max - length; var span_char_left = $(this).parent().find('.char-left'); if(left < 0){ val = val.substr(0, max); left = max - length; $(this).val(val); span_char_left.html(left); } span_char_left.html(left); }); var btn_cta_proceed = document.getElementById('btn-cta-proceed-wrapper'); var btn_cta_proceed_tooltip = new bootstrap.Tooltip(btn_cta_proceed, {}); $('.cta-cbo-accept').change(function(){ var btn = $('#btn-cta-proceed'); var checked = $('.cta-cbo-accept:checked').length == 2; if(checked){ btn.attr('aria-disabled', false); btn.removeClass('disabled'); btn_cta_proceed_tooltip.disable(); } else { btn.attr('aria-disabled', true); btn.addClass('disabled'); btn_cta_proceed_tooltip.enable(); } }); var modal_cta = new bootstrap.Modal(document.getElementById('modal-cta')); var btn_trigger_modal = null; $(document).on('click', '.btn-cta-modal:not(.direct)', function(e){ e.preventDefault(); var btn = $(this); var partner = btn.data('partner'); var button = btn.html().trim(); if(btn.find('.fw-bold').length){ button = btn.find('.fw-bold').html().trim(); } $('.modal-cta-content-button').html(button); $('.modal-cta-content-partner').html(partner); var href = btn.attr('href'); $('#btn-cta-proceed').attr('href', href); modal_cta.show(); btn_trigger_modal = btn; btn.removeClass('btn-success'); btn.addClass('btn-danger'); }); $('#btn-cta-proceed').click(function(){ modal_cta.hide(); var stored = localStorage.accepted_ctas; var new_stored = []; if(typeof stored !== 'undefined' && stored !== null){ new_stored = JSON.parse(stored); } var href = $(this).attr('href'); if(!new_stored.includes(href)){ new_stored.push(href); } localStorage.accepted_ctas = JSON.stringify(new_stored); $('.btn-cta-modal[href="' + href + '"]').addClass('direct'); }); $(".shake-hover").hover(function(){ $(this).addClass('animate__animated animate__headShake'); }); $(".shake-hover").bind("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",function(){ $(this).removeClass('animate__animated animate__headShake'); }); $('.letters-only').on('input', function(event) { var val = $(this).val(); var pattern = /^[\p{L}\s]+$/u; var parent = $(this).parent(); var invalid_feedback = parent.find('.invalid-feedback'); var label = invalid_feedback.data('label'); if (!pattern.test(val) && val != '') { // event.preventDefault(); // alert('Only letters are allowed!'); var err = 'Letters only for :attribute'; err = err.replace(':attribute', label); invalid_feedback.html(err); $(this).addClass('is-invalid'); } else { invalid_feedback.html(''); $(this).removeClass('is-invalid'); } }); var collapsible_hero = document.getElementById('hero-wrapper'); if(collapsible_hero !== null){ collapsible_hero.addEventListener('hidden.bs.collapse', function(e){ var btn = $('#btn-toggle-hero'); btn.html('<i class="fas fa-arrow-turn-down"></i> Show hero'); set_cookie_header_open(0); }); collapsible_hero.addEventListener('shown.bs.collapse', function(e){ var btn = $('#btn-toggle-hero'); btn.html('<i class="fas fa-arrow-turn-up"></i> Hide hero'); set_cookie_header_open(1); }); } var collapsible_info = document.getElementById('collapse-info'); if(collapsible_info !== null){ collapsible_info.addEventListener('hidden.bs.collapse', event => { $('#btn-collapse-info').find('i').removeClass('fa-angle-up'); $('#btn-collapse-info').find('i').addClass('fa-angle-down'); }); collapsible_info.addEventListener('shown.bs.collapse', event => { $('#btn-collapse-info').find('i').removeClass('fa-angle-down'); $('#btn-collapse-info').find('i').addClass('fa-angle-up'); }); } function set_cookie_header_open(header_open){ $.ajax({ type: 'GET', url: 'https://ayondo.com/en/set-cookie-hero-open?header_open=' + header_open, success: function(response){ // console.log(response); }, error: function(response){ // console.log(response); } }) } // modal_cta.on('hidden.bs.modal', function(){ // $('#cbo_cta_1').prop('checked', false); // $('#cbo_cta_2').prop('checked', false); // $('#cbo_cta_1').trigger('change'); // }); document.getElementById('modal-cta').addEventListener('hidden.bs.modal', function(event){ $('#cbo_cta_1').prop('checked', false); $('#cbo_cta_2').prop('checked', false); $('#cbo_cta_1').trigger('change'); btn_trigger_modal.removeClass('btn-danger'); btn_trigger_modal.addClass('btn-success'); }); var accepted_ctas = localStorage.accepted_ctas; if(typeof accepted_ctas !== 'undefined' && accepted_ctas !== null){ accepted_ctas = JSON.parse(accepted_ctas); accepted_ctas.forEach(function(item){ $('.btn-cta-modal[href="' + item + '"]').addClass('direct'); }); } var collapsibles = document.querySelectorAll('.collapsibles'); collapsibles.forEach(function(el){ el.addEventListener('hidden.bs.collapse', function(e){ var id = $(this).attr('data-button-id'); var btn = $('#' + id); var icon = btn.find('i'); icon.attr('class', 'fas fa-chevron-down'); }); el.addEventListener('shown.bs.collapse', function(e){ var id = $(this).attr('data-button-id'); var btn = $('#' + id); var icon = btn.find('i'); icon.attr('class', 'fas fa-chevron-up'); }); }); $('.btn-close-silent-ad').click(function(){ $('.silent-ad').hide(); }); if($('#btn-drawer-ad').length){ var btn_drawer_ad = $('#btn-drawer-ad'); var delay = 0; if(btn_drawer_ad.data('button-delay')){ delay = parseInt(btn_drawer_ad.data('button-delay')); setTimeout(function () { btn_drawer_ad.fadeIn(); if($('#drawer-ad-bell').length && $('#drawer-ad-bell').data('is-shaking')){ $('#drawer-ad-bell').find('i').addClass('animate__animated animate__headShake'); } }, delay * 1000); } else { if($('#drawer-ad-bell').length && $('#drawer-ad-bell').data('is-shaking')){ $('#drawer-ad-bell').find('i').addClass('animate__animated animate__headShake'); } } if(btn_drawer_ad.data('button-disappear')){ disappear = parseInt(btn_drawer_ad.data('button-disappear')) + delay; setTimeout(function () { btn_drawer_ad.fadeOut(); }, disappear * 1000); } if(btn_drawer_ad.hasClass('shake-scroll')){ var isScrolling; $(window).on('scroll', function() { btn_drawer_ad.addClass('animate__animated animate__headShake'); // Clear our timeout throughout the scroll clearTimeout(isScrolling); // Set a timeout to run after scrolling ends isScrolling = setTimeout(function() { btn_drawer_ad.removeClass('animate__animated animate__headShake'); }, 150); // Adjust the timeout delay as needed }); } $('#btn-drawer-ad').click(function(){ $('#drawer-ad').removeClass('animate__slideOutRight'); $('#drawer-ad').addClass('animate__slideInRight'); $('#drawer-ad').show(); $('#drawer-backdrop').show(); $('body').css('overflow', 'hidden'); }); $('#btn-drawer-ad-hide, #drawer-backdrop').click(function(e){ e.preventDefault(); // $('#drawer-ad').hide(); $('#drawer-ad').removeClass('animate__slideInRight'); $('#drawer-ad').addClass('animate__slideOutRight'); // $('#drawer-backdrop').fadeOut(); $('body').css('overflow', ''); }) } if($('#floating-ad-right-box').length){ var right_box = $('#floating-ad-right-box'); var trigger_button = $('#infohub-360-ad-button'); var box = $('#infohub-360-ad-box'); var close_button = $('#btn-floating-ad-close'); right_box.click(function(e){ e.preventDefault(); right_box.fadeOut(); box.fadeIn(); $([document.documentElement, document.body]).animate({ scrollTop: box.offset().top - $('#navbar-wrapper').height() }, 'fast'); }); close_button.click(function(e){ e.preventDefault(); box.fadeOut(); right_box.fadeIn(); }); } function activateEventsHeaderButtons(){ let $items = $('#events-header-top-content .event-header-top-item'); // Get all items let currentIndex = $items.index($items.not('.d-none')); // Find the currently visible item // console.log('currentIndex', currentIndex); // console.log('notDnone', $items); // Function to show a specific item function showEventItem(index) { $items.addClass('d-none'); // Hide all items $items.eq(index).removeClass('d-none'); // Show the desired item updateButtons(); } function updateButtons() { if(currentIndex === 0){ $('#btn-events-header-top-prev').addClass('disabled text-muted border-0'); } else { $('#btn-events-header-top-prev').removeClass('disabled text-muted border-0'); } if(currentIndex === $items.length - 1){ $('#btn-events-header-top-next').addClass('disabled text-muted border-0'); } else { $('#btn-events-header-top-next').removeClass('disabled text-muted border-0'); } // $('#btn-events-header-top-prev').prop('disabled', currentIndex === 0); // Disable "Prev" at start // $('#btn-events-header-top-next').prop('disabled', currentIndex === $items.length - 1); // Disable "Next" at end } $(document).on('click', '#btn-events-header-top-next', function(){ // console.log('prev'); // console.log('currentIndex', currentIndex); if (currentIndex < $items.length - 1) { // Check bounds currentIndex++; showEventItem(currentIndex); } }); $(document).on('click', '#btn-events-header-top-prev', function(){ // console.log('next'); // console.log('currentIndex', currentIndex); if (currentIndex > 0) { // Check bounds currentIndex--; showEventItem(currentIndex); } }); } // load events header top $.ajax({ type: 'POST', url: 'https://ayondo.com/en/events-header-top/ajax', success: function(response){ if(response.success){ const popover = bootstrap.Popover.getOrCreateInstance('#btn-toggle-events-header-top', { html: true, }) // Returns a Bootstrap popover instance popover.setContent({ '.popover-body': response.html // Set raw HTML content }); // setContent example // popover.setContent({ // '.popover-body': document.createRange().createContextualFragment(response.html) // }); $('#btn-toggle-events-header-top').parent().show(); document.getElementById('btn-toggle-events-header-top').addEventListener('shown.bs.popover', function(){ activateEventsHeaderButtons(); }); } else { console.log(response); } }, error: function(response){ console.log(response); } }) $('#corp-cards-10-btn-generate').click(function(e){ e.preventDefault(); $(this).hide(); $('#corp-cards-10-code').show(); }); $('.btn-outline-underline-toggle').hover( function() { var underline = $(this).parent().find('.btn-outline-underline'); underline.css('visibility', 'visible'); }, function() { var underline = $(this).parent().find('.btn-outline-underline'); underline.css('visibility', 'hidden'); } ); $(document).on('click', '.btn-mql-ai-ad', function(){ var step = $(this).data('next-step'); $('.mql-ai-ad-steps').hide(); $('#mql-ai-ad-step-' + step).show(); }); $(document).on('click', '#btn-mql-ai-ad-close', function(e){ e.preventDefault(); $('#mql-ai-ad').hide(); }); $(document).on('click', '#btn-mql-ai-ad-check', function(){ $('.mql-ai-ad-check-result').hide(); $('#mql-ai-ad-check-result-broker').html(''); var val = $('#select-mql-ai-ad').val(); if(val == ''){ $('#select-mql-ai-ad')[0].reportValidity(); return false; } $.ajax({ type: 'POST', url: 'https://ayondo.com/en/lab/shark-alpha/mql-ai-generator/check-broker', data: { broker_id: val, }, success: function(response){ if(response.success){ var is_approved = response.is_approved; if(is_approved){ $('#btn-mql-ai-ad-check-result-failed').hide(); $('#btn-mql-ai-ad-check-result-success').show(); } else { $('#btn-mql-ai-ad-check-result-failed').show(); $('#btn-mql-ai-ad-check-result-success').hide(); } } else { $('#btn-mql-ai-ad-check-result-failed').show(); $('#btn-mql-ai-ad-check-result-success').hide(); } }, error: function(response){ $('#btn-mql-ai-ad-check-result-failed').show(); $('#btn-mql-ai-ad-check-result-success').hide(); } }) }); $(document).on('click', '.btn-products-ad', function(){ var step = $(this).data('next-step'); $('.products-ad-steps').hide(); $('#products-ad-step-' + step).show(); }); $(document).on('click', '#btn-products-ad-close', function(e){ e.preventDefault(); $('#products-ad').hide(); }); $(document).on('click', '#btn-products-ad-check', function(){ }); }); </script> <script> $(document).ready(function(){ $('input[name="issue_happen_on"]').change(function(){ var checked_opt = $('input[name="issue_happen_on"]:checked').val(); if(checked_opt == 'this_page'){ $('#report-bug-page_url').prop('required', false); $('#report-bug-page_url').parent().parent().hide(); } else { $('#report-bug-page_url').prop('required', true); $('#report-bug-page_url').parent().parent().show(); } }); $('#form-report-bug').on('submit', function(e){ e.preventDefault(); $('#btn-submit-report-bug').trigger('click'); }); $('#btn-submit-report-bug').click(function(){ var valid = true; $('#form-report-bug :input[required]').each(function(){ if(!this.validity.valid) { console.log($(this)); $(this).focus(); this.reportValidity(); valid = false; return false; } }); if(valid){ $('#form-report-bug textarea[required]').each(function(){ if(!this.validity.valid) { console.log($(this)); $(this).focus(); this.reportValidity(); valid = false; return false; } }); } if(!valid){ return; } var btn = $(this); btn.html('<i class="fas fa-spin fa-rotate"></i> Submitting issue'); btn.prop('disabled', true); var form = new FormData($('#form-report-bug')[0]); $('.invalid-feedback').html(''); $('input').removeClass('is-invalid'); $('textarea').removeClass('is-invalid'); $.ajax({ type: 'POST', url: 'https://ayondo.com/en/report-bug', data: form, processData: false, contentType: false, success: function(response){ if(response.success){ location.reload(); } else { btn.html('Submit issue'); btn.prop('disabled', false); } }, error: function(res){ var response = res.responseJSON; for(var prop in response.errors){ var input = $('#report-bug-' + prop); var invalid_feedback = input.parent().find('.invalid-feedback'); // console.log(input); // console.log(invalid_feedback); // if(invalid_feedback.length == 0){ // input.parent().append('<span class="invalid-feedback"></span>'); // invalid_feedback = input.parent().find('.invalid-feedback'); // } // console.log(invalid_feedback); input.addClass('is-invalid'); invalid_feedback.html(response.errors[prop]); input.focus(); } btn.html('Submit issue'); btn.prop('disabled', false); } }) }) }) </script> <script> $(document).ready(function(){ $('#suggest-feature-anon').change(function(){ var checked = $(this).is(':checked'); if(checked){ $('#form-suggest-feature-content').show(); $('#modal-suggest-feature-footer').show(); } else { $('#form-suggest-feature-content').hide(); $('#modal-suggest-feature-footer').hide(); } }); $('.suggest-feature-page').change(function(){ var checked = $('.suggest-feature-page:checked'); if(checked.length == 0){ return; } var val_checked = checked.val(); if(val_checked == 'this_page'){ $('#suggest-feature-page_url').prop('required', false); $('#suggest-feature-page_url').parent().parent().hide(); } else { $('#suggest-feature-page_url').prop('required', true); $('#suggest-feature-page_url').parent().parent().show(); } }); $('#form-suggest-feature').on('submit', function(e){ e.preventDefault(); $('#btn-submit-suggest-feature').trigger('click'); }); $('#btn-submit-suggest-feature').click(function(){ var valid = true; $('#form-suggest-feature :input[required]').each(function(){ if(!this.validity.valid) { console.log($(this)); $(this).focus(); this.reportValidity(); valid = false; return false; } }); if(valid){ $('#form-suggest-feature textarea[required]').each(function(){ if(!this.validity.valid) { console.log($(this)); $(this).focus(); this.reportValidity(); valid = false; return false; } }); } if(!valid){ return; } var btn = $(this); btn.html('<i class="fas fa-spin fa-rotate"></i> Submitting Form'); btn.prop('disabled', true); // var form = new FormData($('#form-suggest-feature')[0]); // $('.invalid-feedback').html(''); $('#form-suggest-feature input').removeClass('is-invalid'); $('#form-suggest-feature textarea').removeClass('is-invalid'); $.ajax({ type: 'POST', url: 'https://ayondo.com/en/suggest-feature', data: $('#form-suggest-feature').serialize(), // processData: false, // contentType: false, success: function(response){ if(response.success){ location.reload(); } else { btn.html('Submit form'); btn.prop('disabled', false); } }, error: function(res){ var response = res.responseJSON; for(var prop in response.errors){ var input = $('#suggestfeature-' + prop); var invalid_feedback = input.parent().find('.invalid-feedback'); // console.log(input); // console.log(invalid_feedback); // if(invalid_feedback.length == 0){ // input.parent().append('<span class="invalid-feedback"></span>'); // invalid_feedback = input.parent().find('.invalid-feedback'); // } // console.log(invalid_feedback); input.addClass('is-invalid'); invalid_feedback.html(response.errors[prop]); input.focus(); } btn.html('Submit form'); btn.prop('disabled', false); } }) }); }) </script> <script> var swal = null; var popup_data = null; function trigger_swal(wait){ if(swal !== null){ var closed_popups = []; var dont_show_popups = []; var today = new Date(); var year = today.getFullYear(); var month = String(today.getMonth() + 1).padStart(2, '0'); // Months are zero-based, so we add 1 var day = String(today.getDate()).padStart(2, '0'); var formatted_date = `${year}-${month}-${day}`; var closed_popups_date = localStorage.getItem("closed_popups_date"); if(closed_popups_date != formatted_date){ localStorage.setItem("closed_popups_date", formatted_date); localStorage.setItem("closed_popups", JSON.stringify([])); } if(localStorage.getItem("closed_popups") !== null){ closed_popups = JSON.parse(localStorage.getItem("closed_popups")); } if(localStorage.getItem("dont_show_popups") !== null){ dont_show_popups = JSON.parse(localStorage.getItem("dont_show_popups")); } setTimeout(function() { // console.log(popup_data.appear_after_close); // console.log(!closed_popups.includes(swal.id)); // console.log(dont_show_popups.includes(swal.id)); if(popup_data.appear_after_close || (!closed_popups.includes(popup_data.id) && !dont_show_popups.includes(popup_data.id))){ Swal.fire(swal).then(function(result){ closed_popups.push(popup_data.id); if($('#cbo_popup_dont_show').length && $('#cbo_popup_dont_show').is(':checked')){ dont_show_popups.push(popup_data.id); } localStorage.setItem("closed_popups", JSON.stringify(closed_popups)); localStorage.setItem("dont_show_popups", JSON.stringify(dont_show_popups)); }); } }, wait * 1000); } } function init_treadmill(info_bar){ var items = info_bar.items; var html = '<div class="treadmill-info-bar">'; html += '<div>'; html += '<div>' + info_bar.content['en'] + '</div>'; items.forEach(function(item){ html += '<div>' + item.content['en'] + '</div>'; }); html += '</div>'; html += '</div>'; $('#' + info_bar.position + '-info-bar-content').html(html); if($('.treadmill-info-bar').length){ var interval = info_bar.wait_time * 1000; if(typeof $('.treadmill-info-bar').data('interval') != 'undefined'){ interval = $('.treadmill-info-bar').data('interval'); } $('.treadmill-info-bar').easyTicker({ direction: 'up', easing: 'swing', speed: 'slow', interval: interval, height: 'auto', visible: 1, mousePause: true, autoplay: true, controls: { up: '', down: '', toggle: '', playText: 'Play', stopText: 'Stop' }, callbacks: { before: false, after: false, finish: false } }); } } function trigger_info_bar(info_bar){ if(info_bar !== null){ var closed_infobars = []; var today = new Date(); var year = today.getFullYear(); var month = String(today.getMonth() + 1).padStart(2, '0'); // Months are zero-based, so we add 1 var day = String(today.getDate()).padStart(2, '0'); var formatted_date = `${year}-${month}-${day}`; var closed_infobars_date = localStorage.getItem("closed_infobars_date"); if(closed_infobars_date != formatted_date){ localStorage.setItem("closed_infobars_date", formatted_date); localStorage.setItem("closed_infobars", JSON.stringify([])); } if(localStorage.getItem("closed_infobars") !== null){ closed_infobars = JSON.parse(localStorage.getItem("closed_infobars")); } var position = info_bar.position; $('#btn-close-'+position+'-info-bar').data('infobar-id', info_bar.id); if(info_bar.is_permanent){ $('#btn-close-' + info_bar.position + '-info-bar').parent().hide(); } setTimeout(function() { if(info_bar.appear_after_close || !closed_infobars.includes(info_bar.id)){ var theme = 'blue'; var allowed_themes = ['blue', 'white']; if(allowed_themes.includes(info_bar.theme)){ theme = info_bar.theme; } $('#'+position+'-info-bar').find('.'+position+'-info-bar').addClass(position + '-info-bar-' + theme); $('#'+position+'-info-bar-content').html(info_bar.content['en']); $('#'+position+'-info-bar').show(); if(info_bar.items.length){ init_treadmill(info_bar); } if(info_bar.idle_time !== null){ setTimeout(function() { $('#btn-close-'+position+'-info-bar').trigger('click'); }, info_bar.idle_time * 1000); } } }, info_bar.wait_time * 1000); } } $(document).ready(function(){ var route = 'market-news.equity-story.detail'; var uri = 'news/CH0386200239/medartis-holding-ag/medartis-increases-sales-by-21-cer-and-improves-its-underlying-ebitda-margin-to-16-1856139'; var uri_w_param = 'news/CH0386200239/medartis-holding-ag/medartis-increases-sales-by-21-cer-and-improves-its-underlying-ebitda-margin-to-16-1856139'; $.ajax({ type: 'POST', url: 'https://ayondo.com/en/get-pop-up', data: { route: route, uri: uri, uri_w_param: uri_w_param, }, success: function(response){ if(response.success){ swal = response.swal; popup_data = response.popup_data; if(swal !== null){ trigger_swal(popup_data.wait_time); } var info_bar = response.info_bar; if(info_bar !== null){ if(info_bar.bottom !== null){ trigger_info_bar(info_bar.bottom); } else { $('#bottom-info-bar-content').remove(); } if(info_bar.top !== null){ trigger_info_bar(info_bar.top); } } } }, error: function(response){ console.log(response); } }); $(document).on('click', '.btn-dismiss-page-popup', function(){ Swal.close(); }); $(document).on('click', '#btn-close-bottom-info-bar', function(e){ e.preventDefault(); var closed_infobars = []; if(localStorage.getItem("closed_infobars") !== null){ closed_infobars = JSON.parse(localStorage.getItem("closed_infobars")); } var infobar_id = $(this).data('infobar-id'); closed_infobars.push(infobar_id); localStorage.setItem("closed_infobars", JSON.stringify(closed_infobars)); $('#bottom-info-bar').removeClass('animate__slideInUp'); $('#bottom-info-bar').addClass('animate__slideOutDown'); setTimeout(function() { $('#bottom-info-bar').remove(); }, 500); }); $(document).on('click', '#btn-close-top-info-bar', function(e){ e.preventDefault(); var closed_infobars = []; if(localStorage.getItem("closed_infobars") !== null){ closed_infobars = JSON.parse(localStorage.getItem("closed_infobars")); } var infobar_id = $(this).data('infobar-id'); closed_infobars.push(infobar_id); localStorage.setItem("closed_infobars", JSON.stringify(closed_infobars)); $('#top-info-bar').removeClass('animate__slideInDown'); $('#top-info-bar').addClass('animate__slideOutUp'); $('#top-info-bar').hide(); }); }) </script> <script src="https://ayondo.com/js/typewriter.js"></script> <script src="https://ayondo.com/js/moment.min.js"></script> <script> function revert_bookmark(prev_bookmark){ var btn = $('#btn-bookmark'); var i = btn.find('i'); if(prev_bookmark == '0'){ btn.data('trigger-bookmark', '0'); i.removeClass('far'); i.addClass('fas'); } else { btn.data('trigger-bookmark', '1'); i.removeClass('fas'); i.addClass('far'); } } function on_done(){ $('#chatgpt-answer-disclaimer').show(); } function load_stats(){ $.ajax({ type: 'POST', url: 'https://ayondo.com/en/market-news/equity-story/stats/89894', success: function(response){ if(response.success){ var stats = response.data; $('#stat-eqs').html(stats.eqs); $('#stat-dd').html(stats.dd); $('#stat-original_research').html(stats.original_research); $('#stat-short_seller').html(stats.short_seller); var btn = $('#btn-stat-short_seller'); btn.attr('href', stats.ssr_link); } }, error: function(response){ $('#stat-eqs').html('-'); $('#stat-dd').html('-'); $('#stat-original_research').html('-'); $('#stat-short_seller').html('-'); } }) } var loaded = false; var event_source = null; function trigger_trsh_popup(){ var today = moment(new Date()).format("YYYY-MM-DD"); var trsh_popup = Swal.fire({ html: `<div class="row g-0"> <div class="col-auto pe-3"> <img src="/assets/big-icons/trsh-popup.png" alt="" class="img-fluid"> </div> <div class="col"> <h5 class="text-start mb-2"> Free stock analysis </h5> <div class="text-start"> Sign up for free stock analysis and get 1 month TransparentShare Premium worth 8.99 Euro for free! *</p><p><span class="text-tiny" style="color:hsl(0,0%,90%);">* Offer valid for newly registered users only.</span> </div> </div> </div>`, // width: 600, // padding: '3em', // color: '#716add', // background: '#fff url(/images/trees.png)', backdrop: false, position: 'bottom-end', footer: `<div class="d-grid w-100"><a class="btn btn-primary btn-dismiss-trsh-popup" href="https://www.transparentshare.com/en/kostenlose-aktienanalyse-ayondo/" target="_blank">Curious now?</a></div>`, showConfirmButton: false, showCloseButton: true, customClass: { popup: 'trsh-popup text-white text-start', footer: 'border-top-0' } }).then(function(result){ // console.log('closed'); localStorage.setItem('trsh_popup_last_closed', today); }); } function toggle_modal(enabled){ if(enabled){ $('#modal-title-disabled').hide(); $('#modal-body-disabled').hide(); $('#modal-footer-disabled').hide(); $('#modal-title-enabled').show(); $('#modal-body-enabled').show(); $('#modal-footer-enabled').show(); $('#btn-chatgpt-ok').html('<i class="fas fa-spin fa-sync"></i> Generating answer, please wait.'); $('#btn-chatgpt-ok').addClass('disabled'); } else { $('#modal-title-enabled').hide(); $('#modal-body-enabled').hide(); $('#modal-footer-enabled').hide(); $('#modal-title-disabled').show(); $('#modal-body-disabled').show(); $('#modal-footer-disabled').show(); } } function on_done(){ $('#chatgpt-answer-disclaimer').show(); $('#btn-chatgpt-ok').html("Close window"); $('#btn-chatgpt-ok').removeClass('disabled'); } function close_event_source(){ if(event_source !== null){ if (event_source.readyState !== EventSource.CLOSED) { event_source.close(); } } } $(document).ready(function(){ load_stats(); $('td > div > table').each(function(){ $(this).addClass('table table-striped'); }); $('table:not([border="0"])').each(function(){ $(this).addClass('table table-striped'); }); $('#btn-bookmark').click(function(e){ e.preventDefault(); var is_bookmarked = $(this).data('trigger-bookmark'); var prev_bookmark = is_bookmarked; var btn = $(this); var i = btn.find('i'); if(is_bookmarked == '1'){ btn.data('trigger-bookmark', '0'); i.removeClass('far'); i.addClass('fas'); } else { btn.data('trigger-bookmark', '1'); i.removeClass('fas'); i.addClass('far'); } $.ajax({ type: 'GET', url: 'https://ayondo.com/en/market-news/equity-story/bookmark/89894', data: { is_bookmarked: is_bookmarked }, success: function(response){ if(!response.success){ revert_bookmark(prev_bookmark); console.log(response); } }, error: function(response){ revert_bookmark(prev_bookmark); console.log(response); } }) }); $('#btn-toggle-wishlist').click(function(e){ e.preventDefault(); var is_wishlisted = $(this).data('trigger-wishlist'); var btn = $(this); var img = btn.find('img'); var txt = btn.find('.wishlist-text'); $.ajax({ type: 'GET', url: 'https://ayondo.com/en/market-news/equity-story/wishlist/CH0386200239', data: { is_wishlisted: is_wishlisted }, success: function(response){ if(response.success){ if(response.is_wishlisted == '1'){ $('#wishlisted-at').html(response.wishlisted_at); $('#wishlisted-at').show(); btn.data('trigger-wishlist', '0'); btn.addClass('text-danger'); img.attr('src', 'https://ayondo.com/assets/basic-icons/remove-from-wl.png'); txt.html('Remove from Watchlist'); } else { $('#wishlisted-at').html(''); $('#wishlisted-at').hide(); btn.data('trigger-wishlist', '1'); btn.removeClass('text-danger'); img.attr('src', 'https://ayondo.com/assets/basic-icons/add2wl.png'); txt.html('Put companies on watchlist'); } } else { console.log(response); } }, error: function(response){ console.log(response); } }) }) $('.radio-you-ai').change(function(){ var search_query = $('.radio-you-ai:checked').val(); var query = 'medartis holding ag '; query += ' ' + search_query; query = query.replaceAll(' ', '+'); var url = 'https://you.com/search?q='+query+'&fromSearchBar=true&tbm=youchat'; $('#btn-you-ai').attr('href', url); }); $('.radio-you-ai').trigger('change'); $.ajax({ type: 'POST', url: 'https://ayondo.com/en/yahoo-finance/price/89894', success: function(response){ if(response.success){ var data = response.data; for(var prop in data){ $('#stock_' + prop).html(data[prop]); } if(response.show_data){ $('#stock-price-yfinance').show(); } } else { console.log(response); } }, error: function(response){ console.log(response); } }); // $.ajax({ // type: 'POST', // url: 'https://ayondo.com/en/eqs-shortsell-tracker/89894', // success: function(response){ // if(response.success){ // if(response.text !== null){ // $('#shortsell-tracker').addClass('d-md-block'); // $('#shortsell-tracker-content').html(response.text); // } // } else { // console.log(response); // } // }, // error: function(response){ // console.log(response); // } // }) $('#btn-eqs-chatgpt').click(function(){ var access_chatgpt = false; if(access_chatgpt){ var modal_enabled = new bootstrap.Modal(document.getElementById('modal-chatgpt-enabled')); modal_enabled.show(); if(!loaded){ $('#chatgpt-loading').show(); $('#chatgpt-answer').hide(); $('#chatgpt-answer-header').hide(); $('#modal-chatgpt-enabled-footer').hide(); var url = 'https://ayondo.com/en/market-news/equity-story/89894/chatgpt'; event_source = new EventSource(url); var app = document.getElementById('chatgpt-answer'); var typewriter = new Typewriter(app, { loop: false, delay: 25, stringSplitter: function(string){ const splitter = string.replace('&', '&'); return splitter.split(''); }, }); event_source.onmessage = function(event) { var data = JSON.parse(event.data); if(data.is_first){ $('#chatgpt-loading').hide(); $('#chatgpt-answer').show(); $('#chatgpt-answer-header').show(); $('#modal-chatgpt-enabled-footer').show(); loaded = true; } if(data.done){ if(data.answer){ typewriter = typewriter.typeString(data.answer); typewriter.start(); } typewriter = typewriter.typeString('\n\n./EoM'); typewriter.start(); typewriter = typewriter.callFunction(on_done); event_source.close(); } else { typewriter = typewriter.typeString(data.text); typewriter.start(); } }; event_source.onclose = function(){ console.log('done'); } event_source.onerror = function(e){ $('#chatgpt-loading').hide(); $('#chatgpt-answer').show(); $('#chatgpt-answer-header').show(); $('#modal-chatgpt-enabled-footer').show(); var answer = '<p>An error has occurred. If the problem occurs again, <a href="/en/contact">please </a>contact us,</p><p>.</p>'; console.log(e); var app = document.getElementById('chatgpt-answer'); var typewriter = new Typewriter(app, { loop: false, delay: 25, stringSplitter: function(string){ const splitter = string.replace('&', '&'); return splitter.split(''); }, }); typewriter = typewriter.typeString(answer); typewriter = typewriter.callFunction(on_done); typewriter.start(); } } } else { var modal_disabled = new bootstrap.Modal(document.getElementById('modal-chatgpt-disabled')); modal_disabled.show(); } }); // $('#btn-ask-ai-ta').click(function(e){ // e.preventDefault(); // // $('#btn-eqs-chatgpt').trigger('click'); // }) var modal = new bootstrap.Modal(document.getElementById('modal-chatgpt')); $('#btn-ask-ai-ta').click(function(e){ e.preventDefault(); var enabled = true; if(enabled){ toggle_modal(true); if (!modal._isShown) { modal.show(); } if(!loaded){ $('#chatgpt-loading-ta').show(); $('#chatgpt-answer-ta').hide(); $('#chatgpt-answer-header-ta').hide(); $('#modal-chatgpt-enabled-footer-ta').hide(); close_event_source(); var url = 'https://ayondo.com/en/technical-analysis/chatgpt/11487'; event_source = new EventSource(url); var app = document.getElementById('chatgpt-answer-ta'); var typewriter = new Typewriter(app, { loop: false, delay: 25, stringSplitter: function(string){ const splitter = string.replace('&', '&'); return splitter.split(''); }, }); event_source.onmessage = function(event) { var data = JSON.parse(event.data); if(data.is_first){ $('#chatgpt-loading-ta').hide(); $('#chatgpt-answer-ta').show(); $('#chatgpt-answer-header-ta').show(); $('#modal-chatgpt-enabled-footer').show(); loaded = true; } if(data.done){ if(data.answer){ typewriter = typewriter.typeString(data.answer); typewriter.start(); } typewriter = typewriter.typeString('\n\n./EoM'); typewriter.start(); typewriter = typewriter.callFunction(on_done); event_source.close(); } else { typewriter = typewriter.typeString(data.text); typewriter.start(); } }; event_source.onclose = function(){ console.log('done'); } event_source.onerror = function(e){ $('#chatgpt-loading-ta').hide(); $('#chatgpt-answer-ta').show(); $('#chatgpt-answer-header-ta').show(); $('#modal-chatgpt-enabled-footer').show(); var answer = '<p>An error has occurred. If the problem occurs again, <a href="/en/contact">please </a>contact us,</p><p>.</p>'; console.log(e); var app = document.getElementById('chatgpt-answer-ta'); var typewriter = new Typewriter(app, { loop: false, delay: 25, stringSplitter: function(string){ const splitter = string.replace('&', '&'); return splitter.split(''); }, }); typewriter = typewriter.typeString(answer); typewriter = typewriter.callFunction(on_done); typewriter.start(); } } } else { toggle_modal(false); modal.show(); } }); document.getElementById('modal-chatgpt').addEventListener('hidden.bs.modal', function(event){ close_event_source(); modal._isShown = false; }); }) </script> </body> </html>