: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
/*globals jQuery, icl_vars, wpml_xdomain_data */
jQuery(document).ready(function () {
jQuery('.' + wpml_xdomain_data.css_selector + ' a').on('click', function (event) {
var currentUrl = window.location.href;
var targetUrl = jQuery(this).attr('href');
if ('#' !== targetUrl && currentUrl !== targetUrl) {
originalUrl = jQuery(this).attr('href');
// Filter out xdomain_data if already in the url
originalUrl = originalUrl.replace(/&xdomain_data(=[^&]*)?(?=&|$)|xdomain_data(=[^&]*)?(&|$)/, '');
originalUrl = originalUrl.replace(/\?$/, '');
/** @namespace icl_vars.current_language */
url: wpml_xdomain_data.ajax_url,
action: 'switching_language',
from_language: wpml_xdomain_data.current_language
success: function (response) {
if (response.data.xdomain_data) {
if ('post' === response.data.method) {
form = jQuery('<form method="post" action="' + originalUrl + '" >');
xdomain = jQuery('<input type="hidden" name="xdomain_data" value="' + response.data.xdomain_data + '">');
jQuery('body').append(form);
urlSplit = originalUrl.split('#');
if (1 < urlSplit.length) {
hash = '#' + urlSplit[1];
if (url.indexOf('?') === -1) {argsGlue = '?';} else {argsGlue = '&';}
/** @namespace response.data.xdomain_data */
url = originalUrl + argsGlue + 'xdomain_data=' + response.data.xdomain_data + hash;
location.href = originalUrl;
location.href = originalUrl;