var streams=${ streams }
var params = { allowScriptAccess: "always", bgcolor: "#cccccc", wmode: "transparent", allowFullScreen: "true" };
var atts = { id: "myytplayer" };

// If the user doesn't have flash, use the HTML5 Video instead. YouTube's
// iFrame API which supports HTML5 is still developmental so it is not default
if (swfobject.hasFlashPlayerVersion("10.1")){
  swfobject.embedSWF(document.location.protocol +  "//www.youtube.com/apiplayer?enablejsapi=1&playerapiid=ytplayer?wmode=transparent",
        "ytapiplayer", "640", "385", "8", null, null, params, atts);
} else {

  //end of this URL may need &origin=http://..... once pushed to production to prevent XSS
  $("#html5_player").attr("src", document.location.protocol +  "//www.youtube.com/embed/" + streams["1.0"] + "?enablejsapi=1&controls=0");
  $("#html5_player").show();

  var tag = document.createElement('script');
  tag.src = document.location.protocol +  "//www.youtube.com/player_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
  // Make sure the callback is called once API ready, YT seems to be buggy
  loadHTML5Video();
}
var captions=0;
$("#slider").slider({slide:function(event,ui){seek_slide('slide',event.originalEvent,ui.value);},
                     stop:function(event,ui){seek_slide('stop',event.originalEvent,ui.value);}});

function good() {
    window['console'].log(ytplayer.getCurrentTime());
}

ajax_video=good;

loadNewVideo(streams["1.0"], ${ position });

function add_speed(key, stream) {
  var id = 'speed_' + stream;

  //TODO: this should be smarter and know which video is first selected when we have 
  // video speed as an option/parameter per user that is saved
  if (key == 1.0) {
    $("#video_speeds").append(' <li class=active id="'+id+'">'+key+'x</li>');
  } else {
    $("#video_speeds").append(' <li id="'+id+'">'+key+'x</li>');
  }

  $("#"+id).click(function(){
    change_video_speed(key, stream);
    $(this).siblings().removeClass("active");
    $(this).addClass("active");
  });
}

var l=[]
for (var key in streams) {
    l.push(key);
}

function sort_by_value(a,b) {
    var x=parseFloat(a);
    var y=parseFloat(b);
    var r=((x < y) ? -1 : ((x > y) ? 1 : 0));
    return r;
}

l.sort(sort_by_value);

for(var i=0; i<l.length; i++) {
    add_speed(l[i], streams[l[i]])
}

function toggleVideo(){
  if ($("#video_control").hasClass("play")){
    play();
    $("#video_control").removeClass().addClass("pause");
  } else {
    pause();
    $("#video_control").removeClass().addClass("play");
  }
}

$("#video_control").click(toggleVideo);

// space bar to pause video
$(".video-wrapper").keyup(function(e){
  active = document.activeElement;
  if (e.which == 32) {
    e.preventDefault();
    $("#video_control").click();
  }
});

@@ -1494,268 +1494,423 @@
 od;%0A
-%0A
+// 
 load
-NewVideo(streams%5B%221.0%22%5D, $%7B position %7D);%0A%0Afunction add_speed(key, stream) %7B%0A  var id = 'speed_' + stream;%0A%0A  //TODO: this should be smarter and know which video is first selected when we have %0A  // 
+ the same video speed your last video was at in a sequence%0A// if the last speed played on video doesn't exist on another video just use 1.0 as default%0Aif (video_speed == 1 %7C%7C !streams%5Bvideo_speed%5D) %7B%0A  loadNewVideo(streams%5B%221.0%22%5D, streams%5B%221.0%22%5D, $%7B position %7D);%0A%7D else %7B%0A  loadNewVideo(streams%5B%221.0%22%5D, streams%5B
 video
- 
+_
 speed
- as an option/parameter per user that is saved
+%5D, $%7B position %7D);%0A%7D%0A%0Afunction add_speed(key, stream) %7B%0A  var id = 'speed_' + stream;%0A
 %0A  i
@@ -1919,19 +1919,27 @@
 (key == 
-1.0
+video_speed
 ) %7B%0A    

update video_init to use global video_speed variable to cue up same speed and make sure active class added to corrct speed