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: 1970945
20 August 2024 07:05AM

Medartis reports 13% revenue growth on Group level, driven by strong regional growth in the US (21%) and EMEA (18%) –improvement of EBITDA* margin to 17%


Medartis Holding AG / Key word(s): Half Year Results
Medartis reports 13% revenue growth on Group level, driven by strong regional growth in the US (21%) and EMEA (18%) –improvement of EBITDA* margin to 17%

20-Aug-2024 / 07:05 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.

 

Basel, 20 August 2024

<div> <ul><li><span>Underlying group sales growth of 13.1% CER; growth including 3</span><span style="vertical-align: super;">rd</span><span> party manufacturing of 10.8% CER resulting in reported net sales of CHF 111.5m</span></li> <li><span>The underlying US business achieved YoY growth of 20.6%, followed by EMEA with 17.8%; growth in APAC and LATAM lower than expected with 3.1% and -9.5% YoY respectively – Australia was affected by further government-imposed price cuts while Brazil faced a change in the private insurance sector that caused a decline in elective procedures</span></li> <li><span>Improved gross margin of 80.3% (H1 2023: 77.2%), driven mainly by better manufacturing efficiency in Basel and higher volumes</span></li> <li><span>EBITDA margin excluding 3</span><span style="vertical-align: super;">rd</span><span>-party manufacturing and further non-recurring items improved to 17.2% (H1 2023: 13.2%), without compromising ongoing investments into key growth markets; underlying EBIT margin doubled to 4.9%</span></li> <li><span>Reported profitability was 21.4% on EBITDA level and 3.1% on EBIT, impacted by a one-off amortization of intangible assets and the related release of a contingent liability</span></li> <li><span>Cash position strengthened following the issuance of a convertible bond in April 2024 – financing for potential acquisition of Keri Medical secured</span></li> <li><span>Successful global launch of Foot 2 System, CCS line extensions and Scaphoid plates; further launches planned for H2 2024</span></li> <li><span>Continuous strengthening of key functions through hiring, internal development and transfer of talents into US</span></li> <li><span>Guidance revised for FY: 12-15% CER growth for the underlying business; around 15% underlying EBITDA margin at CER</span></li> </ul><p><span style="font-style: italic;"> </span></p> <p><span>CEO </span><span style="font-weight: bold;">Christoph Brönnimann</span><span> said: “I am happy to share that our two largest markets have once again delivered strong growth in H1 2024. We faced some market challenges in APAC and LATAM but our weakness there is being addressed and we expect better performance in both regions in H2. We have also maintained profitability and cash management discipline – and so I feel that this is a good moment for me to hand over to my successor, Matthias Schupp, later this year and wish him and the Medartis team all the best going forward.”</span></p> <p> </p> <p><span style="font-weight: bold;">SELECTED KEY FIGURES*</span></p> <p><span> </span></p> <table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="vertical-align: bottom;"> <p><span>in CHF m</span></p> </td> <td style="vertical-align: bottom;"> <p><span>H1 2024</span></p> <p><span>as reported</span></p> </td> <td style="vertical-align: bottom;"> <p><span>H1 2024 excl.</span></p> <p><span>one-off items</span><span style="vertical-align: super;">1)</span></p> </td> <td style="vertical-align: bottom;"> <p><span style="font-style: italic;">Ad info</span></p> <p><span>H1 2023</span></p> <p><span>as reported</span></p> </td> <td style="vertical-align: bottom;"> <p><span>YoY growth as reported %</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>Group Net Sales</span></p> </td> <td style="vertical-align: top;"> <p><span>111.5</span></p> </td> <td style="vertical-align: top;"> <p><span>111.5</span></p> </td> <td style="vertical-align: top;"> <p><span>103.3</span></p> </td> <td style="vertical-align: top;"> <p><span>7.9%</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>Group Net Sales excl. 3rd Party Manufacturing</span></p> </td> <td style="vertical-align: top;"> <p><span>107.6</span></p> </td> <td style="vertical-align: top;"> <p><span>107.6</span></p> </td> <td style="vertical-align: top;"> <p><span>97.6</span></p> </td> <td style="vertical-align: top;"> <p><span>10.2%</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>   </span><span>EMEA</span></p> </td> <td style="vertical-align: top;"> <p><span>59.5</span></p> </td> <td style="vertical-align: top;"> <p><span>59.5</span></p> </td> <td style="vertical-align: top;"> <p><span>51.5</span></p> </td> <td style="vertical-align: top;"> <p><span>15.5%</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>     </span><span>US</span></p> </td> <td style="vertical-align: top;"> <p><span>23.2</span></p> </td> <td style="vertical-align: top;"> <p><span>23.2</span></p> </td> <td style="vertical-align: top;"> <p><span>19.9</span></p> </td> <td style="vertical-align: top;"> <p><span>16.6%</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>   </span><span>APAC</span></p> </td> <td style="vertical-align: top;"> <p><span>15.6</span></p> </td> <td style="vertical-align: top;"> <p><span>15.6</span></p> </td> <td style="vertical-align: top;"> <p><span>15.8</span></p> </td> <td style="vertical-align: top;"> <p><span>-1.3%</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>   </span><span>LATAM</span></p> </td> <td style="vertical-align: top;"> <p><span>9.4</span></p> </td> <td style="vertical-align: top;"> <p><span>9.4</span></p> </td> <td style="vertical-align: top;"> <p><span>10.5</span></p> </td> <td style="vertical-align: top;"> <p><span>-10.5%</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>Gross Profit</span></p> </td> <td style="vertical-align: top;"> <p><span>89.6</span></p> </td> <td style="vertical-align: top;"> <p><span>89.6</span></p> </td> <td style="vertical-align: top;"> <p><span>79.7</span></p> </td> <td style="vertical-align: top;"> <p><span>12.4%</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>   </span><span>% of net sales</span></p> </td> <td style="vertical-align: top;"> <p><span>80.3%</span></p> </td> <td style="vertical-align: top;"> <p><span>80.3%</span></p> </td> <td style="vertical-align: top;"> <p><span>77.2%</span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>Operating Profit (EBIT)</span></p> </td> <td style="vertical-align: top;"> <p><span>3.5</span></p> </td> <td style="vertical-align: top;"> <p><span>5.5</span></p> </td> <td style="vertical-align: top;"> <p><span>2.1</span></p> </td> <td style="vertical-align: top;"> <p><span>63.1%</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>   </span><span>% of net sales</span></p> </td> <td style="vertical-align: top;"> <p><span>3.1%</span></p> </td> <td style="vertical-align: top;"> <p><span>4.9%</span></p> </td> <td style="vertical-align: top;"> <p><span>2.1%</span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>Net Profit</span></p> </td> <td style="vertical-align: top;"> <p><span>2.6</span></p> </td> <td style="vertical-align: top;"> <p><span>4.6</span></p> </td> <td style="vertical-align: top;"> <p><span>-0.8</span></p> </td> <td style="vertical-align: top;"> <p><span>n/m</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>   </span><span>% of net sales</span></p> </td> <td style="vertical-align: top;"> <p><span>2.3%</span></p> </td> <td style="vertical-align: top;"> <p><span>4.1%</span></p> </td> <td style="vertical-align: top;"> <p><span>-0.8%</span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>EBITDA</span></p> </td> <td style="vertical-align: top;"> <p><span>23.9</span></p> </td> <td style="vertical-align: top;"> <p><span>16.3</span></p> </td> <td style="vertical-align: top;"> <p><span>12.4</span></p> </td> <td style="vertical-align: top;"> <p><span>92.7%</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>   </span><span>% of net sales</span></p> </td> <td style="vertical-align: top;"> <p><span>21.4%</span></p> </td> <td style="vertical-align: top;"> <p><span>14.6%</span></p> </td> <td style="vertical-align: top;"> <p><span>12.0%</span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>Operating & Investment CF before M&A and Financing</span></p> </td> <td style="vertical-align: top;"> <p><span>2.2</span></p> </td> <td style="vertical-align: top;"> <p><span>2.2</span></p> </td> <td style="vertical-align: top;"> <p><span>-11.9</span></p> </td> <td style="vertical-align: top;"> <p><span>n/m</span></p> </td> </tr><tr><td style="vertical-align: top;"> <p><span>   </span><span>% of net sales</span></p> </td> <td style="vertical-align: top;"> <p><span>2%</span></p> </td> <td style="vertical-align: top;"> <p><span>2%</span></p> </td> <td style="vertical-align: top;"> <p><span>-11.5%</span></p> </td> <td style="vertical-align: top;"> <p><span> </span></p> </td> </tr></tbody></table><p><span style="vertical-align: super;">1)</span><span> resulting from impairment of NSI product technology and milestone payment contingent liability</span></p> <p> </p> <p><span style="font-weight: bold;">REGIONAL PERFORMANCE</span></p> <p><span> </span></p> <p><span>In </span><span style="font-weight: bold;">EMEA</span><span> Medartis continued to perform very well, achieving overall growth of 17.8% and double digits in all countries. The DACH region grew 17%, led by Germany with 19%. Southern Europe, composed of France and Spain, grew more than 21%. The UK achieved almost 20% growth, while Poland and the 29 distributor markets attained 19%. EMEA benefited from the solid performance of Keri Medical products, which Medartis sells as a distributor in Germany, Austria and the UK and which fit perfectly into the hand and wrist portfolio, allowing cross-selling in both directions.</span></p> <p><span>In the </span><span style="font-weight: bold;">US</span><span> Medartis grew by 20.6%. Monthly run rates have increased consistently, generated by the direct sales force and 57 independent distributors with 276 sales agents. The key growth driver in the US was the hand and wrist segment, driven mainly by Medartis’ flagship distal radius plates, as well as the distribution of KeriFlex and Field Orthopedics products. Growth of acquired NSI products has been slow as it is taking longer than expected to convert customers to instrument-guided Lapidus procedures. The US is building up commercial channels as a priority, focusing on fostering sales excellence by further bolstering the team with new additions in product management, marketing and medical education, and also by intensifying training and education activities.</span></p> <p><span> </span></p> <p><span>In </span><span style="font-weight: bold;">APAC </span><span>Medartis grew</span><span style="font-weight: bold;"> </span><span>+3.1% YoY, with significant impacts from additional price cuts in Australia’s private insurance sector in H1. While volume growth was around 10%, value growth was fairly flat. The impact on reimbursements placed increasing strain on the hospital sector, patient waiting lists and the medical technology market. In late H1, Medartis prepared for the launch of Keri Touch in Australia, for which it recently received regulatory approval, and an initial cad lab was conducted with Medartis’ and Keri Medical’s worldwide faculty members. Dedicated field trainers and the sales force are currently being built up to support the launch. In Japan, the direct business more than doubled YoY, while the transition from the former distributor business to direct sales with a parallel switch into sterile products is ongoing and expected to further accelerate growth. Japanese surgeons have also shown very strong interest in the education offering from Medartis’ alliance with IBRA. Although the absolute size of the distributor markets (excl. Japan) remains small, they achieved solid growth, despite some headwind due to Korean surgeon strikes.</span></p> <p><span> </span></p> <p><span>Finally, in </span><span style="font-weight: bold;">LATAM</span><span> Medartis declined -9.5% YoY after facing some notable challenges. In Brazil, the largest health insurers in the private insurance sector merged, which means that since February Medartis has had to re-negotiate pricing with hospitals directly. This has led to a decline in elective procedures that are subject to a complex pre-approval process. Furthermore, there have been delays in the regulatory approval of new products. These factors have significantly affected performance, with negative growth of 27% in H1. Mexico also grew slower than expected, largely because of a reduction in government purchases around the election period. Distributor markets, however, were up 13% – despite challenges in Colombia and Argentina due to healthcare system changes and government adjustments – with strong growth in Costa Rica, in particular.</span></p> <p> </p> <p><span> </span></p> <p><span style="font-weight: bold;">BUSINESS SEGMENT PERFORMANCE</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span>Growth H1 2024 @CER (excl. 3rd Parties):</span></p> <table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="vertical-align: bottom;"> <p><span> </span></p> </td> <td style="vertical-align: bottom;"> <p><span>EMEA</span></p> </td> <td style="vertical-align: bottom;"> <p><span>APAC</span></p> </td> <td style="vertical-align: bottom;"> <p><span>LATAM</span></p> </td> <td style="vertical-align: bottom;"> <p><span>Nordamerika</span></p> </td> <td style="vertical-align: bottom;"> <p><span>Total</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>Upper Extremities</span></p> </td> <td style="vertical-align: bottom;"> <p><span>14.7%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>-3.5%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>4.8%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>20.0%</span></p> </td> <td style="vertical-align: bottom;"> <p><span style="font-weight: bold;">12.0%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>Lower Extremities</span></p> </td> <td style="vertical-align: bottom;"> <p><span>25.4%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>21.1%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>4.0%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>10.8%</span></p> </td> <td style="vertical-align: bottom;"> <p><span style="font-weight: bold;">20.7%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>CMF and Others</span></p> </td> <td style="vertical-align: bottom;"> <p><span>26.6%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>8.0%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>-30.9%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>35.4%</span></p> </td> <td style="vertical-align: bottom;"> <p><span style="font-weight: bold;">12.1%</span></p> </td> </tr><tr><td style="vertical-align: bottom;"> <p><span>Total</span></p> </td> <td style="vertical-align: bottom;"> <p><span>17.8%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>3.1%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>-9.5%</span></p> </td> <td style="vertical-align: bottom;"> <p><span>20.6%</span></p> </td> <td style="vertical-align: bottom;"> <p><span style="font-weight: bold;">13.1%</span></p> </td> </tr></tbody></table><p><span style="font-weight: bold;"> </span></p> <p><span>In the first half of 2024, Medartis generated CHF 72.8m net sales through the upper extremities business, amounting to 68% of total revenues. 19% of sales (CHF 20.0m) were generated with products in the lower extremities segment, with cranio-maxillofacial and other products and services accounting for the remaining 14%.</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span style="font-weight: bold;">Upper extremities: </span><span>Buoyed by Keri Medical, in EMEA the hand and wrist segment contributed 33% to overall sales. Upper extremities, which also includes clavicle, shoulder, forearm and elbow, continued to grow by a further 15% YoY despite already having a high share of the market. In the US, KeriFlex, which was introduced about one-and-a-half years ago, grew significantly and boosted overall sales in the hand segment to 26%. Medartis’ US wrist business accelerated to almost 20% growth, driven mainly by distal radius products. In APAC, the negative growth in upper extremities was driven by distributor markets and Australia, where the distal radius portfolio’s underlying volume growth remained at almost 10% but was affected in value terms by further price cuts. Meanwhile, growth in upper extremities amounted to over 500% in Japan, but the absolute size of this business is still small.</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span style="font-weight: bold;">Lower extremities: </span><span>The launch of a new foot system accelerated sales in EMEA and APAC, where CCS screws also bolstered performance. The US performed below expectations in this segment, growing just under 11%. Feedback from surgeons on the acquired NSI technology remains positive, but conversion of new doctors is taking longer than planned while channel building is also progressing slower than expected. Medartis US will continue to invest in training and education as well as marketing to better address these challenges. Japan meanwhile recorded strong growth in lower extremities.</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">CMF:</span><span> The transition from Modus 1 to Modus 2 according to MDR requirements in EMEA has accelerated sales and led to 28% CMF growth in the region. Meanwhile, the CMF business in LATAM declined 31% as a result of the changes in the Brazilian insurance system.</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">3</span><span style="font-weight: bold; vertical-align: super;">rd</span><span style="font-weight: bold;"> party manufacturing</span><span>: This business, which was taken over as part of the acquisition of NSI, is decreasing according to plan. While Medartis will fulfill existing contracts, it will make use of available capacity to gradually increase production of its own products.</span></p> <p> </p> <p><span> </span></p> <p><span style="font-weight: bold;">PRODUCT DEVELOPMENT AND INNOVATION</span></p> <p><span> </span></p> <p><span>Medartis continuously innovates in order to further deepen its product portfolio across core strategic segments in extremities and CMF. During the first six months in 2024, the company launched a number of new products and line extensions.</span></p> <p><span style="font-weight: bold; font-style: italic;"> </span></p> <p><span style="font-weight: bold;">Midfoot 2.8, Mid- and Hindfoot 2.8/3.5 & Fusion 3.5 System: </span><span>Medartis launched new additions to its foot portfolio, including a unique sales kit with comprehensive training content and promotional material for three different indications.</span></p> <p><span> </span></p> <p><span>The expansion of the Hallux and Midfoot System 2.8 offers surgeons enhanced flexibility, precision, and adaptability with coverage of several new indications and a variety of plate sizes. The Mid- and Hindfoot System 2.8/3.5 provides an unparalleled level of surgical precision and control through unique independent plate and wedge positioning. The Fusion 3.5 System not only empowers surgeons with excellent precision in compressing individual joints but also offers a tailored and versatile range of adaptable plates.</span></p> <p><span style="font-weight: bold; font-style: italic;"> </span></p> <p><span style="font-weight: bold;">CCS Extensions: </span><span>In May, the CCS System was extended with additional fully threaded screws, new lengths and an improved thread design, offering a technologically advanced solution. The screw can now also be used as an intramedullary fixation solution for the metacarpals – a procedure that is trending in many markets – offering surgeons an alternative to external plate fixations both for upper as well as lower extremity fractures.</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span style="font-weight: bold;">Scaphoid plate</span><span>: In June, Medartis’ successful and unique scaphoid plate portfolio was extended with two additional sizes to better cater for differences in scaphoid size and shape.</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span style="font-weight: bold;">Dorsal olecranon plates:</span><span> In July the company started a limited rollout of its new dorsal olecranon plates, complementing the existing elbow portfolio to close an indication gap. The design is set apart by its anatomical shape, soft tissue protection and solid fixation of the coronoid. The full launch is planned for H1 2025.</span></p> <p> </p> <p><span> </span></p> <p><span style="font-weight: bold;">STRENGTHENING OF KEY FUNCTIONS THROUGH NEW HIRES AND TRANSFERS IN THE US AND GLOBALLY</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span>Over the last six months, Medartis has hired and also relocated a number of key talents to further accelerate US growth and continue to professionalize and build a stronger and more agile organization. In March Inge Maes joined Medartis as its new CHRO, bringing exceptional expertise and experience of leading global HR functions to the Executive Management Board. Moreover, various senior positions in Global Surgeon Relations and Market Development, Marketing, Training and Education, Field Training as well as Global Supply Chain, Purchasing, PMO Management, Finance and IT were filled. In addition, some employees with deep knowledge and long-standing experience have relocated from Basel to the US to support product management, operations and manufacturing.</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">OPERATIONAL AND FINANCIAL PERFORMANCE</span></p> <p><span style="font-weight: bold;"> </span></p> <p><span>In H1 Medartis achieved a gross margin of 80.3%, an improvement of 310 bps compared with H1 2023. This improvement mostly stems from increased operating efficiency in Basel’s production, including the introduction of new sterile and non-sterile packaging, bringing significant unit cost savings, a reduction in scrapping expenses as well as higher agility and lower lead time in the supply chain. The gross margin was also positively affected by the reduction in volume of the 3</span><span style="vertical-align: super;">rd</span><span> party manufacturing business which Medartis took over from NSI as part of the acquisition. Excluding the 3</span><span style="vertical-align: super;">rd</span><span>-party manufacturing business, the gross margin was 83.4%. As planned, this business, which has a much lower gross margin than Medartis, is phasing out over the next 12-18 months and will therefore have less dilution impact on the blended gross margin going forward. Approx. 50 bps of the improvement is due to the non-repetition of one-off costs following the IT hack in May 2023. These positive effects were partially reduced by an increase in Keri Medical product sales, which – as long as Medartis remains only a distributor of this business – have a lower margin than its own products.</span></p> <p><span> </span></p> <p><span>Operating expenses were managed through continued strong cost discipline across the company. The US has started to gain better cost efficiency as it grows, while management continues to invest in improving sales channels, training and education and back-office process stability. Set management has further improved YoY and will allow better capital efficiency going forward. In Japan, Medartis has incurred a significant spend of around CHF 3.5m in taking over the business of a former distributor. While cost efficiency in EMEA remained high, the cost ratios for LATAM and APAC decreased slightly following the unexpected top line decline in Brazil and Australia due to the insurance merger and price cuts respectively. Medartis will monitor the situation carefully over the next six to 12 months before implementing any potential cost reduction measures.</span></p> <p><span> </span></p> <p><span>The reported EBITDA margin of 21.4% temporarily increased due to a one-off effect related to the acquisition of the former NSI technology portfolio. As the launch of certain products is taking longer than expected, the value of some intangible assets had to be impaired, resulting in a one-off non-cash expense of CHF 9.6m. This was partially offset by the release of a contingent liability relating to a milestone payment to former NSI shareholders for NSI products sales in 2025. Excluding these items, the underlying EBITDA margin was 14.6%. Adjusted for further non-core and one-off items it even reached 17.2%. On an EBIT level, the Group achieved 4.9% for the underlying excl. NSI revaluation and 7.1% excluding other non-core and one-off items. Underlying profitability is in line with management expectations and guidance which assumed a higher top line in LATAM and APAC.</span></p> <p><span> </span></p> <p><span>Medartis achieved a net profit of CHF 2.6m in H1 vs a reported net loss of CHF 0.8m in H1 2023. The net profit also includes interest expenses of about 6.1% from the issuance of the CHF 115.8m convertible bond in April, of which only 3% is cash effective.</span></p> <p><span> </span></p> <p><span>Operating cash flow before M&A and financing improved significantly year-on-year and finished at CHF 2.2m vs CHF -11.9m in H1 2023. The NSI related re-valuation of contingent liabilities as well as intangible asset values in H1 2024 had no cash impact. As of June 2024, Medartis’ cash position is CHF 127.1m, allowing for a potential full acquisition of Keri Medical in the next 12 months. Any decisions regarding this acquisition will be made by Medartis’ Board of Directors based on Keri Medical’s operative and financial performance during 2024.</span></p> <p><br/><span style="font-weight: bold;">GUIDANCE FOR THE FULL YEAR</span><span style="font-weight: bold;"> </span></p> <p><span> </span></p> <p><span>Given that growth in the first half-year in LATAM and APAC was lower than expected, Medartis is adjusting its guidance for the full year 2024. While the Group remains confident in its ability to outperform the underlying market, full-year growth is expected to be between 12-15% at CER.</span><span> </span><span> </span></p> <p><span> </span></p> <p><span>Profitability levels of the underlying EBITDA should further improve in the second half of the year and thus allow Medartis to achieve around 15% at current exchange rates for the full year, depending on top line development.</span><span> </span></p> <p><span> </span></p> <p><span style="font-weight: bold;">____________________________________________________________________________________</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">Audio webcast with Q&A</span></p> <p><span>Today at 11.00 a.m. there will be an audio conference to present the half-year results 2024. The speakers will be CEO Christoph Brönnimann and CFO Dirk Kirsten. The conference language is English. The presentation, the half-year report and later the recording of the event will be available on the </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=830e851bb4ea70d4eeae3e5d4a8db46d&application_id=1970945&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: none;"><span style="text-decoration: underline;">Medartis website</span></a><span>. The presentation will be followed by a Q&A session.</span></p> <p><span>Please use the </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=30774b82959ce3619c6c1f9b2177181d&application_id=1970945&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: none;"><span style="text-decoration: underline;">webcast link</span></a><span> to follow the slide presentation and submit questions in writing. To participate directly in the conference call and ask questions verbally, you will need to </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=707f46fc6fb5ec5a23f0ce4d4bde30bb&application_id=1970945&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: none;"><span style="text-decoration: underline;">register</span></a><span> to receive the telephone number, a passcode and a personal PIN.</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">Your contact:</span><span> </span></p> <p>Medartis Corporate Communications <br/> Investor contact: investor.relations@medartis.com<br/> Media contact: corporate.communication@medartis.com<br/> +41 61 633 37 36 / +41 61 633 37 34</p> <p> </p> <p><span> </span></p> <p><span style="font-weight: bold;">About Medartis</span></p> <p><span>Founded in 1997 and headquartered in Basel, Switzerland, Medartis is one of the world’s leading manufacturers and providers of medical devices for surgical fixation of bone fractures for upper and lower extremities as well as for the craniomaxillofacial region. Medartis employs approx. 860 individuals across its 13 locations, with products offered in over 50 countries globally. Medartis is committed to providing surgeons and operating theatre personnel with the most innovative titanium implants and instruments as well as best-in-class service. For more information, please visit </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=b5c53bf9b63238dde79bab4ba435caae&application_id=1970945&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: none;"><span style="text-decoration: underline;">www.medartis.com</span></a><span>.</span></p> <p><span> </span></p> <p><span style="font-weight: bold;">Disclaimer</span></p> <p><span>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 the accuracy or completeness of the information contained herein or of the views given or implied, and accordingly no reliance should be placed on.</span></p> </div> </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">1970945</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> 1970945  20-Aug-2024 CET/CEST </p> <img src="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=show_t_gif&application_id=1970945&application_name=news&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f" alt="fncls.ssp?fn=show_t_gif&application_id=1970945&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-reports-13-revenue-growth-on-group-level-driven-by-strong-regional-growth-in-the-us-21-and-emea-18-improvement-of-ebitda-margin-to-17-1970945">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): 31.193 Visitors - 21.001 Registered members - 18 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": 'VDQvLeFRhdOBXUm5Ai26QpNhQZZwZCv27ZafBvGC', }, }); // 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-reports-13-revenue-growth-on-group-level-driven-by-strong-regional-growth-in-the-us-21-and-emea-18-improvement-of-ebitda-margin-to-17-1970945'; var uri_w_param = 'news/CH0386200239/medartis-holding-ag/medartis-reports-13-revenue-growth-on-group-level-driven-by-strong-regional-growth-in-the-us-21-and-emea-18-improvement-of-ebitda-margin-to-17-1970945'; $.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/97279', 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/97279', 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/97279', 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/97279', // 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/97279/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>