var http = new Array(4);
var mt, rt, ra, wc, t;

function initDisplay(){
	updateCount();
	ppDisplay(1);
	ppDisplay(7);
	ppDisplay(9);
}

function checkReturn(e){
	if(!document.getElementById("thinkinput").value.length)return;
	cTiv();

	var keyNum;
	if(window.event){
		keyNum = e.keyCode;
	}
	else if(e.which){
		keyNum = e.which;
	}
	if(keyNum == 13){
		callEvent(0);
		return;
	}
}

function cTiv(){
	var ti = document.getElementById("thinkinput").value.toLowerCase();
	var idx = document.getElementById("thinkinput").value.length - 1;
	if(ti.charCodeAt(idx) < 97 || ti.charCodeAt(idx) > 122){
		 document.getElementById("thinkinput").value = document.getElementById("thinkinput").value.substr(0,idx);
	}
}

function cTivf(){
	if(document.getElementById("thinkinput").value == "feed us a word please"){
		document.getElementById("thinkinput").value = "";
	}
}

function callEvent(eventID){
	if (navigator.appName == "Microsoft Internet Explorer")http[eventID] = new ActiveXObject("Microsoft.XMLHTTP"); 
		else http[eventID] = new XMLHttpRequest();

	switch(eventID){

		case 0:{ /* on submit */
			document.getElementById("tiResponse").innerHTML = "feeding word, waiting for response...";
			http[0].open("get", "twQuery.php?word=" + escape(document.getElementById("thinkinput").value));
			http[0].onreadystatechange = handleQuery;
			document.getElementById("thinkinput").value = "";
		}break;

		case 1:{ /* on most thought display change */
			http[1].open("get", "twDisplay.php?mt=" + mt);
			http[1].onreadystatechange = handlemt;
		}break;

		case 2:{ /* on recently thought display change */
			http[2].open("get", "twDisplay.php?rt=" + rt);
			http[2].onreadystatechange = handlert;
		}break;

		case 3:{ /* on recently added display change */
			http[3].open("get", "twDisplay.php?ra=" + ra);
			http[3].onreadystatechange = handlera;
		}break;
	}
	http[eventID].send(null);
}

function handleQuery(){
	if (http[0].readyState == 4) {
		var response = http[0].responseText;
		if (response && response!= "") document.getElementById("tiResponse").innerHTML = response;
	}
}

function handlemt(){
	if (http[1].readyState == 4) {
		var response = http[1].responseText;
		if (response && response!= "") document.getElementById("mt").innerHTML = response;
	}
}

function handlert(){
	if (http[2].readyState == 4) {
		var response = http[2].responseText;
		if (response && response!= "") document.getElementById("rt").innerHTML = response;
	}
}

function handlera(){
	if (http[3].readyState == 4) {
		var response = http[3].responseText;
		if (response && response!= "") document.getElementById("ra").innerHTML = response;
	}
}

function handletw(){
	if (http[4].readyState == 4) {
		var response = http[4].responseText;
		if(document.getElementById("ccWord").innerHTML == response)return;
		if (response && response!= "") document.getElementById("ccWord").innerHTML = response;
	}
}

function updateCount(){
	if (navigator.appName == "Microsoft Internet Explorer")http[4] = new ActiveXObject("Microsoft.XMLHTTP"); 
		else http[4] = new XMLHttpRequest();
	http[4].open("get", "twDisplay.php?tw=1");
	http[4].onreadystatechange = handletw;
	http[4].send(null);
	t=setTimeout("updateCount()",1000);
}

function ppDisplay(displayID){
	var eventID = Math.floor(displayID / 4) + 1;
	var dispNum = displayID % 4;
	var st = displayID - dispNum;
	dispNum *= 20;
	switch(eventID){
		case 1:
			document.getElementById("mt").innerHTML = "";
			mt = dispNum;
			break;
		case 2:
			document.getElementById("rt").innerHTML = "";
			rt = dispNum;
			break;
		case 3:
			document.getElementById("ra").innerHTML = "";
			ra = dispNum;
			break;
	}
	for(var i = 0; i <= 3; i++){
		document.getElementById("dn" + (st + i)).style.fontWeight = "normal";
	}
	document.getElementById("dn" + displayID).style.fontWeight = "bold";
	callEvent(eventID);
}
