// Send game no. to the backend for retrieval.

function createRequestObject() {
   var request = false;
   try {
     request = new XMLHttpRequest();
   } catch (trymicrosoft) {
     try {
       request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (othermicrosoft) {
       try {
         request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (failed) {
         request = false;
       }
     }
   }

   if (!request)
     alert("Error initializing XMLHttpRequest!");

   return request;
}

var http = false;
var sec;

function sndReq(req, gameno, lvl) {
    var params = 'req='+req+'&gameno='+gameno+'&level='+lvl+'&' + (new Date()).getTime();
    http.open('POST', './loadgame.php', true);
    http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.onreadystatechange = handleResponse;
    http.send(params);
}

function handleResponse() {
    if (http.readyState == 4) {
        var response = http.responseText;
        var update = new Array();
        if (response.indexOf('|') != -1) {
           update = response.split('|');
           document.getElementById('puz' + sec).innerHTML = '    <h4>Game: <input class="text" type="text" name="gameno'+sec+'" defaultValue="'+update[0]+'" value="'+update[0]+'" size="11" maxlength="11">&nbsp;\n<select name="action'+sec+'" onChange="javascript: return getgame(document.form1.action'+sec+'.value, '+sec+', document.form1.gameno'+sec+'.value, document.form1.level.value);"><option value="action">*Action*</option><option value="show">Solution</option><option value="hide">Recall Game</option><option value="new">New Game</option></select></h4>\n'+update[1]+'\n';
        }
    }
}

function getgame(req, section, gameno, lvl) {
     if (!document.getElementById) {
	return false;
     }
     http = createRequestObject();
     if (section < 1 || section > 4 || req == 'action') {
        return false;
     }
     sec = section;
     sndReq(req, gameno, lvl);
     return false;
}
