var fgHTTPObject = fgGetHTTPObject();
var fgAction ;
var fgPlayer;
var fgScore ;
var fgTime ;
var fgType ;
var fgBag ;
var fgTesting=false;
	
function fgTestJS(){
	// Gather POST data and call JS Function
	fgTesting = true;
	fgGetPostData();
	fgClearResults();
	fgSetResults('Calling function: fgInterface()' );
	fgInterface(fgAction,fgPlayer,fgScore,fgType,fgBag, fgTime)	
	
}
// =====================================================
function fgTestPHP(){
	// Gather POST data and call PHP Script
	fgTesting = true;
	fgGetPostData();
	fgClearResults();
	if (fgHTTPObject != null) {
		var pageDir = location.pathname.substring(0,location.pathname.lastIndexOf('/pages/'));
        var ajaxURL = pageDir + "/game/fgInterface.php" 
        var ajaxURL =  "fgInterface.php?" 
		var date = new Date();var timestamp = date.getTime();
		ajaxURL +=  'ts=' + timestamp ;		
		 
		ajaxURL += '&action=' + fgAction + '&name=' + fgPlayer + '&type=' + fgType + '&bag=' + fgBag + '&score=' + fgScore+ '&time=' + fgTime;

		fgSetResults('Calling URL: ' + ajaxURL);
		fgHTTPObject.open("GET", ajaxURL );
		fgHTTPObject.onreadystatechange = function(){

			if(fgHTTPObject.readyState == 4){
				if (fgTesting )fgSetResults( fgHTTPObject.responseText);
			}
			else {
				 
			}
			if (fgTesting )fgSetResults('AJAX Status: ' + fgHTTPObject.readyState) ;
		}


		
		fgHTTPObject.send(null);
		
	}

}
// =====================================================
function fgClearResults(){
	var el = document.getElementById('fgTestResults');
	if (el) el.innerHTML  = '';
}
// =====================================================
function fgSetResults(resText){
	var el = document.getElementById('fgTestResults');
	if (el) {
		if (resText) {
			 
			el.innerHTML  = el.innerHTML   + fgGetTime() + ': ' +  resText + '<hr>';
		}
		 
	}
}
// =====================================================
function fgGetTime(){
	var d = new Date();
	var curr_hour = d.getHours();
	var curr_min = d.getMinutes();
	
	var curr_sec = d.getSeconds();
	var curr_msec = d.getMilliseconds();

	var strTime = curr_hour + ":" + curr_min + ":"  + curr_sec + ":" + curr_msec ;
	return (strTime);
}

// =====================================================
function fgGetPostData(){
	fgAction = 'update';
	fgPlayer = document.frmGameTest.fgName.value;
	fgScore = document.frmGameTest.fgScore.value;
	fgType = document.frmGameTest.fgType.value;
	fgBag = document.frmGameTest.fgBag.value;
	fgTime = document.frmGameTest.fgTime.value;
}
// =====================================================
 
function fgInterface(action,users_name,score,type,bag, time){
	  //alert('Action=[' +action + '] name=[' + users_name + '] type=[' + type + '] bag=[' + bag +  '] score=[' + score + '] time=[' + time + '] ');
	
	if (fgHTTPObject != null) {
 
        var ajaxURL =  "fgInterface.php?" 
		var date = new Date();var timestamp = date.getTime();
		ajaxURL +=  'ts=' + timestamp ;
		
		ajaxURL += '&action=getScores';
 		ajaxURL +=  '&name=' + users_name + '&type=' + type + '&bag=' + bag+ '&score=' + score + '&time=' + time;

		//alert(ajaxURL);
		if (fgTesting ) fgSetResults('Calling URL: ' + ajaxURL);
		fgHTTPObject.open("GET", ajaxURL );
		fgHTTPObject.onreadystatechange = function(){
			if(fgHTTPObject.readyState == 4){
				var el = document.getElementById('fgScores');
				if (el) el.innerHTML  = fgHTTPObject.responseText;
				
				var pos = fgHTTPObject.responseText.indexOf('Sorry!');
				if (pos == -1){
					el = document.getElementById('fgScoreLink');
					if (el) {
						el.innerHTML  = 'High Score!';
						el.className = 'fgScoreLinkUpd';
						var t1 = setTimeout( 'fgResetScorePrompt()' , 5000);					
					}
				}
			}
			if (fgTesting )fgSetResults('AJAX Status: ' + fgHTTPObject.readyState) ;

		}
 
		
		var t2= setTimeout( 'fgHTTPObject.send(' + null + ')' , 1000);
		
	}
	
}
// =====================================================
function fgResetScorePrompt(){
	var el = document.getElementById('fgScoreLink');
	if (el) {
		el.innerHTML  = 'Scoreboard';
		el.className = 'fgScoreLinkNorm';
	}
}
// =====================================================
function fgGetHTTPObject(){
var XMLHttp=null
	if (window.XMLHttpRequest)   XMLHttp=new XMLHttpRequest()  ;
	else if (window.ActiveXObject) XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	return(  XMLHttp);
}
