
function VideoAchievementModuleComm () {

}

VideoAchievementModuleComm.achievement = new Object();
VideoAchievementModuleComm.badgeImages;
VideoAchievementModuleComm.badgeDesc;
VideoAchievementModuleComm.achieveModule;
VideoAchievementModuleComm.swfIsReady = false;
VideoAchievementModuleComm.isLoggedIn = false;
VideoAchievementModuleComm.sendUserTimer;

VideoAchievementModuleComm.getFlashMovie = function(movieName){
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[movieName] : document[movieName];
}

VideoAchievementModuleComm.onReady = function (){

	VideoAchievementModuleComm.achieveModule = VideoAchievementModuleComm.getFlashMovie("achieve_module");
	VideoAchievementModuleComm.swfIsReady = true;
}

VideoAchievementModuleComm.onAlert = function (val){

	alert(val);
}

VideoAchievementModuleComm.onGameLoaded = function (){

	VideoAchievementModule.gameLoaded();
}

VideoAchievementModuleComm.onGameStarted = function (){

	if(VideoAchievementModule && LoginModule){
		VideoAchievementModuleComm.achievement = new Object();
		VideoAchievementModule.gameStarted();
	}
}

VideoAchievementModuleComm.onGameEnded = function (){

	if(VideoAchievementModule && LoginModule){
		VideoAchievementModule.gameEnded(VideoAchievementModuleComm.achievement.url, VideoAchievementModuleComm.achievement.name, LoginModule.isLoggedIn);
	}
}

VideoAchievementModuleComm.onOpenWindow = function (p_type){

	if(VideoAchievementModule && LoginModule){
		var promoPage = (document.URL.indexOf("promotion_landing_page") > -1) == true ? true : false; 
		var promoRedirectStr = "/redirects/internal/index_exclude.html?";
		
		VideoAchievementModule.track('Achievement_achMod_' + p_type);

		if(p_type == "login" || p_type == "reg"){
			LoginModule.showLoginWindow({visible: true}, p_type); 
		}else if(p_type == "badgehelp"){
			location.href = promoPage == true ? promoRedirectStr + "/profiles/whatarebadges.html" : "/profiles/whatarebadges.html";		
		}else if(p_type == "profilepage"){
			
			var arr = LoginModule.userDisplayName.split(" ")
			var str = "/profiles/";

			str += arr[0] + "/";

			if(arr[1] != undefined){str += arr[1] + "/";}
			if(arr[2] != undefined){str += arr[2] + "/";}

			str += "index.html";
	
			location.href = promoPage == true ? promoRedirectStr + str : str;		
		}else if(p_type == "findbadges"){
			location.href = promoPage == true ? promoRedirectStr + "/profiles/allbadges.html" : "/profiles/allbadges.html";		
		}
	}
}

VideoAchievementModuleComm.onLastBadge = function (p_val, p_name){

	VideoAchievementModuleComm.achievement.url = p_val;
	VideoAchievementModuleComm.achievement.name = p_name;
}

VideoAchievementModuleComm.onThisGameHasBadges = function (p_img, p_desc){

	VideoAchievementModuleComm.badgeImages = p_img;
	VideoAchievementModuleComm.badgeDesc = p_desc;

	VideoAchievementModule.achievementWriteThisGameHasBadges(VideoAchievementModuleComm.badgeImages, VideoAchievementModuleComm.badgeDesc);
}

VideoAchievementModuleComm.onAchievementVideoPlaying = function (){
		
		if(LoginModule.isLoggedIn){
			VideoAchievementModule.achievementShowHidePreGame("none");
		}else{
			flashVideoCommunication.onPauseVideo();
			VideoAchievementModule.achievementShowHidePreGame("block");
		}
}

VideoAchievementModuleComm.onDebug = function (p_val, p_clear){
	VideoAchievementModule.sendDebug(p_val, p_clear);
}

VideoAchievementModuleComm.sendLoginUserName = function (p_val, p_teg){
	var o = new Object();
	o.username 	= p_val;
	o.tegID 	= p_teg;
	if(VideoAchievementModuleComm.swfIsReady){
		VideoAchievementModuleComm.achieveModule.loginReceived(o);
		VideoAchievementModuleComm.isLoggedIn = true;
	}else{
		VideoAchievementModuleComm.sendUserTimer =  setTimeout("VideoAchievementModuleComm.sendLoginUserName('"+p_val+"', '"+p_teg+"')", 500);
	}
}



