var stats = {
	init:function(site_id) {
		stats.pageview_fired = 0;
		if(typeof(_stats_start) == "number"){
			stats.time = _stats_start;
		} else {
			stats.time = (new Date()).getTime();
		}
		if(document.location.protocol=="https:") {
			stats.domain = "http://pointre.com/";
			stats.secure = 1;
		} else {
			stats.domain = "http://pointre.com/";
			stats.secure = 0;
		}
		stats.base = stats.pingbase = stats.domain +"stats.php?site_id="+ site_id;
		stats.base += "&res="+screen.width+"x"+screen.height+"&lang="+(navigator.language||navigator.browserLanguage||'en').substr(0,2)+"&secure="+stats.secure;
		if(stats_custom.session) {
			for(var i in stats_custom.session) {
				stats.base += "&custom["+stats.enc(i)+"]="+stats.enc(stats_custom.session[i]);
			}
		}
		if(stats_custom.goal) {
			for(var i in stats_custom.goal){
				stats.base += "&goal["+stats.enc(i)+"]="+stats.enc(stats_custom.goal[i]);
			}
		}
		if(stats_custom.async){
			setTimeout(stats.advanced,1000);
		} else {
			stats.add_event(window,'load',stats.advanced);
			stats.add_event(window,'load',stats.loadtimer);
		}
		stats.ref = RegExp("^https?://[^/]*" + location.host.replace(/^www\./i,"") + "/","i").test(document.referrer) ? "" : stats.enc(document.referrer);
	},
	loadtimer:function() {
		stats.time = (new Date()).getTime() - stats.time;
		if(!stats_custom.pageview_disable) {
			stats.pageview();
		}
	},
	pageview:function() {
		if(stats.pageview_fired) {
			return;
		}
		stats.pageview_fired = 1;
		if(location.hash.match(/utm_/i)) {
			var href = location.pathname + (location.search ? location.search +'&' : '?') + location.hash.substr(1);
		} else {
			var href = location.pathname + location.search;
		}
		stats.beacon("&href="+stats.enc(stats_custom.href||href)+"&title="+stats.enc(stats_custom.title||document.title)+"&ref="+stats.ref+"&time="+stats.enc(stats.time));
	},
	log:function(href,title,type) {
		type=type||"click";
		if(type=="pageview") {
			href=href.replace(/^https?:\/\/([^\/]+)/i,"");
		}
		stats.beacon("&type="+type+"&title="+stats.enc(title)+"&href="+stats.enc(href)+"&ref="+stats.ref);
		if(type=="download" || type=="outbound") {
			stats.pause();
		}
	},
	beacon:function(x,ping) {
		var jsuid='';
		if(!stats_custom.no_cookies) {
			jsuid=stats.get_cookie('_jsuid');
			if(!jsuid) {
				stats.set_cookie('_jsuid',stats.randy());
				jsuid=stats.get_cookie('_jsuid');
			}
		}
		var s = document.createElement('script');
		s.type = 'text/javascript';
		s.async = true;
		s.src = (ping?stats.pingbase:stats.base) + x +'&jsuid='+ jsuid +'&mime=js&x='+ Math.random();
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);
		stats.ref = "";
		stats.ping_start();
	},
	ping:function(){
		stats.beacon("&type=ping",1);
	},
	ping_set:function(interval,stop) {
		if(!interval||!stop) {
			return;
		}
		var pingy=setInterval(stats.ping,interval*1000);
		setTimeout("clearInterval("+pingy+")",stop*1000);
		stats.ping();
	},
	ping_start:function() {
		if(stats.pinging || stats_custom.ping_disable) {
			return;
		}
		stats.pinging = 1;
		var last_timeout = (stats_custom.timeout&&stats_custom.timeout>=5&&stats_custom.timeout<=240) ? ((stats_custom.timeout-1)*60) + 5 : 605;
		setTimeout("stats.ping()",30*1000);
		setTimeout("stats.ping_set(80,"+last_timeout+")",60*1000);
	},
	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'';
	},
	set_cookie:function(name,value) {
		var ex = new Date;
		ex.setTime(ex.getTime() + 20 * 365 * 86400 * 1000);
		document.cookie = name +"="+ value +";expires="+ ex.toGMTString() +";path=/;domain=."+ location.hostname.replace(/^www\./i,"") +";";
	},
	randy:function() {
		var r=0, s="", c="0123456789";
		for(var i=0,l=c.length;i<19;i++) {
			r = Math.floor(Math.random() * l);
			s += c.substring(r, r+1);
		}
		return s.replace(/^0+/,"");
	},
	pause:function(x) {
		var now=new Date();
		var stop=now.getTime()+(x||stats_custom.timer||500);
		while(now.getTime()<stop) {
			var now=new Date();
		}
	},
	isset:function(e) {
		return(typeof(window[e])!="undefined");
	},
	enc:function(e) {
		return window.encodeURIComponent ? encodeURIComponent(e) : escape(e);
	},
	goal:function(id,revenue) {
		stats.beacon("&type=goal&goal[id]="+id+"&goal[revenue]="+revenue);
	},
	add_event:function(e,type,func) {
		if(e.addEventListener) {
			e.addEventListener(type,func,false);
		}else if(e.attachEvent) {
			e.attachEvent("on"+type,func);
		}
	},
	download:function(e) {
		stats.img_src(e,"download");
	},
	outbound:function(e) {
		stats.img_src(e,"outbound");
	},
	click:function(e) {
		stats.img_src(e,"click");
	},
	img_src:function(e,type) {
		obj = stats.get_target(e);
		stats.log(stats.get_href(obj),stats.get_text(obj),type);
	},
	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 = stats.get_parent(e);
		} while(e);
		return "";
	},
	get_href:function(e) {
		do {
			if(e.href&&!e.src) {
				return e.href;
			}
			e = stats.get_parent(e);
		} while(e);
		return "";
	},
	get_parent:function(e) {
		return e.parentElement || e.parentNode;
	},
	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;
	},
	advanced:function() {
		if(stats_custom.advanced_disable) {
			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(/stats_log/i)) {
				if(a[i].className.match(/stats_log_download/i)){
					stats.add_event(a[i],"mousedown",stats.download);
				}else if(a[i].className.match(/stats_log_outbound/i)){
					stats.add_event(a[i],"mousedown",stats.outbound);
				}else{
					stats.add_event(a[i],"mousedown",stats.click);
				}
			}else{
				if(is_link.test(a[i].href) && !a[i].className.match(/stats_ignore/i)){
					if(is_download.test(a[i].href)){
						stats.add_event(a[i],"mousedown",stats.download);
					}else if(!is_link_internal.test(a[i].href)){
						stats.add_event(a[i],"mousedown",stats.outbound);
					}
				}
			}
		}
	}
};

if(!stats.isset("stats_custom")) {
	stats_custom={};
}
if(stats.isset("stats_page_title")) {
	stats_custom.title=stats_page_title;
}
if(stats.isset("stats_advanced_disable")) {
	stats_custom.advanced_disable=1;
}
if(stats.isset("stats_pause_timer")) {
	stats_custom.timer=stats_pause_timer;
}
if(stats.isset("stats_custom_session")) {
	stats_custom.session=stats_custom_session;
}
if(stats.isset("stats_goal")) {
	stats_custom.goal = stats_goal;
}
if(stats.isset("async_site_id")) {
	var stats_site_id = async_site_id;
}
if(stats.isset("stats_site_id")){
	stats_custom.async=1;
	stats.init(stats_site_id);
}
function statsgoyes(site_id){
	stats.init(site_id);
}