var phase1 ;
var phase2 ;
var phase3 ;
var phase4 ;
var phase5 ;

var phases = new Array() ;
var userName = "Anonymous" ;

var overallPercent = 0 ;
var ttlQuizPts = 0 ;
var ttlUserPts = 0 ;
expireDate = new Date;
expireDate.setDate(expireDate.getDate()+365);
function cookieVal(cookieName)
{
	thisCookie = document.cookie.split("; ")
	for (i = 0; i < thisCookie.length; i++)
	{
		if (cookieName == thisCookie[i].split("=")[0])
		 {
			return thisCookie[i].split("=")[1];
		 }
	}
	return null ;
}

function cookieNumberVal(cookieName)
{
	thisCookie = document.cookie.split("; ")
	for (i = 0; i < thisCookie.length; i++)
	{
		if (cookieName == thisCookie[i].split("=")[0])
		 {
			return new Number(thisCookie[i].split("=")[1]);
		 }
	}
	return null ;
}

function QuizPhase_Go()
{
	if(this.m_prevPhase==null)
	{
		window.location = this.m_phaseName+".html" ;
		return ;
	}
	var prevPhase = this.m_prevPhase ;
	if(prevPhase.m_status == "Passed")
	{
		window.location = this.m_phaseName+".html" ;
		return ;
	}
	//Else
	window.alert("You must pass "+prevPhase.m_phaseName+" first!") ;
	return ;
}

function QuizPhase_Update()
{
	if(this.m_status == "Passed")
		this.m_img.src = "../images/happytablet.gif" ;
	else
		this.m_img.src = "../images/quizpic.gif" ;

	if(this.m_status == null)
		this.m_status_txt.value = "" ;	
	else
		this.m_status_txt.value = this.m_status ;
		
	if(this.m_percent == null)
	{
		this.m_percent_txt.value = "" ;
	}
	else
	{
		this.m_percent_txt.value = this.m_percent ;
		ttlQuizPts = ttlQuizPts + this.m_quizPts ;
		ttlUserPts = ttlUserPts + this.m_userPts ;
	}
}

function QuizPhase(phaseName, prevPhase)
{
	this.m_phaseName = phaseName ;
	this.m_prevPhase = prevPhase ;
	this.m_quizPts = cookieNumberVal(phaseName+"QuizPts");
	this.m_userPts = cookieNumberVal(phaseName+"UserPts");
	this.m_percent = cookieNumberVal(phaseName+"Percent");
	
	if(this.m_percent != null)
		if(this.m_percent >=70)
			this.m_status = "Passed";
		else
			this.m_status = "Failed";
		
	this.m_img = document.images[phaseName+"_img"] ;
	this.m_status_txt = document.getElementById(phaseName+"Status_txt");
	this.m_percent_txt = document.getElementById(phaseName+"Percent_txt");

	//Functions
	this.update = QuizPhase_Update ;
	this.go = QuizPhase_Go ;
}	

/*function PhaseImg_OnClick(theImage)
{
	var phase = phases[theImage.phaseIndex] ;
	phase.go() ;
}*/
function PhaseImg_OnClick(theImage)
{
	var phase = phases[theImage.getAttribute('phaseIndex')] ;
	phase.go() ;
}

function diploma_onclick()
{
	if(phase5.m_status != "Passed")
	{
		window.alert("You must pass Phase 5 first!") ;
		return ;
	}
	userName = 
		window.prompt("Congratulations!, Enter your name to recieve your diploma!", "Anonymous");
		
	document.cookie = "userName=" + userName + ";expires="+expireDate.toGMTString();
	beatleIQ = overallPercent ;
	document.cookie = "beatleIQ=" + beatleIQ + ";expires="+expireDate.toGMTString();

	if(beatleIQ >= 70 && beatleIQ < 79)
		beatleRank = "Beatlemaniac";
	else if(beatleIQ >=80 && beatleIQ < 89)
		beatleRank = "Beatles Guru";
	else if(beatleIQ >=90 && beatleIQ < 99)
		beatleRank = "Beatles Philosopher";
	else if(beatleIQ = 100)
		beatleRank = "Beatleologist";

	document.cookie = "beatleRank=" + beatleRank + ";expires="+expireDate.toGMTString();


	window.open("diploma.html") ;
}

function document_onload()
{
	phase1 = new QuizPhase("phase1", null) ;
	phases[1] = phase1 ;
	phase2 = new QuizPhase("phase2", phase1) ;
	phases[2]=phase2;
	phase3 = new QuizPhase("phase3", phase2) ;
	phases[3]=phase3 ;
	phase4 = new QuizPhase("phase4", phase3) ;
	phases[4]=phase4 ;
	phase5 = new QuizPhase("phase5", phase4) ;
	phases[5]=phase5 ;
	
	phase1.update() ;
	phase2.update() ;
	phase3.update() ;
	phase4.update() ;
	phase5.update() ;
	
	if(ttlQuizPts != 0)
		overallPercent = Math.round(100*(ttlUserPts/ttlQuizPts)) ;
		
	//overallPercent_txt.value = overallPercent ;
	document.getElementById('overallPercent_txt').value = overallPercent ;

}

function addObserver(el, evname, func) {
	if (el.attachEvent) { // IE
		el.attachEvent("on" + evname, func);
	} else if (el.addEventListener) { // Gecko / W3C
		el.addEventListener(evname, func, true);
	} else {
		el["on" + evname] = func;
	}
};
addObserver(window, "load", document_onload) ;
