/* All rights reserved (c) 2009 iPlussoft.com */

var http = new ajaxRequest();

function GetResponse(){
document.getElementById('button').value = 'Please wait...';
document.getElementById('button').disabled = true;
document.getElementById('abort').disabled = false;

document.getElementById('ajax').innerHTML = '<div> &nbsp;&nbsp;Solving sudoku. Please wait...<br/><img src="ajax-loader.gif"></div>';

var url = "solve";
var params = 'do=1&n=' + encodeURIComponent(document.getElementById('n').value) + '&sudoku=' + encodeURIComponent(document.getElementById('sudoku').value);

http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");

http.onreadystatechange = function() {//Call a function when the state changes.
	if(http.readyState == 4 && http.status == 200) {
	document.getElementById('ajax').innerHTML = http.responseText;
	document.getElementById('button').value = 'Solve sudoku puzzle';
	document.getElementById('button').disabled = false;
	document.getElementById('abort').disabled = true;
	}
}
http.send(params);
return false;
}

function abortRequest(){
	http.abort();
	document.getElementById('ajax').innerHTML = '&nbsp;';
	document.getElementById('button').value = 'Solve sudoku puzzle';
	document.getElementById('button').disabled = false;
	document.getElementById('abort').disabled = true;
}


function ajaxRequest(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
 if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
    //suppress error
   }
  }
 }
 else if (window.XMLHttpRequest) // if Mozilla, Safari etc
  return new XMLHttpRequest()
 else
  return false
}