/* global var for card scanning */
Fse.busCardScanImgName = '';
// SECURITY
Fse.handleUnauthorized = function() {
$.mobile.changePage("#fse-login-page", { reverse: true });
location.reload(true);
}
Fse.loginActionURL = function() {
var hostName = window.location.hostname;
hostName = hostName.toLowerCase();
if (hostName.indexOf("dev.fsenablers.com") != -1) {
var loginActionURL = 'https://dev.fsenablers.com/fse/z_appsMaster/mobileapps/crm/actions/actLoginJson.cfm';
} else {
var loginActionURL = 'https://www.appslibrary.com/mobileapps/crm/actions/actLoginJson.cfm';
}
return loginActionURL;
}
Fse.submitLogin = function(skipSSOredirect) {
document.frmLogin.loginAction.value = 'login';
/* Adding processing to redirect acosta users */
if (skipSSOredirect == undefined) { skipSSOredirect = false; }
var ssoLoginAttempt = false;
userEntered = document.frmLogin.username.value;
subString = "@";
var countEmails = 0, pos = 0, step = subString.length;
while (true) {
pos = userEntered.indexOf(subString, pos);
if (pos >= 0) {
++countEmails;
pos += step;
} else break;
}
if(countEmails < 2){
var emailsUserUsed = document.frmLogin.username.value.split('/');
var checkEmailCAA = emailsUserUsed[0].toLowerCase();
var allCCA = "";
/* 10/25/18 JM: as per dave murphy, sso for acosta is being temporarily disabled */
/*if( checkEmailCAA.indexOf("@acosta.com") !== -1 ){
ssoLoginAttempt = true;
$('#password').removeClass("required");
}else{
ssoLoginAttempt = false;
}*/
ssoLoginAttempt = false;
}
if(skipSSOredirect){ssoLoginAttempt = false;}
/* END Adding processing to redirect acosta users */
$('#frmLogin').validate();
if ( !$('#frmLogin').valid() ) {
return false;
}
/* check password reset fields */
if ( $("#login-change-password").is(":visible") && document.frmLogin.newpassword1.value != document.frmLogin.newpassword2.value ) {
alert('New password values do not match.');
return false;
} else if ( $("#login-change-password").is(":visible") && document.frmLogin.newpassword1.value.length < 6 ) {
alert('New password must be at least six characters long.');
return false;
} else if ( $("#login-change-password").is(":visible") && document.frmLogin.newpassword1.value.toLowerCase() == document.frmLogin.password.value.toLowerCase() ) {
alert('Old and new passwords cannot be the same.');
return false;
}
/*
var hostName = window.location.hostname;
hostName = hostName.toLowerCase();
if (hostName.indexOf("dev.fsenablers.com") != -1) {
var loginActionURL = 'http://dev.fsenablers.com/fse/z_appsMaster/mobileapps/crm/actions/actLoginJson.cfm';
} else {
var loginActionURL = 'https://www.appslibrary.com/mobileapps/crm/actions/actLoginJson.cfm';
}
*/
var loginActionURL = Fse.loginActionURL();
/*
Step 1: reset the user CF session. failing to do so can under certain circumstances cause user initialization issues.
better to start fresh each time user hits submit.
Step 2: get the new session cfid and token information and set email username cookie for later login attempts.
Step 3: login
*/
if ( ssoLoginAttempt ){
window.top.location.href = "https://sts.acosta.com/adfs/ls/IdpInitiatedSignon.aspx?LoginToRP=https://acosta.salesteamportal.com";
}else {
var frmUsername = encodeURIComponent(document.frmLogin.username.value);
var frmPassword = encodeURIComponent(document.frmLogin.password.value);
var frmNewPassword1 = encodeURIComponent(document.frmLogin.newpassword1.value);
var frmNewPassword2 = encodeURIComponent(document.frmLogin.newpassword2.value);
var frmAppname = document.frmLogin.appname.value;
var frmFSEvariant = document.frmLogin.FSEvariant.value;
var frmFSEcustom = document.frmLogin.FSEcustom.value;
var frmFSEmisc = document.frmLogin.FSEmisc.value;
fnSessionResetCallback = function() {
fnSessionGetCallback = function(data,status,request) {
var frmV1 = request.getResponseHeader("cfid");
var frmV2 = request.getResponseHeader("cftoken");
$('#login-status').show();
/*
$.getJSON(loginActionURL+'?view=act-login-json&loginAction=login&username='+frmUsername+'&password='+frmPassword+'&newpassword1='+frmNewPassword1+'&newpassword2='+frmNewPassword2+'&v1='+frmV1+'&v2='+frmV2+'&appname='+frmAppname+'&FSEvariant='+frmFSEvariant+'&FSEcustom='+frmFSEcustom+'&FSEmisc='+frmFSEmisc, function(loginResults) {
eval(loginResults.clientScript);
}).error(function(jqXHR, textStatus, errorThrown) {
alert('Oops! Error with login call...'); }
);
*/
fnLoginCallBack = function(data,status,request) {
eval(data);
}
//Fse.ajaxRequest( { urlString: 'index.cfm?do=act-login&loginAction=login&username='+frmUsername+'&password='+frmPassword+'&newpassword1='+frmNewPassword1+'&newpassword2='+frmNewPassword2+'&v1='+frmV1+'&v2='+frmV2+'&appname='+frmAppname, reqType:'post', callBack:fnLoginCallBack });
Fse.ajaxRequest( { urlString: 'index.cfm?do=act-login&loginAction=login', formId: 'frmLogin', reqType:'post', callBack:fnLoginCallBack });
}
Fse.ajaxRequest( { urlString: 'index.cfm?view=retrieve-session-identity&username=' + frmUsername, callBack: fnSessionGetCallback, showLoading: true } );
}
Fse.ajaxRequest( { urlString: 'index.cfm?view=reset-user-session', callBack: fnSessionResetCallback, showLoading: true } );
}
}
Fse.requestPassword = function() {
var frmUsername = encodeURIComponent(document.frmLogin.username.value);
var frmPassword = encodeURIComponent(document.frmLogin.password.value);
var frmAppname = document.frmLogin.appname.value;
var frmFSEvariant = document.frmLogin.FSEvariant.value;
var frmFSEcustom = document.frmLogin.FSEcustom.value;
var frmFSEmisc = document.frmLogin.FSEmisc.value;
if (document.frmLogin.username.value == '') {
//document.frmLogin.username.focus();
Fse.alert('Password Help','Please enter your email address.');
return false;
} else {
document.frmLogin.loginAction.value = 'password';
var loginActionURL = Fse.loginActionURL();
/*
$.getJSON(loginActionURL+'?view=act-login-json&loginAction=password&username='+frmUsername+'&password='+frmPassword+'&appname='+frmAppname+'&FSEvariant='+frmFSEvariant+'&FSEcustom='+frmFSEcustom+'&FSEmisc='+frmFSEmisc, function(loginResults) {
eval(loginResults.clientScript);
}).error(function(jqXHR, textStatus, errorThrown) {
alert('Oops! Error with login call...'); }
);
*/
fnPasswordCallBack = function(data,status,request) {
$("#password").addClass("required");
eval(data);
}
//Fse.ajaxRequest( { urlString: 'index.cfm?do=act-login&loginAction=password&username='+frmUsername+'&password='+frmPassword+'&appname='+frmAppname, reqType:'post', callBack:fnPasswordCallBack });
$("#password").removeClass("required");
Fse.ajaxRequest( { urlString: 'index.cfm?do=act-login&loginAction=password', formId: 'frmLogin', reqType:'post', callBack:fnPasswordCallBack });
$("#login-status").hide();
$("#login-change-password").hide();
}
}
Fse.showPasswordReset = function(_showForm) {
if (_showForm) {
$("#login-change-password").fadeIn();
$("#newpassword1").addClass("required");
$("#newpassword2").addClass("required");
$("#login-status").hide();
} else {
$("#login-change-password").hide();
$("#newpassword1").removeClass("required");
$("#newpassword2").removeClass("required");
//$("#login-status").hide();
document.frmLogin.newpassword1.value = '';
document.frmLogin.newpassword2.value = '';
}
}
Fse.logOut = function() {
Fse.emptyPages();
Fse.uploadItemCount = 0;
document.frmLogin.loginAction.value = 'logout';
var fnCallback = function() {
//$.mobile.changePage("#fse-login-page", { reverse: true, transition: 'slide' }); /* original - truncated scroll */
//$.mobile.changePage("#fse-login-page", { transition: 'fade', changeHash: false }); /* hit drop down, login page shows */
//$.mobile.changePage("#fse-login-page", { reverse: true, transition: 'none' }); /* truncated scroll */
//$.mobile.changePage("#fse-login-page", { reverse: false, transition: 'none' }); /* truncated scroll */
//$.mobile.changePage("#fse-login-page"); /* login page shows */
$.mobile.changePage("#fse-login-page", { reverse: true, transition: 'slide', changeHash: false }); /* */
}
Fse.serverRequest( 'index.cfm?do=act-login', undefined, undefined, fnCallback, 'frmLogin', 'post' );
}
// VOICE
Fse.showVoiceCommand = function() {
Fse.setTitle('Voice Command');
$("#main-menu-collapsible").addClass('main-menu-hide');
$("#footer-master-page").addClass('footer-bar-hide');
var callBack = function() {
//$("#voic-cmd-results-socket").html('
Hi, what can I help you with?
CRM Assist
');
}
Fse.emptyPages('generic');
Fse.loadSocket('reset','index.cfm?app=voic&view=page-voic-search', undefined, callBack);
}
Fse.submitVoiceCommand = function() {
var fnCallback = function(data,status,request) {
var speakCallback = function() {
eval(request.getResponseHeader("FSECommandHandler"));
}
if (request.getResponseHeader("FSEVoiceResponse") > '') {
if (navigator["userAgent"].indexOf('FSE:native=true') >= 0 ) {
if( window["FSEAndroid"] ) {
speakString( request.getResponseHeader("FSEVoiceResponse"), speakCallback );
} else {
FSEAPI.voice.speak({
text: request.getResponseHeader("FSEVoiceResponse"),
// List of voices at http://dragonmobile.nuancemobiledeveloper.com/public/index.php?task=supportedLanguages
voice: "Samantha" // Defaults to Samantha. Tom option.
}, speakCallback);
}
} else {
alert(request.getResponseHeader("FSEVoiceResponse"));
speakCallback();
}
} else {
speakCallback();
}
}
Fse.serverRequest('index.cfm?app=voic&view=voic-cmd-process','voic-cmd-results-socket',undefined,fnCallback,'frmSrchVoice','get','force');
document.getElementById('goFocusPointVoicSrch').focus();
window.scrollTo(0,0);
}
Fse.justSayIt = function(sayWhat) {
if (navigator["userAgent"].indexOf('FSE:native=true') >= 0 ) {
FSEAPI.voice.speak({
text: sayWhat,
voice: "Samantha"
});
} else {
alert(sayWhat);
}
}
// PRODUCTS
Fse.submitProdSearch = function( stPage, skuId ) {
document.frmsrchprd.upc.value = '';
$('#prod-mfr-picker').hide(); // hide mfr logo picker
/* let the search results page handle "no search creiteria" now. too redundant to do it here too. */
/*
if ( document.frmsrchprd.keyWord.value == '' &&
( document.frmsrchprd.mfrKeyword == undefined || document.frmsrchprd.mfrKeyword.value == '') &&
( document.frmsrchprd.favProductsChkbx == undefined || !document.frmsrchprd.favProductsChkbx.checked) &&
( document.frmsrchprd.focusProductsChkbx == undefined || !document.frmsrchprd.focusProductsChkbx.checked) &&
( document.frmsrchprd.dotProductsChkbx == undefined || !document.frmsrchprd.dotProductsChkbx.checked) &&
( document.frmsrchprd.fsrProductsChkbx == undefined || !document.frmsrchprd.fsrProductsChkbx.checked) &&
( document.frmsrchprd.plProductsChkbx == undefined || !document.frmsrchprd.plProductsChkbx.checked) &&
( document.frmsrchprd.affiliationId == undefined || document.frmsrchprd.affiliationId.selectedIndex == 0) &&
( document.frmsrchprd.customerId == undefined || document.frmsrchprd.customerId.selectedIndex == 0) &&
( document.frmsrchprd.prodId == undefined || document.frmsrchprd.prodId.selectedIndex == 0) &&
( document.frmsrchprd.categoryId == undefined || document.frmsrchprd.categoryId.selectedIndex == 0) &&
( document.frmsrchprd.oprProgram == undefined || document.frmsrchprd.oprProgram.selectedIndex == 0) &&
( document.frmsrchprd.mfrId == undefined || document.frmsrchprd.mfrId.selectedIndex == 0 ) &&
( document.frmsrchprd.brandId == undefined || document.frmsrchprd.brandId.selectedIndex == 0 ) &&
( document.frmsrchprd.MFRID == undefined || document.frmsrchprd.MFRID.value == '' )
) {
$('#prd-search-results-socket').html('provide additional search criteria
to view results
');
//Fse.toggleFilterDisplay('prd-filter-selections','close');
//Fse.serverRequest('index.cfm?app=prd&view=prd-selected-criteria', 'prd-search-criteria-dsp-socket', undefined, undefined, 'frmsrchprd', 'get', 'force');
$('#prd-search-criteria-dsp-socket').html('');
*/
if ( 1 == 2 ) {
} else {
if (stPage == 1) {
$('#prd-search-results-socket').html('searching...
');
}
var callBack = function() {
//if (stPage == 1) {
// Fse.serverRequest('index.cfm?app=prd&view=search-criteria', 'prd-search-criteria-dsp-socket', undefined, undefined, 'frmsrchprd', 'get', 'force');
//}
//window.scrollTo(0,0);
}
Fse.serverRequest('index.cfm?app=prd&view=search-results&pg='+stPage,'prd-search-results-socket',undefined,callBack,'frmsrchprd','get','force');
}
}
Fse.clearPrdSrchFrm = function(submitForm) {
if (submitForm == undefined) { submitForm = false; }
if(document.frmsrchprd.keyWord) { document.frmsrchprd.keyWord.value = '' };
if(document.frmsrchprd.mfrKeyword) { document.frmsrchprd.mfrKeyword.value = '' };
//$("#favProductsChkbx").attr("checked",false).checkboxradio("refresh");
//$("#focusProductsChkbx").attr("checked",false).checkboxradio("refresh");
//$("#dotProductsChkbx").attr("checked",false).checkboxradio("refresh");
//$("#plProductsChkbx").attr("checked",false).checkboxradio("refresh");
$("#fsrProductsChkbx").attr("checked",false).checkboxradio("refresh");
$("#showDiscontinuedChkbx").attr("checked",false).checkboxradio("refresh");
$("#excludePrivateLabelChkbx").attr("checked",false).checkboxradio("refresh");
if(document.frmsrchprd.favProductsChkbx) { document.frmsrchprd.favProductsChkbx.checked = false };
if(document.frmsrchprd.focusProductsChkbx) { document.frmsrchprd.focusProductsChkbx.checked = false };
if(document.frmsrchprd.dotProductsChkbx) { document.frmsrchprd.dotProductsChkbx.checked = false };
if(document.frmsrchprd.plProductsChkbx) { document.frmsrchprd.plProductsChkbx.checked = false };
let userOwnerType = "";
if(document.frmsrchprd.userOwnerType){
userOwnerType = document.frmsrchprd.userOwnerType.value;
}
if( document.frmsrchprd.affiliationId ) {
document.frmsrchprd.affiliationId.selectedIndex=0;
$('#affiliationId').selectmenu('refresh');
}
if( document.frmsrchprd.affiliationChoId ) {
document.frmsrchprd.affiliationChoId.selectedIndex=0;
$('#affiliationChoId').selectmenu('refresh');
}
if( document.frmsrchprd.customerId ) {
document.frmsrchprd.customerId.selectedIndex=0;
$('#customerId').selectmenu('refresh');
}
if (document.frmsrchprd.prodId) {
var prodSelect = document.frmsrchprd.prodId;
if(userOwnerType != "MFR"){
// delete all options except for the first one
while (prodSelect.options.length > 1) {
prodSelect.remove(1);
}
if (prodSelect.options.length > 0) {
prodSelect.options[0].text = "Select Category (select manufacturer first)";
}
}
prodSelect.selectedIndex = 0;
$('#prodId').selectmenu('refresh');
}
if( document.frmsrchprd.categoryId) {
document.frmsrchprd.categoryId.selectedIndex=0;
$('#categoryId').selectmenu('refresh');
}
if( document.frmsrchprd.oprProgram) {
document.frmsrchprd.oprProgram.selectedIndex=0;
$('#oprProgram').selectmenu('refresh');
}
// check that both exist, to not get confused with logo style mfr picker, with is radio buttons
if( document.frmsrchprd.mfrId && document.frmsrchprd.mfrId.selectedIndex ) {
document.frmsrchprd.mfrId.selectedIndex=0;
$('#mfrId').selectmenu('refresh');
}
if( document.frmsrchprd.MFRID) {
Fse.clrAutoSrchById("af-mfr-prdsrch");
}
if( document.frmsrchprd.brandId) {
document.frmsrchprd.brandId.selectedIndex=0;
$('#brandId').selectmenu('refresh');
}
if( document.frmsrchprd.favCat) {
document.frmsrchprd.favCat.selectedIndex=0;
$('#favCat').selectmenu('refresh');
$('#pc-fav-cats').hide();
}
if( document.frmsrchprd.tradeChannel ) {
document.frmsrchprd.tradeChannel.selectedIndex=0;
$('#tradeChannel').selectmenu('refresh');
}
if( document.frmsrchprd.sortOrder ) {
document.frmsrchprd.sortOrder.selectedIndex = 1;
$('#sortOrder').selectmenu('refresh');
}
if( document.frmsrchprd.budgetCategoryId ) {
document.frmsrchprd.budgetCategoryId.selectedIndex = 0;
$('#budgetCategoryId').selectmenu('refresh');
}
if( document.frmsrchprd.productSets ) {
document.frmsrchprd.productSets.selectedIndex = 0;
$('#productSets').selectmenu('refresh');
}
if ( Fse.dropDownLogosClear ) {
Fse.dropDownLogosClear('prod-mfr-picker');
}
if (document.frmsrchprd.nutritionClaims) {
var field = document.frmsrchprd.nutritionClaims;
if (field.length) {
for (i = 0; i < field.length; i++) {
field[i].checked = false;
}
//} else {
// document.frmsrchdocs.docFilters.checked = false;
}
}
if (document.frmsrchprd.kosherOnly) { document.frmsrchprd.kosherOnly.checked = false; }
if (document.frmsrchprd.halalOnly) { document.frmsrchprd.halalOnly.checked = false; }
if (submitForm) {
Fse.submitProdSearch(1);
}
}
Fse.submitUPCSearch = function( upcValue ) {
// scan from prod search form
Fse.clearPrdSrchFrm();
document.frmsrchprd.upc.value = upcValue;
var callBack = function() {
document.getElementById('gofocuspointprdsrch').focus();
window.scrollTo(0,0);
Fse.toggleFilterDisplay('prd-filter-selections','close');
//Fse.serverRequest('index.cfm?app=prd&view=prd-selected-criteria', 'prd-search-criteria-dsp-socket', undefined, undefined, 'frmsrchprd', 'get', 'force');
$('#prd-search-criteria-dsp-socket').html('');
}
Fse.serverRequest('index.cfm?app=prd&view=search-results','prd-search-results-socket',undefined,callBack,'frmsrchprd','get','force');
}
Fse.captureUPCScan = function( upcValue ) {
// scan from main menu tools area
Fse.loadSocket('page-prdsrch-socket','index.cfm?app=prd&view=page-prd-search&upc='+upcValue,'force');Fse.toggleMainMenu();
}
Fse.showProdImage = function(skuid,fileId,loadMode) {
if (fileId == undefined) { fileId = '' };
Fse.serverRequest('index.cfm?app=prd&view=prd-photos&skuid='+skuid+'&fileId='+fileId, 'photos-socket', undefined, undefined, undefined, undefined, loadMode);
}
Fse.showRelatedRecipes = function(sku,page,mfrid) {
if (page==undefined) { page='1' };
Fse.serverRequest( 'index.cfm?app=prd&view=prd-recipes&sku='+sku+'&pg='+page+'&mfrid='+mfrid, 'recipes-socket' );
}
Fse.showRecipeDetail = function(recipeId) {
var callBack = function() {
Fse.hideShow('recipes-socket','recipe-detail-socket');
}
Fse.serverRequest( 'index.cfm?app=prd&view=prd-recipe-detail&recid='+recipeId, 'recipe-detail-socket', undefined, callBack );
}
Fse.updateLevel2 = function() {
Fse.serverRequest('index.cfm?app=prd&view=level2-by-mfr', 'category-picker', undefined, undefined, 'frmsrchprd', 'get', 'force');
//Fse.serverRequest = function(urlString, socketId, pgId, callBack, formId, reqType, loadMode, onError, showLoading, appendContent, scrollSocketTop, scrollSocketTopOffset, validateForm ) {
}
// ACCOUNTS
Fse.submitAcctSearch = function( stPage ) {
var setCriteriaDisplay = function() {
//if (stPage == 1) {
// Fse.serverRequest('index.cfm?app=acct&view=search-criteria', 'acct-search-criteria-dsp-socket', undefined, undefined, 'frmsrchacct', 'get', 'force');
//}
//window.scrollTo(0,0);
}
if (stPage == 1) {
$('#acct-search-results-socket').html('searching...
');
}
if (document.frmsrchacct.nearMe && document.frmsrchacct.nearMe.checked) {
if (document.frmsrchacct.zipcode.value == '') {
var callBack = function(_lat,_long,_zip) {
document.frmsrchacct.zipcode.value=_zip;
document.frmsrchacct.latLong.value=_lat+','+_long;
//document.frmsrchacct.sortOrder.selectedIndex=2;
//$('#sortOrder').selectmenu('refresh');
document.frmsrchacct.sortOrder.value = "DIS";
Fse.serverRequest('index.cfm?app=acct&view=search-results&pg='+stPage,'acct-search-results-socket',undefined,setCriteriaDisplay,'frmsrchacct','get','force');
}
Fse.getCurrentLocation(callBack,true);
} else {
Fse.serverRequest('index.cfm?app=acct&view=search-results&pg='+stPage,'acct-search-results-socket',undefined,setCriteriaDisplay,'frmsrchacct','get','force');
}
} else {
/*if (document.getElementById("sortOrder").value == 'DIS') {
document.frmsrchacct.sortOrder.selectedIndex=0;
$('#sortOrder').selectmenu('refresh');
}*/
if (document.frmsrchacct.sortOrder.value == 'DIS') {
document.frmsrchacct.sortOrder.value = 'REL';
}
document.frmsrchacct.zipcode.value='';
document.frmsrchacct.latLong.value='';
Fse.serverRequest('index.cfm?app=acct&view=search-results&pg='+stPage,'acct-search-results-socket',undefined,setCriteriaDisplay,'frmsrchacct','get','force');
}
}
Fse.clearAcctSrchFrm = function(submitForm) {
if (submitForm == undefined) { submitForm = false; }
if(document.frmsrchacct.keyWord) { document.frmsrchacct.keyWord.value = '' };
/*$("#myRelationships").attr("checked",false).checkboxradio("refresh");
$("#myOpenERFs").attr("checked",false).checkboxradio("refresh");
$("#nearMe").attr("checked",false).checkboxradio("refresh");
$("#myFavorites").attr("checked",false).checkboxradio("refresh");*/
if(document.frmsrchacct.myRelationships) { document.frmsrchacct.myRelationships.checked = false };
if(document.frmsrchacct.myOpenERFs) { document.frmsrchacct.myOpenERFs.checked = false };
if(document.frmsrchacct.nearMe) { document.frmsrchacct.nearMe.checked = false };
if(document.frmsrchacct.myFavorites) { document.frmsrchacct.myFavorites.checked = false };
if( document.frmsrchacct.terScope ) {
document.frmsrchacct.terScope.selectedIndex=0;
$('#terScope').selectmenu('refresh');
}
if( document.frmsrchacct.contractStatus ) {
document.frmsrchacct.contractStatus.selectedIndex=0;
$('#contractStatus').selectmenu('refresh');
}
if( document.frmsrchacct.sortOrder ) {
//document.frmsrchacct.sortOrder.selectedIndex=0;
//$('#sortOrder').selectmenu('refresh');
document.frmsrchacct.sortOrder.value = 'REL';
}
if( document.frmsrchacct.oprListId ) {
document.frmsrchacct.oprListId.selectedIndex=0;
$('#oprListId').selectmenu('refresh');
}
if( document.frmsrchacct.lastInteractionDays ) {
document.frmsrchacct.lastInteractionDays.selectedIndex=0;
$('#lastInteractionDays').selectmenu('refresh');
}
if( document.frmsrchacct.gpoAffiliationId ) {
document.frmsrchacct.gpoAffiliationId.selectedIndex=0;
$('#gpoAffiliationId').selectmenu('refresh');
}
if( document.frmsrchacct.cmcAffiliationId ) {
document.frmsrchacct.cmcAffiliationId.selectedIndex=0;
$('#cmcAffiliationId').selectmenu('refresh');
}
$("#partnerType-all").prop("checked",true);
$("#priority-all").prop("checked",true);
$("#priority-ap").prop("checked",false);
$("#priority-a").prop("checked",false);
$("#priority-b").prop("checked",false);
$("#priority-c").prop("checked",false);
$("#priority-d").prop("checked",false);
$("#buyingAfSrchInput").val("");
$("#buyingAfSrchTarget").html("");
if ( document.frmsrchacct.skuId ) { document.frmsrchacct.skuId.value = "" };
if ( document.frmsrchacct.categoryId) {
document.frmsrchacct.categoryId.selectedIndex=0;
$('#categoryId').selectmenu('refresh');
}
if ( document.frmsrchacct.prodId) {
document.frmsrchacct.prodId.selectedIndex=0;
$('#prodId').selectmenu('refresh');
}
if ( document.frmsrchacct.accountManagerSearch) {
document.frmsrchacct.accountManagerSearch.value = '';
document.frmsrchacct.accountManager.value = '';
}
if( document.frmsrchacct.syndicatingMfrMapping ) {
document.frmsrchacct.syndicatingMfrMapping.selectedIndex=0;
$('#syndicatingMfrMapping').selectmenu('refresh');
}
if (submitForm) {
Fse.submitAcctSearch(1);
}
}
Fse.showCallDetail = function( callId ) {
var fnCallback = function() {
Fse.hideShow('socket-acct-call-list','socket-acct-call-detail');
Fse.initDrawCanvas('canvasSignature', 'canvasDiv');
}
Fse.serverRequest('index.cfm?app=acct&view=acct-call-detail&id='+callId,'socket-acct-call-detail',undefined,fnCallback);
}
Fse.showAcctDetail = function( partnerIdType, pagerPress ) {
var _partnerIdType = partnerIdType.split('|');
if ( pagerPress == undefined ) { pagerPress = false; }
if (pagerPress) { var socketId = 'current'; } else { var socketId = 'next'; }
var fnCallBack = function() {
//addressStr = $('#map_canvas').attr( 'FSE:address' );
//Fse.mapAddress( addressStr );
//Fse.getDirections( addressStr );
}
Fse.dirtyRecentActivity();
Fse.loadSocket(socketId,'index.cfm?app=acct&view=page-acct-detail&partnerid='+_partnerIdType[0]+'&partnertype='+_partnerIdType[1]);
}
Fse.showOppDetail = function( oppId ) {
var fnCallback = function() {
Fse.hideShow('socket-acct-opp-list','socket-acct-opp-detail');
//window.scrollTo(0,$('#socket-acct-opp-detail').offset().top);
}
Fse.serverRequest('index.cfm?app=acct&view=acct-opp-detail&id='+oppId,'socket-acct-opp-detail',undefined,fnCallback);
}
Fse.showOrderHistoryOBSOLETE = function( partnerId, pgNum ) {
Fse.serverRequest('index.cfm?app=acct&view=acct-order-history&partnerid='+partnerId+'&pg='+pgNum, 'order-history-socket', undefined, undefined, 'frmOrdFilter', 'get', 'force');
}
Fse.showOrderDetailOBSOLETE = function( orderId ) {
var callBack = function() {
Fse.hideShow('order-history-socket','order-detail-socket');
}
Fse.serverRequest('index.cfm?app=acct&view=acct-order-detail&orderid='+orderId,'order-detail-socket',undefined,callBack);
}
Fse.getAcctPresentations = function(skuId,stPage) {
Fse.serverRequest('index.cfm?app=prd&view=prd-acct-presentation-results&skuid='+skuId+'&pg='+stPage,'acct-presentation-results',undefined,undefined,'frmPresFilter','get','force');
document.getElementById('goFocusPointPresFilter').focus();
}
Fse.getAcctCalls = function(stPage,goTop,socketId) {
if (socketId==undefined) { socketId = 'acct-sales-call-results' }
if (goTop==undefined) { goTop = true; }
var callBack = function() {
if (goTop) { window.scrollTo(0,$('#socket-acct-call-list').offset().top); }
}
Fse.serverRequest('index.cfm?app=acct&view=acct-sales-call-results&pg='+stPage,socketId,undefined,callBack,'frmCallFilter','get','force');
}
// new generic version of Fse.showAccountNotes
Fse.showPartnerNotes = function( partnerType, partnerId, pageNum ) {
if (pageNum==undefined) { pageNum = '1' };
var callBack = function() {
Fse.scrollTo(($("#div-partner-notes-"+partnerType+partnerId).offset().top)-100);
}
if (document.getElementById('frmNoteFilter-'+partnerType+partnerId) !==null) {
Fse.serverRequest('index.cfm?app=notes&view=partner-notes&partnerid='+partnerId+'&partnertype='+partnerType+'&pg='+pageNum, 'partner-notes-'+partnerType+partnerId, undefined, callBack, 'frmNoteFilter-'+partnerType+partnerId, 'GET', 'force')
} else {
Fse.serverRequest('index.cfm?app=notes&view=partner-notes&partnerid='+partnerId+'&partnertype='+partnerType+'&pg='+pageNum, 'partner-notes-'+partnerType+partnerId, undefined, callBack, undefined, undefined, 'force')
}
}
Fse.refreshAcctNotesCallback = function( partnerType, partnerId, postId ) {
var callBack1 = function() {
Fse.ajaxRequest( { urlString: 'index.cfm?app=acct&view=acct-profile-summary&partnerid='+partnerId+'&partnertype='+partnerType, socketId: 'profile-summary-'+partnerType+partnerId, loadMode: 'force', callBack: callBack2 });
}
var callBack2 = function() {
Fse.showPage();
}
Fse.ajaxRequest( { urlString: 'index.cfm?app=notes&view=partner-notes&partnertype='+partnerType+'&partnerid='+partnerId, socketId: 'partner-notes-'+partnerType+partnerId, loadMode: 'force', callBack: callBack1 });
}
Fse.refreshPartnerNotesCallback = function( partnerType, partnerId, postId ) {
Fse.ajaxRequest( { socketId: 'partner-notes-'+partnerType+partnerId, loadMode: 'refresh' });
Fse.showPage();
}
Fse.acctCaptionSubmit = function(partnerType,partnerId) {
fnCallBack = function() {
$('#btn-caption-save').addClass('ui-disabled');
Fse.ajaxRequest({ socketId: 'profile-summary-'+partnerType+partnerId, loadMode: 'refresh' })
}
Fse.serverRequest('index.cfm?app=acct&do=acct-update-caption', undefined, undefined, fnCallBack, 'frmCaption'+partnerType+partnerId, 'post');
document.getElementById('goFocusPointCaption').focus();
}
// OBJECTIVES
Fse.loadObjectiveList = function( groupId ) {
var fnCallback = function() {
window.location.hash='grp-header-'+groupId;
}
Fse.serverRequest('index.cfm?app=obj&view=obj-group-list&grp='+groupId, 'socket-obj-list-'+groupId, undefined, fnCallback, 'frmSrchObj', 'get');
}
Fse.showObjDetail = function( grpId, objId, repId ) {
var fnCallback = function() {
Fse.hideShow('socket-obj-list-'+grpId,'socket-obj-detail-'+grpId);
//window.location.hash='grp-header-'+grpId;
}
Fse.serverRequest('index.cfm?app=obj&view=obj-call-detail&objid='+objId+'&grpid='+grpId+'&repId='+repId,'socket-obj-detail-'+grpId,undefined,fnCallback,'frmSrchObj','get');
}
// HOME
Fse.setTitle = function(titleText) {
if (titleText == undefined) { titleText = $('#main-title-bar').attr('FSE:apptitle'); };
if ( window.getComputedStyle(document.getElementById('responsive-state-info'), null).getPropertyValue('width') == '0px' ) {
$('#main-title-bar').html(titleText);
}
}
Fse.goHome = function() {
Fse.nextPageNum = 1;
$('#main-menu-div').trigger('expand');
$('.detail-pg-banner-modal').removeClass('detail-pg-banner-modal'); /*added 5/4/18 */
$('#'+Fse.currentPageSocket).hide(); /*added 5/4/18 */
$("#main-menu-collapsible").removeClass('main-menu-hide');
$("#right-panel").addClass('main-menu-hide');
Fse.setTitle();
}
Fse.hideHome = function() {
$('#main-menu-div').trigger('expand');
$("#main-menu-collapsible").addClass('main-menu-hide');
$("#right-panel").removeClass('main-menu-hide');
}
Fse.loadRecentActivity = function() {
var _socketId = 'recent-activity-socket-' + Fse.getResponsiveState();
if ( $('[id='+_socketId+']').length == 0 ) {
_socketId = 'recent-activity-socket' // old school
}
Fse.serverRequest('index.cfm?view=home-recent-activity',_socketId,undefined,undefined,undefined,undefined,'force');
}
Fse.dirtyRecentActivity = function() {
var _socketId = 'recent-activity-div-' + Fse.getResponsiveState();
if ( $('[id='+_socketId+']').length == 0 ) {
_socketId = 'recent-activity-div' // old school
}
$('#'+_socketId).attr('FSE:lazyLoaded', 'false');
}
Fse.loadMyAlerts = function(loadMode) {
if (loadMode==undefined) { loadMode = 'now'; } // now or conditional (now if open, diry socket of collapsed)
var _socketId = 'my-alerts-socket-' + Fse.getResponsiveState();
var _divId = 'my-alerts-div-' + Fse.getResponsiveState();
if (loadMode=='now' || !$('#'+_divId).hasClass('ui-collapsible-collapsed')) {
Fse.serverRequest('index.cfm?view=home-my-alerts',_socketId,undefined,undefined,undefined,undefined,'force');
} else {
Fse.dirtyMyAlerts();
}
}
Fse.dirtyMyAlerts = function() {
var _socketId = 'my-alerts-div-' + Fse.getResponsiveState();
$('#'+_socketId).attr('FSE:lazyLoaded', 'false');
}
Fse.toggleMainMenu = function(restoreContent, showOverride) {
// if page has modal class, disable home button. makes page more modal-like if you can't get home.
if ( $("#"+Fse.currentPageSocket).find(".detail-pg-banner-modal").length > 0 ) {
return false;
}
if (restoreContent == undefined) { restoreContent = false };
if (showOverride == undefined) { showOverride = false };
if ($("#main-menu-collapsible").hasClass('main-menu-hide') || showOverride == true) {
if (!$("#main-menu-collapsible").hasClass('main-menu-hide')) {
// if user already on main menu and hits home btn again, then expand the main menu options
$('#main-menu-div').trigger('expand');
//give a visual clue that they are on home page already by hiding and fading back in
$("#main-menu-collapsible").hide();
$("#main-menu-collapsible").fadeIn();
$("#main-menu-collapsible").attr("style","");
}
$("#footer-master-page").removeClass('footer-bar-hide');
$("#main-menu-collapsible").removeClass('main-menu-hide');
window.scrollTo(0,0);
$("#right-panel").addClass('main-menu-hide');
Fse.setTitle();
// update any home screen icon badges
Fse.updateBadgeSettings();
} else {
$("#main-menu-collapsible").addClass('main-menu-hide');
// if toggling from header bar, restore right panel, otherwise, let loadsocket do it to reduce screen flash
if (restoreContent) {
$("#right-panel").removeClass('main-menu-hide');
}
$("#footer-master-page").addClass('footer-bar-hide');
}
}
Fse.mainMenuShowing = function() {
return !$("#main-menu-collapsible").hasClass('main-menu-hide');
}
Fse.loadMainMenu = function(fnCallback) {
Fse.ajaxRequest( { urlString: 'index.cfm?view=home-main-navigation', socketId: 'main-navigation-socket', callBack: fnCallback, loadMode: 'force' } );
}
//CONTACTS
Fse.submitContactSearch = function( stPage ) {
var _conType = document.frmsrchcont.contactType[document.frmsrchcont.contactType.selectedIndex].value;
if ( ( _conType != 'STF' && _conType != 'BROSTF' && _conType != 'CONT' ) &&
( document.frmsrchcont.keyWord == undefined || document.frmsrchcont.keyWord.value == '') &&
( document.frmsrchcont.companyKeyword == undefined || document.frmsrchcont.companyKeyword.value == '') &&
( document.frmsrchcont.territoryId == undefined || document.frmsrchcont.territoryId.selectedIndex == 0)
) {
$('#cont-search-results-socket').html('provide additional search criteria
to view results
');
$('#cont-search-criteria-dsp-socket').html('');
Fse.serverRequest('index.cfm?app=cont&view=search-results&savesettingsonly=true',undefined,undefined,undefined,'frmsrchcont','get','force');
window.scrollTo(0,0);
return false;
}
if (stPage == 1) {
$('#cont-search-results-socket').html('searching...
');
}
var callBack = function() {
//if (stPage == 1) {
// Fse.serverRequest('index.cfm?app=cont&view=search-criteria', 'cont-search-criteria-dsp-socket', undefined, undefined, 'frmsrchcont', 'get', 'force');
//}
//window.scrollTo(0,0);
if (document.frmsrchcont.startsWith) { document.frmsrchcont.startsWith.value = ''; }
}
Fse.serverRequest('index.cfm?app=cont&view=search-results&pg='+stPage,'cont-search-results-socket',undefined,callBack,'frmsrchcont','get','force');
}
Fse.clearContSrchFrm = function(submitForm) {
if(submitForm == undefined) { submitForm = false; }
if(document.frmsrchcont.keyWord) { document.frmsrchcont.keyWord.value = '' };
if(document.frmsrchcont.companyKeyword) { document.frmsrchcont.companyKeyword.value = '' };
/*if( document.frmsrchcont.contactType ) {
document.frmsrchcont.contactType.selectedIndex=0;
$('#contactType').selectmenu('refresh');
}*/
$("#contactType option").each(function(i){
if ($(this).val() == 'STF') {
document.frmsrchcont.contactType.selectedIndex=i;
$('#contactType').selectmenu('refresh');
}
});
if( document.frmsrchcont.territoryId ) {
document.frmsrchcont.territoryId.selectedIndex=0;
$('#territoryId').selectmenu('refresh');
}
if (submitForm) { Fse.submitContactSearch(1); }
}
Fse.contactDelete = function(contactId,token,partnerId) {
var callBack = function() {
Fse.ajaxRequest( { socketId: 'acct-contacts'+partnerId, loadMode: 'refresh', callBack: function(){Fse.showPage();} } );
}
Fse.ajaxRequest( { urlString: "index.cfm?app=cont&do=contact-delete&contactId="+contactId+"&tk="+token, reqType: "post", callBack: callBack });
}
// MAPPING
Fse.nearbyLocations = function(latitude,longitude,zipcode,nearbySocket,callBack,partnerId,partnerType,skuId) {
// new version of Fse.mapNearBy
if (!partnerId) { partnerId = '?' };
if (!partnerType) { partnerType = '?' };
if (!skuId) { skuId = '?' };
var fnCallback = function(data,status,request) {
//alert(request.getResponseHeader("FSEnearby-locations"));
//return true;
var placesStr = request.getResponseHeader("FSEnearby-locations");
if (callBack) { callBack( placesStr ); }
}
Fse.serverRequest('index.cfm?app=map&view=nearby-locations&lat='+latitude+'&lng='+longitude+'&zipcode='+zipcode+'&partnerId='+partnerId+'&partnerType='+partnerType+'&skuid='+skuId,nearbySocket,undefined,fnCallback,undefined,undefined,'force');
}
Fse.showNearMe = function(mapSocket,nearSocket,skuId) {
if (skuId == undefined) { skuId = '?'; }
var s = document.getElementById(mapSocket);
s.contentDocument.documentElement.innerHTML="loading...
";
s.contentDocument.close();
var fnCallback = function( _lat, _lon, _zipcode ) {
var fnNearCallback = function(places) {
places = encodeURIComponent(places);
document.getElementById(mapSocket).src='about:blank';
document.getElementById(mapSocket).src='index.cfm?app=map&view=location-map&lat='+_lat+'&lng='+_lon+'&mapPlaces='+places;
}
Fse.nearbyLocations( _lat,_lon,_zipcode,nearSocket,fnNearCallback,undefined,undefined,skuId );
}
Fse.getCurrentLocation(fnCallback,true);
}
Fse.showNearAcct = function(mapSocket,nearSocket,addressString,partnerId,partnerType) {
var s = document.getElementById(mapSocket);
s.contentDocument.documentElement.innerHTML="loading...
";
s.contentDocument.close();
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': addressString }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var _latitude = results[0].geometry.location.lat();
var _longitude = results[0].geometry.location.lng();
var fnNearCallback = function(places) {
places = encodeURIComponent(places);
document.getElementById(mapSocket).src='about:blank';document.getElementById(mapSocket).src='index.cfm?app=map&view=location-map&lat='+_latitude+'&lng='+_longitude+'&partnerId='+partnerId+'&partnerType='+partnerType+'&mapPlaces='+places;
}
$("#"+nearSocket).empty();
Fse.nearbyLocations( _latitude,_longitude,undefined,nearSocket,fnNearCallback,partnerId,partnerType );
} else {
alert("Unable to locate address at this time: " + status);
}
});
}
Fse.showAcctDirections = function(mapSocket,dirSocket,destAddress) {
// this builds the map in the ifrmae
var fnCallback = function( _zipcode, _latlon ) {
var _arLatLon = _latlon.split(',');
document.getElementById(mapSocket).src='about:blank';document.getElementById(mapSocket).src='index.cfm?app=map&view=location-directions&lat='+_arLatLon[0]+'&lng='+_arLatLon[1]+'&destAddress='+destAddress;
Fse.showAcctDirectionsSteps(dirSocket,_arLatLon[0],_arLatLon[1],destAddress);
}
Fse.getCurrentZipcode(fnCallback);
}
Fse.showAcctDirectionsSteps = function(dirSocket,lat,lng,destAddress) {
// this builds directions steps in div. did it iframe step and updated parent but
// styling didn't carry through. directions doesn't appear to have memory leaks, so ok to do here
var acctDirectionsService = new google.maps.DirectionsService();
var acctDirectionsDisplay = new google.maps.DirectionsRenderer();
acctDirectionsDisplay.setPanel(document.getElementById(dirSocket));
var request = {
origin: new google.maps.LatLng(lat,lng),
destination: destAddress,
travelMode: google.maps.TravelMode.DRIVING
};
acctDirectionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
$("#"+dirSocket).empty();
acctDirectionsDisplay.setDirections(response);
} else {
alert('Could not get directions: '+status);
}
});
}
Fse.getCurrentZipcode_Save101216 = function(callBack) {
$.mobile.showPageLoadingMsg();
var callBackCalled = false; // was calling callback multiple times with watch logic
var updateLocation = navigator.geolocation.watchPosition(function(pos){
var latVal = pos.coords.latitude;
var longVal = pos.coords.longitude;
var point = new google.maps.LatLng(latVal, longVal);
new google.maps.Geocoder().geocode({'latLng': point}, function (res, status) {
var zip = res[0].formatted_address.match(/,\s\w{2}\s(\d{5})/);
$.mobile.hidePageLoadingMsg();
navigator.geolocation.clearWatch(updateLocation);
updateLocation = null;
point = null;
if (callBack && !callBackCalled) { callBack(zip[1],latVal+','+longVal); callBackCalled = true; }
});
});
}
Fse.getCurrentZipcode = function(callBack) {
/* scrum 18487 - near me not working. as of iOS 10, had to move this function to a secured iframe. */
document.getElementById('location-services').contentWindow.Fse.getCurrentZipcode(callBack);
}
Fse.getCurrentLocation = function(callBack,includeZipCode) {
/* scrum 18487 - near me not working. as of iOS 10, had to move this function to a secured iframe. */
//document.getElementById('location-services').contentWindow.Fse.getCurrentLocation(callBack,includeZipCode);
var fnFirstRoundCallback = function() {
document.getElementById('location-services').contentWindow.Fse.getCurrentLocation(callBack,includeZipCode);
}
document.getElementById('location-services').contentWindow.Fse.getCurrentLocation(fnFirstRoundCallback,false);
}
Fse.resizeMap = function(iframeId, mapSize) {
if ( mapSize == 'large' ) {
var headerHeight = $('#home-header').height();
$('#'+iframeId).attr('FSE:smallMapHeight',$('#'+iframeId).height());
window.scrollTo(0,0);
document.getElementById(iframeId).contentWindow.initLocationMap('0');
$('#'+iframeId).css('position', 'absolute');
$('#'+iframeId).css('left', '0px');
$('#'+iframeId).css('top', headerHeight+'px');
$('#'+iframeId).css('height', $(window).height()-headerHeight+'px');
document.getElementById(iframeId).contentWindow.initLocationMap();
document.getElementById(iframeId).contentWindow.Fse.setAccountMapOptions({gestureHandling: 'greedy', zoomControl: true, streetViewControl: true, mapTypeControl: true});
$('#'+iframeId+'-large-options').show();
} else {
var reducedHeight = $('#'+iframeId).attr('FSE:smallMapHeight');
if (document.getElementById(iframeId) && document.getElementById(iframeId).contentWindow._accountMap) {
document.getElementById(iframeId).contentWindow.initLocationMap(reducedHeight); // order important - resize iframe contents first
document.getElementById(iframeId).contentWindow.Fse.setAccountMapOptions({gestureHandling: 'cooperative', zoomControl: false, streetViewControl: false, mapTypeControl: false});
}
$('#'+iframeId).css('position', 'relative');
$('#'+iframeId).css('left', '0px');
$('#'+iframeId).css('top', '0px');
$('#'+iframeId).css('height', reducedHeight+'px');
$('#'+iframeId+'-large-options').hide();
}
}
/* BAR CODE SCANNING */
Fse.submitBarcodeUPC = function(upc) {
/* todo: need to better deal with multiple acct pages with duplicate "competitive-socket" ids. this works for now. */
//var partnerId = document.frmScan.partnerid.value;
//var partnerType = document.frmScan.partnertype.value;
var partnerId = $('#'+Fse.currentPageSocket).find('#competitive-socket').attr('FSE:partnerid');
var partnerType = $('#'+Fse.currentPageSocket).find('#competitive-socket').attr('FSE:partnertype');
//document.frmScan.upc.value = upc;
var callBack = function() {
Fse.serverRequest('index.cfm?app=acct&view=competitive-intel&partnerid='+partnerId+'&partnerType='+partnerType, 'competitive-socket', undefined, undefined, undefined, undefined, 'force')
}
//Fse.serverRequest('index.cfm?app=acct&do=upload-UPC-scan&upc='+upc, undefined, undefined, callBack, 'frmScan', 'post');
Fse.serverRequest('index.cfm?app=acct&view=upload-UPC-scan&upc='+upc+'&partnerid='+partnerId+'&partnerType='+partnerType+'&test=test', undefined, undefined, callBack);
}
Fse.updateBarcodeUPC = function(formID) {
//var partnerId = document.frmScan.partnerid.value;
//var partnerType = document.frmScan.partnertype.value;
var partnerId = $('#'+Fse.currentPageSocket).find('#competitive-socket').attr('FSE:partnerid');
var partnerType = $('#'+Fse.currentPageSocket).find('#competitive-socket').attr('FSE:partnertype');
var callBack = function() {
Fse.serverRequest('index.cfm?app=acct&view=competitive-intel&partnerid='+partnerId+'&partnerType='+partnerType, 'competitive-socket', undefined, undefined, undefined, undefined, 'force')
}
Fse.serverRequest('index.cfm?app=acct&do=update-UPC-scan&partnerid='+partnerId+'&partnerType='+partnerType, undefined, undefined, callBack, formID, 'post');
}
/* BUSINESS CARD SCNNING */
Fse.busCardUploadSuccess = function() {
// partnertype and id are embedded in the scan file image name. image file name stored in global var Fse.busCardScanImgName.
// For example: BCARD_OPR_1234_3434[_MSC_14_1212] where the business card is being scanned for operator 1234. OPTIONALLY, the ownerid
// and ownertype, plus token, can be added to the filename. this is useful in situations where it is not cliend.ownerid/type. for example,
// fse internal users login with ownerid/type MSC21, but work with other accounts like MSC14 (fse - marketing).
var nameParts = Fse.busCardScanImgName.split("_");
var _partnerType = nameParts[1];
var _partnerId = nameParts[2];
// nameParts[3] is a random number for file name uniqueness purposes. not used otherwise.
var _ownerType = nameParts[4];
var _ownerId = nameParts[5];
var _token = nameParts[6];
var _contactEditUrl = 'index.cfm?app=cont&view=form-contact-update&contactid=0&partnerid='+_partnerId+'&partnertype='+_partnerType+'&scanimage='+Fse.busCardScanImgName;
if ( _ownerType != undefined ) {
_contactEditUrl = _contactEditUrl + '&ownerType=' + _ownerType + '&ownerid=' + _ownerId + '&token=' + _token;
}
Fse.updateUploadStatus(-1);
$.mobile.showPageLoadingMsg(); // to cover card ocr wait time
Fse.showPopupDialog(_contactEditUrl)
}
// PHOTO UPLOADING
Fse.updateUploadStatus = function(incrementAmount) {
Fse.uploadItemCount = Fse.uploadItemCount + incrementAmount;
if (Fse.uploadItemCount < 0 ) {
Fse.uploadItemCount = 0
}
if (Fse.uploadItemCount == 0 ) {
$('.upload-status').hide();
} else {
if (Fse.uploadItemCount == 1) {
var _message = 'Uploading';
} else {
var _message = 'Uploading';
}
$('.upload-status').text(_message);
$('.upload-status').show();
}
}
Fse.photoUploadSuccess = function() {
Fse.updateUploadStatus(-1);
Fse.loadSocket( 'current', undefined, 'refresh');
}
Fse.deletePhoto = function(subjectId,subjectType) {
var callBack = function() {
Fse.loadSocket( 'current', undefined, 'refresh');
}
if (confirm('Delete photo?')) {
Fse.serverRequest('index.cfm?app=photo&do=delete-photo&subjectId='+subjectId+'&subjecttype='+subjectType, undefined, undefined, callBack, undefined, 'POST');
}
}
Fse.acctPhotoUploadSuccess = function() {
//alert('Photo Uploaded!');
Fse.updateUploadStatus(-1);
Fse.acctLoadPhotosSocket();
};
Fse.acctLoadPhotosSocket = function() {
Fse.updateUploadStatus(0);
/* todo: need to better deal with multiple acct pages with duplicate "photos-socket" ids */
//var partnerId = $('#photos-socket').attr('FSE:partnerid');
//var partnerType = $('#photos-socket').attr('FSE:partnertype');
var partnerId = $('#'+Fse.currentPageSocket).find('#photos-socket').attr('FSE:partnerid');
var partnerType = $('#'+Fse.currentPageSocket).find('#photos-socket').attr('FSE:partnertype');
/*if ($('#photos-socket').attr('FSE:lazyLoaded') != 'true') {*/
/*if ($('#photos-socket').attr('FSE:page-url') == undefined) {
Fse.acctShowPhoto(partnerId, partnerType);
}*/
Fse.acctShowPhoto(partnerId, partnerType,undefined,'force');
}
Fse.acctShowPhoto = function(partnerId,partnerType,fileId,loadMode) {
if (fileId == undefined) { fileId = '' };
var fnCallBack = function() {
window.scrollTo(0, $("#"+partnerId+partnerType+"-photos").offset().top);
}
Fse.serverRequest('index.cfm?app=acct&view=acct-photos&partnerId='+partnerId+'&partnerType='+partnerType+'&fileId='+fileId, 'photos-socket', undefined, fnCallBack, undefined, undefined, loadMode);
}
Fse.acctDeletePhoto = function(partnerId,partnerType,fileId) {
if (confirm('Delete Photo?')) {
var callBack = function() {
Fse.acctShowPhoto(partnerId, partnerType, undefined, 'force');
Fse.ajaxRequest({ socketId: 'profile-summary-'+partnerType+partnerId, loadMode: 'refresh' })
}
Fse.serverRequest('index.cfm?app=acct&do=delete-photo&partnerId='+partnerId+'&partnerType='+partnerType+'&fileId='+fileId, undefined, undefined, callBack, undefined, 'post');
}
}
// MISC
Fse.toggleFilterDisplay = function(appCode, openCloseState) {
var filterDisplayId = appCode + '-filter-selections';
var iconDisplayId = appCode + '-srch-fltr-icon';
var criteriaDisplayId = appCode + '-search-criteria-dsp-socket';
/* based on current state, what would icon be after being toggled */
if ( $('#'+filterDisplayId).is(":visible") ) {
//var _toggledIcon = '▼'; /* down */
var _toggledIcon = '+'; /* down */
} else {
var _toggledIcon = '▲'; /* up */
var _toggledIcon = '-'; /* up */
}
if (openCloseState == 'open' && !$('#'+filterDisplayId).is(":visible")) {
$('#'+filterDisplayId).fadeToggle('slow');
//$('#'+iconDisplayId).html('▲');
$('#'+iconDisplayId).html('-');
$('#'+criteriaDisplayId).hide();
} else if (openCloseState == 'close' && $('#'+filterDisplayId).is(":visible")) {
$('#'+filterDisplayId).fadeToggle('slow');
//$('#'+iconDisplayId).html('▼');
$('#'+iconDisplayId).html('+');
$('#'+criteriaDisplayId).show();
} else if (openCloseState == undefined) {
if ( $('#'+filterDisplayId).is(":visible") ) {
$('#'+criteriaDisplayId).show();
} else {
$('#'+criteriaDisplayId).hide();
}
$('#'+filterDisplayId).fadeToggle('slow');
$('#'+iconDisplayId).html(_toggledIcon);
}
}
Fse.getResponsiveState = function() {
if ( window.getComputedStyle(document.getElementById('responsive-state-info'), null).getPropertyValue('width') == '0px' ) {
return 'phone';
} else {
return 'tablet';
}
}
Fse.getDeviceType = function() {
if ( window.getComputedStyle(document.getElementById('responsive-state-info'), null).getPropertyValue('width') == '0px' ) {
return 'phone';
} else {
return 'tablet';
}
}
Fse.generalSearchSelection = function() {
var _selection = $('#genSearchSelection').val();
var _typ = _selection.split("|")[0];
var _val = _selection.split("|")[1];
if (_typ == 'PRD') {
Fse.emptyPages('generic',true);
Fse.setTitle('Products');
Fse.loadSocket( 'reset', 'index.cfm?app=prd&view=page-prd-detail&skuid='+_val+'&back=home&nonav=true');
if($('#main-menu-collapsible').is(':visible')){Fse.toggleMainMenu();}
} else if (_typ == 'OPR' || _typ == 'CDR') {
Fse.emptyPages('generic',true);
Fse.setTitle('Accounts');
Fse.loadSocket('reset','index.cfm?app=acct&view=page-acct-detail&partnerid='+_val+'&partnertype='+_typ+'&back=home&nonav=true');
if($('#main-menu-collapsible').is(':visible')){Fse.toggleMainMenu();}
} else if (_typ == 'CON') {
Fse.emptyPages('generic',true);
Fse.setTitle('Contacts');
Fse.loadSocket( 'reset', 'index.cfm?app=cont&view=page-contact-detail&id='+_val+'&back=home&nonav=true' );
if($('#main-menu-collapsible').is(':visible')){Fse.toggleMainMenu();}
}
$("#genSearchInput").val("");
}
// SALES CALLS
Fse.createInteraction = function(partnerId,partnerType,socketLocation) {
/* NOTE: this is currently only used for brokers. */
//alert(partnerId+', '+partnerType+', '+socketLocation);
if (!socketLocation) { var socketLocation = 'next'; }
if (partnerId == '0') {
if (Fse.onHomePage()) {
var _socketValue = 'reset';
} else {
var _socketValue = 'next';
}
// not sure about dirtypage here
//Fse.dirtyPage('current');
Fse.loadSocket( _socketValue, 'index.cfm?app=calls&view=page-call-detail&partnerid=0&partnertype=&interactionid=0', 'force' );
} else {
var fnCallback = function(data,status,request) {
var newIntId = request.getResponseHeader("FSEnewinteractionid");
if (newIntId != '0') {
Fse.dirtyPage('current');
Fse.loadSocket( socketLocation, 'index.cfm?app=calls&view=page-call-detail&partnerid='+partnerId+'&partnertype='+partnerType+'&interactionid='+newIntId, 'force' );
} else {
alert('Unable to create new call.');
}
}
Fse.serverRequest('index.cfm?app=calls&view=create-sales-call&partnerid='+partnerId+'&partnertype='+partnerType, undefined, undefined, fnCallback );
}
}
Fse.addItemToCall = function(_pid,_ptyp,_skuid,_repid) {
var _url = "index.cfm?app=calls&view=add-item-to-call&partnerid=" + _pid + "&partnertype=" + _ptyp + "&skuid=" + _skuid + "&repid=" + _repid;
var fnCallBack = function(data,status,request) {
if ( request.getResponseHeader("x-fse-item-add-status") == 'success' ) {
alert("Item added!");
} else if ( request.getResponseHeader("x-fse-item-add-status") == 'exists' ) {
alert('Item already added to open call.');
} else if ( request.getResponseHeader("x-fse-item-add-status") == 'failure' ) {
alert('Error adding item.');
}
}
Fse.ajaxRequest( { urlString:_url, callBack: fnCallBack } );
}
// favorites, cart
Fse.favSet = function(subjectId,subjectType,subjectOid,subjectOtype) {
if (!subjectOid) { subjectOid = ''; }
if (!subjectOtype) { subjectOtype = ''; }
if ($('.fav-'+subjectId).attr('src') == 'images/ico-toolbar-favorite-on.png') {
$('.fav-'+subjectId).attr('src','images/ico-toolbar-favorite.png');
var _act = 'del';
} else {
$('.fav-'+subjectId).attr('src','images/ico-toolbar-favorite-on.png');
var _act = 'add';
}
//Fse.serverRequest('index.cfm?view=set-favorite&subjectid='+subjectId+'&subjecttype='+subjectType+'&favAction='+_act);
Fse.ajaxRequest( { urlString:'index.cfm?view=set-favorite&subjectid='+subjectId+'&subjecttype='+subjectType+'&favAction='+_act+'&subjectoid='+subjectOid+'&subjectotype='+subjectOtype, showLoading: false } );
}
Fse.cartSet = function(subjectId,subjectType,action,cartSetCallback) {
subjectType = subjectType.toLowerCase();
// analyze subjectType to determine if SKU or DOC as general types
if (subjectType.substring(0,3) == 'sku') {
var _subject = 'sku';
} else if (subjectType.substring(0,3) == 'doc') {
var _subject = 'doc';
} else if (subjectType.substring(0,10) == 'partnerdoc') {
var _subject = 'doc';
} else if (subjectType.substring(0,4) == 'file') {
var _subject = 'doc';
} else {
var _subject = 'unknown';
}
// action is either passed in, or determined by current item cart icon state
if ( action != undefined ) {
var _action = action;
} else if ( $('.cart-'+_subject+'-'+subjectId).attr('src') != undefined ) {
if ($('.cart-'+_subject+'-'+subjectId).attr('src') == 'images/ico-toolbar-checkbox.png') {
var _action = 'add';
} else {
var _action = 'del';
}
} else {
return false;
}
// set icon, if any exist for matching selector
if ( _action == 'add' ) {
$('.cart-'+_subject+'-'+subjectId).attr('src','images/ico-toolbar-checkbox-on.png');
} else {
$('.cart-'+_subject+'-'+subjectId).attr('src','images/ico-toolbar-checkbox.png');
}
var callBack = function(data,status,request) {
var cartCount = request.getResponseHeader("x-fse-carttotitemcount");
if (parseInt(cartCount) > 99) {
$("#header-cart-count").html('++');
} else {
$("#header-cart-count").html(cartCount);
}
if ( cartCount == '0' ) {
$("#header-cart-count").addClass('cart-status-empty');
$("#header-cart-image").addClass('cart-status-empty');
} else {
$("#header-cart-count").removeClass('cart-status-empty');
$("#header-cart-image").removeClass('cart-status-empty');
}
if (cartSetCallback) {
cartSetCallback();
}
}
// add/remove item from cart client variable
Fse.ajaxRequest( { urlString:'index.cfm?view=set-cart&subjectid='+subjectId+'&subjecttype='+subjectType+'&cartAction='+_action, showLoading: false, callBack: callBack } );
}
Fse.cartSetDocsBatch = function( subjectType, cartAction ) {
var callBack = function(data,status,request) {
var cartCount = request.getResponseHeader("x-fse-carttotitemcount");
if (parseInt(cartCount) > 99) {
$("#header-cart-count").html('++');
} else {
$("#header-cart-count").html(cartCount);
}
if ( cartCount == '0' ) {
$("#header-cart-count").addClass('cart-status-empty');
$("#header-cart-image").addClass('cart-status-empty');
} else {
$("#header-cart-count").removeClass('cart-status-empty');
$("#header-cart-image").removeClass('cart-status-empty');
}
if (cartAction.toLowerCase() == 'add') {
alert('Documents added.');
} else {
alert('Documents removed.');
}
}
Fse.ajaxRequest( { urlString:"index.cfm?view=set-cart&subjectIdBatch=true&subjectId=0&subjectType="+subjectType+"&cartAction="+cartAction, callBack: callBack } );
}
Fse.clearCart = function( subjectType, cartSetCallback ) {
subjectType = subjectType.toLowerCase();
var callBack = function(data,status,request) {
var cartCount = request.getResponseHeader("x-fse-cartskuitemcount");
$("#header-cart-count").html(cartCount);
$("#header-cart-count").addClass('cart-status-empty');
$("#header-cart-image").addClass('cart-status-empty');
$('img[class^="cart-'+subjectType+'-"]').attr('src','images/ico-toolbar-checkbox.png');
if (cartSetCallback) {
cartSetCallback();
}
}
Fse.ajaxRequest( { urlString:'index.cfm?view=set-cart&subjectid=0&subjecttype='+subjectType+'&cartAction=clearall', showLoading: false, callBack: callBack } );
}
// DOCUMENTS
Fse.docActions = function(docType,docId,docOid,docOtyp,favOption) {
if (!docOid) { docOid = ''; }
if (!docOtyp) { docOtyp = ''; }
if (!favOption) { favOption = 'on'; }
Fse.showPopupDialog("index.cfm?app=docs&view=doc-actions&doctype="+docType+"&docid="+docId+"&docoid="+docOid+"&docotyp="+docOtyp+"&favOption="+favOption);
}
Fse.docEmail = function(docType,docId,docOid,docOtyp) {
Fse.closePopupDialog();
var _requestedDocs = docType + '|' + docId;
//setTimeout(function() { Fse.showPopupDialog("index.cfm?app=docs&view=form-doc-email&doctype="+docType+"&docid="+docId+"&docoid="+docOid+"&docotyp="+docOtyp); }, 200);
setTimeout(function() { Fse.showPopupDialog("index.cfm?app=docs&view=form-doc-email&requestedDocs="+_requestedDocs); }, 200);
}
Fse.submitDocEmail = function() {
var callBack = function(data,status,request) {
var _error = request.getResponseHeader("x-fse-emailerror");
if (_error == '') {
alert('Email sent!');
Fse.closePopupDialog();
} else {
alert(_error);
}
}
Fse.serverRequest('index.cfm?app=docs&do=email-item', undefined, undefined, callBack, 'frmShareItem', 'POST');
}
Fse.videoEmail = function(vidId,vidOid,vidOtyp) {
Fse.closePopupDialog();
setTimeout(function() { Fse.showPopupDialog("index.cfm?app=prd&view=form-vid-email&vidid="+vidId+"&vidoid="+vidOid+"&vidotyp="+vidOtyp); }, 200);
}
Fse.submitVidEmail = function() {
var callBack = function(data,status,request) {
var _error = request.getResponseHeader("x-fse-emailerror");
if (_error == '') {
alert('Email sent!');
Fse.closePopupDialog();
} else {
alert(_error);
}
}
Fse.serverRequest('index.cfm?app=prd&do=email-item-vid', undefined, undefined, callBack, 'frmShareItem', 'POST');
}
Fse.submitDocSearch = function( stPage ) {
var criterRequired = false;
if ( document.frmsrchdocs.keyWord.value == '' &&
( document.frmsrchdocs.catId == undefined || document.frmsrchdocs.catId.selectedIndex == 0) &&
( document.frmsrchdocs.myFavorites == undefined || document.frmsrchdocs.myFavorites.checked == false) && criterRequired ) {
$('#docs-search-results-socket').html('provide additional search criteria
to view results
');
Fse.toggleFilterDisplay('doc-filter-selections','close');
$('#docs-search-criteria-dsp-socket').html('');
} else {
if (stPage == 1) {
$('#docs-search-results-socket').html('searching...
');
}
var callBack = function() {
// need to handle here as callback because of timing. mfr changes, etc make it necessary to do last, and not as asynch call
if (stPage == 1) {
Fse.serverRequest('index.cfm?app=docs&view=search-criteria', 'docs-search-criteria-dsp-socket', undefined, undefined, 'frmsrchdocs', 'get', 'force');
}
window.scrollTo(0,0);
}
Fse.serverRequest('index.cfm?app=docs&view=search-results&pg='+stPage,'docs-search-results-socket',undefined,callBack,'frmsrchdocs','get','force');
}
}
Fse.clearDocSearch = function() {
if(document.frmsrchdocs.keyWord) { document.frmsrchdocs.keyWord.value = '' };
//if(document.frmsrchdocs.myFavorites) { $("#myFavorites").attr("checked",false).checkboxradio("refresh") };
if(document.frmsrchdocs.myFavorites) { document.frmsrchdocs.myFavorites.checked = false };
if( document.frmsrchdocs.catId ) {
document.frmsrchdocs.catId.selectedIndex=0;
$('#catId').selectmenu('refresh');
}
if(document.frmsrchdocs.docFilters) {
var field = document.frmsrchdocs.docFilters;
if (field.length) {
for (i = 0; i < field.length; i++) {
field[i].checked = false;
}
} else {
document.frmsrchdocs.docFilters.checked = false;
}
}
if ( Fse.dropDownLogosClear ) {
Fse.dropDownLogosClear('docs-mfr-picker');
}
Fse.submitDocSearch(1);
}
Fse.captureDocDownload = function(userId, assetOwnerId, assetOwnerType, assetItemId, assetContentId, assetTableName, documentUrl) {
var fnCallBack = function() {
var tempUserAgent = navigator.userAgent.toLowerCase();
if ( tempUserAgent.includes("_maui") == true) {
var tempMessage = encodeURI("ViewDocument^" + documentUrl);
HybridWebView.SendRawMessageToDotNet(tempMessage);
} else {
location.href = documentUrl;
}
}
Fse.ajaxRequest( { urlString: 'index.cfm?app=docs&view=document-download-capture&userid='+userId+'&assetOwnerId='+assetOwnerId+'&assetOwnerType='+assetOwnerType+'&assetItemId='+assetItemId+'&assetContentId='+assetContentId+'&assetTableName='+assetTableName, callBack: fnCallBack } );
}
Fse.docDownload = function(documentUrl) {
var _userAgent = navigator.userAgent.toLowerCase();
if ( _userAgent.includes("_maui") == true) {
var _message = encodeURI("ViewDocument^" + documentUrl);
HybridWebView.SendRawMessageToDotNet(_message);
} else {
location.href = documentUrl;
}
}
Fse.promptNewBroSalesCall = function( partnerId, partnerType ) {
if (!mainMenuOrigin) { var mainMenuOrigin = false; }
var _mainMenuOrigin = Fse.onHomePage();
Fse.showPopupDialog('index.cfm?app=calls&view=form-prompt-new-bro-call&mainMenuOrigin=' + _mainMenuOrigin + '&partnerid=' + partnerId + '&partnertype=' + partnerType, 300);
}
Fse.expanderToggle = function(groupClass) {
$('.expander.'+groupClass).fadeToggle();
$('.expander-indicator.'+groupClass).toggle();
}
Fse.goTopButtonEnabled = function(_enabled) {
if (_enabled) {
$("#scroll-top-btn").addClass("scroll-top-btn");
} else {
$("#scroll-top-btn").removeClass("scroll-top-btn");
$("#scroll-top-btn").hide();
}
}
// FORMS
Fse.dropDownButtonsItemSelected = function(fieldName,fieldId) {
var selectedLabel = $("label[for='"+fieldName+"_pick_"+fieldId+"']").text();
var selectedValue = $("#"+fieldName+"_pick_"+fieldId).val();
if ( $("#"+fieldName+"_pick_"+fieldId).is(':checked') == true ) {
$("#"+fieldName+"-selected-display").text(selectedLabel);
$("#"+fieldName).val(selectedValue);
} else {
var unselectedLabel = $("#"+fieldName+"-selected-display").attr("fse:unselectedLabel");
$("#"+fieldName+"-selected-display").text(unselectedLabel);
$("#"+fieldName).val("?");
}
}
Fse.dropDownButtonsSetSelectedItem = function(fieldName, desiredValue) {
// Find the radio button with the desired value
var radioButton = $("input[name='" + fieldName + "_pick'][value='" + desiredValue + "']");
if (radioButton.length > 0) {
// Get the ID of the radio button
var fieldId = radioButton.attr("id").replace(fieldName + "_pick_", "");
// Check the radio button
radioButton.prop("checked", true);
// Get the label for the selected radio button
var selectedLabel = $("label[for='" + fieldName + "_pick_" + fieldId + "']").text();
// Update the display and hidden field
$("#" + fieldName + "-selected-display").text(selectedLabel);
$("#" + fieldName).val(desiredValue);
} else {
// If the desired value is not found, reset to unselected state
var unselectedLabel = $("#" + fieldName + "-selected-display").attr("fse:unselectedLabel");
$("#" + fieldName + "-selected-display").text(unselectedLabel);
$("#" + fieldName).val("?");
// Deselect any previously selected radio buttons
$("input[name='" + fieldName + "_pick']").prop("checked", false);
}
};
Fse.dropDownLogosClearSAVE = function(ddLogosId) {
if($('#' + ddLogosId).length == 0) {
return;
}
var formFieldName = $('#'+ddLogosId).attr('fse:formfieldname');
var currentSelection = $('#'+ddLogosId+'-'+formFieldName).val();
$('#'+ddLogosId+'-logo-'+currentSelection).removeClass('dropdown-logos-selected');
$('#'+ddLogosId+'-logo-list-'+currentSelection).removeClass('dropdown-logos-selected');
$('#'+ddLogosId+' input[name='+formFieldName+']').val('');
$('#'+ddLogosId+'-selected-display').html( $('#'+ddLogosId+'-selected-display').attr('fse:unselectedLabel') );
$('#'+ddLogosId).hide();
}
Fse.dropDownLogosItemSelected = function(eMfr) {
var mfrName = $(eMfr).attr('fse:mfr');
var mfrId = $(eMfr).attr('fse:mfrid');
var token = $(eMfr).attr('fse:token');
var containerDivId = $(eMfr).parent().parent().attr('id');
var fieldName = $('#'+containerDivId).attr('fse:formfieldname');
var currentSelection = $('#'+containerDivId+'-'+fieldName).attr('fse:selectedmfrid');
var unselectedValue = $('#'+containerDivId+'-'+fieldName).attr('fse:unselectedvalue');
if ( token != undefined ) {
var mfridFieldValue = mfrId + '|' + token;
} else {
var mfridFieldValue = mfrId;
}
if ( currentSelection == mfrId ) {
$('#'+containerDivId+'-'+fieldName).val(unselectedValue);
$('#'+containerDivId+'-'+fieldName).attr('fse:selectedmfrid','');
$('#'+containerDivId+'-selected-display').html( $('#'+containerDivId+'-selected-display').attr('fse:unselectedLabel') );
$('#'+containerDivId+'-logo-'+currentSelection).removeClass('dropdown-logos-selected');
$('#'+containerDivId+'-logo-list-'+currentSelection).removeClass('dropdown-logos-selected');
} else {
$('#'+containerDivId+'-logo-'+currentSelection).removeClass('dropdown-logos-selected');
$('#'+containerDivId+'-logo-list-'+currentSelection).removeClass('dropdown-logos-selected');
$('#'+containerDivId+'-'+fieldName).val( mfridFieldValue );
$('#'+containerDivId+'-'+fieldName).attr('fse:selectedmfrid',mfrId);
$('#'+containerDivId+'-selected-display').html( mfrName );
$('#'+containerDivId+'-logo-'+mfrId).addClass('dropdown-logos-selected');
$('#'+containerDivId+'-logo-list-'+mfrId).addClass('dropdown-logos-selected');
}
$('#'+containerDivId).hide();
}
Fse.dropDownLogosClear = function(containerId) {
if($('#' + containerId).length == 0) {
return;
}
var formFieldName = $('#'+containerId).attr('fse:formfieldname');
var currentSelection = $('#'+containerId+'-'+formFieldName).val();
var unselectedValue = $('#'+containerId+' input[name='+formFieldName+']').attr('fse:unselectedvalue');
$('#'+containerId+'-logo-'+currentSelection).removeClass('dropdown-logos-selected');
$('#'+containerId+'-logo-list-'+currentSelection).removeClass('dropdown-logos-selected');
$('#'+containerId+' input[name='+formFieldName+']').val(unselectedValue);
$('#'+containerId+' input[name='+formFieldName+']').attr('fse:selectedmfrid','');
$('#'+containerId+'-selected-display').html( $('#'+containerId+'-selected-display').attr('fse:unselectedLabel') );
$('#'+containerId).hide();
Fse.dropDownLogosFilterClear(containerId);
}
Fse.dropDownLogosFilterClear = function(containerId) {
$('#'+containerId+'-filter-input').val('');
$('#'+containerId+'-filter-clear').hide();
$('.'+containerId+'-logos-filter').show();
}
Fse.dropDownMultiSelectClearSelections = function(containerId) {
$.each($("#"+containerId+"-inputs").find("input:checked"), function(){
$(this).prop('checked',false).checkboxradio('refresh');
});
var _unselectedLabel = $('#'+containerId+'-selected-display').attr('fse:unselectedLabel');
$('#'+containerId+'-selected-display').text(_unselectedLabel);
$('#'+containerId+'-selections-summary').text('');
}
Fse.dropDownMultiSelectUpdateLabel = function(containerId) {
var _fieldName = $('#'+containerId).attr('fse:fieldname');
var _unselectedLabel = $('#'+containerId+'-selected-display').attr('fse:unselectedLabel');
var _multiSelectLabelPrefix = $('#'+containerId).attr('fse:multiSelectLabelPrefix');
var _count = 0;
var _selectionId = '';
var _selectionLabel = '';
var _selectionLabelsList = '';
$.each($("#"+containerId+"-inputs").find("input:checked"), function(){
_selectionId = $(this).attr('id');
_selectionLabel = $('label[for='+_selectionId+']').text();
if (_selectionLabelsList == '') {
_selectionLabelsList = _selectionLabel;
} else {
_selectionLabelsList = _selectionLabelsList.trim() + ', ' + _selectionLabel;
}
_count++
});
if (_count == 0 ) {
var _controlLabel = _unselectedLabel;
} else if (_count == 1) {
var _controlLabel = _selectionLabel;
} else {
var _controlLabel = _multiSelectLabelPrefix + _count + ' Selections';
}
$('#'+containerId+'-selections-summary').text(_selectionLabelsList);
$('#'+containerId+'-selected-display').text(_controlLabel);
}
/* account chooser */
Fse.acPartnerTypeChange = function(e, _puid) {
var _formName = $("#acAccountSearchDiv-"+_puid).attr('fse:formName');
var _ptypFieldName = $("#acAccountSearchDiv-"+_puid).attr('fse:ptypFieldName');
var _pidFieldName = $("#acAccountSearchDiv-"+_puid).attr('fse:pidFieldName');
var _partnerTypeChangeCallBack = $("#acAccountSearchDiv-"+_puid).attr('fse:partnerTypeChangeCallBack');
eval("document."+_formName+"."+_pidFieldName+".value=''");
eval("document."+_formName+"."+_ptypFieldName+".value=''");
$('#stagingPartnerType-'+_puid).val(e.value);
$('#stagingPartnerId-'+_puid).val('');
$("#ac-search-result-header-"+_puid).html("");
$("#ac-search-result-"+_puid).html("");
if (e.value == "OPR") {
$("#acAccountSearchInput-"+_puid).attr("placeholder","search for operator");
$("#acAccountSearchInput-"+_puid).attr("fse:addparams","pt=opr");
$("#acAccountSearchInput-"+_puid).val("");
$("#acAccountSearchTarget-"+_puid).html("");
$("#acAccountSearchDiv-"+_puid).fadeIn();
} else if (e.value == "CDR") {
$("#acAccountSearchInput-"+_puid).attr("placeholder","search for distributor");
$("#acAccountSearchInput-"+_puid).attr("fse:addparams","pt=cdr");
$("#acAccountSearchInput-"+_puid).val("");
$("#acAccountSearchTarget-"+_puid).html("");
$("#acAccountSearchDiv-"+_puid).fadeIn();
}
$("#acAccountSearchInput-"+_puid).focus();
if (_partnerTypeChangeCallBack != '' ) {
eval( _partnerTypeChangeCallBack + "('"+e.value+"')" );
}
}
Fse.acHandleSelectedAccount = function(_puid) {
var _formName = $("#acAccountSearchDiv-"+_puid).attr('fse:formName');
var _ptypFieldName = $("#acAccountSearchDiv-"+_puid).attr('fse:ptypFieldName');
var _pidFieldName = $("#acAccountSearchDiv-"+_puid).attr('fse:pidFieldName');
var _callBack = $("#acAccountSearchDiv-"+_puid).attr('fse:callBack');
var _partnerId = $('#stagingPartnerId-'+_puid).val();
var _partnerType = $('#stagingPartnerType-'+_puid).val();
eval("document."+_formName+"."+_pidFieldName+".value='"+_partnerId+"'");
eval("document."+_formName+"."+_ptypFieldName+".value='"+_partnerType+"'");
var _searchResultsHeaderText = $("#acAccountSearchDiv-"+_puid).attr('fse:searchResultsHeaderText');
$("#ac-search-result-header-"+_puid).html(_searchResultsHeaderText);
var callBack = function() {
if (_callBack != '' ) {
eval( _callBack + "('" + _partnerId + "','" + _partnerType + "')" );
}
}
$("#acAccountSearchInput-"+_puid).val("");
Fse.ajaxRequest( { urlString:"index.cfm?app=acct&view=ac-disp-selected-account&partnerid="+_partnerId+"&partnertype="+_partnerType, socketId:"ac-search-result-"+_puid, callBack: callBack } );
}
/* icon badges */
Fse.setBadge = function(attributeName, attributeValue, badgeValue) {
var x = document.querySelectorAll('['+attributeName+'="'+attributeValue+'"]');
var i;
for (i = 0; i < x.length; i++) {
x[i].setAttribute('badge-value', badgeValue);
}
}
Fse.updateBadgeSettings = function() {
var alertList = '';
/* find all elements with attribute "badge-dataset" */
var x = document.querySelectorAll('[badge-dataset]');
if ( x.length == 0 ) {
return true;
}
/* loop through badge enabled elements to get dataset name and add to the list */
var i;
for (i = 0; i < x.length; i++) {
alertList = alertList + ',' + x[i].getAttribute('badge-dataset');
}
var fnCallback = function(data,status,request) {
var alertData = JSON.parse(data);
// run through list and set home screen alert badges, as well as other special location indicators
$.each(alertData, function(key, value) {
if (key == "tradeapproved") {
// special case - set red dot on trade approved filter
$('#new-items-indic-app').css('display', 'inline-block');
} else if (key == "traderejected") {
// special case - set red dot on trade rejected filter
$('#new-items-indic-rej').css('display', 'inline-block');
} else {
// otherwise home screen badge set
Fse.setBadge( 'badge-id', 'app-icon-'+key, value );
}
});
}
/* because this is a background task, we will turn off the loading spinner. user isn't expecting or waiting, so no need to
distract with it. */
Fse.ajaxRequest( { urlString: 'index.cfm?view=get-alert-totals&alerts='+alertList, callBack: fnCallback, showLoading: false } );
}
Fse.showTaskDetail = function( taskId, pagerPress ) {
if ( pagerPress == undefined ) { pagerPress = false; }
if (pagerPress) { var socketId = 'current'; } else { var socketId = 'next'; }
var fnCallBack = function() {
}
Fse.loadSocket(socketId,'index.cfm?app=task&view=page-task-detail&taskid='+taskId);
}
//swipe handling for update item status on calls and tasks, if url.view = form-item-status then add these listeners, otherwise remove them
let startX = 0;
let touchstartListenerAdded = false;
let touchendListenerAdded = false;
// Swipe listeners - only load once
// Define listeners globally so they can be removed
if (typeof window.fseTouchStartListener === "undefined") {
window.fseTouchStartListener = function(e) {
startX = e.touches[0].clientX;
e.preventDefault = function(){passive: false};
};
}
if (typeof window.fseTouchMoveListener === "undefined") {
window.fseTouchMoveListener = function(e) {
if (window.fseSwipeHandled) return;
const deltaX = e.touches[0].clientX - startX;
if (Math.abs(deltaX) > 30) {
window.fseSwipeHandled = true;
e.preventDefault = function(){passive: false};
e.stopPropagation();
Fse.fseSwipeHandler(deltaX);
}
};
}
if (typeof window.fseTouchEndListener === "undefined") {
window.fseTouchEndListener = function(e) {
window.fseSwipeHandled = false;
e.preventDefault = function(){passive: false};
};
}
Fse.fseSwipeHandlerLoader = function () {
if (!window.fseSwipeListenersAdded) {
window.addEventListener("touchstart", window.fseTouchStartListener, { passive: false });
window.addEventListener("touchmove", window.fseTouchMoveListener, { passive: false });
window.addEventListener("touchend", window.fseTouchEndListener, { passive: false });
window.fseSwipeListenersAdded = true;
window.fseSwipeHandled = false;
}
}
Fse.fseSwipeHandlerUnloader = function () {
if (window.fseSwipeListenersAdded) {
if (window.fseTouchStartListener) {
window.removeEventListener("touchstart", window.fseTouchStartListener);
}
if (window.fseTouchMoveListener) {
window.removeEventListener("touchmove", window.fseTouchMoveListener);
}
if (window.fseTouchEndListener) {
window.removeEventListener("touchend", window.fseTouchEndListener);
}
window.fseSwipeListenersAdded = false;
}
}
Fse.fseSwipeHandler = function (deltaX) {
var currentForm = document.frmItemStatus.currentFormNum.value;
var formNumList = document.frmItemStatus.formNumList.value;
var arForms = formNumList.split(",");
var formCount = arForms.length;
if (deltaX > 0) {
// Swiping right (backward)
if (currentForm > 1) {
Fse.op.changeForm(Number(currentForm) - 1);
}
} else {
// Swiping left (forward)
if (currentForm < formCount) {
Fse.op.changeForm(Number(currentForm) + 1);
}
}
}