</div>
    </div>

    <div style="display: none;">
        <div id="search__wrap">
            <div id="search-field">
                <div class="outer">
                    <div class="container">
                        <div class="input-wrap">
                            <input type="text" class="input__search" data-no-results="Oops nothing can be found" data-nothing-entered="Please enter a search query" />
                            <a href="#" class="trigger_clear-text btn__clear-text"><span class="ico-element icon-clear-cross"></span>Clear entry</a>
                        </div>
                        <div class="button-wrap">
                            <a href="#" class="btn__search trigger__close-overlayer">
                                <i class="icon-cross"><span class="sr-only">Close</span></i>
                            </a>
                        </div>
                    </div>
                </div>
            </div>
            <span class="loading-icon-search"></span>
            <div id="result-wrap">
                <div class="outer outer-search-content">
                    <div class="container">
                        <div class="boxed-content">
                            <h3>Top results</h3>
                            <ul>
                                <!-- POPULATED WITH JAVASCRIPT -->
                            </ul>
                            <p class="button-wrap">
                                <a href="#" id="view__all" class="btn btn-border trigger__searchpage disabled" data-search-page="https://pioneerdj.com/en/search-results/?q=">
                                    <span class="text">See all results</span>
                                </a>
                            </p>
                            <p>Didn’t find what you’re looking for? Maybe use fewer words or a more general search term.<br />If you
                                still have no luck you can contact our <a href="https://pioneerdj.com/en/support/contact">customer
                                    service</a>.</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://pioneerdj.com/Scripts/jquery-1.11.3.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
    <script src="https://pioneerdj.com/Scripts/uCommerce/uCommerce.jQuery.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
    <script src="https://pioneerdj.com/Scripts/uCommerce/uCommerce.ServiceStack.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
    <script src="https://pioneerdj.com/Scripts/uCommerce/pdj.uc.custom.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
    <script src="https://pioneerdj.com/Scripts/Custom/checkout.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
    <script src="https://pioneerdj.com/Scripts/Custom/theSticker.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>

    <script src="../../scripts/main.js"></script>

    <script type="text/javascript">
        // polyfill for startsWith method
        if (!String.prototype.startsWith) {
            String.prototype.startsWith = function(searchString, position) {
                return this.substr(position || 0, searchString.length) === searchString;
            };
        }

        function getQueryStringValueByName(name, url) {
            if (!url) {
                url = window.location.href;
            }
            name = name.replace(/[\[\]]/g, "\\$&");
            var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
                results = regex.exec(url);
            if (!results) return null;
            if (!results[2]) return '';
            return decodeURIComponent(results[2].replace(/\+/g, " "));
        }
        //mark menu item as active
        jQuery(".gigyaMenu ul li a").bind('click', function() {
            jQuery(".gigyaMenu ul li a").removeClass("active");
            jQuery(this).addClass("active");
        });
        var jwtToken;

        function sendZendeskToken(data) {
            jQuery.ajax({
                type: "POST",
                url: "/ForumConnector/zenssologin.aspx",
                async: false,
                data: data.user,
                dataType: "jsonp",
                complete: function(res) {
                    jwtToken = JSON.parse(res.responseText);
                }
            });
        }

        function onLogout(response) {
            function loaded() {
                jQuery.ajax({
                    url: "/en/" + "api/Account/Logout",
                    async: false,
                    success: function(data) {
                        if (data.Success) {
                            var logoutContainer = jQuery("#LogoutContainer");
                            var loginRegister = jQuery("#LoginRegister");
                            if (logoutContainer != undefined) {
                                logoutContainer.hide();
                            }
                            if (loginRegister != undefined) {
                                loginRegister.show();
                            }
                            location.reload();
                        } else {
                            alert(data.Message); //TODO: other way to inform about the error
                        }
                    },
                    error: function() {
                        alert("Error during logout!"); //TODO: other way to inform about the error
                    }
                });
            }
            if (response.errorCode == 0) {
                var iframe = document.createElement("iframe");
                iframe.setAttribute("src", "https://forums.pioneerdj.com" + "/access/logout/");
                iframe.style.width = 0;
                iframe.style.height = 0;
                if (iframe.addEventListener) {
                    iframe.addEventListener("load", loaded, false);
                } else {
                    iframe.attachEvent("onload", loaded);
                }
                document.body.appendChild(iframe);
                setTimeout(loaded, 850); //neccessary for firefox - in case iframe throws an error, firefox won't fire onload event
            }
        }

        function onLoginSocialize(response) {
            sendZendeskToken(response);
        }

        function loginToZendesk() {
            function loaded() {
                gigya.setSSOToken({
                    redirectURL: typeof(returnTo) === 'undefined' ? window.location.href : returnTo
                });
                window.location.reload();
            }
            var iframe = document.createElement("iframe");
            iframe.setAttribute("src", "https://pioneerdj.zendesk.com" + "/access/jwt" + "?jwt=" + jwtToken.token);
            iframe.style.width = 0;
            iframe.style.height = 0;
            document.body.appendChild(iframe);
            iframe.onload = loaded;
            iframe.onerror = loaded;
        }

        function onLogin(response) {
            if (response != undefined && response.UID != undefined) {
                // 206005 - autologin finalization triggered with email verification link
                if (getQueryStringValueByName('errorCode') == '206005') {
                    gigya.accounts.getAccountInfo({
                        callback: onEmailVerified,
                        include: 'emails,data'
                    });
                }
                var queue = function() {
                    typeof jwtToken !== "undefined" ?
                        loginToZendesk() :
                        setTimeout(function() {
                            queue();
                        }, 100);
                };
                queue();
            }
        }

        function onEmailVerified(response) {
            if (response != undefined && response.errorCode == 0) {
                var verifiedEmails = response.emails.verified;
                if (verifiedEmails.length > 1) {
                    // deactivate all account emails except for the new one that just got verified
                    var previousEmails = verifiedEmails.slice(0, verifiedEmails.length - 1).join(", ");
                    var storedEmails = response.data.previousEmailAddresses;
                    if (storedEmails != undefined) {
                        storedEmails = storedEmails + ", " + previousEmails;
                    } else {
                        storedEmails = previousEmails;
                    }
                    gigya.accounts.setAccountInfo({
                        removeLoginEmails: previousEmails,
                        data: {
                            previousEmailAddresses: storedEmails
                        }
                    });
                }
            }
        }

        function onProfileUpdate(response) {
            if (response.response.errorCode === 0) {
                if (response != undefined && response.profile != undefined) {
                    if (response.profile.photoURL != undefined) {
                        jQuery(".visual-wrap .in").css("background-image", "url('" + response.profile.photoURL + "')");
                    }
                    jQuery(".item-profile a .content-wrap .name").text(response.profile.firstName);
                    jQuery(".profile-box .content-wrap").html(response.profile.firstName + '<br/>');
                }
                showMessage("Your changes have been saved.");
            }
        }

        function onPasswordChange(response) {
            if (response.response.errorCode === 0) {
                selectMenuItem();
                showMessage("Your password has been changed.");
                navigateEditMyProfile();
            }
        }

        function onProfileFieldChange(response) {
            if (response != undefined) {
                jQuery('input[name="profile.email"]').bind('change', function() {
                    showMessage("Click ‘Save changes’ to change your email address. You’ll receive an email to verify your new email address.");
                });
            }
        }

        function selectMenuItem() {
            jQuery(".errorSection").hide();
            jQuery(".gigyaMenu ul li a").removeClass("active");
            jQuery(".gigyaMenu ul li a").first().addClass("active");
        }

        function showMessage(message) {
            jQuery(".errorSection").html("").hide();
            document.getElementById("messageSection").style.display = "block";
            document.getElementById("messageSection").innerHTML = message;
            window.scrollTo(0, 0);
        }

        function showLicenses() {
            showLoadingScreen();
            redirectIfLoggedOut();
            gigya.socialize.getUserInfo({
                callback: generateUserLicences
            });
        }

        function generateUserLicences(response) {
            var gigyaPageTarget = jQuery("#gigya-page-target");
            if (response.errorCode == 0) {
                var user = response['user'];
                var uid = user['UID'];
                jQuery.get('/api/sitecore/PioneerDjAccount/GetLicences', {
                    userId: uid
                }, function(data) {
                    hideLoadingScreen();
                    if (isLicencesScreenDisplayed() === true) {
                        gigyaPageTarget.html(data);
                        var cell = jQuery(".licences-container .licence .item .key");
                        if (typeof cell !== 'undefined') {
                            cell.matchHeight();
                        }
                    }
                });
            } else {
                gigyaPageTarget.html('No licences could be found.');
            }
        }

        function isLicencesScreenDisplayed() {
            return jQuery("#license_btn").hasClass("active");
        }

        function navigateChangePassword() {
            parent.location.hash = 'password';
            gigya.accounts.showScreenSet({
                screenSet: 'pioneerdj.com-ProfileUpdate',
                containerID: 'gigya-page-target',
                startScreen: 'gigya-change-password-screen',
                lang: 'en',
                onAfterSubmit: changePasswordHandler,
                onBeforeScreenLoad: redirectIfLoggedOut,
                onError: errorEventHandler
            });
        }

        function navigateEditMyProfile() {
            parent.location.hash = 'editprofile';
            gigya.accounts.showScreenSet({
                screenSet: 'pioneerdj.com-ProfileUpdate',
                lang: 'en',
                containerID: 'gigya-page-target',
                onError: errorEventHandler,
                onAfterSubmit: updateProfileHandler,
                onBeforeScreenLoad: redirectIfLoggedOut,
                onAfterScreenLoad: changeProfileFieldHandler
            });
        }

        function redirectIfLoggedOut() {
            gigya.accounts.getAccountInfo({
                callback: function(response) {
                    if (response.errorCode != 0) {
                        window.location.href = '/';
                    }
                }
            });
        }

        function createOneNewsletterOption(response) {
            if (response != undefined) {
                var pdjCheckbox = jQuery("[name='data.PDJ_newsletter'][data-screenset-roles='instance']");
                var kuvoCheckbox = jQuery("[name='data.KUVO_newsletter'][data-screenset-roles='instance']");
                var mainCheckbox = '<div class="gigya-composite-control gigya-composite-control-checkbox"' +
                    ' style="display: block; margin-top:15px;"><input id="maincheckbox" type="checkbox">' +
                    '<label class="gigya-label" for="maincheckbox"><span class="gigya-label-text gigya-checkbox-text">' +
                    "Please keep me informed about Pioneer DJ products, services, features, including newsletters, promotions, events, tips and surveys." +
                    '</span></label></div>';
                kuvoCheckbox.parent().after(mainCheckbox);
                jQuery("#registerContainer").on('change', '#maincheckbox', function() {
                    pdjCheckbox.prop("checked", this.checked);
                    kuvoCheckbox.prop("checked", this.checked);
                });
                pdjCheckbox.parent().hide();
                kuvoCheckbox.parent().hide();
            }
        }
        // My Products functions
        function handleMyProductsError(data) {
            if (typeof data.responseJSON != 'undefined') {
                errorEventHandler({
                    errorMessage: data.responseJSON.error,
                    response: {
                        info: {
                            screen: "gigya-my-products-screen"
                        }
                    }
                });
            } else {
                errorEventHandler({
                    errorMessage: getErrorMessage(data),
                    response: {
                        info: {
                            screen: "gigya-my-products-screen"
                        }
                    }
                });
            }
        }

        function getErrorMessage(data) {
            if (data.status == 401 || data.status == 403) {
                return "Unauthorized user";
            }
            return "Unexpected error occurred";
        }

        function getAuthHeaders(response) {
            var authHeaders = {
                "PDJ-UID": response.user.UID,
                "PDJ-Timestamp": response.user.signatureTimestamp,
                "PDJ-UIDSignature": response.user.UIDSignature
            }
            return authHeaders;
        }

        function navigateMyProducts(msg) {
            showLoadingScreen();
            redirectIfLoggedOut();
            gigya.socialize.getUserInfo({
                callback: getMyProducts,
                context: msg
            });
        }

        function isMyProductsScreenDisplayed() {
            return jQuery("#my-products-tab").hasClass("active");
        }

        function getMyProducts(response) {
            var gigyaPageTarget = jQuery("#gigya-page-target");
            if (response.errorCode == 0) {
                jQuery.ajax({
                    type: 'GET',
                    url: '/api/sitecore/ProductRegistration/Get',
                    headers: getAuthHeaders(response),
                    cache: false,
                    success: function(data) {
                        if (isMyProductsScreenDisplayed() === true) {
                            gigyaPageTarget.html(data);
                            jQuery('a.btn-link[href="#"]').each(function(i, o) {
                                jQuery(o).addClass('hidden');
                            });
                            initCompleter();
                        }
                        if (response.context) {
                            var msg = response.context;
                            jQuery('#validation-success')
                                .removeClass('hidden');
                            jQuery('#validation-success')
                                .html(msg);
                        }
                        window.scrollTo(0, 0);
                        var $purchaseDateInput = jQuery("#input-purchase-date");
                        $purchaseDateInput.attr('readonly', 'readonly');
                        $purchaseDateInput.datepicker({
                            changeMonth: true,
                            changeYear: true,
                            constrainInput: true,
                            dateFormat: "dd/mm/yy",
                            maxDate: "31/07/2020"
                        });
                    },
                    error: function(data) {
                        errorEventHandler({
                            errorMessage: data.responseJSON.error
                        });
                    },
                    complete: function() {
                        hideLoadingScreen();
                    }
                });
            }
        }

        function showLoadingScreen() {
            jQuery("#gigya-page-target").children().hide();
            jQuery("#loading-message").show();
        }

        function hideLoadingScreen() {
            jQuery("#gigya-page-target").children().show();
            jQuery("#loading-message").hide();
        }
    </script>
    <script>
        for (var index = 0; index < window.__functionsToExecute.length; ++index) {
            window.__functionsToExecute[index]();
        }
        window.__functionsToExecute = [];
    </script>
    </body>

    </html>
</div>
  </div>

  {{render '@search-overlay' }}

  <script src="https://pioneerdj.com/Scripts/jquery-1.11.3.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
  <script src="https://pioneerdj.com/Scripts/uCommerce/uCommerce.jQuery.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
  <script src="https://pioneerdj.com/Scripts/uCommerce/uCommerce.ServiceStack.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
  <script src="https://pioneerdj.com/Scripts/uCommerce/pdj.uc.custom.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
  <script src="https://pioneerdj.com/Scripts/Custom/checkout.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>
  <script src="https://pioneerdj.com/Scripts/Custom/theSticker.js?bundleVirtualPath=%7e%2fBundles%2fEcommerceJsFooter%2f"></script>

  <script src="{{path '/scripts/main.js' }}"></script>

  <script type="text/javascript">
    // polyfill for startsWith method
    if (!String.prototype.startsWith) {
      String.prototype.startsWith = function(searchString, position){
        return this.substr(position || 0, searchString.length) === searchString;
      };
    }

    function getQueryStringValueByName(name, url) {
      if (!url) {
        url = window.location.href;
      }
      name = name.replace(/[\[\]]/g, "\\$&");
      var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
      if (!results) return null;
      if (!results[2]) return '';
      return decodeURIComponent(results[2].replace(/\+/g, " "));
    }

    //mark menu item as active
    jQuery(".gigyaMenu ul li a").bind('click', function () {
      jQuery(".gigyaMenu ul li a").removeClass("active");
      jQuery(this).addClass("active");
    });

    var jwtToken;
    function sendZendeskToken(data) {
      jQuery.ajax({
        type: "POST",
        url: "/ForumConnector/zenssologin.aspx",
        async: false,
        data: data.user,
        dataType: "jsonp",
        complete: function (res) {
          jwtToken = JSON.parse(res.responseText);
        }
      });
    }

    function onLogout(response) {
      function loaded() {
        jQuery.ajax({
          url: "/en/" + "api/Account/Logout",
          async: false,
          success: function(data) {
            if (data.Success) {
              var logoutContainer = jQuery("#LogoutContainer");
              var loginRegister = jQuery("#LoginRegister");
              if (logoutContainer != undefined) {
                logoutContainer.hide();
              }
              if (loginRegister != undefined) {
                loginRegister.show();
              }
              location.reload();
            } else {
              alert(data.Message);    //TODO: other way to inform about the error
            }
          },
          error: function() {
            alert("Error during logout!");  //TODO: other way to inform about the error
          }
        });
      }
      if (response.errorCode == 0) {
        var iframe = document.createElement("iframe");
        iframe.setAttribute("src", "https://forums.pioneerdj.com" + "/access/logout/");
        iframe.style.width = 0;
        iframe.style.height = 0;
        if (iframe.addEventListener) {
          iframe.addEventListener("load", loaded, false);
        } else {
          iframe.attachEvent("onload", loaded);
        }
        document.body.appendChild(iframe);
        setTimeout(loaded, 850);   //neccessary for firefox - in case iframe throws an error, firefox won't fire onload event
      }
    }

    function onLoginSocialize(response) {
      sendZendeskToken(response);
    }

    function loginToZendesk() {
      function loaded() {
        gigya.setSSOToken({
          redirectURL: typeof (returnTo) === 'undefined' ? window.location.href : returnTo
        });
        window.location.reload();
      }
      var iframe = document.createElement("iframe");
      iframe.setAttribute("src", "https://pioneerdj.zendesk.com" + "/access/jwt" + "?jwt=" + jwtToken.token);
      iframe.style.width = 0;
      iframe.style.height = 0;
      document.body.appendChild(iframe);
      iframe.onload = loaded;
      iframe.onerror = loaded;
    }

    function onLogin(response) {
      if (response != undefined && response.UID != undefined) {
        // 206005 - autologin finalization triggered with email verification link
        if (getQueryStringValueByName('errorCode') == '206005') {
          gigya.accounts.getAccountInfo({ callback: onEmailVerified, include: 'emails,data' });
        }

        var queue = function () {
          typeof jwtToken !== "undefined"
            ? loginToZendesk()
            : setTimeout(function () {
              queue();
            }, 100);
        };
        queue();
      }
    }

    function onEmailVerified(response) {
      if (response != undefined && response.errorCode == 0) {
        var verifiedEmails = response.emails.verified;
        if (verifiedEmails.length > 1) {
          // deactivate all account emails except for the new one that just got verified
          var previousEmails = verifiedEmails.slice(0, verifiedEmails.length - 1).join(", ");
          var storedEmails = response.data.previousEmailAddresses;
          if (storedEmails != undefined) {
            storedEmails = storedEmails + ", " + previousEmails;
          } else {
            storedEmails = previousEmails;
          }
          gigya.accounts.setAccountInfo({
            removeLoginEmails: previousEmails,
            data: { previousEmailAddresses: storedEmails }
          });
        }
      }
    }

    function onProfileUpdate(response) {
      if (response.response.errorCode === 0) {
        if (response != undefined && response.profile != undefined) {
          if (response.profile.photoURL != undefined) {
            jQuery(".visual-wrap .in").css("background-image", "url('" + response.profile.photoURL + "')");
          }
          jQuery(".item-profile a .content-wrap .name").text(response.profile.firstName);
          jQuery(".profile-box .content-wrap").html(response.profile.firstName + '<br/>');
        }
        showMessage("Your changes have been saved.");
      }
    }

    function onPasswordChange(response) {
      if (response.response.errorCode === 0) {
        selectMenuItem();
        showMessage("Your password has been changed.");
        navigateEditMyProfile();
      }
    }

    function onProfileFieldChange(response) {
      if (response != undefined) {
        jQuery('input[name="profile.email"]').bind('change', function () {
          showMessage("Click ‘Save changes’ to change your email address. You’ll receive an email to verify your new email address.");
        });
      }
    }

    function selectMenuItem() {
      jQuery(".errorSection").hide();
      jQuery(".gigyaMenu ul li a").removeClass("active");
      jQuery(".gigyaMenu ul li a").first().addClass("active");
    }

    function showMessage(message) {
      jQuery(".errorSection").html("").hide();
      document.getElementById("messageSection").style.display = "block";
      document.getElementById("messageSection").innerHTML = message;
      window.scrollTo(0, 0);
    }

    function showLicenses() {
      showLoadingScreen();
      redirectIfLoggedOut();
      gigya.socialize.getUserInfo({ callback: generateUserLicences });
    }

    function generateUserLicences(response) {
      var gigyaPageTarget = jQuery("#gigya-page-target");

      if (response.errorCode == 0) {
        var user = response['user'];
        var uid = user['UID'];

        jQuery.get('/api/sitecore/PioneerDjAccount/GetLicences', { userId: uid }, function (data) {
          hideLoadingScreen();
          if (isLicencesScreenDisplayed() === true) {
            gigyaPageTarget.html(data);

            var cell = jQuery(".licences-container .licence .item .key");
            if (typeof cell !== 'undefined') { cell.matchHeight(); }
          }
        });
      }
      else {
        gigyaPageTarget.html('No licences could be found.');
      }
    }

    function isLicencesScreenDisplayed() {
      return jQuery("#license_btn").hasClass("active");
    }

    function navigateChangePassword() {
      parent.location.hash = 'password';
      gigya.accounts.showScreenSet({
        screenSet: 'pioneerdj.com-ProfileUpdate',
        containerID: 'gigya-page-target',
        startScreen: 'gigya-change-password-screen',
        lang: 'en',
        onAfterSubmit: changePasswordHandler,
        onBeforeScreenLoad: redirectIfLoggedOut,
        onError: errorEventHandler
      });
    }

    function navigateEditMyProfile() {
      parent.location.hash = 'editprofile';
      gigya.accounts.showScreenSet({
        screenSet: 'pioneerdj.com-ProfileUpdate',
        lang: 'en',
        containerID: 'gigya-page-target',
        onError: errorEventHandler,
        onAfterSubmit: updateProfileHandler,
        onBeforeScreenLoad: redirectIfLoggedOut,
        onAfterScreenLoad: changeProfileFieldHandler
      });
    }

    function redirectIfLoggedOut() {
      gigya.accounts.getAccountInfo({
        callback: function(response) {
          if (response.errorCode != 0) {
            window.location.href = '/';
          }
        }
      });
    }

    function createOneNewsletterOption(response) {
      if (response != undefined) {
        var pdjCheckbox = jQuery("[name='data.PDJ_newsletter'][data-screenset-roles='instance']");
        var kuvoCheckbox = jQuery("[name='data.KUVO_newsletter'][data-screenset-roles='instance']");

        var mainCheckbox = '<div class="gigya-composite-control gigya-composite-control-checkbox"' +
          ' style="display: block; margin-top:15px;"><input id="maincheckbox" type="checkbox">' +
          '<label class="gigya-label" for="maincheckbox"><span class="gigya-label-text gigya-checkbox-text">' +
          "Please keep me informed about Pioneer DJ products, services, features, including newsletters, promotions, events, tips and surveys." +
          '</span></label></div>';
        kuvoCheckbox.parent().after(mainCheckbox);

        jQuery("#registerContainer").on('change', '#maincheckbox', function () {
          pdjCheckbox.prop("checked", this.checked);
          kuvoCheckbox.prop("checked", this.checked);
        });

        pdjCheckbox.parent().hide();
        kuvoCheckbox.parent().hide();
      }
    }

    // My Products functions
    function handleMyProductsError(data) {

      if (typeof data.responseJSON != 'undefined') {
        errorEventHandler({
          errorMessage: data.responseJSON.error,
          response: {
            info: {
              screen: "gigya-my-products-screen"
            }
          }
        });
      } else {

        errorEventHandler({
          errorMessage: getErrorMessage(data),
          response: {
            info: {
              screen: "gigya-my-products-screen"
            }
          }
        });
      }
    }

    function getErrorMessage(data) {
      if (data.status == 401 || data.status == 403) {
        return "Unauthorized user";
      }
      return "Unexpected error occurred";
    }

    function getAuthHeaders(response) {
      var authHeaders = {
        "PDJ-UID": response.user.UID,
        "PDJ-Timestamp": response.user.signatureTimestamp,
        "PDJ-UIDSignature": response.user.UIDSignature
      }

      return authHeaders;
    }

    function navigateMyProducts(msg) {
      showLoadingScreen();
      redirectIfLoggedOut();
      gigya.socialize.getUserInfo({ callback: getMyProducts, context: msg });
    }

    function isMyProductsScreenDisplayed() {
      return jQuery("#my-products-tab").hasClass("active");
    }

    function getMyProducts(response) {
      var gigyaPageTarget = jQuery("#gigya-page-target");

      if (response.errorCode == 0) {

        jQuery.ajax({
          type: 'GET',
          url: '/api/sitecore/ProductRegistration/Get',
          headers: getAuthHeaders(response),
          cache: false,
          success: function (data) {
            if (isMyProductsScreenDisplayed() === true) {
              gigyaPageTarget.html(data);
              jQuery('a.btn-link[href="#"]').each(function (i, o) { jQuery(o).addClass('hidden'); });
              initCompleter();
            }
            if (response.context) {
              var msg = response.context;
              jQuery('#validation-success')
                .removeClass('hidden');
              jQuery('#validation-success')
                .html(msg);
            }
            window.scrollTo(0, 0);
            var $purchaseDateInput = jQuery("#input-purchase-date");
            $purchaseDateInput.attr('readonly', 'readonly');
            $purchaseDateInput.datepicker({
              changeMonth: true,
              changeYear: true,
              constrainInput: true,
              dateFormat: "dd/mm/yy",
              maxDate: "31/07/2020"
            });

          },
          error: function (data) {
            errorEventHandler({
              errorMessage: data.responseJSON.error
            });
          },
          complete: function() {
            hideLoadingScreen();
          }
        });
      }
    }

    function showLoadingScreen() {
      jQuery("#gigya-page-target").children().hide();
      jQuery("#loading-message").show();
    }

    function hideLoadingScreen() {
      jQuery("#gigya-page-target").children().show();
      jQuery("#loading-message").hide();
    }

  </script>
  <script>
    for (var index = 0; index < window.__functionsToExecute.length; ++index) {
      window.__functionsToExecute[index]();
    }
    window.__functionsToExecute = [];
  </script>
</body>
</html>
/* No context defined. */

No notes defined.