﻿var topLevelNav = ['Home','C_Services','Research','Career','About'];
var subLevelNav = [];
subLevelNav[0] = [['Denmark','Home/Denmark.aspx'],['Finland','Home/Finland.aspx'],['France','Home/France.aspx'],['Germany','Home/Germany.aspx'],['Norway','Home/Norway.aspx'],['Sweden','Home/Sweden.aspx']]
subLevelNav[1] = [['Our Approach', 'ConsultingServices/OurApproach.aspx'], ['Industries', 'ConsultingServices/Industries.aspx', [['Aerospace & Defence', 'ConsultingServices/Industries/Aerospace/Aerospace.aspx'], ['Chemicals', 'ConsultingServices/Industries/Chemicals/Chemicals.aspx'], ['CPG / FMCG', 'ConsultingServices/Industries/CPG_FMCG/CPG_FMCG.aspx'], ['Energy', 'ConsultingServices/Industries/Energy/Energy.aspx'], ['Financial Services', 'ConsultingServices/Industries/FinancialServices/FinancialServices.aspx'], ['Government', 'ConsultingServices/Industries/Government/CelerantGovernmentServices.aspx'], ['Life Sciences', 'ConsultingServices/Industries/LifeSciences/LifeSciences.aspx'], ['Manufacturing', 'ConsultingServices/Industries/Manufacturing/Manufacturing.aspx'], ['Private Equity', 'ConsultingServices/Industries/PrivateEquity/PrivateEquity.aspx'], ['Telecoms', 'ConsultingServices/Industries/Telecoms/Telecoms.aspx'], ['Utilities', 'ConsultingServices/Industries/Utilities/Utilities.aspx']]], ['Capabilities', 'ConsultingServices/Capabilities.aspx', [['Asset Management', 'ConsultingServices/Capabilities/AM/AssetManagement.aspx'], ['Business Performance Management', 'ConsultingServices/Capabilities/BPM/BusinessPerformanceManagement.aspx'], ['Innovation', 'ConsultingServices/Capabilities/Innovation/Innovation.aspx'], ['Integrated Supply Chain', 'ConsultingServices/Capabilities/ISC/IntegratedSupplyChain.aspx'], ['Organisational Effectiveness', 'ConsultingServices/Capabilities/OE/OrganisationalEffectiveness.aspx'], ['Process Excellence', 'ConsultingServices/Capabilities/PEX/ProcessExcellence.aspx'], ['Rapid Cash Release', 'ConsultingServices/Capabilities/RCR/RapidCashRelease.aspx'], ['Revenue Growth', 'ConsultingServices/Capabilities/RG/RevenueGrowth.aspx']]], ['Case Studies &amp; Results', 'ConsultingServices/Results.aspx']]
subLevelNav[2] = [['Change Management Survey','Research/ChangeManagement/EIU.aspx'],['Private Equity Survey','Research/PrivateEquity/PrivateEquityResearch.aspx'],['Books','Research/Books.aspx']]
subLevelNav[3] = [['Our Values','Careers/OurValues.aspx'],['Life at Celerant','Careers/LifeAtCelerant.aspx'],['Current Opportunities','Careers/CurrentOpportunities.aspx']]
subLevelNav[4] = [['Leadership','AboutUs/Leadership/Leadership.aspx',[['Advisors','AboutUs/Leadership/Advisors.aspx'],['Local Leadership','AboutUs/Leadership/CountryLeadership.aspx']]],['Offices','AboutUs/Offices.aspx'],['Media Centre','AboutUs/MediaCentre/MediaCentre.aspx',[['PR Archive','AboutUs/MediaCentre/PrArchive.aspx']]],['Contact Us','AboutUs/ContactUs.aspx']]

var timeout	= 300;
var closetimer	= 0;
var expandedNav	= 0;

var strYouAreHere = '';

function swapTopNav(IDToTurnOn) {

  var strItem = '';
  
  //Turn All Other Nav Items Off
  for (var i=0; i < topLevelNav.length; i++)
  {
    strItem = topLevelNav[i];
    if (strItem != IDToTurnOn)
    {
      turnTopItem(strItem, false);
    }
  }
  
  //Turn Nav Item On
  if (IDToTurnOn != '') {
    turnTopItem(IDToTurnOn, true);
  }

}

function turnTopItem(IDToTurn, OnOrOff) {

  var navItemOn = document.getElementsByName(IDToTurn + '_On')[0];
  var navItemOff = document.getElementsByName(IDToTurn + '_Off')[0];
  var styleForItemOn = OnOrOff ? 'inline':'none';
  var strleForItemOff = OnOrOff ? 'none':'inline';
  
  if (navItemOn.style.display != styleForItemOn) {
    navItemOn.style.display = styleForItemOn;
  }
  
  if (navItemOff.style.display != strleForItemOff) {
    navItemOff.style.display = strleForItemOff;
  }
  
  //Propogate onmouseover function from Off Item to On Item automatically
  navItemOn.setAttribute('onmouseover', navItemOff.getAttribute('onmouseover'))

}

function swapNav(navID) {

  //Take Copy Of You Are Here HTML
  if (strYouAreHere == '') {
    var divPageNavLeftBottom = document.getElementById('pageNavLeftBottom');
    if (divPageNavLeftBottom) {
      strYouAreHere = divPageNavLeftBottom.innerHTML;
    }
  }

  swapTopNav(navID)
  
  /* Sub Navigation */
  var subLevelNavItem = subLevelNav[topLevelNav.indexOf(navID)];  
     var divPageNavLeftBottom = document.getElementById('pageNavLeftBottom');
     
     var arrIndex=topLevelNav.indexOf(navID);
     
     divPageNavLeftBottom.className = 'subNavLeft';
     //Set styling for sub menus
        if (arrIndex==3 || arrIndex==4){
        divPageNavLeftBottom.className = 'subNavRight';
      //}else if (arrIndex==2){
     // divPageNavLeftBottom.className = 'subNavCentre';
      } else{
      divPageNavLeftBottom.className = 'subNavLeft';
      
      }
     
  if (subLevelNavItem) {
  
 
    var strSubNav = '';
    var strThirdNav = '';
  
    if (subLevelNavItem.length > 0) {
      for(var i=0; i < subLevelNavItem.length; i++) {
        strSubNav = strSubNav + '<a onmouseout="mcancelclosetime(); mclosetime();" href="' + srcSiteRoot + subLevelNavItem[i][1] + '"';
        
        //If Second Level Navigation
        var thirdLevelNav = subLevelNavItem[i][2];
        if (thirdLevelNav) {
          
           strThirdNav= '<div onmouseout="mclosetime();" onmouseover="mcancelclosetime();" id="Sub_Nav_' + navID + '_' + i + '" style="display: none;" class="thirdLevelNav">'
          for (var j=0; j < thirdLevelNav.length; j++) {
            strThirdNav = strThirdNav + '<a href="' + srcSiteRoot + thirdLevelNav[j][1] + '">' + thirdLevelNav[j][0] + '</a><br/>'          
          }
          strThirdNav = strThirdNav + '</div>'
          
          //Add OnmouseOver Event
          if (strThirdNav != '') {
            strSubNav = strSubNav + ' onmouseover="mclose(); showThirdLevelNav(\'Sub_Nav_' + navID + '_' + i + '\', this)"'
          }
          
        }
        
        strSubNav = strSubNav + '>' + subLevelNavItem[i][0] + '</a>' + strThirdNav;
        
      }
    }
    
    divPageNavLeftBottom.innerHTML = strSubNav;
  
  }

}

function swapImage(IDToTurn, OnOrOff) {

  var navItemOn = document.getElementById(IDToTurn + '_On');
  var navItemOff = document.getElementById(IDToTurn + '_Off');
  var styleForItemOn = OnOrOff ? 'block':'none';
  var strleForItemOff = OnOrOff ? 'none':'block';
  
  navItemOn.style.display = styleForItemOn;
  navItemOff.style.display = strleForItemOff;

}

function replaceYAH()
{
  if (strYouAreHere != '')  {
    var divPageNavLeftBottom = document.getElementById('pageNavLeftBottom');
    if (divPageNavLeftBottom) {
      divPageNavLeftBottom.innerHTML = strYouAreHere;
       divPageNavLeftBottom.className = 'subNavLeft';
    }
    //Reset Top Nav Items
    setNav();
  }
}

function getElemTotalOffset(what, offsettype)
{
  var totaloffset = (offsettype=="left")? what.offsetLeft : what.offsetTop;
  var parentEl=what.offsetParent;
  while (parentEl!=null){
    totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
    parentEl=parentEl.offsetParent;
  }
  return totaloffset;
}

function showThirdLevelNav(navID, sourceAnchor) {

  var thirdLevelNav = document.getElementById(navID)
  
  // cancel close timer
	mcancelclosetime();
	
		// close old layer
	if(expandedNav) expandedNav.style.display = 'none';
	
	if (thirdLevelNav) {
	
	  thirdLevelNav.style.display = 'block';
    thirdLevelNav.style.top = getElemTotalOffset(sourceAnchor, 'top') + sourceAnchor.offsetHeight + 'px';
    thirdLevelNav.style.left = getElemTotalOffset(sourceAnchor, 'left') + 'px';
    expandedNav = thirdLevelNav;
  }
  
}

// Close Current Nav
function mclose()
{
	if(expandedNav) expandedNav.style.display = 'none';
}

// Set Window Timer To Close Nav
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// Clear Nav Close Timeout
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// Closes Any Open Nav When Document Body Is Clicked
document.onclick = mclose;

//This prototype is provided by the Mozilla foundation and
//is distributed under the MIT license.
//http://www.ibiblio.org/pub/Linux/LICENSES/mit.licenseif
(!Array.prototype.indexOf)
{  
  Array.prototype.indexOf = function(elt /*, from*/) 
  {
  var len = this.length;
  var from = Number(arguments[1]) || 0;
  from = (from < 0) ? Math.ceil(from) : Math.floor(from);
  if (from < 0) from += len;
  for (; from < len; from++)
  {
    if (from in this && this[from] === elt) return from;
  } return -1;
  ;}  
}

//Button Controls

function ControlMaster() {
  
  this.button = null;
  this.container = '';
  this.lastButtonID = 0;
  this.reverseButton = null;
  this.timeOutID = 0;
  this.totalItems = 0;
  
}

var i = 0;

function autoChangeButton(CM) {
  
  var lastButton = CM.lastButtonID;
  var nextButton = lastButton + 1
  if (nextButton >= (CM.totalItems + 1)) { nextButton = 1; }
  
  changeButton(null, false, true, CM, nextButton, lastButton);
  
  return true;
  
}

function getLastButtonID(CM) {

  var targetContainer = document.getElementById(CM.container + '_divItems');
  var prevButton = 0
  var iCounter = 0

  for(var j=0; j < targetContainer.childNodes.length; j++) {
  
    lpMDiv = targetContainer.childNodes[j]
    
    if (lpMDiv.id != undefined) {
      iCounter++;
      if (lpMDiv.style.display == 'block') {
        prevButton = iCounter;
        break;
      }      
    }
  }
  
  return iCounter;
  
}

function changeButton(pDiv, blOver, blClick, CM, nextButton, prevButton) {

  var bOn;
  var bOver;
  var bNorm;
  var lpDiv;  
  
  if (!pDiv) {  
    pDiv = document.getElementById(CM.container + '_CCCB_' + nextButton + '_controlButtonHolder');
  }
     
  for(var i=0; i < pDiv.childNodes.length; i++) {
  
    lpDiv = pDiv.childNodes[i]
   
    if (lpDiv.id != undefined) {
    
      if (lpDiv.id.indexOf('controlButtonOn') > -1) {
        var bOn = lpDiv;
      } else if (lpDiv.id.indexOf('controlButtonOver') > -1) {
        var bOver = lpDiv;
      } else if (lpDiv.id.indexOf('controlButtonNorm') > -1) {
        var bNorm = lpDiv;
      }
    
    }
    
  }
  
   if (blClick) {
   
    var targetContainer = document.getElementById(CM.container + '_divItems');
    var lpMDiv;    
    
    //If Button Is Undefine - Loop Through Controls And Calculate Last Clicked Item
    if (prevButton == undefined) { prevButton = getLastButtonID(CM); }
    
    if (prevButton > 0) {
      crossFadeDiv(CM.container + '_CCCPI_' + prevButton + '_divItem',CM.container + '_CCCPI_' + nextButton + '_divItem');
    }
        
    if (CM.button) {
      CM.button.style.display = 'none';
      CM.reverseButton.style.display = 'block'
    }
    
    CM.button = bOn;
    CM.reverseButton = bNorm;
    CM.lastButtonID = nextButton;
    
    //Ensure Other Items Are Closed
    for(var j=0; j < targetContainer.childNodes.length; j++) {  
      lpMDiv = targetContainer.childNodes[j]        
      if (lpMDiv.id != undefined) {                    
        if (CM.container + '_CCCPI_' + nextButton + '_divItem' != lpMDiv.id) {
          document.getElementById(lpMDiv.id).style.display = 'none';
        }      
      }             
    }
  }
  
  if (blClick && (bOn.style.display == 'none')) {
    
    bNorm.style.display = 'none';
    bOn.style.display = 'block';
    bOver.style.display = 'none';
        
  } else {
  
    if (bOn.style.display == 'none') {
      if (blOver) {
        bNorm.style.display = 'none';
        bOver.style.display = 'block';
      } else {
        bNorm.style.display = 'block';
        bOver.style.display = 'none';
      }
    }  
    
  } 
  
}

function crossFadeDiv(outDiv, inDiv) {

  document.getElementById(outDiv).style.display='none';
  fadeOpacity(inDiv, 0, 100, 500)
      	
}

function fadeOpacity(id, opacStart, opacEnd, millisec) { 
    
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("setOpacity(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("setOpacity(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

function setOpacity(newOpacity, inDiv) {

    var inDivObj = document.getElementById(inDiv).style;
     
    if (newOpacity != 100) {
      inDivObj.opacity = (newOpacity / 100); 
      inDivObj.filter = 'alpha(opacity=' + newOpacity + ')'; 
    } else {
      inDivObj.filter = '';
      inDivObj.opacity = '';
    }
    
    inDivObj.MozOpacity = (newOpacity / 100); 
    inDivObj.KhtmlOpacity = (newOpacity / 100); 
    
    if (newOpacity > 0) {
      inDivObj.display='block';
    } else {
      inDivObj.display='none';
    }    

}

function printIFrame(iFrameID) {

  if (IsIE()) {

    document.frames[iFrameID].focus();
    document.frames[iFrameID].print();
  
  } else {

    var iFrameToPrint = document.getElementById(iFrameID);
    iFrameToPrint.focus()
    print();
      
  }

}

function IsIE() { 
if (navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER') { return true; } 
else { return false; } 
}

function setNav() {

  var aNavTL = document.getElementById('aNavTL')
  
  if (aNavTL) {
    if (aNavTL.getAttribute('rel') != '') {
      swapTopNav(aNavTL.getAttribute('rel'))
    }
  }
  
}

