//**************************************************************************

//US; 400 : Live Server, 500 : Test Server
var g_AreaCode = 400;
var g_checkerURL = "https://id.ogplanet.com/app/checker.og";

//EU; 401 : Live Server, 501 : Test Server
//var g_AreaCode = 401;
//var g_checkerURL = "https://id.ogplanet.eu/app/checker.og";

// 0 : limited User, 1 : Normal User
var g_UserType = 1;
// 0 : There is no launcher, 1 : There is launcher
var g_isLauncher = 1;
var g_ServiceID = 0;
var g_RedirectURL = "";
var g_pluginInstallURL = "";


//**************************************************************************


function initLauncher(serviceID, redirectURL, pluginInstallURL)
{
	this.g_ServiceID = serviceID;
	this.g_RedirectURL = redirectURL;
	this.g_pluginInstallURL = pluginInstallURL;
}

/**
*	Description of startLauncher function
*
*	serviceID	 : Identity number of each game.
*	redirectURL	 : After checking log-in, Will go to this url.
*	pluginInstallURL : If It dosen't have Lanuncher, Will go to this url.
*
*/
function startLauncher(serviceID, redirectURL, pluginInstallURL) 
{
	this.initLauncher(serviceID, redirectURL, pluginInstallURL);
	$.getScript(g_checkerURL + "?redirecturl=" + g_RedirectURL);
}

/**
*	Description of startLauncher function
*
*	serviceID	 : Identity number of each game.
*	redirectURL	 : After checking log-in, Will go to this url.
*	pluginInstallURL : If It dosen't have Lanuncher, Will go to this url.
*	UserType 	 : User Type of Facebook Limit User or Normal OGP User
*
*/
function startFacebookLauncher(serviceID, redirectURL, pluginInstallURL, UserType)
{
	this.g_UserType = UserType;
	this.startLauncher(serviceID, redirectURL, pluginInstallURL);
}

function GoPluginInstallPage()
{
	alert("Please install OGPlanet Game Launcher plugin package.");
	document.location.href=this.g_pluginInstallURL;
}

function IsIE() 
{
	var agent = window.navigator.userAgent;
	if (agent.indexOf("MSIE") !=-1 ) return true;
	else return false;
}


function IsFF()
{
	var agent = window.navigator.userAgent;
	if (agent.toUpperCase().indexOf("FIREFOX") !=-1 ) return true;
	else return false;
}

function IsSafari() //and Chrome
{
	var agent = window.navigator.userAgent;
	if (agent.toUpperCase().indexOf("SAFARI") !=-1 ) return true;
	else return false;
}

function IsOpera()
{
	var agent = window.navigator.userAgent;
	if (agent.toUpperCase().indexOf("OPERA") !=-1 ) return true;
	else return false;
}

 
function IsSupportedBrowser()
{
	if(IsIE()) return true;
	if(IsFF()) return true;
	if(IsSafari()) return true;	
	if(IsOpera()) return true;

	return false;
}


function IsInstalledIEPlugin() 
{
	try 
	{
	        var myobj = new ActiveXObject("OGPIEPlugin.OGPIEPluginCtrl.1");
        	if (myobj != null) return true;
        	else return false;
	}
	catch(e) 
	{
		return false;
	}
}

function getCookie( name )
{
	var nameOfCookie = name + "=";
	var x = 0;
	while ( x <= document.cookie.length )
	{
		var y = (x+nameOfCookie.length);
		if ( document.cookie.substring( x, y ) == nameOfCookie ) 
		{
			if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
				endOfCookie = document.cookie.length;
			return unescape( document.cookie.substring( y, endOfCookie ) );
		}

		x = document.cookie.indexOf( " ", x ) + 1;
		if ( x == 0 )
			break;
	}
	return "";
}

var obj, cookie;

function StartPlugin() 
{	
	if(IsIE())
	{
		if(!IsInstalledIEPlugin())
		{
			this.g_isLauncher = 0;
			//GoPluginInstallPage();
			return;
		}


		$("#launcherobj").html("<OBJECT width=0 height=0 id=\"OGPPlugin\" CLASSID=\"CLSID:D5556D62-F743-4f9b-BD99-0330930E4F69\"></OBJECT>");

	}
	else /*NPAPI Plugin*/
	{
		try
		{
			var plugin = navigator.plugins["OGPlanet Game Plugin"];


       			if(plugin != null)
			{
				$("#launcherobj").html("<embed id=\"OGPPlugin\" type=\"application/OGPMozillaPlugin\" width=0 height=0></embed>");
			}
			else
			{
				//Oldversion Support
				plugin = navigator.plugins["OGPlanet Game Launcher Plugin"];

				if(plugin != null)
				{
					$("#launcherobj").html("<embed id=\"OGPPlugin\" type=\"application/OGPFFPlugin\" width=0 height=0></embed>");
				}
				else
				{
					this.g_isLauncher = 0;
					//GoPluginInstallPage();
					return;
				}
			}
		}
		catch(e)
		{
			this.g_isLauncher = 0;
			//GoPluginInstallPage();
			return;
		}
	}

	obj = document.getElementById( "OGPPlugin" );

	if(g_UserType==0)
		cookie = "OGPFB" + getCookie('ogplcvs');
	else if(g_UserType==1)
		cookie = getCookie('ogpacvs');

	setTimeout ( "ExecuteOGPLauncher1()", 30 ); //firefox 3.6 bug?
}

function ExecuteOGPLauncher1()
{
	var result = obj.ExecuteOGPLauncher(g_ServiceID, cookie, g_AreaCode);
 
	if (result != 0)
	{
		if(result == 10001)
		{
			this.g_isLauncher = 0;
			//GoPluginInstallPage();
		}

		return;
	}
	return;

}

function GameStart()
{
	if(this.g_ServiceID==0)
	{
		alert("Cannot find out the initial informaions");
		return;
	}

	if(IsSupportedBrowser())
	{
		StartPlugin();
	}
	else
	{
		alert("Can not start the game on this browser");
	}
}