// Netratings SiteCensus secure.js
// COPYRIGHT 2006 Nielsen//Netratings



function _nnrEH() {}
window.onerror=_nnrEH;

function _nnrRandom()
{
    var random = new Object();
    random.m = 714025;
    random.a = 4096;
    random.c = 150889;
    random.seed = (new Date()).getTime() % random.m;
    random.seed = (random.seed*random.a + random.c) % random.m;
    return random.seed/random.m;
}


function _nnrId()
{
    var s = "rand:" + _nnrRandom();
    s += navigator.userAgent;
    return "fpc-" + hex_md5(s);
}

function _nnrSetCookie(name, value, expires, path, domain, secure)
{
    document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function _nnrGetCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function _nnrDeleteCookie(name, path, domain)
{
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}


function _nnrBrowserInfo()
{
    var b = new Object();
    b.isIE  = false;
    b.isMac = false;
    b.ieVer = 0;

    var ua  = navigator.appName + " " + navigator.appVersion;
    var rua = navigator.userAgent;
    var bv  = navigator.appVersion.substring(0, 1);

    b.isIE    = ua.indexOf('MSIE')   == -1 ? false : true;
    b.isMax   = ua.indexOf('Max')    == -1 ? false : true;
    b.isOpera = rua.indexOf('Opera') == -1 ? false : true;
    if (b.isOpera) {
        b.isIE = false;
    }
    if (b.isIE) {
        b.ieVer = parseInt(ua.substr(ua.indexOf('MSIE') + 5));
    }

    return b;
}


function _nnrTracker(msmt)
{
    var bInfo          = _nnrBrowserInfo();
    var bData          = new Object();

    // get/set the fpc
    bData.cookiesEnabled = "y";
    bData.cookieValue = _nnrGetCookie(msmt.cookieName);
    if (bData.cookieValue == null) {
        _nnrSetCookie(msmt.cookieName,
                      _nnrId(),
                      msmt.cookieExpires,
                      msmt.cookiePath,
                      msmt.cookieDomain);
        bData.cookieValue = _nnrGetCookie(msmt.cookieName);
        if (bData.cookieValue == null) {
            bData.cookiesEnabled = "n";
        }
    }

    // get page and referring url
    bData.pageUrl = escape(window.location);
    bData.refUrl  = escape(document.referrer);

    // get javaEnabled, docTitle (optional)
    bData.javaEnabled = navigator.javaEnabled() ? "y" : "n";
    if (msmt.docTitle) {
        bData.docTitle = escape(document.title);
    }

    // get homePage & connType (IE 5 & above)
    if(bInfo.isIE && (bInfo.ieVer >= 5) && !bInfo.isMac) {
        document.body.addBehavior("#default#clientCaps");
        bData.connType = document.body.connectionType;
        document.body.addBehavior("#default#homePage");
        bData.homePage = (document.body.isHomePage(location.href)) ? "y" : "n";
    }

    // get screenRes, colorDepth, timeZone, language
    var dateObj = new Date();
    bData.timeZone = dateObj.getTimezoneOffset() / -60;
    var wScreen        = window.screen;
    if (wScreen != null) {
        bData.colorDepth   = wScreen.colorDepth;
        bData.screenRes    = wScreen.width + "x" + wScreen.height;
    }
    bData.language = navigator.language;

    // write the pixel out
    var pixel = '<img src="';
    pixel += msmt.protocol + '//' + msmt.dataNode + '/priv-bin/m?rnd=' + (new Date()).getTime();
    pixel += '&sc=0';
    pixel += '&ci=' + msmt.clientId;
    pixel += '&cg=' + msmt.contentGroup;
    pixel += '&id=' + bData.cookieValue;
    if (bData.screenRes   != null) { pixel += '&sr='+ bData.screenRes; }
    if (bData.colorDepth  != null) { pixel += '&cd='+ bData.colorDepth; }
    if (bData.language    != null) { pixel += '&lg='+ bData.language; }
    if (bData.javaEnabled !=null)  { pixel += '&je='+ bData.javaEnabled; }
    pixel += '&ck='+ bData.cookiesEnabled;
    if (bData.timeZone != null)    { pixel += '&tz=' + bData.timeZone; }
    if (bData.connType != null)    { pixel += '&ct=' + bData.connType; }
    if (bData.homePage != null)    { pixel += '&hp=' + bData.homePage; }
    if (bData.docTitle != null)    { pixel += '&tl=' + bData.docTitle; }
    if (bData.pageUrl  != null)    { pixel += '&si=' + bData.pageUrl; }
    if (bData.refUrl   != null)    { pixel += '&rp=' + bData.refUrl; }
    if (msmt.invisiblePixel)       { pixel += '" style="display:none'; }
    pixel += '" width="1" height="1" />';

    document.write(pixel);

}


// Control measurement behaviour
var _nnrMsmt = new Object();
_nnrMsmt.cookieDomain   = document.domain;
_nnrMsmt.protocol       = location.protocol.indexOf('https') > -1 ? 'https:' : 'http:'
_nnrMsmt.docTitle       = false;
_nnrMsmt.cookieExpires  = new Date("Sun, 18 Jan 2038 00:00:00 GMT");
_nnrMsmt.cookieName     = "__NNR_SECURE__";
_nnrMsmt.cookiePath     = "/";
_nnrMsmt.invisiblePixel = false;


// Mandatory - must update these parameters
_nnrMsmt.clientId       = "us-netcookie";                           // ** update **
_nnrMsmt.contentGroup   = "0";                              // ** update **
_nnrMsmt.dataNode       = "secure-us.imrworldwide.com";       // ** update **

_nnrTracker(_nnrMsmt);