window.DigitalFeedback['https://digitalfeedback.euro.confirmit.com/api/digitalfeedback/loader/prod/scenario?programKey=bIBWJz&scenarioId=12976&programVersion=184'] = function (api) {
(function(){
    var ctx = api();
    function getVal(x) { if (x instanceof Function) { return x(); } return x; }
 
    function userfunc4963(ctx, MyContainer, MySurvey, MyInvite, includePages, SlideOut, showConsoleLog) {
var showLog = showConsoleLog == 1 ? true : false; // show console log
var DFProgramID = "2303/4963"; // source data information
var DFProgramVersion = "v1.14"; // script information
var logString = "Persistent Feedback (Product): " + DFProgramVersion + " "; // prefix console log entries
var cookieName = MySurvey + "_Product_Page_shown"; // cookie name to track when to show the invite next time

// Keep track of page counts in the session
var pageCount = +sessionStorage.getItem('visited_page_count');
sessionStorage.setItem('visited_page_count', ++pageCount);

// Check for Cookie Drop
if (ConfirmitHelper.getCookie(cookieName)) {
  ConfirmitHelper.ConfirmitLog(showLog, logString + MySurvey + " survey cookie present, exiting as within cookie expiration");
  return;
}

// Only run for Desktop uses
if (ConfirmitHelper.getDeviceType() == 'Desktop') {
  ConfirmitHelper.ConfirmitLog(showLog, logString + "Desktop Detected, Continuing");
} else {
  ConfirmitHelper.ConfirmitLog(showLog, logString + "Non Desktop Detected, Exiting");
  return;
}

// Only run on the following domains
if (document.location.host === 'st1-uk.rs-online.com' || document.location.host === 'uk.rs-online.com' || document.location.host === 'de.rs-online.com' || document.location.host === 'st1-de.rs-online.com' || document.location.host === 'st1-f1.rs-online.com' || document.location.host === 'fr.rs-online.com' || document.location.host === 'st1-at.rs-online.com' ||  document.location.host === 'at.rs-online.com'|| document.location.host === 'demo.forsta.com') {
  ConfirmitHelper.ConfirmitLog(showLog, logString + "Correct domain, continuing");
} else {
  ConfirmitHelper.ConfirmitLog(showLog, logString + "Incorrect domain, exiting");
  return;
}

// Include pages
var pageCodes = Object.getOwnPropertyNames(includePages);
for (var i = 0; i < pageCodes.length; i++) {

  var pageURL = includePages[pageCodes[i]];
  var pattern = new RegExp(pageURL);
  var isPage = pattern.test(document.location.href);

  if (isPage) {

    setTimeout(function() {

      ConfirmitHelper.ConfirmitLog(showLog, logString + "Correct page location, continuing");

      var dObj = {};
      setData(dObj);

      //script to detect langage 
      var siteLanguage = document.documentElement.lang;
      var res = siteLanguage.replace("-", "_");
      var myCustomInvite = "";

      if(res.toLowerCase() =="de_de"){
        myCustomInvite = "Persistent Feedback - GERMAN Invite (hor text)"
        ConfirmitHelper.ConfirmitLog(showLog, logString + myCustomInvite);
      }else if(res.toLowerCase() =="de_at"){
        myCustomInvite = "Persistent Feedback - GERMAN Invite (hor text)"
        ConfirmitHelper.ConfirmitLog(showLog, logString + myCustomInvite);
      }else if(res.toLowerCase() =="fr_fr"){
        myCustomInvite = "Persistent Feedback - FRENCH (hor text)"
        ConfirmitHelper.ConfirmitLog(showLog, logString + myCustomInvite);
      }else if (res.toLowerCase() =="xxxxx") {
        myCustomInvite = "xxxxxxx"
      }else {
        myCustomInvite = "Persistent Feedback - Invite (hor text)"
        ConfirmitHelper.ConfirmitLog(showLog, logString + myCustomInvite);
      }
      
      var ctx = api();
          ctx.usePlugin('screenshot-capture');
          ctx.container(MyContainer);
          ctx.survey(MySurvey);
          //ctx.invite(MyInvite);
          ctx.invite(myCustomInvite);
          ctx.data(dObj);

          ctx.show();

      // Allow Enter or Space Key to Trigger Tab
      setTimeout(function() {
        // Allow Enter or Space Key to Trigger Tab
        var my_div = document.getElementsByClassName('cf-invite__button')[0];

        my_div.addEventListener('keyup', event => {
          if (event.code === 'Space') {
            //console.log('Space pressed')
            my_div.click();
          }
        })

        my_div.addEventListener('keyup', event => {
          if (event.keyCode === 13) {
            //console.log('Enter pressed')
            my_div.click();
          }
        })

      }, 500);

    }, SlideOut * 1000);

    break;
    /* If page passes the test the no need to check other pages
       stop the scipt from going any further (scipt will reload on next page refresh )
    */

  }else{
    ConfirmitHelper.ConfirmitLog(showLog, logString + "INCORRECT page location, exiting");
  }
}

function setData(dObj){

  //Get language from website
  var FLang = window.getLang();

  dObj.DFSiteLanguage = FLang[0];
  dObj.l = FLang[1];
  dObj.DFID = DFProgramID;
  dObj.DFVersion = DFProgramVersion;
  dObj.DFSource = "Web_Product";

  dObj.DFPageRef = document.referrer;
  dObj.DFPageURL = document.location.href.toLowerCase();
  dObj.DFHost = document.location.host,

  dObj.DFuws_visitor_id = sessionStorage.getItem("uws_visitor_id");
  dObj.DFpathname = location.pathname;
  dObj.DFpageCount = pageCount;

  dObj.DFScreenWidth = window.screen.width;
  dObj.DFScreenHeight = window.screen.height;
  dObj.DFScreenisExtended = window.screen.isExtended
  dObj.DFScreenOrientation = window.screen.orientation.type        
  dObj.DFScreenViewportWidth = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0)             		
  dObj.DFScreenViewportHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0)             		     
  dObj.DFdpr = window.devicePixelRatio
  dObj.DFuws_prop_Entry_Page = ConfirmitHelper.getCookie("uws_prop_Entry_Page")          
  dObj.DFuws_visited_pages = sessionStorage.getItem("uws_visited_pages");
  dObj.DFBrand = window.rs.web.digitalData.supplier_brand;

  // Log out the data package for debug
  ConfirmitHelper.ConfirmitLog(showLog,logString + "Data: " + JSON.stringify(dObj));
}
}



    userfunc4963(ctx, "Persistent Feedback - Container (Product)", "p400621261584", "Persistent Feedback - Invite (hor text)", {"1":"/web/p"}, 2, true)
})();
};