//SCORM1_2function Scorm1_2(){	this.SCORM_API = null;	this.APIVersion = "";	this.scoStartTime = 0;}Scorm1_2.prototype.fGetAPI = function(win){	if ((win.parent != null) && (win.parent != win)){		this.SCORM_API = this.fFindAPI(win.parent);	}	if ((this.SCORM_API == null) && (win.opener != null)){		this.SCORM_API = this.fFindAPI(win.opener);	}	return this.SCORM_API;}// function searches for an object named APIScorm1_2.prototype.fFindAPI = function(win){	var nFindAPITries = 0;	var maxTries = 500;	while ((win.API_1484_11 == null) && (win.parent != null)&& (win.parent != win)){		nFindAPITries++;		if (nFindAPITries > maxTries){			return null;		}		win = win.parent;	}	return win.API;}////////////////////////////////////////////////////////////////////////////////////////////////Scorm1_2.prototype.fGetError = function(){	var errorCode = this.SCORM_API.LMSGetLastError();	var errorString = "";	if(errorCode == 0){		errorString = "NoError";	}else{		errorString = this.SCORM_API.LMSGetErrorString(errorCode);	}	return errorString}Scorm1_2.prototype.fInitialize = function(){	var result = this.SCORM_API.LMSInitialize("");	return result;}Scorm1_2.prototype.fCommit = function(){	var result = this.SCORM_API.LMSCommit("");	return result;}Scorm1_2.prototype.fFinish = function(){	var result = this.SCORM_API.LMSFinish("");	return result;	}Scorm1_2.prototype.fGetValue = function(variableName){	var result = this.SCORM_API.LMSGetValue(variableName);	return result;}Scorm1_2.prototype.fSetValue = function(variableName, valueString){	var result = this.SCORM_API.LMSSetValue(variableName, valueString);	return result;}Scorm1_2.prototype.fStartTimer = function(){	scoStartTime = new Date().getTime();}Scorm1_2.prototype.fCalculateTime = function(){	var formattedTime;	if ( scoStartTime != 0 ){		var scoFinishTime = new Date().getTime();		var elapsedSeconds = ( (scoFinishTime - scoStartTime) / 1000 );		formattedTime = this.fGetTotalDuration( elapsedSeconds );	}else{		formattedTime = "0000:00:00.0";	}	return formattedTime}Scorm1_2.prototype.fGetTotalDuration = function(totalSeconds){	var strTime="";	var Hour = Math.floor(totalSeconds/3600);	var Min = Math.floor((totalSeconds-Hour*3600)/60);	var Sec = totalSeconds-Hour*3600 - Min*60;	Sec=this.fSetDecimalPoints(Sec)	if(Hour<10){		strTime+="000";	}else if (Hour<100){		strTime+="00";	}else if (Hour<1000){		strTime+="0";	}else{		Hour=9999	}	strTime+= Hour + ":";	if(Min<10){		strTime+="0";	}	strTime+= Min + ":";	if(Sec<10){		strTime+="0";	}	strTime+= Sec;	return strTime;}Scorm1_2.prototype.fSetDecimalPoints = function(num){	var Numvalue = String (Math.round(num * 100) / 100);	var dot = Numvalue.indexOf(".");	if(dot == -1){		Numvalue += ".0";	}	var temp = Numvalue.split(".");	var addDecimals = 2 - temp[1].length;	for(i=1; i<= addDecimals; i++){		Numvalue += "0";	}	return Numvalue;};