var presentation = ["powerful witch<\/word>","main female characters<\/word>","The Vampire Diaries<\/word>","Bonnie Bennett<\/word>","Prior<\/word>","its destruction<\/word>","Anchor<\/word>","Other Side<\/word>","supernatural huntress<\/word>","counselor and confidante<\/word>","her friends<\/word>","help<\/word>","her family<\/word>","Bonnie Bennett<\/strong> is a very powerful witch<\/strong> and one of the main female characters<\/strong> of The Vampire Diaries<\/strong>. Prior<\/strong> to its destruction<\/strong>, she was the Anchor<\/strong> to the Other Side<\/strong> and, until recently, a supernatural huntress<\/strong>. While she filled the role of counselor and confidante<\/strong> to all of her friends<\/strong>, Bonnie is a feisty, yet empathetic witch, who discovered her powers just in time to help<\/strong> out her family<\/strong> and friends. In the beginning, before Bonnie discovered her true heritage as a witch, Bonnie had described herself as a psychic.<\/phrase>","best friends<\/word>","Enzo St. John<\/word>","Caroline Forbes<\/word>","Elena Gilbert<\/word>","Matt Donovan<\/word>","Damon Salvatore<\/word>","Jeremy Gilbert<\/word>","close friends<\/word>","Stefan Salvatore<\/word>","Tyler Lockwood<\/word>","romantic relationship<\/word>","his death<\/word>","She is best friends<\/strong> with Caroline Forbes<\/strong>, Elena Gilbert<\/strong>, Matt Donovan<\/strong>, Damon Salvatore<\/strong>, and her ex-boyfriend, Jeremy Gilbert<\/strong>. She has known Caroline, Elena, Tyler, and Matt since childhood. She is also close friends<\/strong> with Stefan Salvatore<\/strong> and Tyler Lockwood<\/strong>. Bonnie was in a romantic relationship<\/strong> with Enzo St. John<\/strong> before his death<\/strong>.<\/phrase>","compassionate<\/word>","ready to sacrifice herself for her family<\/word>","without any hesitation<\/word>","spell-casting abilities<\/word>","Originals<\/word>","heroic tendencies<\/word>","second thought<\/word>","Mystic Falls<\/word>","Bonnie is noted for having many heroic tendencies<\/strong>. She is seen to be very compassionate<\/strong>, empathetic, helpful, very selfless, and self-sacrificing. Bonnie is repeatedly ready to sacrifice herself for her family<\/strong> and friends without any hesitation<\/strong> or a second thought<\/strong>. Luckily, when Bonnie was alive and well, her spell-casting abilities<\/strong> most definitely came in handy when the Originals<\/strong> came to Mystic Falls<\/strong>.<\/phrase>","Original family<\/word>","very first immortal being<\/word>","Expression<\/word>","form<\/word>","Dark Magic<\/word>","powerful characters<\/word>","two members<\/word>","much ease<\/word>","Silas<\/word>","Since gaining the power of Expression<\/strong>, which is considered to be a form<\/strong> of Dark Magic<\/strong>, later on in the series, Bonnie had become one of the most powerful characters<\/strong> in the series. She was able to take down two members<\/strong> of the Original family<\/strong> with much ease<\/strong>. Bonnie was also strong enough to take down the very first immortal being<\/strong> in the world, Silas<\/strong>.<\/phrase>","bring Jeremy back from the dead<\/word>","no magic was strong enough<\/word>","refused to listen<\/word>","it killed her in the process<\/word>","Expression<\/word>","Dark Magic<\/word>","Grams<\/word>","Bonnie attempted to use spirit, Expression<\/strong>, and Dark Magic<\/strong> all at once to bring Jeremy back from the dead<\/strong>. Her Grams<\/strong> warned her that no magic was strong enough<\/strong> to challenge the will of Nature, but Bonnie refused to listen<\/strong>. It was too much for her and while she managed to bring Jeremy back, it killed her in the process<\/strong>.<\/phrase>","Amara<\/word>","both sides of the living and the dead<\/word>","pain<\/word>","no longer had access to the powerful magic<\/word>","Qetsiyah<\/word>","powerful ancestor<\/word>","Anchor<\/word>","Other Side<\/word>","exist<\/word>","supernatural death<\/word>","Qetsiyah<\/strong>, her very ancient and powerful ancestor<\/strong>, transferred the status of Anchor<\/strong> to the Other Side<\/strong> from Amara<\/strong> to Bonnie, allowing her to exist<\/strong> on both sides of the living and the dead<\/strong>. However, Bonnie was forced to feel the pain<\/strong> of every supernatural death<\/strong> and no longer had access to the powerful magic<\/strong> she once had.<\/phrase>","tore his way out of the Other Side<\/word>","falling apart<\/word>","unbalanced it<\/word>","Amara<\/word>","Other Side to begin imploding<\/word>","threatened Bonnie with permanent death<\/word>","Markos<\/word>","help<\/word>","Travelers<\/word>","Other Side<\/word>","unnatural resurrection<\/word>","Silas<\/word>","spell<\/word>","Anchor<\/word>","supernatural purgatory<\/word>","After Markos<\/strong> violently tore his way out of the Other Side<\/strong> with the help<\/strong> of the Travelers<\/strong>, the Other Side<\/strong> began falling apart<\/strong> as his unnatural resurrection<\/strong> unbalanced it<\/strong>. The blood of the last living doppelg\u00e4ngers of Silas<\/strong> and Amara<\/strong> (Stefan and Elena) used in the spell<\/strong> reversed the magic that was holding the Other Side<\/strong> together, which caused the Other Side to begin imploding<\/strong>. This threatened Bonnie with permanent death<\/strong> seeing as she was the Anchor<\/strong> to this supernatural purgatory<\/strong>.<\/phrase>","save the Other Side<\/word>","was destroyed<\/word>","Bonnie and Damon died<\/word>","great effort<\/word>","last people<\/word>","Other Side<\/word>","their deaths<\/word>","white light<\/word>","Despite great effort<\/strong> on both her and her friend's part to save the Other Side<\/strong>, it finally was destroyed<\/strong>, and with it, Bonnie and Damon died<\/strong>. Both of them were the last people<\/strong> left on the Other Side<\/strong> as it fell around them. Bonnie spent her last moments with him and finally, their deaths<\/strong> were marked by a white light<\/strong> that surrounded and engulfed them.<\/phrase>","wasn't able to do magic<\/word>","powerful witch<\/word>","entrapping Kai within walls of fire<\/word>","found<\/word>","continually reliving<\/word>","same day<\/word>","four months<\/word>","vampiric abilities<\/word>","Gemini Coven<\/word>","Bonnie and Damon found<\/strong> themselves continually reliving<\/strong> the same day<\/strong> for four months<\/strong>. Though Damon retained his vampiric abilities<\/strong>, Bonnie wasn't able to do magic<\/strong> in this unknown dimension that they were trapped in. Certain clues began to arise that suggested that the two were not alone, which culminated in the appearance of Kai, a very powerful witch<\/strong> who was a member of the Gemini Coven<\/strong> , who was imprisoned back in 1994, for the heinous crimes that he committed against his own family. When Kai was about to kill Damon, Bonnie arrived just in time and regained her magic at the prospect of losing the companion she had with her, entrapping Kai within walls of fire<\/strong> and giving Damon the opening to take Kai down himself. Upon capturing Kai, Damon revealed that Bonnie's magic is the key to escaping.<\/phrase>","need to get back home<\/word>","Ascendant<\/word>","finally go home<\/word>","escape the dimension<\/word>","leaves without Bonnie<\/word>","save Bonnie<\/word>","unable to return home<\/word>","save<\/word>","vampire<\/word>","Later on, Bonnie and Damon gain the key to what they need to get back home<\/strong>, which is an artifact that is called the Ascendant<\/strong>. Bonnie and Damon attempt to finally go home<\/strong> and escape the dimension<\/strong> without Kai, however, Kai interferes with Damon and Bonnie's plan. Kai ends up shooting Bonnie in the stomach with an arrow, mortally wounding her. Kai then threatens Damon with an ultimatum: either he takes the Ascendant<\/strong>, goes home, and leaves without Bonnie<\/strong> forever or he chooses to save Bonnie<\/strong>, making him and Bonnie unable to return home<\/strong>. Damon chooses the latter and decides to save<\/strong> a mortally wounded Bonnie with the use of his vampire<\/strong> blood. However, Kai interferes again and Kai stabs Damon with an arrow.<\/phrase>","escape the dimension<\/word>","Ascendant<\/word>","forcing him to go home without her<\/word>","While Damon is attacked by Kai, he begs for Bonnie to escape the dimension<\/strong> without him and Kai, while she has the chance. However, Bonnie chooses to use her magic to force Kai off of Damon, and then throws the Ascendant<\/strong> into Damon's hands, forcing him to go home without her<\/strong>. An upset and distraught Damon ends up looking on at Bonnie in horror at the thought of leaving her behind with Kai. Bonnie sacrifices herself once again and chooses to get Damon back home, saving him from Kai as she is left behind.<\/phrase>","torturing<\/word>","leaving Bonnie alone to die<\/word>","prison world<\/word>","Qetsiyah<\/word>","Silas<\/word>","As of now, Bonnie has escaped the prison world<\/strong>. At first, she was stuck there with just Kai, who spent his time emotionally, mentally, and physically torturing<\/strong> Bonnie. Kai ended up regaining magic and then escaped, leaving Bonnie alone to die<\/strong>. Bonnie eventually freed herself from the prison world<\/strong> using the power from Qetsiyah<\/strong>'s blood from Silas<\/strong>' tombstone.<\/phrase>","try to apologize to Bonnie.<\/word>","links Bonnie's life to Elena<\/word>","powerful curse<\/word>","coma<\/word>","as long as Bonnie is alive<\/word>","return<\/word>","prison world<\/word>","PTSD<\/word>","Following her return<\/strong> from the prison world<\/strong>, Bonnie changes drastically. She also displays several signs of PTSD<\/strong>. With time, Bonnie falls back into her old life, but Kai's guilt leads to him to try to apologize to Bonnie.<\/strong> Bonnie, seeking revenge, eventually imprisons Kai in the 1903 prison world<\/strong>. Following this, Kai frees himself, and as revenge, he links Bonnie's life to Elena<\/strong> through a powerful curse<\/strong> that will keep Elena in a coma<\/strong> as long as Bonnie is alive<\/strong>.<\/phrase>","reunited with Enzo<\/word>","preserve Enzo's spirit<\/word>","Sybil<\/word>","Bonnie was later reunited with Enzo<\/strong> after he was freed from Sybil<\/strong>'s control, however upon his tragic death at Stefan's hands, Bonnie's latent psychic abilities resurfaced, allowing her to preserve Enzo's spirit<\/strong> in a newly created dimension.<\/phrase>","regaining her magic<\/word>","Bennett witches<\/word>","Bonnie is able to destroy Hell and Katherine<\/word>","most powerful witches<\/word>","succeeded<\/word>","breaking Kai's spell<\/word>","support<\/word>","Finally after regaining her magic<\/strong> and with the support<\/strong> of many ancestral Bennett witches<\/strong> across the centuries, Bonnie is able to destroy Hell and Katherine<\/strong>. This makes Bonnie one of the most powerful witches<\/strong> seen thus far. Additionally, she succeeded<\/strong> in breaking Kai's spell<\/strong> on Elena without risking their lives.<\/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':1845, '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':1845, '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':1845, 'userId':0, 'playerAction':action, 'playerArea':area, 'details':details, 'timestamp': t } }) .done(function(results){ }) .fail(function( jqXHR, textStatus ) { alert( "Request failed: " + textStatus ); }); }