create UUID if cookie empty

by M Shameer

HTML

<div class="page">wow</div>
<div class="full" > </div>



<div class="name">one</div>
<div class="name">two</div>
<div class="name">three</div>

CSS

div.reportingStaticTileContent img{width:100%; height:auto;}
div.reportingStaticTileContent{width:300px; height: 200px;}

JavaScript

function setCookie(cname,cvalue,exdays) {
  var d = new Date();
  d.setTime(d.getTime() + (exdays*24*60*60*1000));
  var expires = "expires=" + d.toGMTString();
  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
  var name = cname + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.split(';');
  for(var i = 0; i < ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}

function checkCookie() {
  var user=getCookie("username");
  if (user != "") {
    user = user;
  } else {
     //user = prompt("Please enter your name:","");
     user = uuid();
     if (user != "" && user != null) {
     //user ='yes!';
       setCookie("username", user, 30);
       
     }
  }
}

function uuid() {
    function randomDigit() {
        if (crypto && crypto.getRandomValues) {
            var rands = new Uint8Array(1);
            crypto.getRandomValues(rands);
            return (rands[0] % 16).toString(16);
        } else {
            return ((Math.random() * 16) | 0).toString(16);
        }
    }
    var crypto = window.crypto || window.msCrypto;
    return 'xxxxxxxx-xxxx-4xxx-8xxx-xxxxxxxxxxxx'.replace(/x/g, randomDigit);
}

checkCookie();

var newUser = getCookie("username");

var y = document.getElementsByClassName("page")[0].innerText; 
// dashboard name


var a = [];
var b = document.getElementsByClassName('name');
var i;
for (i = 0; i < b.length; i++) {
  var values = document.getElementsByClassName('name')[i].innerHTML;
  a.push( values );
}

var elem = document.createElement("img");

elem.src = 'https://www.google-analytics.com/collect?v=1&tid=XX-xxxxxxxx-xx&cid=undefined&t=event&ec=Dashboard&ea=View&cs=TypeOfDash&cn='+y+'&ds='+a+'ci='+newUser;
 
document.getElementsByClassName("full")[0].appendChild( elem );