Untitled diff

Created Diff never expires
11 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
114 lines
71 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
171 lines
(function iife() {
(function iife() {
"use strict";
"use strict";


function show(el) {
function show(el) {
el.classList.remove("hidea");
el.classList.remove("hidea");
el.classList.remove("hideb");
el.classList.remove("hideb");
el.classList.remove("hidec");
el.classList.remove("hidec");
el.classList.remove("hided");
el.classList.remove("hided");
el.classList.remove("hidee");
el.classList.remove("hidee");
el.classList.remove("hidef");
el.classList.remove("hidef");
}
}


function hide(el) {
function hide(el) {
el.classList.add("hidea");
el.classList.add("hideb");
}
}


function getButtonContainer(el) {
function getButtonContainer(el) {
while (el.classList.contains("playButtona") === false) {
while (el.classList.contains("playButtonb") === false) {
el = el.parentNode;
el = el.parentNode;
}
}
return el;
return el;
}
}


function hideAllButtons(button) {
function hideAllButtons(button) {
button.querySelectorAll(".playa, .pausea, .initialb, .pauseb, .speakerb, .playb, .playc, .pausec, .playd, .paused, .playe, .pausee, .playf, .pausef").forEach(hide);
button.querySelectorAll(".playa, .pausea, .initialb, .pauseb, .speakerb, .playb, .playc, .pausec, .playd, .paused, .playe, .pausee, .playf, .pausef").forEach(hide);
}
}


function getPlay(button) {
function getPlay(button) {
return button.querySelector(".playa, .playb, .playc, .playd, .playe, .playf");
return button.querySelector(".playa, .playb, .playc, .playd, .playe, .playf");
}
}


function getPause(button) {
function getPause(button) {
return button.querySelector(".pausea, .pauseb, .pausec, .paused, .pausee, .pausef");
return button.querySelector(".pausea, .pauseb, .pausec, .paused, .pausee, .pausef");
}
}


function getSpeaker(button) {
return button.querySelector(".speakerb");
}

function showPlayButton(button) {
function showPlayButton(button) {
var play = getPlay(button);
var play = getPlay(button);
hideAllButtons(button);
hideAllButtons(button);
show(play);
show(play);
button.classList.remove("active");
button.classList.remove("active");
}
}


function hideInitialOverlay(button) {
hide(button.querySelector(".initialb"));
showPlayButton(button);
}

function isPlaying(button) {
function isPlaying(button) {
var play = getPlay(button);
var play = getPlay(button);
return play.classList.contains("hidea") || play.classList.contains("hideb") || play.classList.contains("hidec") || play.classList.contains("hided") || play.classList.contains("hidee") || play.classList.contains("hidef");
return play.classList.contains("hidea") || play.classList.contains("hideb") || play.classList.contains("hidec") || play.classList.contains("hided") || play.classList.contains("hidee") || play.classList.contains("hidef");
}
}


function pauseAllButtons() {
function pauseAllButtons() {
var buttons = document.querySelectorAll(".playButtona, .playButtonb, .playButtonc, .playButtond, .playButtone, .playButtonf");
var buttons = document.querySelectorAll(".playButtona, .playButtonb, .playButtonc, .playButtond, .playButtone, .playButtonf");
buttons.forEach(function hidePause(button) {
buttons.forEach(function hidePause(button) {
if (isPlaying(button)) {
if (isPlaying(button)) {
showPlayButton(button);
showPlayButton(button);
}
}
});
});
}
}


function showPauseButton(button) {
function showPauseButton(button) {
var pause = getPause(button);
var pause = getPause(button);
pauseAllButtons();
pauseAllButtons();
hideAllButtons(button);
hideAllButtons(button);
show(pause);
show(pause);
button.classList.add("active");
button.classList.add("active");
button.classList.add("activated");
}

function showSpeakerButton(button) {
var speaker = getSpeaker(button);
hideAllButtons(button);
show(speaker);
}
}


function getAudio() {
function getAudio() {
return document.querySelector("audio");
return document.querySelector("audio");
}
}


function playAudio(player, src) {
function playAudio(player) {
player.volume = 1.0;
player.volume = 1.0;
player.setAttribute("src", src);
player.setAttribute("src", "http://hi5.1980s.fm/;");
player.play();
player.play();
}
}


function showButton(button, opts) {
function showButton(button, opts) {
if (opts.playing) {
if (opts.playing) {
showPlayButton(button);
showPlayButton(button);
} else {
} else {
showPauseButton(button);
showPauseButton(button);
}
}
}
}


function pauseAudio(player) {
function pauseAudio(player) {
player.pause();
player.pause();
}
}


function delay(milli, func) {
return setTimeout(func, milli);
}

function manageAudio(player, opts) {
function manageAudio(player, opts) {
if (opts.playing) {
if (opts.playing) {
pauseAudio(player);
pauseAudio(player);
} else {
} else {
playAudio(player, opts.src);
delay(opts.audioDelay, function delayAudio() {
playAudio(player, opts.src);
});
}
}
}
}


function togglePlayButton(button) {
function playButton(button, audioDelay) {
var player = getAudio();
var player = getAudio();
var playing = isPlaying(button);
var playing = isPlaying(button);
showButton(button, {
showButton(button, {
playing
playing
});
});
manageAudio(player, {
manageAudio(player, {
src: button.getAttribute("data-audio"),
playing,
playing
audioDelay
});
});
}
}


function showPause(button) {
if (isPlaying(button)) {
showPauseButton(button);
}
}

function showSpeaker(button) {
if (isPlaying(button)) {
showSpeakerButton(button);
}
}

function playButtonClickHandler(evt) {
function playButtonClickHandler(evt) {
var button = getButtonContainer(evt.target);
var button = getButtonContainer(evt.target);
togglePlayButton(button);
playButton(button);
}
}
var playButton = document.querySelector(".playButtona");

playButton.addEventListener("click", playButtonClickHandler);
function playButtonMouseoverHandler(evt) {
var button = getButtonContainer(evt.target);
showPause(button);
}

function playButtonMouseoutHandler(evt) {
var button = getButtonContainer(evt.target);
showSpeaker(button);
}

function initialOverlayClickHandler(evt) {
var button = getButtonContainer(evt.target);
var delayBeforeAudio = 1500;
hideInitialOverlay(button);
button.removeEventListener("click", initialOverlayClickHandler);
button.addEventListener("click", playButtonClickHandler);
button.addEventListener("mouseover", playButtonMouseoverHandler);
button.addEventListener("mouseout", playButtonMouseoutHandler);
playButton(button, delayBeforeAudio);
}
var playButtons = document.querySelectorAll(".playButtonb");
playButtons.forEach(function addInitialOverlayHandler(button) {
button.addEventListener("click", initialOverlayClickHandler);
});
}());
}());