/* SVN: $Id: _livetraffic_site.js 2277 2009-05-16 14:27:44Z thunderit $ */
//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+"&_startsession=1";
    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
    }
    var str;
    str = "version=0.4";
    str=str+"&_continuesession=1";
    str=str+"&myid="+myid;
    str=str+"&sid="+Math.random();

    xmlHttp.onreadystatechange=function () 
    {
        // || xmlHttp.readyState=="complete"
        if (xmlHttp.readyState==4)
        {
            if (xmlHttp.responseText) {
            }
            setTimeout('doTrafficKA()',1000);
        }
    }
    xmlHttp.open("POST",thisurl,true);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlHttp.send(str);
}

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);

