{"product_id":"born-to-be-free-2-tomex","title":"Born to Be Free 2 - TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Born_to_Be_Free_2_-_DJ_TOMEX.mp3?v=1763552403\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Gewerblich","offer_id":56012432802140,"sku":null,"price":49.0,"currency_code":"EUR","in_stock":true},{"title":"Exklusivlizenz","offer_id":56324703977820,"sku":null,"price":199.0,"currency_code":"EUR","in_stock":true},{"title":"Medien- und Werbelizenz","offer_id":56324704010588,"sku":null,"price":499.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/118527f1-98d4-4503-97cd-34b4af47d243_344c9577.jpg?v=1763552328","url":"https:\/\/shop.mfradio.de\/de\/products\/born-to-be-free-2-tomex","provider":"MF Radio Shop ","version":"1.0","type":"link"}