JSFiddle - React, Tailwind, and code Playground

by wisegorilla

JavaScript

function reviewUrl() {
  function getParameterByName(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, ' '));
  }

  function getMarketplace() {
      var marketplace = getParameterByName('marketplace');
      var marketplaceUpper = marketplace.charAt(0).toUpperCase() + marketplace.substring(1);
      if (marketplaceUpper == 'Ebay') {
      marketplaceUpper = 'eBay';
      }
      return marketplaceUpper;
  }

  function getSource() {
    var review_source =  getParameterByName('src');
    switch (review_source) {
    	case "feedback-page": review_source = "Feedback Page"; break;
    	case "evaluation-page": review_source = "Evaluation Page"; break;
    	case "gift-page": review_source = "Gift Page"; break;
    	default: review_source = "";
    }
    return review_source;
  }

  function getReviewUrl() {
		var review_url;
		switch (marketplace) {
			case "ebay": review_url = "https://www.ebay.de/myb/Summary?MyEbay&gbh=1"; break;
			case "otto": review_url = "https://www.otto.de/user/orders?entryPoint=loginArea"; break;
			case "rakuten": review_url = "https://www.rakuten.de/kundenkonto"; break;
			case "real": review_url = "https://www.real.de/account/purchases/"; break;
			case "webshop": review_url = "https://bonmedico.com"; break;
			default: review_url = "https://bonmedico.com";
		}
		return review_url;
  }
	
  // Creates a timeout to call submitForm after one second.
  setTimeout(redirect_url, 2000);
  var url_redirected = false;
  function redirect_url() {
    if (!url_redirected) {
      url_redirected = true;
			getReviewUrl();
    }
  }
	
  window.dataLayer.push({
      'marketplace' : getMarketplace(),
      'review-source' : getSource(),
      'event' : 'CreateReviewClick',
     ...