


function getObjectValue(tmpObj){
	if(!tmpObj)return "";
	return tmpObj.value;
}

var noGo = false;
var xmlHttp;
var requestTimer;
var xpos;
var ypos;
var gcommand;
var stuck=0;		



function getCatWisdom(n){

	if (stuck==0){
		stuck=n;
		}
	if (stuck!=n)return;
  	try{    // Firefox, Opera 8.0+, Safari    
		xmlHttp=new XMLHttpRequest();    
		}
  	catch (e){    // Internet Explorer    
		try{      
		 	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
			}
    	catch (e){      
		 	try{        
			  	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
				}
      		catch (e){        
			   	if (noGo == false){
					alert("Your browser does not support our technology and we cannot continue. Updating to a newer browser version may resolve this.");        
					noGo = true;
				}
				return;        
				}      
			}    
		}
		var url = "catcode.php";
		var query = getObjectValue(document.getElementById("outQuery"));
		var sid = Math.random;
		var data;
		data += "&query=";
		data += query;
		xmlHttp.open("POST",url,true);		
		xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.send(data);
 		requestTimer = setTimeout('noResponse()',3000);
}

function noResponse() {
       	xmlHttp.abort();
       	document.getElementById("respStatus").innerHTML="Retry"
       	// Handle timeout situation, e.g. Retry or inform user.
		getCatWisdom();
     };


function stateChanged() 
{ 
	 switch (xmlHttp.readyState){
		case 4:
			//alert(xmlHttp.responseText);
			clearTimeout(requestTimer);
			stuck=0;
			var tStr = xmlHttp.responseText;
			document.getElementById("textbox").innerHTML=tStr;
			document.getElementById("respStatus").innerHTML="ok";
			break;
		case 1:
			document.getElementById("respStatus").innerHTML="Request set up";	
			break;	
		case 2:
			document.getElementById("respStatus").innerHTML="Request sent";		
			break;
		case 3:
			document.getElementById("respStatus").innerHTML="Request in process";		
			break;

		}
//	else alert("AJAX ERROR:"+xmlHttp.readyState);
}



