browser = (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3 )) || ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 )))

function playSource() {
                        
                        if (navigator.appName == "Netscape") {
     
                                document.javaPlug1.DoPlayPause();
                        } else {
		
                                  RAOCX.DoPlayPause();
                        }

}

function SetPage()
{
	today = new Date()
        today.setMinutes(today.getMinutes() + 15)
	page = location.href
	SetCookie("CrashPage", page, today)
	
}

function Recover()
{
	
	var recoveryPage = (GetCookie("CrashPage") != null) ? GetCookie("CrashPage") : null;
	if (recoveryPage != null)
		window.location = recoveryPage;
}

function SetCookie (name, value) {
      var argv = SetCookie.arguments;
      var argc = SetCookie.arguments.length;
      var expires = (argc > 2) ? argv[2] : null;
      var path = (argc > 3) ? argv[3] : "/";
      var domain = (argc > 4) ? argv[4] : null;
      var secure = (argc > 5) ? argv[5] : false;
      document.cookie = name + "=" + escape (value) +
        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
    }

function getCookieVal (offset) {
      var endstr = document.cookie.indexOf (";", offset);
      if (endstr == -1)
        endstr = document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr));
    }

 function GetCookie (name) {
      var arg = name + "=";
      var alen = arg.length;
      var clen = document.cookie.length;
      var i = 0;
      while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
          return getCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break; 
      }
      return null;
    }

function DeleteCookie (name) {
      var value = null;
      var expires = "Wednesday, 04-Nov-1997 23:00:00 GMT";
      var path = "/";
      var domain = null;
      var secure = false;

      document.cookie = name + "=" + escape (value) +
        ((expires == null) ? "" : ("; expires=" + expires)) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
    }

if ( browser)  {
	ON = 0
	OFF = 1

	NORMAL = 0
	CORRECT = 1
	INCORRECT = 2
	
	menu = new Array()
	gloss = new Array()
	help = new Array()
	audio = new Array()
	prev = new Array()
	next = new Array()
	Return = new Array()
	Close = new Array()
	AddInfo = new Array()
	Popup = new Array()
	PopupA = new Array()

	Qback = new Array()
	Clown = new Array()
	Comp = new Array()
	Cube = new Array()
	Pira = new Array()

	for(idx=0; idx < 2; idx++) {
		menu[idx] = new Image()
		gloss[idx] = new Image()
		help[idx] = new Image()
		audio[idx] = new Image()
		prev[idx] = new Image()
		next[idx] = new Image()
		Return[idx] = new Image()
		Close[idx] = new Image()
		AddInfo[idx] = new Image()
		Popup[idx] = new Image()
		PopupA[idx] = new Image()
		Qback[idx] = new Image()
		
	}

	for(idx=0; idx < 3; idx++) 
	{
		Clown[idx] = new Image()
		Comp[idx] = new Image()
		Cube[idx] = new Image()
		Pira[idx] = new Image()
	}


	menu[ON].src = "../images/smenu.gif"
	menu[OFF].src = "../images/nmenu.gif"

	gloss[ON].src = "../images/sgloss.gif"
	gloss[OFF].src = "../images/ngloss.gif"

	help[ON].src = "../images/shelp.gif"
	help[OFF].src = "../images/nhelp.gif"

	audio[ON].src = "../images/daudio.gif"
	audio[OFF].src = "../images/naudio.gif"

	prev[ON].src = "../images/sprev.gif"
	prev[OFF].src = "../images/nprev.gif"

	next[ON].src = "../images/snext.gif"
	next[OFF].src = "../images/nnext.gif"

	Return[ON].src = "../images/sreturn.gif"
	Return[OFF].src = "../images/nreturn.gif"

	Close[ON].src = "../images/spclose.gif"
	Close[OFF].src = "../images/npclose.gif"

	AddInfo[ON].src = "../images/sadd.gif"
	AddInfo[OFF].src = "../images/nadd.gif"

	Popup[ON].src = "../images/sdef.gif"
	Popup[OFF].src = "../images/ndef.gif"

	PopupA[ON].src = "../images/sadef.gif"
	PopupA[OFF].src = "../images/nadef.gif"

	Qback[ON].src = "../quiz/check.gif"
	Qback[OFF].src = "../quiz/qback.gif"

	
	Clown[NORMAL].src = "../quiz/clown-1.gif"
	Clown[CORRECT].src = "../quiz/clown-c.gif"
	Clown[INCORRECT].src = "../quiz/clown-w.gif"

	Comp[NORMAL].src = "../quiz/comp-1.gif"
	Comp[CORRECT].src = "../quiz/comp-c.gif"
	Comp[INCORRECT].src = "../quiz/comp-w.gif"

	Cube[NORMAL].src = "../quiz/cube-1.gif"
	Cube[CORRECT].src = "../quiz/cube-c.gif"
	Cube[INCORRECT].src = "../quiz/cube-w.gif"

	Pira[NORMAL].src = "../quiz/Pira-1.gif"
	Pira[CORRECT].src = "../quiz/Pira-c.gif"
	Pira[INCORRECT].src = "../quiz/Pira-w.gif"

}


function img_over(imgName) 
{
	if ( browser) 
	{
    	document [imgName].src = eval(imgName + "[ON]" + ".src")
	if ((imgName == "Next")||(imgName == "Back"))
		{
		SetPage()
		}
	}
}

function img_out(imgName) 
{
	if ( browser) 
	{
	    document [imgName].src = eval(imgName + "[OFF]" + ".src")
	}
}


function openWindow(url,name,x,y) 
{
  
	winFeature =  "scrollbars=yes" + ",width=" + x + ",height=" + y
	PopupWin = window.open(url, name, winFeature)
	if (window.focus)
	{
		PopupWin.focus()
	}
}

function CheckMultiAnswer(q,Actor) 
{
	var Answers = ""
	var CorrectAnswerCount = 0
	var Conuter = 0

	ItemCount = q.elements.length
	for (i = 0; i < ItemCount-2; i++) 
	{
		if (q.elements[i].value == "*")
			CorrectAnswerCount++

		if (q.elements[i].checked == true)
			Answers = Answers + q.elements[i].value
	}
	if (Answers.length != CorrectAnswerCount) 
	{
		Incorrect(q,Actor,"Your answer is incorrect. The correct answer is marked.")
	}
	else 
	{
		if (isCharIn(Answers,"0"))
			Incorrect(q,Actor,"Your answer is incorrect. The correct answer is marked.")
		else 
			Correct(Actor,"Your answer is correct!")
	}
}

function CheckAnswer(q,Actor,FeedBack) 
{
	var Answer = "Incorrect"

	ResetGraphic(q,Actor)
	ItemCount = q.elements.length
	for (var i = 0; i < ItemCount; i++) 
	{
		if ((q.elements[i].value == "*")&&(q.elements[i].checked == true)) 
		{
			Answer = "Correct"
			break
		}
	}
	if (Answer == "Correct")
		Correct(Actor,FeedBack)
	else
		Incorrect(q,Actor,FeedBack)

}


function Correct(Actor,FeedBack) 
{
	document [Actor].src = eval(Actor + "[CORRECT]" + ".src")
	alert(FeedBack)
}


function Incorrect(q,Actor,FeedBack) 
{

	if (q.elements[0].type == "radio") 
	{
		document [Actor].src = eval(Actor + "[INCORRECT]" + ".src")
		ItemCount = q.elements.length
		for (i = 0; i < ItemCount; i++) 
		{
			if (q.elements[i].value == "*") 
			{
				document ["C" + i].src = Qback[ON].src
			}
		}
	}
	else 
	{
		document [Actor].src = eval(Actor + "[INCORRECT]" + ".src")
		ItemCount = q.elements.length
		for (i = 0; i < ItemCount-2; i++) 
		{
			if (q.elements[i].value == "*")
				document [q.elements[i].name].src = Qback[ON].src
		}
	}
	
	alert(FeedBack)
}


function isCharIn(theString,theChar) 
{	
	for (i = 0; i < theString.length; i++) 
	{
		if (theString.charAt(i) == theChar)
			return true
	}
	return false
}

function ResetGraphic(q,imgName) 
{	
	ItemCount = q.elements.length
	if (q.elements[0].type == "radio") 
	{		
		for (i = 0; i < ItemCount; i++) 
		{
				document ["C" + i].src = Qback[OFF].src
		}
	}
	else
	{
		for (i = 0; i < ItemCount-2; i++) 
		{
			document [q.elements[i].name].src = Qback[OFF].src
		}
		document [imgName].src = eval(imgName + "[NORMAL]" + ".src")
	}
}



function GoToSection(targetPg)
{
	opener.location = targetPg
	self.close()
}

function CheckMultiAnswerNoPic(q) 
{
	var Answers = ""
	var CorrectAnswerCount = 0
	var Conuter = 0

	ItemCount = q.elements.length
	for (i = 0; i < ItemCount-2; i++) 
	{
		if (q.elements[i].value == "*")
			CorrectAnswerCount++

		if (q.elements[i].checked == true)
			Answers = Answers + q.elements[i].value
	}
	if (Answers.length != CorrectAnswerCount) 
	{
		IncorrectNoPic(q,"Your answer is incorrect. The correct answer is marked.")
	}
	else 
	{
		if (isCharIn(Answers,"0"))
			IncorrectNoPic(q,"Your answer is incorrect. The correct answer is marked.")
		else 
			alert("Your answer is correct!")
	}
}

function IncorrectNoPic(q,FeedBack) 
{

	if (q.elements[0].type == "radio") 
	{
		
		ItemCount = q.elements.length
		for (i = 0; i < ItemCount; i++) 
		{
			if (q.elements[i].value == "*") 
			{
				document ["C" + i].src = Qback[ON].src
			}
		}
	}
	else 
	{
		
		ItemCount = q.elements.length
		for (i = 0; i < ItemCount-2; i++) 
		{
			if (q.elements[i].value == "*")
				document [q.elements[i].name].src = Qback[ON].src
		}
	}
	
	alert(FeedBack)
}

function ResetResponse(q) 
{	
	ItemCount = q.elements.length
	if (q.elements[0].type == "radio") 
	{		
		for (i = 0; i < ItemCount; i++) 
		{
				document ["C" + i].src = Qback[OFF].src
		}
	}
	else
	{
		for (i = 0; i < ItemCount-2; i++) 
		{
			document [q.elements[i].name].src = Qback[OFF].src
		}
	
	}
}