var presentation = ["light<\/word>","skinny Black girl<\/word>","always peace<\/word>","single mother<\/word>","dream<\/word>","our union<\/word>","When day comes, we ask ourselves, where can we find light<\/strong> in this never ending shade?\nThe loss we carry, a sea. We must wade.\nWe've braved the belly of the beast.\nWe've learned that quiet isn't always peace<\/strong>.\nIn the norms and notions of what just is, isn't always justice.\nAnd yet the dawn is ours before we knew it. Somehow we do it.\nSomehow we've weathered and witnessed a nation that it isn't broken, but simply unfinished.\nWe, the successors of a country and the time where a skinny Black girl<\/strong> descended from slaves and raised by a single mother<\/strong> can dream<\/strong> of becoming president only to find herself reciting for one.\nAnd yes, we are far from polished, far from pristine, but that doesn't mean we are striving to form a union that is perfect.\nWe are striving to forge our union<\/strong> with purpose.<\/phrase>","all cultures<\/word>","our gaze<\/word>","divide<\/word>","our future<\/word>","our differences<\/word>","our arms<\/word>","harm<\/word>","know defeat<\/word>","sow division<\/word>","promise<\/word>","dare<\/word>","American<\/word>","To compose a country, committed to all cultures<\/strong>, colors, characters, and conditions of man.\nAnd so we lift our gaze<\/strong>, not to what stands between us, but what stands before us\nWe close the divide<\/strong> because we know to put our future<\/strong> first, we must first put our differences<\/strong> aside.\nWe lay down our arms<\/strong> so we can reach out our arms<\/strong> to one another. We seek harm<\/strong> to none and harmony for all.\nLet the globe, if nothing else say, this is true.\nThat even as we grieved, we grew.\nThat even as we hurt, we hoped.\nThat even as we tired, we tried that will forever be tied together victorious.\nNot because we will never again know defeat<\/strong>, but because we will never again sow division<\/strong>.\nScripture tells us to envision that everyone shall sit under their own vine and fig tree and no one shall make them afraid\nIf we're to live up to our own time, then victory won't lie in the blade, but in all the bridges we've made.\nThat is the promise<\/strong> to glade the hill we climb.\nIf only we dare<\/strong> it's because being American<\/strong> is more than a pride we inherit.\nIt's the past we step into and how we repair it.<\/phrase>","force<\/word>","our country<\/word>","trust<\/word>","our eyes<\/word>","its eyes<\/word>","its inception<\/word>","found<\/word>","hope and laughter<\/word>","march<\/word>","move<\/word>","whole benevolence<\/word>","We've seen a force<\/strong> that would shatter or nation, rather than share it.\nWould destroy our country<\/strong> if it meant delaying democracy.\nAnd this effort very nearly succeeded, but while democracy can be periodically delayed, it can never be permanently defeated in this truth.\nIn this faith we trust<\/strong> for while we have our eyes<\/strong> on the future, history has its eyes<\/strong> on us. This is the era of just redemption.\nWe feared it in its inception<\/strong>.\nWe did not feel prepared to be the heirs of of such a terrifying hour, but within it, we found<\/strong> the power to author a new chapter.\nTo offer hope and laughter<\/strong> to ourselves.\nSo while once we asked, how could we possibly prevail over catastrophe?\nNow we assert how could catastrophe possibly prevail over us?\nWe will not march<\/strong> back to what was, but move<\/strong> to what shall be a country that is bruised.\nBut whole benevolence<\/strong>, but bold, fierce, and free.<\/phrase>","our inaction<\/word>","next generation<\/word>","love<\/word>","our legacy<\/word>","our children<\/word>","We will not be turned around or interrupted by intimidation because we know our inaction<\/strong> and inertia will be the inheritance of the next generation<\/strong>.\nOur blenders become their burdens, but one thing is certain.\nIf we merged mercy with the mights into might with right, a night then love<\/strong> becomes our legacy<\/strong>, and change our children<\/strong>'s birthright.\nSo let us leave behind a country better than one.<\/phrase>","rebuild<\/word>","every breath<\/word>","wounded world<\/word>","We were left with every breath<\/strong>, my bronze pounded chest.\nWe will raise this wounded world<\/strong> into a wondrous one.\nWe will rise from the gold limbed hills of the West.\nWe will rise from the wind swept to Northeast where our forefathers first realized the revolution.\nWe will rise from the lake when cities of the middle Western States.\nWe will arise from the sun baked South.\nWe will rebuild<\/strong>, reconciled and recover and every known nook over a nation.<\/phrase>","light<\/word>","brave enough to be it<\/word>","our country<\/word>","And every corner called our country<\/strong>.\nOur people diverse and beautiful will emerge, battered and beautiful.\nWhen day comes, we step out of the shade of flame and unafraid, the new dawn balloons, as we free it.\nFor there was always light<\/strong>.\nIf only we're brave enough to see it.\nIf only we're brave enough to be it<\/strong>.<\/phrase>"]; var currentPosition = 0; var totalPositions = 0; var timePerWord = 1500; var timePerPhraseWord = 120 var readAheadPlayerTimer; var autoPlay = true; var setMinimized = false; var wordSpeedOptions = {'Slower':2000,'Moderate':1200,'Fast':800}; var phraseSpeedOptions = {'Slower':280,'Moderate':200,'Fast':80}; var defaultWordSpeedOption = 'Moderate'; var defaultPhraseSpeedOption = 'Moderate'; var logToLTI = false; $(window).load(function(){ totalPositions = presentation.length; if (totalPositions > 0){ $('body').prepend('
'); $('body').prepend('
'); $('#read_ahead_player').prepend('
'); initializeReadAheadControls(); initializeReadAheadSlider(); initializeReadAheadSpeedOptions(); currentReadAheadControls(); resumeReadAheadPlayback(); } }); $(document).keyup(function(e){ switch(e.which) { case 37: pauseReadAheadPresentation(); priorReadAheadPresentationItem(); break; case 39: pauseReadAheadPresentation(); nextReadAheadPresentationItem(); break; default: break; } }); function initializeReadAheadControls(){ var s = ''; s += ''; s += ''; s += ''; s += '
'; s += ''; s += ''; s += ''; s += ''; s += ''; s += ''; s += ''; s += ''; s += ''; s += '
'; $('#read_ahead_player').append(s); } function initializeReadAheadSlider(){ var s = ''; s += '
'; s += '
'; s += '
'; $('#read_ahead_controls').prepend(s); updateReadAheadSliderPosition(); } function initializeReadAheadSpeedOptions(){ var s = '
'; s += '
'; s += ' Word Speed
'; s += '
'; optionCount = 0; for (index in wordSpeedOptions) { optionCount++; } optionWidth = 100 / optionCount; for (index in wordSpeedOptions) { var option = wordSpeedOptions[index]; if (index == defaultWordSpeedOption) { s += ''; updateReadAheadWordSpeed(option); } else { s += ''; } } s += '
'; s += '
'; s += '
'; s += ' Phrase Speed
'; s += '
'; optionCount = 0; for (index in phraseSpeedOptions) { optionCount++; } optionWidth = 100 / optionCount; for (index in phraseSpeedOptions) { var option = phraseSpeedOptions[index]; if (index == defaultWordSpeedOption) { s += ''; updateReadAheadPhraseSpeed(option); } else { s += ''; } } s += '
'; s += '
'; s += '
'; $('#read_ahead_controls').append(s); } function updateReadAheadWordSpeed(microseconds,sender) { microseconds = microseconds != undefined && microseconds > 0 ? microseconds : 0; if (microseconds > 0) { timePerWord = microseconds; } if (sender!=undefined) { $('#slider_control_word_speed').find('a').removeClass('current_speed'); $(sender).addClass('current_speed'); } logReadAheadPlayerAction('updateReadAheadWordSpeed','Presentation',microseconds); } function updateReadAheadPhraseSpeed(microseconds,sender) { microseconds = microseconds != undefined && microseconds > 0 ? microseconds : 0; if (microseconds > 0 ) { timePerPhraseWord = microseconds; } if (sender!=undefined) { $('#slider_control_phrase_speed').find('a').removeClass('current_speed'); $(sender).addClass('current_speed'); } logReadAheadPlayerAction('updateReadAheadPhraseSpeed','Presentation',microseconds); } function updateReadAheadSliderPosition(){ var currentSliderBarWidth = 100 - (100 / totalPositions * (currentPosition + 1)); $('#readAheadSliderBar').css('width',currentSliderBarWidth+'%'); } function currentReadAheadControls(){ $('#read_ahead_player_pause_play').show(); if (currentPosition < totalPositions - 1) { $('#read_ahead_player_next_word').removeClass('disabled'); } else { $('#read_ahead_player_next_word').addClass('disabled'); } if (currentPosition > 0) { $('#read_ahead_player_previous_word').removeClass('disabled'); } else { $('#read_ahead_player_previous_word').addClass('disabled'); } } function restartReadAheadPresentation(){ currentPosition = 0; logReadAheadPlayerAction('restartReadAheadPresentation','Presentation',''); resumeReadAheadPlayback(); } function resumeReadAheadPlayback(){ $('.fa-repeat').removeClass('fa-repeat').addClass('fa-play'); $('#read_ahead_player_pause_play').each(function(){ $(this).find('.fa-play').removeClass('fa-play').addClass('fa-pause'); $(this).off('click'); $(this).attr('onclick','pauseReadAheadPresentation()'); }); logReadAheadPlayerAction('resumeReadAheadPlayback','Presentation',''); playReadAheadPresentation(); } function pauseReadAheadPresentation(){ $('#read_ahead_player_pause_play').each(function(){ $(this).find('.fa-pause').removeClass('fa-pause').addClass('fa-play'); $(this).off('click'); $(this).attr('onclick','resumeReadAheadPlayback()'); }); logReadAheadPlayerAction('pauseReadAheadPresentation','Presentation',''); read_ahead_pause(); } function endReadAheadPresentation(){ $('.fa-play').removeClass('fa-play').addClass('fa-repeat'); $('.fa-pause').removeClass('fa-pause').addClass('fa-repeat'); $('#read_ahead_player_pause_play').each(function(){ $(this).off('click'); $(this).attr('onclick','restartReadAheadPresentation()'); }); logReadAheadPlayerAction('endReadAheadPresentation','Presentation',''); logLTIEndPresentation(); } function playReadAheadPresentation(){ autoPlay=true; currentPosition--; logReadAheadPlayerAction('playReadAheadPresentation','Presentation',''); nextReadAheadPresentationItem(); } function startReadAheadStepper(timeDisplayWord){ clearInterval(readAheadPlayerTimer); readAheadPlayerTimer = setTimeout(function() { read_ahead_step(); },timeDisplayWord); } function stopReadAheadStepper(){ clearInterval(readAheadPlayerTimer); } function read_ahead_step(){ if (autoPlay) { nextReadAheadPresentationItem(); } } function read_ahead_pause(){ autoPlay=false; stopReadAheadStepper(); } function showReadAheadPresentationItem(index){ currentPosition = index; currentPresentationItem = presentation[currentPosition] != undefined ? presentation[currentPosition].trim() : ""; if (currentPresentationItem != "") { currentItemWordCount = presentation[currentPosition].replace("\n","").split(" ").length; if (currentPresentationItem.startsWith("")){ startReadAheadStepper(currentItemWordCount*timePerWord); $('#read_ahead_player_field').html('
'+currentPresentationItem+'
'); logReadAheadPlayerAction('showReadAheadPresentationItem','Word',currentPresentationItem); } else { startReadAheadStepper(currentItemWordCount*timePerPhraseWord); $('#read_ahead_player_field').html('
'+currentPresentationItem.replace("\n","
")+'
'); logReadAheadPlayerAction('showReadAheadPresentationItem','Phrase',''); } } else { if (currentPosition < totalPositions) { nextReadAheadPresentationItem(); } else { endReadAheadPresentation(); read_ahead_minimize(); } } currentReadAheadControls(); updateReadAheadSliderPosition(); saveReadAheadPosition(); } function priorReadAheadPresentationItem(){ stopReadAheadStepper(); logReadAheadPlayerAction('priorReadAheadPresentationItem','Controls',''); showReadAheadPresentationItem(currentPosition-1); } function nextReadAheadPresentationItem(){ stopReadAheadStepper(); logReadAheadPlayerAction('nextReadAheadPresentationItem','Controls',''); showReadAheadPresentationItem(currentPosition+1); } function read_ahead_playAgain(){ currentWordIndex = 0; logReadAheadPlayerAction('read_ahead_playAgain','Controls',''); playReadAheadPresentation(); } function read_ahead_minimize(){ setMinimized = true; logReadAheadPlayerAction('read_ahead_minimize','Controls',''); read_ahead_switch_min_max(); } function read_ahead_maximize(){ setMinimized = false; logReadAheadPlayerAction('read_ahead_maximize','Controls',''); read_ahead_switch_min_max(); } function read_ahead_switch_min_max(forceSwitch){ forceSwitch = forceSwitch != undefined ? forceSwitch : false; if (forceSwitch) { setMinimized = !setMinimized; } if (setMinimized) { $('#read_ahead_player_back').fadeOut(); $('#read_ahead_player').addClass('minimize'); $('.player-icons .fa-stack').removeClass('fa-lg').addClass('fa-sm'); $('.player-icons .fa-minus').removeClass('fa-minus').addClass('fa-expand'); logReadAheadPlayerAction('read_ahead_switch_min_max','Min',''); //$('#read_ahead_player_max_min').each(function(){ // $(this).off('click'); // $(this).attr('onclick','read_ahead_maximize()'); //}); } else { $('#read_ahead_player_back').fadeIn(); $('#read_ahead_player').removeClass('minimize'); $('.player-icons .fa-stack').removeClass('fa-sm').addClass('fa-lg'); $('.player-icons .fa-expand').removeClass('fa-expand').addClass('fa-minus'); logReadAheadPlayerAction('read_ahead_switch_min_max','Max',''); //$('#read_ahead_player_max_min').each(function(){ // $(this).off('click'); // $(this).attr('onclick','read_ahead_minimize()'); //}); } } function saveReadAheadPosition(){ $.ajax({ type:'POST', url:'/ajax/save_user_presentation_position.php', data: { 'id':2368, 'position': currentPosition } }) .done(function(results){ }) .fail(function( jqXHR, textStatus ) { alert( "Request failed: " + textStatus ); }); } function logLTIEndPresentation(action) { if (!logToLTI) { return; } $.ajax({ type:'POST', url:'/lti/presentationEnded.php', data: { 'documentId':2368, 'userId':0, } }) } function logReadAheadPlayerAction(action,area,details){ var d = new Date(); var t = d.getTime(); action = action != undefined ? action.trim() : 'UNKNOWN'; area = area != undefined ? area.trim() : ''; details = details != undefined ? details : ''; // If we are about to show a new word, increase the number of keywords // reinforced so we can log that for the Dashboard page. if (area == 'Word') { window.keywordCount++; } $.ajax({ type:'POST', url:'/logging/logPlayerAction.php', data: { 'documentId':2368, 'userId':0, 'playerAction':action, 'playerArea':area, 'details':details, 'timestamp': t } }) .done(function(results){ }) .fail(function( jqXHR, textStatus ) { alert( "Request failed: " + textStatus ); }); }