var d = document, dE = d.documentElement;

/* Cookies
***************************************************/

function setCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		var expires = "; expires=" + date.toGMTString();
	} else {
		expires = "";
	}
	d.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(key) {
	tmp=document.cookie+";";
	tmp1=tmp.indexOf(key, 0);
	if(tmp1 != -1) {
		tmp=tmp.substring(tmp1, tmp.length);
		start=tmp.indexOf("=", 0) + 1;
		end=tmp.indexOf(";", start);
		cookieValue = unescape(tmp.substring(start, end));
	} else {
		return null;
	}
	cArray = new Array(cookieValue.length);
	for (var i = 0; i < cookieValue.length; i++) {
		cArray[i] = cookieValue.charAt(i);
	}
	return cArray;
}


/* Toggle Side Bar Panels
**************************************************/

function setToggleState() {
	var left_panel = d.getElementById("left_panel");
	var panels = left_panel.getElementsByTagName("h2");

	/* cookie check */
	var cArray = readCookie("tkagoflg");
	if (cArray == null) {
		for (var i = 0, pL = panels.length; i < pL; i++) {
			/* panel_visible */
			cArray[i] = 0;
		}
	}

	for (var i = 0, pL = panels.length; i < pL; i++) {
		/* lastPanel ha visible */
		if ( (cArray[i] == "1") && (i < pL-1) ){
			panels[i].parentNode.className = "panel_hidden";
		} else {
			panels[i].parentNode.className = "panel_visible";
		}
		panels[i].title = "しばく";
		panels[i].onclick = function() {
			this.parentNode.className =
				(this.parentNode.className == "panel_visible")
				? "panel_hidden"
				: "panel_visible";
		};
		if (typeof panels[i].parentNode.onselectstart != "undefined") {
			panels[i].parentNode.onselectstart = function() {
				return false;
			};
		}
	}
}


function getToggleState() {
	var left_panel = d.getElementById("left_panel");
	var panels = left_panel.getElementsByTagName("h2");
	strPanelsInfo="";
	for (var i = 0, pL = panels.length; i < pL; i++) {
		if (panels[i].parentNode.className == "panel_hidden") {
			/* panel_hidden */
			strPanelsInfo += escape("1");
		} else {
			/* panel_visible */
			strPanelsInfo += escape("0");
		}
	}
	return strPanelsInfo;
}


/* init
***************************************************/

function init() {
	window.defaultStatus = "tkago";
}

init();


/* Perform on page load/unload
***************************************************/

window.onload = function(e) {
	if (d.getElementById) {
		if (navigator.userAgent.indexOf('Opera') != -1) {
			init();
		}
		setToggleState();
	}
};

window.onunload = function(e) {
	var strPanelsInfo = getToggleState();
	setCookie("tkagoflg", strPanelsInfo, 1);
};
