// SCOPE TO TAG TO ENSURE COMPATIBLE ON OLDER UTAG VERSIONS
// author : roshan@tealium.com
if (!utag.ut.pad) {
utag.ut.pad = function(a, b, c, d) {
a = "" + ((a - 0).toString(16));
d = '';
if (b > a.length) {
for (c = 0; c < (b - a.length); c++) {
d += '0'
}
}
return "" + d + a
}
}
if (!utag.ut.vi){utag.ut.vi = function(t, a, b) {
if (!utag.v_id) {
a = this.pad(t, 12);
b = "" + Math.random();
a += this.pad(b.substring(2, b.length), 16);
try {
a += this.pad((navigator.plugins.length ? navigator.plugins.length : 0), 2);
a += this.pad(navigator.userAgent.length, 3);
a += this.pad(document.URL.length, 4);
a += this.pad(navigator.appVersion.length, 3);
a += this.pad(screen.width + screen.height + parseInt((screen.colorDepth) ? screen.colorDepth : screen.pixelDepth), 5)
} catch (e) {
utag.DB(e);
a += "12345"
};
utag.v_id = a;
}
return utag.v_id
}
}
if(!utag.ut.hasOwn){utag.ut.hasOwn = function(o, a) {
return o != null && Object.prototype.hasOwnProperty.call(o, a)
}
}
if(!utag.ut.isEmptyObject){utag.ut.isEmptyObject = function(o, a) {
for (a in o) {
if (utag.ut.hasOwn(o, a)) return false
}
return true
}
}
if(!utag.ut.isEmpty){utag.ut.isEmpty = function(o) {
var t = utag.ut.typeOf(o);
if (t == "number") {
return isNaN(o)
} else if (t == "boolean") {
return false
} else if (t == "string") {
return o.length === 0
} else return utag.ut.isEmptyObject(o)
}
}
if(!utag.ut.typeOf){utag.ut.typeOf = function(e) {
return ({}).toString.call(e).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
}
if(!utag.ut.flatten){utag.ut.flatten = function(o) {
// stop when arriving at a string, array, boolean, number (float or integer)
var a = {};
function r(c, p) {
if (Object(c) !== c || c instanceof Array) {
a[p] = c;
} else {
if (utag.ut.isEmptyObject(c)) {
//a[p] = {};
} else {
for (var d in c) {
r(c[d], p ? p + "." + d : d);
}
}
}
}
r(o, "");
return a;
}
}
if(!utag.merge){utag.ut.merge = function(a, b, c, d) {
if (c) {
for (d in utag.loader.GV(b)) {
a[d] = b[d]
}
} else {
for (d in utag.loader.GV(b)) {
if (typeof a[d] == "undefined") a[d] = b[d]
}
}
}
}
if(!utag.ut.decode){utag.ut.decode = function(a, b) {
b = "";
try {
b = decodeURIComponent(a)
} catch (e) {
utag.DB(e)
};
if (b == "") {
b = unescape(a)
};
return b
}
}