window.onload = init;
blogSubjects = [];
currentBlogId = 0;
currentStartRow = 0;
initialBlogIndex = 0;
subjectCount = 0;

function init() {
	loadingOn();
	getSubjects(0);
}

function BlogObject() {
	this.index = 0;
	this.subject = "";
	this.content = "";
	this.posted_to_lj = "";
	this.post_date = "";
}
	
function getSubjects(startRow) {
	var ajaxBlogSubjects = new AjaxObject();
	var url = "./ajaxproxy.php?request=6&index=" + startRow;
	ajaxBlogSubjects.request(url, "", this.getSubjectsCallback);
}
	
function getSubjectsCallback(xml) {
		buildBlogSubjectList(xml);
		drawSubjectList();
		loadingOff();
		getBlog(initialBlogIndex);
}

function buildBlogSubjectList(xml) {

	var items = xml.getElementsByTagName("blog");

	for (var i=0; i<items.length; i++) {
		blogSubjects[i] = new BlogObject;
		if (items[i].getElementsByTagName("index")[0] != null) {
			blogSubjects[i].index = items[i].getElementsByTagName("index")[0].firstChild.nodeValue;
		} else {
			blogSubjects[i].index = 0;
		}
		//initial blog
		if (i==0) { initialBlogIndex = blogSubjects[i].index;}
		
		if (items[i].getElementsByTagName("subject")[0] != null) {
			if (items[i].getElementsByTagName("subject")[0].firstChild != null) {
				blogSubjects[i].subject = items[i].getElementsByTagName("subject")[0].firstChild.nodeValue;
			} else {
				blogSubjects[i].subject = "";
			}		
		} else {
			sonblogSubjectsgs[i].title = "";
		}
	}
}

function drawSubjectList() {

	innerhtml = "<div>";
	for (i=0; i<blogSubjects.length; i++) {
		innerhtml += "<div class=\"blog_subject\"><a onmouseover\"javascript:this.style.color='red';\" class=\"subj_link\" id=\"subject" + blogSubjects[i].index +"\" href=\"javascript:void(0);\" onclick=\"getBlog(" + blogSubjects[i].index + ")\">" + blogSubjects[i].subject + "</a></div>";
	}
	innerhtml += "</div>";
	document.getElementById("subjects").innerHTML = innerhtml;
}

function getBlog(blogIndex) {
	loadingOn();
	var ajaxBlog = new AjaxObject();
	var url = "./ajaxproxy.php?request=7&index=" + blogIndex;
	ajaxBlog.request(url, "", this.getBlogCallback);
	setSubjectsWhite();
	document.getElementById("subject" + blogIndex).style.color = "#8492ff;";
}
	
function getBlogCallback(xml) {

		if (xml.getElementsByTagName("index")[0] != null) {
			document.getElementById("post_subject").innerHTML = xml.getElementsByTagName("subject")[0].firstChild.nodeValue;
		} 
		if (xml.getElementsByTagName("subject")[0] != null) {
			document.getElementById("post_date").innerHTML = "Posted: " + xml.getElementsByTagName("date")[0].firstChild.nodeValue;
		}
		if (xml.getElementsByTagName("subject")[0] != null) {
			document.getElementById("post_content").innerHTML = "<p id=\"p_content\">" + xml.getElementsByTagName("content")[0].firstChild.nodeValue + "</p>";
		}		
		loadingOff();
}


function loadingOn() {
	document.getElementById("right_col").style.display = "none";
	document.getElementById("loading").style.display = "block";
}

function loadingOff() {
	document.getElementById("right_col").style.display = "block";
	document.getElementById("loading").style.display = "none";
}

function setSubjectsWhite() {
	var subjs = getElementsByClassName("subj_link");
	for (i=0; i<subjs.length; i++) {
		subjs[i].style.color = "white";
	}
}

function getElementsByClassName(classname, node)  {    
	if(!node) node = document.getElementsByTagName("body")[0];    
	var a = [];    
	var re = new RegExp('\\b' + classname + '\\b');    
	var els = node.getElementsByTagName("*");    
	for(var i=0,j=els.length; i<j; i++)        
		if(re.test(els[i].className))a.push(els[i]);    
	return a;
}







