/*
 * custom jrso js functions
*/
function jrsoJs()
{

//set the request object
var http = createRequestObject();

//for handling the gutters bone answers
var boneAns = false;

/*
 * checks the browser and creates an appropriate request object
*/
function createRequestObject() 
{
var requestObject;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
	{
    requestObject = new ActiveXObject("Microsoft.XMLHTTP");
    }
else
	{
    requestObject = new XMLHttpRequest();
    }
return requestObject;
}

/*
 * starts the login form
*/
function selectCharacter(character)
{
//alert("select character running: " + character);
var theForm = document.forms.login1;
var theElement = theForm.elements.character;
//set the form field value
theElement.value = character;
theForm.submit();
}
this.selectCharacter = selectCharacter;

/*
 * centres the navigation
*/
function centreNav()
{
var theNav = document.getElementById('default_subnav');
var theHolder = document.getElementById('nav_container');
theHolder.style.width = theNav.offsetWidth + 'px';
//alert("here is the nav: " + theNav.offsetWidth);
}
this.centreNav = centreNav;


/*
 * sets the beckground image to a set path
*/
function setBackground(path)
{
//get the box and set the background image
var box = document.getElementById('box');
if(this.origBack == undefined)
	{
	this.origBack = box.style.backgroundImage;
	}
if(path != '')
	{
	box.style.backgroundImage  = 'url('+path+')';
	}
else
	{
	box.style.backgroundImage  = this.origBack;
	}
}
this.setBackground = setBackground;


////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
////Gutters Bone Game
////////////////////////////////////////////////////////////////////////////////////////////
/* 
* starts up the where's gutters bone game
*/
function startGutterBoneGame()
{
var vars = 'startguttergame=1';
http.open('post',window.location, true);
//headers must be set for sending the post variables
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", vars.length);
http.setRequestHeader("Connection", "close");
//uncomment the lower line when ready - at the moment just using ajax to set sessions
http.onreadystatechange = gutterGameStarted;
http.send(vars);
}
this.startGutterBoneGame = startGutterBoneGame;

/*
 * invoked when the gutter's bone game has been successfully started
*/
function gutterGameStarted()
{
var done = false;
//var response = http.responseText;
}

/*
 * sets a gutters bone question to show
*/
function showBoneQuestion()
{
//grab the question div
var qDiv = document.getElementById('bone_question');
//show the question
qDiv.style.display = 'block';
}
this.showBoneQuestion = showBoneQuestion;

/*
 * sets a gutters bone answer
*/
function boneAnswer(ans)
{
//if the user has already answered boneAns will be set
if(!boneAns)
	{
	//set the answer as a class var
	boneAns = ans;
	//check the answer for this page
	var vars = 'getboneans=1&bans='+ans;
	http.open('post',window.location, true);
	//headers must be set for sending the post variables
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", vars.length);
	http.setRequestHeader("Connection", "close");
	//uncomment the lower line when ready - at the moment just using ajax to set sessions
	http.onreadystatechange = gotBoneAns;
	http.send(vars);
	}
}
this.boneAnswer = boneAnswer;

/*
 * invoked when the answer has been returned
*/
function gotBoneAns()
{
if(http.readyState == 4)
	{
	//split the repsonse text and grab the answer/ number correct
	var qDetails = http.responseText.split('|');
	var cAns = qDetails[0]; //the correct answer
	var qAnswered = qDetails[1]; //the number of questions answered
	var qLeft = 4 - qAnswered; //the number of questions remaining
	
	//alert("the answer: " + http.responseText +" - "+ boneAns);
	
	//set the correct answer to green
	var correctAns = document.getElementById("gbone_"+ cAns);
	correctAns.className = "correct";
	
	var respText = '';
	
	//check if the users answer was correct
	if(cAns == boneAns)
		{
		//create the response text
		respText = 'Correct answer! - '+ qLeft +' questions left.';
		}
	else
		{
		//create the reponse text
		respText = 'Wrong answer! - '+ qLeft +' questions left.';
		//set the player answer to red
		var badAns = document.getElementById("gbone_"+boneAns);
		badAns.className = "incorrect";
		}
	//check if no more questions are required - if so, inform the user
	respText = (qLeft == 0 ? 'Correct Answer! - Congratulations you have answered all four questions.' : respText);
	//get the reponse div and set its content
	var resDiv = document.getElementById('q_reponse');
	resDiv.innerHTML = respText;
	}
}


////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////


}
var jrsoJs = new jrsoJs();