var countby_obj=countby_obj||(function(){
	var instance=null;
	function _ins(){
		var _self=this,site_ids=[],pageviews_fired=[],domain,secure,ref,ps_interval,ps_stop;
		this.init=function(site_id){
			site_ids.push(site_id);
			this.setup_site_id(site_id);
		};
		this.setup_site_id=function(site_id){
			this.domain="http://hit.count.by";
			if(document.location.protocol==="https:"){
				this.domain="https://hit.count.by";
				this.secure=1;
			}
			if(countby_custom.async){
				setTimeout(_self.advanced,1000);
			}else{
				this.add_event(window,'load',_self.advanced);
			}
			this.ref=RegExp("^https?://[^/]*"+location.host.replace(/^www\./i,"")+"/","i").test(document.referrer)?"":this.enc(document.referrer);
			_self.pageview();
		};
		this.base=function(site_id_index,type){
			var unixtime=(new Date().valueOf()*0.001)|0;
			var base_url=_self.domain+"/hit.php?site_id="+site_ids[site_id_index]+"&utime="+unixtime;
			if(type=="ping")return base_url;
			if(type=="pageview")return base_url;
			if(type=="outbound")return base_url;
			if(type=="click")return base_url;
			if(type=="download")return base_url;
			if(type=="session"){
				var charset=document.characterSet?document.characterSet:document.charset;
				base_url+="&screen="+screen.width+"x"+screen.height+"&color="+screen.colorDepth+"&charset="+charset+"&cook="+(navigator.cookieEnabled?1:0)+"&lang="+(navigator.language||navigator.browserLanguage||'en')+(_self.secure?"&secure=1":"")+"&timezone="+-(new Date()).getTimezoneOffset()+"&flash="+_self.get_flash()+"&java="+(navigator.javaEnabled()?1:0);
			}

	//		base_url+="&screen="+screen.width+"x"+screen.height+"&color="+screen.colorDepth+"&charset="+charset+"&cook="+(document.cookie?1:0)+"&lang="+(navigator.language||navigator.browserLanguage||'en')+(_self.secure?"&secure=1":"")+"&timezone="+-(new Date()).getTimezoneOffset()+"&flash="+_self.get_flash()+"&java="+(navigator.javaEnabled()?1:0);

			if(countby_custom.session){
				for(var i in countby_custom.session){
					base_url+="&custom["+_self.enc(i)+"]="+_self.enc(countby_custom.session[i]);
				}
			}
			return base_url;
		};
		this.get_flash=function(){
			var d,n=navigator,m,f='Shockwave Flash';
			if((m=n.mimeTypes)&&(m=m["application/x-shockwave-flash"])&&m.enabledPlugin&&(n=n.plugins)&&n[f]){d=n[f].description}
			else if(window.ActiveXObject){try {d=(new ActiveXObject((f+'.'+f).replace(/ /g,''))).GetVariable('$version');} catch(e){}}
			var fl=d?d.replace(/\D+/,'').split(/\D+/):[0,0];
			return fl[0]+'.'+fl[1];
		};
		this.create_usid=function(v){
			var S4=function() {return (((1+Math.random())*0x10000)|0).toString(16).substring(1);};
			if (v=='u') {return (S4()+S4()+S4()+S4());}
			if (v=='s') {return (S4()+S4());}
		};
		this.prev_visit=function(v){
			var curr_time=(new Date().valueOf()*0.001)|0;
			var user_props=v.split(":");
			var prev_visit=user_props[2];
			var prev_diff=Math.round((curr_time-parseInt(prev_visit))/60);
			return prev_diff;
		};
		this.prepare_sess_cook=function(cook,is_ping){
			// format: sess_id{8}:sess_start{unixtime}:sess_curr{unixtime}:sess_pages{int}
			var curr_time=(new Date().valueOf()*0.001)|0;
			if(cook){
				var s_cook=cook.split(":");
				if(!is_ping){
					var sess_pages=parseInt(s_cook[3])+1;
				}else{
					var sess_pages=s_cook[3];
				}
				return s_cook[0]+":"+s_cook[1]+":"+curr_time+":"+sess_pages;
			}else{
				return _self.create_usid('s')+":"+curr_time+":"+curr_time+":1";
			}
		};
		this.prepare_user_cook=function(cook){
			var curr_time=(new Date().valueOf()*0.001)|0;
			// format: user_id{16}:first_visit{unixtime}:prev_visit{unixtime}:curr_visit{unixtime}:sessions{int}
			if(cook){
				var u_cook=cook.split(":");
				var times=parseInt(u_cook[4])+1;
				return u_cook[0]+":"+u_cook[1]+":"+u_cook[3]+":"+curr_time+":"+times;
			}else{
				return _self.create_usid('u')+":"+curr_time+":"+curr_time+":"+curr_time+":1";
			}
		};
		this.pageview=function(extra){
			var href=countby_custom.href||'';
			if(!href){
//				if(location.hash.match(/utm_/i)){
//					href=location.pathname+(location.search?location.search+'&':'?')+location.hash.substr(1);
//				}else href=location.pathname+location.search;
				if(location.hash.match(/utm_/i)){
					href=location.href+(location.search?location.search+'&':'?')+location.hash.substr(1);
				}else href=location.href+location.search;
			}
			if(_self.facebook_is_lame(href))return;
			_self.beacon('','&href='+_self.enc(href)+'&title='+_self.enc(countby_custom.title||document.title)+'&ref='+_self.ref+(extra||''));
			for(var p=0;p<site_ids.length;p++){
				if(!_self.is_pageview_fired(site_ids[p])){
					pageviews_fired.push(site_ids[p]);
				}
			}
		};
		this.is_pageview_fired=function(site_id){
			for(var p=0;p<pageviews_fired.length;p++)if(pageviews_fired[p]==site_id)return true;return false;
		};
		this.log=function(href,title,type){
			if(_self.facebook_is_lame(href))return;
			if(type=='pageview')href=href.replace(/^https?:\/\/([^\/]+)/i,'');
			_self.beacon((type||'click'),'&href='+_self.enc(href)+'&title='+_self.enc(title||'')+'&ref='+_self.ref,true);
			if(type=="download"||type=="outbound")_self.pause();
		};
		this.facebook_is_lame=function(href){
			return href.match(/fb_xd_fragment|fb_xd_bust|fbc_channel/i);
		};
	//	this.video=function(action,time,url,title){
	//		if(!url||!action)return false;
	//		_self.beacon('video','&video[action]='+action+'&video[time]='+(time||0)+'&href='+_self.enc(url)+(title?'&title='+_self.enc(title):''),true);
	//	};
		this.goal=function(id,revenue){
			if(!id)return;
			var goal=(typeof id=='number'||id.match(/^[0-9]+$/))?'[id]='+id:'[name]='+_self.enc(id);
			_self.beacon('goal','&goal'+goal+(revenue?'&goal[revenue]='+revenue:''),true);
		};
		this.beacon=function(type,q,outside){
			q=q||'';
			type=type||'pageview';
		//	if(type!='pageview'&&_self.get_cookie('unpoco'))return;
			var goal='',split='';

			var count_by_uid=_self.get_cookie('__count_by_uid')||'';
			var count_by_sess=_self.get_cookie('__count_by_sess')||'';

			// types = session (new session) | pageview (open session-pageview) | ping (just ping client) | outbond (external link click) | download | click

			if (!count_by_uid&&type!="ping"){
				// new visitor, new session
				_self.set_cookie('__count_test', "new:new", 0);
				_self.set_cookie('__count_by_uid',_self.prepare_user_cook(''),1);
				_self.set_cookie('__count_by_sess',_self.prepare_sess_cook('',0),0);
				type="session";
			}else if(count_by_uid&&count_by_sess&&type!="ping"){
				// old visitor, old session
				var new_u_cook=_self.prepare_user_cook(count_by_uid);
				_self.set_cookie('__count_test', "old:old", 0);
				_self.set_cookie('__count_by_sess',_self.prepare_sess_cook(count_by_sess,0),0);
			//	type="pageview";
			}else if(count_by_uid&&!count_by_sess&&type!="ping"){
				// old visitor, new session
				var prev_visit=_self.prev_visit(count_by_uid);
				_self.set_cookie('__count_test', "old:new", 0);
				_self.set_cookie('__count_by_uid',_self.prepare_user_cook(count_by_uid),1);
				_self.set_cookie('__count_by_sess',_self.prepare_sess_cook('',0),0);
				type="session";
			}else if(!count_by_uid&&count_by_sess&&type!="ping"){
				// user deleted uid cookie - set cookies
				_self.set_cookie('__count_test', "-:-", 0);
				_self.set_cookie('__count_by_uid',_self.prepare_user_cook(''),1);
				_self.set_cookie('__count_by_sess',_self.prepare_sess_cook('',0),0);
				type="session";
			}

			var user_prop=_self.get_cookie('__count_by_uid').split(":");
			var user_id=user_prop[0];

			var sess_prop=_self.get_cookie('__count_by_sess').split(":");
			var sess_id=sess_prop[0];

			if(type=="ping"&&sess_id){
				// ping - update cookies
				_self.set_cookie('__count_by_sess',_self.prepare_sess_cook(count_by_sess,1),0);
			}

			if(countby_custom.goal){
				if(typeof countby_custom.goal=='object'){
					for(var i in countby_custom.goal){
						goal+='&goal['+_self.enc(i)+']='+_self.enc(countby_custom.goal[i]);
					}
				}else{
					goal='&goal='+_self.enc(countby_custom.goal);
				}
				countby_custom.goal='';
			}
			if(countby_custom.split){
				for(var i in countby_custom.split){
					if(i=='goal'&&typeof countby_custom.split.goal=='object'){
						for(var j=0,l=countby_custom.split.goal.length;j<l;j++){
							split+='&split[goal][]='+countby_custom.split.goal[j];
						}
					}else split+='&split['+_self.enc(i)+']='+_self.enc(countby_custom.split[i]);
				}
				countby_custom.split='';
			}
			for(var site_id_index=0;site_id_index<site_ids.length;site_id_index++){
				if(this.should_fire_beacon(site_id_index,type=='ping',outside)){
					var s=document.createElement('script');
					s.type='text/javascript';
					s.async=true;
					//s.innerHtml = xmlhttp.responseText;
					s.setAttribute('id', 'countby_js');
					s.src=_self.base(site_id_index,type)+'&type='+type+q+goal+split+'&uid='+user_id+'&sid='+sess_id+(prev_visit?'&prev_visit='+prev_visit:'')+'&x='+Math.random();
					(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(s);
				//	document.removeChild(document.getElementById("countby_js"));
				}
			}
			_self.ref="";
			_self.ping_start();
		};
		this.should_fire_beacon=function(site_id_index,ping,outside){
			return((!_self.is_pageview_fired(site_ids[site_id_index]))||((_self.is_pageview_fired(site_ids[site_id_index]))&&(ping))||((_self.is_pageview_fired(site_ids[site_id_index]))&&(outside)));
		};
		this.ping=function(){
			_self.beacon('ping');
		};
		this.ping_set=function(){
			var pingy=setInterval(_self.ping,120000);
			setTimeout("clearInterval("+pingy+")",_self.ps_stop*1000);
			_self.ping();
		};
		this.ping_start=function(){
			if(countby_custom.ping_disable||_self.pinging)return;
			_self.pinging=1;
			_self.ps_stop=(countby_custom.timeout&&countby_custom.timeout>=5&&countby_custom.timeout<=240)?((countby_custom.timeout-4)*60)+5:365;
			setTimeout(_self.ping,30000);
			setTimeout(_self.ping,60000);
			setTimeout(_self.ping_set,240000);
		};
		this.get_cookie=function(name){
			var ca=document.cookie.split(';');
			for(var i=0,l=ca.length;i<l;i++){
				if(eval("ca[i].match(/\\b"+name+"=/)"))return decodeURIComponent(ca[i].split('=')[1]);
			}
			return'';
		};
		this.set_cookie=function(name,value,expires){
			var ex=new Date;
			if(expires){
				var ty=new Date(ex.getTime()+(60*60*24*365*2*1000));
				document.cookie=name+"="+value+";expires="+ty.toGMTString()+";path=/;domain="+(countby_custom.cookie_domain||"."+location.hostname.replace(/^www\./i,""))+";";
			}else{
				var tn=new Date(ex.getTime()+(60*20*1000));
				document.cookie=name+"="+value+";expires="+tn.toGMTString()+";path=/;domain="+(countby_custom.cookie_domain||"."+location.hostname.replace(/^www\./i,""))+";";
			}
		};
		this.randy=function(){
			return Math.round(Math.random()*4294967295);
		};
		this.pause=function(x){
			var now=new Date();
			var stop=now.getTime()+(x||countby_custom.timer||500);
			while(now.getTime()<stop)var now=new Date();
		};
		this.isset=function(e){
			return(typeof(window[e])!="undefined");
		};
		this.enc=function(e){
			return window.encodeURIComponent?encodeURIComponent(e):escape(e);
		};
		this.add_event=function(e,type,func){
			if(e.addEventListener){
				e.addEventListener(type,func,false);
			}else if(e.attachEvent){
				e.attachEvent("on"+type,func);
			}
		};
		this.download=function(e){
			_self.img_src(e,"download");
		};
		this.outbound=function(e){
			_self.img_src(e,"outbound");
		};
		this.click=function(e){
			_self.img_src(e,"click");
		};
		this.img_src=function(e,type){
			obj=_self.get_target(e);
			_self.log(_self.get_href(obj),_self.get_text(obj),type);
		};
		this.get_text=function(e){
			do{
				var txt=e.text?e.text:e.innerText;
				if(txt)return txt;
				if(e.alt)return e.alt;
				if(e.title)return e.title;
				if(e.src)return e.src;
				e=_self.get_parent(e);
			}
			while(e);
			return"";
		};
		this.get_href=function(e){
			do{
				if(e.href&&!e.src)return e.href;
				e=_self.get_parent(e);
			}
			while(e);
			return"";
		};
		this.get_parent=function(e){
			return e.parentElement||e.parentNode;
		};
		this.get_target=function(e){
			if(!e)var e=window.event;
			var t=e.target?e.target:e.srcElement;
			if(t.nodeType&&t.nodeType==3)t=t.parentNode;
			return t;
		};
		this.advanced=function(){
		//	if(countby_custom.advanced_disable||_self.get_cookie('unpoco'))return;
			var is_download=new RegExp("\\.(7z|aac|avi|cab|csv|dmg|doc(x|m|b)?|exe|flv|gif|gz|jpe?g|js|m4a|mp(3|4|e?g)|mov|msi|ods|pdf|phps|png|ppt(x|m|b)?|rar|rtf|sea|sit|tar|torrent|txt|wma|wmv|xls(x|m|b)?|xml|zip)$","i");
			var is_link=new RegExp("^(https?|ftp|telnet|mailto):","i");
			var is_link_internal=new RegExp("^https?:\/\/(.*)"+location.host.replace(/^www\./i,""),"i");
			var a=document.getElementsByTagName("a");
			for(var i=0;i<a.length;i++){
				if(a[i].className.match(/countby_log/i)){
					if(a[i].className.match(/countby_log_download/i)){
						_self.add_event(a[i],"mousedown",_self.download);
					}else if(a[i].className.match(/countby_log_outbound/i)){
						_self.add_event(a[i],"mousedown",_self.outbound);
					}else{
						_self.add_event(a[i],"mousedown",_self.click);
					}
				}else{
					if(is_link.test(a[i].href)&&!a[i].className.match(/countby_ignore/i)){
						if(is_download.test(a[i].href)){
							_self.add_event(a[i],"mousedown",_self.download);
						}else if(!is_link_internal.test(a[i].href)){
							_self.add_event(a[i],"mousedown",_self.outbound);
						}
					}
				}
			}
		}
	}
	return new function(){
		this.getInstance=function(){
			if(instance==null){
				instance=new _ins();
				instance.constructor=null;
			}
			return instance;
		}
	}
})();
var countby=countby_obj.getInstance();
if(!countby.isset("countby_custom"))countby_custom={};
if(countby.isset("countby_page_title"))countby_custom.title=countby_page_title;
//if(countby.isset("countby_advanced_disable"))countby_custom.advanced_disable=1;
if(countby.isset("countby_pause_timer"))countby_custom.timer=countby_pause_timer;
if(countby.isset("countby_custom_session"))countby_custom.session=countby_custom_session;
if(countby.isset("countby_goal"))countby_custom.goal=countby_goal;
if(countby.isset("async_site_id"))var countby_site_id=async_site_id;
if(countby.isset("countby_site_id")){
	var countby_site_ids=countby_site_ids||[];
	countby_site_ids.push(countby_site_id);
}
if(countby.isset("countby_site_ids")){
	countby_custom.async=1;
	while(countby_site_ids.length)countby.init(countby_site_ids.shift());
}
//function statsgoyes(site_id){
//	countby.init(site_id);
//}
//var videogoyes=countby.video;
