﻿var bolDebug_flashJsAPI = false;

// basic communication methods
function MM_findObj(n, d) { //v4.0
    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && document.getElementById) x=document.getElementById(n); return x;
}

var objDebugTraceWindow;
var strDebugTraceHistory = "<h1>DebugTrace</h1>"
function debugtrace(strMessage){
    if(!objDebugTraceWindow){
        var strSettings = "width=640,height=480,top=200,left=450,toolbars=no,status=no,resizable=yes,scrollbars=yes"
        objDebugTraceWindow = window.open("../../../_student/empty.htm" ,"DebugTraceWindow", strSettings);
        objDebugTraceWindow.document.write(strDebugTraceHistory);
    }
    strDebugTraceHistory += "<br>"+strMessage;
    objDebugTraceWindow.document.write("<br>"+strMessage);
    objDebugTraceWindow.focus();
}

function getMainFlashObject(){
    var obj = MM_findObj("main_embed");
    if(obj == null || obj == "undefined") obj = MM_findObj("main");
    return obj;
}
     
function setFlashVariable(strVariablePath, strValue){
    if(bolDebug_flashJsAPI) debugtrace("setFlashVariable(\""+strVariablePath+"\", \""+strValue+"\")")
    getMainFlashObject().SetVariable(strVariablePath, strValue);
    if(bolDebug_flashJsAPI) debugtrace("//"+getMainFlashObject().GetVariable(strVariablePath));
}

function getFlashVariable(strVariablePath){
    if(bolDebug_flashJsAPI) debugtrace("getFlashVariable(\""+strVariablePath+"\")")
    return getMainFlashObject().GetVariable(strVariablePath);
}

// support methods
function getScormValue(strVariablePath, strScormVariable){
    if(bolDebug_flashJsAPI) debugtrace("getScormValue(\""+strVariablePath+"\", \""+strScormVariable+"\")");
    var strScormValue = String(LMSGetValue(strScormVariable));
    setFlashVariable(strVariablePath, strScormValue);
    
}
