Youtube Video Controls Manager

Manages the video controls overlay on a youtube video, to prevent it blocking 30-40 pixels on the bottom of the video

Versión del día 29/03/2015. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name         Youtube Video Controls Manager
// @namespace    http://your.homepage/
// @version      0.03
// @description  Manages the video controls overlay on a youtube video, to prevent it blocking 30-40 pixels on the bottom of the video
// @include      http*://www.youtube.com/watch?v=*
// @author       D.Slee
// @match        https://www.youtube.com/watch?v=rXj3hUB7BH8
// @grant        none

// ==/UserScript==
var playerAPI = document.getElementById("player-api")
var progBar = document.getElementsByClassName("html5-video-controls")[0];  //Progress Bar
var scrubBn = document.getElementsByClassName("html5-scrubber-button")[0]; //Circle Button (on progress bar)
var vidCont = document.getElementsByClassName("html5-player-chrome")[0];   //Video controls
var elements = [scrubBn, vidCont];
var fadeState = true;
var fadeOutInterval = setTimeout(fade('out'), 0);                          //Interval used to fade out when inactive



//Feel free to edit these parameters
var progBarHide = false;
var timeOut = 1000;

//progBar handling
progBar.style.setProperty("opacity", 1, "important")
if (progBarHide == true){
    elements.push(progBar)
}

//Initiate
fade('out')
mainProgram()

function mainProgram(){
    playerAPI.addEventListener("mousemove", handleMouseOver, false)
    playerAPI.addEventListener("mouseout", handleMouseOut, false)
}

function handleMouseOver(){
    fade('in')
}

function handleMouseOut(){
    fade('out')
}

function fade(direction){
    var inParameters = ["default", "0px", true, "block"]                       //Fading parameters (cursor, bottom, fadeState, display)
    var outParameters = ["none", "-5px", false, "none"]
    var parameters = outParameters

    if (direction == 'in'){
        parameters = inParameters
        clearTimeout(fadeOutInterval)
        fadeOutInterval = setTimeout(fade('out'), timeOut)
    }

    playerAPI.style.cursor = parameters[0]
    progBar.style.bottom = parameters[1]
    fadeState = parameters[2]
    for (i = 0; i<elements.length; i++){
        elements[i].style.display = parameters[3]
    }
}