var lesson_status = "";
var lesson_location = "";
var suspended_data = "";//"1|1,1,-1,-1,-1,-1,-1,-1~1#1#0#0#0#0#0#0||0$1:2:1s0a0!0";
var lesson_score = 0;
var student_name = "";
var loginTime;

// For LMS make it true
var isLMS = true;//true;

var isDataReady = false;

var obj;
var date = new Date();

function getData()
{
	loginTime = date.getTime();
	if(isLMS)
	{
		if(typeof(myAPI) != 'undefined' && myAPI != null)
		{
			obj = myAPI;
			var initFlag = obj.LMSInitialize("");
			if(initFlag)
			{
				student_name = obj.LMSGetValue("cmi.core.student_name");
				lesson_status = obj.LMSGetValue("cmi.core.lesson_status");
				lesson_location = obj.LMSGetValue("cmi.core.lesson_location");
				lesson_score = obj.LMSGetValue("cmi.core.score.raw");
				suspended_data = obj.LMSGetValue("cmi.suspend_data");
				//alert("Final suspended_data:LMS Get Value"+suspended_data);
			}
		}
		else
		{
			//alert("API not found.");
		}
	}
	obj = null;
	isDataReady = true;
}

function setData(status, loc, susData, score, toExit)
{
//alert("setData: " + myAPI)
//alert("status "+status);
//alert("loc "+loc);
//alert("susData*********** "+susData);
//alert("score "+score);
//alert((susData == '1|1,1,-1,-1,-1,-1,-1,-1~1#1#0#0#0#0#0#0||0$1:2:1s0a0!0'));

	if(typeof(myAPI) != 'undefined' && myAPI != null)
	{
		obj = myAPI;
		var time = getTimeDiff();
		status=(status == "launched")?"completed":"incomplete";
		//alert("Status: " +status+" :: "+obj)
		if(status != "") obj.LMSSetValue("cmi.core.lesson_status",status);
		if(loc != "") obj.LMSSetValue("cmi.core.lesson_location",loc);
		//alert("susData just  before LMS set::::::::::::: "+susData);
		if(susData != "") obj.LMSSetValue("cmi.suspend_data",susData);
		//if(score != "") obj.LMSSetValue("cmi.core.score.raw",score);
		obj.LMSCommit("");
       //alert("toExit::::"+toExit);
		if(toExit == "true" || toExit == true){
			var time = getTimeDiff();
			//alert("getTimeDiff():::"+getTimeDiff());
			obj.LMSSetValue("cmi.core.session_time",time);
			obj.LMSFinish("");
		}
	}
	if(toExit == "true" || toExit == true ){
	obj = null;
	//window.opener.close();
	setTimeout("top.window.opener.exitCourse()",1000);
	setTimeout("top.close()",1000);
	//setTimeout("top.window.opener.close()",1000);
	}
}



function updateData(status, loc, susData, score)
{
	if(typeof(top.window.opener.myAPI) != 'undefined' && top.window.opener.myAPI != null)
	{
		obj = top.window.opener.myAPI;
		var time = getTimeDiff();
		status=(status == "c")?"completed":"incomplete";
		if(status != "") obj.LMSSetValue("cmi.core.lesson_status",status);
		obj.LMSSetValue("cmi.core.lesson_location",loc);
		if(susData != "") obj.LMSSetValue("cmi.suspend_data",susData);
		if(score != "") obj.LMSSetValue("cmi.core.score.raw",score);
		obj.LMSSetValue("cmi.core.session_time",time);
		obj.LMSCommit("");
	}
	obj = null;
	
}

function getTimeDiff()
{
	var date = new Date();
	var logoffTime = date.getTime();
	timeDiff = logoffTime - loginTime;
	sec = timeDiff/1000;
	tmp = sec/3600;
	hrs = Math.floor(tmp);
	min1 = (tmp - hrs) * 60;
	min = Math.floor(min1);
	sec1 = (min1-min)*60;
	sec = Math.floor(sec1);
	if (hrs < 10) hrs = "0" + hrs;
	if (min < 10) min = "0" + min;
	if (sec < 10) sec = "0" + sec;
	var time = hrs + ":" + min + ":" + sec; //format for SCORM 1.2
	//var time = "PT"+hrs + "H" + min + "M" + sec + "S"; // format specific for SCORM2004 
	//loginTime = date.getTime();
	return time;
}
function setInteractionData(interaction_id,type_interaction,correct_response,student_response,result)
{
	obj = top.window.opener.myAPI;
	var id= 0;
	var count = obj.LMSGetValue("cmi.interactions._count");
	if(count>0)
		id = count;

	obj.LMSSetValue("cmi.interactions."+id+".id", interaction_id)
//alert("type_interaction"+type_interaction)
	obj.LMSSetValue("cmi.interactions."+id+".type", type_interaction)
//alert("correct_response"+correct_response)
	
	obj.LMSSetValue("cmi.interactions."+id+".correct_responses.0.pattern",correct_response)
//alert("student_response"+student_response)
	obj.LMSSetValue("cmi.interactions."+id+".student_response",student_response)
//alert("result"+result)
	obj.LMSSetValue("cmi.interactions."+id+".result",result)

	

}