if (window.BEJSSDKObserver === undefined) {
(function(BEJSSDKObserver, $, undefined) {
var observer = void 0;
var listeners = [];
var readySet = [];
var doc = window.document;
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
function checkSelector(selector, fn, indexList) {
var elements = doc.querySelectorAll(selector);
for (var i = 0, len = elements.length; i < len; i++) {
/* -1 means all instances */
if (indexList != -1 && !(i in indexList)) {
continue;
}
var element = elements[i];
for (var j = 0; j < readySet.length; j++) {
if (readySet[j] == element.className || readySet[j] == element.id) {
return;
}
}
if (element.className) {
readySet.push(element.className);
}
if (element.id) {
readySet.push(element.id);
}
if (!element.ready || MutationObserver==null) {
element.ready = true;
fn.call(element, element);
}
}
}
function checkListeners() {
listeners.forEach(function (listener) {
return checkSelector(listener.selector, listener.fn, listener.indexList);
});
}
function removeListener(selector, fn) {
var i = listeners.length;
while (i--) {
var listener = listeners[i];
if (listener.selector === selector && listener.fn === fn) {
listeners.splice(i, 1);
if (!listeners.length && observer) {
observer.disconnect();
observer = null;
}
}
}
}
/**
* Fire event on first js selector
* @param selector string to watch on
* @param fn callback function
* @param index_list can be undefined which means only first one
* or -1 which means all
* or a list of allowable indexes
*/
BEJSSDKObserver.jsElementReady = function(selector, fn, index_list) {
if (index_list === undefined) {
index_list = [];
index_list.push(0);
}
if (MutationObserver != null) {
if (!observer) {
observer = new MutationObserver(checkListeners);
observer.observe(doc.documentElement, {
childList: true,
subtree: true
});
}
listeners.push({ selector: selector, fn: fn, indexList: index_list });
} else {
/* <= IE8 */
if (!document.addEventListener) {
/* log("<=IE8 attachEvent assignment"); */
document.addEventListener = document.attachEvent;
}
document.addEventListener("DOMContentLoaded", function(event) {
var elements = doc.querySelectorAll(selector);
for (var i = 0, len = elements.length; i < len; i++) {
/* -1 means all instances */
if (index_list != -1 && !(i in index_list)) {
continue;
}
var element = elements[i];
element.ready = true;
fn.call(element, element);
}
});
}
checkSelector(selector, fn, index_list);
return function () {
return removeListener(selector, fn);
};
};
}(window.BEJSSDKObserver = window.BEJSSDKObserver || {}));
}
var jsElementReady = window.BEJSSDKObserver.jsElementReady;
if (window.BELinkBlockGenerator === undefined) {
(function(BELinkBlockGenerator, $, undefined) {
BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH = 100;
BELinkBlockGenerator.MAXIMUM_DESC_LENGTH = 200;
BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_URL_TYPE = 0;
BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_HEADLINE_TYPE = 1;
BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_DESCRIPTION_TYPE = 2;
BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_IMAGE_TYPE = 3;
BELinkBlockGenerator.REPLACEMENT_STRATEGY_OVERWRITE = 0;
BELinkBlockGenerator.REPLACEMENT_STRATEGY_POST_APPEND_ELEMENT = 1;
BELinkBlockGenerator.REPLACEMENT_STRATEGY_PRE_APPEND_ELEMENT = 2;
BELinkBlockGenerator.REPLACEMENT_STRATEGY_PRE_APPEND_PARENT = 3;
BELinkBlockGenerator.setMaximumHeadlineLength = function(length) {
BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH = length;
};
BELinkBlockGenerator.setMaximumDescriptionLength = function(length) {
BELinkBlockGenerator.MAXIMUM_DESC_LENGTH = length;
};
BELinkBlockGenerator.generateIndividualLinks = function(parentElement, linkStructure, link) {
var link_level_element_tag = linkStructure[0];
var link_level_element = document.createElement(link_level_element_tag);
var link_attribute_dictionary = linkStructure[1];
var allowable_elements = linkStructure[2];
var children_link_structures = linkStructure[3];
for (var link_attribute_key in link_attribute_dictionary) {
link_level_element.setAttribute(link_attribute_key, link_attribute_dictionary[link_attribute_key]);
}
var added_something = false;
if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_URL_TYPE)>=0) {
link_level_element.setAttribute('href', link.url);
added_something = true;
}
if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_HEADLINE_TYPE)>=0 && link.h1) {
var headline_text = link.h1;
if (headline_text.length > BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH) {
headline_text = headline_text.substring(0, BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH) + '...';
}
var text_node = document.createTextNode(headline_text);
link_level_element.appendChild(text_node);
added_something = true;
}
if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_DESCRIPTION_TYPE)>=0 && link.desc) {
var desc_text = link.desc;
if (desc_text.length > BELinkBlockGenerator.MAXIMUM_DESC_LENGTH) {
desc_text = desc_text.substring(0, BELinkBlockGenerator.MAXIMUM_DESC_LENGTH) + '...';
}
var text_node = document.createTextNode(desc_text);
link_level_element.appendChild(text_node);
added_something = true;
}
if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_IMAGE_TYPE)>=0 && link.image) {
link_level_element.setAttribute('src', link.image);
added_something = true;
}
/**
don't emit for empty links, desc, headline, image
except for parent structures where allowable_length=0
*/
if (!added_something && allowable_elements.length != 0) {
return;
}
/* go depth first */
for (var childrenIndex=0; childrenIndex
.be-ix-link-block{clear:both; }
.be-ix-link-block .be-related-link-container{display: flex;justify-content:center; text-align:center; padding: 10px 0;padding-bottom:20px}
.be-ix-link-block .be-related-link-container .be-label{display: inline-block;margin-right: 15px; font-style: normal; font-size: 16px; font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif; color: #1E1432 !important; font-weight: 700; line-height: 1.6em;}
.be-ix-link-block .be-related-link-container .be-list{list-style:none;margin:0;padding: 0;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item{margin:0;padding: 0 0 0px 0;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item a{text-transform: none;padding-right: 15px; font-size: 16px; font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif; color: #1E1432; font-weight: 300; line-height: 1.6em;text-decoration:none;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item a:hover{opacity: 1;color:#FA505F }
.be-ix-link-block .be-related-link-container .be-list{display:flex;width:auto}
.be-ix-link-block .be-related-link-container .be-list .be-list-item{display:flex;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item:last-child{margin-right:0}
@media (max-width: 767px) {
.be-ix-link-block .be-related-link-container{ display: block; text-align: left; width: 100%; padding-left: 30px;}
.be-ix-link-block .be-related-link-container .be-label {width: 100%;margin:0;padding-bottom:10px}
.be-ix-link-block .be-related-link-container .be-list {display: inline-block;width: 100%;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item {display: inline-block;margin:0;padding: 0 0 5px 0;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item a{padding-right:0px}
}
Resources | Appriss Retail
Resource center
Dive into resources featuring downloadable content, informative blogs, top news, and upcoming events.
Downloads
Our comprehensive resource library features on-demand webinars, insightful whitepapers, and much more.
Blog
Strengthen your strategy to fight return fraud and abuse, organized retail crime, and more with our blog, which has actionable how-tos and vital tips.
News
Appriss® Retail experts are featured in the news as leaders in loss prevention and returns optimization.
Events
Appriss® Retail supports retailers around the globe through a variety of conferences and exhibitions. Visit us at these upcoming events.
Featured Download
Return to Sender: How Organized Retail Crime Rings Exploit Returns, Claims, and Loopholes
Organized retail crime has moved beyond smash-and-grabs—now it’s hiding in your returns and claims. Sophisticated fraud rings exploit return policy loopholes to generate fake refunds, slipping past traditional detection methods.
Learn how leading retailers are using AI to uncover these hidden schemes.