var callbacktemp; var urltemp; var requestdatatemp; var serviceswitch; var isonline = true; var interval; var searchdata = false; function checknetworkInfo(is_online){ if(is_online.type == "offline"){ isonline = false; } else { isonline = true; } } function checkOnline(){ if(isonline == false){ showAlert("Please check your internet connection!!!", false); } else { return true; } } //offline check document.addEventListener("offline", checknetworkInfo, false); //offline check document.addEventListener("online", checknetworkInfo, false); //error status function errorStatus(request, status, error){ showAlert("Oops! Something went wrong, please try again later.", false); } //common request and response function Apiservicecall(callback,Url,Requestdata) { serviceswitch = 1; callbacktemp=callback; urltemp=Url; requestdatatemp=Requestdata; var access_token=getItem("access_token"); console.log("Api service access_token----->"+access_token); console.log("Api service refresh_token----->"+getItem("refresh_token")); var ajax_url=Url+"?access_token="+access_token console.log("Api service Url AXA----->"+ajax_url); var esubmissionidObj = { esubmissionuserid: getItem("esubmissionuserid"),referenceData:getItem("referenceData") }; Requestdata = objectmerge(Requestdata,esubmissionidObj); console.log("Api service data AXA----->"+ JSON.stringify(Requestdata)); $.ajax({ type: 'POST', beforeSend: function () { $('.loading-mask').removeClass('stop-loading') }, url: ajax_url, dataType: 'json', crossDomain: true, data: JSON.stringify(Requestdata), contentType: 'application/json; charset=utf-8', success: function (response) { console.log("Api service reponse AXA----->"+JSON.stringify(response)); $('.loading-mask').addClass('stop-loading'); if(response.status==1&&!isEmpty(response.referenceData)) { setItem("referenceData", response.referenceData); } callback({response: response, status: 1}); }, error: function (request, status, error) { console.log("Api service reponse AXA-----> status " + status); console.log("Error request status text: " + request.statusText); console.log("Error request status: " + request.status); console.log("Error request response text: " + request.responseText); console.log("Error response header: " + request.getAllResponseHeaders()); $('.loading-mask').addClass('stop-loading'); if(request.status==401) { console.log("Error request status:======**********=====" + request.status); var oauthrequest = { grant_type: 'password', username: passEncrypt(getItem("esubmissionuserid")), password: getItem("password")}; OAuthexpire(function(result) { if(result.status==1) { var response=result.response; setItem("access_token", response.access_token); setItem("refresh_token", response.refresh_token); console.log(""+JSON.stringify(response.access_token)); Apiservicecall(callbacktemp,urltemp,requestdatatemp); } },oauthtoken,oauthrequest); } else{ errorStatus(request, status, error); } callback({response:null, status: 0}); } }); } //common request and response function Apiservicecallp2(callback,Url,Requestdata) { serviceswitch = 1; callbacktemp=callback; urltemp=Url; requestdatatemp=Requestdata; var access_token=getItem("access_token"); console.log("Api service access_token----->"+access_token); console.log("Api service refresh_token----->"+getItem("refresh_token")); var ajax_url=Url+"?access_token="+access_token console.log("Api service Url AXA----->"+ajax_url); var esubmissionidObj = { esubmissionuserid: getItem("esubmissionuserid"),referenceData:getItem("referenceData") }; Requestdata = objectmerge(Requestdata,esubmissionidObj); var encrypted_request = {requestdata: passEncrypt(JSON.stringify(Requestdata))}; console.log("encripted json request",JSON.stringify(encrypted_request)); $.ajax({ type: 'POST', beforeSend: function () { $('.loading-mask').removeClass('stop-loading') }, url: ajax_url, dataType: 'json', crossDomain: true, data: JSON.stringify(encrypted_request), contentType: 'application/json; charset=utf-8', success: function (responseEncrypted) { console.log("Api service reponse AXA----->"+JSON.stringify(responseEncrypted)); var response = passDecrypt(responseEncrypted.responsedata); if(!isEmpty(response)) { response = JSON.parse(response); } $('.loading-mask').addClass('stop-loading'); if(response.status==1&&!isEmpty(response.referenceData)) { setItem("referenceData",response.referenceData); } callback({response: response, status: 1}); }, error: function (request, status, error) { console.log("Api service reponse AXA-----> status " + status); console.log("Error request status text: " + request.statusText); console.log("Error request status: " + request.status); console.log("Error request response text: " + request.responseText); console.log("Error response header: " + request.getAllResponseHeaders()); $('.loading-mask').addClass('stop-loading'); if(request.status==401) { console.log("Error request status:======**********=====" + request.status); var oauthrequest = { grant_type: 'password', username: passEncrypt(getItem("esubmissionuserid")), password: getItem("password")}; OAuthexpire(function(result) { if(result.status==1) { var response=result.response; setItem("access_token", response.access_token); setItem("refresh_token", response.refresh_token); console.log(""+JSON.stringify(response.access_token)); Apiservicecall(callbacktemp,urltemp,requestdatatemp); } },oauthtoken,oauthrequest); } else{ errorStatus(request, status, error); } callback({response:null, status: 0}); } }); } //object merge function objectmerge(Requestdata, esubmissionidObj) { for (var key in esubmissionidObj) { Requestdata[key] = esubmissionidObj[key]; } return Requestdata; } //policies implementation function Apiservicecallpolicies(callback,Url,Requestdata) { serviceswitch = 2; callbacktemp=callback; urltemp=Url; requestdatatemp=Requestdata; var access_token=getItem("access_token"); console.log("Api service access_token----->"+access_token); console.log("Api service refresh_token----->"+getItem("refresh_token")); var ajax_url=Url+"?access_token="+access_token console.log("Api service Url AXA----->"+ajax_url); Requestdata = Object.assign( { esubmissionuserid: getItem("esubmissionuserid"),referenceData:getItem("referenceData") }, Requestdata ); console.log("Api service data AXA----->"+ JSON.stringify(Requestdata)); $.ajax({ type: 'POST', beforeSend: function () { }, url: ajax_url, dataType: 'json', crossDomain: true, data: JSON.stringify(Requestdata), contentType: 'application/json; charset=utf-8', success: function (response) { console.log("Api service reponse AXA----->"+JSON.stringify(response)); $('.loading-mask').addClass('stop-loading'); searchdata = false; if(response.status==1&&!isEmpty(response.referenceData)) { setItem("referenceData", response.referenceData); } callback({response: response, status: 1}); }, error: function (request, status, error) { console.log("Api service reponse AXA-----> status " + status); console.log("Error request status text: " + request.statusText); console.log("Error request status: " + request.status); console.log("Error request response text: " + request.responseText); console.log("Error response header: " + request.getAllResponseHeaders()); if(request.status==401) { console.log("Error request status:======**********=====" + request.status); var oauthrequest = { grant_type: 'password', username: passEncrypt(getItem("esubmissionuserid")), password: getItem("password")}; if( searchdata == false ){ OAuthexpire(function(result) { if(result.status==1) { searchdata = true; var response=result.response; setItem("access_token", response.access_token); setItem("refresh_token", response.refresh_token); console.log(""+JSON.stringify(response.access_token)); Apiservicecallpolicies(callbacktemp,urltemp,requestdatatemp); } },oauthtoken,oauthrequest); } } else{ errorStatus(request, status, error); } callback({response:null, status: 0}); } }); } // Oauth implementation function OAuth(callback,Url,Requestdata) { console.log("Api service Url AXA----->"+Url); console.log("Api service data AXA----->"+ JSON.stringify(Requestdata)); $.ajax({ type: 'POST', timeout: 12000, data: Requestdata, crossDomain: true, headers: {"Authorization": "Basic b244K2RNV0twVXJHOWZlTEw0SVZCdz09Okt3ZFVHTURNRlNhTzlSVEVwTjl1SG5uOUlpNElGcTV3TW9VenFDOXk1QVk9","Username":"on8+dMWKpUrG9feLL4IVBw==","Password":"KwdUGMDMFSaO9RTEpN9uHnn9Ii4IFq5wMoUzqC9y5AY="}, // beforeSend: function () { // $('.loading-mask').removeClass('stop-loading') // }, url: Url, dataType: 'json', Accept: "application/json; charset=UTF-8", success: function (response) { console.log("Api service reponse AXA----->"+JSON.stringify(response)); // $('.loading-mask').addClass('stop-loading'); callback({response: response, status: 1}); }, error: function (request, status, error) { console.log("Api service reponse AXA-----> status " + status); console.log("Error request status text: " + request.statusText); console.log("Error request status: " + request.status); console.log("Error request response text: " + request.responseText); console.log("Error response header: " + request.getAllResponseHeaders()); $('.loading-mask').addClass('stop-loading'); errorStatus(request, status, error); callback({response:null, status: 0}); } }); } // Oauth Expire refresh function OAuthexpire(callback,Url,Requestdata) { console.log("Api service Url AXA----->"+Url); console.log("Api service data AXA----->"+ JSON.stringify(Requestdata)); var body = { grant_type: 'refresh_token', refresh_token: getItem("refresh_token"), }; $.ajax({ type: 'POST', timeout: 12000, data: body, crossDomain: true, headers: {"Authorization": "Basic b244K2RNV0twVXJHOWZlTEw0SVZCdz09Okt3ZFVHTURNRlNhTzlSVEVwTjl1SG5uOUlpNElGcTV3TW9VenFDOXk1QVk9","Username":"on8+dMWKpUrG9feLL4IVBw==","Password":"KwdUGMDMFSaO9RTEpN9uHnn9Ii4IFq5wMoUzqC9y5AY="}, beforeSend: function () { $('.loading-mask').removeClass('stop-loading') }, url: Url, dataType: 'json', Accept: "application/json; charset=UTF-8", success: function (response) { console.log("Api service reponse AXA----->"+JSON.stringify(response)); $('.loading-mask').addClass('stop-loading'); callback({response: response, status: 1}); }, error: function (request, status, error) { console.log("Api service reponse AXA-----> status " + status); console.log("Error request status text: " + request.statusText); console.log("Error request status: " + request.status); console.log("Error request response text: " + request.responseText); console.log("Error response header: " + request.getAllResponseHeaders()); $('.loading-mask').addClass('stop-loading'); if(request.status==400||request.status==401) { var oauthrequest = { grant_type: 'password', username: passEncrypt(getItem("esubmissionuserid")), password: getItem("password")}; OAuth(function(result) { if(result.status==1) { var response=result.response; setItem("access_token", response.access_token); setItem("refresh_token", response.refresh_token); console.log(""+JSON.stringify(response.access_token)); if(serviceswitch == 1){ Apiservicecall(callbacktemp,urltemp,requestdatatemp); } else if(serviceswitch == 2){ Apiservicecallpolicies(callbacktemp,urltemp,requestdatatemp); } else if(serviceswitch == 3){ Apidropdownservice(callbacktemp,urltemp,requestdatatemp) } } },oauthtoken,oauthrequest); } else{ errorStatus(request, status, error); } } }); } //Oath call function function Oauthcall(UserName,PassWord,logindata) { var oauthrequest; if(logindata.data.esubmissionuserid!=null){ oauthrequest = { grant_type: 'password', username: passEncrypt(logindata.data.esubmissionuserid), password: PassWord}; } else{ oauthrequest = { grant_type: 'password', username: UserName, password: PassWord}; } OAuth(function(result) { if(result.status==1) { setItem("username", UserName); setItem("password", PassWord); var response=result.response; setItem("access_token", response.access_token); setItem("refresh_token", response.refresh_token); console.log(""+JSON.stringify(response.access_token)); setItem("agentcode", logindata.data.agentcode); setItem("agentname", logindata.data.agentname); setItem("creationdate", logindata.data.createdatetime); window.location.href = 'dashboard.html'; } },oauthtoken,oauthrequest); } //commonauthenticationinservice function loginautenticationcommon(request){ console.log("Api service Url AXA----->"+loginurl); console.log("Api service data AXA----->"+ JSON.stringify(request)); $.ajax({ type: 'POST', timeout: 12000, beforeSend: function () { $('.loading-mask').removeClass('stop-loading') }, // complete: function () { // $('.loading-mask').addClass('stop-loading'); // }, url: loginurl, dataType: 'json', data: JSON.stringify(request), contentType: 'application/json; charset=utf-8', success: function (response) { console.log(response); if (response.status == 1) { var responselist = response.data.paymentconfigvaluelist; if(responselist!=null){ for(var i=0;i"+Url); console.log("Api service data AXA----->"+ JSON.stringify(Requestdata)); $.ajax({ type: 'POST', timeout: 12000, beforeSend: function () { $('.loading-mask').removeClass('stop-loading') }, complete: function () { $('.loading-mask').addClass('stop-loading'); }, url: Url, dataType: 'json', data: JSON.stringify(Requestdata), contentType: 'application/json; charset=utf-8', success: function (response) { console.log(response); if (response.status == 1) { localStorage.clear(); window.location.href = 'login.html'; } }, error: function (request, status, error) { localStorage.clear(); window.location.href = 'login.html'; } }); } //version check service function Apiversioncheck(callback,Url,Requestdata) { $.ajax({ type: 'POST', beforeSend: function () { $('.loading-mask').removeClass('stop-loading') }, complete: function () { $('.loading-mask').addClass('stop-loading'); }, url: Url, crossDomain: true, dataType: 'json', data: JSON.stringify(Requestdata), contentType: 'application/json; charset=utf-8', success: function (response) { console.log(response); callback({response: response, status: 1}); }, error: function (request, status, error) { // noting should be done } }); } //version check service function Apidropdownservice(callback,Url,Requestdata) { serviceswitch = 3; callbacktemp=callback; urltemp=Url; requestdatatemp=Requestdata; var esubmissionidObj = { esubmissionuserid: getItem("esubmissionuserid"),referenceData:getItem("referenceData") }; Requestdata = objectmerge(Requestdata,esubmissionidObj); var access_token=getItem("access_token"); console.log("Api service access_token----->"+access_token); console.log("Api service refresh_token----->"+getItem("refresh_token")); var ajax_url=Url+"?access_token="+access_token console.log("Api service Url AXA----->"+ajax_url); $.ajax({ type: 'POST', url: ajax_url, crossDomain: true, dataType: 'json', data: JSON.stringify(Requestdata), contentType: 'application/json; charset=utf-8', success: function (response) { console.log(response); callback({response: response, status: 1}); }, error: function (request, status, error) { console.log("Api service reponse AXA-----> status " + status); console.log("Error request status text: " + request.statusText); console.log("Error request status: " + request.status); console.log("Error request response text: " + request.responseText); console.log("Error response header: " + request.getAllResponseHeaders()); $('.loading-mask').addClass('stop-loading'); if(request.status==401) { console.log("Error request status:======**********=====" + request.status); var oauthrequest = { grant_type: 'password', username: passEncrypt(getItem("esubmissionuserid")), password: getItem("password")}; OAuthexpire(function(result) { if(result.status==1) { var response=result.response; setItem("access_token", response.access_token); setItem("refresh_token", response.refresh_token); console.log(""+JSON.stringify(response.access_token)); Apidropdownservice(callbacktemp,urltemp,requestdatatemp); } },oauthtoken,oauthrequest); } else{ errorStatus(request, status, error); } callback({response:null, status: 0}); } }); } // logout when idle function idleLogout() { if (!isEmpty(getItem("agentcode"))){ var resettimeout = getItem("sessionTimeout"); clearInterval(interval); window.onload = showTimer(resettimeout); } } function touchend() { if (!isEmpty(getItem("agentcode"))){ var resettimeout = getItem("sessionTimeout"); clearInterval(interval); showTimer(resettimeout); isreset=true; } } function showTimer( seconds) { var startTime = Date.now(); function showRemaining() { var delta = Date.now() - startTime; // milliseconds var deltaSeconds = delta / (1000); if (deltaSeconds < seconds) { // console.log("===="+Math.round(seconds - deltaSeconds)); } else { logout(); clearInterval(interval); } } interval = setInterval(showRemaining, 1000); showRemaining(); } window.addEventListener("touchend", touchend, false); idleLogout();