var curBlogSet=0;
var curFilter='all';
var oldUrl;

function setBlog()
{
	setBlogButtons(loading());
	var xmlhttp=newXMLHTTPRequest();
	xmlhttp.onreadystatechange=function()
		{
			if (xmlhttp.readyState==4 && xmlhttp.status==200)
			{
				if(xmlhttp.responseText.substring(0,5)=='ERROR')
					alert("AJAX Error:\n"+xmlhttp.responseText.substring(6));
				else
					gotBlog(xmlhttp.responseText);
			}
		}
	xmlhttp.open("GET",rootDir+"/theme/"+theme+"/script/ajax.php?action=blog&start="+curBlogSet+"&filter="+curFilter,true);
	xmlhttp.send(null);
}

function gotBlog(data)
{
	var dataArray=data.split("\n");
	var metaData=(dataArray[0]).split(",");
	var numSnippets=metaData[5]*1;
	
	var blogDataArray,postUrl,postTitle,snippet;
	var html="";
	var ix=1;
	for(var i=0;i<numSnippets;i++)
	{
		blogDataArray=dataArray[ix++].split(" ");
		postUrl=blogDataArray[0];
		postTitle=dataArray[ix++];
		niceDate=dataArray[ix++];
		snippet=dataArray[ix++];
		for(var nextLine=dataArray[ix++];nextLine!="";nextLine=dataArray[ix++])
			snippet+="\n"+nextLine;
		html+="<div class='entry'><a href='"+rootDir+"/blog/"+postUrl+"/' class='smalltitle'>"+postTitle+"</a>\n<div class='blog_date'>"+niceDate+"</div>\n<div class='snippet'>"+snippet+"</div></div>\n";
		if(i<numSnippets-1)
			html+="<hr class='separator'>\n";
	}
	setBlogHTML(html);
	setBlogButtons(pageButtonsHTML(metaData,"href='javascript:nextPage();'","href='javascript:prevPage();'"));
	setUrl(curBlogSet,curFilter);
}

function prevPage()
{
	curBlogSet-=numSnippetsPerPage;
	if(curBlogSet<0)
		curBlogSet=0;
	setUrl(curBlogSet,curFilter);
	setBlog();
}

function nextPage()
{
	curBlogSet+=numSnippetsPerPage;
	setUrl(curBlogSet,curFilter);
	setBlog();
}

function filter(filter)
{
	curBlogSet=0;
	curFilter=filter;
	setUrl(curBlogSet,curFilter);
	setBlog();
}

function setUrl(start,filter)
{
	location.hash=filter+"-"+start;
}

function checkUrl()
{
	var url=location.hash.replace("#","");
	if(url==oldUrl)
		return;
	oldUrl=url;
	var start,filter;
	if(url.length==0)
	{
		start=0;
		filter="all";
	}
	else
	{	
		var urlArray=url.split("-");
		if(urlArray.length==1)
			filter="all";
		else
		{
			filter=urlArray[0];
			start=urlArray[1];
			if(start*1!=start)
				start=0;
			else
				start=start*1;
		}
	}
	if(start!=curBlogSet || filter!=curFilter)
	{
		curBlogSet=start;
		curFilter=filter;
		setBlog();
	}
}

function setBlogHTML(text)
{
	document.getElementById("blogHTML").innerHTML=text;
}

function setBlogButtons(text)
{
	document.getElementById("blogButtons").innerHTML=text;
}

