// JavaScript Document// preloadImages - the generic function to ensure all rollovers are loaded prior to page contentfunction preloadImages() {   var d=document; if(d.images){ if(!d.p) d.p=new Array();    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}}// swapImgRestore - used to return a roll over to its previous statefunction swapImgRestore() {   var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;}// findObj - used to target a specific object within the current DOMfunction findObj(n, d) {  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);  if(!x && d.getElementById) x=d.getElementById(n); return x;}// swapImage - used to display rollOver imagesfunction swapImage() {   var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)   if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}}// findLivePageWidth - used to ensure the popUp information boxes stay within the screenfunction findLivePageWidth() {	if(window.innerWidth != null) return window.innerWidth;	if(document.body.clientWidth != null) return document.body.clientWidth;	return (null);}// hide - used in the interactive diagram to hide the information boxes on rollOutfunction hide(evt, objectID){	if(isDHTML) {		domStyle = findDOM(objectID, 1);		dom = findDOM(objectID ,0);		domStyle.visibility = "hidden";	}}// popUp - used in the interactive map on process_2function popUp(evt, objectID){	if(isDHTML) {		var livePageWidth = findLivePageWidth();		domStyle = findDOM(objectID, 1);		dom = findDOM(objectID ,0);		state = domStyle.visibility;				if (dom.offsetWidth) {			elemWidth = dom.offsetWidth;		} else { 			elemWidth = dom.clip.width; 		}				if(evt.pageY) {			topVal = evt.pageY + 20 + "px";			leftVal = 10 + evt.pageX - (elemWidth / 2) + "px";		} else {			topVal = evt.y + 20 + document.body.scrollTop + "px";			leftVal = evt.x - (elemWidth / 2) + document.body.scrollLeft + "px";		}				if(leftVal < 2) { 			leftVal = 2;		} else {			if ((leftVal + elemWidth) > livePageWidth) { 				leftVal = leftVal - (elemWidth / 2);			}		}		if(domStyle.pixelLeft){			domStyle.pixelLeft = leftVal;			domStyle.pixelTop = topVal;		} else {			domStyle.top = topVal;			domStyle.left = leftVal;		}		domStyle.visibility = "visible";	}}// opentTranscript - used throughout the site to pop a new window with a transcript of audio or videofunction openTranscript(theURL,winName,features) {  window.open(theURL,winName,features);}// All Flash Detection...// -----------------------------------------------------------------------------// Globals// Major version of Flash requiredvar requiredMajorVersion = 8;// Minor version of Flash requiredvar requiredMinorVersion = 0;// Revision of Flash requiredvar requiredRevision = 0;// the version of javascript supportedvar jsVersion = 1.0;// -----------------------------------------------------------------------------<!-- // Detect Client Browser typevar isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;jsVersion = 1.1;// JavaScript helper required to detect Flash Player PlugIn version informationfunction JSGetSwfVer(i){	// NS/Opera version >= 3 check for Flash plugin in plugin array	if (navigator.plugins != null && navigator.plugins.length > 0) {		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;			descArray = flashDescription.split(" ");			tempArrayMajor = descArray[2].split(".");			versionMajor = tempArrayMajor[0];			versionMinor = tempArrayMajor[1];			if ( descArray[3] != "" ) {				tempArrayMinor = descArray[3].split("r");			} else {				tempArrayMinor = descArray[4].split("r");			}      		versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;      	} else {			flashVer = -1;		}	}	// MSN/WebTV 2.6 supports Flash 4	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;	// WebTV 2.5 supports Flash 3	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;	// older WebTV supports Flash 2	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;	// Can't detect in all other cases	else {				flashVer = -1;	}	return flashVer;} // If called with no parameters this function returns a floating point value // which should be the version of the Flash Player or 0.0 // ex: Flash Player 7r14 returns 7.14// If called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is availablefunction DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) { 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);   	// loop backwards through the versions until we find the newest version		for (i=25;i>0;i--) {			if (isIE && isWin && !isOpera) {			versionStr = VBGetSwfVer(i);		} else {			versionStr = JSGetSwfVer(i);				}		if (versionStr == -1 ) { 			return false;		} else if (versionStr != 0) {			if(isIE && isWin && !isOpera) {				tempArray         = versionStr.split(" ");				tempString        = tempArray[1];				versionArray      = tempString .split(",");							} else {				versionArray      = versionStr.split(".");			}			versionMajor      = versionArray[0];			versionMinor      = versionArray[1];			versionRevision   = versionArray[2];						versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24			versionNum        = parseFloat(versionString);        	// is the major.revision >= requested major.revision AND the minor version >= requested minor			if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {				return true;			} else {				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );				}		}	}		return (reqVer ? false : 0.0);}