//server request to get scores
function getScores()
{
     var myurl = 'get_spider_scores.php';
     myRand = parseInt(Math.random() * 99999999999999);
     //add random number to url to avoid cache problems
     var modurl = myurl+"?rand="+myRand;

     myRequest.open("GET", modurl, true);

     //set up callback function 
     myRequest.onreadystatechange = useHttpResponse;
     myRequest.send(null);
}

//server request to post a score
function postScore()
{
     var myurl = 'put_spider_score.php';
     score = document.spApplet.getFinalScore();
     isGameWon = document.spApplet.gameWon();

     screenname = document.forms.myForm.screenname.value;

     if (!isGameWon)
     {
          alert("Sorry, you must win the game to post a score.");
          return;
     }

     if (screenname == null || screenname.length==0)
     {
         alert("Please log in.  You must be logged in to post your scores.");
         return;
     }

     if (score==0)
     {
         alert("Score must be greater than 0 to post.");
         return;
     }
     
     if (screenname != null && screenname.length >0 && score >0)
     {
           myRand = parseInt(Math.random() * 99999999999999);
           //add random number to url to avoid cache problems
           var modurl = myurl;
           myRequest2.open("POST", modurl, true);
           //set up callback function 
           myRequest2.onreadystatechange = useHttpResponse1;
           myRequest2.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
           myRequest2.send('screenname='+screenname+'&score='+score);
     }
}

function getXMLHTTPRequest()
{
   var req = false;
   try
   {
       req = new XMLHttpRequest();
   }
   catch (err1)
   {
        try
        {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (err2)
        {
            try
            {
                 req = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (err3)
            {
                 req = false;
            }
        }
    }       
    return req;
}

   var myRequest = getXMLHTTPRequest();
   var myRequest2 = getXMLHTTPRequest();


//callback function
function useHttpResponse()
{
   if (myRequest.readyState == 4)
   {
       if (myRequest.status ==200)
       {
          var mytext = myRequest.responseText;
          document.getElementById('myPageElement').innerHTML = mytext;
       }
   }
   else
   {
       document.getElementById('myPageElement').innerHTML = "";
   }
}

//callback function for posting data
function useHttpResponse1()
{
   if (myRequest2.readyState == 4)
   {
       if (myRequest2.status ==200)
       {
                //now re-display the scores
                getScores();
       }
   }
   else
   {
       //alert("failed");
   }
}
