var sr_validate = {
smrTime: new Date(2005, 0, 15).getTimezoneOffset(),
wntrTime: new Date(2005, 6, 15).getTimezoneOffset(),
comps: [],
activeX: {
"Flash": ["ShockwaveFlash.ShockwaveFlash", function (ax) {
return ax.getVariable("$version");
}],
"Director": ["SWCtl.SWCtl", function (ax) {
return ax.ShockwaveVersion("");
}]
},
comp: null,
setDoc: function (element) {
var rslt = null;
try {
rslt = document.getElementById(element);
} catch (e) {}
if (rslt === null || typeof (rslt) == 'undefined') {
try {
rslt = document.getElementsByName(element)[0];
} catch (e1) {}
}
if (rslt === null || typeof (rslt) == 'undefined') {
for (var x = 0; x < document.forms.length; x++) {
var currForm = document.forms[x];
for (var y = 0; y < currForm.elements.length; y++) {
var currElement = currForm[y];
if (currElement.name == element || currElement.id == element) {
return currElement;
}
}
}
}
return rslt;
},
evl: function (id) {
var rslt = "";
try {
if (typeof (this.comp.getComponentVersion) != 'undefined') {
rslt = this.comp.getComponentVersion(id, "ComponentID");
}
} catch (e) {
var len = e.message.length;
len = (len > 40 ? 40 : len);
rslt = escape(e.message.substr(0, len));
}
return rslt;
},
exec: function (possibles) {
for (var i = 0; i < possibles.length; i++) {
try {
var val = eval(possibles[i]);
if (val) {
return val;
}
} catch (e) {}
}
return "";
},
loadComp: function (name) {
var version = "";
try {
if (navigator.plugins && navigator.plugins.length) {
var regex = new RegExp(name + ".* ([0-9._]+)");
for (var j = 0; j < navigator.plugins.length; j++) {
var match = regex.exec(navigator.plugins[j].name);
if (match === null) {
match = regex.exec(navigator.plugins[j].description);
}
if (match) {
version = match[1];
}
}
} else if (window.ActiveXObject && sr_validate.activeX[name]) {
try {
var ax = new ActiveXObject(sr_validate.activeX[name][0]);
version = sr_validate.activeX[name][1](ax);
} catch (e1) {
version = "";
}
}
} catch (e) {
version = e.message;
}
return version;
},
loadComps: function () {
var comps = ["Acrobat", "Flash", "QuickTime", "Java Plug-in", "Director", "Office"];
for (var i = 0; i < comps.length; i++) {
var name = comps[i];
sr_validate.comps[name] = sr_validate.loadComp(name);
}
},
getTimeZn: function () {
return Math.abs(this.smrTime - this.wntrTime);
},
isSummer: function () {
return (this.getTimeZn() !== 0);
},
isWinter: function (date) {
var minOffset = Math.min(this.smrTime, this.wntrTime);
return (this.isSummer() && date.getTimezoneOffset() == minOffset);
},
getDayOfYr: function (str) {
var result = 0;
var latencyFactor = 0;
if (this.isWinter(str)) {
latencyFactor = this.getTimeZn();
}
result = -(str.getTimezoneOffset() + latencyFactor) / 60.0;
return result;
},
replaceString: function (s, a, b, global) {
if (typeof (global) != 'boolean') {
global = false;
}
var first = true;
var i;
while ((i = s.indexOf(a)) >= 0 && (global || first)) {
s = s.substr(0, i) + b + s.substr(i + a.length);
first = false;
}
return s;
},
currDate: function () {
return new Date(2005, 5, 7, 21, 33, 44, 888).toLocaleString();
},
userPrefs: function (debug) {
this.debug = debug;
var str = new Date();
var arr = ["\"TF1\"", "\"015\"", "ScriptEngineMajorVersion()", "ScriptEngineMinorVersion()", "ScriptEngineBuildVersion()", "sr_validate.evl('{7790769C-0471-11D2-AF11-00C04FA35D02}')", "sr_validate.evl('{89820200-ECBD-11CF-8B85-00AA005B4340}')", "sr_validate.evl('{283807B5-2C60-11D0-A31D-00AA00B92C03}')", "sr_validate.evl('{4F216970-C90C-11D1-B5C7-0000F8051515}')", "sr_validate.evl('{44BBA848-CC51-11CF-AAFA-00AA00B6015C}')", "sr_validate.evl('{9381D8F2-0288-11D0-9501-00AA00B911A5}')", "sr_validate.evl('{4F216970-C90C-11D1-B5C7-0000F8051515}')", "sr_validate.evl('{5A8D6EE0-3E18-11D0-821E-444553540000}')", "sr_validate.evl('{89820200-ECBD-11CF-8B85-00AA005B4383}')", "sr_validate.evl('{08B0E5C0-4FCB-11CF-AAA5-00401C608555}')", "sr_validate.evl('{45EA75A0-A269-11D1-B5BF-0000F8051515}')", "sr_validate.evl('{DE5AED00-A4BF-11D1-9948-00C04F98BBC9}')", "sr_validate.evl('{22D6F312-B0F6-11D0-94AB-0080C74C7E95}')", "sr_validate.evl('{44BBA842-CC51-11CF-AAFA-00AA00B6015B}')", "sr_validate.evl('{3AF36230-A269-11D1-B5BF-0000F8051515}')", "sr_validate.evl('{44BBA840-CC51-11CF-AAFA-00AA00B6015C}')", "sr_validate.evl('{CC2A9BA0-3BDD-11D0-821E-444553540000}')", "sr_validate.evl('{08B0E5C0-4FCB-11CF-AAA5-00401C608500}')", "navigator.appCodeName", "navigator.appName", "navigator.appVersion", "sr_validate.exec(['navigator.productSub','navigator.appMinorVersion'])", "navigator.browserLanguage", "navigator.cookieEnabled", "sr_validate.exec(['navigator.oscpu','navigator.cpuClass'])", "navigator.onLine", "navigator.platform", "navigator.systemLanguage", "navigator.userAgent", "sr_validate.exec(['navigator.language','navigator.userLanguage'])", "document.defaultCharset", "document.domain", "screen.deviceXDPI", "screen.deviceYDPI", "screen.fontSmoothingEnabled", "screen.updateInterval", "sr_validate.isSummer()", "sr_validate.isWinter(str)", "'@UTC@'", "sr_validate.getDayOfYr(str)", "sr_validate.currDate()", "screen.width", "screen.height", "sr_validate.comps['Acrobat']", "sr_validate.comps['Flash']", "sr_validate.comps['QuickTime']", "sr_validate.comps['Java Plug-in']", "sr_validate.comps['Director']", "sr_validate.comps['Office']", "(new Date().getTime()) - str.getTime()", "sr_validate.smrTime", "sr_validate.wntrTime", "str.toLocaleString()", "screen.colorDepth", "window.screen.availWidth", "window.screen.availHeight", "window.screen.availLeft", "window.screen.availTop", "sr_validate.compN('Acrobat')", "sr_validate.compN('Adobe SVG')", "sr_validate.compN('Authorware')", "sr_validate.compN('Citrix ICA')", "sr_validate.compN('Director')", "sr_validate.compN('Flash')", "sr_validate.compN('MapGuide')", "sr_validate.compN('MetaStream')", "sr_validate.compN('PDFViewer')", "sr_validate.compN('QuickTime')", "sr_validate.compN('RealOne')", "sr_validate.compN('RealPlayer Enterprise')", "sr_validate.compN('RealPlayer Plugin')", "sr_validate.compN('Seagate Software Report')", "sr_validate.compN('Silverlight')", "sr_validate.compN('Windows Media')", "sr_validate.compN('iPIX')", "sr_validate.compN('nppdf.so')", "sr_validate.getFontHeight()"];
sr_validate.loadComps();
this.rslt = "";
for (var i = 0; i < arr.length; i++) {
if (this.debug) {
this.rslt += sr_validate.replaceString(arr[i], '"', "'", true);
this.rslt += "=";
}
var tmp = null;
try {
tmp = eval(arr[i]);
} catch (e) {
tmp = "";
}
this.rslt += (this.debug ? tmp : escape(tmp));
this.rslt += ";";
if (this.debug) {
this.rslt += "\\n";
}
}
this.rslt = sr_validate.replaceString(this.rslt, escape('@UTC@'), new Date().getTime());
this.encodeData = new Function("return '" + this.rslt + "'");
},
load_data: function (name) {
try {
var element = null;
element = this.setDoc(name);
if (element === null) {
return;
}
try {
var prefs = new this.userPrefs();
element.value = prefs.encodeData();
} catch (e1) {
element.value = escape(e1.message);
}
} catch (e) {}
},
compN: function (name) {
try {
if (navigator.plugins && navigator.plugins.length) {
for (var i = 0; i < navigator.plugins.length; i++) {
var plugin = navigator.plugins[i];
if (plugin.name.indexOf(name) >= 0) {
return plugin.name + ((plugin.description) ? '|' + plugin.description : '');
}
}
}
} catch (e) {}
return '';
},
getFontHeight: function () {
var span = document.createElement('span');
span.innerHTML = ' ';
span.style.position = "absolute";
span.style.left = "-9999px";
document.body.appendChild(span);
var height = span.offsetHeight;
document.body.removeChild(span);
return height;
}
};
try {
sr_validate.comp = document.createElement("span");
if (typeof (sr_validate.comp.addBehavior) != 'undefined') {
sr_validate.comp.addBehavior("#default#clientCaps");
}
} catch (e) {}