
function prefer_deobfuscate() {
	$(".prefer-deobfuscate").each(function() {
		var ea = $(this).text().replace(/<?([^\s]+)\s+på\s+([^\s]+)\s+([^\s>]+).*/, "$1@$2$3");
		$(this).replaceWith("<a href=\"mai" + "lto:" + ea + "\">" + ea + "</a>"); 
	});
}


var localmenu_pages = new Object();
var localmenu_first = null;
function localmenu_init()
{
	var h = "h2";
	
	// Into this we build the local menu
	var localmenu = $("<ul></ul>");
	
	// Need to group the pages in a containing div
	$("#maincontent " + h + ":not(.notabing)").each(function() {
		var id = string_uri_friendly($(this).text());
		var menu_item = $("<li><a href='#" + id + "'>" + $(this).text() + "</a></li>");
		localmenu.append(menu_item);
		var wrapper = $("<div></div>").addClass("tabwrapper").attr('id', id);
		$(this).nextUntil(h).add(this).wrapAll(wrapper);
		localmenu_pages[id] = { menu: menu_item, page: $(this.parentNode) };
		if(!localmenu_first) {
			localmenu_first = id;
		}
	});
	
	$("a", localmenu).bind("click", function() { localmenu_select(this.href); return false; });
	$("#maincontent div.localmenu").append(localmenu);
	localmenu_select();
}


function localmenu_select(tab)
{
	if(!tab) {
		var uri = new String(window.location);
		var tab = (uri.indexOf("#") != -1) ? uri.substr(uri.indexOf("#") + 1) : localmenu_first;
	}
	if(tab.indexOf("#") != -1) {
		tab = tab.substr(tab.indexOf("#") + 1);
	}
	if(!localmenu_pages[tab]) {
		return;
	}
	for(i in localmenu_pages) {
		if(i != tab) {
			localmenu_pages[i].page.css('display', 'none');
			localmenu_pages[i].menu.removeClass('current');
		}
	}
	localmenu_pages[tab].page.css('display', 'block');
	localmenu_pages[tab].menu.addClass('current');
}

function string_uri_friendly(string)
{
	string = string.toLowerCase();
	string = string.replace(/[åä]/g, 'a');
	string = string.replace(/ö/g, 'o');
	string = string.replace(/[^a-z0-9_ ,.-]/g, '');
	string = string.replace(/[ ,.-]+/g, "_");
	return string;
}

function getPositionTop(element)
{
	var offset = 0;
	while(element) {
		offset += element['offsetTop'];
		element = element.offsetParent;
	}
	return offset;
}
function getPositionBottom(element)
{
	return getPositionTop(element) + element.offsetHeight; 
}
// Movieplayer
var mpMovies = {};
var mpPlaylist = [];
var mpPLTO = 0; // timeout
var mp = null; 
var mpLoading = false; 
var mpLoadingMovie = null;
var mpLoadingPlay = false;
var mpLastMovie = null; 
var mpOptions = null;

// Options:
// - imageFromFirstMovie 
function mpSetup(o)
{
	if(!o) o = new Object();
	mpOptions = o;
	var preview = mpMovies[mpPlaylist[0]].preview;
	var title = mpMovies[mpPlaylist[0]].title;
	if(o.imageFromFirstMovie && !preview) {
		mpPlayMovie(null, true);
	}
	else {
		if(preview) {
			$('#illustration').append($("<img src='" + preview + "' alt='' />").css({ position: 'absolute', top: 0, left: 0 }));
			if(title) {
				$('#illustration').append($("<div class='title'>" + title + "</div>").css({ position: 'absolute', top: 0, left: 0, width: '830px', padding: '5px 30px', fontSize: '30px', fontWeight: 'bold', backgroundColor: 'white', opacity: 0.5 }));
			}
		}
		$('#illustration').append($('<a class=\"moviePlayButton\" href=\"\"></a>').click(function() { mpPlayMovie(); return false; }));
	}
	$('#images li.movie').css({ overflow: 'hidden', position: 'relative' }).each(function() { $(this).append($('<div><\/div>').css({ backgroundColor: 'black', cursor: 'pointer', opacity: 0.1, width: '100%', height: '100%', position: 'absolute', top: 0, left: 0}).click(function() { mpShow(); mpPlayMovie($('object, embed', $(this).parent())[0].id); return false; }));
	}); 
}
function onYouTubePlayerReady(id)
{ 
	if(id == 'mainplayer') { 
		mp = $('#mainplayer')[0];
		mpLoading = false; 
		if(mpLoadingMovie) { 
			mpPlayMovie(mpLoadingMovie, !mpLoadingPlay); 
		} 
		else if(mpLoadingPlay) { 
			mp.playVideo(); 
		}
		mp.addEventListener('onStateChange', 'mpStateChange'); 
	} 
}
function mpStateChange(newState)
{ 
	// 0 = ended
	if(newState == 0) mpPLTO = window.setTimeout(function() { mpPLTO = 0; mpPlayNext(mpLastMovie, true); }, 5000);
}
function mpPlayMovie(id, q)
{ 
	if(mpPLTO) { window.clearTimeout(mpPLTO); mpPLTO = 0; } 
	if(!id) id = mpPlaylist[0]; 
	if(!q) q = false;
	if(mp) { 
		mpLastMovie = id; 
		if(q) mp.cueVideoById(mpMovies[id].videoid);
		else mp.loadVideoById(mpMovies[id].videoid); 
	} 
	else if(mpLoading) {
		mpLoadingMovie = id;
		mpLoadingPlay = !q;
	}
	else { 
		mpLoading = true;
		mpLoadingPlay = !q;
		mpCreate(id);
	} 
}
function mpPlayNext(id, q)
{ 
	var next = null; 
	for(var i = 0; i < mpPlaylist.length; ++i) { 
		if(mpPlaylist[i] == id) { next = i + 1; break; } 
	} 
	if(next) next = (i < mpPlaylist.length) ? mpPlaylist[next] : mpPlaylist[0]; 
	if(next != id) mpPlayMovie(next, q); 
}
function mpCreate(id)
{
	mpLastMovie = id; 
	var uri = 'http://www.youtube.com/v/' + mpMovies[id].videoid + '?fs=1&hl=sv_SE&rel=0&color1=0x000000&color2=0xffffff&hd=1&enablejsapi=1&playerapiid=mainplayer&version=3&autohide=1'; 
	$('#illustration .overlay, #maincontent h1').animate({opacity: 0 }, 1000); 
	$('#illustration').append($('<div id=\"mainplayerwrap\"><div id=\"mainplayer\"><\/div><\/div><').css({ position: 'absolute', top: 0, left: 0, width: '890px', height: '330px', overflow: 'hidden' })); 
	swfobject.embedSWF(uri, 'mainplayer', '890', '330', '8', null, null, { allowScriptAccess: 'always', allowFullScreen: 'true', wmode: 'opaque' }, { id: 'mainplayer' } ); 
}
function mpShow() { 
	var win = $('html')[0]; 
	var is_visible = win.scrollTop <= getPositionTop($('#illustration')[0]); 
	if(!is_visible) $(win).animate({scrollTop: 0 }, 1000); 
}





