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');