
var LCJS = {
	"initialize" : function(o){
		var a = []
		o.addEventListener = this._addEventListener(o, a)
		o.removeEventListener = this._removeEventListener(o, a)
		o.dispatchEvent = this._dispatchEvent(o)
		o.dispatch = this._dispatch(o, a)
	},
	"_addEventListener" : function(o ,a) {
		return function(type, listener, useCapture) {
			//追加の際に重複をチェックするとFirefoxと同じ動作になる
			a.push({"type":type, "listener":listener, "useCapture":useCapture})

			//IEは重複を許可してしまう.すでに登録があるか判別できないなら,消してから入れる.
			o.detachEvent("on" + type, o.dispatch)
			o.attachEvent("on" + type, o.dispatch)
		}
	},
	"_removeEventListener" : function(o, a) {

	},
	"_dispatchEvent" : function(o) {

	},
	"_dispatch" : function(o, a) {
		return function() {
			var e = window.event
			var t = e.type
			var l = a.length
			for (var i = 0; i < l; ++i) {
				if (a[i].type == t) {
					a[i].listener.apply(o)
				}
			}
		}
	},
	"mapInitialize" : function(os) {
		var l = os.length
		for (var i = 0; i < l; ++i) {
			LCJS.initialize(os[i])
		}
	}
}

//addEventListener()が実装されていない→該当者IE
if (!window.addEventListener) {
	//DOMはHTMLの読み込みが済まないと出揃わない.まずグローバルオブジェクトwindowを加工する.
	LCJS.initialize(window)
	//HTML読み込み後、すべての要素を加工する
	window.addEventListener("load", function(){LCJS.mapInitialize(document.getElementsByTagName("*"))})
}












function toggleTcb(o)
{
	var t = o
	while (t = t.parentNode) {
		if (t.tagName == "TABLE") {
			break
		}
	}
	if (t.tagName != "TABLE") {
		return
	}
	
	var is = t.getElementsByTagName("input")
	var l = is.length;
	for (var i = 0; i < l; ++i) {
		is[i].checked = o.checked
	}
}

function toggleNtcb(o)
{
	var t = o
	while (t = t.parentNode) {
		if (t.tagName == "TABLE") {
			break
		}
	}
	if (t.tagName != "TABLE") {
		return
	}
	t = t.parentNode.getElementsByTagName("table").item(1)

	var is = t.getElementsByTagName("input")
	var l = is.length;
	for (var i = 0; i < l; ++i) {
		is[i].checked = o.checked
	}
}


function informationAddTarget(o)
{
	var div = o.parentNode.parentNode
}

function informationRemoveTarget(o)
{
	var div = o.parentNode.parentNode
}

function attendanceAllCheck(o, v)
{
	var p = o.parentNode.parentNode.parentNode.parentNode
	var is = p.getElementsByTagName("input")
	var l = is.length
	for (var i = 0; i < l; ++i) {
		if (is[i].type == "radio") {
			if (is[i].value == v) {
				is[i].checked = true
			}
		}
	}
}

function gradeAllClear(o)
{
	var p = o.parentNode.parentNode.parentNode
	var is = p.getElementsByTagName("input")
	var l = is.length
	for (var i = 0; i < l; ++i) {
		if (is[i].type == "radio") {
			is[i].checked = false
		} else if (is[i].type == "text") {
			is[i].value = ""
		}
	}
}

