var findAPITries=1;
var API = null;
var callUnload=true
var Bookmark_location= "-1"


	

function openLogonPage(){
 callUnload=false
 window.self.location="logon.htm"
}
function FindAPI(win)
{
   while ((win.API == null) && (win.parent != null) && (win.parent != win))
   {
      findAPITries++;
      // Note: 7 is an arbitrary number, but should be more than sufficient
      if (findAPITries > 7) 
      {
        parent.status = "Error finding API -- too deeply nested.";
         return null;
      }
      win = win.parent;
   }
   return win.API;
}

function GetAPI()
{
   var API = FindAPI(window);
   if ((API == null) && (window.opener != null) && (typeof(window.opener) != "undefined"))
   {
      API = FindAPI(window.opener);
   }
   if (API == null)
   {
     parent.status = "Unable to find an API adapter";
   }
   return API
}

function fnCheckforErrors(){

		code = API.LMSGetLastError();
		ret = API.LMSGetErrorString( code );
		
		if(code!=0){
			alert("Error: "+ret)
			v.focus()
		}

		diag = API.LMSGetDiagnostic( "" );		
}
function initSco()

{
	API = GetAPI();
		if( API != null )
		{
			var ret;
			var code;
			var diag;
			API.LMSInitialize("");
						
			var status = get_val("cmi.core.lesson_status")
			if (status == "not attempted")
			{
			  set_val("cmi.core.lesson_status","incomplete");
			}
			tempPage=get_val("cmi.core.lesson_location")
			Bookmark_location=tempPage
			fnCheckforErrors();
		}
}

function score(score)
{
	set_val("cmi.student_data.mastery_score",score);
}

function courseStatus(status)
{
	set_val("cmi.student_data.mastery_score",score);
}

function set_val( gname,gvalue )

{

	API = GetAPI();
	if( API != null )
	{
		var ret;
		var code;
		var diag;		


		API.LMSSetValue( gname, gvalue );		
		commit();
		fnCheckforErrors();	
	}
};

function get_val( gname )
{	
	API = GetAPI();
	if( API != null )
	{
	
	var ret1,ret2;
		var code;
		var diag;
		ret1 = API.LMSGetValue( gname );		
		fnCheckforErrors();
	return ret1;		
	}
};

function commit()
{	
	API = GetAPI();
	if( API != null )
	{
		var ret = "";
		var code;
		var diag;
		
		API.LMSCommit("");
		fnCheckforErrors();	
	}
};


function fnGetBookMark()

{
return Bookmark_location

}

function set_location(setbookmark)

{
	//alert("save bookmark")
	Bookmark_location=setbookmark;
	set_val("cmi.core.lesson_location",Bookmark_location);
	//set_val("cmi.core.lesson_location",Bookmark_location);
}


function finishSco()
{
		API = GetAPI();
		if( API != null )
		{
			var ret;
			var code;
			var diag;
			set_val("cmi.core.lesson_location",Bookmark_location);
			ret = API.LMSFinish("");
			fnCheckforErrors();
		}
	
}
//<!-- -------- Code Added by MAXIMIZE LEARNING ---------------------------------------->
/*
function fnSendCompletion(){

	API = GetAPI();
		if( API != null )
			{
				var agree=confirm("Have you completed this module?");
				if (agree)
				{
					  set_val("cmi.core.lesson_status","completed");
				}
				else
				{
					  return false ;
				}
			}
}
*/
function fnSendCompletion(){
	API = GetAPI();
		if( API != null )
			{
				//alert('calling VBScript for conformation');
				fnAskCompletion();				
			}
}
function fnDoCompletion(){
	API = GetAPI();
	if( API != null ) {
		//alert('sending status to LMS');
		set_val("cmi.core.lesson_status","completed");				
	}
}
//<!----------- End of code added by MAXIMIZE LEARNING --------------------------------->