function MM_swapImgRestore() {
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function closeButton() {
	if(document.getElementById('iText').value != "") {
		document.getElementById('clear').style.display = 'inline';
		document.getElementById('iText').style.paddingRight = '25px';
	}
	if(document.getElementById('iText').value == "") {
		document.getElementById('clear').style.display = 'none';
		document.getElementById('iText').style.paddingRight = '43px';
	}
}

function cleariText() {
	document.getElementById('iText').value = '';
	document.getElementById('clear').style.display = 'none';
	document.getElementById('iText').style.paddingRight = '43px';
	document.getElementById('iText').focus();
}

function checkCR(evt) {
 	var question1 = document.getElementById('iText').value;
    var evt  = (evt) ? evt : ((event) ? event : null);

    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);

    if ((evt.keyCode == 13) && (node.type=="text")) {
	handleInput(question1);
	}else if ((evt.keyCode == 13) && (node.type=="file")) {
	handleInput(question1);
  }}
  document.onkeypress = checkCR;

function changeSize() {
	hideDiv();
	if (typeof window.innerWidth != 'undefined')
	{
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	}
	else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
	{
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	} else {
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
	var boxwidth = parseInt(viewportwidth)*0.525;
	var boxwidth2 = parseInt(boxwidth)+78.5;
	document.getElementById('iText').style.width = boxwidth+ 'px';
	document.getElementById('suggestions').style.width = boxwidth2 + 'px';
}

function deselectText(iText, text, color) {
	if (iText.value=="") {
		iText.value = text;
	}
	iText.style.color = color;
}

function selectText(iText, text, color) {
	if (iText.value==text) {
		iText.value = "";
	}
	iText.style.color = color;
}

function getList() {
	return document.getElementById("suggestions").getElementsByTagName("li");
}

function getXmlHttpObject() {
	var xmlHttp = null;
	try {
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function handleInput(userInput) {
	var theEvent = window.event;
	if (userInput.length == 0) {
		emptySuggestions();
		return;
	}
	xmlHttp = getXmlHttpObject();
	if (xmlHttp == null) {
		alert("The internet browser you're using doesn't support Voke. Please update to a newer version.");
		return;
	}
	var url = "answer.php?query=" + userInput;
	var url = url.replace(/\+/g, "%2b");
	
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open('GET', url, true);
	xmlHttp.send(null);
}

function setInputText(li) {
	var list = getList();
	if(li >= 0) {
		document.getElementById("inputText").value = list[li].innerHTML.substring(6);
	}
	else {
		document.getElementById("inputText").value = list[currentlySelectedLi].innerHTML.substring(6);
	}
}

function hideDiv() {
if (document.getElementById) {
document.getElementById('loading').style.visibility = 'hidden';
}
else {
if (document.layers) {
document.loading.visibility = 'hidden';
}
else {
document.all.loading.style.visibility = 'hidden';
}
}
}

function showDiv() {
if (document.getElementById) {
document.getElementById('loading').style.visibility = 'visible';
}
else {
if (document.layers) {
document.loading.visibility = 'visible';
}
else {
document.all.loading.style.visibility = 'visible';
}
}
}

function hideDiv2() { 
if (document.getElementById) { // DOM3 = IE5, NS6 
document.getElementById('hideshow').style.visibility = 'hidden'; 
} 
else { 
if (document.layers) { // Netscape 4 
document.hideshow.visibility = 'hidden'; 
} 
else { // IE 4 
document.all.hideshow.style.visibility = 'hidden'; 
} 
} 
}

function showDiv2() { 
if (document.getElementById) { // DOM3 = IE5, NS6 
document.getElementById('hideshow').style.visibility = 'visible'; 
} 
else { 
if (document.layers) { // Netscape 4 
document.hideshow.visibility = 'visible'; 
} 
else { // IE 4 
document.all.hideshow.style.visibility = 'visible'; 
} 
} 
}

function askNoSubmit(question) {
	document.getElementById('iText').focus();
	document.getElementById('iText').value=question;
	document.getElementById('clear').style.display = 'inline';
	document.getElementById('iText').style.paddingRight = '25px';
}

function askAndSubmit(question) {
	document.getElementById('iText').focus();
	document.getElementById('iText').value=question;
	document.getElementById('clear').style.display = 'inline';
	document.getElementById('iText').style.paddingRight = '25px';
	handleInput(document.getElementById('iText').value);
}

function stateChanged() {
	showDiv();
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
                var sugDiv = document.getElementById("suggestions");
		suggestionsShown = true;
		var split = xmlHttp.responseText.split("new2theline");
		var suggestionList = "";
		if(split[0] != "") {
			for(var i = 0; i < split.length; i++) {
				suggestionList += "<li value='" + i + "' class=\"li\" id=\"li\" onmouseover=\"newCurrentLi(this.value);\" onclick=\"handleClick('" + escape(split[i]) + "');\">" + split[i].substr(0, 1024) + "</li>";
				sugDiv.innerHTML = suggestionList;
			}
			if(suggestionList != "") {
				suggestionList = "<ul class=\"ul\" id=\"ul\">" + suggestionList;
				suggestionList += "</ul>";
				sugDiv.innerHTML = suggestionList;
			}
		    sugDiv.innerHTML = suggestionList;
		    sugDiv.style.display = 'block';
			sugDiv.style.zIndex = '-1';
			hideDiv();
		} else {
		    sugDiv.style.display = 'none';
		}
	}
}