var wpm = $('#spritz_wpm').val();
var interval = 60000/wpm;
var paused = false;
var $space = $('.spritz-word');
var i = 1;

/* TEXT PARSING */
function words_set() {
  words = $('.demo-text').val().trim()
    .replace(/([-—])(\w)/g, '$1 $2')
    .replace(/[\r\n]/g, ' {linebreak} ')
    .replace(/\. /g, '. {period} ')
    .replace(/[ \t]{2,}/g, ' ')
    .split(' ');
  for (var j = 1; j < words.length; j++) {
    words[j] = words[j].replace(/{linebreak}|{period}/g, '   ');
  }
}
/* ON EACH WORD */
function word_show(i) {
  var word = words[i];
  var stop = Math.round((word.length+1)*0.4)-1;
  $space.html('<div>'+word.slice(0,stop)+'</div><div>'+word[stop]+'</div><div>'+word.slice(stop+1)+'</div>');
}
/* ITERATION FUNCTION */
function word_update() {
  spritz = setInterval(function() {
    word_show(i);
    i++;
    if (i == words.length) {
      setTimeout(function() {
        $space.html('');
        spritz_pause();
      }, interval);
      clearInterval(spritz);
    };
  }, interval);
}

/* PAUSING FUNCTIONS */
function spritz_pause() {
  clearInterval(spritz);
  paused = true;
  $('#spritz_pause').addClass('paused');
}
function spritz_play() {
  word_update();
  paused = false;
  $('#spritz_pause').removeClass('paused');
}
function spritz_flip() {
  if (paused) {
    spritz_play();
  } else {
    spritz_pause();
  }
}

/* INITIATE */
words_set();
word_show(0);
word_update();

/* CHANGE SPEED */
$('#spritz_wpm').on('input', function() {
  interval = 60000/$('#spritz_wpm').val();
  if (!paused) {
    clearInterval(spritz);
    word_update();
  }
});

/* REFRESH TEXT */
$('#spritz_change').on('click', function() {
  clearInterval(spritz);
  words_set();
  i = 0;
  spritz_play();
});

/* PAUSE BUTTON AND SPACE BAR */
$('#spritz_pause').on('click', function() {
  spritz_flip();
  return false;
});
$(document).on('keyup', function(e) {
  if (e.keyCode == 32) {
    spritz_flip();
  }
})

/* LIGHT/DARK THEME */
$('.light').on('click', function() {
  $('html').toggleClass('night');
  return false;
});