// Game Tracking Proxy
// The purpose of this module is to act as an insulation layer between the games
// and the real tracking interface (Omniture) such that neither knows about the other.
//
// Last updated on 1/13/06

// Use this as the tracking hook (both Flash 7 & 8). obj is an object with two attributes: .eventType and .eventData
function gameEvent(obj)
{
var o = "" ;
   for (i in obj){
   
   o += i + " : " + obj[i] + "\n";
   }
   //alert("In gameEvent: " + obj.eventType + ", " + obj.eventData);
   alert(o);
}

// This function is called directly from Flash
function trackingEvent(hitType, hitData)
{
   var trackingObj = new Object;
   trackingObj.eventType = hitType;
   trackingObj.eventData = hitData;
   gameEvent(trackingObj);
}

// These are called from Flash 7 and earlier when FSCommand must be used
var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
// Handle all the FSCommand messages in a Flash movie.
function commandTest_DoFSCommand(command, args) {
   var commandTestObj = isInternetExplorer ? document.all.commandTest : document.commandTest;
   var trackingObj = new Object;
   trackingObj.eventType = command;
   trackingObj.eventData = args;
   gameEvent(trackingObj);
}

// Hook for Internet Explorer.
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
	document.write('<script language=\"VBScript\"\>\n');
	document.write('On Error Resume Next\n');
	document.write('Sub commandTest_FSCommand(ByVal command, ByVal args)\n');
	document.write('	Call commandTest_DoFSCommand(command, args)\n');
	document.write('End Sub\n');
	document.write('</script\>\n');
}

//For FLASH 8:
// This function is called directly from Flash
function TrackingEvent(hitType, hitData)
{
   var trackingObj = new Object;
   trackingObj.eventType = hitType;
   trackingObj.eventData = hitData;
   gameEvent(trackingObj);
}
