// ==UserScript==
// @name          YouTube video downloader - Opera version
// @namespace     http://www.boe2.be/
// @include http://youtube.com/*
// @include http://www.youtube.com/*
// @description   Grab video's from youtube with Opera.
// ==/UserScript==
document.addEventListener ('DOMContentLoaded', function (e) {
	var download_url = 'http://www.youtube.com/get_video?';
	var url_content = document.getElementById('movie_player').getAttribute('flashvars');
	var regex_video_id = new RegExp("video_id=[a-zA-Z0-9=\_\-]*");
	var regex_t = new RegExp("&t=[%a-zA-Z0-9=\_\-]*");
	var video_url = download_url + regex_video_id.exec(url_content) + regex_t.exec(url_content);;
	
	// flv quality link
	var link = document.createElement('a');
		link.setAttribute('href', video_url + '&fmt=35');
		link.appendChild(document.createTextNode(' Download video (flv)'));
		
	// mp4 quality link
	var hqlink = document.createElement('a');
		hqlink.setAttribute('href', video_url + '&fmt=18');
		hqlink.appendChild(document.createTextNode(' Download video (mp4)'));
		
	// HD quality link (only usable with HD video's)
	var hdlink = document.createElement('a');
		hdlink.setAttribute('href', video_url + '&fmt=22');
		hdlink.appendChild(document.createTextNode(' Download video (HD mp4)'));
	
	// Create a div layer and display the link
	var div = document.createElement('div');
		div.setAttribute('style','position:fixed; top:0px; left:0px; border:1px solid black; background-color:#ff4500; color:black; font:Verdana;');
		div.appendChild(link);
		div.appendChild(document.createElement('br'));
		div.appendChild(hqlink);
		div.appendChild(document.createElement('br'));
		div.appendChild(hdlink);
		document.body.appendChild(div);
	
	// clean up body margin
	document.body.style.margin = '0px';
}, false);
