function $(id) { return document.getElementById(id); }

function ajax_sender() {
	if (this.request == '') {
		this.request = 'sid='+Math.floor(Math.random()*9999999999);
	} else {
		this.request = this.request + '&sid='+Math.floor(Math.random()*9999999999);
	}
	this.xmlHttp.open('POST', this.page, true);
	var xmlHttpObject = this.xmlHttp;
	xmlHttpObject.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	xmlHttpObject.setRequestHeader('Content-length', this.request.length);
	xmlHttpObject.setRequestHeader('Connection', 'close');
	var element = this.element;
	var type = this.type;
	var status_start = this.status_start;
	var status_finish = this.status_finish;

	try {
		eval(status_start);
	} catch(e) { }

	if (element != '' || type == 'alert' || type == '' || type == 'eval') {
		this.xmlHttp.onreadystatechange = function() {
			if (xmlHttpObject.readyState == 4) {
				switch (type) {
					case 'alert': {
						alert(xmlHttpObject.responseText);
						break;
					}
					case 'div': {
						$(element).innerHTML = xmlHttpObject.responseText;
						break;
					}
					case 'eval': {
						eval(xmlHttpObject.responseText);
						break;
					}
					case '': {
						// do nothing
						break;
					}
				}
				try {
					eval(status_finish);
				} catch(e) { }
			}
		};
	}
	this.xmlHttp.send(this.request);
}

function ajax(page, request, type, element, status_start, status_finish) {
	if (arguments.length < 2) {
		return;
	}
	this.element = element;
	this.page = page;
	this.type = type;
	if (request == null) {
		this.request = '';
	} else {
		this.request = request;
	}
	this.status_start = status_start;
	this.status_finish = status_finish;
	try {
		this.xmlHttp = new XMLHttpRequest();
	} catch (e) {
		try {
			this.xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
		} catch (e) {
			try {
				this.xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
			} catch (e) {
				alert('Your browser does not support AJAX!');
				return false;
			}
		}
	}
	this.send = ajax_sender;
	this.send();
}

function handleKeyPress(e){
	var key = e.keyCode || e.which;
	if (key == 13){
		checkpr();
	}
}

function checkpr() {
	try { _gaq.push(['_trackPageview', '/search/'+$('q').value]); } catch(e) { }
	$('results').style.display = 'block';
	page = 'checkpr.php';
	type = 'div';
	for (i = 0; i < parseInt($('c').value); i++) {
		request = '&q='+$('q').value+'&s='+i+'&token='+$('token').value;
		element = 'server_'+i;
		status_start = 'checkpr_start(element)';
		status_finish = 'checkpr_finish(element)';
		ajax(page, request, type, element, status_start, status_finish);
	}
}

function checkpr_start(id) {
	$(id).innerHTML = '-';
}
function checkpr_finish(id) {
	
}

