// JavaScript Document
/************************************************************************************************************ 
(C) www.dhtmlgoodies.com, October 2005 
This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.    
Terms of use: 
You are free to use this script as long as the copyright message is kept intact. However, you may not 
redistribute, sell or repost it without our permission. 
Thank you! 
www.dhtmlgoodies.com 
Alf Magne Kalleland 
************************************************************************************************************/    
////////////////////////// DropDown Script Starts Here //////////////////////////	
var dhtmlgoodies_menu1Obj;   // 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_menu1_arrow = '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_menu1')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_menu1')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_menu1Obj.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_menu1Obj.appendChild(ul); 
	 } 
  }    
} 

function resizeMenu() 
{ 
  var offsetParent = getLeftPos(dhtmlgoodies_menu1Obj); 
	
  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_menu1Obj = document.getElementById('dhtmlgoodies_menu1'); 
  var aTags = dhtmlgoodies_menu1Obj.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_menu1'){ 
		var img = document.createElement('IMG'); 
		img.src = dhtmlgoodies_menu1_arrow; 
		aTags[no].appendChild(img);              
	 } 
  } 
  var mainMenu = dhtmlgoodies_menu1Obj.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_menu1Obj);    
  window.onresize = resizeMenu;    
  dhtmlgoodies_menu1Obj.style.visibility = 'visible';    
}
////////////////////////// DropDown Script Ends Here //////////////////////////	






////////////////////////// Slide Show Script Starts Here //////////////////////////
var dhtmlgoodies_slideSpeed = 10;	// Higher value = faster
var dhtmlgoodies_timer = 10;	// Lower value = faster
var objectIdToSlideDown = false;
var dhtmlgoodies_activeId = false;
var dhtmlgoodies_slideInProgress = false;
function showHideContent(e,inputId)
{
	if(dhtmlgoodies_slideInProgress)return;
	dhtmlgoodies_slideInProgress = false;
	if(!inputId)inputId = this.id;
	inputId = inputId + '';
	var numericId = inputId.replace(/[^0-9]/g,'');
	var answerDiv = document.getElementById('dhtmlgoodies_a' + numericId);

	objectIdToSlideDown = false;
	
	if(!answerDiv.style.display || answerDiv.style.display=='none'){		
		if(dhtmlgoodies_activeId &&  dhtmlgoodies_activeId!=numericId){			
			objectIdToSlideDown = numericId;
			slideContent(dhtmlgoodies_activeId,(dhtmlgoodies_slideSpeed*-1));
		}else{
			
			answerDiv.style.display='block';
			answerDiv.style.visibility = 'visible';
			
			slideContent(numericId,dhtmlgoodies_slideSpeed);
		}
	}else{
		slideContent(numericId,(dhtmlgoodies_slideSpeed*-1));
		dhtmlgoodies_activeId = false;
	}	
}

function slideContent(inputId,direction)
{
	var obj =document.getElementById('dhtmlgoodies_a' + inputId);
	var contentObj = document.getElementById('dhtmlgoodies_ac' + inputId);
	height = obj.clientHeight;
	if(height==0)height = obj.offsetHeight;
	height = height + direction;
	rerunFunction = true;
	if(height>contentObj.offsetHeight){
		height = contentObj.offsetHeight;
		rerunFunction = false;
	}
	if(height<=1){
		height = 1;
		rerunFunction = false;
	}
	obj.style.height = height + 'px';
	var topPos = height - contentObj.offsetHeight;
	if(topPos>0)topPos=0;
	contentObj.style.top = topPos + 'px';
	if(rerunFunction){
		setTimeout('slideContent(' + inputId + ',' + direction + ')',dhtmlgoodies_timer);
	}else{
		if(height<=1){
			obj.style.display='none'; 
			if(objectIdToSlideDown && objectIdToSlideDown!=inputId){
				document.getElementById('dhtmlgoodies_a' + objectIdToSlideDown).style.display='block';
				document.getElementById('dhtmlgoodies_a' + objectIdToSlideDown).style.visibility='visible';
				slideContent(objectIdToSlideDown,dhtmlgoodies_slideSpeed);				
			}else{
				dhtmlgoodies_slideInProgress = false;
			}
		}else{
			dhtmlgoodies_activeId = inputId;
			dhtmlgoodies_slideInProgress = false;
		}
	}
}
function initShowHideDivs()
{
	var divs = document.getElementsByTagName('DIV');
	var divCounter = 1;
	for(var no=0;no<divs.length;no++){
		if(divs[no].className=='dhtmlgoodies_question'){
			divs[no].onclick = showHideContent;
			divs[no].id = 'dhtmlgoodies_q'+divCounter;
			var answer = divs[no].nextSibling;
			while(answer && answer.tagName!='DIV'){
				answer = answer.nextSibling;
			}
			answer.id = 'dhtmlgoodies_a'+divCounter;	
			contentDiv = answer.getElementsByTagName('DIV')[0];
			contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px'; 	
			contentDiv.className='dhtmlgoodies_answer_content';
			contentDiv.id = 'dhtmlgoodies_ac' + divCounter;
			answer.style.display='none';
			answer.style.height='1px';
			divCounter++;
		}		
	}	
}
////////////////////////// Slide Show Script Ends Here //////////////////////////



