
//Ajax code
//Pantomimepony 
// 03/Nov/09

var noGo = false;
var xmlHttp;
var requestTimer;
var app;
 		




function getInsult(str){

  	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("The technology that runs this site will not work on your browser.");        
					noGo = true;
				}
				return;        
				}      
			}    
		}
		var url = "insultEngine.php";
		var sid = Math.random;
		var data;
		data += "&app=";
		data += str;
		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.
		getInsult(app);
     };


function stateChanged() 
{ 
	 switch (xmlHttp.readyState){
		case 4:
			//alert(xmlHttp.responseText);
			clearTimeout(requestTimer);
			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);
}
