With all the hype surrounding home cinema, you’d be forgiven for thinking that the humble Hi-Fi system was a thing of the past. True, the volume of Hi-Fi sold relative to home cinema (or other entertainment kit, such as games consoles) is not what it once was. Moreover, modern Hi-Fi has become both easier to live with and harder to pigeon-hole. CD is king MD for a moment Serving up some sounds DVD sounds good Multi-channel in the mix Rise and amplify Power is overrated Speaker sets Last thing? Contacts:
System Video 01-6200900 (for Yamaha) Jargon Buster Dynamics Integrated amplifier Pre-amplifier Power amplifiers Bi-amplification Bi-wiring Interconnects Speaker cables Frequency Tweeter Woofer 19/01/04
The basic elements of any system can be broken down into three constituents: Source, amplification and loudspeakers. We’ve seen steady, sensible evolution in the latter two areas (more about which later), but at the business end, the crucial aspect of information retrieval, the changes have been little short of revolutionary.
Once, a source was readily defined: The record player, for instance. Although digital audio is undoubtedly the volume force in the market today, vinyl still finds a loyal audience among both the audiophile enthusiast and the teenage DJ. What’s more, the format still sounds great, too. If you have a much-cherished but seldom-played record collection doing nothing, it could be worth investing around EUR241 on a Pro-Ject Debut Phono SB, a modestly priced, but superbly capable budget turntable. Equally, if you’ve the budget, high-end turntables remain some of the most gorgeous of all Hi-Fi components. Even now, little can rival the Wilson Benesch Full Circle (EUR2,832) for sheer visual impact – to say nothing of its awesome sonic abilities.
So, what is considered Hi-Fi today? While the vinyl market is more vibrant than you’d think, most modern music arrives digitally packaged on discs, stored onto hard drives, received from digital broadcast transmitters or downloaded from ISPs – and all of it can legitimately be called ‘Hi-Fi’.
There’s no doubt about the undisputed champion of source components: 20 years on, CD (Compact Disc) remains king in terms of both sales and, in the view of some audiophiles, sonic ability. Derided by vinyl enthusiasts in its earliest days, and now considered ripe for replacement by proponents of rival technologies, the CD has somehow overcome all obstacles to bludgeon its way to the top of the sales charts. The format has had time to mature and Hi-Fi engineers have learned how to develop CD players able to convey both digital accuracy (in terms of data retrieval) together with that more elusive, ethereal Hi-Fi quality known as ‘musicality’.
For that reason, it could be that one of the most effective sound-quality upgrades you could make to your system is to upgrade your CD player. The playback quality of most modern designs outshines older generation CD players. You don’t have to spend a fortune either; today’s affordable CD player, such as the Arcam CD73T (EUR567) and the Rotel RCD-02 (EUR538), will flatten the best efforts of many pricier players of yesteryear.
On the other hand, be in no doubt that there’s a great deal more performance available from CD should you choose to exploit it, whatever the theoretical limits of the format’s 650Mbyte capacity. The extraordinary Krell KPS 25sc – all £36,000 of it – is ample proof of that. Hearing a product like this, in tandem with the appropriate partnering kit, is enough to have you turning off the telly for life.
Aside from devoting 20 years to developing CD performance, Hi-Fi engineers have also turned their hands to other audio approaches. Some, notably MiniDisc and the short-lived DCC (Digital Compact Cassette – remember that?) have all but fizzled out; of the two, MD continues for now, but largely to serve the personal audio market.
The giant CD auto-changer has also had its day; why bother racking hundreds of CDs onto a huge, cumbersome rotating mechanism when you can simply package your discs digitally on a hard drive server?
Although most hard drive-based products do at least offer the option to compress using MP3 (MPEG-1, Layer 3) audio, the majority also offer the option to store audio in uncompressed PCM (Pulse Code Modulation) form – also known as CD quality. However, there’s a price to be paid in terms of audio storage: Package audio using compression and you can fit thousands of tracks on even a modest hard drive, but store in PCM format and you’ll fill a smallish hard drive with scarcely more than 100 CDs.
Fortunately, tumbling hard drive costs have seen modern audio servers being developed with larger storage capacities, meaning you can store more music in higher quality – which in turn makes for a useful product. Yamaha’s EUR2,255 MusicCast audio server offers a useful 80Gbyte capacity, which should allow you to store at least 100 CDs in optimum quality to play back as and when you like. That means you could store your CD collection on a hard drive and reserve your better quality CD player for those occasions when you want your music to be more than simply background. One significant additional Yamaha virtue is that it also supports wireless networking of audio over a home distribution system – you can listen to your CD collection in a number of rooms around the house. Compact audio receivers, called ‘clients’ (EUR851 each), can be used to receive audio from the server in the living room via Wireless LAN and you can even listen simultaneously (yet independently) to different tracks in different rooms in the house.
The last newcomers onto the audio scene are perhaps the most controversial. DVD-Audio and SACD (Super Audio CD) have struggled to supplant CD in sales terms, despite being available for some five years. Each disc, trumpeted by its respective proponents as ‘the CD of the future’, uses higher-capacity disc storage – 4.7Gbyte, as against 650Mbyte – and both systems repackage audio in advanced ways. DVD-Audio uses a system developed by British high-end audio specialist, Meridian, and dubbed MLP (Meridian Lossless Packing), while SACD relies on DSD, or Direct Stream Digital encoding. These advanced, high-density packaging systems allow for theoretically superior stereo sound, with a wider bandwidth and a smoother, more detailed sound than CD. It also provides a multi-channel option should the recording artist want to take advantage of it.
While higher-quality stereo sound has its appeal, multi-channel audio has met with a mixed reception. This is in part because it’s such an alien concept and, in part, because it imposes so much upon the user. Do you really want your living room to be covered with large speakers – you’ll need at least five, plus a bass-enhancing subwoofer – just to listen to music? If you want to feel like you’re on stage with Motorhead as they thrash out Ace Of Spades, then multi-channel audio maybe right up your street. (That’s not a joke, by the way – Motorhead really do have a DVD-Audio disc out).
However, those interested in owning a DVD-Audio or SACD system have had to contend with compatibility issues between the differing disk formats when choosing which player to spend their money on. Fortunately, a number of manufacturers have recently moved to address such issues. Denon and Pioneer can both offer you DVD players with Universal disc replay, able to play DVD-Video, DVD-Audio, SACD and conventional CDs. These start at just EUR354 for Pioneer’s DV-565A, going up to EUR2,499 for the Denon DVD-A11. It should be noted that while most audiophiles agree that these players offer the benefits of enhanced disc replay, they do so at the expense of CD performance. In other words, if your music collection consists mainly of CDs, you could well be better off with a plain old CD player, at least for now.
Whichever way you choose to go on the source front, you’ll need something to amplify the signal you create – an amplifier – and then a pair of speakers in order to transform that signal into sound. Amplifiers, unlike source components, would still be recognisable to anyone familiar with Hi-Fi from the 1970s. The best amplifier is simple and does without fripperies like tone controls or, worse, graphic equalisers. The whole idea is to preserve the signal from the source – whatever that source is – in the cleanest possible form so that it arrives at your loudspeakers with no audible signs of quality ‘loss’.
It’s common when talking about amplification to get fixated on power ratings, measured in ‘watts’. Don’t.
Power has nothing whatsoever to do with quality and some of the very best amplifiers you can buy, whether budget or expensive, have power figures that appear comparatively modest. That’s partially because there’s more to an amplifier’s sound performance than sheer welly, but it’s also a reflection of the fact that – surprising as it might seem – there’s a huge amount of legal leeway over the matter of power figures. Sometimes manufacturers are allowed to quote ratings that reflect an amplifier’s power for a split second, not its continuous output – and that’s just the tip of the iceberg.
With that in mind, look for a sensible figure of around 40W per channel; that’s a decent rating for a good budget amp in the average living room and it’s precisely what you get from Rotel’s RA-01 (EUR354). If you plan to listen to heavy rock all day in a large warehouse-loft style apartment, then by all means go for something gutsier – the Arcam DiVA A85, at EUR1,135, is a good option – but don’t get carried away. Even some of the priciest amplification on the market, like the wonderful Lavardin IT (EUR4,541), rates at ‘just’ 40W, but it never sounds underpowered.
It’s much the same story with loudspeakers: Big doesn’t always necessarily mean best. Compact bookshelf loudspeakers, which should actually be mounted on dedicated speaker stands to give of their best, can be both wondrous to listen to and perfectly capable of filling large rooms with sound. The only real exceptions are music and space-dependent. If you want to feel that bass line (for example, if you’re into dub or reggae), then you’ll need something with a larger bass driver in order to shift more air. The bigger your room, the bigger that driver needs to be, which is where the floor-standing loudspeaker – a tall design that doesn’t require a stand – comes into its own. Consider the B&W DM 601 S3 stand-mounters (EUR354) as they suit a wide range of equipment (they go very well with Rotel amps, in particular), while Wharfedale’s Pacific Evo 30 floor-standing speakers are great value for larger spaces at just EUR922. On the other hand, if budget is not an issue, then you really can’t go wrong with B&W Nautilus 800-series speakers; the range starts at EUR1,986 for the Nautilus 805 stand-mounters and runs up to EUR12,000 for the mighty, hugely powerful Nautilus 801 floor-standers.
Don’t buy any Hi-Fi kit without listening to it first and there’s only one way to do that: Go to a good Hi-Fi dealer. A music system exists to deliver an emotional, involving experience and the only way to test whether your prospective buy will deliver that is to try it. Phone your local dealer, outline your budget and your tastes, and ask him to set up a listening session; he’ll be happy to oblige and might even throw in a cup or two of coffee along the way. Bring your favourite CDs with you when you go along to the appointment; you’ll be surprised at just how good some of the music you’ve known and loved will sound. That’s the beauty of great Hi-Fi – and that’s why it’s worth every penny you’ll spend.
Sherwoods 051-872622 (for Denon)
Panasonic 01-2898333 (for Panasonic and Technics)
Cloney Audio 01-2889449 (for B&W)
Digicom 01-6765097 (for Bose)
AV Import 01-2405600 (for Denon, Mission and Pioneer)
JVC 01-4094920 (for JVC)
Datashow 01-4602299 (for Sony)
Bang & Olufsen 01-8782700
We explain the jargon behind the technology –
The audible difference between quiet and loud passages in music. A good system will provide a wide dynamic range and handle dynamic changes rapidly.
Everything you need to take signals from a source component and turn it into something you can hear; an integrated amplifier includes both volume control/source switching and power amplification (see pre-amplifier and power amp).
Effectively a volume control and signal switcher; a preamplifier could be described as the ‘brain’ of the amplifier. Splitting it from the ‘brawn’ of the power amplifier can be beneficial in that it helps to produce a cleaner, more accurate sound – but pre-amp/power amplifier combinations are more costly than integrated amps.
If sheer muscle is to your taste, a power amplifier is a useful asset. Partnered with a pre-amplifier, a power amp can provide a tighter, more forceful sound. These are frequently employed in high-end Hi-Fi systems, but can also be usefully added as upgrades to integrated amplifiers, provided they offer suitable sockets, called ‘pre-outs’.
Combine an integrated amplifier with a power amplifier and you can create a bi-amplified (two amplifier) system. This will produce a tauter, more focused sound, as well as providing greater dynamics.
An effective upgrade to many loudspeakers, based around separate runs of speaker cable that independently drive the tweeter (see below) and woofer (also below) for more precise detail and focus. Bi-wire terminals are vital for bi-amplification; one power amplifier drives the tweeter, the other the woofer.
Stereo cables that link source components to amplifiers and pre-amplifiers to power amplifiers. You often get free cables included in the box with budget kit, but they’re of low quality; decent audio upgrades start at just EUR42.
These are what they are called! Keep speaker cables to the shortest possible length, since this will produce better sound. Get them ‘terminated’ by your dealer with proper 4mm ‘banana’ plugs. These provide a proper fit with the corresponding terminals fitted to amplifiers and loudspeakers.
A measure of pitch: Low frequency refers to bass, high frequency to treble. The bit in the middle? Midrange.
Compact high frequency driver (speaker) that deals with treble information.
Larger driver cone, able to relay midrange and bass information. In some systems two sets of woofers are used, one dedicated to midrange signals, the other to bass; such speakers are called ‘three-way’ designs (the third element being the high-frequency tweeter).
Hi-Fi excellence
]*>/gi, ' ') .replace(blockWrapperRegex, '') : program.requiredTemplate.replace(divRegex, ''); legalTextElement.textContent = ''; const parts = template.split(/(.*?)/g); parts.forEach(function(part) { if (!part) { return; } const anchorMatch = part.match(/(.+?)/); if (anchorMatch) { const linkElement = document.createElement('a'); linkElement.href = sanitizeUrl(anchorMatch[1]); linkElement.target = anchorMatch[2] ? sanitizeHtml(anchorMatch[2]) : '_blank'; linkElement.rel = 'noopener noreferrer'; linkElement.textContent = sanitizeHtml(anchorMatch[3]); legalTextElement.appendChild(linkElement); } else { legalTextElement.appendChild(document.createTextNode(part)); } }); } function generateDropdownOptions(smsProgramData) { if (!smsProgramData || smsProgramData.length === 0) { return ''; } var programs = true ? smsProgramData.filter(function(p, i, arr) { return arr.findIndex(function(q) { return q.countryCode === p.countryCode; }) === i; }) : smsProgramData; return programs.map(program => { const flag = getCountryUnicodeFlag(program.countryCode); const countryName = getCountryName(program.countryCode); const callingCode = program.countryCallingCode || ''; // Sanitize all values to prevent XSS const sanitizedCountryCode = sanitizeHtml(program.countryCode || ''); const sanitizedCountryName = sanitizeHtml(countryName || ''); const sanitizedCallingCode = sanitizeHtml(callingCode || ''); return '' + sanitizedCountryName + ' ' + sanitizedCallingCode + ''; }).join(''); } function getCountryName(countryCode) { if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) { for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) { if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) { return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name; } } } return countryCode; } function getDefaultPlaceholder(countryCode) { if (!countryCode || typeof countryCode !== 'string') { return '+1 000 000 0000'; // Default US placeholder } var mockPlaceholders = [ { countryCode: 'US', placeholder: '+1 000 000 0000', helpText: 'Include the US country code +1 before the phone number', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Include the GB country code +44 before the phone number', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Include the CA country code +1 before the phone number', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Include the AU country code +61 before the phone number', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Incluya el código de país ES +34 antes del número de teléfono', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer', }, { countryCode: 'BE', placeholder: '+32 000 00 00 00', helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone', }, { countryCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Include the IE country code +353 before the phone number', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono', }, { countryCode: 'NO', placeholder: '+47 000 00 000', helpText: 'Inkluder NO landskode +47 før telefonnummeret', }, { countryCode: 'SE', placeholder: '+46 00 000 00 00', helpText: 'Inkludera SE landskod +46 före telefonnumret', }, { countryCode: 'DK', placeholder: '+45 00 00 00 00', helpText: 'Inkluder DK landekode +45 før telefonnummeret', }, { countryCode: 'FI', placeholder: '+358 00 000 0000', helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa', }, { countryCode: 'EE', placeholder: '+372 0000 0000', helpText: 'Lisage EE riigikood +372 telefoninumbri ette', }, { countryCode: 'PL', placeholder: '+48 000 000 000', helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu', }, { countryCode: 'SK', placeholder: '+421 000 000 000', helpText: 'Pred telefónne číslo uveďte kód krajiny SK +421', }, { countryCode: 'LV', placeholder: '+371 0000 0000', helpText: 'Iekļaujiet LV valsts kodu +371 pirms tālruņa numura', }, { countryCode: 'LT', placeholder: '+370 0000 0000', helpText: 'Įtraukite LT šalies kodą +370 prieš telefono numerį', }, { countryCode: 'GR', placeholder: '+30 000 000 0000', helpText: 'Συμπεριλάβετε τον κωδικό χώρας GR +30 πριν από τον αριθμό τηλεφώνου', }, { countryCode: 'PT', placeholder: '+351 000 000 000', helpText: 'Inclua o código de país PT +351 antes do número de telefone', }, { countryCode: 'HR', placeholder: '+385 00 000 0000', helpText: 'Uključite HR pozivni broj države +385 prije telefonskog broja', }, { countryCode: 'SI', placeholder: '+386 00 000 000', helpText: 'Vključite SI kodo države +386 pred telefonsko številko', }, { countryCode: 'IS', placeholder: '+354 000 0000', helpText: 'Láttu IS landsnúmer +354 fylgja á undan símanúmerinu', }, { countryCode: 'LU', placeholder: '+352 000 000 000', helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone', }, { countryCode: 'MC', placeholder: '+377 00 00 00 00', helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone', }, { countryCode: 'AD', placeholder: '+376 000 000', helpText: 'Incloeu el codi de país AD +376 abans del número de telèfon', }, { countryCode: 'JE', placeholder: '+44 0000 000000', helpText: 'Include the JE country code +44 before the phone number', }, { countryCode: 'IM', placeholder: '+44 0000 000000', helpText: 'Include the IM country code +44 before the phone number', }, { countryCode: 'GG', placeholder: '+44 0000 000000', helpText: 'Include the GG country code +44 before the phone number', }, { countryCode: 'AL', placeholder: '+355 00 000 0000', helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit', }, { countryCode: 'SM', placeholder: '+378 0000 000000', helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono', }, { countryCode: 'FO', placeholder: '+298 000000', helpText: 'Inkluder FO landekode +298 før telefonnummeret', }, { countryCode: 'MT', placeholder: '+356 0000 0000', helpText: 'Include the MT country code +356 before the phone number', }, { countryCode: 'LI', placeholder: '+423 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein', }, { countryCode: 'GI', placeholder: '+350 000 00000', helpText: 'Include the GI country code +350 before the phone number', }, { countryCode: 'MD', placeholder: '+373 00 000 000', helpText: 'Includeți codul de țară MD +373 înaintea numărului de telefon', }, { countryCode: 'HU', placeholder: '+36 00 000 0000', helpText: 'A telefonszám előtt adja meg a HU országkódot +36', }, { countryCode: 'NZ', placeholder: '+64 00 000 0000', helpText: 'Include the NZ country code +64 before the phone number', }, { countryCode: 'ME', placeholder: '+382 00 000 000', helpText: 'Uključite ME pozivni broj države +382 prije telefonskog broja', }, ]; const selectedPlaceholder = mockPlaceholders.find(function(item) { return item && item.countryCode === countryCode; }); return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder; } function updatePlaceholder(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } const phoneInput = document.querySelector('#mce-' + fieldName); if (!phoneInput) { return; } const placeholder = getDefaultPlaceholder(countryCode); if (placeholder) { phoneInput.placeholder = placeholder; } } function updateCountryCodeInstruction(countryCode, fieldName) { updatePlaceholder(countryCode, fieldName); } function getDefaultHelpText(countryCode) { var mockPlaceholders = [ { countryCode: 'US', placeholder: '+1 000 000 0000', helpText: 'Include the US country code +1 before the phone number', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Include the GB country code +44 before the phone number', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Include the CA country code +1 before the phone number', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Include the AU country code +61 before the phone number', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Incluya el código de país ES +34 antes del número de teléfono', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer', }, { countryCode: 'BE', placeholder: '+32 000 00 00 00', helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone', }, { countryCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Include the IE country code +353 before the phone number', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono', }, { countryCode: 'NO', placeholder: '+47 000 00 000', helpText: 'Inkluder NO landskode +47 før telefonnummeret', }, { countryCode: 'SE', placeholder: '+46 00 000 00 00', helpText: 'Inkludera SE landskod +46 före telefonnumret', }, { countryCode: 'DK', placeholder: '+45 00 00 00 00', helpText: 'Inkluder DK landekode +45 før telefonnummeret', }, { countryCode: 'FI', placeholder: '+358 00 000 0000', helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa', }, { countryCode: 'EE', placeholder: '+372 0000 0000', helpText: 'Lisage EE riigikood +372 telefoninumbri ette', }, { countryCode: 'PL', placeholder: '+48 000 000 000', helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu', }, { countryCode: 'SK', placeholder: '+421 000 000 000', helpText: 'Pred telefónne číslo uveďte kód krajiny SK +421', }, { countryCode: 'LV', placeholder: '+371 0000 0000', helpText: 'Iekļaujiet LV valsts kodu +371 pirms tālruņa numura', }, { countryCode: 'LT', placeholder: '+370 0000 0000', helpText: 'Įtraukite LT šalies kodą +370 prieš telefono numerį', }, { countryCode: 'GR', placeholder: '+30 000 000 0000', helpText: 'Συμπεριλάβετε τον κωδικό χώρας GR +30 πριν από τον αριθμό τηλεφώνου', }, { countryCode: 'PT', placeholder: '+351 000 000 000', helpText: 'Inclua o código de país PT +351 antes do número de telefone', }, { countryCode: 'HR', placeholder: '+385 00 000 0000', helpText: 'Uključite HR pozivni broj države +385 prije telefonskog broja', }, { countryCode: 'SI', placeholder: '+386 00 000 000', helpText: 'Vključite SI kodo države +386 pred telefonsko številko', }, { countryCode: 'IS', placeholder: '+354 000 0000', helpText: 'Láttu IS landsnúmer +354 fylgja á undan símanúmerinu', }, { countryCode: 'LU', placeholder: '+352 000 000 000', helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone', }, { countryCode: 'MC', placeholder: '+377 00 00 00 00', helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone', }, { countryCode: 'AD', placeholder: '+376 000 000', helpText: 'Incloeu el codi de país AD +376 abans del número de telèfon', }, { countryCode: 'JE', placeholder: '+44 0000 000000', helpText: 'Include the JE country code +44 before the phone number', }, { countryCode: 'IM', placeholder: '+44 0000 000000', helpText: 'Include the IM country code +44 before the phone number', }, { countryCode: 'GG', placeholder: '+44 0000 000000', helpText: 'Include the GG country code +44 before the phone number', }, { countryCode: 'AL', placeholder: '+355 00 000 0000', helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit', }, { countryCode: 'SM', placeholder: '+378 0000 000000', helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono', }, { countryCode: 'FO', placeholder: '+298 000000', helpText: 'Inkluder FO landekode +298 før telefonnummeret', }, { countryCode: 'MT', placeholder: '+356 0000 0000', helpText: 'Include the MT country code +356 before the phone number', }, { countryCode: 'LI', placeholder: '+423 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein', }, { countryCode: 'GI', placeholder: '+350 000 00000', helpText: 'Include the GI country code +350 before the phone number', }, { countryCode: 'MD', placeholder: '+373 00 000 000', helpText: 'Includeți codul de țară MD +373 înaintea numărului de telefon', }, { countryCode: 'HU', placeholder: '+36 00 000 0000', helpText: 'A telefonszám előtt adja meg a HU országkódot +36', }, { countryCode: 'NZ', placeholder: '+64 00 000 0000', helpText: 'Include the NZ country code +64 before the phone number', }, { countryCode: 'ME', placeholder: '+382 00 000 000', helpText: 'Uključite ME pozivni broj države +382 prije telefonskog broja', }, ]; if (!countryCode || typeof countryCode !== 'string') { return mockPlaceholders[0].helpText; } const selectedHelpText = mockPlaceholders.find(function(item) { return item && item.countryCode === countryCode; }); return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText; } function setDefaultHelpText(countryCode) { const helpTextSpan = document.querySelector('#help-text'); if (!helpTextSpan) { return; } } function updateHelpTextCountryCode(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } setDefaultHelpText(countryCode); } function initializeSmsPhoneDropdown(fieldName) { if (!fieldName || typeof fieldName !== 'string') { return; } const dropdown = document.querySelector('#country-select-' + fieldName); const displayFlag = document.querySelector('#flag-display-' + fieldName); if (!dropdown || !displayFlag) { return; } const smsPhoneData = window.MC?.smsPhoneData; if (smsPhoneData && smsPhoneData.programs && Array.isArray(smsPhoneData.programs)) { dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs); } const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode, smsPhoneData?.programs); if (defaultProgram && defaultProgram.countryCode) { dropdown.value = defaultProgram.countryCode; const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName); if (flagSpan) { flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode); flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag'); } updateSmsLegalText(defaultProgram.countryCode, fieldName); updatePlaceholder(defaultProgram.countryCode, fieldName); updateCountryCodeInstruction(defaultProgram.countryCode, fieldName); } var smsNotRequiredRemoveCountryCodeEnabled = true; var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email Address","helper_text":"","type":"email","required":true,"audience_field_name":"Email Address","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"First Name","helper_text":"","type":"text","required":false,"audience_field_name":"First Name","enabled":false,"order":null,"field_type":"merge","merge_id":1},"MMERGE2":{"name":"MMERGE2","label":"Second Name","helper_text":"","type":"text","required":false,"audience_field_name":"Second Name","enabled":false,"order":null,"field_type":"merge","merge_id":2},"MMERGE3":{"name":"MMERGE3","label":"Company Name","helper_text":"","type":"text","required":false,"audience_field_name":"Company Name","enabled":false,"order":null,"field_type":"merge","merge_id":3},"MMERGE4":{"name":"MMERGE4","label":"Job Title","helper_text":"","type":"text","required":false,"audience_field_name":"Job Title","enabled":false,"order":null,"field_type":"merge","merge_id":4},"SIGNUP":{"name":"SIGNUP","label":"Signup form location","helper_text":"","type":"text","required":false,"audience_field_name":"Signup form location","enabled":false,"order":null,"field_type":"merge","merge_id":5},"MMERGE6":{"name":"MMERGE6","label":"Image URL","helper_text":"","type":"imageurl","required":false,"audience_field_name":"Image URL","enabled":false,"order":null,"field_type":"merge","merge_id":6}}).find(function(f) { return f.name === fieldName && f.type === 'smsphone'; }); var isRequired = smsField ? smsField.required : false; var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true; var phoneInput = document.querySelector('#mce-' + fieldName); if (phoneInput && defaultProgram.countryCallingCode && shouldAppendCountryCode) { phoneInput.value = defaultProgram.countryCallingCode; } displayFlag?.addEventListener('click', function(e) { dropdown.focus(); }); dropdown?.addEventListener('change', function() { const selectedCountry = this.value; if (!selectedCountry || typeof selectedCountry !== 'string') { return; } const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName); if (flagSpan) { flagSpan.textContent = getCountryUnicodeFlag(selectedCountry); flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag'); } const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) { return program && program.countryCode === selectedCountry; }); var smsNotRequiredRemoveCountryCodeEnabled = true; var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email Address","helper_text":"","type":"email","required":true,"audience_field_name":"Email Address","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"First Name","helper_text":"","type":"text","required":false,"audience_field_name":"First Name","enabled":false,"order":null,"field_type":"merge","merge_id":1},"MMERGE2":{"name":"MMERGE2","label":"Second Name","helper_text":"","type":"text","required":false,"audience_field_name":"Second Name","enabled":false,"order":null,"field_type":"merge","merge_id":2},"MMERGE3":{"name":"MMERGE3","label":"Company Name","helper_text":"","type":"text","required":false,"audience_field_name":"Company Name","enabled":false,"order":null,"field_type":"merge","merge_id":3},"MMERGE4":{"name":"MMERGE4","label":"Job Title","helper_text":"","type":"text","required":false,"audience_field_name":"Job Title","enabled":false,"order":null,"field_type":"merge","merge_id":4},"SIGNUP":{"name":"SIGNUP","label":"Signup form location","helper_text":"","type":"text","required":false,"audience_field_name":"Signup form location","enabled":false,"order":null,"field_type":"merge","merge_id":5},"MMERGE6":{"name":"MMERGE6","label":"Image URL","helper_text":"","type":"imageurl","required":false,"audience_field_name":"Image URL","enabled":false,"order":null,"field_type":"merge","merge_id":6}}).find(function(f) { return f.name === fieldName && f.type === 'smsphone'; }); var isRequired = smsField ? smsField.required : false; var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true; var phoneInput = document.querySelector('#mce-' + fieldName); if (phoneInput && selectedProgram.countryCallingCode && shouldAppendCountryCode) { phoneInput.value = selectedProgram.countryCallingCode; } updateSmsLegalText(selectedCountry, fieldName); updatePlaceholder(selectedCountry, fieldName); updateCountryCodeInstruction(selectedCountry, fieldName); }); } document.addEventListener('DOMContentLoaded', function() { const smsPhoneFields = document.querySelectorAll('[id^="country-select-"]'); smsPhoneFields.forEach(function(dropdown) { const fieldName = dropdown?.id.replace('country-select-', ''); initializeSmsPhoneDropdown(fieldName); }); });







Ltd