/***********************************************************************
*	3M.COM DYNAMIC HTML PROGRAMMING INTERFACE AND APPLICATION
*	Copyright (c) 3M 2003. All rights reserved.
*	Authored by: Spencer H. Bennett, digital@jwt
***********************************************************************/

//-- USER AGENT OBJECT

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){
			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';
			}
		}
	}

function gsnOver(x){
	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;
	}

function gsnOut(evt){
	if (!objUa.w3c) return;
	divVis(objUa.objGsn,0);
	}

function gsnClick(){
	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 = 'images/lsnInd3.gif';
			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="images/lsnInd1.gif" 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){
	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(){
	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) ? 'images/lsnInd2.gif' : 'images/lsnInd3.gif';
	}