Youtube Alternate Video Player Old

By BURTMAN Last update Sep 3, 2008 — Installed 797 times.

There are 4 previous versions of this script.

// ==UserScript==
// @name           Youtube Alternate Video Player Old
// @namespace      userscripts.org
// @description    Replaces the youtube flash video player with JW FLV Media Player flash video player. ( www.jeroenwijering.com/?item=JW_FLV_Player )
// @version        0.1
// @include        http://www.youtube.com/watch*
// @include        http://youtube.com/watch*
// @include        http://*.youtube.com/w*
// ==/UserScript==

var dUrl = document.URL;

var vidID = document.location.toString().split("v=")[1].split("&")[0];

var fv = document.getElementById('movie_player').getAttribute('flashvars');

var srcWithT = 'http://'+document.domain+'/get_video?video_id='+vidID+'&t='+fv.split("t=")[1].split("&")[0];

var pD = document.getElementById('watch-player-div');

var aLoader = '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'+
				'YwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==';

		function handleErr(msg,url,l){

			return true;
			
		}
	
		onerror=handleErr;



		var sGetter = document.createElement('script');
		sGetter.type = "text/javascript";
		sGetter.innerHTML = "try{"+
							"var vidID1 = document.URL.split('v=')[1].split('&')[0];"+
							"var gM = document.getElementById('movie_player');"+
							"var getMp1 = gM.getAttribute('flashvars');"+
							"var srcWithT = 'http://'+document.domain+'/get_video?video_id='+vidID1+'&t='+getMp1.split('t=')[1].split('&')[0];"+
							"var httpRequest = new XMLHttpRequest();"+
							"httpRequest.onreadystatechange = function() { "+
							"	if(httpRequest.readyState == 4 && httpRequest.status == 303){"+
							"				var respHed = httpRequest.getResponseHeader('Location');"+						
							"				var spanna = document.createElement('span');"+
							"				spanna.id = 'spannaResphead';"+
							"				spanna.style.visibility = 'hidden';"+
							"				spanna.textContent = respHed;"+
							"				document.getElementsByTagName('body')[0].appendChild(spanna);"+
							"	}"+
							"};"+
							"httpRequest.open('HEAD', srcWithT, true);"+
							"httpRequest.send(null);"+
							"}"+
							"catch (err){"+
							"}";
		
document.getElementsByTagName('body')[0].appendChild(sGetter);


var loaderThere;

function timedCount(){

	var iCanHazSpanna = document.getElementById('spannaResphead');

	if( ( iCanHazSpanna && document.getElementById('tempLoader') )=== null){
	
		pD.innerHTML = '<div id="tempLoader" style="position:relative;width:425px;height:344px;"><p style="position:relative;top:50%;left:40%;font-weight:bold;">Loading Player &nbsp; '+
						'<img style="position:relative;" src="data:image/gif;base64,'+aLoader+'" /></p></div>';			
	
		loaderThere = true;
	
		window.setTimeout(timedCount,5);
	
	}
	else if( ( iCanHazSpanna == null) && loaderThere){
	
		window.setTimeout(timedCount,5);
	
	}
	else if(iCanHazSpanna){
	
		var spanTex = encodeURIComponent(iCanHazSpanna.textContent);
		
		pD.innerHTML = '<embed '+
		'src="http://gmflowplayer.googlecode.com/files/mediaplayeralt.swf" '+
		'width="480" '+
		'height="395" '+
		'allowscriptaccess="always" '+
		'allowfullscreen="true" '+
                                    'quality="low" '+
		'flashvars="height=395&width=480&file='+spanTex+'.flv&image=http://img.youtube.com/vi/'+vidID+'/default.jpg&overstretch=true&showdigits=false&autostart=false&bufferlength=3&repeat=false&volume=100&javascriptid=mediaplayer&autobuffer=false" '+
		'/>		';
		
		clearTimeout();
	
	}
}

timedCount();