;( function(){
    //$ Запазва адреса, на който трябва да праща заявките
    if (isset(width)) {
        var width = 1
    }
    if (isset(height)) {
        var height = 1
    }
    var url = 'http://ecounter.bg/cnt.php/main/' + uid + '?';

    //$ На колко минути да изпраща заявката отново
    var TIMEOUT = 1;
    var timeStarted;
    //$ Статистики
    var stats = new function(){
	
        //$ Запазва резолюцията
        this.RESOLUTION = screen.width + 'x' + screen.height;
	
        //$ Запазва хоста и протокола
        this.PROTOCOL = location.protocol;
        this.HOSTNAME = location.hostname;
	
        //$ Запазва адреса на сайта
        this.SITE_URL = location.href;
	
        //$ Запазва предишния посетен адрес
        this.REFERRER = document.referrer;
	
        //$ Запазва езикът на браузъра
        this.LANGUAGE = ( navigator.language || navigator.browserLanguage || 'en' ).substr( 0, 2 );
	
        //$ Запазва заглавието на страницата
        this.PAGE_TITLE = document.title;
	
        //$ Потдържа ли браузъра бисквитки
        this.COOKIE_ENABLED = navigator.cookieEnabled;
	
        //$ Потдържа ли браузъра JAVA
        this.JAVA_ENABLED = navigator.javaEnabled();
	
        //$ Дали използва jQuery
        this.JQUERY = !!window.jQuery;
    };

    //$ Тестове за eval-ване на скриптове
    var supportScriptEval = true;
    var id = "$$eCounter__$$" + ( new Date ).getTime();

    try{
        scriptEval( "this['"+ id +"'] = true;" );
    } catch( e ){};

    if( window[ id ] )
        try{
            delete window[ id ];
        } catch( e ){
            window[id] = undefined;
        }
    else supportScriptEval = false;

    //$ Запазва пълния адрес
    var fullURL = (url + serialize( stats ));

    //$ Изпраща заявката към сървъра
    var ecounter_link = document.createElement('a');
    ecounter_link.setAttribute('href', 'http://ecounter.bg/dashboard/home/' + uid);
    ecounter_link.setAttribute('title', 'eCounter.bg - web site counter!');
    ecounter_link.setAttribute('style', 'border: 0 none;');
    ecounter_link.setAttribute('target', '_blank');

    var ecounter_img = document.createElement('img');
    ecounter_img.setAttribute('src', fullURL);
    ecounter_img.setAttribute('alt', 'eCounter.bg - True web site counter!');
    ecounter_img.setAttribute('style', "width: " + width + "; height: " + height + "; border: 0 none;");
    ecounter_link.appendChild(ecounter_img);

    var ecS = document.getElementById('ecounter_script');
    if(ecS === null){
        var scripts = document.getElementsByTagName('script');
        for(var i=0; i<scripts.length; i++)
        {
            if(scripts[i].src == 'http://cnt.ecounter.bg/counter.packed.js')
            {
                scripts[i].parentNode.insertBefore(ecounter_link, scripts[i].nextSibling);
                break;
            }
        }   
    }else{
        ecS.parentNode.insertBefore(ecounter_link, ecS.nextSibling);
    }
    //document.write('<a href="http://ecounter.bg/StatsBoard-' + uid + '-home" title="eCounter.bg - Българският уеб анализатор!" style="width: ' + width + '; height: "' + height + ';"
    //<img src="' + (fullURL = url + serialize( stats )) +  '" alt="eCounter.bg - Българският уеб анализатор!" style="width: ' + width + '; height: "' + height + ';" /></a>');
    document.onmousemove = document.onkeydown = function () {
        timeStarted = (new Date()).getTime();
    };
    //$ Изпраща заявката периодично
    setInterval( function(){
        if (timeStarted + (1000 * 60) > (new Date()).getTime()) {
            scriptEval( fullURL + '&CLICK_TICK=1&uuiidd=' + Math.random(), true );
        }
    }, 1000 * 60 * TIMEOUT );

    function serialize( data ){
        if( Object.prototype.toString.call( data ) === "[object String]" )
            return data;
	
        var result = [];
	
        for( var name in data )
            result.push( name + "=" + encodeURIComponent( data[ name ] ) );
		
        return result.join("&");
    }
 
    function scriptEval( source, fromURL ){
        var elm = document.getElementsByTagName("head")[0] || document.documentElement,
        script = document.createElement("script");
	
        script.type = "text/javascript";
        script.async = true;
	
        if( fromURL ){
            script.src = source;
        } else {
            if( supportScriptEval )
                script.appendChild( document.createTextNode( source ) );
            else
                script.text = source;
        }
	
        elm.insertBefore( script, elm.firstChild );
        elm.removeChild( script );
    }
    function isset(a) {
        return (typeof(a) != 'undefined');
    }
})();

