﻿function __gsCMStart(root) {
    __gsCheckIVID(root);
}

function __gsTMessage() {
    try {
        var _pagevid = $get('__gsvid');
        var _pageIsVidNew = $get('__gsIsVidN');
        var _inficookie = __gsGetCookie('InfiVisitorID', 2);

        if (_pagevid) {
            _pagevid = _pagevid.value;
        }

        if (_pageIsVidNew) {
            _pageIsVidNew = _pageIsVidNew.value;
        }

        var message = 'cmtype=TMSG&gsvid=' + _pagevid + '&gsvidN=' + _pageIsVidNew +'&IVID' + _inficookie;
        __gsPostClientMessage(message);
    }
    catch (ex) {
    }
}

function __gsCheckIVID(root) {
    try {
        var _pagevid = $get('__gsvid');
        var _pageIsVidNew = $get('__gsIsVidN');
        var _inficookie = __gsGetCookie('InfiVisitorID', 2);

        if (_pagevid) {
            _pagevid = _pagevid.value;
        }

        if (_pageIsVidNew) {
            _pageIsVidNew = _pageIsVidNew.value;
        }

        if (_inficookie.indexOf(_pagevid) == -1) {
            var message = 'cmtype=VIDCheck&gsvid=' + _pagevid + '&msg=NO_INFIVISITORID_COOKIE';
            __gsPostClientMessage(root,message);
        }
    }
    catch (ex) {
    }
}

function __gsPostClientMessage(root,message) {
    try {
        var wRequest = new Sys.Net.WebRequest();

        wRequest.set_url(root + "clientMessage.axd?" + message);
        wRequest.set_httpVerb("GET");
        wRequest.invoke();
    }
    catch (ex) {
    }
}


function __gsGetCookie(sName, index) {
    var aCookie = document.cookie.split("; ");
    for (var i = 0; i < aCookie.length; i++) {
        var aCrumb = aCookie[i].split("=");
        if (sName == aCrumb[0])
            return unescape(aCrumb[index]);
    }
    // a cookie with the requested name does not exist
    return "";
}
