
var g_timeoutTime = 250; 

var g_echoCount = 0;

var g_initHome = true;
var g_timeoutHead = 0;

var g_timeoutHide1 = 0;
var g_timeoutHide2 = 0;
var g_timeoutHide3 = 0;
var g_timeoutHide4 = 0;

var g_currentNav1 = "";
var g_currentNav2 = "";
var g_currentNav3 = "";
var g_currentNav4 = "";

var g_currentHi1 = "";
var g_currentHi2 = "";
var g_currentHi3 = "";
var g_currentHi4 = "";

var G_MAXSUBLAYERS = 16;

var g_timeoutOver = 0;

var g_activBG1 = "";
var g_activBG2 = "";
var g_activBG3 = "";
var g_activBG4 = "";

var g_activ_produkt = "";
var g_activ_navi = "";

function overNav(level, sName, sSelf)
{
	
    if (g_initHome)
    {
        if (level == 0 || level == "0")
        {
          // echo("level in 0");			
            if (g_timeoutHide1 != 0) { clearTimeout(g_timeoutHide1); }          			
           	if (g_currentNav1 != "") { hideSubLayers(g_currentNav1); }
			if (g_currentHi1 != "") { hideMainActiv(g_currentHi1); }
			if (g_activBG1 != "") { hideBG(g_activBG1); }
			if (g_timeoutOver != 0) { clearTimeout(g_timeoutOver); }	
			
			showMainActiv(sSelf);			
            showNav(level + 1, sName, sSelf);
			showBG(sName);
			g_activBG1 = sName;
            g_currentNav1 = sName;
            g_currentHi1 = sSelf;            
        }
        else if (level == 1 || level == "1")
        {
          // echo("level in 1");

            if (g_timeoutHide1 != 0) { clearTimeout(g_timeoutHide1); }
            if (g_timeoutHide2 != 0) { clearTimeout(g_timeoutHide2); }						 		
            if (g_currentNav2 != "") { hideSubLayers(g_currentNav2); }
			
			if (g_activBG2 != "") { hideBG(g_activBG2); }
			
			setNacActiv(sName, sSelf);
            showNav(level + 1, sName, sSelf);
			showBG(sName);
			g_activBG2 = sName;
            g_currentNav2 = sName;
            g_currentHi2 = sSelf;
        }
        else if (level == 2 || level == "2")
        {
       
            if (g_timeoutHide1 != 0) { clearTimeout(g_timeoutHide1); }
            if (g_timeoutHide2 != 0) { clearTimeout(g_timeoutHide2); }
            if (g_timeoutHide3 != 0) { clearTimeout(g_timeoutHide3); }			
            if (g_currentNav3 != "") { hideSubLayers(g_currentNav3); }
            
			if (g_activBG3 != "") { hideBG(g_activBG3); }
			
			setNacActiv(sName, sSelf);
            showNav(level + 1, sName, sSelf);
			showBG(sName);
			g_activBG3 = sName;
			g_currentNav3 = sName;
            g_currentHi3 = sSelf;            
        }
        else if (level == 3 || level == "3")
        {
           //echo("level in 3");			
			
            if (g_timeoutHide1 != 0) { clearTimeout(g_timeoutHide1); }
            if (g_timeoutHide2 != 0) { clearTimeout(g_timeoutHide2); }
            if (g_timeoutHide3 != 0) { clearTimeout(g_timeoutHide3); }
            if (g_timeoutHide4 != 0) { clearTimeout(g_timeoutHide4); }

			if (g_activBG4 != "") { hideBG(g_activBG4); }
			
            if (g_currentNav4 != "") { hideSubLayers(g_currentNav4); }
			
			setNacActiv(sName, sSelf);
			showBG(sName);
			g_activBG4 = sName;
			
            showNav(level + 1, sName, sSelf);
            g_currentNav4 = sName;
        }
		
		g_activ_navi = sName;
    }	
}

function showMainActiv(sSelf){
	
	var elem = document.getElementById(sSelf);	
	var elemOver = document.getElementById('OverLayer');
	var elemMain = document.getElementById('subNavi_container');
		 
	if (elem){		
		addClass(elem, "activ");		
    }
	if(elemOver){
		elemOver.style.display = 'block';
	}
	if(elemMain){
		elemMain.style.display = 'block';
	}
	
}
function showBG(sSelf){
	
	
	var obj	= document.getElementById('main_container_content');
	obj.style.overflow = 'hidden';	
	
	var elem = document.getElementById('nav_' + sSelf);	
		 
	if (elem){		
		elem.style.display = 'block';	
    }
}
function hideBG(sSelf){
	
	var obj	= document.getElementById('main_container_content');
	obj.style.overflow = 'auto';
		
	var elem = document.getElementById('nav_' + sSelf);			 
	if (elem){		
		elem.style.display = 'none';		
    }
}
function hideMainActiv(sSelf){
	
	var elem = document.getElementById(sSelf);			 
	if (elem){		
		removeClass(elem, "activ");
		
    }
}

function hideOverActiv(){
	
	var elemOver = document.getElementById('OverLayer');
	var elemMain = document.getElementById('subNavi_container');
	if(elemOver){
		elemOver.style.display = 'none';
	}
	if(elemMain){
		elemMain.style.display = 'none';
	}
	
}


function setNacActiv(sName, sSelf){

	var i = 0;
    for (i = 1; i <= G_MAXSUBLAYERS; i++)
    {
        var s = "nav_" + sName + "_" + i;
        var elem = document.getElementById(s);
		
        if (elem)
        {
            removeClass(elem, "activ");	
        }
    }
	
	 var elem = document.getElementById(sSelf);
	 var elemOver = document.getElementById('OverLayer');	
        if (elem)
        {
            addClass(elem, "activ");
        }
	if(elemOver){
		elemOver.style.display = 'block';
	}
	

    return true;
}

function showNav(level, sName, sSelf)
{
    var foundOne = showSubLayers(sName);
}



function outNav(level)
{
				
    if (g_initHome)
    {
        if (level == 0 || level == "0")
        {
           	//echo("level out 0");
            g_timeoutHide1 = setTimeout("hideNav(1,\"" + g_currentNav1 + "\",\"" + g_currentHi1 + "\")", g_timeoutTime);      
        }
        else if (level == 1 || level == "1")
        {
           // echo("level out 1");
			setNacActiv(g_currentNav1);
            g_timeoutHide1 = setTimeout("hideNav(1,\"" + g_currentNav1 + "\",\"" + g_currentHi1 + "\")", g_timeoutTime);
            g_timeoutHide2 = setTimeout("hideNav(2,\"" + g_currentNav2 + "\",\"" + g_currentHi2 + "\")", g_timeoutTime);
        }
        else if (level == 2 || level == "2")
        {
          	//echo("level out 2");
			setNacActiv(g_currentNav1);
			setNacActiv(g_currentNav2);
            g_timeoutHide1 = setTimeout("hideNav(1,\"" + g_currentNav1 + "\",\"" + g_currentHi1 + "\")", g_timeoutTime);
            g_timeoutHide2 = setTimeout("hideNav(2,\"" + g_currentNav2 + "\",\"" + g_currentHi2 + "\")", g_timeoutTime);
            g_timeoutHide3 = setTimeout("hideNav(3,\"" + g_currentNav3 + "\",\"" + g_currentHi3 + "\")", g_timeoutTime);
        }
        else if (level == 3 || level == "3")
        {
            //echo("level out 3");
			setNacActiv(g_currentNav2);
			setNacActiv(g_currentNav3);
            g_timeoutHide1 = setTimeout("hideNav(1,\"" + g_currentNav1 + "\",\"" + g_currentHi1 + "\")", g_timeoutTime);
            g_timeoutHide2 = setTimeout("hideNav(2,\"" + g_currentNav2 + "\",\"" + g_currentHi2 + "\")", g_timeoutTime);
            g_timeoutHide3 = setTimeout("hideNav(3,\"" + g_currentNav3 + "\",\"" + g_currentHi3 + "\")", g_timeoutTime);
            g_timeoutHide4 = setTimeout("hideNav(4,\"" + g_currentNav4 + "\",\"" + g_currentHi4 + "\")", g_timeoutTime);
        }
        else
        {
            echo("level out is else: " + level);
        }         
    }
}

function hideNav(level, sName, sSelf)
{
    if (level == 1) { g_timeoutHide1 = 0; g_currentNav1 = ""; g_currentSelf1 = ""; }
    if (level == 2) { g_timeoutHide2 = 0; g_currentNav2 = ""; g_currentSelf2 = ""; }
    if (level == 3) { g_timeoutHide3 = 0; g_currentNav3 = ""; g_currentSelf3 = ""; }
    if (level == 4) { g_timeoutHide4 = 0; g_currentNav4 = ""; }
 
 	if(level == 1){
		 g_timeoutOver = setTimeout("hideOverActiv()", g_timeoutTime);	
	}	
	hideMainActiv(sSelf);	  
	hideBG(sName);
    hideSubLayers(sName);
}

function showSubLayers(sName)
{
    var i = 0;
    var foundOne = false;	
    for (i = 1; i <= G_MAXSUBLAYERS; i++)
    {
        var s = "nav_" + sName + "_" + i;
        var elem = document.getElementById(s);
		
        if (elem)
        {
            foundOne = true;
        }
        else
        {
            break;
        }

        showLr(s);
    }

    return foundOne;
}

function showLr(id)
{
	var elm = document.getElementById(id);
    if (elm) {
        elm.style.display = "block";
    }
}

function hideSubLayers(sName)
{
    var i = 0;
    var foundOne = false;

    for (i = 1; i <= G_MAXSUBLAYERS; i++)
    {
        var s = "nav_" + sName + "_" + i;
        var elem = document.getElementById(s);		
        if (elem)
        {
            foundOne = true;
        }
        else
        {
            break;
        }

        hideLr(s);
    }

    return foundOne;
}

function hideLr(id)
{	
    var elm = document.getElementById(id);
    if (elm) {
        elm.style.display = "none";
    }	
}

function echo(s)
{
 
    var elDebug = document.getElementById("debug");
    elDebug.innerHTML = "<div><span>" + (++g_echoCount) + ".</span> " + s + "</div>" + elDebug.innerHTML;
	
}

function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {	
	if (!this.hasClass(ele,cls)){ 
		ele.className += " "+cls;
	}
}
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

/*LOAD IN PRODCTS*/
function setProduct(urlContent, nameObj){
	
	var conObj = document.getElementById(nameObj);

	if(urlContent != g_activ_produkt){
		loadContent(urlContent, conObj);
		g_activ_produkt = urlContent;
	}
}


function loadContent(url, conObj){
	
	conObj.style.display = 'none';
	conObj.innerHTML = '';
	var page_request = false;
	if (window.XMLHttpRequest){
		// if Mozilla, Safari etc
		page_request = new XMLHttpRequest();	
	}else if (window.ActiveXObject){ // if IE
			try {
				page_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
		catch (e){
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e){}
		}
	}else{
		return false;
	}
	page_request.onreadystatechange=function(){
		loadpage(page_request);
	}
		page_request.open('GET', url, true);
		page_request.send(null);

	function loadpage(page_request){
		if (page_request.readyState == 4){	
			conObj.innerHTML = page_request.responseText;
			conObj.style.display = 'block';
		}
	}
}

function gotoUrl(url){
  if(url != ""){
    document.location = url;
  }
}


/*--- init ----*/

function initNav() { 
	if (!document.getElementsByTagName) { return; }
	var anchors = (this.isFrame) ? window.parent.frames[window.name].document.getElementsByTagName('a') : document.getElementsByTagName('a');
	for (var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];	
		var relAttribute = String(anchor.getAttribute('rel'));
		if (anchor.getAttribute('href')) {
			if (relAttribute.toLowerCase().match('mnav')) {
				anchor.href = "#"
			}
		}
	}
}

if (window.addEventListener) {	
	window.addEventListener("load",initNav,false);
} else if (window.attachEvent) {	
	window.attachEvent("onload",initNav);
} else {	
	window.onload = function() {initNav();}
}

