var g_objAPI = null; var g_nAPI = 0; // type of API to start searching for; allowable values: 0 - SCORM 2004; 1 - SCORM 1.2 (or 1.1) var g_aAPI = ["1.0", "0.2"] // Array that stores the API versions var g_zAPIVersion = -1; var g_bFinishDone = false; function findAPI(win) { // Search the window hierarchy for an object named "API_1484_11" for SCORM 2004 or "API" for SCORM 1.2 or below // Look in the current window (win) and recursively look in any child frames if(g_nAPI == 0) { if(win.API_1484_11 != null) { return win.API_1484_11; } } else if(g_nAPI == 1 || g_nAPI == "") { if (win.API != null) { g_zAPIVersion = g_aAPI[g_nAPI]; return win.API; } } if (win.length > 0) // check frames { for (var i=0;i "; // get the browser info IE=0; NS4=0; NS6=0; if (navigator.appName.indexOf('Netscape')!=-1 && parseInt(navigator.appVersion)<5) {NS4=1;} if (navigator.appName.indexOf('Netscape')!=-1 && parseInt(navigator.appVersion)>4.9) {NS6=1;} if (navigator.appName.indexOf('Microsoft')!=-1 && parseInt(navigator.appVersion)>3) {IE=1;} if (IE==true) { IE_dynamic.document.body.innerHTML=fcomValue; } if (NS4) { // change the comm HTML fcomValue = " "; eval('var echoecho = document.layers.NS_'+layer+'.document;'); echoecho.open(); echoecho.write(fcomValue); echoecho.close(); } if (NS6) { // change the comm HTML fcomValue = " "; document.getElementById('NS_'+layer).innerHTML =fcomValue; } } function dataFromFlash(strSCOfunction, strSCOproperty, varSCOvalue, strFLvariableName) { var strEval = ""; var varResult = false; if(isAPI()) { if (varSCOvalue != "") { strEval = "g_objAPI." + strSCOfunction + "('" + strSCOproperty + "', '" + varSCOvalue + "');"; } else { if(strSCOfunction=="LMSGetLastError") { strEval = "g_objAPI." + strSCOfunction + "(" + strSCOproperty + ");"; } else { strEval = "g_objAPI." + strSCOfunction + "('" + strSCOproperty + "');"; } } } else { if (SCOvalue != "") { strEval = strSCOfunction + "('" + strSCOproperty + "', '" + varSCOvalue + "');"; } else { strEval = strSCOfunction + "('" + strSCOproperty + "');"; } } varResult = eval(strEval); if(strSCOfunction == "LMSFinish" || strSCOfunction == "Terminate") { // set global variable to result of Finish function g_bFinishDone = varResult; } dataToFlash('dynamic', strFLvariableName + "|" + varResult); }