%
/******************************************************************************
* Copyright (c) 2000-2008 e-Deal
*
* e-Deal S.A.
* 55 rue Brillat Savarin
* 75013 Paris
* France
*
* T: +33 (0)1 53 80 80 30
* F: +33 (0)1 73 01 69 77
* http://www.e-deal.com
*
* La diffusion de ce code source sous quelque forme que ce soit sans
* l'autorisation de E-DEAL est interdite.
*
* Vous êtes autorisés à modifier ce code source uniquement pour votre usage
* propre et sous réserve que les mentions de copyright demeurent intactes.
*
* Ce code est fourni en l'état. Aucune garantie d'aucune sorte, explicite ou
* implicite n'est donnée. En aucun cas E-DEAL ne pourra être tenu pour
* responsable des dommages pouvant résulter de l'utilisation de ce code
* source.
******************************************************************************/
%><%@page session="true" import="com.edeal.frontline.*,java.util.*"%><%@taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl"%>
// The following code has been used with permission of ISICom from pcb.js
var gRefCom1 = 0;
var gRefCom2 = 0;
var gNbCom = 1;
var gTypePauseEnCours = 0;
var bCommAutomate = false;
var bPreview = false;
var CTIObject = null;
var isipbx = true;
var optTrace = false;
var optTraceAll = false;
// DGE : id de la fiche recu.
var datatransfered = '';
var currentCallID = '';
// Booléens de synchronisation.
var transferafterdelivered = false; // need to deliver the call before raising the form.
var clearcallafterestablished = false; // need to establish the communication then we can clear the line of the transfer.
var dataAlreadyTransfered = false; // for group transfer, need to attached data before transfer the call.
var objID;
var objType;
var transfRef = '';
var callerPhone = '';
function activateDebug() {
document.getElementById('isicomDebugHref').href = 'javascript:deactivateDebug()';
document.getElementById('isicomDebugHref').innerHTML = '';
document.getElementById('ISICOM_DEBUG').style.display = 'block';
optTrace = true;
optTraceAll = true;
}
function deactivateDebug() {
document.getElementById('isicomDebugHref').href = 'javascript:activateDebug()';
document.getElementById('isicomDebugHref').innerHTML = '';
document.getElementById('ISICOM_DEBUG').style.display = 'none';
optTrace = false;
optTraceAll = false;
}
function doCtiOnLoad() {
// Called from body.onLoad()
try {
window.onbeforeunload = doUnload;
} catch (error) {
}
doOnLoadCTI(true);
}
function doOnLoadCTI(doBlur) {
//createCookie('EdealCtiWindow','1');
window.resizeTo(475,275);
onLoadBody();
}
//function doCallCTI(arg0, arg1, arg2){
function doCallCTI(pPhone, pObj, pID){
//if (arg0 == '') {
if (pPhone == '') {
return;
}
try {
//CTIObject.AppelUnClient(arg0);
CTIObject.AppelUnClient(pPhone);
} catch (error) {
alert(error);
}
}
//var currentCallID = '';
function doAnswerCTI(pRef){
//alert('doAnswerCTI pRef : '+pRef);
transferafterdelivered = false;
objID = '';
objType = '';
try {
CTIObject.FctCSTA_ANSWER_CALL(pRef);
} catch (error) {
alert(error);
}
}
// Raccrocher.
function doReleaseCTI(pRef){
CTIObject.FctCSTA_CLEAR_CALL(gRefCom1);
}
// Transfert direct sans transfert de fiche.
function doDirectTransferCTI(pRef, pPhone){
//alert('pRef : '+pRef);
//alert('gRefCom1 : '+gRefCom1);
try {
CTIObject.FctCSTA_ANSWER_CALL(gRefCom1);
} catch (error) {
alert(error);
}
CTIObject.AppelUnClient(pPhone);
clearcallafterestablished = true;
CTIObject.FctCSTA_TRANSFERT_CALL(pRef);
CTIObject.FctCSTA_CLEAR_CALL(gRefCom1);
}
// Transfert 2 temps sans transfert de fiche.
function doTransferCTI(pRef, pPhone){
//alert('pRef : '+pRef);
//alert('gRefCom1 : '+gRefCom1);
try {
//CTIObject.FctCSTA_ANSWER_CALL(pRef);
CTIObject.FctCSTA_ANSWER_CALL(gRefCom1);
} catch (error) {
alert(error);
}
CTIObject.AppelUnClient(pPhone);
clearcallafterestablished = true;
CTIObject.FctCSTA_TRANSFERT_CALL(pRef);
// La synchro doit être fait après l'évènement ESTABLISHED.
//CTIObject.FctCSTA_CLEAR_CALL(gRefCom1);
}
// Transfert 2 temps avec transfert de fiche.
function doTransferFormCTI(pRef, pPhone, pobjID, pType, pIsGroup, pCallerPhone){
// DGE.
//alert('isicom applet js doTransferFormCTI : '+pCallerPhone+'|');
transferafterdelivered = true;
objID = pobjID;
objType = pType;
transfRef = gRefCom1;
callerPhone = pCallerPhone;
try {
CTIObject.FctCSTA_ANSWER_CALL(gRefCom1);
} catch (error) {
alert(error);
}
if (pIsGroup == 'true') {
CTIObject.FctCSTA_PRIVATE_TRANSFERT_DATA(objID+";"+objType+";"+callerPhone);
dataAlreadyTransfered = true;
}
CTIObject.AppelUnClient(pPhone);
// dépend de cstadelivered
//CTIObject.FctCSTA_TRANSFERT_CALL(gRefCom1);
//CTIObject.FctCSTA_CLEAR_CALL(gRefCom1);
}
// *****************************
// Transfert accompagné : fonctions non testées
// *****************************
function doInitiateTransfer(pRef, pActID, pPhone) {
// consult call.
CTIObject.FctCSTA_CONSULT_CALL(pPhone);
}
function doFormTransfer(pRef, actID, pPhone, pobjID, pType) {
CTIObject.FctCSTA_PRIVATE_TRANSFERT_DATA(pobjID+";"+pType);
//CTIObject.FctCSTA_REDIRECT_CALL(pRef, pPhone);
CTIObject.FctCSTA_TRANSFERT_CALL(pRef);
CTIObject.FctCSTA_CLEAR_CALL(pRef);
}
function retrieveTransfer(pRef, pActID, pPhone) {
}
// *****************************
function doChangeStatusCTI(newState) {
if (newState) {
fnSetEtatCTI('', '');
CTIObject.FctAgentEtatACD(4);
} else {
fnSetEtatCTI('', '');
CTIObject.FctAgentEtatACD(3);
}
}
// The following code added from
function onLoadMe(){
fnSetEtatCTI("FFFF00", "");
//fnDebug("onLoadMe", "startMode(1) automatique");
}
function QuitMe(){
fnSetEtatCTI("FF0000", "Quit");
bConnexPCB = false;
fnDebug("QuitMe", "Mode Applet, on quitte");
}
function EvtLinkUp(){
{
try {
fnDebug('EvtLinkUp', 'Evenement appelé par l\'applet lorsque celle ci est connecté au PCB');
onLoadMe();
bConnexPCB = true;
} catch (e){
fnDebug('EvtLinkUp :: ERREUR', e);
}
}
}
function EvtLinkDown(){
fnDebug('EvtLinkDown', 'Evenement appelé par l\'applet lorsque celle ci est déconnecté du PCB');
etatConnexion('1');
bConnexPCB = false;
}
function IdentificationAgent(nomAgent, numAgent, post) {
fnSetEtatCTI("00FF00", "");
pcbIdentificationAgent(nomAgent, numAgent, post);
}
function CSTA_ALERTING(refCom, Correspondant, appele){
pcbCSTA_ALERTING(refCom, Correspondant, appele);
}
function CSTA_ESTABLISHED(refCom, Correspondant, appele){
pcbCSTA_ESTABLISHED(refCom,Correspondant,appele);
}
function CSTA_CONNECTION_CLEAR(refCom){
pcbCSTA_CONNECTION_CLEAR(refCom);
}
function CSTA_CLEAR_MCDU(refCom){
pcbCSTA_CLEAR_MCDU(refCom)
}
function CSTA_SERVICE_INITIATED(refCom){
pcbCSTA_SERVICE_INITIATED(refCom);
}
function CSTA_TRANSFERED(arg0, arg1, arg2){
pcbCSTA_TRANSFERED(arg0, arg1, arg2);
}
function CSTA_HOLD_ME(arg0, arg1){
pcbCSTA_HOLD_ME(arg0, arg1);
}
function EvtAgentACD(arg0){
pcbEvtAgentACD(arg0);
}
function EvtDataFromAutomateCRM(idTicket, idContac, ResteTrame){
pcbEvtDataFromAutomateCRM(idTicket, idContac, ResteTrame);
}
function EvtDataPreviewFromAutomateCRM(idTicket, idContac, ResteTrame){
pcbEvtDataPreviewFromAutomateCRM(idTicket, idContac, ResteTrame);
}
function EvtScriptACD(arg0, arg1, arg2, arg3){
pcbEvtScriptACD(arg0, arg1, arg2, arg3);
}
function Unknown_Msg(){
pcbUnknown_Msg();
}
function AppelIdClientEntrant(arg0, arg1){
pcbAppelIdClientEntrant(arg0, arg1);
}
function AppelTelephonique(arg0, arg1){
// DGE mode auto
if (telephonyMode == 'Auto') {
var winIncoming = window.open('/receive_call.fl?phone=' + arg0 + '&ref=' + escape(currentCallID), 'Dring', 'menubar=no,status=yes,toolbar=no,scrollbars=yes,resizable=yes,width=800,height=600');
}
pcbAppelTelephonique(arg0, arg1);
}
function AutomateAppel(arg0, arg1, arg2, arg3){
pcbAutomateAppel(arg0, arg1, arg2, arg3);
}
function CommunicationIdClientEntrant(arg0, arg1){
pcbCommunicationIdClientEntrant(arg0, arg1);
}
function CommunicationTelephonique(arg0, arg1){
pcbCommunicationTelephonique(arg0, arg1);
}
function CstaClearCall(arg0, arg1){
pcbCSTA_CLEAR_CALL(arg0, arg1);
}
function CSTA_CONFERENCE(arg0, arg1, arg2){
pcbCSTA_CONFERENCE(arg0, arg1, arg2);
}
function CSTA_DELIVERED(arg0, arg1){
pcbCSTA_DELIVERED(arg0, arg1);
}
function CSTA_DIVERTED(arg0, arg1){
pcbCSTA_DIVERTED(arg0, arg1);
}
function CSTA_FAILED(arg0){
pcbCSTA_FAILED(arg0);
}
function CSTA_HOLD_OTHER(arg0, arg1){
pcbCSTA_HOLD_OTHER(arg0, arg1);
}
function CSTA_NETWORK_REACHED(arg0, arg1){
pcbCSTA_NETWORK_REACHED(arg0, arg1);
}
function CSTA_ORIGINATED(arg0, arg1){
pcbCSTA_ORIGINATED(arg0, arg1);
}
function CSTA_QUEUE(arg0, arg1){
pcbCSTA_QUEUE(arg0, arg1);
}
function CSTA_RETRIEVED(arg0, arg1){
pcbCSTA_RETRIEVED(arg0, arg1);
}
function CSTA_SERVICE_INITIATED(arg0){
pcbCSTA_SERVICE_INITIATED(arg0);
}
function errorRcpt(){
pcberrorRcpt();
}
function EtatConnectionPCB(arg0){
pcbEtatConnectionPCB(arg0);
}
function EvtResultPreviewFromAutomateCRM(arg0, arg1, arg2){
pcbEvtResultPreviewFromAutomateCRM(arg0, arg1, arg2);
}
function EvtSupervisionAgent(arg0, arg1, arg2){
pcbEvtSupervisionAgent(arg0, arg1, arg2);
}
function FinCommunicationTelephonique(arg0, arg1){
pcbFinCommunicationTelephonique(arg0, arg1);
}
function JournalAppelant(arg0, arg1){
pcbJournalAppelant(arg0, arg1);
}
function RequestIdentification(arg0, arg1, arg2){
currentCallID = arg0;
pcbRequestIdentification(arg0, arg1, arg2);
}
function ResultatAppel(arg0, arg1){
pcbResultatAppel(arg0, arg1);
}
function TransferData(arg0, arg1){
pcbTransferData(arg0, arg1);
}
function ViewDataCTI(arg0, arg1, arg2){
pcbViewDataCTI(arg0, arg1, arg2);
}
//////////////////////////////////////////////////
// ****************
///////////////////////////////////////////////////
function onLoadBody(){
fnTraceDiv();
var strBInfo = "b style='width:100%;background-color:#000000;color:#FFFFFF'";
/*
fnDebug("ISI-Com", "- Visualisation des états du Téléopérateur (libre, occupé, Pauses...)", strBInfo);
fnDebug("ISI-Com", "- Transfert un appel", strBInfo);
fnDebug("ISI-Com", "- Raccrocher un appel", strBInfo);
fnDebug("ISI-Com", "- Répondre à un appel", strBInfo);
fnDebug("ISI-Com", "- Effectuer un appel", strBInfo);
fnDebug("ISI-Com", "Exemple d'utilisation de l'OCX/Applet de la solution CTI.", strBInfo);
*/
if (!CTIObject)
{
CTIObject = document.getElementById("oCTIObject");
//fnDebug("onLoadBody", "Chargement CTIObject");
fnDebug("onLoadBody", "Chargement CTIObject");
}
if(CTIObject != null && CTIObject != undefined){
//fnDebug("onLoadBody", "Chargement OCX/Applet OK");
fnDebug("onLoadBody", "Chargement OCX/Applet OK");
onLoadMe();
}
else if(CTIObject == null || CTIObject == undefined)
fnDebug("onLoadBody", "Impossibilité de se connecter au PCB", "Impossibilité de se connecter au PCB, veuillez vérifier si l'Applet Java est correctement installée. (F5)", "");
}
/**
* Methodes Envoyées vers l'Applet
*/
function FinCom(){
CTIObject.FinCom(gRefCom1);
}
function fnDemandeEtat(arg){
fnDebug('fnDemandeEtat', 'Function JS qui fait une demande a l\'applet de changement d\'état :: ' + arg);
var state = parseFloat(arg);
if(state != 0 && gTypePauseEnCours == 0){
CTIObject.FctAgentEtatACD(arg);
gTypePauseEnCours = parseFloat(state);
}
else if(state == 0){
eval("CTIObject.FctAgentEtatACD('" + (gTypePauseEnCours + 1 ) + "')");
gTypePauseEnCoursEnCours = 0;
}
else if(gTypePauseEnCours != 0){
if(gTypePauseEnCours != state){
if(state != 0){
CTIObject.FctAgentEtatACD(arg);
gTypePauseEnCours = parseFloat(state);
}
}
}
}
/**
* Evenement Appelées depuis l'Applet
*/
function pcbIdentificationAgent(nomAgent, numAgent, post){
fnDebug('IdentificationAgent', 'Nom::' + nomAgent + ', Num::' + numAgent + ', Post::' + post);
if(numAgent != ''){
fnSetInfoAgent(numAgent + ' - ' + nomAgent);
}
}
function pcbCSTA_ESTABLISHED(refCom, Appelant, Appele) {
// Raccroche de suite pour faire le transfert direct.
if (clearcallafterestablished == true) {
CTIObject.FctCSTA_CLEAR_CALL(refCom);
clearcallafterestablished = false;
}
try{
if(refCom > 0){
gRefCom1 = refCom;
fnDebug('CSTA_ESTABLISHED', 'Affection d\'une ref de com1' + gRefCom1);
fnDebug('CSTA_ESTABLISHED', 'Appelant:' + Appelant);
fnDebug('CSTA_ESTABLISHED', 'Appele:' + Appele);
if(Appelant != '')
str = 'En communication avec : ' + Appelant;
else
str = 'Numéro caché';
fnSetEtatAppel(str);
fnBtnClearCall(true);
fnBtnTrfCall(true);
fnBtnHoldCall(true);
fnBtnRetrieveCall(false);
fnBtnAskCall(false);
}
else{
fnDebug('CSTA_ESTABLISHED', 'Gestion d\'une ref de com null');
}
}
catch(e){ fnDebug('CSTA_ESTABLISHED::ERREUR', '' + e); }
//doAjax('/doAddCTICallTime_ajax.fl?pRef=' + escape(refCom) + '¬ifType=1&timeMillis=' + (new Date()).getTime());
}
function fnBtnClearCall(bBool){
var oObj = document.getElementById("BtnClearCall");
if(bBool)
oObj.style.display = '';
else
oObj.style.display = 'none';
}
function fnBtnTrfCall(bBool){
var oObj = document.getElementById("BtnTrfCall");
if(bBool)
oObj.style.display = '';
else
oObj.style.display = 'none';
}
function fnBtnAskCall(bBool){
var oObj = document.getElementById("BtnAskCall");
if(bBool)
oObj.style.display = '';
else
oObj.style.display = 'none';
}
function fnBtnHoldCall(bBool){
var oObj = document.getElementById("BtnHoldCall");
if(bBool)
oObj.style.display = '';
else
oObj.style.display = 'none';
}
function fnBtnRetrieveCall(bBool){
var oObj = document.getElementById("BtnRetrieveCall");
if(bBool)
oObj.style.display = '';
else
oObj.style.display = 'none';
}
function pcbCSTA_ALERTING(refCom,Appelant,Appele){
gRefCom1 = refCom;
fnDebug('CSTA_ALERTING', 'Affection d\'une ref de com1' + gRefCom1);
if(Appelant != '')
str = 'Appel de : ' + Appelant;
else
str = 'Numéro caché';
fnSetEtatAppel(str);
fnBtnAskCall(true);
}
function pcbCSTA_CONNECTION_CLEAR(refCom,Appelant){
fnDebug('CSTA_CONNECTION_CLEAR', 'Suppresion de la ref :' + refCom + ',en cours : gRefCom1:' + gRefCom1);
//gRefCom1 = 0;
if (refCom == gRefCom1) {
gRefCom1 = 0;
}
if (gRefCom2 == refCom) {
gRefCom2 = 0;
}
fnSetEtatAppel('');
fnBtnClearCall(false);
fnBtnTrfCall(false);
fnBtnRetrieveCall(false);
fnBtnHoldCall(false);
//doAjax('/doAddCTICallTime_ajax.fl?pRef=' + escape(refCom) + '¬ifType=2&timeMillis=' + (new Date()).getTime());
}
function pcbCSTA_CLEAR_MCDU(refCom,Appelant){
fnDebug('CSTA_CLEAR_MCDU', 'Suppresion de la ref :' + refCom + ',en cours : gRefCom1:' + gRefCom1);
gRefCom1 = 0;
fnSetEtatAppel('');
fnBtnClearCall(false);
fnBtnTrfCall(false);
fnBtnRetrieveCall(false);
fnBtnHoldCall(false);
}
function pcbCSTA_SERVICE_INITIATED(arg0){
fnDebug('CSTA_SERVICE_INITIATED', 'arg0:' + arg0);
}
//function pcbCSTA_TRANSFERED(arg0, arg1, arg2){
// fnDebug('CSTA_TRANSFERED', 'arg0:' + arg0 + ', arg1:' + arg1 + ', arg2:' + arg2);
//}
function pcbCSTA_TRANSFERED(oldRefcom, correspondant, newRefCom){
fnDebug('CSTA_TRANSFERED', 'oldRefcom:' + oldRefcom + ', correspondant:' + correspondant + ', newRefCom:' + newRefCom);
gRefCom1 = newRefCom;
if (datatransfered != '') {
var index = datatransfered.indexOf(";", 0);
var type;
var callerPhone = '';
// 1ere position.
if (index > 0) {
// 2nde position.
type = datatransfered.substring(index + 1) ;
datatransfered = datatransfered.substring(0, index) ;
index = type.indexOf(";", 0);
if (index > 0) {
callerPhone = type.substring(index + 1) ;
type = type.substring(0, index) ;
}
} else {
//datatransfered = arg1;
type = 'solicitation';
}
// Object window.
window.open('/read_'+type+'.fl?id='+datatransfered, 'fiche_cti'+newRefCom, 'menubar=no,status=yes,toolbar=no,scrollbars=yes,resizable=yes,width=1000,height=800');
datatransfered = '';
// Incoming call window.
var winIncoming = window.open('/receive_call.fl?phone=' + callerPhone, 'Dring', 'menubar=no,status=yes,toolbar=no,scrollbars=yes,resizable=yes,width=800,height=600');
//winIncoming.focus();
}
}
// arg0 = RefCom
// arg1 = Correspondent
function pcbCSTA_HOLD_ME(arg0, arg1){
fnDebug('CSTA_HOLD_ME', 'arg0:' + arg0 + ', arg1:' + arg1);
// On fait suivre la référence de communication.
if (gRefCom2 == arg0) {
if (gRefCom1 > 0)
gRefCom2 = gRefCom1 ;
else
gRefCom2 = 0;
}
gRefCom1 = arg0
if(arg1 != '')
str = 'En communication avec : ' + arg1 ;
else
str = 'Numéro caché';
str += ' (Appel en attente)';
fnSetEtatAppel(str);
fnBtnHoldCall(false);
fnBtnRetrieveCall(true);
}
function EvtEtatAgent(arg){
try{
fnDebug('EvtEtatAgent', '...');
return EvtAgentACD(arg)
}catch(e){
fnDebug('EvtEtatAgent :: ERREUR', e);
};
}
function EvtCallACD(arg0, arg1, arg2) {
pcbEvtCallACD(arg0, arg1, arg2);
}
function pcbEvtCallACD(arg0, arg1, arg2) {
//doAjax('/doAddCTICallTime_ajax.fl?pRef=' + escape(arg0) + '¬ifType=3&timeMillis=' + escape(arg2));
}
function pcbEvtAgentACD(arg){
fnDebug('EvtAgentACD', 'Evenement appelé par l\'applet lors d\'un changement d\'état de l\'agent :: ' + arg);
bPauseAfterAutomate = true;
switch(parseInt(arg)){
case 1: //Libre
fnDebug('EvtAgentACD', 'Agent passe en "Libre"');
fnSetInfoAgentEtat("Libre");
break;
case 2: //Occupé
fnDebug('EvtAgentACD', 'Agent passe en"Occupe"');
fnSetInfoAgentEtat("Occupe");
break;
case 3: //Deconnecte
fnDebug('EvtAgentACD', 'Agent passe en "Deconnecte"');
fnSetInfoAgentEtat("Deconnecte");
break;
case 4://Traitement informatique
fnDebug('EvtAgentACD', 'Agent passe en "Traitement informatique"');
fnSetInfoAgentEtat("Traitement informatique");
break;
case 5://En appel ACD
fnDebug('EvtAgentACD', 'Agent passe en "En appel ACD"');
fnSetInfoAgentEtat("En appel ACD");
break;
case 6: //En Communication ACD
fnDebug('EvtAgentACD', 'Agent passe en "En Communication ACD"');
fnSetInfoAgentEtat("En Communication ACD");
break;
case 7: //Pause Personnelle
fnDebug('EvtAgentACD', 'Agent passe en "Pause Personnelle"');
fnSetInfoAgentEtat("Pause Personnelle");
break;
case 8://Pause Administrative
fnDebug('EvtAgentACD', 'Agent passe en "Pause Administrative"');
fnSetInfoAgentEtat("Pause Administrative");
break;
case 9://Reservation automate
fnDebug('EvtAgentACD', 'Reservation par l\'automate d\'appels');
fnSetInfoAgentEtat("Reservation par l'automate d'appels");
break;
case 10://Communication Automate
fnDebug('EvtAgentACD', 'Communication Automate d\'appels');
fnSetInfoAgentEtat("Communication Automate d'appels");
break;
case 11://Wrapup Automate
fnDebug('EvtAgentACD', 'Wrapup Automate');
fnSetInfoAgentEtat("Wrapup Automate");
break;
case 0: //Pause
fnDebug('EvtAgentACD', 'Agent passe en "Pause"');
fnSetInfoAgentEtat("Pause");
break;
}
}
function pcbEvtDataFromAutomateCRM(idTicket, idContac, ResteTrame){
fnDebug('EvtDataFromAutomateCRM', 'ID_TICKET:' + idTicket + ', ID_CONTACT:' + idContac + ', ResteTrame:' + ResteTrame);
}
function pcbEvtDataPreviewFromAutomateCRM(idContac, idTicket, ResteTrame){
fnDebug('EvtDataPreviewFromAutomateCRM', 'ID_TICKET:' + idTicket + ', ID_CONTACT:' + idContac + ', ResteTrame:' + ResteTrame);
}
function pcbEvtScriptACD(arg0, arg1, arg2){
fnDebug('EvtScriptACD', 'arg0:' + arg0 + ', arg1:' + arg1 + ', arg2:' + arg2);
}
function pcbUnknown_Msg(){
fnDebug('Unknown_Msg', 'Unknown_Msg');
}
function pcbAppelIdClientEntrant(arg0, arg1){
fnDebug('AppelIdClientEntrant', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbAppelTelephonique(arg0, arg1){
fnDebug('AppelTelephonique', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbAutomateAppel(arg0, arg1, arg2, arg3){
fnDebug('AutomateAppel', 'arg0:' + arg0 + ', arg1:' + arg1 + ', arg2:' + arg2 + ', arg3:' + arg3);
}
function pcbCommunicationIdClientEntrant(arg0, arg1){
fnDebug('CommunicationIdClientEntrant', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbCommunicationTelephonique(arg0, arg1){
fnDebug('CommunicationTelephonique', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbCSTA_CLEAR_CALL(arg0, arg1){
fnDebug('CSTA_CLEAR_CALL', 'arg0:' + arg0 + ', arg1:' + arg1);
fnSetEtatAppel('');
//doAjax('/doAddCTICallTime_ajax.fl?pRef=' + escape(arg0) + '¬ifType=2&timeMillis=' + (new Date()).getTime());
}
function pcbCSTA_CONFERENCE(arg0, arg1, arg2){
fnDebug('CSTA_CONFERENCE', 'arg0:' + arg0 + ', arg1:' + arg1 + ', arg2:' + arg2);
fnSetEtatAppel('En conférence avec : ' + arg1 + ' - ' + arg2);
}
function pcbCSTA_DELIVERED(arg0, arg1){
fnDebug('CSTA_DELIVERED', 'arg0:' + arg0 + ', arg1:' + arg1);
fnSetEtatAppel('Appel : ' + arg1);
//alert('DELIVERED [transferafterdelivered : '+transferafterdelivered+' , objID : '+objID+' , transfRef : '+transfRef+']');
// DGE.
if (transferafterdelivered == true) {
if (objID != null && objID != '') {
// L'association des données est déjà faite si on transfert vers un groupe de compétences.
if (dataAlreadyTransfered == false) {
// Association des données au transfert.
CTIObject.FctCSTA_PRIVATE_TRANSFERT_DATA(objID+";"+objType+";"+callerPhone);
} else {
dataAlreadyTransfered = false;
CTIObject.FctCSTA_TRANSFERT_CALL(transfRef);
}
//CTIObject.FctCSTA_TRANSFERT_CALL(transfRef);
//CTIObject.FctCSTA_CLEAR_CALL(transfRef);
transferafterdelivered = false;
objID = '';
objType = '';
transfRef = '';
}
}
}
function pcbCSTA_DIVERTED(arg0, arg1){
fnDebug('CSTA_DIVERTED', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbCSTA_FAILED(arg0){
fnDebug('CSTA_FAILED', 'arg0:' + arg0);
}
function pcbCSTA_HOLD_OTHER(arg0, arg1){
fnDebug('CSTA_HOLD_OTHER', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbCSTA_NETWORK_REACHED(arg0, arg1){
fnDebug('CSTA_NETWORK_REACHED', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbCSTA_ORIGINATED(arg0, arg1){
fnDebug('CSTA_ORIGINATED', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbCSTA_QUEUE(arg0, arg1){
fnDebug('CSTA_QUEUE', 'arg0:' + arg0 + ', arg1:' + arg1);
}
// arg0 : RefCom
// arg1 : Correspondent
function pcbCSTA_RETRIEVED(arg0, arg1){
//gRefCom1 = arg0;
//fnDebug('CSTA_RETRIEVED', 'arg0:' + gRefCom1 + ',arg1:' + arg1);
//gRefCom1 = arg0;
if (gRefCom2 == 0) {
gRefCom2 = gRefCom1;
gRefCom1 = 0;
}
fnDebug('CSTA_RETRIEVED', 'arg0:' + arg0 + ',arg1:' + arg1);
if(arg1 != '')
str = 'En communication avec : ' + arg1 ;
else
str = 'Numéro caché';
str += ' (reprise de communication)';
fnSetEtatAppel(str);
fnBtnClearCall(true);
fnBtnTrfCall(true);
fnBtnRetrieveCall(false);
fnBtnAskCall(false);
fnBtnHoldCall(true);
}
function pcberrorRcpt(){
fnDebug('errorRcpt', '');
}
function pcbEtatConnectionPCB(arg0){
fnDebug('EtatConnectionPCB', 'arg0:' + arg0);
}
function pcbEvtResultPreviewFromAutomateCRM(arg0, arg1, arg2){
fnDebug('EvtResultPreviewFromAutomateCRM', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbEvtSupervisionAgent(arg0, arg1, arg2){
fnDebug('EvtSupervisionAgent', 'arg0:' + arg0 + ', arg1:' + arg1 + ', arg2:' + arg2);
}
function pcbFinCommunicationTelephonique(arg0, arg1){
fnSetEtatAppel('');
fnDebug('FinCommunicationTelephonique', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbJournalAppelant(arg0, arg1){
fnDebug('JournalAppelant', 'arg0:' + arg0 + ', arg1:' + arg1);
}
// arg0 : refAppel
// arg1 : appelant
// arg2 : appele
function pcbRequestIdentification(arg0, arg1, arg2){
fnDebug('RequestIdentification', 'arg0:' + arg0 + ', arg1:' + arg1 + ', arg2:' + arg2);
// Pas de traitement si numéro interne ...
if ((arg1 == '') || (arg1 != '' && arg1.length >= 5)) {
doAjax('/doRequestId_ajax.fl?phone='+arg1+'&ref='+arg0);
}
}
function doSendIdentificationCTI(entCorpName, perName, perFstName, pRef) {
CTIObject.SendIdentificationPCB(pRef, perName, perFstName, entCorpName);
}
function pcbResultatAppel(arg0, arg1){
fnDebug('ResultatAppel', 'arg0:' + arg0 + ', arg1:' + arg1);
}
function pcbTransferData(arg0, arg1){
fnDebug('TransferData', 'arg0:' + arg0 + ', arg1:' + arg1);
// Les données du transfert sont récupérées.
// Elles ne sont lues qu'au décroché de l'agent B.
datatransfered = arg1;
}
// arg0 : refcom
// arg1 : numberCaller
// arg2 : numberCalling
function pcbViewDataCTI(arg0, arg1, arg2){
fnDebug('ViewDataCTI', 'arg0:' + arg0 + ', arg1:' + arg1 + ', arg2:' + arg2);
// DGE mode auto
if (telephonyMode != 'Auto') {
// Incoming call window.
var winIncoming = window.open('/receive_call.fl?phone=' + arg1, 'Dring', 'menubar=no,status=yes,toolbar=no,scrollbars=yes,resizable=yes,width=800,height=600');
}
}
/*Function libre ........ OCX exemple*/
function makeCall(strValue){
if(strValue != '')
CTIObject.AppelUnClient(strValue);
fnDebug('makeCall', 'Demande d\'appel : ' + strValue);
}
function askCall(){
if(gRefCom1 > 0)
CTIObject.FctCstaAnswerCall(gRefCom1);
}
function trfCall(){
if(gRefCom1 > 0 && gRefCom2 > 0){
CTIObject.FctCstaTransfertCall(gRefCom1);
clearCall(1);
}
else{
if(gRefCom2 <= 0)
fnDebug('trfCall::ERREUR', 'Demande de transfert de communication impossible car pas 2eme communication.');
}
}
function clearCall(nCom){
if(gRefCom1 > 0 && (nCom == undefined || nCom == 1))
CTIObject.FctCstaClearCall(gRefCom1);
else if(gRefCom2 > 0 && (nCom == undefined || nCom == 2))
CTIObject.FctCstaClearCall(gRefCom2);
}
function holdCall(nCom){
if(gRefCom1 > 0 && (nCom == undefined || nCom == 1))
CTIObject.FctCstaHoldCall(gRefCom1);
else if(gRefCom2 > 0 && (nCom == undefined || nCom == 2))
CTIObject.FctCstaHoldCall(gRefCom2);
}
function retrieveCall(nCom){
if(gRefCom1 > 0 && (nCom == undefined || nCom == 1))
CTIObject.FctCstaRetrieveCall(gRefCom1);
else if(gRefCom2 > 0 && (nCom == undefined || nCom == 2))
CTIObject.FctCstaRetrieveCall(gRefCom2);
}
/*Function libre ........ Java exemple*/
function j_makeCall(strValue){
if(strValue != '')
CTIObject.AppelUnClient(strValue);
fnDebug('makeCall', 'Demande d\'appel : ' + strValue);
}
function j_askCall(){
alert(gRefCom1);
if(gRefCom1 > 0)
CTIObject.FctCSTA_ANSWER_CALL(gRefCom1);
}
function j_trfCall(){
if(gRefCom1 > 0 && gRefCom2 > 0){
CTIObject.FctCSTA_TRANSFERT_CALL(gRefCom1);
clearCall(1);
}
else{
if(gRefCom2 <= 0)
fnDebug('trfCall::ERREUR', 'Demande de transfert de communication impossible car pas 2eme communication.');
}
}
function j_clearCall(nCom){
if(gRefCom1 > 0 && (nCom == undefined || nCom == 1))
CTIObject.FctCSTA_CLEAR_CALL(gRefCom1);
else if(gRefCom2 > 0 && (nCom == undefined || nCom == 2))
CTIObject.FctCSTA_CLEAR_CALL(gRefCom2);
}
function j_holdCall(nCom){
if(gRefCom1 > 0 && (nCom == undefined || nCom == 1))
CTIObject.FctCSTA_HOLD_CALL(gRefCom1);
else if(gRefCom2 > 0 && (nCom == undefined || nCom == 2))
CTIObject.FctCSTA_HOLD_CALL(gRefCom2);
}
function j_retrieveCall(nCom){
if(gRefCom1 > 0 && (nCom == undefined || nCom == 1))
CTIObject.FctCSTA_RETRIEVE_CALL(gRefCom1);
else if(gRefCom2 > 0 && (nCom == undefined || nCom == 2))
CTIObject.FctCSTA_RETRIEVE_CALL(gRefCom2);
}
/* TRACE */
function fnTraceDiv(){
try{
var oObjTrace = document.getElementById('divDebug');
if(!oObjTrace){
oObjTrace = document.createElement('DIV');
oObjTrace.setAttribute('id', 'divDebug');
oObjTrace.setAttribute('name', 'divDebug');
oObjTrace.ondblclick = function (){this.innerHTML = '';};
oObjTrace.style.font = '7pt Verdana';
oObjTrace.style.width = '100%';
oObjTrace.style.display = 'none';
document.body.appendChild(oObjTrace);
}
if(!optTrace){
oObjTrace.style.bottom = '-100px';
oObjTrace.style.display = 'none';
}
else{
oObjTrace.style.top = '50px';
oObjTrace.style.width = '100%';
oObjTrace.style.display = '';
oObjTrace.style.border = '1px solid #AAAAAA';
oObjTrace.style.backgroundColor = '#FEFEFE';
fnDebug('fnTraceDiv', 'DEBUG ACTIF');
fnDebug('fnTraceDiv::warning', 'ATTENTION LE MODULE DE TRACE EST ACTIF, CETTE ELEMENT PREND LA MAIN SUR LES ELEMENTS SE TROUVANT AU DESOUS!!!');
}
}
catch(e){}
}
function fnDebug(strFunc, strTrace, strBalise, bNrl){
try{
if(!optTrace)
return;
var oObjTrace = document.getElementById('divDebug');
if(!oObjTrace)
return;
var dS = '';
var dE = '';
if(strBalise != undefined){
dS = '<' + strBalise + '>';
dE = '' + strBalise + '>';
}
if(bNrl == undefined) bNrl = false;
if(bNrl == false)
dE += '
';
if(strFunc.toLowerCase().indexOf('error') > 0 || strFunc.toLowerCase().indexOf('erreur') > 0)
oObjTrace.innerHTML = '
' + dS + ''+ strFunc + ' :: ' + strTrace + dE + '
' + ((optTraceAll && oObjTrace.scrollHeight < 1024)?oObjTrace.innerHTML:'');
else if(strFunc.toLowerCase().indexOf('warning') > 0 || strFunc.toLowerCase().indexOf('warning') > 0)
oObjTrace.innerHTML = '' + dS + ''+ strFunc + ' :: ' + strTrace + dE + '
' + ((optTraceAll && oObjTrace.scrollHeight < 1024)?oObjTrace.innerHTML:'');
else
oObjTrace.innerHTML = dS + ''+ strFunc + ' :: ' + strTrace + dE + ((optTraceAll && oObjTrace.scrollHeight < 512)?oObjTrace.innerHTML:'');
}
catch(e){}
}
function fnSetEtatAppel(strLib){
var oLibAppelDe = document.getElementById('bLibAppelDe');
oLibAppelDe.innerHTML = strLib;
}
function fnSetInfoAgent(strLib){
// var oLibAgent = document.getElementById('bLibAgent');
// oLibAgent.innerHTML = strLib;
}
function fnSetInfoAgentEtat(strLib){
// var oLibEtatt = document.getElementById('bLibEtat');
// oLibEtatt.innerHTML = strLib;
}
function fnSetEtatCTI(strColor, strLib){
var oObj = document.getElementById('bConnexCTI');
// oObj.style.backgroundColor = strColor;
if(strLib)
oObj.innerHTML = strLib;
}