var ChannelID = 1;
var ExternalSceneID = 0;
var InstanceSceneID = 0;
//var MPSFileLocation = VizkyGetPathOfHtmlPage() + "MOL/LabourDemo1.mps.idx";
var MPSFileLocation = "http://BGOMPS02.vizky.com/Demo/MOL/LabourDemo1.mps.idx";
var StationID = 0;

//ENUM
var STATE_NONE = 0;
var STATE_NORTH = 1;
var STATE_CENTRAL = 2;
var STATE_NORTHEAST = 3;
var STATE_BANGKOK = 4;
var STATE_SOUTH = 5;
var STATE_COUNTRY = 6;

var MODE_NONE = 0;
var MODE_NOWORK = 1;
var MODE_ALIEN = 2;
var MODE_EDUCATION = 3;
var MODE_INDUSTRIAL = 4;
			
var state = STATE_NONE;
var mode = MODE_NONE;
var lastDir = "None";
//Full Window button scene
var extIDFull = 0;
var instIDFull = 0;
var fullflag = false
//Full Window button scene
var VizkyVersion = 0;
function Fullscreen(ControlObj)
{
	ControlObj.SetCommandPipeline(9);
	ControlObj.ClearCommandPipeline();
	ControlObj.ToggleFullscreen();
	if (fullflag)
	{
		ControlObj.ShowDirectorTag(instIDFull,"full","max");
		fullflag = false
	}else
		{
		   ControlObj.ShowDirectorTag(instIDFull,"full","min");
		   fullflag = true
		}
	ControlObj.SetCommandPipeline(0);
}			
function OnVizkyInit(ControlObj)
{
     StationID = ControlObj.GenerateStationID(window.location);
	 ControlObj.CreateViewport(2);
	 ControlObj.SetDisplayDownloading(1);
     ControlObj.SetViewportPercentPositionAndSize (0, 0, 0, 100, 100);
     ControlObj.SetViewportStationAndChannelID(0, StationID, ChannelID);
     ControlObj.SetViewportPercentPositionAndSize (1, 0, 0, 100, 100);
     ControlObj.SetViewportStationAndChannelID(1, StationID, ChannelID+1);
     ControlObj.CommitAllViewportStationAndChannelChanges();
	 ControlObj.SetViewportPriorityLevel(1,9);
	VizkyVersion = ControlObj.GetVersion();
	var VersionArray = VizkyVersion.split(".");
	var currentVersion = ((parseInt(VersionArray[0]) << 28) | (parseInt(VersionArray[1]) << 24) | (parseInt(VersionArray[2]) << 16) | parseInt(VersionArray[3]));
	var requiredVersion = ((1 << 28) | (5 << 24) | (8 << 16) | 0);
	if(currentVersion >= requiredVersion)
	{	
 	 ExternalSceneID = ControlObj.Import(StationID, MPSFileLocation);
	 InstanceSceneID = ControlObj.Load(StationID, ExternalSceneID);
	 extIdFull = Control.Import(StationID,"http://BGOMPS02.vizky.com/Demo/full/full.mps.idx");
	 instIDFull = Control.Load(StationID, extIdFull);
	 ControlObj.TakeIn(StationID, ChannelID, 0, InstanceSceneID);
	 ControlObj.TakeIn(StationID, ChannelID+1, 0, instIDFull)
	}else
		{
			//---------------Vizky Checkversion Text-------------//			
			var pleaseInstall2 = '<div class="tv2_millionaer_content millionaer_download" style="font-family: arial; font-size: 12px; padding-right: 200px;"><h2>Please upgrade your Vizky plug-in</h2><p style="font-size: 12px;">Your Vizky version is&nbsp;'+ VizkyVersion +'&nbsp;This page require at least Vizky version 1.5.8.0<br>We now add up more functions in the new version.<br /> Please update your Vizky to experience new enhancement of 3D Graphics.<br /><br /> <a target="_blank" style="color: #ff9000;" href="http://www.vizky.com/download/"><strong>Click to update your Vizky </strong></a><br />The program is developed from Vizrt, the world\'s leader in real-time 3D graphic render for broadcasting which has several major TV channels on the customer lists, including CNN and BBC.<br /></p><p style="font-size: 12px;"><a target="_blank" style="color: #ff9000;" href="http://mps2.vizky.com/node/68">Basic Troubleshooting</a><br /></p><p style="font-size: 12px;">When the program is installed, <strong>Restart the Browser</strong>.</p></div>';
			document.write(pleaseInstall2);
		}
}

function OnVizkyLMouseDown(ControlObj, X, Y)
{
	var newstate = state;
	var newmode = mode;

	var szObjName = ControlObj.GetInteractivityObject();
	
	switch (szObjName)
	{
		//Full Screen Window//
		case ("Full"):
			Fullscreen(ControlObj); 
		break;
		//Full Screen Window//
		case "R1":
			newmode = MODE_NOWORK;
			break;
		case "R2":
			newmode = MODE_ALIEN;
			break;
		case "R3":
			newmode = MODE_EDUCATION;
			newstate = STATE_COUNTRY;
			break;
		case "R4":
			newmode = MODE_INDUSTRIAL;
			newstate = STATE_COUNTRY;
			break;
		case "North":
			newstate = STATE_NORTH;
			break;
		case "Central":
			newstate = STATE_CENTRAL;
			break;
		case "NorthEast":
			newstate = STATE_NORTHEAST;
			break;
		case "Bangkok":
			newstate = STATE_BANGKOK;
			break;
		case "South":
			newstate = STATE_SOUTH;
			break;
		case "Country":
			newstate = STATE_COUNTRY;
			break;
		case "close":
			newmode = mode;
			newstate = state;
			break;
	}

	//Continue old dir
	ControlObj.PlayDirectorToTag(InstanceSceneID, lastDir, "end");
	//m_VizkyClient.ContinueDirector(m_uiPlayableId, lastDir);

	//start if it's changed
	if (newstate == state && newmode == mode)
	{
		state = STATE_NONE;
		mode = MODE_NONE;
		lastDir = "None";
	}
	else
	{
		mode = newmode;
		state = newstate;
		switch (mode)
		{
			case MODE_NONE:
			case MODE_NOWORK:
				switch (state)
				{
					case STATE_NORTH:
						lastDir = "NorthNoJob";
						break;
					case STATE_CENTRAL:
						lastDir = "CentralNoJob";
						break;
					case STATE_NORTHEAST:
						lastDir = "NorthEastNoJob";
						break;
					case STATE_BANGKOK:
						lastDir = "BangkokNoJob";
						break;
					case STATE_SOUTH:
						lastDir = "SouthNoJob";
						break;
					case STATE_NONE:
					case STATE_COUNTRY:
						lastDir = "CountryNoJob";
						break;
				}
				break;
			case MODE_ALIEN:
				switch (state)
				{
					case STATE_NORTH:
						lastDir = "NorthAlien";
						break;
					case STATE_CENTRAL:
						lastDir = "CentralAlien";
						break;
					case STATE_NORTHEAST:
						lastDir = "NorthEastAlien";
						break;
					case STATE_BANGKOK:
						lastDir = "BangkokAlien";
						break;
					case STATE_SOUTH:
						lastDir = "SouthAlien";
						break;
					case STATE_NONE:
					case STATE_COUNTRY:
						lastDir = "CountryAlien";
						break;
				}
				break;
			case MODE_EDUCATION:
				lastDir = "CountryEducation";
				break;
			case MODE_INDUSTRIAL:
				lastDir = "CountryIndustry";
				break;
		}

		ControlObj.StartDirector(InstanceSceneID, lastDir);
		ControlObj.PlayDirectorToTag(InstanceSceneID, lastDir, "stop");
	}
}
