/*
Custom Google Analytics functions for enhanced tracking
by Chris McGuire, Occupancy Marketing (chris@occupancymarketing.com)

The following functions are utilised in order to track visitors' first & last touch to Custom Variables
*/
function truncate(str, len) {
  return str.substring(0, len-1);
}
function isFirstVisit() {
if (document.cookie.split('__utma=').length == 1) {
    return true;
  } else {
    return false;
  }
}
function getSource() {
  if (document.cookie.split('utmgclid=').length > 1) {
    return "google";
  } else {
    return truncate(document.cookie.split('utmcsr=')[1].split(';')[0].split('|')[0], 64);
  }
}
function getMedium() {
  if (document.cookie.split('utmgclid=').length > 1) {
    return "cpc";
  } else {
    return truncate(document.cookie.split('utmcmd=')[1].split(';')[0].split('|')[0], 64);
  }
}
function getKeywords() {
  if (document.cookie.split('utmctr=').length > 1) {
    return truncate (document.cookie.split('utmctr=')[1].split(';')[0].split(';')[0], 64);
  } else {
    return "(not set)";
  }
}
function getReferrer() {
  var r = new Array();
  r[0] = getSource();
  r[1] = getMedium();
  r[2] = getKeywords();
  return r;
}
function passReferrer(href) {
  // find the source, medium, campaign and term
  // append to the href
  var referrer = getReferrer();
  var new_href = href+"?utm_source="+referrer[0]+"&amp;utm_medium="+referrer[1]+"&amp;utm_campaign=via_main_website&amp;utm_term="+referrer[2];

  // action the link
  window.open(new_href, '_self'); //?
}
function setTouch(bool) {
  var referrer = getReferrer();

  if (referrer[2] != "(not set)") {
    var touch = truncate(referrer[0]+"-"+referrer[1]+"-"+referrer[2], 64);
  } else {
    var touch = truncate(referrer[0]+"-"+referrer[1],64);
  }
  if (bool) {
    pageTracker._setCustomVar(1, "First-Source", referrer[0], 1);
    pageTracker._setCustomVar(2, "First-Medium", referrer[1], 1);
    pageTracker._setCustomVar(3, "First-Keywords", referrer[2], 1);
    pageTracker._setCustomVar(4, "First-Touch", touch, 1);
    pageTracker._setCustomVar(5, "Last-Touch", "(first-touch-only)", 1);
  } else {
    pageTracker._setCustomVar(5, "Last-Touch", touch, 1);
  }
}
