function populateEvars()
{
// prop3 through prop6 were removed in QS26 as they reflected values which were not
// currently relevant.
// ABTests
// Value is a comma dilimited list of TestName:TestValue pairs

if (typeof(abTestValues) != 'undefined' && abTestValues != null)
{

s.prop1 = abTestValues;
s.eVar1 = abTestValues;

}

else
{
s.prop1 = "none";
}
// Has logged in

if (typeof(bHasLoggedIn) != 'undefined' && bHasLoggedIn != null)
{

s.prop2 = bHasLoggedIn ? "Registered" : "Not Registered";
s.eVar2 = bHasLoggedIn ? "Registered" : "Not Registered";

}

else
{
s.prop2 = "undefined";
}
// UserID for Registered Users
s.prop4 = userID;

if (typeof(userID) != 'undefined' && userID != null)
{

s.eVar4 = userID;

}

else
{
s.eVar4 = "Unavailable";
}
// Customer S(ervice|ales) Rep
// Contains name of the agent
// NOTE: If eVar7 is defined the internal ip filter will be bypassed
var csrName = GetCookie('CSRNAME');

if (typeof(csrName) != 'undefined' && csrName != null)
{

{
s.prop7 = csrName;
s.eVar7 = csrName;
}

}

// PartnerID (e.g. 1 = Homestead, 2 = VistaPrint, 3 = Intuit, etc.)
// partnerID is a string.

if (typeof(partnerID) != 'undefined' && partnerID != null)
{

s.prop8 = partnerID;
s.eVar8 = partnerID;

}

else
{
s.prop8 = "undefined";
}
// PVID (phsViewerID) for an omniture user identifier
// Must have ViewerIDFilter on site to work
var visitorID = getTrackCookie("vid");
if (visitorID != "")
{
s.prop9 = visitorID;
s.eVar9 = visitorID;
}
else if (phsViewerID != "")
{
s.prop9 = phsViewerID;
s.eVar9 = phsViewerID;
}
else
{
var d = new Date();
visitorID = "sc" + d.getTime() + "-" + Math.floor(Math.random() * 1000);
setTrackCookie("vid", visitorID);
s.prop9 = visitorID;
s.eVar9 = visitorID;
}
/* A/B/C Test for QuickBooks signup */
s.eVar10=s.prop12;
/*
Specific link tracking
Changed from LINK_TRACK_CODE. TODO: remove dated references
to "LINK_TRACK_CODE" in urls.
*/
var ltc = s.getQueryParam("ltc");
if (ltc!="")
{
s.prop11=ltc;
s.eVar11=ltc;
}
}
function handleTrackError(err)
{
if (bShowErrors)
{
alert("Tracking error: \n\tLocation: " + err.fileName + "\n\tLine: " + err.lineNumber + "\n\tMessage: " + err.message);
}
}
function setMilestone(pageCode)
{
var mileStonesCookie = GetCookie("mlstn");
var mileStones = new Array();
if (mileStonesCookie)
{
var mileStones = mileStonesCookie.split(">");
for (var i = 0; i < mileStones.length; i++)
{
if (mileStones[i] == pageCode)
{
// Remove this and all the succeeding page codes.
mileStones.splice(i, mileStones.length - i);
}
}
}
// Add the page to the array, collapse, reset cookie, and send to Omniture
mileStones.push(pageCode);
mileStonesCookie = mileStones.join(">");
SetCookie("mlstn", mileStonesCookie);
s.eVar5 = mileStonesCookie;
s.prop5 = mileStonesCookie;
}
function setTrackCookie(key, value)
{
// Check that the key and value are valid
if (key.match(/(#|;)/) || value.match(/(#|;)/))
{
throw new Error("setTrackCookie: " + "you may not use '#' or ';' in the tracking cookie. Those characters are used as delimiters.");
}
// Get the omniture tracking cookie
var cookie_val = GetCookie("otc");
if (cookie_val == "" || cookie_val == null)
{
// First setting of tracking cookie
cookie_val = key + "#" + value + ";";
}
else
{
// Create the regular expression that will match
// individual cookies in the combined cookie
var r = new RegExp(key + "#(.*?);");
if (res = cookie_val.match(r))
{
// Key exists, change value
cookie_val = cookie_val.replace(r,key + "#" +value + ";");
}
else
{
// New cookie... append key value pair
cookie_val += key + "#" + value + ";";
}
}
SetCookie("otc",cookie_val);
}
function getTrackCookie(key)
{
var cookie_val = GetCookie("otc");
if (cookie_val != "" && cookie_val != null)
{
var r = new RegExp(key + "#(.*?);");
if(res = cookie_val.match(r))
{
return res[1];
}
}
return "";
}
function addEvent(event)
{
try
{	
if (s.events == null || s.events == "")
{
s.events = event;
}
else
{
s.events += "," + event;
}
}
catch(err)
{
handleTrackError(err);
}
}
function trackSuccessLink(pn)
{
try
{
s.pageName=pn;
s.eVar11=pn;
s.prop11=pn;
addEvent("event8");
s.t();
}
catch(err)
{
handleTrackError(err);
}
return true;
}
function trackLink(linkID)
{
try
{
var s=s_gi(s_account);
s.linkTrackVars='eVar11,prop11,events';
s.linkTrackEvents='event8';
s.eVar11=linkID;
s.prop11=linkID;
s.events="event8";
}
catch(err)
{
handleTrackError(err);
}
return true;
}
function serializeEvents(events)
{
var eventsArray = events.split(",");
for (var i = 0; i < eventsArray.length; i++)
{
var event = eventsArray[i];
if (event.match(/[\d]*$/) <= 5)
{
eventsArray[i] += ":" + generateUniqueEventID(s.pageName, phsViewerID);
}	
if (event == "event7")
{
eventsArray[i] = event + ":" + generateUniqueEventID(s.pageName, phsViewerID);
}
else if (event == "event8")
{
eventsArray[i] = event + ":" + generateUniqueEventID(s.pageName, phsViewerID);
}
}
return eventsArray.join(",");
}
function generateUniqueEventID(pagename, viewerID)
{
var uniqueID = pagename;
uniqueID = uniqueID.replace(/\..*/,"");
uniqueID = uniqueID.replace(/index/,"");
uniqueID = uniqueID.substr(uniqueID.length - 10, 10);
uniqueID += viewerID.substr(viewerID.length - 10, 10);
uniqueID = uniqueID.replace(/[\W]/g,"X");
return uniqueID;
}