// JavaScript Document
function ntab2_register(id, def) 
{ 
var obj = document.getElementById(id); 
if (!obj || !obj.hasChildNodes()) 
{ 
alert('ERROR: the object was not defined for #' + id + '#'); 
return; 
} 

// get head & body object 
var head = null; 
var body = null; 
for (var i = 0; i < obj.childNodes.length; i++) 
{ 
var node = obj.childNodes[i]; 
if (node.tagName == 'DIV') 
{ 
if (node.className == 'head') 
head = node; 
else if (node.className == 'body') 
body = node; 
} 
} 
if (!head) { alert('ERROR: head elements was not found for #' + id + '#'); return; } 
if (!body) { alert('ERROR: body elements was not found for #' + id + '#'); return; } 

// set action & default 
var items = head.getElementsByTagName('LI'); 
var datas = body.getElementsByTagName('DL'); 
if (items.length == 0) { alert('ERROR: empty set for head elements on #' + id + '#'); return; } 
if (items.length != datas.length) 
{ 
alert('ERROR: not equal between body.length and head.length for #' + id + '#'); 
return; 
} 

var total = items.length; 
if (typeof def == 'undefined') def = 0; 
else def = parseInt(def)%total; 
if (def < 0) def += total; 
for (var i = 0; i < total; i++) 
{ 
datas[i].style.display = (i == def ? '' : 'none'); 
items[i].className = (i == def ? 'current' : ''); 
items[i].onmouseover = function() { 
for (var k = 0; k < total; k++) 
{ 
datas[k].style.display = (this == items[k] ? '' : 'none'); 
items[k].className = (this == items[k] ? 'current' : ''); 
} 
} 
} 
} 
