var xmlhttp;

function InitXmlHttp() {
    // Attempt to create the standard XmlHttpRequest object
    xmlhttp = new XMLHttpRequest();
    
    // Provide the XMLHttpRequest class for IE 5.x-6.x:
    if( typeof xmlhttp == "undefined" )    
        xmlhttp = function() {
          try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch(e) {}
          try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch(e) {}
          try { return new ActiveXObject("Msxml2.XMLHTTP") } catch(e) {}
          try { return new ActiveXObject("Microsoft.XMLHTTP") } catch(e) {}
          throw new Error( "This browser does not support XMLHttpRequest." )
        };

}

// Left in for backwards compatibility
function InvokeASHX(id)
{
    InvokeASHX2(id, 29);
}

function InvokeASHX2(id, src)
{
    var d = new Date();
    if (getCookie(id, src) == null)
    {
        try
        {
            InitXmlHttp();
            xmlhttp.open("GET", "" + "/hitTracker/HitTracker.ashx?ArticleId=" + id + "&SourceId=" + src, true );
            xmlhttp.send(null);
            makeCookie(id,src,true,1);
        }
        catch(e){
        }
    }
}

function makeCookie(name,src,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = src+"-"+name+"="+value+expires+"; path=/";
}

function getCookie(name,src) {
	var nameEQ = src+"-"+name + "=";
	var ca = document.cookie.split(';');
	

	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) {return c.substring(nameEQ.length,c.length);}
	}
	
	return null;
}
