function ajax(url, vars, callbackFunction) {
   var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");
   request.open("POST", url, true);
   request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

   request.onreadystatechange = function(){

      if (request.readyState == 4) {
		  if(request.status == 200 && request.responseText) {
	         callbackFunction(request.responseText);
      	  } else {
			alert("There was error with the previous request.");
		  }
      }
   };
   request.send(vars);
}

function suggestSearch(term, type) {
	if(term != "") {
		ajax("ajaxResponses.php", "search=" + term + "&type=" + type, suggestSearchResponse);
	} else {
		var suggest = document.getElementById("search");
		suggest.innerHTML = "";
		suggest.style.visibility = "hidden";
	}
}

function suggestSearchResponse(response) {

	var suggest = document.getElementById("search");
	if(response != 0) {
		suggest.innerHTML = response;
		suggest.style.top= "500px";
		suggest.style.left="400px";
		suggest.style.visibility = "visible";
	} else {
		suggest.innerHTML = "";
		suggest.style.visibility = "hidden";
	}

}

function popup(url) {
newpopup = window.open(url, 'help', 'width=400,height=200,scrollbars=yes');
if(window.focus) {
	newpopup.focus();
}
return false;
}

function hidePOGSearch() {
	document.getElementById("pogsearch").style.display='none';
	document.getElementById("explocal").style.display='none';
}

function showPOGSearch() {
	document.getElementById("pogsearch").style.display='inline';
	document.getElementById("explocal").style.display='inline';
}

function getJSON(json) {
	// Found this regex at http://www.thescripts.com/forum/thread439754.html
	// It verifies that is is a safe json object
	if(json.match(/^(\s|[,:{}\[\]]|"(\\["\\bfnrtu]|[^\x00-\x1f"\\])*"|-?\d+(\.\d*)?([eE][+-]?\d+)?|true|false|null)+$/)) {
		return eval('(' + json + ')');
	}
	alert(json);
	return 0;
}
