﻿//new version
function createCookie(name, value, minutes) {
    if (minutes) {
        var date = new Date();
        date.setTime(date.getTime() + (minutes * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    var domn = new String();
    domn = getRootDomain();
    domn = "." + domn;
    document.cookie = name + "=" + value + expires + "; domain=" + domn + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}
function isEnableCookie() {
    createCookie("t_c", "10", 1);
    var t = readCookie("t_c");
    if (!t || t == undefined || t != "10")
        return false;
    return true;
}

function getRootDomain() {
    var d = new String();
    d = document.domain.toLowerCase();
    if (d.indexOf("www.") == 0)
        d = d.substring(4);
    if (d.indexOf(".") < d.lastIndexOf(".")) {
        if (!domainIsBlogOrSpecial(d)) {
            d = d.substring(d.indexOf(".") + 1);
        }
    }
    return d;
}

function domainIsBlogOrSpecial(d) {
    var bAr = new Array();
    bAr[0] = "blogspot.com";
    bAr[1] = "wordpress.com";
    for (var i in bAr) {
        if (d.indexOf(bAr[i]) > 0)
            return true;
    }
    return false;
}

function top20_ES(s, u) {
    if (typeof (encodeURIComponent) == 'function') {
        if (u) return encodeURI(s);
        else return encodeURIComponent(s);
    } else {
        return escape(s);
    }
}

//-- Auto/Organic Sources and Keywords
var _uOsr = new Array();
var _uOkw = new Array();
_uOsr[0] = "google"; _uOkw[0] = "q";
_uOsr[1] = "yahoo"; _uOkw[1] = "p";
_uOsr[2] = "msn"; _uOkw[2] = "q";
_uOsr[3] = "aol"; _uOkw[3] = "query";
_uOsr[4] = "aol"; _uOkw[4] = "encquery";
_uOsr[5] = "lycos"; _uOkw[5] = "query";
_uOsr[6] = "ask"; _uOkw[6] = "q";
_uOsr[7] = "altavista"; _uOkw[7] = "q";
_uOsr[8] = "netscape"; _uOkw[8] = "query";
_uOsr[9] = "cnn"; _uOkw[9] = "query";
_uOsr[10] = "looksmart"; _uOkw[10] = "qt";
_uOsr[11] = "about"; _uOkw[11] = "terms";
_uOsr[12] = "mamma"; _uOkw[12] = "query";
_uOsr[13] = "alltheweb"; _uOkw[13] = "q";
_uOsr[14] = "gigablast"; _uOkw[14] = "q";
_uOsr[15] = "voila"; _uOkw[15] = "rdata";
_uOsr[16] = "virgilio"; _uOkw[16] = "qs";
_uOsr[17] = "live"; _uOkw[17] = "q";
_uOsr[18] = "baidu"; _uOkw[18] = "wd";
_uOsr[19] = "alice"; _uOkw[19] = "qs";
_uOsr[20] = "yandex"; _uOkw[20] = "text";
_uOsr[21] = "najdi"; _uOkw[21] = "q";
_uOsr[22] = "aol"; _uOkw[22] = "q";
_uOsr[23] = "club-internet"; _uOkw[23] = "q";
_uOsr[24] = "mama"; _uOkw[24] = "query";
_uOsr[25] = "seznam"; _uOkw[25] = "q";
_uOsr[26] = "search"; _uOkw[26] = "q";
_uOsr[27] = "szukaj"; _uOkw[27] = "szukaj";
_uOsr[28] = "szukaj"; _uOkw[28] = "qt";
_uOsr[29] = "netsprint"; _uOkw[29] = "q";
_uOsr[30] = "google.interia"; _uOkw[30] = "q";
_uOsr[31] = "szukacz"; _uOkw[31] = "q";
_uOsr[32] = "yam"; _uOkw[32] = "k";
_uOsr[33] = "pchome"; _uOkw[33] = "q";
_uOsr[34] = "go.mail"; _uOkw[34] = "q";
_uOsr[35] = "myWebSearch"; _uOkw[35] = "searchfor";
_uOsr[36] = "images.google"; _uOkw[36] = "imgurl";
_uOsr[37]="bing";_uOkw[37]="q";

function _uEC(s) {
    var n = "";
    if (!s || s == "") return "";
    for (var i = 0; i < s.length; i++) { if (s.charAt(i) == " ") n += "+"; else n += s.charAt(i); }
    return n;
}

// flash version
function top20_Flash() {
    var f = "-", n = navigator;
    if (n.plugins && n.plugins.length) {
        for (var ii = 0; ii < n.plugins.length; ii++) {
            if (n.plugins[ii].name.indexOf('Shockwave Flash') != -1) {
                f = n.plugins[ii].description.split('Shockwave Flash ')[1];
                break;
            }
        }
    } else if (window.ActiveXObject) {
        for (var ii = 10; ii >= 2; ii--) {
            try {
                var fl = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash." + ii + "');");
                if (fl) { f = ii + '.0'; break; }
            }
            catch (e) { }
        }
    }
    if (f.indexOf(' ', 0) > 0)
        f = f.substring(0, f.indexOf(' '));
    return f;
}

//browser info
function top20_BInfo() {
    var sr = "-", sc = "-", ul = "-", fl = "-", cs = "-", je = 1;
    var n = navigator;
    if (self.screen) {
        sr = screen.width + "x" + screen.height;
        sc = screen.colorDepth + "-bit";
    } else if (self.java) {
        var j = java.awt.Toolkit.getDefaultToolkit();
        var s = j.getScreenSize();
        sr = s.width + "x" + s.height;
    }
    if (n.language) { ul = n.language.toLowerCase(); }
    else if (n.browserLanguage) { ul = n.browserLanguage.toLowerCase(); }
    je = n.javaEnabled() ? 1 : 0;
    fl = top20_Flash();
    return "&_sr=" + sr + "&_sc=" + sc + "&_ul=" + ul + "&_je=" + je + "&_fl=" + fl;
}

function top20_Ref(_u, _ext) {
    var _ih = "r";
    if (!_u || _u == "")
        _ref = document.referrer;
    else {
        _ref = _u;
        _ih = "";
    }
    if (!_ref || _ref == "") return "";
    var i = 0, h, k, n;
    if ((i = _ref.indexOf("://")) < 0) return "";
    h = _ref.substring(i + 3, _ref.length);
    if (h.indexOf("/") > -1) {
        k = h.substring(h.indexOf("/"), h.length);
        if (!_ext) {
            if (k.indexOf("?") > -1) k = k.substring(0, k.indexOf("?"));
        }
        h = h.substring(0, h.indexOf("/"));
    }
    h = h.toLowerCase();
    n = h;
    if ((i = n.indexOf(":")) > -1) n = n.substring(0, i);

    if (h.indexOf("www.") == 0) h = h.substring(4, h.length);
    _r = "&" + _ih + "dmn=" + _uEC(h) + "&" + _ih + "pg=";
    if (!_ext)
        _r += _uEC(k);
    else
        _r += top20_ES(k);
    return _r;
}
function top20_Robot(t) {
    _ref = document.referrer;
    if (!_ref || _ref == "") return "";
    var i = 0, h, k;
    if ((i = _ref.indexOf("://")) < 0) return "";
    h = _ref.substring(i + 3, _ref.length);
    if (h.indexOf("/") > -1) {
        h = h.substring(0, h.indexOf("/"));
    }
    for (var ii = 0; ii < _uOsr.length; ii++) {
        if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) > -1) {
            if ((i = _ref.indexOf("?" + _uOkw[ii] + "=")) > -1 || (i = _ref.indexOf("&" + _uOkw[ii] + "=")) > -1) {
                k = _ref.substring(i + _uOkw[ii].length + 2, _ref.length);
                if ((i = k.indexOf("&")) > -1) k = k.substring(0, i);
                if (t) return _uEC(k);
                else return "&rrdmn=" + _uEC(_uOsr[ii]) + "&rrkw=" + _uEC(k);
            }
        }
    }
    return "";
}

function top20_random() {
    return Math.ceil(Math.random() * 10000000000);
}

var top20_a_name = "top20md_a";
var top20_u_name = "top20md_u";
var top20_s_name = "top20md_s";

function top20_userrid() {
    var rid = readCookie(top20_u_name);
    return rid.substring(rid.indexOf('-') + 1);
}
function top20_auserrid() {
    var rid = readCookie(top20_a_name);
    return rid.substring(rid.indexOf('-') + 1);
}
function top20_sessrid() {
    var rid = readCookie(top20_s_name);
    return rid.substring(rid.lastIndexOf('-') + 1);
}

var BrowserDetect = {
    init: function() {
        this.browser = this.searchString(this.dataBrowser) || "";
        this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "";
    },
    searchString: function(data) {
        for (var i = 0; i < data.length; i++) {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function(dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
    },
    dataBrowser: [
		{
		    string: navigator.userAgent,
		    subString: "Chrome",
		    identity: "Chrome"
		},
		{ string: navigator.userAgent,
		    subString: "OmniWeb",
		    versionSearch: "OmniWeb/",
		    identity: "OmniWeb"
		},
		{
		    string: navigator.vendor,
		    subString: "Apple",
		    identity: "Safari"
		},
		{
		    prop: window.opera,
		    identity: "Opera"
		},
		{
		    string: navigator.vendor,
		    subString: "iCab",
		    identity: "iCab"
		},
		{
		    string: navigator.vendor,
		    subString: "KDE",
		    identity: "Konqueror"
		},
		{
		    string: navigator.userAgent,
		    subString: "Firefox",
		    identity: "Firefox"
		},
		{
		    string: navigator.vendor,
		    subString: "Camino",
		    identity: "Camino"
		},
		{		// for newer Netscapes (6+)
		    string: navigator.userAgent,
		    subString: "Netscape",
		    identity: "Netscape"
		},
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Internet Explorer",
		    versionSearch: "MSIE"
		},
		{
		    string: navigator.userAgent,
		    subString: "Gecko",
		    identity: "Mozilla",
		    versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		    string: navigator.userAgent,
		    subString: "Mozilla",
		    identity: "Netscape",
		    versionSearch: "Mozilla"
		}
	]
};

function top20_src() {
    top20_id = top20_getClientId();
    var statsrc = ''; //'http://v1.stream.top20.md/client/?id='+top20_id;
    var auserrid;
    var userrid;
    var sessrid;
    var absuser = 0;
    var newuser = 0;
    var newsess = 0;
    if (!readCookie(top20_a_name))
    //is absolute new user
    {
        absuser = 1;
        newuser = 1;
        newsess = 1;
        userrid = top20_random();
        auserrid = userrid;
        sessrid = top20_random();
        createCookie(top20_a_name, top20_id + "-" + userrid, 60 * (350 * 24));
        createCookie(top20_u_name, top20_id + "-" + userrid, 20 * 60);
    }
    else {
        auserrid = top20_auserrid();
        if (!readCookie(top20_u_name))
        //is new user
        {
            newuser = 1;
            newsess = 1;
            userrid = top20_random();
            sessrid = top20_random();
            createCookie(top20_u_name, top20_id + "-" + userrid, 20 * 60);
        } else
        //is not a new user
        {
            userrid = top20_userrid();

            if (!readCookie(top20_s_name))
            //is new session
            {
                newsess = 1;
                sessrid = top20_random();
            }
            else
            //is not a new session
            {
                sessrid = top20_sessrid();
            }
        }
    }
    createCookie(top20_s_name, top20_id + "-" + userrid + "-" + sessrid, 30);
    statsrc += '&ausrrid=' + auserrid;
    statsrc += '&usrrid=' + userrid;
    statsrc += '&sessrid=' + sessrid;
    statsrc += '&anewusr=' + absuser;
    statsrc += '&newusr=' + newuser;
    statsrc += '&newsess=' + newsess;
    statsrc += top20_BInfo();
    try {
        statsrc += '&brwsr=' + BrowserDetect.browser;
        statsrc += '&brwsrv=' + BrowserDetect.version;
    } catch (exc) {
        top20_send_exception('BrowserDetect: ' + exc);
    }
    try {
        statsrc += top20_Ref();
        statsrc += top20_Ref(document.URL, 1);
    } catch (exc1) {
        top20_send_exception('top20_Ref: ' + exc1);
    }
    statsrc += top20_Robot();
    statsrc += '&title=' + top20_ES(document.title);
    statsrc += '&r=' + Math.random();

    return statsrc;
}
function top20_void() { return; }
/*function push_top20_stats()
{
var _src = top20_src();
var i=new Image(1,1);
i.src=_src;
i.onload=function() { top20_void(); }
}
*/

function top20_executeScript() {
    top20_id = top20_getClientId();
    try {
        //if (top20_id == 'moldovaorg') {
        if (window.self != window.top) {
            if (window.document.referrer && top20_permitedFrame())
                return true;
            return false;
        }
        //}
    } catch (e1) {
    }
    return true;
}
function top20_permitedFrame() {
    var r = window.document.referrer;
    r = r.replace("http://", "");
    r = r.replace("https://", "");
    var d = document.domain;
    if (d.indexOf("www.") == 0)
        d = d.substring(4);
    if (r.indexOf("www.") == 0)
        r = r.substring(4);
    if (r.indexOf(d) == 0)//same domain
        return true;
    if (window.document.referrer.indexOf("http://images.google") == 0)
        return true;
    return false;
}

function top20_getClientId() {
    var tidt;
    try {
        tidt = top20_id;
    } catch (_topex) {
        //top20_send_exception('top20_id nu-i: ' + document.domain);
        tidt = document.domain;
        tidt = tidt.replace("www.", "");
        tidt = tidt.replace(".", "");
        tidt = tidt.replace(".", "");
        //return;
        top20_id = tidt;
    }
    return tidt;
}

function insertTop20Banner() {
    if (!isEnableCookie())
        return;

    if (!top20_executeScript()) {
        //top20_send_exception("Not Execute: " + document.domain + " | " + document.referrer);
        return;
    }

    top20_id = top20_getClientId();
    try {
        BrowserDetect.init();
    } catch (ex) {
        top20_send_exception('BrowserDetect: ' + ex);
    }
    try {
        if (top20_showimg == undefined)
            top20_showimg = 1;
    } catch (e) {
        top20_showimg = 1;
    }
    var top__src = '';
    try {
        top__src = top20_src();
    } catch (ex_src) {
        try {
            top20_send_exception('Src: ' + ex_src.message);
        } catch (_ex_src) {
            top20_send_exception('Src: ' + ex_src);
        }
        return;
    }
    try {
        if (top20_showimg != 0) {
            var _tp20txt = '<a href="http://www.top20.md/?site=' + top20_id + '" target="_blank" ><img src="http://v1.stream.top20.md/?top20_id=' + top20_id
    + top__src + '" alt="top20.md" title="Top20.md - Web Statistics!" border="0" width="88" height="31" /></a>';
            document.write(_tp20txt);
        } else {
            //var im = new Image();
            var _tp20txt2 = '<span style="display:none;"><a href="http://www.top20.md/?site=' + top20_id + '" target="_blank" ><img src="http://v1.stream.top20.md/?top20_id=' + top20_id
    + top__src + '" alt="top20.md" title="Top20.md - Web Statistics!" border="0" width="1" height="1" /></a></span>';
            document.write(_tp20txt2);
        }
    } catch (_ex) {
        try {
            top20_send_exception("Mess: " + _ex.message);
        } catch (__e) {
            top20_send_exception(_ex);
        }
    }
}
function top20_send_exception(e) {
    var er_im = new Image();
    er_im.src = "http://v1.stream.top20.md/exception.aspx?e=" + escape(e);
}
insertTop20Banner();