function clearTextBox(elem, val) 
{
	if (elem.value == val)
		elem.value = "";
}

function fillTextBox(elem, val) 
{
	if (elem.value == "")
		elem.value = val;
}

//Javascript used for navigational submenu
function initializeDropDownMenu()
{
	// get 'nav' element
	var nav=document.getElementById('nav');

	if(!nav){return};
	// get all menu items

	var menuitems=nav.getElementsByTagName('li');

	if(!menuitems){return};

	for(var i=0;i<menuitems.length;i++)
	{

	// assign 'sfhover' class attribute to each menu item on 'mouseover'

	menuitems[i].onmouseover=function()
	{
		this.className+=' sfhover';
	}

		// remove 'sfhover' class attribute to each menu item on 'mouseout'
		menuitems[i].onmouseout=function()
		{
			this.className=this.className.replace(' sfhover','');
		}

	}

}

/* Switch tab color
   ------------------
*/
function chgTabColor()
{
	var currentTab = document.getElementById("currentTab").content;	
	var selectedTab = document.getElementById(currentTab);
	var imgDirectory;
	if (currentTab == "home")
	{
		imgDirectory ="images/"; 
	}
	else
	{
		imgDirectory ="/nano/images/"; 
	}
	if (selectedTab==null)
	selectedTab="home";
	selectedTab.style.background="transparent url(" + imgDirectory + "whiteTabLeft.gif) left top no-repeat";
	selectedTab.style.padding="0px 2px 4px 8px";	
	var subNode = selectedTab.getElementsByTagName("a");
	subNode[0].style.background="transparent url(" + imgDirectory + "whiteTabRight.gif) right top no-repeat";
	subNode[0].style.padding="8px 9px 9px 3px";
	subNode[0].style.font="normal 11px Arial";
	subNode[0].style.color="black";/*
	subNode[0].style.text-decoration="none";
	*/
}

// initialize drop-down menu when web page is loaded

window.onload=function()
{
	var currentTab = document.getElementById("currentTab").content;	

	var selectedTab = document.getElementById(currentTab);

	if(document.all&&document.getElementById&&document.getElementsByTagName)
	{
		initializeDropDownMenu();
	}
	
	if (currentTab != "sitemap" && currentTab != "search" && currentTab != "contacts")
	{
    	chgTabColor();
	}

	if (currentTab != "home")
	{
		leftNav();
	}


}

/* Left Nav Structure
   ------------------
   IE-Win interprets the DOM tree differently than all other browsers
   Therefore we have added separate support for this.
*/
leftNav = function(){
	var browser = navigator.appName;
	var platform = navigator.platform;
	var pageid = document.getElementById("pageID").content;	
	
	//Check for page id
	if (document.getElementById(pageid)){
		var selectedNode = document.getElementById(pageid);
		var noid = false;
	}
	else {
		var selectedNode = document.getElementById("0");
		var noid = true;
	}
	//Current item class name assignment
	if ((selectedNode.parentNode.parentNode.parentNode.parentNode.parentNode.id == "left") || (selectedNode.parentNode.parentNode.parentNode.id == "left")){
	
	if (!noid) {
			selectedNode.getElementsByTagName("a")[0].className = "currentAnchor";
		}
		//Re-define padding for selected TOP items only
		if ((selectedNode.parentNode.parentNode.parentNode.id == "left") && (!noid)) {
			if (selectedNode.getElementsByTagName("li").length > 0){
				selectedNode.style.padding = "7px 0 0px 25px";}
			else {selectedNode.style.padding = "7px 0 0px 25px";}
		}
	}
	else selectedNode.className = "current";
	//Condition for items that are too deep to display but must have their parent node highlighted
	if ((selectedNode.parentNode.parentNode.parentNode.id != "left") && (selectedNode.parentNode.parentNode.parentNode.parentNode.parentNode.id != "left") && (selectedNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id != "left")){
		var testNode = selectedNode;
		var counter = 1;
		
		while (testNode.parentNode.parentNode.parentNode.id != "left") {
			counter++;
			testNode = testNode.parentNode.parentNode;
		}
		testNode = selectedNode;
		for (z = 0; z < counter-3; z++) {
			testNode = testNode.parentNode.parentNode;
		}
		testNode.className = "current";
	}
	
	//special handling for children of top elements
	if ((selectedNode.parentNode.parentNode.parentNode.id == "left") && (selectedNode.getElementsByTagName("li").length > 0)) {
		//var subNode = selectedNode.childNodes[2].childNodes;
		var subNode = selectedNode.getElementsByTagName("li");
		for (i = 0; i < subNode.length; i++) {
			if (subNode[i].getElementsByTagName("li").length > 0)
				subNode[i].childNodes[2].style.display = "none";
		}
	}
	
	//Start Main Functionality
	hideSiblings(browser, platform, selectedNode);
	
	while (selectedNode.parentNode.parentNode.parentNode.id != "left") {
		selectedNode = selectedNode.parentNode.parentNode;
		hideSiblings(browser, platform, selectedNode);
	}
	
	document.getElementById("left").getElementsByTagName("ul")[0].style.display = "block";
	if (document.getElementById("Features"))
		document.getElementById("Features").style.display = "block";
}

function hideSiblings(browser, platform, selectedNode) {
	if ((browser == "Microsoft Internet Explorer") && (platform == "Win32")) { //ie-win fix
		var nNode = selectedNode.nextSibling;		
		var pNode = selectedNode.previousSibling;
		while (nNode) {
			if (nNode.childNodes[2])
				nNode.childNodes[2].style.display = "none";
			nNode = nNode.nextSibling;
			
		}
		while (pNode) {
			if (pNode.childNodes[2])
				pNode.childNodes[2].style.display = "none";
			pNode = pNode.previousSibling;
		}
	}
	
	else {		
		try {
			var nNode = selectedNode.nextSibling.nextSibling;		
			var pNode = selectedNode.previousSibling.previousSibling;
		}
		catch (e) {	}
		while (nNode) {
			if ((nNode.getElementsByTagName("li").length) > 0)	
			    try
			    {		
				nNode.childNodes[2].style.display = "none";			
				}
				catch (f) {break;}
			try { nNode = nNode.nextSibling.nextSibling; }
			catch (f) { break; }
		}
		while (pNode) {
			if ((pNode.getElementsByTagName("li").length) > 0)			
				pNode.childNodes[2].style.display = "none";
			try { pNode = pNode.previousSibling.previousSibling; }
			catch (g) { break; }
		}
	}
}

