 var _NoError = '0';var _GeneralException = '101';var _ServerBusy = '102';var _InvalidArgumentError = '201';var _ElementCannotHaveChildren = '202';var _ElementIsNotAnArray = '203';var _NotInitialized = '301';var _NotImplementedError = '401';var _InvalidSetValue = '402';var _ElementIsReadOnly = '403';var _ElementIsWriteOnly = '404';var _IncorrectDataType = '405';var objHTTP=null;var dernierSCO='';function APIAdapter(){this.cmi;this.oItemAPI;this.errorCode="0";this.codeItemSelectionne='';this.dateEvt='';this.modifications=false;this.changementStatut=false;this.buffTempsSession="";this.suivantAutoPossible;this.effaceInteractions=true;this.effaceObjectifs=true;this.LMSInitialize=LMSInitialize;this.LMSGetValue=LMSGetValue;this.LMSSetValue=LMSSetValue;this.LMSCommit=LMSCommit;this.LMSFinish=LMSFinish;this.LMSGetLastError=LMSGetLastError;this.LMSGetErrorString=LMSGetErrorString;this.LMSGetDiagnostic=LMSGetDiagnostic;this.affecteObjectif=LMS_affecteObjectif;this.donneObjectif=LMS_donneObjectif;this.affecteInteraction=LMS_affecteInteraction;this.donneInteraction=LMS_donneInteraction;this.defaultSetValue=LMS_defaultSetValue;}function LMSInitialize(strParametre) {if (strParametre!=""){this.errorCode=_InvalidArgumentError; return "false";} if (this.cmi!=null){this.errorCode=_GeneralException; return "false";}this.errorCode=_NoError;this.changementStatut=false;this.suivantAutoPossible=true;this.effaceInteractions=true;this.effaceObjectifs=true;this.buffTempsSession=""; var res=""; var oItem=window.planLMS.MENU_trouveItemID(this.codeItemSelectionne); if ((oItem!=null)&&(oItem.cmi!=null)){ this.oItemAPI=oItem; this.cmi=this.oItemAPI.cmi; dernierSCO=oItem.identifier; var nbA=parseInt(oItem.nbAcces); if (isNaN(nbA)){nbA=0;} oItem.nbAcces=nbA+1; res="true"; } else { res="false"; this.errorCode=_GeneralException; } if (serveur.lesson_mode=="normal"){ this.dateEvt=getDateServeur("");}window.planLMS.MENU_afficheParcours(); return res;}function LMSGetValue(strElement) { this.errorCode=_NoError;if (this.cmi==null){this.errorCode=_NotInitialized;return "false";} switch (strElement){ case 'cmi.core._children' : return this.cmi.core._children; break; case 'cmi.core.student_id' : return serveur.id; break; case 'cmi.core.student_name' : return serveur.nomScorm; break; case 'cmi.core.lesson_location' : return this.cmi.core.lesson_location; break; case 'cmi.core.credit' : return this.cmi.core.credit; break; case 'cmi.core.lesson_status' : return this.cmi.core.lesson_status; break; case 'cmi.core.entry' : return this.cmi.core.entry; break; case 'cmi.core.score._children' : return this.cmi.core.score._children; break; case 'cmi.core.score.raw' : return this.cmi.core.score.raw; break; case 'cmi.core.score.max' : return this.cmi.core.score.max; break; case 'cmi.core.score.min' : return this.cmi.core.score.min; break; case 'cmi.core.total_time' : return this.cmi.core.total_time; break; case 'cmi.core.lesson_mode' : return serveur.lesson_mode; break; case 'cmi.suspend_data' : return this.cmi.suspend_data; break; case 'cmi.launch_data' : return this.cmi.launch_data; break; case 'cmi.comments' : return this.cmi.comments; break; case 'cmi.comments_from_lms' : return ""; break; case 'cmi.student_data._children' : return this.cmi.student_data._children; break; case 'cmi.student_data.mastery_score' : return this.cmi.student_data.mastery_score; break; case 'cmi.student_data.time_limit_action' : return this.cmi.student_data.time_limit_action; break; case 'cmi.student_data.max_time_allowed' : return this.cmi.student_data.max_time_allowed; break; case 'cmi.student_preference._children' : return this.cmi.student_preference._children; break; case 'cmi.student_preference.audio' : return this.cmi.student_preference.audio; break; case 'cmi.student_preference.language' : return this.cmi.student_preference.language; break; case 'cmi.student_preference.speed' : return this.cmi.student_preference.speed; break; case 'cmi.student_preference.text' : return this.cmi.student_preference.text; break; default : if (strElement.indexOf('cmi.objectives')==0){ return (this.donneObjectif(strElement)); } else if (strElement.indexOf('cmi.interactions')==0){ return (this.donneInteraction(strElement)); } else { this.errorCode=_InvalidArgumentError;return ""; } break; }}function LMSSetValue(strElement,strValeur) {this.errorCode=_NoError;if (this.cmi==null){this.errorCode=_NotInitialized;return "false";}this.modifications=true;strValeur=new String(strValeur);switch (strElement){case 'cmi.core.lesson_location' : this.cmi.core.lesson_location=strValeur;return "true"; break;case 'cmi.core.lesson_status' : if (this.cmi.core.lesson_status!=strValeur){this.changementStatut=true;this.cmi.core.setLessonStatus(strValeur);}return "true"; break;case 'cmi.core.score.raw' : return this.cmi.core.score.setScore("raw",strValeur); break;case 'cmi.core.score.max' : return this.cmi.core.score.setScore("max",strValeur); break;case 'cmi.core.score.min' : return this.cmi.core.score.setScore("min",strValeur); break;case 'cmi.core.exit' : this.cmi.core.exit=strValeur;return "true"; break;case 'cmi.core.session_time' : return this.cmi.core.setTime('session_time',strValeur); break;case 'cmi.suspend_data' : this.cmi.suspend_data=strValeur;return "true"; break;case 'cmi.comments' : this.cmi.comments=strValeur;return "true"; break;case 'cmi.student_preference.audio' : this.cmi.student_preference.audio=strValeur;return "true"; break;case 'cmi.student_preference.language' : this.cmi.student_preference.language=strValeur;return "true"; break;case 'cmi.student_preference.speed' : this.cmi.student_preference.speed=strValeur;return "true"; break;case 'cmi.student_preference.text' : this.cmi.student_preference.text=strValeur;return "true"; break;default : return this.defaultSetValue(strElement,strValeur);}}function LMS_defaultSetValue(strElement,strValeur){var resSV="false";if (strElement.indexOf('cmi.objectives')==0){ resSV=this.affecteObjectif(strElement,strValeur); } else if (strElement.indexOf('cmi.interactions')==0){ resSV=this.affecteInteraction(strElement,strValeur); } else {this.errorCode=_InvalidArgumentError;} return resSV;}function LMSCommit(strParametre) { this.errorCode=_NoError; if (this.modifications){ if (this.cmi.core.exit=="suspend"){ this.cmi.core.entry='resume'; } else { this.cmi.core.entry=''; }if (this.cmi.core.entry=="ab-initio"){this.cmi.core.entry='';}if (this.cmi.core.score.raw!=''){var scoreRaw=Number(this.cmi.core.score.raw);if (!isNaN(scoreRaw)){if (this.cmi.student_data.mastery_score!=''){var masterScore=Number(this.cmi.student_data.mastery_score);if (!isNaN(masterScore)){if ((this.cmi.core.lesson_status!="passed")&&(scoreRaw>=masterScore)){this.cmi.core.lesson_status="passed";} else if ((this.changementStatut)&&(this.cmi.core.lesson_status=="passed")&&(this.cmi.core.score.raw<masterScore)){this.cmi.core.lesson_status="failed";}}}}} if (window.planLMS!=null){ window.planLMS.PLAN_calculParcours(this.oItemAPI); window.haut.NAVIG_majFleches();window.planLMS.MENU_afficheParcours(); this.modifications=false; if ((serveur.lesson_mode=="normal")&& this.changementStatut){ LMS_persisteParcours();}}} return "true";}function exportScoDist(oTmp){var chaine='<unite id="'+oTmp.identifier+'" session_time="'+API.buffTempsSession+'" '+window.planLMS.ajouteAttributsNonVide(oTmp.cmi)+'>';if (oTmp.cmi.suspend_data!=''){chaine+='<suspend_data>'+window.planLMS.masqueCmiTexte(oTmp.cmi.suspend_data)+'</suspend_data>';}if (oTmp.cmi.comments!=''){chaine+='<comments>'+window.planLMS.masqueCmiTexte(oTmp.cmi.comments)+'</comments>';}chaine+=oTmp.cmi.objectives.exporter();chaine+=oTmp.cmi.interactions.exporter();chaine+='</unite>';return chaine;}function LMSFinish(strParametre) {if (this.cmi==null){this.errorCode=_NotInitialized;return "false";}this.errorCode=_NoError; this.LMSCommit("");if (this.cmi.core.exit==""){window.haut.majBoutonReprendre(this.oItemAPI.codeItem,'','');if (this.suivantAutoPossible){window.haut.NAVIG_allerSuivant();}} else if (this.cmi.core.exit=="logout"){ window.close();} else if (this.cmi.core.exit=="suspend"){ window.haut.majBoutonReprendre(this.oItemAPI.codeItem,'','');} else if (this.cmi.core.exit=="time-out"){ if ((this.suivantAutoPossible)&&(window.haut.oSuivCourant!=null)){window.haut.NAVIG_allerSuivant();} else {window.contenuLMS.location=RACINE_stage+"MosMtr/gen/blanc.htm"; }window.haut.majBoutonReprendre(this.oItemAPI.codeItem,'','');}this.cmi=null; this.oItemAPI=null;this.errorCode=_NoError; return "true";}function LMSGetLastError() { return this.errorCode;}function LMSGetDiagnostic(numStr) { return this.LMSGetErrorString(numStr);}function LMSGetErrorString(strCodeErreur) { switch (strCodeErreur){ case '0' : return 'No error';break; case '101' : return 'General Exception';break; case '201' : return 'Invalid argument error'; break; case '202' : return 'Element cannot have children'; break; case '203' : return 'Element not an array - Cannot have count'; break; case '301' : return 'Not initialized';break; case '401' : return 'Not implemented error';break; case '402' : return 'Invalid set value, element is a keyword';break; case '403' : return 'Element is read only';break; case '404' : return 'Element is write only';break; case '405' : return 'Incorrect Data Type';break; default : return ""; }} function LMS_donneObjectif(chRech){var ret='';if (chRech=='cmi.objectives._children'){ret=this.cmi.objectives._children;} else if (chRech=='cmi.objectives._count'){ ret=this.cmi.objectives.compte();} else if (chRech.indexOf('.score._children')>0){ ret=this.cmi.core.score._children; } else {var finCh=chRech.substring(15);var num=parseInt(finCh.substring(0,finCh.indexOf('.')));if (!isNan(num)&&(this.cmi.objectives.compte()>num)){ var oObjf=this.cmi.objectives.tabObjectifs[num];if (finCh.indexOf('.id')>0){ ret=oObjf.id;} else if (finCh.indexOf('.status')>0){ ret=oObjf.status;} else if (finCh.indexOf('.score.raw')>0){ ret=oObjf.score.raw;} else if (finCh.indexOf('.score.max')>0){ret=oObjf.score.max;}}} return ret;}function LMS_donneInteraction(chRech){var ret='';if (chRech=='cmi.interactions._children'){ret=this.cmi.interactions._children;} else if (chRech=='cmi.interactions._count'){ ret=this.cmi.interactions.compte();} else {var finCh=chRech.substring(17);var num=parseInt(finCh.substring(0,finCh.indexOf('.')));if (!isNan(num)&&(this.cmi.interactions.compte()>num)){ var oObjf=this.cmi.interactions.tabInteractions[num];if (finCh.indexOf('.objectives._count')>0){ ret=oObjf.objectives.compte();} else if (finCh.indexOf('.correct_responses._count')>0){ ret=oObjf.correct_responses.length;}}} return ret;} function LMS_affecteObjectif(chRech,val){var ret="false";if (chRech.search(/cmi.objectives.\d+./)>=0){if (this.effaceObjectifs){this.cmi.objectives.init();this.effaceObjectifs=false;}var finCh=chRech.substring(15);var num=parseInt(finCh.substring(0,finCh.indexOf('.')));if (!isNaN(num)){var oObjf;if (this.cmi.objectives.compte()>num){oObjf=this.cmi.objectives.tabObjectifs[num];} else { oObjf=this.cmi.objectives.ajouteObjectif(num); }if (finCh.indexOf('.id')>0){ oObjf.id=val;} else if (finCh.indexOf('.status')>0){ oObjf.status=val;} else if (finCh.indexOf('.score.raw')>0){ oObjf.score.setScore("raw",val);} else if (finCh.indexOf('.score.max')>0){oObjf.score.setScore("max",val);} else if (finCh.indexOf('.score.min')>0){oObjf.score.setScore("min",val);}ret="true";}} return ret;}function LMS_affecteInteraction(chRech,val){var ret="false";if (chRech.search(/cmi.interactions.\d+./)>=0){if (this.effaceInteractions){this.cmi.interactions.init();this.effaceInteractions=false;}var finCh=chRech.substring(17);var num=parseInt(finCh.substring(0,finCh.indexOf('.')));if (!isNaN(num)){var oObjf;if (this.cmi.interactions.compte()>num){oObjf=this.cmi.interactions.tabInteractions[num];} else { oObjf=this.cmi.interactions.ajouteInteraction(num); }if (chRech.indexOf('cmi.interactions.'+num+'.id')==0){ oObjf.id=val;} else if (finCh.indexOf('.objectives.')>0){ var debutNumObj=finCh.indexOf('objectives.')+11; finCh=finCh.substring(debutNumObj);var num2=parseInt(finCh.substring(0,finCh.indexOf('.')));if (!isNaN(num2)){var oInterObj;if (oObjf.objectives.compte()>num2){oInterObj=oObjf.objectives.tabObjectifs[num2];} else { oInterObj=oObjf.objectives.ajouteObjectif(num2); }if (finCh.indexOf('.id')>0){ oInterObj.id=val; }}} else if (finCh.indexOf('.time')>0){ oObjf.time=val;} else if (finCh.indexOf('.type')>0){ oObjf.type=val;} else if (finCh.indexOf('.correct_responses.')>0){var debutNumObj=finCh.indexOf('correct_responses.')+18; finCh=finCh.substring(debutNumObj);var num=parseInt(finCh.substring(0,finCh.indexOf('.'))); oObjf.correct_responses[num]=val;} else if (finCh.indexOf('.weighting')>0){ oObjf.weighting=val;} else if (finCh.indexOf('.student_response')>0){ oObjf.student_response=val;} else if (finCh.indexOf('.result')>0){ oObjf.result=val;} else if (finCh.indexOf('.latency')>0){ oObjf.latency=val;}ret="true";}} return ret;}function usrAsyncComplete() { if(objHTTP.readyState != 4) return(false); usrCheckHTTPStatus("200");}function usrCheckHTTPStatus(sExpected){ if (objHTTP.status != sExpected) { alert("Error "+objHTTP.status+": "+objHTTP.statusText); newWindow = window.open(); newWindow.document.body.innerHTML = objHTTP.responseText; return(false); } else return(true);}

