//server request to get scores
function getScores()
{
     var myurl = 'get_solitaire_scores.php';
     myRand = parseInt(Math.random() * 99999999999999);
     //avoid cache problems
     var modurl = myurl+"?rand="+myRand;

     myRequest.open("GET", modurl, true);

     //set up callback function 
     myRequest.onreadystatechange = useHttpResponse;
     myRequest.send(null);
}

function onLoadEvent()
{
    getScores();
    getMessages();
}

//server request to get messages
function getMessages()
{
     var myurl = 'get_solitaire_messages.php';
     myRand = parseInt(Math.random() * 99999999999999);
     //add random number to url to avoid cache problems
     var modurl = myurl+"?rand="+myRand;

     myRequest3.open("GET", modurl, true);

     //set up callback function 
     myRequest3.onreadystatechange = useHttpResponse3;
     myRequest3.send(null);
}

//server request to post a score
function postScore()
{
     var myurl = 'put_solitaire_score.php';
     time = document.ksApplet.getTime();
     score = document.ksApplet.getScore();
     scoringsystem = document.ksApplet.getScoringSystem();
     gameWon = document.ksApplet.gameWon();

     screenname = document.forms.myForm.screenname.value;
     
  if(!gameWon)
  {
      alert("Sorry, but you must win the game in order to post a score.");
  }
  else
  {
     if (time!="99:99" && score>0)
     {
             if (screenname == null || screenname.length<5 || screenname.length > 10)
             {
                 alert("Screenname must be 5 to 10 characters long.");
             }
             else
             {
                myRand = parseInt(Math.random() * 99999999999999);
                //avoid cache problems
                var modurl = myurl+'?&screenname='+screenname+'&time='+time+'&score='+score+'&scoringsystem='+scoringsystem+'&rand='+myRand;
                myRequest2.open("GET", modurl, true);
                //callback function 
                myRequest2.onreadystatechange = useHttpResponse1;
                myRequest2.send(null);
             }
     }
  }
}


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;
}

//server request to post a message
function sendMessage()
{
     var myurl = 'put_solitaire_message.php';

     chatname = document.forms.msgForm.chatname.value;
     message = document.forms.msgForm.message.value;
     if (message.length==0)
     {
         alert("Message is empty");
     }
     else
     {
             if (chatname == null || chatname.length<5 || chatname.length>10)
             {
                 alert("Chatname must be 5 to 10 characters long.  Please try again.");
             }
             else
             {
                myRand = parseInt(Math.random() * 99999999999999);
                //add random number to url to avoid cache problems
                var modurl = myurl+'?&chatname='+chatname+'&message='+message+'&rand='+myRand;
                myRequest4.open("GET", modurl, true);
                //set up callback function 
                myRequest4.onreadystatechange = useHttpResponse4;
                myRequest4.send(null);
             }
     }
}

   //scores
   var myRequest  = getXMLHTTPRequest();
   var myRequest2 = getXMLHTTPRequest();
   //messages
   var myRequest3 = getXMLHTTPRequest();
   var myRequest4 = 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");
   }
}


//callback function
function useHttpResponse3()
{
   if (myRequest3.readyState == 4)
   {
       if (myRequest3.status ==200)
       {
          var mytext = myRequest3.responseText;
          document.getElementById('myMessages').innerHTML = mytext;
       }
   }
   else
   {
       document.getElementById('myMessages').innerHTML = "";
   }
}

//callback function for posting data
function useHttpResponse4()
{
   if (myRequest4.readyState == 4)
   {
       if (myRequest4.status ==200)
       {
              //now re-display the messages
              getMessages();
       }
   }
   else
   {
       //alert("failed");
   }
}
