var sideboxes = new Array('dl_pages', 'dl_honours', 'dl_archives', 'dl_categories', 'dl_tags', 'dl_recentcomments', 'dl_search', 'dl_meta', 'dl_widgets-reloaded-pages-3', 'dl_widgets-reloaded-pages-4', 'dl_widgets-reloaded-archives-3', 'dl_widgets-reloaded-categories-3', 'dl_widgets-reloaded-tags-3', 'dl_gdswrecentcomments-3', 'dl_widgets-reloaded-search-3', 'dl_list-category-widget-3', 'dl_list-category-widget-4');

function set_initial_toggle_state() {
	var stored_class = '';
	for (var i = 0; i < sideboxes.length; i++){
		stored_class = readCookie(sideboxes[i]);
		if (stored_class) {
			dlElement = document.getElementById(sideboxes[i]);
			dlElement.className = stored_class;
		}
	}
}

function createCookie(name,value,days) {
	var expires = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while(c.charAt(0) == ' ') {
			c = c.substring(1, c.length);
		}
		if(c.indexOf(nameEQ) == 0) {
			return c.substring(nameEQ.length, c.length);
		}
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name, "", -1);
}

function toggle(id) {
	dl = "dl_" + id;
	dlElement = document.getElementById(dl);
	if(dlElement) {
		if(dlElement.className == "closed") {
			dlElement.className = "sidebox";
		} else {
			dlElement.className = "closed";
		}
		createCookie(dl, dlElement.className, 365);
	}
}

function collapseAll() {
	changeAll('closed');
}

function expandAll() {
	changeAll('sidebox');
}

function changeAll(state) {
	for(var i = 0; i < sideboxes.length; i++) {
		dl = document.getElementById(sideboxes[i]);
		dl.className = state;
		createCookie(sideboxes[i], dl.className, 365);
	}
}

function toggletags(id) {
	element = document.getElementById(id);
	if(element) {
		if(element.className == "notags") {
			element.className = "showtags";
		} else {
			element.className = "notags";
		}
	}
}

