//27.js


var checkInterval = setInterval("checkMessages('update.php')", 2000);

function getXMLHTTPRequest() {
	try {request = new XMLHttpRequest();} catch(err0) { alert(err0);
		try {request = new ActiveXObject("Msm12.XMLHTTP");} catch(err1) { alert(err1);
			try {request = new ActiveXObject("Microsoft.XMLHTTP");} catch(err2) { alert(err2);
				request = false;
			}
		}
	}
	return request;
}

var checkRequest = getXMLHTTPRequest();
var checkRequest2 = getXMLHTTPRequest();
var useRequest = getXMLHTTPRequest();
var invRequest = getXMLHTTPRequest();
var movRequest = getXMLHTTPRequest();

function checkMessages2(url) {
	randNum=parseInt(Math.random()*9999999);
	checkRequest2.open("GET", url + "?rand=" + randNum, true);
	checkRequest2.onreadystatechange = checkMessagesAjax2;
	checkRequest2.send(null);
}

function checkMessagesAjax2() {
	if(checkRequest2.readyState == 4) {
		if(checkRequest2.status == 200) {
			message=checkRequest2.responseText;
			if(message.length > 5){
				var message_array=message.split(" ***** ");
				messagesFiltered = processQuotes(message_array[0],2);
				document.getElementById('messageList').innerHTML=messagesFiltered;
				document.getElementById('alsoHere').innerHTML=message_array[1];
				document.getElementById('roomDesc').innerHTML=message_array[2];
			}
		} else {
//			alert("Error :" + checkRequest2.statusTest);
		}
	}
}

function checkMessages(url) {
	randNum=parseInt(Math.random()*9999999);
	checkRequest.open("GET", url + "?rand=" + randNum, true);
	checkRequest.onreadystatechange = checkMessagesAjax;
	checkRequest.send(null);
}

function checkMessagesAjax() {
	if(checkRequest.readyState == 4) {
		if(checkRequest.status == 200) {
			message=checkRequest.responseText;
			var message_array=message.split(" ***** ");
			messagesFiltered = processQuotes(message_array[0],2);
			document.getElementById('messageList').innerHTML=messagesFiltered;
			document.getElementById('alsoHere').innerHTML=message_array[1];
			document.getElementById('roomDesc').innerHTML=message_array[2];
		} else {
//			alert("Error :" + checkRequest.statusTest);
		}
	}
}

function useObject(target) {
	url="conduct.php";
	randNum=parseInt(Math.random()*9999999);
	useRequest.open("GET", url + "?object=" + target + "&rand=" + randNum, true);
	useRequest.onreadystatechange = useObjectAjax;
	useRequest.send(null);
}

function useObjectAjax() {
	if(useRequest.readyState == 4) {
		if(useRequest.status == 200) {
			checkMessages2('update.php');
			clearPrompt();
			
		} else {
//			alert("Error :" + useRequest.statusTest);
		}
	}
}

function getInventory() {
	url="inventory.php";
	randNum=parseInt(Math.random()*9999999);
	invRequest.open("GET", url + "?rand=" + randNum, true);
	invRequest.onreadystatechange = invAjax;
	invRequest.send(null);
}

function invAjax() {
	if(invRequest.readyState == 4) {
		if(invRequest.status == 200) {
			txtPrompt(invRequest.responseText);
		} else {
//			alert("Error :" + invRequest.statusTest);
		}
	}
}

function move(where) {
	//should probably make this security better later, to remove the
	//possibility of teleportation
	url="move.php";
	randNum=parseInt(Math.random()*9999999);
	movRequest.open("GET", url + "?n=" + where + "&rand=" + randNum, true);
	movRequest.onreadystatechange = movAjax;
	movRequest.send(null);
}

function movAjax() {
	if(movRequest.readyState == 4) {
		if(movRequest.status == 200) {
			message=movRequest.responseText;
			clearPrompt();
			var message_array=message.split(" ***** ");
			messagesFiltered = processQuotes(message_array[0],2);
			document.getElementById('messageList').innerHTML=message_array[2];
			document.getElementById('roomDesc').innerHTML=messagesFiltered;
			document.getElementById('alsoHere').innerHTML=message_array[1];
			document.getElementById('messageList').innerHTML=message_array[2];
			clearPrompt();
			messagesFiltered = processQuotes(message_array[0],2);
			document.getElementById('messageList').innerHTML=message_array[2];
			document.getElementById('roomDesc').innerHTML=messagesFiltered;
			document.getElementById('alsoHere').innerHTML=message_array[1];
			document.getElementById('messageList').innerHTML=message_array[2];
			clearPrompt();
			clearPrompt();
			clearPrompt();
			checkMessages('update.php');

		} else {
			alert("Error :" + movRequest.statusTest);
		}
	}
}

function processQuotes(filterString,type) {
	if(type==1){ qChar = "~"; }
	if(type==2){ qChar = "`"; }
	var intIndexOfMatch = filterString.indexOf(qChar);
	while (intIndexOfMatch != -1){
		filterString = filterString.replace(qChar,"'")
		intIndexOfMatch = filterString.indexOf(qChar);
	}
	return filterString;
}


function promptOver() {
	document.getElementById('xboxx').style.color="#FFF";
	document.getElementById('xboxx').style.backgroundColor="#222";
	document.getElementById('xboxx').style.border="1px solid #333";
}

function promptOut() {
	document.getElementById('xboxx').style.color="#999";
	document.getElementById('xboxx').style.backgroundColor="#111";
	document.getElementById('xboxx').style.border="1px solid #222";
}

function clearPrompt() {
	document.getElementById('prompt').style.display="none";
}

function txtPrompt(message) {
    document.getElementById('promptContent').innerHTML=message;
    document.getElementById("prompt").style.display="inline";
}

function vectors(v) {
	if(v=='inventory'){getInventory();} 
	else if(v=='status'){checkMessages('update.php');}
	else if(v=='speak') {
		txtPrompt('Say what?<br/><br/><FORM NAME="speakForm" ACTION="index.php?action=speak" METHOD="POST"><INPUT TYPE="textarea" rows="5" cols="30" name="speak" id="speakBox"><br/><br/><INPUT TYPE="SUBMIT" VALUE="speak"></FORM>');				
		document.getElementById("speakBox").focus();
	}
	else {
		v=processQuotes(v,1);
		txtPrompt(v);	
		if(document.getElementById("speakBox")){
			document.getElementById("speakBox").focus();		
		}
	}
}




