stop_sign = '';

function tab_init( id, tab_ids_length, default_index ) {
	if (typeof(default_index)=='undefined') {
		default_index = 0;
	}
	//check first
	tabObj = document.getElementById(id);
	tab_ids_length = parseInt(tabObj.title);
	tabObj.title = '';
	
	//
	//javascript hack:
	//		因为如果有多余空字符，FireFox会多出一些Text的ChildNode，
	//		所以干脆都先缩一下，省得出现Text子项！
	//
	tabObj.innerHTML = tabObj.innerHTML.replace(/\s*</g, '<');
	tabObj.innerHTML = tabObj.innerHTML.replace(/>\s*/g, '>');
	
	tabObj.onmouseover = function () { stop_sign = id; }
	tabObj.onmouseout = function () { stop_sign = ''; }
	
	for (i=0;i<tab_ids_length+1;i++) {
		//tabObj
		if (tabObj.childNodes[i].className.indexOf("tab")<0) {
			alert("check faild. tab format error.");
			return;
		}
	}
	tab_ul = tabObj.firstChild.firstChild;
	for (i=0;i<tab_ids_length;i++) {
		tab_ul.childNodes[i].firstChild.id='_'+id+'_t_'+i;
		tab_ul.childNodes[i].firstChild.onmouseover = function () { tab_switch(id, tab_ids_length, this.id); return false;}
		tab_ul.childNodes[i].className = '';
	}
	for (i=0;i<tab_ids_length;i++) {
		tabObj.childNodes[i+1].id = '_'+id+'_c_'+i;
		tabObj.childNodes[i+1].style.display = 'none';
	}
	tab_ul.childNodes[default_index].className = 'current';
	tabObj.childNodes[default_index+1].style.display = 'block';
}

function tab_switch( id, tab_ids_length, thisid ) {
	tabObj = document.getElementById(id);
	
	default_index = 0;
	for (i=0;i<tab_ids_length;i++) {
		if (thisid == '_'+id+'_t_'+i) {
			default_index = i;
		}
	}
	
	tab_ul = tabObj.firstChild.firstChild;
	for (i=0;i<tab_ids_length;i++) {
		tab_ul.childNodes[i].className = '';
	}
	for (i=0;i<tab_ids_length;i++) {
		tabObj.childNodes[i+1].style.display = 'none';
	}
	tab_ul.childNodes[default_index].className = 'current';
	tabObj.childNodes[default_index+1].style.display = 'block';
}

function _tab_autoswitch( id, tab_ids_length, timeout ) {
	if (stop_sign != id) {
		tabObj = document.getElementById(id);
		tab_ul = tabObj.firstChild.firstChild;
		
		for (i=0;i<tab_ids_length;i++) {
			if (tabObj.childNodes[i+1].style.display == 'block') {
				tab_ul.childNodes[i].className = '';
				tabObj.childNodes[i+1].style.display = 'none';
				if (i+1>=tab_ids_length) {
					i-=tab_ids_length;
				}
				tab_ul.childNodes[i+1].className = 'current';
				tabObj.childNodes[i+2].style.display = 'block';
				break;
			}
		}
	}
	setTimeout('_tab_autoswitch( "'+id+'", '+tab_ids_length+', '+timeout+' )', timeout);
}
function tab_autoswitch( id, tab_ids_length, timeout ) {
	setTimeout('_tab_autoswitch( "'+id+'", '+tab_ids_length+', '+timeout+' )', timeout);
}