/* SVN: $Id: ajax_client.js 1702 2008-02-19 19:05:42Z dukemaster $ */
//var xmlHttp;
var thisurl = '/_livetraffic_site.php';
var myid = 0;
var die = 0;

function killTrafficStats()
{
    die = 1;
}

function doTrafficStats()
{
    var xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
        //alert ("Browser does not support HTTP Request")
        return
    }
    var str;
    str = "version=0.4";
    str=str+"&stats_title="+escape(document.title);
    str=str+"&stats_url="+escape((window.decodeURI)?window.decodeURI(document.URL):document.URL);
    str=str+"&stats_referral="+escape((window.decodeURI)?window.decodeURI(document.referrer):document.referrer);
    str=str+"&stats_browser="+escape(navigator.userAgent);
    str=str+"&stats_resolution="+escape(screen.width+'x'+screen.height);
    //
    str=str+"&sid="+Math.random();
    xmlHttp.onreadystatechange=function () 
    {
        if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
        {
            if (xmlHttp.responseText) {
                myid = trim(xmlHttp.responseText);
            }
            setTimeout('doTrafficKA()',1000);
        }
    }
    xmlHttp.open("POST",thisurl,true);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlHttp.send(str);
}

function doTrafficKA()
{
    if (die == 1) { return; }
    var xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
        //alert ("Browser does not support HTTP Request")
        return
    }
    xmlHttp.onreadystatechange=function () 
    {
        if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
        {
            if (xmlHttp.responseText) {
            }
            setTimeout('doTrafficKA()',1000);
        }
    }
    xmlHttp.open("GET",thisurl+'?myid='+myid+'&rnd='+Math.random(),true);
    xmlHttp.send(null);
}

function GetXmlHttpObject()
{ 
    //XMLhttp variable will hold the XMLHttpRequest object
    var xmlhttp = false;            
    // If the user is using Mozilla/Firefox/Safari/etc
    if (window.XMLHttpRequest) {
        //Intiate the object
        xmlhttp = new XMLHttpRequest();
        //Set the mime type
	if (typeof xmlhttp.overrideMimeType != "undefined") {
	    xmlhttp.overrideMimeType('text');
	}
    } else if (window.ActiveXObject) {
        //Intiate the object
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xmlhttp
}

function trim(str)
{
   str = str.replace(/^\s*|\s*$/g,"");
   str = str.replace(/\n/g,"");
   return str;
}

function addListenerz(element, event, listener, bubble) {
    if(element.addEventListener) {
        if(typeof(bubble) == "undefined") bubble = false;
        element.addEventListener(event, listener, bubble);
    } else if(this.attachEvent) {
        element.attachEvent("on" + event, listener);
    }
}

addListenerz(window, "load", doTrafficStats);
addListenerz(window, "beforeunload", killTrafficStats);
addListenerz(window, "unload", killTrafficStats);
