Mouse movement tracking and compressing data

by Simplybj

HTML

<script src="https://rawgit.com/pieroxy/lz-string/master/libs/lz-string.js"></script>

JavaScript

(function() {
  document.onmousemove = handleMouseMove;
  var array = [];
  setInterval(function() {
    ShowTimelyData();
  }, 10000)

  function handleMouseMove(event) {
    var eventDoc, doc, body;

    event = event || window.event; // IE-ism

    // If pageX/Y aren't available and clientX/Y are,
    // calculate pageX/Y - logic taken from jQuery.
    // (This is to support old IE)
    if (event.pageX == null && event.clientX != null) {
      eventDoc = (event.target && event.target.ownerDocument) || document;
      doc = eventDoc.documentElement;
      body = eventDoc.body;

      event.pageX = event.clientX +
        (doc && doc.scrollLeft || body && body.scrollLeft || 0) -
        (doc && doc.clientLeft || body && body.clientLeft || 0);
      event.pageY = event.clientY +
        (doc && doc.scrollTop || body && body.scrollTop || 0) -
        (doc && doc.clientTop || body && body.clientTop || 0);
    }


    array.push(event.pageX);
    array.push(event.pageY);
  }

  function ShowTimelyData() {

    //for (var i = 0; i < 1024; i++) {
    // array[array.length] = i % 255;
    //}
    var string = String.fromCharCode.apply(null, array);
    var compressed = LZString.compress(string);
    var decompressed = LZString.decompress(compressed);
    var dearray = [];
    for (var i = 0; i < decompressed.length; i++) {
      dearray[i] = decompressed.charCodeAt(i);
    }
    console.log(array.length, array);
    console.log(string.length, string);
    console.log(compressed.length, compressed);
    console.log(decompressed.length, decompressed);
    console.log(dearray.length, dearray);
  }
})();