var focus_element_id = false;
window.onload = function() {	
	InputIdChoice.init();

	if (document.getElementsByTagName("body")[0].className == "main") {
		AdaptiveLayout.init('adaptive', [800, 1024]);
	} else {
		AdaptiveLayout.init('adaptive', [800, 1024, 1280]);
	}
	document.getElementById("openmaru").style.display = "block"

	var firstChild = "body li:first-child, body th:first-child, body td:first-child, body tr:first-child, body dd:first-child";
	var elements = cssQuery(firstChild);
	for (var i = 0; i < elements.length; i++) {
		elements[i].className += " first-child";
	}
	var lastChild = "body li:last-child, body th:last-child, body td:last-child, body dd:last-child";
	elements = cssQuery(lastChild);
	for (var i = 0; i < elements.length; i++) {
		elements[i].className += " last-child";
	}
	var input = document.getElementsByTagName("input");
	for (i = 0; i < input.length; i++) {
		if (input[i].type != "password") {
			input[i].className += " type-" + input[i].type;
		} else if (input[i].type == "password") {
			input[i].className += " type-text";
		}
	}	
	if (focus_element_id) {
	   document.getElementById(focus_element_id).focus();
	}
	
	EnableJavascript.init(["entryTrackbackContainer", "entryCommentContainer"]);
}
/* Adaptive Layout */

var _timer;
window.onresize = function () {
 clearTimeout(_timer);
 _timer=setTimeout('AdaptiveLayout.layout("onresize")', 100);
}

var EnableJavascript = {
	init: function (hiddenEls) {
		for (var i = 0; i < hiddenEls.length ; i++) {
			var els = FindEl.byClass(document.getElementsByTagName("div"), hiddenEls[i])

			for (var j = 0; j < els.length ; j++) {
				els[j].style.display = "none"
			}
		}
	}
}
var FindEl = {
	byClass: function (el, className) {
		var elements = new Array()

		for (var i=0; i < el.length; i++) {
			if (el[i].className.indexOf(className) != -1) {
				elements.push(el[i])
			}
		}
		return elements
	},
	byNodeType: function (el, nodeType) {
		var elements = new Array()
		
		for (var i=0; i < el.length; i++) {
			if (el[i].nodeType == nodeType) {
				elements.push(el[i])
			}
		}
		return elements
	}
}
var AdaptiveLayout = {
	init: function(virtualLayoutId, resolutions) {
		if (document.getElementById(virtualLayoutId)) {		
		this.virtualLayout = document.getElementById(virtualLayoutId)
		this.resolutions = resolutions
		this.virtualLayout.style.overflowX = "auto"

		this.zoomDetector = document.createElement("p")
		this.virtualLayout.appendChild(this.zoomDetector)
		this.zoomDetector.style.width = "1em"
		this.zoomBase = this.zoomDetector.offsetWidth
		this.originalClass = document.getElementsByTagName("body")[0].className;

		this.layout("onresize")

		setInterval("AdaptiveLayout.layout()", 10)
		}
	},
	layout: function(onresize) {
		if (this.virtualLayout) {
		if (onresize == "onresize" || this.zoomBase != this.zoomDetector.offsetWidth) {
			var resolution = this.findResolution();
			document.getElementsByTagName('body')[0].className = this.originalClass + " layout-" + resolution

			this.zoomBase = this.zoomDetector.offsetWidth
		}
		}
	},
	findResolution: function() {
		for (var i=0; i < this.resolutions.length; i++) {
			this.virtualLayout.className = "layout-" + this.resolutions[i]
			if (this.virtualLayout.offsetWidth < this.virtualLayout.scrollWidth) {
				return i == 0 ? this.resolutions[i] : this.resolutions[i - 1]
			}
		}
		return this.resolutions[this.resolutions.length-1]
	}
}
/* language select */
function showOtherLanguage() {
	var languageMenu = document.getElementById("language");
	var languages = languageMenu.getElementsByTagName("li");
	if (languages[1].className == "on")
	{
		for (i=1;i<languages.length ;i++ )
		{
			languages[i].style.display = "none";
			languages[i].className ="";
		}
	} else {
		for (i=1;i<languages.length ;i++ )
		{
			languages[i].style.display = "block";
			languages[i].className ="on";
		}
	}
}
/* login openId in blog */
/*function closeLoginWindow() {
	document.getElementById("popup-openidLogin").style.display = "none";
}
function floatOpenidLogin() {
	document.getElementById("openid-login").getElementsByTagName("a")[0].style.fontWeight ="bold";
	document.getElementById("popup-openidLogin").style.display = "block";
	document.getElementById("popup-openidLogin").style.position = "absolute";
	document.getElementById("popup-openidLogin").style.top = 20+"px";
	document.getElementById("popup-openidLogin").style.left = 20+"px";
}*/

/* list toggle */
function initToggleList(ulEl, que, ans) {
	currentListNum = false;
	queEl = ulEl.getElementsByTagName(que);
	ansEl = ulEl.getElementsByTagName(ans);

	for (i=0;i<queEl.length;i++) {
		ansEl.item(i).listNum = i;
		queEl.item(i).listNum = i;
	//	ansEl.item(i).style.display = "none";
		ansEl.item(i).className += "off";
		queEl.item(i).onclick = toggleList;
	}

	var article = document.getElementById(String(window.location).split("#")[1]);
	if (article) {
		article.onclick();
	}

//	alert(window.location);
}
function toggleList () {
	if (currentListNum != false && this.listNum != currentListNum-1 ) {
		queEl.item(currentListNum-1).className = null;
		ansEl.item(currentListNum-1).className += "off";
	//	ansEl.item(currentListNum-1).style.display = "none";
	}
	if (this.className == "on") {
		queEl.item(this.listNum).className = null;
		ansEl.item(this.listNum).className += "off";
	//	ansEl.item(this.listNum).style.display = "none";
		currentListNum = false;
	} else {
		this.className = "on";
		ansEl.item(this.listNum).className += " on";
	//	ansEl.item(this.listNum).style.display = "block";
		currentListNum = this.listNum + 1;
	}
}

function changeLogo() {
	var today = new Date();
	var currentHours = today.getHours();
	var h1El = document.getElementById("top").getElementsByTagName("h1")[0].getElementsByTagName("img")[0]
	if (currentHours>=19 || currentHours<=6) {		
		h1El.setAttribute("src","/images/openlab/logo_on.gif");
	}
}
var InputIdChoice = {	
	init: function () {
		this.documentDiv = document.getElementsByTagName('div')
		
		for (var i=0; i < this.documentDiv.length; i++) {
			
			if ((this.documentDiv[i].className.indexOf("comment_write") && this.documentDiv[i].className.indexOf("guest-write")) != -1) {
				var inputRadio = this.documentDiv[i].getElementsByTagName('input')
				var label = this.documentDiv[i].getElementsByTagName('label')
				

				this.openidRadio = this.findEl(inputRadio, "openid-radio")
				this.generalRadio = this.findEl(inputRadio, "general-radio")
				
				this.openidLabel = this.findEl(label, "openid-radio")
				this.generalLabel = this.findEl(label, "general-radio")
					
				if (this.openidLabel && this.generalLabel && this.openidRadio && this.generalRadio) {
					this.openidLabel.onclick = this.openidInputDisplay
					this.generalLabel.onclick = this.generalInputDisplay
					this.openidRadio.onclick = this.openidInputDisplay
					this.generalRadio.onclick = this.generalInputDisplay
					
					this.openidLabel.onclick()	
				}				
			}
		}		
	},
	findEl: function (el, className) {
		if (el) {
			for (var i=0; i < el.length; i++) {
				if (el[i].className.indexOf(className) != -1 ) return el[i]
			}
		}		
	},
	openidInputDisplay: function () {
		if (this.tagName == "LABEL") {
			this.getElementsByTagName('input')[0].checked = "checked"
		}

		var container = this.parentNode.parentNode
		var inputEl = container.getElementsByTagName('input')

		for (var i=0; i < inputEl.length; i++) {			
			if (inputEl[i].className.indexOf("general-input") != -1 ) {
				inputEl[i].disabled = "disabled"
				inputEl[i].style.backgroundColor = "#ddd"
			} else if (inputEl[i].className.indexOf("openid-input") != -1 ) {
				inputEl[i].disabled = ""
				inputEl[i].style.backgroundColor = "#fff"
			}
		}
	},
	generalInputDisplay: function () {
		if (this.tagName == "LABEL") {
			this.getElementsByTagName('input')[0].checked = "checked"
		}
		
		var container = this.parentNode.parentNode		
		var inputEl = container.getElementsByTagName('input')

		for (var i=0; i < inputEl.length; i++) {
			if (inputEl[i].className.indexOf("openid-input") != -1 ) {
				inputEl[i].disabled = "disabled"
				inputEl[i].style.backgroundColor = "#ddd"
			} else if (inputEl[i].className.indexOf("general-input") != -1 ) {
				inputEl[i].disabled = ""
				inputEl[i].style.backgroundColor = "#fff"
			}
		}
	}
}

function menuInit() {
	var menuDiv = document.getElementById("top-navigation")
	var menuLi = menuDiv.getElementsByTagName("li")
	for (i=0;i<menuLi.length ;i++ ) {
		if (menuLi[i].className.indexOf("on") != -1) {
			menuLi[i].getElementsByTagName("img")[0].src = menuLi[i].getElementsByTagName("img")[0].src.replace(".gif","_on.gif")
		}
	}
}
