function addHandler( Target , theEvent , Handler, useCapture ) {
	eval( "var onTarget = Target.on" + theEvent + ";" );
	if ( Target.addEventListener ) {
		Target.addEventListener( theEvent , Handler , useCapture );
	} else if ( Target.attachEvent ) {
		Target.attachEvent( "on" + theEvent , Handler );
	} else if ( onTarget ) { // theory start
		onTarget = function piggyback() {
			onTarget();
			Handler();
		};
	} else { onTarget = Handler(); } // theory end
	return true; // for Netscape 6
}

	
	function showTabs() {
		if ( document.getElementById ) {
			var tabs = document.getElementById("tabmenu");
			tabs.className="jsPresent";
		}
	}

	function switchTables( which ) {
		if ( document.getElementById ) {
			for ( i = 0 ; i <= NumOfTabs ; i++ ) {
				var temp = document.getElementById("tabtable" + i);
				if ( temp )	{
					if ( which == i ) {
						temp.style.display = "block";
					} else {
						temp.style.display = "none";
					}
				}
			}
		}
		styleTabs( which );
	}

	function styleTabs( which ) {
		var tabs = document.getElementById("tabmenu");
		for ( i = 0 ; tabs.childNodes.length ; i++ ) {
			if ( tabs.childNodes[i].nodeName.toLowerCase() == "ul" ) {
				tabs = tabs.childNodes[i];
				break;
			}
		}
		for ( i = 0 ; i < tabs.childNodes.length ; i++ ) {
			if ( tabs.childNodes[i].nodeName.toLowerCase() == "li" ) {
				//alert( tabs.childNodes[i].firstChild.nodeName );
				tabs.childNodes[i].firstChild.setAttribute('class',  null );
				tabs.childNodes[i].firstChild.setAttribute('className', null ); // IE implementation...
			}
		}
		var flag = 0;
		for ( i = 0 ; i < tabs.childNodes.length ; i++ ) {
			for ( j = 0 ; j < tabs.childNodes[i].childNodes.length ; j++ )
			{
				if ( tabs.childNodes[i].childNodes[j].nodeName.toLowerCase() == "a" ) {
					if ( flag == which ) {
						tabs.childNodes[i].childNodes[j].setAttribute('class','selected');
						tabs.childNodes[i].childNodes[j].setAttribute('className','selected'); // IE implementation...
					}
					flag++;
				}
			}
		}	
	}

	function setupTabs( which ) {
		if ( document.getElementById ) {
			var tabs = document.getElementById("tabmenu");
			for ( i = 0 ; tabs.childNodes.length ; i++ ) {
				if ( tabs.childNodes[i].nodeName.toLowerCase() == "ul" ) {
					tabs = tabs.childNodes[i];
					break;
				}
			}
			for ( i = 0 ; i < tabs.childNodes.length ; i++ ) {
				for ( j = 0 ; j < tabs.childNodes[i].childNodes.length ; j++ )
				{
					if ( tabs.childNodes[i].childNodes[j].nodeName.toLowerCase() == "a" ) {
						tabs.childNodes[i].childNodes[j].onclick = function() { switchTables( this.id ); return false; }
					}
				}
			}
			styleTabs(0);
		}
	}

var NumOfTabs = 4;

initTabTable = function() {
	if ( document.getElementById ) {
		/* need to find out how many tabs/tables we are dealing with and the numbering */
		var tabmenu = document.getElementById("tabmenu");
		var NumOfTabs = (tabmenu.getElementsByTagName("li")).length;
		if ( tabmenu )	{
			showTabs();
			switchTables(0);
			setupTabs(0);
		} 
	} 
}


addHandler( window, "load", initTabTable , false );