/* This example is from the book _Ajax: The Definitive Guide_ by Anthony T. Holdener III.
 * Written by Anthony T. Holdener III.  Copyright (C) 2008 O'Reilly Media, Inc.
 * You may study, use, modify, and distribute this example for any purpose.
 * This example is provided WITHOUT WARRANTY either expressed or implied.
 */
/*
 * Example 4-1, Creating the XMLHttpRequest object.
 */
/**
 * This function, createXMLHttpRequest, checks to see what objects the
 * browser supports in order to create the right kind of XMLHttpRequest
 * type object to return.
 *
 * @return Returns an XMLHttpRequest type object or false.
 * @type Object | Boolean
 */
function createXMLHttpRequest( ) {
   var request = false;

   /* Does this browser support the XMLHttpRequest object? */
   if (window.XMLHttpRequest) {
      if (typeof XMLHttpRequest != 'undefined')
         /* Try to create a new XMLHttpRequest object */
         try {
            request = new XMLHttpRequest( );
         } catch (e) {
            request = false;
         }
   /* Does this browser support ActiveX objects? */
   } else if (window.ActiveXObject) {
      /* Try to create a new ActiveX XMLHTTP object */
      try {
         request = new ActiveXObject('Msxml2.XMLHTTP');
      } catch(e) {
         try {
            request = new ActiveXObject('Microsoft.XMLHTTP');
         } catch (e) {
            request = false;
         }
      }
   }
   return request;
}

var request = createXMLHttpRequest( );

function parseResponse()
{   ///alert("in parseResponse");
}

if (request)
{   
    toppage = (location.pathname.indexOf("home") == -1) ? 1: 0;
    ///alert("location:" + location + " top?" + toppage);
    
    path = toppage ? "js/hitcount.php": "../js/hitcount.php";

    request.open('POST', path, true);
    request.onreadystatechange = parseResponse;
    request.send('first=wow');
}
else
    alert("Request not created");
