var dom = new Object();
dom.event = new Object();

dom.event.addEventListener = function(elm, type, func, useCapture)
{
	if(!elm) { return false; }
	if(!useCapture) { useCapture = false; }
	if(elm.addEventListener) { elm.addEventListener(type, func, false); }
	else if(elm.attachEvent) { elm.attachEvent('on'+type, func) }
	else { return false; }
	return true;
};

dom.event.removeEventListener = function(elm, type, func, useCapture)
{
	if(!elm) { return false; }
	if(!useCapture) { useCapture = false; }
	if(elm.removeEventListener) { elm.removeEventListener(type, func, false); }
	else if(elm.detachEvent) { elm.detachEvent('on'+type, func); }
	else { return false; }
	return true;
};

dom.event.target = function(evt)
{
	if(evt && evt.target)
	{
		if(evt.target.nodeType == 3) { return evt.target.parentNode; }
		else { return evt.target; }
	}
	else if(window.event && window.event.srcElement) { return window.event.srcElement; }
	else { return null; }
};

dom.event.preventDefault = function(evt)
{
	if(evt && preventDefault)
	{
		evt.preventDefault();
		evt.currentTarget['on'+evt.type] = function() { return false; };
	}
	else if(window.event) { window.event.returnValue = false; }
};

dom.event.stopPropagation = function(evt)
{
	if(evt && evt.stopPropagation) { evt.stopPropagation(); }
	else if(window.event) { window.eval.cancelBubble = true; }
}

dom.event.addEventListener(window, 'load', initDocument);
function initDocument()
{
	tableNodes = document.getElementsByTagName('table');
	for(var i=0; i<tableNodes.length; i++)
	{
		var elm = tableNodes.item(i);
		if(elm.className == 'specTable')
		{
			var evenFlag = 0;
			var rowspanLeng = 0;
			var rows = elm.rows;
			for(var j=0; j<rows.length; j++)
			{
				var rowsNode = rows[j].childNodes
				for(var k=0; k<rowsNode.length; k++)
				{
					if((rowsNode[k].nodeType == 1)&&(rowsNode[k].getAttribute('rowspan')>0))
					{
						var rowSpan = rowsNode[k].getAttribute('rowspan');
						if(rowSpan >= rowspanLeng) { rowspanLeng = rowSpan; }
					}
				}
				if(evenFlag==0) { rows[j].className = "even"; }
				else { rows[j].className = ""; }
				if(rowspanLeng <= 1) { evenFlag ^= 1; }
				if(rowspanLeng > 0) { rowspanLeng--; }
			}
		}
	}
	var dlLink=document.getElementById('dlLink');
	if(dlLink)
	{
		var optlist=new Array();
		var anchorNodes=dlLink.getElementsByTagName('A');
		for(var i=0; i<anchorNodes.length; i++)
		{
			var elm=anchorNodes.item(i);
			var data=new Object();
			data.value=elm.firstChild.nodeValue;
			data.href=elm.href;
			optlist.push(data);
		}
		while(dlLink.hasChildNodes()) { dlLink.removeChild(dlLink.lastChild); }
		for(var i=0; i<optlist.length; i++)
		{
			var btn=document.createElement('INPUT');
			btn.type='button';
			btn.value=optlist[i].value;
			btn.href=optlist[i].href;
			dlLink.appendChild(btn);
			dom.event.addEventListener(btn,'click',downloadBt);
		}
	}
}
function downloadBt(evt)
{
	var target = dom.event.target(evt);
	var url = target.href;
	if(url){document.location.href=url;}
}
