
/**
 * 
 * @author Nate Altschul Nate.Altschul@nickonline.com
 * @date 1/18/2011
 */

if(typeof FlashJsProxy == "undefined" || !FlashJsProxy) var FlashJsProxy = {};		
		
FlashJsProxy = {	
	
	
	getFlashMovie : function() {
		if (typeof NICK.utils.thisMovie != "undefined") {
			return NICK.utils.thisMovie("gameSwf");
		}
		return null;
	},
	
	// send message to Flash movie
	// param : Object with functionName:String data:Object
	sendMessage : function(param)
	{
		var flashMovie = FlashJsProxy.getFlashMovie();
		try{
		    NICK.utils.doLog("FlashJsProxy.sendMessage(): " + flashMovie);
		    flashMovie["FlashJsProxy.onMessage"](param);
		}
		catch(err){
		    NICK.utils.doLog("FlashJsProxy.sendMessage(): error: " + err);
		}		
	},	
		
	// call page login popup	
	doLogin : function()
	{	
		NICK.login.prompt();
	},		
		
		
	onLogin : function()
	{	
		// NICK.avatar.loginName = NICK.login.getNickName();
		NICK.utils.doLog("FlashJsProxy.onLogin(): " + NICK.avatar.loginName);
		var userData = {loginName:NICK.avatar.loginName, nickPoints:NICK.login.getNickPoints(), gender:NICK.login.getGender()};
		var paramData = {functionName:"onLogin", data:userData};
		FlashJsProxy.sendMessage(paramData);
	},	
	
	doSubmitHighScore : function(gameName, score, userName)
	{	
		NICK.games.highScores.doSubmitHighScore(gameName, score, userName);	
	},
	

	doLoadHighScores : function(gameName)
	{
		NICK.games.highScores.doLoadHighScores(gameName); // avatar-state-brain-blitz-hsb
	},
	
	
	onSubmitHighScore : function(data)
	{
		FlashJsProxy.sendMessage("FlashJsProxy", "onSubmitHighScore", data);
	},
	
	
	onLoadHighScores  : function(data)
	{	
		FlashJsProxy.sendMessage("FlashJsProxy", "onLoadHighScores", data);
	}		
	
	
}	

// listen for login event
// listen for events from NICK.games.highScores	
$(document).ready(function() {

	$(document).bind("onSubmitHighScore", function(evt, data) {
		var highScoresData = data.scores;
		FlashJsProxy.onSubmitHighScore(highScoresData);
	});

	$(document).bind("onLoadHighScores", function(evt, data) {
		var highScoresData = data.scores;
		FlashJsProxy.onLoadHighScores(highScoresData);
	});			
	
	// listen for login event
	//$(document).bind("loggedInGames", function(evt, data) {
	//	if (NICK.login.isLoggedIn()) {
	//		var loginData = data.scores; // ??
	//		FlashJsProxy.onLogin(loginData);
	//	}
	//});	

	//if (NICK.login.isLoggedIn()) {
	//	FlashJsProxy.onLogin();
	//}
	
//Added an exclusion for TeenNick, this needs to be cleaned up	CL 2/28/11
if(KIDS.get("site") != "TeenNick"){	
	$(document).bind("authStatus loggedIn", function(){
		if (NICK.login.isLoggedIn()) {
			FlashJsProxy.onLogin();
		}
	});	
	
	if (NICK.login.isLoggedIn()) {
		FlashJsProxy.onLogin();
	}	
}
});			
