 var dhtmlgoodies_menuObj; // Reference to the menu div 
 var currentZIndex = 1000; 
 var liIndex = 0; 
 var visibleMenus = new Array(); 
 var activeMenuItem = false; 
 var timeBeforeAutoHide = 1200; // Microseconds from mouse leaves menu to auto hide. 
 var dhtmlgoodies_menu_arrow = 'http://www.dhtmlgoodies.com/scripts/dhtmlgoodies-menu2/images/arrow.gif'; 
 
 var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false; 
 var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox')>=0?true:false; 
 var navigatorVersion = navigator.appVersion.replace(/.*?MSIE ([0-9]\.[0-9]).*/g,'$1')/1; 
 var menuBlockArray = new Array(); 
 var menuParentOffsetLeft = false; 


 // {{{ getStyle() 
 /** 
 * Return specific style attribute for an element 
 * 
 * @param Object el = Reference to HTML element 
 * @param String property = Css property 
 * @private 
 */ 
 function getStyle(el,property) 
 { 

 if (document.defaultView && document.defaultView.getComputedStyle) { 

 var retVal = null; 
 var comp = document.defaultView.getComputedStyle(el, ''); 
 if (comp){ 
 retVal = comp[property]; 
 
 if(!retVal){ 
 var comp = document.defaultView.getComputedStyle(el, null); 
 retVal = comp.getPropertyCSSValue(property); 
 } 
 } 

 if(retVal==null)retVal=''; 
 
 return el.style[property] || retVal; 
 } 
 if (document.documentElement.currentStyle && MSIE){ 
 var value = el.currentStyle ? el.currentStyle[property] : null; 
 return ( el.style[property] || value ); 
 
 } 
 return el.style[property]; 
 } 
 
 function getTopPos(inputObj) 
 { 
 	var origInputObj = inputObj;
 
 var returnValue = inputObj.offsetTop; 
 if(inputObj.tagName=='LI' && inputObj.parentNode.className=='menuBlock1'){ 
 var aTag = inputObj.getElementsByTagName('A')[0]; 
 if(aTag)returnValue += aTag.parentNode.offsetHeight; 
 } 
 var topOfMenuReached = false; 
 while((inputObj = inputObj.offsetParent) != null){ 
 if(inputObj.parentNode.id=='dhtmlgoodies_menu')topOfMenuReached=true; 
 if(topOfMenuReached && !inputObj.className.match(/menuBlock/gi) || (!MSIE && origInputObj.parentNode.className=='menuBlock1')){ 
 var style = getStyle(inputObj,'position'); 
 if(style=='absolute' || style=='relative'){ 
 return returnValue; 
 } 
 } 
 
 returnValue += inputObj.offsetTop; 
 } 

 return returnValue; 
 } 
 
 function getLeftPos(inputObj) 
 { 
 var returnValue = inputObj.offsetLeft; 
 
 var topOfMenuReached = false; 
 while((inputObj = inputObj.offsetParent) != null){ 
 if(inputObj.parentNode.id=='dhtmlgoodies_menu')topOfMenuReached=true; 
 if(topOfMenuReached && !inputObj.className.match(/menuBlock/gi)){ 
 var style = getStyle(inputObj,'position'); 
 if(style=='absolute' || style=='relative')return returnValue; 
 } 
 
 returnValue += inputObj.offsetLeft; 
 } 
 return returnValue; 
 } 


 
 function showHideSub() 
 { 

 var attr = this.parentNode.getAttribute('currentDepth'); 
 if(navigator.userAgent.indexOf('Opera')>=0){ 
 attr = this.parentNode.currentDepth; 
 } 
 
 this.className = 'currentDepth' + attr + 'over'; 
 
 if(activeMenuItem && activeMenuItem!=this){ 
 activeMenuItem.className=activeMenuItem.className.replace(/over/,''); 
 } 
 activeMenuItem = this; 
 
 var numericIdThis = this.id.replace(/[^0-9]/g,''); 
 var exceptionArray = new Array(); 
 // Showing sub item of this LI 
 var sub = document.getElementById('subOf' + numericIdThis); 
 if(sub){ 
 visibleMenus.push(sub); 
 sub.style.display=''; 
 sub.parentNode.className = sub.parentNode.className + 'over'; 
 exceptionArray[sub.id] = true; 
 } 
 
 // Showing parent items of this one 
 
 var parent = this.parentNode; 
 while(parent && parent.id && parent.tagName=='UL'){ 
 visibleMenus.push(parent); 
 exceptionArray[parent.id] = true; 
 parent.style.display=''; 
 
 var li = document.getElementById('dhtmlgoodies_listItem' + parent.id.replace(/[^0-9]/g,'')); 
 if(li.className.indexOf('over')<0)li.className = li.className + 'over'; 
 parent = li.parentNode; 
 
 } 

 
 hideMenuItems(exceptionArray); 



 } 

 function hideMenuItems(exceptionArray) 
 { 
 /* 
 Hiding visible menu items 
 */ 
 var newVisibleMenuArray = new Array(); 
 for(var no=0;no<visibleMenus.length;no++){ 
 if(visibleMenus[no].className!='menuBlock1' && visibleMenus[no].id){ 
 if(!exceptionArray[visibleMenus[no].id]){ 
 var el = visibleMenus[no].getElementsByTagName('A')[0]; 
 visibleMenus[no].style.display = 'none'; 
 var li = document.getElementById('dhtmlgoodies_listItem' + visibleMenus[no].id.replace(/[^0-9]/g,'')); 
 if(li.className.indexOf('over')>0)li.className = li.className.replace(/over/,''); 
 }else{ 
 newVisibleMenuArray.push(visibleMenus[no]); 
 } 
 } 
 } 
 visibleMenus = newVisibleMenuArray; 
 } 
 
 
 
 var menuActive = true; 
 var hideTimer = 0; 
 function mouseOverMenu() 
 { 
 menuActive = true; 
 } 
 
 function mouseOutMenu() 
 { 
 menuActive = false; 
 timerAutoHide(); 
 } 
 
 function timerAutoHide() 
 { 
 if(menuActive){ 
 hideTimer = 0; 
 return; 
 } 
 
 if(hideTimer<timeBeforeAutoHide){ 
 hideTimer+=100; 
 setTimeout('timerAutoHide()',99); 
 }else{ 
 hideTimer = 0; 
 autohideMenuItems(); 
 } 
 } 
 
 function autohideMenuItems() 
 { 
 if(!menuActive){ 
 hideMenuItems(new Array()); 
 if(activeMenuItem)activeMenuItem.className=activeMenuItem.className.replace(/over/,''); 
 } 
 } 
 
 
 function initSubMenus(inputObj,initOffsetLeft,currentDepth) 
 { 
 var subUl = inputObj.getElementsByTagName('UL'); 
 if(subUl.length>0){ 
 var ul = subUl[0]; 
 
 ul.id = 'subOf' + inputObj.id.replace(/[^0-9]/g,''); 
 ul.setAttribute('currentDepth' ,currentDepth); 
 ul.currentDepth = currentDepth; 
 ul.className='menuBlock' + currentDepth; 
 ul.onmouseover = mouseOverMenu; 
 ul.onmouseout = mouseOutMenu; 
 currentZIndex+=1; 
 ul.style.zIndex = currentZIndex; 
 menuBlockArray.push(ul); 
 ul = dhtmlgoodies_menuObj.appendChild(ul); 
 var topPos = getTopPos(inputObj); 
 var leftPos = getLeftPos(inputObj)/1 + initOffsetLeft/1; 
 
 ul.style.position = 'absolute'; 
 ul.style.left = leftPos + 'px'; 
 ul.style.top = topPos + 'px'; 
 var li = ul.getElementsByTagName('LI')[0]; 
 while(li){ 
 if(li.tagName=='LI'){ 
 li.className='currentDepth' + currentDepth; 
 li.id = 'dhtmlgoodies_listItem' + liIndex; 
 liIndex++; 
 var uls = li.getElementsByTagName('UL'); 
 li.onmouseover = showHideSub; 

 if(uls.length>0){ 
 var offsetToFunction = li.getElementsByTagName('A')[0].offsetWidth+2; 
 if(navigatorVersion<6 && MSIE)offsetToFunction+=15; // MSIE 5.x fix 
 initSubMenus(li,offsetToFunction,(currentDepth+1)); 
 } 
 if(MSIE){ 
 var a = li.getElementsByTagName('A')[0]; 
 a.style.width=li.offsetWidth+'px'; 
 a.style.display='block'; 
 } 
 } 
 li = li.nextSibling; 
 } 
 ul.style.display = 'none'; 
 if(!document.all){ 
 //dhtmlgoodies_menuObj.appendChild(ul); 
 } 
 } 
 } 


 function resizeMenu() 
 { 
 var offsetParent = getLeftPos(dhtmlgoodies_menuObj); 
 
 for(var no=0;no<menuBlockArray.length;no++){ 
 var leftPos = menuBlockArray[no].style.left.replace('px','')/1; 
 menuBlockArray[no].style.left = leftPos + offsetParent - menuParentOffsetLeft + 'px'; 
 } 
 menuParentOffsetLeft = offsetParent; 
 } 
 
 /* 
 Initializing menu 
 */ 
 function initDhtmlGoodiesMenu() 
 { 
 dhtmlgoodies_menuObj = document.getElementById('dhtmlgoodies_menu'); 
 
 
 var aTags = dhtmlgoodies_menuObj.getElementsByTagName('A'); 
 for(var no=0;no<aTags.length;no++){ 

 var subUl = aTags[no].parentNode.getElementsByTagName('UL'); 
 if(subUl.length>0 && aTags[no].parentNode.parentNode.parentNode.id != 'dhtmlgoodies_menu'){ 
 var img = document.createElement('IMG'); 
 img.src = dhtmlgoodies_menu_arrow; 
 aTags[no].appendChild(img); 

 } 

 } 
 
 var mainMenu = dhtmlgoodies_menuObj.getElementsByTagName('UL')[0]; 
 mainMenu.className='menuBlock1'; 
 mainMenu.style.zIndex = currentZIndex; 
 mainMenu.setAttribute('currentDepth' ,1); 
 mainMenu.currentDepth = '1'; 
 mainMenu.onmouseover = mouseOverMenu; 
 mainMenu.onmouseout = mouseOutMenu; 

 var mainMenuItemsArray = new Array(); 
 var mainMenuItem = mainMenu.getElementsByTagName('LI')[0]; 
 mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px'; 
 while(mainMenuItem){ 
 
 mainMenuItem.className='currentDepth1'; 
 mainMenuItem.id = 'dhtmlgoodies_listItem' + liIndex; 
 mainMenuItem.onmouseover = showHideSub; 
 liIndex++; 
 if(mainMenuItem.tagName=='LI'){ 
 mainMenuItem.style.cssText = 'float:left;'; 
 mainMenuItem.style.styleFloat = 'left'; 
 mainMenuItemsArray[mainMenuItemsArray.length] = mainMenuItem; 
 initSubMenus(mainMenuItem,0,2); 
 } 
 
 mainMenuItem = mainMenuItem.nextSibling; 
 
 } 

 for(var no=0;no<mainMenuItemsArray.length;no++){ 
 initSubMenus(mainMenuItemsArray[no],0,2); 
 } 
 
 menuParentOffsetLeft = getLeftPos(dhtmlgoodies_menuObj); 
 window.onresize = resizeMenu; 
 dhtmlgoodies_menuObj.style.visibility = 'visible'; 
 } 
//	window.onload = initDhtmlGoodiesMenu;
