// NRK Skole user script
// version 0.01 Beta
// Richard H. Tingstad
//
// Lager en link til videostrøm-URL'en i NRK Skole.
// Linken heter "Straumpeikar" og plasseres like etter "Del/tips".
//
// Man kan kopiere URL'en fra linken og åpne strømmen i andre programmer, som
// f.eks. MPlayer.
//
// PS: Prøv å endre f.eks. "_600.wmv" i URL'en til "_1000.wmv" for bedre
// kvalitet.
//
// For å bruke dette skriptet med Firefox trenger du utvidelsen Greasemonkey.
//
// ==UserScript==
// @name        NRK Skole
// @namespace   http://drop.by
// @description Lager link til video-URL.
// @include     http://www.nrk.no/skole/*
// ==/UserScript==
(function () {

if (typeof GM_xmlhttpRequest == 'undefined') return;
var element = document.getElementById('player');
if (!element) return;
var url = element.getElementsByTagName('a')[0].getAttribute('href');
get(url, handle1);

function handle1(responseText) {
	var s = responseText.indexOf('http://www1.nrk.no/nett-tv/asx.aspx?param=');
	var i = responseText.substr(s);
	var a = i.indexOf('"');
	var b = i.indexOf("'");
	i = i.substr(0, a < b ? a : b);
	get(i, handle2);
}

function handle2(responseText) {
	var s = responseText.indexOf('mms://');
	var i = responseText.substr(s);
	s = i.indexOf('"');
	i = i.substr(0, s);
	var newElement = document.createElement('a');
	newElement.setAttribute('href', i);
	newElement.appendChild(document.createTextNode('Straumpeikar'));
	write(newElement);
}

function write(element) {
	var div = document.getElementById('share-article');
	div.parentNode.insertBefore(element, div);
}

function get(url, handler) {
	GM_xmlhttpRequest({
		method: 'GET',
		url: url,
		headers: {
			'User-Agent': 'Mozilla/5.0 (compatible) Greasemonkey',
			'Accept': 'application/atom+xml,application/xml,text/xml'
		},
		onload: function(response) {
			if (response.status == 200) {
				handler(response.responseText);
			}
		}
	});
}

})();

