function $(id) { return document.getElementById(id); }
function suggest(event, query) {
	var time = unix_timestamp();
	query = query.replace('/', '');
	if (query.length < 3) {
		setTimeout("$('suggestions').innerHTML = ''; $('suggestions').style.display = 'none';", 500);
		return false;
	}
	try {
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			var response = xmlHttp.responseText;
			var suggestions = response.split(/\n/);
			$('suggestions').innerHTML = '';
			if (!suggestions[0].match('|||')) return false;
			for (i in suggestions) {
				if (parseInt(i) + 1 == suggestions.length) break;
				var suggestion = suggestions[i].split('|||');
				$('suggestions').innerHTML += '<a href="/articles' + suggestion[0] + '" onclick="search_cookie(this.href);">' + suggestion[1] + '</a>';
			}
			$('suggestions').style.display = '';
		}
	}
	var url = '/suggest/' + query;
	xmlHttp.open('GET', url, true);
	setTimeout('try { xmlHttp.send(null) } catch(e) { }', 500);
}
function unix_timestamp() {
	return parseInt(new Date().getTime().toString().substring(0, 10));
}
function search_cookie(url, query) {
	var slug = url.match(/[a-z0-9_-]+$/)[0];
	document.cookie = 'search_slug=' + slug + ';path=/;';
	document.cookie = 'search_string=' + $('query').value + ';path=/;';
}
function search_tips(show, event) {
	if (show) {
		$('search_tips').style.display = 'block';
		$('search_tips').style.left = event.clientX + 'px';
		$('search_tips').style.top = (event.clientY - 145) + 'px';

	} else {
		$('search_tips').style.display = 'none';
	}
	return false;
}