
/* ID and SWF initialisation */

function getID() {
	return (document.location.href.indexOf("#") != -1 ? document.location.href.substr(document.location.href.indexOf("#") + 1) : "");
}

var id = getID();

swfobject.embedSWF("404.swf", "flash_overlay", "974", "600", "9.0.0", "includes/js/expressInstall.swf", { id: id }, { wmode: "transparent", allowScriptAccess: "always" }, {});
swfobject.embedSWF("overlay.swf", "overlayer", "100%", "100%", "9.0.0", "includes/js/expressInstall.swf", {}, { wmode: "transparent", bgcolor: "#000000", allowScriptAccess: "always" }, {});

if (id) {
	swfobject.embedSWF("main.swf", "emp1", "512", "323", "9.0.0", "includes/js/expressInstall.swf", { id: id, debug: "true" }, { wmode: "opaque", bgcolor: "#000000", allowScriptAccess: "always" }, {});
	blqOnDomReady(initVideoMode);
} else {
	blqOnDomReady(initRevealMode);
}
blqOnDomReady(hideNoScript);

function hideNoScript() {
	document.getElementsByTagName("noscript")[0].style.display = "none";
}


/* Switch to video mode */

var swapped = false;

function reset() {
	initVideoMode();
	if (document.getElementById("flash_overlay").hide) document.getElementById("flash_overlay").hide();
	if (document.getElementById("overlayer").hide) document.getElementById("overlayer").hide();
	if (document.getElementById("emp1").show) document.getElementById("emp1").show();
}

function initVideoMode() {
	document.getElementById("g-main").style.display = "block";
	document.getElementById("placeholder").style.display = "none";
	var fourohfour = document.getElementById("fourohfour");
	fourohfour.style.visibility = "hidden";
	fourohfour.style.top = -600;
	fourohfour.style.zIndex = -100;
}


/* Switch to reveal/landing mode */

function reveal() {
	if (swapped) swap();
	initRevealMode();
	if (document.getElementById("overlayer").hide) document.getElementById("overlayer").hide();
	if (document.getElementById("flash_overlay").show) document.getElementById("flash_overlay").show();
}

function initRevealMode() {
	document.getElementById("g-main").style.display = "none";
	document.getElementById("placeholder").style.display = "block";
	var fourohfour = document.getElementById("fourohfour");
	fourohfour.style.visibility = "visible";
	fourohfour.style.top = 0;
	fourohfour.style.zIndex = 600;
}


/* Background fade function */

function fade() {
	document.getElementById("overlayer").style.height = document.body.scrollHeight;
	if (document.getElementById("overlayer").show) document.getElementById("overlayer").show();
}


/* Screen-flicker function */


var node;
var images;
var rollovers;

function flicker() {

	node = document.getElementById("g-main");
	images = [
		document.getElementById("title-img"), document.getElementById("title-img-swapped"),
		document.getElementById("more-img"), document.getElementById("more-img-swapped"),
		document.getElementById("bbc2-img"), document.getElementById("bbc2-img-swapped")
	];
	rollovers = [document.getElementById("banner")];

	var delay = 2000;
	var flickerCount = 7;
	var flickerLength = 200;

	var n = 0;
	for (var i = 0; i < flickerCount; i++) setTimeout(swap, n += (Math.random() * flickerLength));
}



/* Screen-flicker supporting functions */

function swap() {
	swapLetters(node);
	swapImages(images, rollovers);
	swapped = !swapped;
}

function swapLetters(_node) {
	switch (_node.nodeType) {
		case 3:
			_node.nodeValue = _node.nodeValue.replace(/a/g, "@a").replace(/A/g, "@A").replace(/o/g, "a").replace(/O/g, "A").replace(/@a/g, "o").replace(/@A/g, "O");
			break;
		case 1:
			if (_node.hasChildNodes()) {
				var l = _node.childNodes.length;
				for (var i = 0; i < l; i++)	swapLetters(_node.childNodes[i]);
			}
			break;
	}
}

function swapImages(_images, _rollovers) {
	var i;
	for (i = 0; i < _images.length; i++) _images[i].style.visibility = (_images[i].style.visibility == "hidden" ? "" : "hidden");
	for (i = 0; i < _rollovers.length; i++) _rollovers[i].style.backgroundPosition = (_rollovers[i].style.backgroundPosition == "50% 100%" ? "" : "50% 100%");
}