[BROKEN!]YouTube HQ + 720p Ultimate [Revised By Japzone]

By Japzone Last update Apr 23, 2009 — Installed 2,010 times.
// ==UserScript==
// @name          YouTube HQ + 720p Ultimate [Revised By Japzone]
// @description   Makes ALL your YouTube videos go to HQ automatically. Now with autoplay off and color options. Your favorite YouTube script is better than ever!
// @include       http://*youtube.com/watch?*
// @namespace     #aVg
// @version       0.98.4
// ==/UserScript==
//@More Settings--By Japzone
//WordSearch (Ctrl+F) "//Start" For More Settings
//@/More Settings
function yt720() {
var enablecolors=false,        // <--    ///////////////////////////////////
    useHD=false,               // <-- THIS IS THE DOMAIN OF CONFIGURABLE
    autoplay=false,            // <-- OPTIONS. EDITING ANYTHING ELSE WILL VOID
    autoBuffer=false,          // <-- YOUR WARRANTY ;)
    hideAnnotations=false,     // <--
    c1="000000",              // <--
    c2="FFFFFF",              // <--
    bigMode=false,             // <--
    jumpToPlayer=true,        // <--
    loop=false,                // <-- ////////////////////////////////////////////
    map=swfArgs.fmt_map,
    fmts=new Array("22","35"),              // a list of the highest YouTube formats
    fmt,
    $=_gel,
    toLoad="18",
    i=0;
window.player=$("movie_player");
while(fmt=fmts[i++]) {                  // check available formats
   if (fmt=="22" && !useHD) continue;     // and seek out the best one
   if(new RegExp(fmt+"/").test(map)) {  // if it's available
        toLoad=fmt;
	break;
   }
}

if(jumpToPlayer)
	location.replace(location.href.replace(location.hash,"")+"#watch-vid-title");

// BEGIN ytOnload
onYouTubePlayerReady=function(playerId) {
g_YouTubePlayerIsReady = true;

handleWatchPagePlayerStateChange=function(state) {
 if (state == 0) {
   if(loop) {
    player.seekTo(0,true);
    player.playVideo();
   } 
   if (watchIsPlayingAll) {
    gotoNext();
   }
 }
};
player.addEventListener("onStateChange","handleWatchPagePlayerStateChange");

player.addEventListener("onPlaybackQualityChange","onPlayerFormatChanged");
onPlayerFormatChanged(player.getPlaybackQuality());toggleWidePlayer(bigMode);
}
// END ytOnload

function showDownloads() {
 var style=document.createElement("style");
 style.type="text/css";
 style.innerHTML=".avgDL {float:right;}";

document.getElementsByTagName("head")[0].appendChild(style);

//Start Download Disable
//Place "//" in front of " var" To Disable
//----
// var downloads={"3gp":"17","mp4":"18","hd mp4":"22"};
//----
//End Download Disable

 var info=$("watch-ratings-views"), block=document.createElement("div");
 var head=$("watch-this-vid-info");
 
 block.className="avgDL";
 block.appendChild(document.createTextNode("Download this video as: "));

 var flv=document.createElement("a");
 flv.href="/get_video?video_id="+pageVideoId+"&t="+swfArgs.t;
 flv.innerHTML="flv";

 block.appendChild(flv);

 for(var dl in downloads) {
  var temp=flv.cloneNode(true);
  temp.innerHTML=dl;
  temp.href+="&fmt="+downloads[dl];
  if(!(dl=="hd mp4" && !isHDAvailable)) {
   block.appendChild(document.createTextNode(" // "));
   block.appendChild(temp);
  } }
  head.insertBefore(block,info);
}

  var r=new XMLHttpRequest();  // each req is about 16KB, not too bad
//Start AutoPlay Player Quality Change
//Place "//" in front of the one you want Disabled "HD" or "SD"
//----
//    r.open("GET","/watch?v="+pageVideoId+"&fmt="+toLoad);//Player Plays HD
    r.open("GET","/watch?v="+pageVideoId+toLoad);//Player Plays SD
//----
//End AutoPlay Player Quality Change
    r.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
             swfArgs=eval("("+/swfArgs = ({[^;]+)/.exec(this.responseText)[1]+")");
	     swfArgs.enablejsapi="1";
             if(enablecolors) {
                   swfArgs.color1="0x"+c1;
                   swfArgs.color2="0x"+c2;
             }
             if(!autoplay && !autoBuffer)
                  swfArgs.autoplay=0;
         var ads=new Array("infringe","ad_channel_code","ad_host_tier","invideo","ad_video_pub_id","ad_host","ad_module","ad_tag","ad_eurl");
	 if(hideAnnotations) {
            ads.push("iv_storage_server");
            ads.push("iv_module");
         }
         for(var i=ads.length-1;i>=0;i--)
         	delete swfArgs[ads[i]];
         var vars="";
         for(var arg in swfArgs)
		vars+="&"+arg+"="+swfArgs[arg];

	 player.setAttribute("flashvars",vars.substring(1));
	 player.src=player.src;

         if(!autoplay && autoBuffer)
             var pauser=setInterval(function(){try{player.pauseVideo();clearInterval(pauser);}catch(e){}},100);
         showDownloads();
        }
       };
  r.send("");

}
document.body.appendChild(document.createElement("script")).innerHTML="("+yt720+")()";