// 2005-08-31, tom:
// simple navigation module
// hover effect via proprietary attributes osrc (original/inactive source) and hsrc (hover source) in img
// unique id for img, divs with subelements 

//test css mode
//javascript:alert(document.compatMode);

var activeId = null; //active navigation image
var openBranch = null; //currently open branch
var rollOver = false; //inactive

// DOM image rollover and mousedown
function initNavi() {
//	if (!document.getElementById) return;
//	var currEl;
//	var imgTemp = new Array();
//	var imgArr = document.getElementsByTagName('img');
//	for (var i = 0; i < imgArr.length; i++) {
//		if (imgArr[i].getAttribute('hsrc')) {
//			imgTemp[i] = new Image();
//			imgTemp[i].src = imgArr[i].getAttribute('hsrc');
//			imgArr[i].onmouseover = function() {
//				if (rollOver) this.setAttribute('src',this.getAttribute('hsrc'));
//			}
//			imgArr[i].onmouseout = function() {
//				//hover off only if not active
//				if (activeId != this.id && rollOver) this.setAttribute('src',this.getAttribute('osrc')); 
//			}
//			imgArr[i].onmousedown = function() {
//				//alert("aId: " + activeId);
//				if (activeId != null) {
//					if (activeId.indexOf(",") == -1) {
//						document.getElementById(activeId).setAttribute('src',document.getElementById(activeId).getAttribute('osrc'));
//					} else {
//						//if we have more than one active element (from loading init)
//						var lActiveIds = activeId.split(",");
//						for (var i = 0; i < lActiveIds.length; i++) {
//							//reset all active elements
//							document.getElementById(lActiveIds[i]).setAttribute('src',document.getElementById(lActiveIds[i]).getAttribute('osrc'));
//						}
//					}
//				}
//				activeId = this.id;
//				this.setAttribute('src',this.getAttribute('hsrc'));
//			}
//    	}
//	}
}

// branch toggle
function toggle(node) {
	if (node == null) {
		if (openBranch != null) document.getElementById(openBranch).style.display = 'none';
		return;
	}
	var parentEl;
	var parentDiv = node.parentNode;
	parentEl = node.parentNode;
	//avoid getting text nodes (white spaces) on FF etc. 
	if (parentDiv.nextSibling.nodeName == '#text') parentDiv = parentDiv.nextSibling;
	var nextDiv = parentDiv.nextSibling;
	
	// home area
	if(document.getElementById("main_home")) document.getElementById('main_home').setAttribute("class","mainNavi");
	if(document.getElementById("home")) document.getElementById('home').setAttribute("class","mainNavi");
	if(document.getElementById("main_home")) document.getElementById('main_home').setAttribute("className","mainNavi");
	if(document.getElementById("home")) document.getElementById('home').setAttribute("className","mainNavi");
	
	// about
	if(document.getElementById('main_about') && document.getElementById('about')){
	    document.getElementById('main_about').setAttribute("class","mainNavi");
	    document.getElementById('about').setAttribute("class","mainNavi");
	    document.getElementById('main_about').setAttribute("className","mainNavi");
	    document.getElementById('about').setAttribute("className","mainNavi");
    }
    
    // products
	if(document.getElementById('main_products') && document.getElementById('products')){
	    document.getElementById('main_products').setAttribute("class","mainNavi");
	    document.getElementById('products').setAttribute("class","mainNavi");
	    document.getElementById('main_products').setAttribute("className","mainNavi");
	    document.getElementById('products').setAttribute("className","mainNavi");
    }
    
    // technical
	if(document.getElementById('main_technical') && document.getElementById('technical')){
	    document.getElementById('main_technical').setAttribute("class","mainNavi");
	    document.getElementById('technical').setAttribute("class","mainNavi");
	    document.getElementById('main_technical').setAttribute("className","mainNavi");
	    document.getElementById('technical').setAttribute("className","mainNavi");
    }
    
    // inquiry
	if(document.getElementById('main_inquiry') && document.getElementById('inquiry')){
	    document.getElementById('main_inquiry').setAttribute("class","mainNavi");
	    document.getElementById('inquiry').setAttribute("class","mainNavi");
	    document.getElementById('main_inquiry').setAttribute("className","mainNavi");
	    document.getElementById('inquiry').setAttribute("className","mainNavi");
    }
    
    // updates
	if(document.getElementById('main_updates') && document.getElementById('updates')){
	    document.getElementById('main_updates').setAttribute("class","mainNavi");
	    document.getElementById('updates').setAttribute("class","mainNavi");
	    document.getElementById('main_updates').setAttribute("className","mainNavi");
	    document.getElementById('updates').setAttribute("className","mainNavi");
    }
	
	// sample request
	if(document.getElementById('main_samplerequest') && document.getElementById('samplerequest')){
	    document.getElementById('main_samplerequest').setAttribute("class","mainNavi");
	    document.getElementById('samplerequest').setAttribute("class","mainNavi");
	    document.getElementById('main_samplerequest').setAttribute("className","mainNavi");
	    document.getElementById('samplerequest').setAttribute("className","mainNavi");
    }
    
	// sitemap area
	if(document.getElementById('main_sitemap') && document.getElementById('sitemap')){
	    document.getElementById('main_sitemap').setAttribute("class","mainNavi");
	    document.getElementById('sitemap').setAttribute("class","mainNavi");
	    document.getElementById('main_sitemap').setAttribute("className","mainNavi");
	    document.getElementById('sitemap').setAttribute("className","mainNavi");
	}
	
	//unfold the branch if it isn't visible	
	if (nextDiv.style.display == 'none') {
		// close other open branch
		if (openBranch != null) {
		    document.getElementById(openBranch).style.display = 'none';
		    if (document.getElementById(openBranch.replace("sub","main"))) {
		        document.getElementById(openBranch.replace("sub","main")).setAttribute("class","mainNavi");
		        // for IE - bug
		        document.getElementById(openBranch.replace("sub","main")).setAttribute("className","mainNavi");
		    }
		}
		nextDiv.style.display = 'block';
		openBranch = nextDiv.id; //store open branch
			
	    node.setAttribute('class','mainNaviActive');
	    parentEl.setAttribute('class','mainNaviActive');
	    // for IE - bug
	    node.setAttribute('className','mainNaviActive');
	    parentEl.setAttribute('className','mainNaviActive');
	    
	} else {
		nextDiv.style.display = 'none';
		openBranch = nextDiv.id; //clear open branch
	}
}

function setActive(ids) {
	if (!ids) {
		//try to get the current productgroup/navigation from the script generated by product header (xsl)
		if (categoryGroup) ids = "products," + categoryGroup;
	}
	var currEl, parentEl, baseLinkCSS, baseDivCSS;
	var activeIds = ids.split(",");
	var gActiveIds = new Array();
	var globalActiveId = "";
	for (var i = 0; i < activeIds.length; i++) {
		gActiveIds[gActiveIds.length] = activeIds[i];
		currEl = document.getElementById(activeIds[i]);
		//alert(activeIds[i] + ", " + currEl);
		if(currEl) parentEl = currEl.parentNode;
		
		if (currEl == undefined) continue;
		if (currEl && currEl.getAttribute("submenue") && currEl.getAttribute("submenue") == "true") {
			toggle(currEl);
		}
	        
        currEl.setAttribute("class",currEl.getAttribute("class") + "Active");
        parentEl.setAttribute("class",parentEl.getAttribute("class") + "Active");
        // for IE - bug
        currEl.setAttribute("className",currEl.getAttribute("className") + "Active");
        parentEl.setAttribute("className",parentEl.getAttribute("className") + "Active");
	}
	activeId = gActiveIds.join(",");
	//alert(activeId);
}
