function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(prepareComments);

addLoadEvent(prepareAlbumList);

function prepareAlbumList() {

	if(!document.getElementById) return false;
	if(!document.getElementById("albumList")) return false;
	
	album_list = document.getElementById("albumList");
	
	album_li_elems = album_list.getElementsByTagName("li");
	
	for (var i = 0; i < album_li_elems.length; i++) {
		album_li = album_li_elems[i];
		
		if(album_li.className == "primary" || album_li.className == "primary alt") {
			sub_albums = album_li.getElementsByTagName("ul");
			if(sub_albums[0]) {		
				
				album_link = album_li.getElementsByTagName("a");
				album_link = album_link[0];
				album_link.className = "expandAlbum";

				expand_node = document.createElement("div");
				expand_text = document.createTextNode("(click to expand sub-albums)");

				expand_node.className = "expandText";
				expand_node.style.display = "none";
				expand_node.appendChild(expand_text);
				expand_node.id = "expand_text_"+i;
			
				insertAfter(expand_node, album_link);
				
				Effect.Appear(expand_node.id);
				
				sub_albums[0].style.display = "none";
				sub_albums[0].className = "";
				album_id = "sub_album_list_"+i;
				sub_albums[0].id = album_id;
				
				album_link.alt = album_id;
				
				album_link.onclick = function() {
					return expandAlbum(this.alt);
				}
			}
		}
	}
}

function expandAlbum (album_id) {
	if(!document.getElementById) return false;
	if(!document.getElementById(album_id)) return false;
	
	album_list = document.getElementById(album_id);
	
	search_elem = album_list.parentNode;
	divs = search_elem.getElementsByTagName("div");
	
	for (var i = 0; i < divs.length; i++) {
		if (divs[i].className == 'expandText') {
			expand_text = divs[i];
			break;
		}
	}
	expand_text.firstChild.nodeValue = '(click to close sub-albums)';	
	
	Effect.BlindDown(album_id, {duration: .35});
	
	li_elem = album_list.parentNode;
	album_link = li_elem.getElementsByTagName("a");
	album_link = album_link[0];
	
	transition_one = "album_link.className = 'expandAlbumTrans'";
	setTimeout(transition_one,50);
	
	transition_two = "album_link.className = 'closeAlbumTrans'";
	setTimeout(transition_two,100);
	
	transition_three = "album_link.className = 'closeAlbum'";
	setTimeout(transition_three,150);
	
	album_link.onclick = function() {
		return closeAlbum(this.alt);
	}

	return false;
}

function closeAlbum (album_id) {
	if(!document.getElementById) return false;
	if(!document.getElementById(album_id)) return false;

	album_list = document.getElementById(album_id);
	
	search_elem = album_list.parentNode;
	divs = search_elem.getElementsByTagName("div");
	
	for (var i = 0; i < divs.length; i++) {
		if (divs[i].className == 'expandText') {
			expand_text = divs[i];
			break;
		}
	}
	expand_text.firstChild.nodeValue = '(click to expand sub-albums)';
	
	Effect.BlindUp(album_id, {duration: .35});
	
	li_elem = album_list.parentNode;
	album_link = li_elem.getElementsByTagName("a");
	album_link = album_link[0];
	
	transition_one = "album_link.className = 'closeAlbumTrans'";
	
	setTimeout(transition_one,50);
	
	transition_two = "album_link.className = 'expandAlbumTrans'";
	
	setTimeout(transition_two,100);
	
	transition_three = "album_link.className = 'expandAlbum'";
	
	setTimeout(transition_three,150);
	
	album_link.onclick = function() {
		return expandAlbum(this.alt);
	}

	return false;
}

function insertAfter (newChild, refChild) {
	refChild.parentNode.insertBefore(newChild,refChild.nextSibling); 
}

function prepareComments() {
	if(!document.getElementById) return false;
	if(!document.getElementById("view_comments")) return false;
	if(!document.getElementById("comment_container")) return false;
	
	var view_comments = document.getElementById("view_comments");
	
	var view_comments_link = view_comments.firstChild;
	var view_comments_text = view_comments_link.firstChild;
	
	if (view_comments_text.nodeValue == 'View Comments') {
		
		elem = document.getElementById("comment_container");
		elem.style.display = "none";
		elem.className = "";
		
		view_comments_link.onclick = function() {
			return showComments(this);
		}
	} else {
		
		elem = document.getElementById("comment_container");
		elem.style.display = "block";
		elem.className = "";
		
		view_comments_link.onclick = function() {
			return hideComments(this);
		}
	}
	
	return false;
}

function hideComments() {
	if(!document.getElementById) return false;
	if(!document.getElementById("view_comments")) return false;
	if(!document.getElementById("comment_container")) return false;
	
	var view_comments = document.getElementById("view_comments");
	
	var view_comments_link = view_comments.firstChild;
	
	var view_comments_text = view_comments_link.firstChild;
	
	view_comments_link.onclick = function() {
		return showComments(this);
	}
	view_comments_link.onkeypress = view_comments_link.onclick;
	
	view_comments_text.nodeValue = "View Comments";
	
	Effect.BlindUp("comment_container");
	
	return false;
}

function showComments() {
	var view_comments = document.getElementById("view_comments");
	
	var view_comments_link = view_comments.firstChild;
	
	var view_comments_text = view_comments_link.firstChild;
	
	view_comments_link.onclick = function() {
		return hideComments(this);
	}
	view_comments_link.onkeypress = view_comments_link.onclick;
	
	view_comments_text.nodeValue = "Hide Comments";
	
	Effect.BlindDown("comment_container");

	return false;
}