
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
function opacity(ido, opacStart, opacEnd, millisec) { 
    //speed for each frame 
	
	ido2 = ido; 
	
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + ido2 + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("changeOpac(" + i + ",'" + ido2 + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

//change the opacity for different browsers 
function changeOpac(opacity, ido3) {
	ido2.style.opacity = (opacity / 100); 
	ido2.style.MozOpacity = (opacity / 100); 
	ido2.style.KhtmlOpacity = (opacity / 100); 
	ido2.style.filter = "alpha(opacity=" + opacity + ")"; 
}

function menu_highlight(mhid,mhclass,mhtag,mrelpage){
	
	// Find menu by one of fourth ways
	
	//function noe(){return true;}
	//window.onerror = noe;
	
	if(mhid != null){
		// by id
		if(mhtag != null){
			// parent
			var menuobj1 = document.getElementById(mhid);
			var menuobj3 = menuobj1.getElementsByTagName("ul");
			var menuobj4 = menuobj3[0];
			
			mhid = mhid+"ah";
			menuobj4.id = mhid;
		}else{
			// ul

		}
	}else if (mhclass != null){
		// by class
		if(mhtag != null){
			// parent
			var menuobj1 = getElementsByClass(mhclass,null,mhtag);
			var menuobj2 = menuobj1[0];
			var menuobj3 = menuobj2.getElementsByTagName("ul");
			var menuobj4 = menuobj3[0];
		}else{
			// ul
			var menuobj1 = getElementsByClass(mhclass,null,"ul");
			var menuobj4 = menuobj1[0];
		}
		mhid = "highlmenu";
		menuobj4.id = mhid;
		
	}

	// Run highlight script
	
	preparemenu(mhid,mrelpage);
	
	//alert("aaa" + menuobj.innerHTML);
	
	
}

function firstlvlstyling(obj){
	// To add class for item with sub levels
	obj.firstChild.className = "hasDropdown";
}

function secondlvlstyling(obj){

}

function thirdlvlstyling(obj){
	// To add class for parent level (parent level have subitems)
	obj.parentNode.parentNode.firstChild.className = "hasDropdown";
}



// Array indexOf function for IE
if(!Array.indexOf){
	    Array.prototype.indexOf = function(obj){
	        for(var i=0; i<this.length; i++){
	            if(this[i]==obj){
	                return i;
	            }
	        }
	        return -1;
	    }
	}

function preparemenu(menuid,mrelpage){
	
	// get active page adress
	

	var pageurl = window.location.href;

	// read menu
	
	var menuobj = document.getElementById(menuid);	
	// if JS enabled close sublists
	menuobj.className = "jsworking";
	
	var node = menuobj.getElementsByTagName("LI");
	
	// arrays for menu data
	var arr2 = new Array();
	var arr1 = new Array();
	
	// parse menu
	for (i=0; i<node.length; i++) {
		var parentid = node[i].parentNode.parentNode.id;
		if(node[i].parentNode.id == menuid){
			// first level
			arr2[i] = "s";
			node[i].id = i;
			firstlvlstyling(node[i]);
		}else if(arr2[parentid] == "s"){
			// second level
			arr2[i] = node[i].parentNode.parentNode.id;
			node[i].id = i;
			secondlvlstyling(node[i]);
		}else{
			// other levels
			arr2[i] = node[i].parentNode.parentNode.id;
			node[i].id = i;
			thirdlvlstyling(node[i]);
		}
		arr1[i] = node[i].firstChild.href;
		node[i].onmouseover=function()
        {

			this.className = this.className + " openlistie6";
			/* var alist = this.getElementsByTagName("UL");

			var togive = alist[0];
			
			opacity(togive, 0, 100, 500); */

        }
		node[i].onmouseout=function()
        {

			this.className = this.className.replace("openlistie6", "");
			

        }

	}
	
	var kur1 = pageurl.search("#");
 	if(kur1>8){
 	pageurl = pageurl.substring(0,kur1);
 	}
	
 /////////////////// relpage
	
	var kur = pageurl.substring(8).search("/");
	kur = kur + 8 + 1;
	
	
	var pageurl2 = pageurl.substring(kur);
	var pageurl3 = pageurl.substring(0,kur);
	if(mrelpage[pageurl2]){
	if(mrelpage[pageurl2].length > 3){
	
		pageurl = pageurl3 + mrelpage[pageurl2];
	
	}
	}
	
	
	
	
	// search for active menu node
	var activenodeid = arr1.indexOf(pageurl);
	if (activenodeid >= 0){
		
		
		
		// active node found
		
		var activenodeobj = document.getElementById(activenodeid);

		// set active
		
		// icon activation
		var icon1 = document.getElementById("topnav1");
		var icon2 = document.getElementById("topnav2");
		var icon3 = document.getElementById("topnav3");
		
		if(activenodeobj.firstChild.href == icon1.href){
			icon1.className = icon1.className + " activeicon";
		}
		if(activenodeobj.firstChild.href == icon2.href){
			icon2.className = icon2.className + " activeicon";
		}
		if(activenodeobj.firstChild.href == icon3.href){
			icon3.className = icon3.className + " activeicon";
		}

		if(arr2[activenodeid] == "s"){
			// active node in first level
			
			activenodeobj.firstChild.className = "firstlvlactive";
			// show sub list
			var actlist = activenodeobj.getElementsByTagName("UL");
			if(actlist.length > 0){
				actlist[0].className = "openlist";
			}
		}else if(arr2[arr2[activenodeid]] == "s"){
			// active node in second level
			activenodeobj.firstChild.className = "sublvlactive";
			// activate parent node
			document.getElementById(arr2[activenodeid]).firstChild.className = "firstlvlactive";
			// show parent sub list
			var actlist = activenodeobj.getElementsByTagName("UL");
			if(actlist.length > 0){
				actlist[0].className = "openlist";
			}
			// show sub list
			var actlist2 = document.getElementById(arr2[activenodeid]).getElementsByTagName("UL");
			if(actlist2.length > 0){
				actlist2[0].className = "openlist";
			}
		}else if(arr2[arr2[arr2[activenodeid]]] == "s"){
			// active node in third level
			activenodeobj.firstChild.className = "sublvlactive";
			// activate(open) parent node
			document.getElementById(arr2[activenodeid]).firstChild.className = "sublvlopen";
			// activate parent parent node
			document.getElementById(arr2[arr2[activenodeid]]).firstChild.className = "firstlvlactive";
			
			// show sub list
			var actlist = activenodeobj.getElementsByTagName("UL");
			if(actlist.length > 0){
				actlist[0].className = "openlist";
			}
			// show parent sub list
			var actlist2 = document.getElementById(arr2[activenodeid]).getElementsByTagName("UL");
			if(actlist2.length > 0){
				actlist2[0].className = "openlist";
			}
			// show parent parent sub list
			var actlist3 = document.getElementById(arr2[arr2[activenodeid]]).getElementsByTagName("UL");
			if(actlist3.length > 0){
				actlist3[0].className = "openlist";
			}
		}else{
			// active node in fourth level
			activenodeobj.firstChild.className = "sublvlactive";
			// activate(open) parent node
			document.getElementById(arr2[activenodeid]).firstChild.className = "sublvlopen";
			// activate parent parent node
			document.getElementById(arr2[arr2[activenodeid]]).firstChild.className = "sublvlopen";
			
			// activate parent parent node
			document.getElementById(arr2[arr2[arr2[activenodeid]]]).firstChild.className = "firstlvlactive";
			
			// show sub list
			var actlist = activenodeobj.getElementsByTagName("UL");
			if(actlist.length > 0){
				actlist[0].className = "openlist";
			}
			// show parent sub list
			var actlist2 = document.getElementById(arr2[activenodeid]).getElementsByTagName("UL");
			if(actlist2.length > 0){
				actlist2[0].className = "openlist";
			}
			// show parent parent sub list
			var actlist3 = document.getElementById(arr2[arr2[activenodeid]]).getElementsByTagName("UL");
			if(actlist3.length > 0){
				actlist3[0].className = "openlist";
			}
			// show parent parent parent sub list
			var actlist4 = document.getElementById(arr2[arr2[arr2[activenodeid]]]).getElementsByTagName("UL");
			if(actlist4.length > 0){
				actlist4[0].className = "openlist";
			}
		}
	}
	
	//Services
	
	var kur = pageurl.substring(8).search("/");
	kur = kur + 8 + 1;
	
	
	var kur4 = pageurl2.search("/");
	kur4 = kur4 + 1;
	var pageurl4s = pageurl2.substring(0,kur4);
	var pageurl4 = pageurl3 + pageurl4s;
	
	
	
	if(pageurl2.substring(kur4).search("/") > 0){
		kur4 = kur4 + pageurl2.substring(kur4).search("/");
		kur4 = kur4 + 1;
		
		pageurl4s = pageurl2.substring(0,kur4);
		pageurl4 = pageurl3 + pageurl4s;
	}
	
	var servicesnodeid = arr1.indexOf(pageurl4 + "services.htm");
	var serviceobj = document.getElementById(servicesnodeid);
	
	serviceobj.firstChild.id = "aservicemenu";
	serviceobj.id = "aservicemenuo";
	var snodes = serviceobj.getElementsByTagName("A");
	var si = 1;
	for (i=0; i<snodes.length; i++) {
		if(snodes[i].parentNode.parentNode.parentNode.firstChild.id == "aservicemenu"){
			snodes[i].id = "servicecol" + si;
			si = si + 1;
		}
	}
	
}