var protocol = "http";
function getProtocol() {
    protocol = window.location.protocol;
}
function Top100CounterClass()
{
	
}
Top100CounterClass.prototype.DrawNotInvisibleWarning = function()
{
    document.write('Top 100 Counter cannot be invisible')
}
Top100CounterClass.prototype.DrawCounter = function(id, cl) {
    getProtocol();
    var query = this.GetQuery(id, cl)
    var imgTag = ''
    
    imgTag += '
'
    imgTag += ''
    document.write(imgTag);
    this.DrawUnloadObject(id);
}
Top100CounterClass.prototype.IDrawCounter = function(id) {
    getProtocol();
    var query = this.GetQuery(id)
    var scrTag = '';
    document.write(scrTag);
    this.DrawUnloadObject(id);
}
Top100CounterClass.prototype.DrawUnloadObject = function(id)
{
	this.attachUEvent(id,window);
}
Top100CounterClass.prototype.attachUEvent = function(id,obj)
{
	var _this=this;
	var CID=id
	var S=new Date();
	var orgEvnt=obj.onunload;
	obj.onunload=unloadE
	
	function unloadE()
	{
		_this.OnUnloadEvnt(orgEvnt,CID,S)
	}
}
Top100CounterClass.prototype.OnUnloadEvnt = function(obj,id,start_time)
{
	var end_time=new Date();
	var k=end_time-start_time;
	var time_sec=Math.ceil(k/1000);
	var img= new Image();
	img.src = protocol + "//counter.top100.penki.lt/LogEntranceTime.aspx?cid=" + id + "&t=" + time_sec + "&" + Math.random();
	
	if (obj)
	{
		return obj()
	}
}
Top100CounterClass.prototype.GetQuery = function(id , cl)
{
	var FlashVersion =  this.DetectFlashVersion();
	var ScreenResolution =  this.DetectScreenResolution();
	var ColorDepth =  this.DetectColorDepth();
	var JAVAEnabled =  this.DetectJAVA();
	var Speed = this.DetectConnectionSpeed();
	var PageCharacterSet = this.DetectPageCharacterSet();
	var Referer = this.GetReferer();
	var isNewVisit = this.IsNewVisit();
	var isStartPage = this.IsStartPage();
	var query = 
		"cid=" + id 
		+ "&r=" + escape(Referer) 
		+ "&s=" + escape(ScreenResolution) 
		+ "&c=" + escape(ColorDepth) 
		+ "&j=" + escape(JAVAEnabled) 
		+ "&f=" + escape(FlashVersion) 
		+ "&p=" + escape(Speed)
		+ "&n=" + escape(isNewVisit) 
		+ "&st=" + escape(isStartPage) 
		+ "&e=" + escape(PageCharacterSet);
		
	if (cl)
	{
		query +="&cl=" + escape(cl);
	}
	query += "&" + Math.random();
	return query;
	
}
Top100CounterClass.prototype.IsNewVisit = function()
{
	var cookie_name = "__visited";
	var cookie_value = this.getCookie(cookie_name);
	var isNew = false;
	if (!cookie_value||cookie_value=="")
	{
		isNew = true;
	}
	var end_date = new Date();
	end_day = end_date.getDay();
	end_day = end_date.getDate() + 15 - end_day;
	var exp_date_long = new Date(end_date.getFullYear(), end_date.getMonth(), end_day);		
	this.setCookie(cookie_name,"false",exp_date_long)
	
	return isNew
		
}
Top100CounterClass.prototype.IsStartPage = function()
{
	var isFirst=true
	var url=this.GetReferer();
	if (window.location)
	{
		var i=url.indexOf(window.location.host);
		i=parseInt(i);
		if (i>0&&i<10)
		{
			isFirst=false
		}
	}
	return isFirst;
}
Top100CounterClass.prototype.DetectFlashVersion = function()
{
	var flash_version = "-";
	var browser = navigator;
	if (browser.plugins && browser.plugins.length) 
	{
		for (var i = 0; i < browser.plugins.length; i++) 
		{
			if (browser.plugins[i].name.indexOf('Shockwave Flash')!= -1) 
			{
				flash_version=browser.plugins[i].description.split('Shockwave Flash ')[1];
				flash_version=flash_version.split(' ')[0];
				break;
			}
		}
	} 
	else if (window.ActiveXObject) 
	{
		for (var i = 10; i >= 2; i--) 
		{
			try 
			{
				var fl_ver=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+i+"');");
				if (fl_ver) { flash_version=i + '.0'; break; }
			}
			catch(e) {}
		} 
	}
	return flash_version;
}
Top100CounterClass.prototype.DetectScreenResolution = function ()
{
	var screen_resolution = "-";
	
	if (screen) 
	{
		screen_resolution = screen.width + "x" + screen.height;
	} 
	else if (self.java) 
	{
		var javaObj = java.awt.Toolkit.getDefaultToolkit();
		var screen_size = javaObj.getScreenSize();
		screen_resolution = screen_size.width + "x" + screen_size.height;
	}
	
	return screen_resolution;
}
Top100CounterClass.prototype.DetectColorDepth = function ()
{
	var screen_colorDepth = "-";
	if (screen) 
	{
		screen_colorDepth = screen.colorDepth + "-bit";
	} 
	return screen_colorDepth;
}
 
Top100CounterClass.prototype.DetectJAVA = function ()
{
	return  navigator.javaEnabled() ? true : false;
}
Top100CounterClass.prototype.DetectConnectionSpeed = function ()
{
	var cookie_name = "__conn_speed";
	var cookie_name_long = "__conn_speed_long";	
	var cookie_value = this.getCookie(cookie_name);
	var speed="";
	
	if (!cookie_value||cookie_value=="")
	{
		cookie_value = this.getCookie(cookie_name_long);
		if (cookie_value&&cookie_value!="")
		{
			speed=cookie_value;
		}
		setTimeout("(new Top100CounterClass()).CountConnectionSpeed()",5 * 1000);
	}
	else
	{
		speed=cookie_value;		
	}
	
	return speed;
}
Top100CounterClass.prototype.CountConnectionSpeed = function ()
{
	var test_image;
	var curr_date;
	var start_time;
	
	curr_date = new Date();
	start_time = curr_date.getTime();
	
	test_image = new Image(1,1);
	test_image.onload = function ()
	{
		var end_date = new Date();
		var end_time = end_date.getTime();
		var time_elapsed = end_time - start_time;
		var image_size = 569;
		var connection_type = "";
		var connectSpeed = (Math.floor((((image_size * 8) / (time_elapsed / 1000)) / 1024) * 10) / 10);
		
			if(connectSpeed <= 28.8) {
				connection_type = "Dial-up 28.8k";
			} else if(connectSpeed <= 33.6) {
				connection_type = "Dial-up 33.6k";
			} else if(connectSpeed <= 53.3) {
				connection_type = "Dial-up 56k";
			} else if(connectSpeed <= 128.0) {
				connection_type = "ISDN 128k";
			} else if(connectSpeed <= 256.0) {
				connection_type = "ISDN 256k";
			} else if(connectSpeed <= 512.0) {
				connection_type = "ISDN 512k";
			} else if(connectSpeed <= 800.0) {
				connection_type = "Cable/DSL 800k";
			} else if(connectSpeed <= 1500.0) {
				connection_type = "Cable/DSL 1.5Mbps";
			} else if(connectSpeed <= 1544.0) {
				connection_type = "Full T1 1.544Mbps";
			} else if(connectSpeed <= 3000.0) {
				connection_type = "N x T1 3.0Mbps";
			} else if(connectSpeed <= 6000.0) {
				connection_type = "T3 6.0Mbps";
			} else if(connectSpeed <= 15000.0) {
				connection_type = "T3 15Mbps";
			} else if(connectSpeed <= 30000.0) {
				connection_type = "T3 30Mbps";
			} else {
				connection_type = "over 30Mbps";
			}
			var _t=new Top100CounterClass();
			_t.SaveSpeed( connection_type);
	}
	test_image.src = protocol + "//counter.top100.penki.lt/images/speed.gif?" + Math.random();
}
Top100CounterClass.prototype.SaveSpeed =function (connection_type)
{
		var cdate = new Date();
		var exp_date = new Date( cdate.getFullYear(), cdate.getMonth(), cdate.getDate(),
								cdate.getHours(), cdate.getMinutes()+1, cdate.getSeconds());
		
		var exp_date_long = new Date( cdate.getFullYear(), cdate.getMonth() + 1, cdate.getDate(),
								0,0,0);
								
		var cookie_name = "__conn_speed";
		var cookie_name_long = "__conn_speed_long";	
		
		this.setCookie(cookie_name,connection_type,exp_date)
		this.setCookie(cookie_name_long,connection_type,exp_date_long)
}
Top100CounterClass.prototype.DetectPageCharacterSet =function ()
{
	var r="";
	if (document.charset)
	{
		r=document.charset;
	}
	else if (document.characterSet)
	{
		r=document.characterSet;
	}		
	else
	{
	    var _eds_charset1 = document.getElementsByTagName('meta');
	    var _eds_strtmp='';
	    for(var _eds_i=0;_eds_i<_eds_charset1.length;_eds_i++)
	    {
	        _eds_strtmp= _eds_charset1[_eds_i].content.toLowerCase();
	        if(_eds_strtmp.indexOf('charset')>0)
	        {
	            _eds_strtmp = _eds_strtmp.split('=')[1];
	            _eds_strtmp = _eds_strtmp.toLowerCase();
	            r = _eds_strtmp;
	            break;
	        }
	    }
	}
	if(r == "")
	{
		r = "utf-8";
	}
	
	return r;
}
Top100CounterClass.prototype.GetReferer = function ()
{
	return document.referrer;
}
Top100CounterClass.prototype.getCookie = function (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));
}
Top100CounterClass.prototype.setCookie = function (name, value, expires, path, domain, secure)
{
    var d=new Date();
    if (!expires) expires=new Date(d.getFullYear(), d.getMonth() + 6, d.getDate())
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
function DrawTop100Counter(id,cl)
{
	var TOP100= new Top100CounterClass()
	TOP100.DrawCounter(id,cl);
}
function DrawTop100ICounter(id)
{
	var TOP100= new Top100CounterClass()
	TOP100.IDrawCounter(id);
}
DrawTop100Counter('34702');