﻿var xmlrequest = false;

function requestXML(url,returnFunction) {
	xmlrequest = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		xmlrequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		try {
			xmlrequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlrequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
			}
		}
	}
	if (!xmlrequest) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	xmlrequest.onreadystatechange = returnFunction;
	xmlrequest.open('GET', url, true);
	xmlrequest.send();
}
	
function parseXML() {
	if (xmlrequest.readyState == 4) {
		parseNews(xmlrequest.responseXML.documentElement);
	}
}
var xmlScene = new Array();
function parseNews(xml) {
	var news=xml.getElementsByTagName('news');
	for (i=0;i<news.length;i++) {
		var info=new Array();
		for (a=0;a<news[i].childNodes.length;a++) {
			if (news[i].childNodes[a].tagName) {
				info.push(news[i].childNodes[a].firstChild.nodeValue);
			}
		}
		info.push(news[i].getAttribute("color"));
		xmlScene.push(info);
	}
	sceneArray = xmlScene;
	runNews();
}


function fillScreenWithImage() {
	imageContainer.width=stage.offsetWidth;
	imageContainer.height=stage.offsetHeight;
	imageContainer.scaleX=imageContainer.offsetWidth/1920;
	imageContainer.scaleY=imageContainer.offsetHeight/1200;
	( imageContainer.scaleX > imageContainer.scaleY ) ? imageContainer.height = imageContainer.scaleX*1200 : imageContainer.width = imageContainer.scaleY*1920;
	imageContainer.style.left=(stage.offsetWidth/2)-(imageContainer.width/2)+"px";
	imageContainer.style.top=(stage.offsetHeight/2)-(imageContainer.height/2)+"px";
}
var activeScene;
var totalScenes;
var sceneArray;
function runNews() {
	activeScene=0;
	totalScenes=sceneArray.length-1;
	var sceneNo=document.location.href.match(/#(.+)$/);
	if (sceneNo) {
		activeScene=Number(sceneNo[1].split("/")[1]);
	}
	checkButtons();
	if (imageContainer.style.display=='none') {
		openNews();
	} else {
		closeNews();
		setTimeout(openNews,500);
	}
	function openNews() {
		imageContainer.src=sceneArray[activeScene][3];
		overlayContainer.innerHTML="<h3 id=\"heading\" style=\"color:#"+sceneArray[activeScene][4]+";\">"+sceneArray[activeScene][0]+"</h3><h4 id=\"subheading\" style=\"color:#"+sceneArray[activeScene][4]+";\">"+sceneArray[activeScene][1]+"</h4>";
		var heading=document.getElementById("heading");
		var subheading=document.getElementById("subheading");
		heading.style.display='inline';
		subheading.style.display='inline';
		if (subheading.offsetWidth>heading.offsetWidth && heading.offsetWidth>380) {
			subheading.style.maxWidth=heading.offsetWidth+"px";
		} else {
			subheading.style.maxWidth='750px';
		}
		heading.style.display='block';
		subheading.style.display='block';
	}
	imageContainer.onclick=function() {
		document.location.href=sceneArray[activeScene][2]
	};
	function closeNews() {
		$("#imageContainer").fadeOut(450);
	}
	
}

var flashVersion=deconcept.SWFObjectUtil.getPlayerVersion();
if (flashVersion['major']<9 || testing) {
	var imageContainer=document.getElementById('imageContainer');
	var overlayContainer=document.getElementById('noflashOverlayContainer');
	var nextButton=document.getElementById('nextButton');
	var prevButton=document.getElementById('prevButton');
	nextButton.style.display='inline';
	prevButton.style.display='inline';
	var stage=document.getElementById('noflashContainer');
	$("#nextButton").css('opacity',0);
	$("#prevButton").css('opacity',0);
	$("#noflashTop").css('opacity',0.5);
	$("#noflashBottom").css('opacity',0.5);
	$("#imageContainer").load(function() {
		$("#imageContainer").fadeIn(450);
		fillScreenWithImage();
										});
	window.onresize = fillScreenWithImage;
	
	requestXML("/xml/news.asp",parseXML)
	
}

function checkButtons() {
	if (activeScene==0) {
		disableButton(prevButton);
		enableButton(nextButton);
	} else if (activeScene==totalScenes) {
		disableButton(nextButton);
		enableButton(prevButton);
	} else {
		enableButton(nextButton);
		enableButton(prevButton);
	}
}

function newScene(e) {
	if (e.id=='prevButton') {
		activeScene--;
	} else {
		activeScene++;
	}
	goingToScene(activeScene);

	runNews();
	
}

function disableButton(button) {
	$("#"+button.id).fadeTo(400,0);
	button.onclick=null;
	button.onmouseover=null;
	button.onmouseout=null;
	button.style.cursor='default';
}
function enableButton(button) {
	$("#"+button.id).fadeTo(400,0.5);
	button.onclick=function() {
		newScene(this);
	}
	button.onmouseover = function() {
		$("#"+button.id).fadeTo(200,0.8);
	}
	button.onmouseout = function() {
		$("#"+button.id).fadeTo(200,0.5);
	}
	
	button.style.cursor='pointer';
}
function goingToScene(sceneNo) {
	window.location.hash="/"+sceneNo;
	if (pageLoaded) {
		pageTracker._trackPageview(document.location.href.replace("http://"+document.domain,""));
	}
}
