    function makereq(url) {
        var myhttp_req = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            myhttp_req = new XMLHttpRequest();
            if (myhttp_req.overrideMimeType) {
                myhttp_req.overrideMimeType('text/plain');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                myhttp_req = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    myhttp_req = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!myhttp_req) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        myhttp_req.onreadystatechange = function() { alertContents(myhttp_req); };
        myhttp_req.open('GET', url, true);
        myhttp_req.send(null);

    }

    function alertContents(myhttp_req) {
        if (myhttp_req.readyState == 4) {
            if (myhttp_req.status == 200){
                if(myhttp_req.responseText=='LOGINOK'){
                 window.location=unescape(window.location.pathname);
                } else if(myhttp_req.responseText=='LOGINFAIL'){
                 alert('Login failed.  Please try again.');
                 document.getElementById('u').focus();
                } else if(myhttp_req.responseText=='FORGOTFAIL'){
                 alert('Recovery failed.  Please try again.');
                 document.getElementById('e').focus();
                } else if(myhttp_req.responseText=='FORGOTOK'){
                 alert('Your account details have been sent to '+document.getElementById('e').value);
                 document.getElementById('e').focus();
                } else if(myhttp_req.responseText=='SUBREG'){
                 alert('Please login or register to use this feature.');
                } else if(myhttp_req.responseText=='SUBFAIL'){
                 alert('Operation failed.');
                } else if(myhttp_req.responseText=='SUBADDOK'){
                 //alert('Feed bookmarked.');
                 document.getElementById('atmf'+fid).style.display='none';
                 document.getElementById('rfmf'+fid).style.display='inline';
                } else if(myhttp_req.responseText=='SUBREMOK'){
                 //alert('Feed removed from bookmarks.');
                 document.getElementById('rfmf'+fid).style.display='none';
                 document.getElementById('atmf'+fid).style.display='inline';
                } else if(myhttp_req.responseText=='SUBREMOKMY'){
                 //alert('Feed removed from bookmarks.');
                 //document.getElementById('rfmf'+fid).style.display='none';
                 //document.getElementById('atmf'+fid).style.display='inline';
                 window.location=unescape(window.location.pathname);            
                } else {
                 // site counter
                 var dat1 = myhttp_req.responseText.split(' ');
                 for ( var key1 in dat1 ) {
                  var dat2 = dat1[key1].split(':');
                  var spanid = dat2[0];
                  var newhtml = dat2[1];
                  document.getElementById(spanid).innerHTML=newhtml;
                 }
                }
            } else {
                alert('There was a problem with the request.');
            }
        }

    }