var mainPlayerResumeTime = 0; var fadingOut = false; var t = 0; var volume = 80; var pausingID = ""; var j = jQuery.noConflict(); function quoteClicked(id) { if (j(id).data("jPlayer").status.paused) { j(id).jPlayer("play"); } else { j(id).jPlayer("pause"); } } function tryFadeOutMainPlayer(id) { //console.log("I was played!"); if (!pausingID) { //console.log("PausingID is not set."); if (j("#mainplayer").data("jPlayer") && !j("#mainplayer").data("jPlayer").status.paused) { ////console.log("Mainplayer is playing"); pausingID = id; fadingOut = true; j(pausingID).jPlayer("pause"); volume = 80; mainPlayerResumeTime = j("#mainplayer").data("jPlayer").status.currentTime - 2; if (mainPlayerResumeTime < 0) mainPlayerResumeTime = 0; fadeOutMainPlayer(); } else { //console.log("Mainplayer not playing"); j(id).jPlayer("pauseOthers"); } } else { //console.log("PausingId was set."); if (pausingID !== id) { //console.log("PausingID is not the same as me."); pausingID = null; j(id).jPlayer("pauseOthers"); } else { //console.log("I already paused something?"); if (j("#mainplayer") && !j("#mainplayer").data("jPlayer").status.paused && !fadingOut) { //console.log("But someone restarted mainplayer!"); pausingID = null; tryFadeOutMainPlayer(id); } else { //console.log("It's fading out, doesn't exist, or is already stopped. I'll start."); } } } } function tryFadeInMainPlayer(id) { //console.log("I was paused!"); if (!fadingOut) { if (!pausingID) { //console.log("PausingID is not set. Nobody paused."); } else { //console.log("PausingID was set."); if (pausingID !== id) { //console.log("PausingID is not the same as me."); pausingID = null; fadingOut = false; } else { //console.log("I paused something."); if (j("#mainplayer") && !j("#mainplayer").data("jPlayer").status.paused) { //console.log("But it's already plaing again."); } else { //console.log("And now I have to fade it in again!"); volume = 0; j("#mainplayer").jPlayer("volume", volume); //console.log("Starting player at: " + mainPlayerResumeTime); j("#mainplayer").jPlayer("play", mainPlayerResumeTime); fadeInMainPlayer(); } } } } else { //console.log("Oh, I'm fading out something."); } } function fadeOutMainPlayer() { if (volume > 0) { //console.log("Volume is: " + volume/100); volume -= 10; j("#mainplayer").jPlayer("volume", volume/100); t = setTimeout(fadeOutMainPlayer, 100); } if (volume <= 30 && j(pausingID).data("jPlayer").status.paused) { j(pausingID).jPlayer("play"); } if (volume <= 0){ fadingOut = false; clearTimeout(t); //console.log("volume is zero or below."); j(pausingID).jPlayer("pauseOthers"); j("#mainplayer").jPlayer("pause"); volume = 80; j("#mainplayer").jPlayer("volume", volume); } } function fadeInMainPlayer() { if (volume < 80) { //console.log("Volume is: " + volume/100); volume += 10; j("#mainplayer").jPlayer("volume", volume/100); t = setTimeout(fadeInMainPlayer, 100); } if (volume >= 80) { clearTimeout(t); //console.log("Volume is 80 or above."); pausingID = null; mainPlayerResumeTime = 0; } }