/*Test for objects*/
var layerobject=false;
var allobject=false;
var dom = false;


if (document.getElementById) {
	var dom = true;
} else if (document.all) {
	allobject=true;
} else if (document.layers) {
	layerobject=true;
}
var explorerBrowser= navigator.appName;
var movieNum = 1;
var movieLevel = "2";
var moviePlayedList ="TheListOfMovies";
var movieTotalLevels = 3;
var activePlayer = "movie1";
var domDoc = false;
var reffilpath;
var rtspfilpath;
var calBuffer = 1000;
var oldBuffer = 0;
var startLag = 1400;
var IntervalID;
var Interval2ID ;
var Interval3ID ;
var Interval4ID ;
var timeUntilSwitch ;
var movieLoaded = "false";
var havestarted=false;
var lengthUntilNow=0;
var movieLengthArray = new Array(0,2640000,1260000,715000);
var totalClips=91;
var currentMatrix="0,0,400,300";
var winNetscape="no"

if ((navigator.appName=="Netscape") && (navigator.appVersion.indexOf("Win") !=-1)) winNetscape="yes";

function changeVisibility(id,action) {
	if (action=="show") {
			if (explorerBrowser=="Microsoft Internet Explorer") {
				//document.getElementById(''+id+'').SetRectangle(currentMatrix);
				document.getElementById(''+id+'layer').style.zIndex="3";
			} else if ((navigator.appName=="Netscape") && (navigator.appVersion.indexOf("Win") !=-1)) {
				//changePosition(id+'layer',0,0)
				document.getElementById(''+id+'layer').style.visibility="visible";

			
			} else {	
					//document.getElementById(''+id+'').SetRectangle(currentMatrix);
				changePosition(id+'layer',0,0);
				var temp=100-movieNum;
				document.getElementById(''+id+'').style.zIndex=temp;

			}
		if ((activePlayer == 'movie1') && (explorerBrowser !="Microsoft Internet Explorer") && (plugin != "vlc") && (winNetscape == "no")) {
			
			StopIt(document.movie1);
			PlayIt(document.movie1);
		} else if ((activePlayer == 'movie2') && (explorerBrowser !="Microsoft Internet Explorer")  && (plugin != "vlc") && (winNetscape == "no")) {
			
			StopIt(document.movie2);
			PlayIt(document.movie2);
		} 

		if (activePlayer == 'movie1') {
			changeVisibility('movie2','hide');	
		} else if (activePlayer == 'movie2') {
			changeVisibility('movie1','hide');
		} else {
			alert("Feil. Ingen spiller er aktiv");
			var temp="no";
		}

		

	} else if (action=="hide") {
			if (explorerBrowser=="Microsoft Internet Explorer") {
				document.getElementById(''+id+'layer').style.zIndex="1";
				//document.getElementById(''+id+'').SetRectangle("0,0,0,0");
			} else if ((navigator.appName=="Netscape") && (navigator.appVersion.indexOf("Win")!=-1)) {
				//changePosition(id+'layer',5000,5000)					
				//changeOpac(0,id+'layer');
				document.getElementById(''+id+'layer').style.visibility = "hidden";
			} else {
				changePosition(id+'layer',1000,0)
				
			}
		
		
		Interval2ID = setInterval("movieEnd()",250);
	}
	return;
}



function changePosition(id,x,y) {

	if (layerobject) {
		document.layers[''+id+''].left = x;
		document.layers[''+id+''].top = y;
	}
	else if (allobject) {
		document.all[''+id+''].style.left = x;
		document.all[''+id+''].style.top = y;
	}
	else if (dom) {
		document.getElementById(''+id+'').style.left = x+"px";
		document.getElementById(''+id+'').style.top = y+"px";
	}

return;
}




function movieEnd() {
	var movieNow=moviePos();
	var movieSlutt=movieLength();

	if ((movieNow > 0) && (movieNow) && (movieSlutt > 0) && (movieSlutt)) {
		window.clearInterval(Interval2ID);
		movieNum=movieNum+1;
		isend=loadNextMovie();
		if (isend=="end") setTimeout("theEnd()",(movieSlutt-movieNow));
		
		if ((movieSlutt-movieNow-calBuffer) <= 0 ) {
			tempCalBuffer =  (movieSlutt-movieNow);
		} else {
			var tempCalBuffer = calBuffer;
		}
		lengthUntilNow=lengthUntilNow+movieSlutt;
		setTimeout("writeMovieProgress()",1000);
		timeUntilSwitch = setTimeout("playMovie('"+tempCalBuffer+"')",(movieSlutt-movieNow-tempCalBuffer));

	}
return;
}
function theEnd() {
	window.location="./index.php";
}



function playMovie(tempCalBuffer) {
	if (activePlayer == "movie1") {
		PlayIt(document.movie2);
		activePlayer='movie2';
		//playSound();
	} else if (activePlayer == "movie2") {
		PlayIt(document.movie1);
		activePlayer='movie1';
		//playSound();
	}
	//setTimeout("switchMovie()", tempCalBuffer)
	switchMovie();	

return;

}

function firstStart() {
   if (havestarted) {
		if (activePlayer=="movie1") {
			PlayIt(document.movie1);
		} else {
			PlayIt(document.movie2);
		}
		Interval2ID = setInterval("movieEnd()",250);
   } else {

	if (activePlayer=="movie1") {
		PlayIt(document.movie2);
		activePlayer='movie2';
	} else {
		PlayIt(document.movie1);
		activePlayer='movie1';
	}
	//playSound();
	if (layerobject) {
		document.layers['movie1'].visibility = "show";
		document.layers['movie2'].visibility = "show";
		document.layers['frontbilde'].visibility = "hide";
	} else if (allobject) {
		document.all['movie1'].style.visibility = "visible";
		document.all['movie2'].style.visibility = "visible";
		document.all['frontbilde'].style.visibility = "hidden";
	} else if (dom) {
		document.getElementById('movie1layer').style.visibility = "visible";
		document.getElementById('movie2layer').style.visibility = "visible";
		document.getElementById('frontbilde').style.visibility = "hidden";
	}
	switchMovie();
	havestarted=true;
   }
	document.getElementById('playbutton').style.visibility = "hidden";

}

function stopbutton() {
	if (activePlayer=='movie1') StopIt(document.movie1);
	if (activePlayer=='movie2') StopIt(document.movie2);
	if (timeUntilSwitch)	clearTimeout(timeUntilSwitch);
	if (Interval2ID) clearInterval(Interval2ID);
	if (Interval4ID) clearInterval(Interval4ID);
	document.getElementById('playbutton').style.visibility = "visible";

}

function switchMovie() {
	var temp= testRun();
	if (temp=="yes") {
		//oldBuffer=oldBuffer+calBuffer-100;
		//calBuffer=(oldBuffer)/movieNum;
		if (activePlayer == 'movie1') {
			changeVisibility('movie1','show');	
		} else if (activePlayer == 'movie2') {
			changeVisibility('movie2','show');
		} else {
			alert("Feil. Ingen spiller er aktiv");
		}
	} else if (temp=="no") {
		setTimeout("switchMovie()",50);
	} else {
		setTimeout("switchMovie()",50);
	}

}

function loadLocalXML() {
/*
the XMLIO API handles all of the data retrieval.
all we need to do is tell it which file to load and what
function to call when it is finished
*/
	xmlIOLoadLocalData("./sherlockholmes.xml.html", "callbackFunction");
	return;
} //end function loadLocalXML


function callbackFunction(strXML) {
	
	var parser = new DOMImplementation();
	domDoc = parser.loadXML(strXML);
	
	if (hastighet=="hoy") {
		reffilpath="./" + domDoc.getDocumentElement().getElementsByTagName("meta").item(0).getAttribute("refUrlHoy");
		rtspfilpath= domDoc.getDocumentElement().getElementsByTagName("meta").item(0).getAttribute("streamUrl") + domDoc.getDocumentElement().getElementsByTagName("meta").item(0).getAttribute("refUrlHoy");
	}
	if (hastighet=="lav") {
		reffilpath="./" + domDoc.getDocumentElement().getElementsByTagName("meta").item(0).getAttribute("refUrlLav");
		rtspfilpath= domDoc.getDocumentElement().getElementsByTagName("meta").item(0).getAttribute("streamUrl") + domDoc.getDocumentElement().getElementsByTagName("meta").item(0).getAttribute("refUrlLav");
	
	}
	loadNextMovie();
	document.getElementById('playbutton').style.visibility = "visible";
	return;
}

function loadNextMovie() {
	
	if (domDoc) {

		var tempMovieLevel= movieLevel;
		var moviebasetag = domDoc.getDocumentElement();
		if (moviebasetag.getElementsByTagName("M"+movieNum).item(0)) {
			var moviemovietag = moviebasetag.getElementsByTagName("M"+movieNum).item(0)
			var movieList= moviemovietag.getElementsByTagName("movie");
			var correctMovie = "false";
		
			if (movieList.getLength() < movieLevel) {
				movieNum=movieNum+1;
				loadNextMovie();
			} else {
				while ((correctMovie == "false") && (tempMovieLevel <= movieTotalLevels)) {
					var movieTag = movieList.item(tempMovieLevel-1);
					var movieNeed = movieTag.getAttribute("need");
					
					if ((moviePlayedList.indexOf(movieNeed) != -1) || (movieNeed == "none")) {
						var refFile = movieTag.getAttribute("refFile");
						var correctMovie = "true";
						loadMovie(refFile);
						break;
					}
					tempMovieLevel = tempMovieLevel+1;
				}
			}
		} else {
			return "end";
		}
	} else {
		setTimeout("loadLocalXML()",10);
		return;
	};

return;
} // end function

function changeLevel(newlevel) {
	
	if (layerobject) {
		document.layers['level'+movieLevel].fontSize = "11px";
	} else if (allobject) {
		document.all['level'+movieLevel].style.fontSize = "11px";
	} else if (dom) {
		document.getElementById('level'+movieLevel).style.fontSize ="11px";
	}
	
	if (newlevel=='init') {
		newlevel=movieLevel;
	} else if (havestarted==false) {
		movieNum=1;
		movieLevel = newlevel;
		loadNextMovie();
	} else {	
		movieLevel = newlevel;
		var movieSlutt= movieLength();
		var movieNow = moviePos();
		if ((movieSlutt-movieNow) > (calBuffer+1000)) {
			loadNextMovie();
		} 
		writeMovieProgress();
	}
	if (layerobject) {
		document.layers['level'+newlevel].fontSize = "16px";
	} else if (allobject) {
		document.all['level'+newlevel].style.fontSize = "16px";
	} else if (dom) {
		document.getElementById('level'+newlevel).style.fontSize="16px";
	}

}

function writeMovieProgress() {
	var entireLength=movieLengthArray[movieLevel];
	var movieNow=moviePos();
	var movieSlutt=movieLength();
	var faderLength=lengthUntilNow+((entireLength/totalClips)*(totalClips-movieNum));
	var faderProgressed=lengthUntilNow-(movieSlutt)+(movieNow);
		graph = new BAR_GRAPH("fader");
		graph.percValuesColor="#F5F5F5";
		graph.barLength = (faderLength/2640000)*2;
		graph.barBGColor = "#B9B8AC";
		graph.values = faderProgressed+";"+faderLength;
		graph.labels = "Progresjon";
		graph.barColor = "./bilder/h_red.gif";
		graph.labelSpace = 10;
		document.getElementById('progresjon').innerHTML = graph.create();		
}

