/***********************************************************************
*  3M.com redesign JS for redesigned header code
*  Copyright (c) 3M 2006. All rights reserved
************************************************************************/
        var actuatorOff = "/us/office/postit/ewcd/images/lsnInd3.gif";         // when submenu is collapsed
        var actuatorOn = "/us/office/postit/ewcd/images/lsnInd2.gif";          // when submenu is expanded
        var actuator1 = "/us/office/postit/ewcd/images/lsnInd1.gif"
        var actuatorLock = "/us/office/postit/ewcd/images/lsnInd0.gif";        // when submenu is locked
        var nav;                                                                        // var for nav div

//Read a metatag
function readMetatagValue(tagname)
{
  //  Always Declare your variables
  var MetaTagList, MetaName, MetaContent, MetaTags, Success, i;

  // Initializiation of some variables
  MetaTags = "";
  Success = 0;

  if (document.all)
  {
    MetaTagList=document.all.tags("meta");
  }
  else if (document.documentElement)
  {
    MetaTagList=document.getElementsByTagName("meta");
  }
  var ListLength = MetaTagList.length;

  for (i = 0; i < ListLength; i++)
  {
    MetaName = MetaTagList[i].name;
    if (MetaName == tagname)
    {
      return "" + MetaTagList[i].content;
      Success = 1;
    }
  }
  if (Success == 0)
  {
    return "No Meta Tag Found";
  }
}

//Impersonation Cookie Clearing
function clearCookies()
{
  //clear the LtpaToken
  document.cookie='LtpaToken=clear; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/; domain=.3m.com';

  //clear current Java Session
  document.cookie='WPSJSESSIONID=clear; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/;'

  return true;
}

//MLTA Code
function redirect(obj, pnumId, referrerId )
{
    MLTAstring = "http://www3.3m.com/metrics/redirect.jsp?";
    MLTAstring += "pnum=" + pnumId;
    MLTAstring += "&referrer=" + referrerId + "&target=";
    MLTAstring += encodeURIComponent(document.all[obj.sourceIndex].href);
    document.all[obj.sourceIndex].href = MLTAstring;
}

	function initMenu() {
		// quit if this function has already been called
       if (arguments.callee.done) return;

       // flag this function so we don't do the same thing twice
       arguments.callee.done = true;

		if(document.getElementById && document.createElement) {      // W3C DOM compliant
			nav = document.getElementById('lsnwrap');                    // get nav div
			if(nav) {                                                // nav exists
				setActuators();                                      // create actuators to expand and collapse menus
			}
		}
		return;
	}

	function setActuators() {
		var lis, li, childMenu, a, actuator, selected;
		lis = nav.getElementsByTagName('li');
		for(var i=0;i<lis.length;i++) {
			li = lis[i];
			childMenu = li.getElementsByTagName('ul')[0];
			selected = (li.className.indexOf('selected') != -1) ? true : false;
			if(selected)
			{
				parentMenu = li.parentNode;
				while(parentMenu.nodeName == 'UL' || parentMenu.nodeName == 'LI') {
					if(parentMenu.nodeName == 'UL') { parentMenu.style.display = 'block'; }
					if(parentMenu.nodeName == 'LI') {
							parentMenu.getElementsByTagName('img')[0].src = actuatorLock;
							parentMenu.getElementsByTagName('img')[0].style.cursor = 'default';
							parentMenu.className += ' locked';}
					parentMenu = parentMenu.parentNode;
				}
			}
			if(childMenu) {
				actuator = document.createElement('a');
				actuator.style.position = 'absolute';
				actuator.style.left = '-13px';
				actuator.style.top = '3px';
				actuator.style.zIndex = '5';
				actuator.style.backgroundColor = 'transparent';
				actuator.style.cursor = 'pointer';
				img = document.createElement('img');
				(selected) ? img.setAttribute('src',actuatorOn) : img.setAttribute('src',actuatorOff);
				actuator.appendChild(img);
				li.insertBefore(actuator,li.getElementsByTagName('a')[0]);
				li.getElementsByTagName('a')[0].style.backgroundImage = 'none';
				li.getElementsByTagName('a')[1].style.backgroundImage = 'none';
				li.style.position = 'relative';
				if(selected)
				{
					childMenu.style.display = 'block';
				} else {childMenu.style.display = 'none'};
				actuator.onclick = function() {
					var li = this.parentNode;
					if (li.className.indexOf('locked') != -1)
							{return;} else {
							childMenu = li.getElementsByTagName('ul')[0];
							if(childMenu.style.display == 'block') {
								childMenu.style.display = 'none';
								this.getElementsByTagName('img')[0].src = actuatorOff;
							} else {
								childMenu.style.display = 'block';
								this.getElementsByTagName('img')[0].src = actuatorOn;
							}
						}
				};
			}
		}
	}

	// Initialize Menu as soon as DOM is loaded :: http://dean.edwards.name/weblog/2005/09/busted/
	// for w3c browsers

	if (document.addEventListener) {
		document.addEventListener("DOMContentLoaded", initMenu, null);
	}

	/* for Internet Explorer */
   /*@cc_on @*/
   /*@if (@_win32)
       initMenu();
   /*@end @*/

	// trap for browsers that don't support either method above
	window.onload = function() { initMenu(); }   // parse the menu

/***********************************************************************
*	3M.COM DYNAMIC HTML PROGRAMMING INTERFACE AND APPLICATION
*	Copyright (c) 3M 2003. All rights reserved.
*	Authored by: Spencer H. Bennett, digital@jwt

*	Sara Cowles/Elverse Jordan (rmgconnect) - Changes on 12/10/05
*	Added isOver flag (line 17) to eliminate JavaScript errors produced when a user moused out of navigation
*	image before mousing in (on initial load).
*	Flag set in gsnOver, checked in gsnOut.
*	Problems in Firefox noted - commented out superfluous lines in gsnInit that seemed to solve the problem.

***********************************************************************/

//-- USER AGENT OBJECT
initializedGSN = false;
isOver = false;

function clsUa(){
	this.ua=navigator.userAgent.toLowerCase();
	this.mac=(this.ua.indexOf("mac")!=-1);
	this.ns4=(document.layers);
	this.w3c=(document.getElementById)?1:0;
	this.ieX=(document.all)?1:0;
	this.ie5=(this.ieX && this.w3c)?1:0;
	this.objGsn = null;
	this.arrLsn = new Array();
	this.objLsn = null;
	this.arrLsnState = new Array();
	this.intImgId = 0;
	}

//-- DHTML API METHODS

function getObj(id){
	return document.getElementById(id);
	}

function divVis(obj,vis){
	(vis) ? obj.style.visibility = 'visible' : obj.style.visibility = 'hidden';
	}

//-- GLOBAL SITE NAVIGATION METHODS

function gsnInit(){
        if (!objUa.w3c) return;
	var hshGsn = document.getElementsByTagName('gsn');
	for (var i = 0; i < hshGsn.length; i++){
		var	strGsn = 'gsn' + i, objGsn = getObj(strGsn),
			strGsnInd = 'gsnInd' + i, objGsnInd = getObj(strGsnInd);
		objGsn.booCrnt = (objUa.ieX) ? parseInt(hshGsn[i].booCrnt) : parseInt(hshGsn[i].attributes.booCrnt.value);
		//if (objUa.ieX && !objGsn.booCrnt){
		if (objUa.ieX){
			objGsn.firstChild.objGsnInd = objGsnInd;
			objGsn.firstChild.onmouseover = gsnOver;
			objGsn.objGsnInd = objGsnInd;
			objGsn.strUrl = '';
			objGsn.onmouseover = gsnOver;
			objGsn.onmouseout = gsnOut;
			objGsn.onclick = gsnClick;
			objGsn.objGsnInd.strPath = objGsn.firstChild;
		} //else if (!objUa.ieX){
			//objGsn.style.paddingLeft = 0 + 'px';
			//objGsn.style.paddingRight = 0 + 'px';
			//}
	}
    initializedGSN = true;
}

function gsnOver(x){

        if (initializedGSN == false) return;
	if (!objUa.w3c) return;
	if (objUa.ieX){
		var target = window.event.toElement,
			divGsnInd = target.objGsnInd;
		target.style.cursor = (objUa.ieX) ? 'hand' : 'pointer';
	} else {
		divGsnInd = getObj('gsnInd' + x);
		}
	divVis(divGsnInd,1);
	objUa.objGsn = divGsnInd;
	isOver = true;
	}

function gsnOut(evt){
    if (initializedGSN == false) return;
	if (isOver == false) return;
	if (!objUa.w3c) return;
	divVis(objUa.objGsn,0);
	}

function gsnClick(){
        if (initializedGSN == false) return;
	if (objUa.ieX) window.location.href = objUa.objGsn.strPath;
	}

//-- LOCAL SITE NAVIGATION METHODS

function lsnCls(){
	this.booDisplay = 0;
	}

function lsnSpawn(x){
	for (var i = 0; i < x.objDiv.childNodes.length; i++){
		var objNode = x.objDiv.childNodes[i];
		if (objNode.tagName && objNode.tagName.toLowerCase() == 'span'){
			var booDisable = 0;
			x.booChild = 1;
			x.objChild = objNode;
			x.objImg.objChild = objNode;
			x.objImg.booActive = 1;
			if (objUa.ieX){
				x.objImg.attachEvent('onmouseover',lsnOver);
				x.objImg.attachEvent('onclick',lsnClick);
			} else {
				x.objImg.onmouseover = lsnOver;
				x.objImg.onclick = lsnClick;
				}
			if (objUa.arrLsn[x.intLsn].booCrnt && objUa.booExposed || x.objDiv.id == 'y' && objUa.booExposed){
				x.objImg.booDisplay = 1;
				x.objImg.objChild.style.display = 'block';
				if (x.objDiv.id != 'y') objUa.booExposed  = 0;
			} else if (x.objDiv.id == 'y' && !objUa.booExposed && !objUa.mac){
				x.objImg.booDisplay = 1;
				x.objImg.objChild.style.display = 'block';
				}
                        if (!objUa.arrLsn[x.intLsn].booCrnt) x.objImg.src = actuatorOff;
			for (var ii = 0; ii < objNode.childNodes.length; ii++){
				var strTagName = objNode.childNodes[ii].tagName;
				if (strTagName && strTagName.toLowerCase() == 'span'){
					objUa.intImgId++;
					var objLsn = new lsnCls(), strImgId = 'imgLsn' + objUa.intImgId,
						strHtml = '<table border="0" cellpadding="0" cellspacing="0"><tr valign="top">',
						booCrntPgElmnt = (objNode.childNodes[ii].id == 'x' || objNode.childNodes[ii].id == 'y') ? 1 : 0;
					strImgId += ii;
					var arrHtml = objNode.childNodes[ii].childNodes[0].innerHTML.split('|');
                                        strHtml += '<td><img id="' + strImgId + '" src="' + actuator1 + '" width="9" height="9" hspace="5" vspace="2" alt="" /></td>';
					strHtml += '<td><a href="' + arrHtml[0] + '" class="lsn">' + arrHtml[1] + '</a></td>';
					strHtml += '</tr></table>';
					if (!booCrntPgElmnt) objNode.childNodes[ii].childNodes[0].innerHTML = strHtml;
					objLsn.intLsn = x.intLsn;
					objLsn.objDiv = objNode.childNodes[ii];
					objLsn.objImg = (booCrntPgElmnt) ? (objNode.childNodes[ii].id == 'y') ? objNode.childNodes[ii].childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0] : objNode.childNodes[ii].childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0] : getObj(strImgId);
					if (booCrntPgElmnt) objLsn.objImg.booCrntPgElmnt = 1;
					objLsn.arrFam = new Array();
					if (eval(x.arrFam)){
						objLsn.arrFam = x.arrFam;
						objLsn.arrFam[objLsn.arrFam.length] = x;
					} else {
						objLsn.arrFam[0] = x;
						}

					if (objNode.childNodes[ii].id == 'y'){
						for (var iiii = 0; iiii < objLsn.arrFam.length; iiii++) objLsn.arrFam[iiii].objImg.booActive = 0;
						}
					lsnSpawn(objLsn);
					}
				}
			}
		}
	}

function lsnInit(){
	var hshLsn = document.getElementsByTagName('lsn');
	for (var i = 0; i < hshLsn.length; i++){
		var	objLsn = new lsnCls();
		objLsn.intLsn = i;
		objLsn.strRef = (objUa.ieX) ? hshLsn[i].lsnId : hshLsn[i].attributes.lsnId.value;
		objLsn.booCrnt = (objUa.ieX) ? parseInt(hshLsn[i].booCrnt) : parseInt(hshLsn[i].attributes.booCrnt.value);
		objLsn.objDiv = getObj(objLsn.strRef);
		objLsn.objImg = getObj('pImgLsn' + i);
		objUa.arrLsn[i] = objLsn;
		lsnSpawn(objLsn);
		}
	}

function lsnOver(evt){
        if (initializedGSN == false) return;
	var target = (window.event) ? window.event.toElement : target = evt.target;
	objUa.objLsn = target;
	if (objUa.objLsn.booActive) target.style.cursor = (objUa.ieX) ? 'hand' : 'pointer'
	else return;
	}

function lsnClick(){
        if (initializedGSN == false) return;
	var objLsn = objUa.objLsn;
	if (!objLsn.booActive) return;
	objLsn.booDisplay = (objLsn.booDisplay) ? 0 : 1;
	objLsn.objChild.style.display = (objLsn.booDisplay) ? 'block' : 'none';
        objLsn.src = (objLsn.booDisplay) ? actuatorOn : actuatorOff;
        }