(function(){ function init(){ var v = document.querySelector('#video01 .player') || document.querySelector('.video-component .player') || document.querySelector('video'); var p = document.getElementById('lee-play'); var l = document.getElementById('lee-loop'); var s = document.getElementById('lee-sound'); if (!p || !l || !s) return; if (!v){ p.setAttribute('data-state','paused'); return; } v.loop = true; l.classList.add('on'); function setState(st){ p.setAttribute('data-state', st); } setState(v.paused ? 'paused' : 'playing'); v.play().catch(function(){ setState('paused'); }); v.addEventListener('play', function(){ setState('playing'); }); v.addEventListener('pause', function(){ if (!v.ended) setState('paused'); }); v.addEventListener('ended', function(){ if (v.loop){ v.currentTime = 0; v.play().catch(function(){}); } else { setState('ended'); } }); p.addEventListener('click', function(){ if (v.ended){ v.currentTime = 0; v.play().catch(function(){}); } else if (v.paused){ v.play().catch(function(){}); } else { v.pause(); } }); l.addEventListener('click', function(){ v.loop = !v.loop; l.classList.toggle('on', v.loop); if (v.loop && v.ended){ v.currentTime = 0; v.play().catch(function(){}); } }); s.addEventListener('click', function(){ v.muted = !v.muted; s.classList.toggle('on', !v.muted); }); } if (document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', init); } else { setTimeout(init, 0); } })();