requestedNode = 0;
newId = 0;
countTimesRun = 0;
flashMe = 1; 
currentPage = 0;

// run() flashar kvadraterna. 
function run(page){
	newTime=setTimeout('flashMediaSquares()',1000); 
}


// changeNode() &#228;ndrar b&#229;de huvudsida och undersida. Den m&#229;ste f&#229; b&#229;da parametrarna, annars 
// buggar den ut.
function changeNode(Node, subPage){

	requestedNode = Node;
	requestedSubPage = subPage;
	var chosenNode = "pages/" + requestedNode + ".html"; 
	chosenSubPage = "subpages/" + requestedNode + "/" + requestedSubPage + ".html";
//	alert(chosenNode);
//	alert(chosenSubPage);
	changeMenuMarker(requestedNode);
	ajaxpage(chosenNode, "subMenuHolder");
	ajaxpage(chosenSubPage, "subPageContent");
	var changeMediaForSubPage = requestedNode + requestedSubPage; 
	translateNrToPage(changeMediaForSubPage);

}

function flashSubMenu(){
	if(flashMe == 1){
	new Effect.Pulsate('subMenuHolder', {duration:0.6,pulses:2});
	flashMe = 0;
}
}

function flashMenuMarker(nodeNr){
	var nr = nodeNr; 
	var relevantMarker = "marker" + nodeNr; 
	document.getElementById(relevantMarker).style.visibility = 'visible'; 
}

function stopFlashMenuMarker(nodeNr){
	var nr = nodeNr; 
	var relevantMarker = "marker" + nodeNr; 
	document.getElementById(relevantMarker).style.visibility = 'hidden';
}


// changeSubPage &#228;ndrar bara undersida. M&#229;ste f&#229; en parameter, annars blir den ledsen!
function changeSubPage(subPage){
	var subPageMedia = requestedNode + subPage;
	var subPage = "subpages/" + requestedNode + "/" + subPage + ".html";	
	ajaxpage(subPage, 'subPageContent');
	translateNrToPage(subPageMedia);
}

function changeSubText(subText){
	var subText = "subpages/" + requestedNode + "/subtext/" + subText + ".html";
//alert(subText);
	ajaxpage(subText, 'rightColumn');
}

function flashMediaSquares(){
	new Effect.Grow('mediaSquare1', {direction: 'center',duration:0.2});
	new Effect.Grow('mediaSquare2', {direction: 'center',duration:0.4});
	new Effect.Grow('mediaSquare3', {direction: 'center',duration:0.6});
	new Effect.Grow('mediaSquare4', {direction: 'center',duration:0.8});
	new Effect.Grow('mediaSquare5', {direction: 'center',duration:1.0});
}

function changeSubMarker(){
	alert("submakrer running");
	var subMarkerPath = "assets/img/submenu/" + requestedNode + "/" + requestedSubPage + ".jpg";
	alert(subMarkerPath);
	var subMarkerClass = "submarker" + requestedNode + requestedSubPage;
	alert(subMarkerPath);
	alert(subMarkerClass);
	document.getElementById('subMarker').src = subMarkerPath; 
	document.getElementById('subMarker').className =  subMarkerClass;
	document.getElementById('subMarker').style.display = 'block';
}

function changeMenuMarker(node){
	if(node == "nomarker"){
		newId = "marker010";
	} else {
	document.getElementById(newId).style.visibility = 'hidden';
	newId = "marker" + node;	
	requestedNode = node;
	document.getElementById(newId).style.visibility = 'visible';
}

}


var bustcachevar=1; //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects="";
var rootdomain="http://"+window.location.hostname;
var bustcacheparameter="";

function ajaxpage(url, containerid){
	
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
	page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} catch (e){
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			} catch (e){}
		}
	} else {
		return false
	}
	page_request.onreadystatechange=function(){
		loadpage(page_request, containerid)
	}
	if (bustcachevar) //if bust caching of external page
	bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	page_request.open('GET', url+bustcacheparameter, true)
	page_request.send(null)
}

function loadpage(page_request, containerid){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
	if (!document.getElementById)
	return
	for (i=0; i<arguments.length; i++){
		var file=arguments[i]
		var fileref=""
		if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
			if (file.indexOf(".js")!=-1){ //If object is a js file
				fileref=document.createElement('script')
				fileref.setAttribute("type","text/javascript");
				fileref.setAttribute("src", file);
			}
			else if (file.indexOf(".css")!=-1){ //If object is a css file
				fileref=document.createElement("link")
				fileref.setAttribute("rel", "stylesheet");
				fileref.setAttribute("type", "text/css");
				fileref.setAttribute("href", file);
			}
		}
		if (fileref!=""){
			document.getElementsByTagName("head").item(0).appendChild(fileref)
			loadedobjects+=file+" " //Remember this object as being already added to page
		}
	}
}






function setType(typeIdNew){
	var thisType;
	typeId = typeIdNew;
	if(typeId == 1){
		thisType = "gamer";
		relevantArray = gamerType2; 
	} else if(typeId == 2){
		thisType = "researcher";
		relevantArray = researcherType2;
	} else if(typeId == 3){
		thisType = "hotnot";
		relevantArray = hotnotType;
	}
//	new Effect.SlideUp('content');
	waitTime=setTimeout('firstPage()',200); 
}

//F&#246;r att s&#228;tta sp&#229;ren f&#246;r de olika typerna, uppdatera arrayerna nedan.
var researcherType2 = new Array('010,1','010,2','010,3','010,4','040,2','060,1','060,2'); 
var gamerType2 = new Array('020,4','110,1','121,1','122,1','123,1','124,1','050,3');
var hotnotType = new Array('010,3','020,2','020,4','020,5','040,1','042,1','043,1','044,1','050,3');



//var researcher = {'020' : {'subPage' : 'vision.html'}};
//alert(researcher ['researcher']['subPage']);



function firstPage(){
	var firstPage = relevantArray[0].split(',');
	changeNode(firstPage[0], firstPage[1]);
	currentPage = 0; 
}

function forward(){
	
	if(countTimesRun == 0){
		new Effect.Appear('leftArrowHolder');
	}
//	new Effect.Fade('marker');
//	new Effect.Fade('subMenuHolder');	
//	new Effect.Fade('subPageContent');
//	alert("forward k&#246;r!");
	newTime3=setTimeout('showNext()', 1000);
	countTimesRun = countTimesRun + 1;
}

function showNext(){

	currentPage = currentPage + 1; 
	
	if(currentPage > (relevantArray.length - 1)){
		currentPage = 0;
	} 	
	
	researchString = relevantArray[currentPage].split(',');
	changeMenuMarker(researchString[0]);
	var buildPage = "pages/" + researchString[0] + ".html";
	updateTrail();
	ajaxpage(buildPage, 'subMenuHolder');
	changeSubPage(researchString[1]);
}



function backward(nr){
	//	new Effect.Fade('marker');
	//	new Effect.Fade('subMenuHolder');	
	//	new Effect.Fade('subPageContent');
	//	alert("forward k&#246;r!");
		newTime3=setTimeout('showLast()', 1000);
}

function showLast(){
	currentPage = currentPage - 1; 
	if(currentPage < 0){
		currentPage = (relevantArray.length - 1);
	}
	researchString = relevantArray[currentPage].split(',');
	changeMenuMarker(researchString[0]);
	var buildPage = "pages/" + researchString[0] + ".html";
	updateTrail();
	ajaxpage(buildPage, 'subMenuHolder');
	changeSubPage(researchString[1]);
}

function updateTrail(){
	
	if(countTimesRun == 1){
		// then do nothing, you lazy script!
	} else {
	var nextPageCount = currentPage + 1; 
	var lastPageCount = currentPage - 1;
	if(nextPageCount == relevantArray.length){
		nextPageCount = 0;
	}
	
	if(lastPageCount == -1){
		lastPageCount = (relevantArray.length - 1);
	}	

	var nextPage = relevantArray[nextPageCount].split(',');
	var lastPage = relevantArray[lastPageCount].split(',');
	var nextPagePath = "assets/img/arrowright/" + nextPage[0] + nextPage[1] + ".jpg";
	var lastPagePath = "assets/img/arrowleft/" + lastPage[0] + lastPage[1] + ".jpg";
	document.getElementById('leftArrow').src = lastPagePath;
	document.getElementById('rightArrow').src = nextPagePath;
}
}



var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)

document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
tempX = 0
tempY = 0

// Main function to retrieve mouse x-y pos.s

function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  // show the position values in the form named Show
  // in the text fields named MouseX and MouseY
 	document.myform.x.value = tempX;
	document.myform.y.value = tempY;
}

var magicWords = new Array(); 
magicWords['IperG'] = "Integrated Project on Pervasive Gaming, a research project within EU."; 
magicWords['mmorpg'] = "Massive Multiplayer Online Roleplaying Game. A genre of games in which huge amounts of players interact online. See World of Warcraft for example."; 
magicWords['<i>Momentum</i>'] = "The second game in the Prosopopeia-series.";
magicWords['arg'] = "Alternate Reality Gaming. A cross-media genre of interactive fiction using multiple delivery and communications media, including television, radio, newpapers, Internet, email, SMS, telephone, voicemail, and postal service.";
magicWords['montola'] = "The publication can be found at <br /><a href='http://users.tkk.fi/~mmontola/publication.html' target='_blank'>http://users.tkk.fi/~mmontola/publication.html</a>"
magicWords['technoccult'] = "An in-house term defining the combination of magic and technology.";
magicWords['larp'] = "Live-Action Role-Playing game. A RPG where most action is acted out, not described.";
magicWords['evprigg'] = "A device supposedly used for communicating with the dead. Based on radio technology and analysis of white noise. Has been claimed to be a product of apophenia. Also called Electronic Voice Phenomena.";

function showHint(word){
//	alert("mepp");
//	alert(tempX);
//	alert(tempY);
	var descRiption = magicWords[word];
	tempX = tempX + 10 + "px";
	tempY = tempY + 10 + "px";
	document.getElementById('showBox').style.left = tempX;
	document.getElementById('showBox').style.top = tempY;
	document.getElementById('magicWordBox').innerHTML = descRiption; 
	document.getElementById('showBox').style.visibility = 'visible';
}

function hideHint(){
	document.getElementById('magicWordBox').innerHTML = "";
	document.getElementById('showBox').style.visibility = 'hidden';
}




function popUpFilm(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=550,height=400,left = 237,top = 184');");
}










