\n');
document.write('\n');
}
var strURLFile = "Arbeitssicherheit.swf"; // Name of the flash file
var intIntervalSecs = 1; // Number of seconds to wait for SCORM API to load
var g_intAPIOrder = 0; // Way to search for API object (0 - starts with bottom up; 1 - starts top down)
var strURLBase = "";
var strURLParams = "";
var strURLFull = document.location + "";
var intTemp = strURLFull.indexOf("#");
if (intTemp == -1)
intTemp = strURLFull.indexOf("?");
if (intTemp > 0)
strURLParams = strURLFull.substring(intTemp + 1, strURLFull.length);
var strTemp = location.protocol.toUpperCase();
if (strTemp.indexOf("FILE") == -1)
var intTemp = location.pathname.lastIndexOf("/");
else
var intTemp = location.pathname.lastIndexOf("\\");
if (intTemp != -1)
strURLBase = location.protocol + "//" + location.host + location.pathname.substring(0, intTemp + 1);
else
strURLBase = location.protocol + "//" + location.host + location.pathname;
strURLParams = (strURLParams==unescape(strURLParams)?escape(strURLParams):strURLParams);
strURLParams = (strURLParams==""?"":"?") + strURLParams;
function check_certificate() {
if((pre_completion_status=="passed") || (pre_completion_status=="completed" && pre_success_status=="passed")){
check_certificate_date();
document.getElementById("divcertificate").innerHTML='Dieser Test wurde bestanden: Zertifikat ansehen';
} else {
document.getElementById("divcertificate").innerHTML="Dieser Test wurde noch nicht bestanden.";
}
}
function showCertificate() {
var ecs=''
+'
Zertifikat
'
+'
'+certificate_top+'
'
+'
'+learner_name+'
'
+'
'+certificate_bottom+'
'
+'
'+certificate_date+'
'
+'
';
var ew=window.open("","Zertifikat","top=0,width=640,height=700,location=no,toolbar=yes,menubar=yes,resizable=yes,scrollbars=yes,status=no");
if (ew!=null){
ew.document.open();
ew.document.write(ecs);
ew.document.close();
}
}
function set_suspend_data() {
if(suspend_data.indexOf("myCertificateDate")<0 && certificate_date!="")
return certificate_date+"myCertificateDate"+suspend_data;
else return suspend_data;
}
function get_suspend_data_on_get() {
var cd=suspend_data.indexOf("myCertificateDate");
if (cd>-1)
return suspend_data.substring(cd+17,s_in.length);
else return suspend_data;
}
function get_suspend_data_on_init(s_in) {
var cd=s_in.indexOf("myCertificateDate");
if (cd>-1) {
certificate_date=s_in.substring(0,cd);
suspend_data=s_in.substring(cd+17,s_in.length);
}
else suspend_data=s_in;
}
function check_certificate_date() {
if (certificate_date=="") {
var mydate=new Date();
var year = mydate.getYear();
if (year < 2000) year+=1900;
var month = mydate.getMonth();
switch(mydate.getMonth()) {
case 0: month = "Januar"; break;
case 1: month = "Februar"; break;
case 2: month = "März"; break;
case 3: month = "April"; break;
case 4: month = "Mai"; break;
case 5: month = "Juni"; break;
case 6: month = "Juli"; break;
case 7: month = "August"; break;
case 8: month = "September"; break;
case 9: month = "Oktober"; break;
case 10:month = "November"; break;
case 11:month = "Dezember"; break;
default:month = "Januar"; break;
}
certificate_date=mydate.getDate()+". "+month+" "+year;
}
}
function set2004(s_par,s_val){
var s_result, s_err, s_alert;
s_result=g_objAPI.SetValue(s_par,s_val);
if (b_alert_errors==true && s_result!="true"){
s_err=""+g_objAPI.GetLastError();
if (s_err!="0") {
s_alert=g_objAPI.GetErrorString(s_err);
alert("Fehler "+s_err+" beim Speichern von "+s_par+"!\n"+s_alert);
}
}
}
function set1_2(s_par,s_val){
var s_err;
g_objAPI.LMSSetValue(s_par,s_val);
if (b_alert_errors==true) {
s_err=""+g_objAPI.LMSGetLastError();
if (s_err!="0") {
alert("Fehler "+s_err+" beim Speichern von "+s_par+"!");
}
}
}
function sendStatus() {
if (g_zAPIVersion=="0.2"){
set1_2("cmi.core.lesson_status",pre_completion_status);
} else {
if (b_store_success_status==true){
if (b_send_score_scaled_1_if_passed==true && pre_success_status=="passed"){
set2004("cmi.score.scaled","1");
}
set2004("cmi.success_status",pre_success_status);
}
set2004("cmi.completion_status",pre_completion_status);
}
b_status_sended=true;
}
function Finish() {
if ((isAPI()) && (g_bFinishDone == false)) {
if (b_status_sended==false) sendStatus();
if (g_zAPIVersion=="0.2"){
if (b_show_certificate==true){
set1_2("cmi.suspend_data",set_suspend_data());
}
set1_2("cmi.core.session_time",s_session_time);
set1_2("cmi.core.exit","suspend");
g_objAPI.LMSCommit("");
g_bFinishDone = g_objAPI.LMSFinish("") == "true";
} else {
if (b_show_certificate==true){
set2004("cmi.suspend_data",set_suspend_data());
}
set2004("cmi.session_time",s_session_time);
set2004("cmi.exit","suspend");
if (b_sendCommit==true) g_objAPI.Commit("");
g_bFinishDone = g_objAPI.Terminate("") == "true";
}
}
return (g_bFinishDone + "" ) // Force type to string
}
// Detect Internet Explorer
var g_bIsInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
// Handle fscommand messages from a Flash movie
function doCommand(b_external, s_command, s_parameter, s_value, s_variable) {
var CaptivateObj = g_bIsInternetExplorer ? Captivate : document.Captivate;
var strErr = 'true';
var b_failure = false;
if ( s_command == "LMSInitialize" || s_command=="Initialize") {
strErr = eval('g_objAPI.' + s_command + '(\"\");');
if (strErr == "true") {
b_getLastError=false;
if (g_zAPIVersion=="0.2") {
if (eval('g_objAPI.LMSGetValue(\"cmi.core.entry\");')=="resume"){
if(b_store_score==true) pre_score_raw=eval('g_objAPI.LMSGetValue(\"cmi.core.score.raw\");');
pre_completion_status=eval('g_objAPI.LMSGetValue(\"cmi.core.lesson_status\");');
if (b_show_certificate==true) get_suspend_data_on_init(g_objAPI.LMSGetValue("cmi.suspend_data"));
}
learner_name=eval('g_objAPI.LMSGetValue(\"cmi.core.student_name\");');//??
} else {
if (eval('g_objAPI.GetValue(\"cmi.entry\");')=="resume"){
// pre_score_raw=eval('g_objAPI.GetValue(\"cmi.score.raw\");');
if(b_store_score==true) pre_score_scaled=eval('g_objAPI.GetValue(\"cmi.score.scaled\");');
pre_success_status=eval('g_objAPI.GetValue(\"cmi.success_status\");');
pre_completion_status=eval('g_objAPI.GetValue(\"cmi.completion_status\");');
if (b_show_certificate==true) get_suspend_data_on_init(g_objAPI.GetValue("cmi.suspend_data"));
}
learner_name=eval('g_objAPI.GetValue(\"cmi.learner_name\");');
}
if (b_show_certificate==true) check_certificate();
} else {
b_getLastError=true;
}
} else if (s_command=="LMSSetValue" || s_command=="SetValue") {
var b_set_value=true;
//correct s_value
if (s_parameter=="cmi.completion_status" && pre_completion_status!="completed")
s_value="incomplete";//depends on s_send_completion_status_at_location
if (b_no_worse_status==true){
if (s_parameter=="cmi.success_status") {
if (pre_success_status=="passed") s_value="passed";
} else if (s_parameter=="cmi.completion_status") {
if (pre_completion_status=="completed") s_value="completed";
} else if (s_parameter=="cmi.score.scaled" && pre_score_scaled!="") {
if (parseFloat(s_value) < parseFloat(pre_score_scaled)) s_value=pre_score_scaled;
} else if ((s_parameter=="cmi.core.score.raw") && pre_score_raw!="") {
if (parseFloat(s_value) < parseFloat(pre_score_raw)) s_value=pre_score_raw;
} else if (s_parameter=="cmi.core.exit" || s_parameter=="cmi.exit") {
s_value="suspend";
} else if (s_parameter=="cmi.core.lesson_status") {
if (pre_completion_status=="passed") s_value="passed";
if (s_value!="failed" && s_value!="passed" && pre_completion_status=="completed") s_value="completed";
}
}
if (b_show_certificate==true && s_parameter=="cmi.suspend_data") {
suspend_data=s_value;
s_value=set_suspend_data();
}
//send s_value or not
if (s_parameter=="cmi.core.session_time" || s_parameter=="cmi.session_time") {
s_session_time = s_value;
if (b_send_session_time_only4terminate==true) b_set_value=false;
}
else if (b_store_score==false && (s_parameter.substring(0,14)=="cmi.core.score" || s_parameter.substring(0,9)=="cmi.score"))
b_set_value=false;
else if (s_parameter=="cmi.core.score.raw" || s_parameter=="cmi.score.raw")
s_value==pre_score_raw?b_set_value=false:pre_score_raw=s_value;
else if (s_parameter=="cmi.core.score.min" || s_parameter=="cmi.score.min")
s_value==pre_score_min?b_set_value=false:pre_score_min=s_value;
else if (s_parameter=="cmi.core.score.max" || s_parameter=="cmi.score.max")
s_value==pre_score_max?b_set_value=false:pre_score_max=s_value;
else if (s_parameter=="cmi.score.scaled")
s_value==pre_score_scaled?b_set_value=false:pre_score_scaled=s_value;
else if (s_parameter=="cmi.completion_status"){
s_value==pre_completion_status?b_set_value=false:pre_completion_status=s_value;
if (s_value != "incomplete") b_set_value=false;
}
else if (s_parameter=="cmi.success_status"){
s_value==pre_success_status?b_set_value=false:pre_success_status=s_value;
if (b_store_success_status==false) b_set_value=false;
if (s_value != "failed") b_set_value=false;
}
else if (s_parameter=="cmi.core.lesson_status"){
s_value==pre_completion_status?b_set_value=false:pre_completion_status=s_value;
if (s_value != "incomplete" && s_value != "failed") b_set_value=false;
}
else if (s_parameter=="cmi.core.lesson_location" || s_parameter=="cmi.location"){
s_value==pre_location?b_set_value=false:pre_location=s_value;
if (s_value==s_send_completion_status_at_location){
if (s_parameter=="cmi.location") pre_completion_status="completed";
if (b_show_certificate==true) check_certificate();
if (b_status_sended==false) sendStatus();
}
}
else if (s_parameter.substring(0,14)=="cmi.objectives")
b_set_value=b_store_objectives;
else if (s_parameter.substring(0,16)=="cmi.interactions")
b_set_value=b_store_interactions;
b_set_value==false?strErr='true':strErr = eval('g_objAPI.' + s_command + '(\"' + s_parameter + '\",\"' + s_value + '\");');
strErr == "true"?b_getLastError=false:b_getLastError=true;
} else if ( s_command == "LMSFinish" || s_command=="Terminate") {
strErr=Finish();
} else if ( s_command == "LMSCommit" || s_command=="Commit") {
if (b_sendCommit == true) {
strErr = eval('g_objAPI.' + s_command + '(\"\");');
b_getLastError=true;
}
} else if ((s_value) && (s_value.length > 0)) {
if(s_command=="LMSGetLastError" || s_command=="GetLastError") {
b_getLastError == false?strErr = 0:strErr = eval('g_objAPI.' + s_command + '();');
} else {
if (s_parameter.toString().substring(0,16)=='cmi.interactions' && b_store_interactions==false) {
s_parameter=="cmi.interactions._count"?strErr=0:strErr="";
b_getLastError=false;
} else if (s_parameter.toString().substring(0,14)=='cmi.objectives' && b_store_objectives==false) {
s_parameter=="cmi.objectives._count"?strErr=0:strErr="";
b_getLastError=false;
} else if (b_show_certificate==true && s_parameter.toString()=='cmi.supend_data') {
strErr=get_suspend_data_on_get();
b_getLastError=false;
} else {
strErr = eval('g_objAPI.' + s_command + '(\"' + s_parameter + '\");');
b_getLastError=true;
}
}
} else if (s_command.substring(0,3) == "LMSGet") {//falsch, so im Original
strErr = "-2: No Flash variable specified";
b_failure = true;
} else {
b_failure = true;
}
if (b_failure == false) {
b_external==false?CaptivateObj.SetVariable(s_variable, strErr):CaptivateObj.SetScormVariable(s_variable, strErr);
}
return strErr;
}
function Captivate_DoFSCommand(command, args)
{
var strFSArgs = new String(args);
var strFSCmd = new String(command);
var strFSArg1, strFSArg2, strFSArg3
var intFSDelimiter = strFSArgs.indexOf("|");
if (intFSDelimiter > -1)
{
strFSArg1 = strFSArgs.substr(0, intFSDelimiter); // Name of data element to get from API
var strFSTemp = strFSArgs.substr(intFSDelimiter + 1);
intFSDelimiter = strFSTemp.indexOf("|");
if(intFSDelimiter > -1)
{
strFSArg2 = strFSTemp.substr(0, intFSDelimiter); // Value
strFSArg3 = strFSTemp.substr(intFSDelimiter + 1); // Variable
} else {
strFSArg2 = strFSTemp;
}
} else {
strFSArg1 = strFSArgs;
}
// do nothing, if SCORM API is not available
if (!isAPI()) return;
return doCommand(false, strFSCmd, strFSArg1, strFSArg2, strFSArg3);
}
function Captivate_DoExternalInterface(command, parameter, value, variable)
{
//alert("command " + command + " ;parameter " +parameter+ " ;value " + value + " ;variable " + variable );
var strFSCmd = new String(command);
var strFSArg1, strFSArg2, strFSArg3;
strFSArg1 = parameter;
strFSArg2 = value;
strFSArg3 = variable;
// do nothing, if SCORM API is not available
if (!isAPI()) return;
return doCommand(true, strFSCmd, strFSArg1, strFSArg2, strFSArg3);
}