// user default varsvar userAuthed	= false;var userID		= '';var localhost	= "dev7.workbookstock.com";var hostname	= location.hostname;//var localhost = "stage.workbookstock.com";// browser detection by objectvar agt		= navigator.userAgent.toLowerCase();var isMajor	= parseInt(navigator.appVersion);var isMinor	= parseFloat(navigator.appVersion);var isMac	= navigator.appVersion.indexOf("Mac") >= 0var isWin	= !isMacvar isAny5	= (document.getElementById) ? true : false;var isIE	= (document.all) ? true : false;var isNav4	= (document.layers) ? true : false;var isIE5 	= isAny5 && isIE;var isIE6	= isIE5 && navigator.appVersion.indexOf("MSIE 6") >= 0;var isWinIE	= isIE5 && isWin;var isMacIE	= isIE && isMac;var isMoz5	= isAny5 && !isIE5;var isNav5  = isMoz5;var isNav   = isNav4 || isMoz5;var isSafari= navigator.userAgent.indexOf("KHTML") >=0;var isOpera= navigator.userAgent.indexOf("Opera") >=0;var isCamino = navigator.userAgent.indexOf("Camino") >=0;var is_webtv = (agt.indexOf("webtv") != -1); var jsVer	= 1.0;var isSafari1_1 = nullif(isSafari) {	isSafari1_1 = (navigator.productSub >= 20030107) ? true : false;}if (isMoz5 || isNav5 || isSafari || isIE6) jsVer = 1.5;else if (isIE && (isMajor == 5)) jsVer = 1.4;else if (isOpera && (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1)) jsVer = 1.3;else if (isOpera) jsVer = 1.1;else if (isNav4 && (isMinor > 4.05)) jsVer = 1.3;else if (isNav4 && (isMinor <= 4.05)) jsVer = 1.2;var isDoneLoading = (isNav4) ? true : false;setTimeout("bodyLoaded()",1000);function bodyLoaded() {	isDoneLoading = true;}function helpMe() {	var arg = helpMe.arguments;	var aRef, aShow, aTerm, aTopic, aSubTopic, aInitRef, thisPage;	var helpWin;	var details = (isMac) ? 'width=680,height=510,scrollbars=yes,status=yes,menubar=yes,resizable=yes' : 'width=680,height=510,scrollbars=yes,status=no,menubar=no,resizable=yes';	thisPage = "index.lasso";		if(arg.length == 2 && arg[0] != "any") { // Argument order: Referrer, InitRef		aRef = arg[0]; aInitRef = arg[1];		switch(aRef) {			case "checkout":				show		= "help";				term		= "";				topic		= "checkout";				subtopic	= "checkout";				initref		= (!aInitRef) ? 0 : aInitRef;				break;			case "search_advanced":				show		= "help";				term		= "";				topic		= "searching";				subtopic	= "advanced_search";				initref		= (!aInitRef) ? 0 : aInitRef;				break;			case "tour":				show		= "tour";				term		= "";				topic		= "";				subtopic	= "";				initref		= (!aInitRef) ? 0 : aInitRef;				break;			case "searchtips":				show		= "help";				term		= "";				topic		= "searching";				subtopic	= "searchtips";				initref		= (!aInitRef) ? 0 : aInitRef;				break;			case "feedback":				thisPage	= "feedback.lasso";				show		= "";				term		= "";				topic		= "";				subtopic	= "";				initref		= (!aInitRef) ? 0 : aInitRef;				var details = (isMac) ? 'width=466,height=466,scrollbars=yes,status=yes,menubar=yes,resizable=yes' : 'width=466,height=466,scrollbars=yes,status=no,menubar=no,resizable=yes';				break;			default:				show		= "help";				term		= "";				topic		= "";				subtopic	= "";				initref		= "0";				break;		}		} else { // Argument order: Referrer, Show, Term, Topic, Subtopic, InitRef		aRef = arg[0]; aShow = arg[1]; aTerm = arg[2]; aTopic = arg[3]; aSubTopic = arg[4]; aInitRef = arg[5]; overLoad = arg[6];		show = (!aShow) ? "glossary" : aShow;		term = (!aTerm) ? "" : aTerm;		topic = (!aTopic) ? "" : aTopic;		subtopic = (!aSubTopic) ? "" : aSubTopic;		initref = (!aInitRef) ? 0 : aInitRef;	}		var params = "?show=" + show + "&amp;term=" + term + "&amp;topic=" + topic + "&amp;subtopic=" + subtopic + "&amp;initRef=" + initref;		if(!helpWin || helpWin.closed) {		helpWin = window.open('', 'help', details);	}		helpWin.focus();	helpWin.location.href = "http://" + localhost + "/htg/" + thisPage + params;}// tooltip controlfunction showtip(current,e,text,bottom){	return;	// removed in favor of titles, explicit return statement fixes page redraw issue in lightbox view	if(isDoneLoading) { 	var ttdebugval = null;	var ttdebug = true;	var atX, atY	if (isAny5){		if(!tipInited) { initTip(); }		if(atTipLayer && atTipText) {			hidetip()			var fromLC = bottom=='bottom'			var tipLayer = atTipLayer			var tipText = atTipText			if(isIE) {				var atbody = document.body				var evt  = (fromLC) ? parent.frames[1].event : window.event;				var elem = (fromLC) ? null : evt.srcElement;				var heightRef = (isMac) ? null : (isIE6) ? document.getElementsByTagName("HTML")[0] : atbody;				if(fromLC) {					atY = (isMac) ? atbody.scrollTop + atbody.scrollHeight - 36 : heightRef.scrollTop + heightRef.clientHeight - 25;					atX = evt.clientX;				}				else {					var docObj = document.getElementsByTagName('HTML');					var atYAdj = (docObj[0].scrollTop) ? docObj[0].scrollTop : document.body.scrollTop;					var atXAdj = (docObj[0].scrollLeft)? docObj[0].scrollLeft : document.body.scrollLeft;					atY = (elem.nodeName == "AREA") ? evt.clientY + atYAdj + 10:  getMyY(elem) + parseInt(elem.height) + 10					atX = (elem.nodeName == "AREA") ? evt.clientX + atXAdj : getMyX(elem);										atX = Math.min(atX + 10,(document.body.clientWidth + atXAdj)-130);									}			}			else {				var elem				if(fromLC) { elem = null }				else { 					elem = e.target;				}								var elemAdd = (fromLC) ? 0 : 0 //  (elem.style && elem.style.height) ? parseInt(elem.style.height) : (elem.height) ? parseInt(elem.height) : 0				atY = (fromLC) ? window.innerHeight + window.pageYOffset - 35  : e.pageY + elemAdd + 10;				atX = (fromLC) ? e.pageX + 5 + window.scrollX : e.pageX;				atX = Math.min(atX+10,(window.innerWidth+window.pageXOffset)-130)						}			//ttdebugval = e.pageY +", " + e.layerY;			tipText.innerHTML = (ttdebug && (ttdebugval!=null)) ?  ttdebugval : text;			tipLayer.style.visibility = "visible"			tipLayer.style.top = atY + "px"			tipLayer.style.left =  atX + "px"			tipLayer.style.display = "block"		}			}			else {		window.status = text;	}	}}var tipInited = false;var atTipLayer = null;var atTipText = null;function initTip() {	if(isAny5) {		var addToBody = false;		var tipLayer = document.getElementById("tooltip")		var tipText = document.getElementById("tiptext")		if(!tipLayer) {			tipLayer = document.createElement("div");			tipLayer.id = "tooltip";			addToBody = true;		}		if(!tipText) {			tipText = document.createElement("span");			tipText.id = "tiptext";			var newText = document.createTextNode("test");			tipText.appendChild(newText);			tipLayer.appendChild(tipText);		}		if(addToBody) {			if(document && document.body) {				document.body.appendChild(tipLayer);			}		}		atTipLayer = tipLayer		atTipText = tipText		tipInited = (atTipLayer && atTipText);	}	else {		return	}}function hidetip(){	return;	if (isAny5 && tipInited) {		atTipText.innerHTML = ""		atTipLayer.style.display = "none"	}	else {		window.status= "" 	}}// viewOptAr functionsvar viewOptAr = new Array();function ViewOpt(val,urlName,dirty) {	this.val = val;	this.urlName = urlName;	this.isDirty = (dirty) ? dirty : false;	this.change = changeVal;}function changeVal(newValue) {	this.val = newValue;	this.isDirty = true;}function getNewPage(initRef) {	initRef = (initRef) ? initRef : 0;	if(!viewOptAr["baseURL"]) {		alert("Error: unimplemented or undeclared view zone");		return	}	var newParams = new Array();	var newQuery;	for(var x in viewOptAr) {		if(viewOptAr[x].isDirty && viewOptAr[x].urlName != null) {			newParams[newParams.length] = viewOptAr[x].urlName + "=" + viewOptAr[x].val		}	}	newQuery = newParams.join("&")	if(initRef) {		newQuery += "&initRef=" + initRef;	}	//window.alert("get: "+  viewOptAr["baseURL"].val + "?"+ newQuery );	document.location = viewOptAr["baseURL"].val + "?"+newQuery;}function changeViewPref(viewPref, newVal) {	if(viewOptAr[viewPref]) {		viewOptAr[viewPref].change(newVal);		getNewPage();	}}// utility functionsfunction getMyY(theEl) {	var z = theEl	var theY=0	while(z) {		theY=theY+z.offsetTop		if(isMacIE && z.currentStyle) { 			// fix Mac IE margin and padding mismeasurements			if(z!=document.body) {				//theY -= (parseInt(z.currentStyle.marginTop)) ? parseInt(z.currentStyle.marginTop) : 0 ; 			} else {				theY += (parseInt(z.currentStyle.marginTop)) ? parseInt(z.currentStyle.marginTop) : 0 ; 				theY += (parseInt(z.currentStyle.paddingTop)) ? parseInt(z.currentStyle.paddingTop) : 0 ;				theY += (parseInt(z.currentStyle.borderTopWidth)) ? parseInt(z.currentStyle.borderTopWidth) : 0;			}		}		if(isMoz5 && !isSafari && z.currentStyle) {			theY += (parseInt(z.currentStyle.borderTopWidth)) ? parseInt(z.currentStyle.borderTopWidth) : 0;		}		z = z.offsetParent	}	return theY}function getMyX(theEl) {	var z = theEl	var theX=0	while(z) {		theX=theX+z.offsetLeft		if(isMacIE && z.currentStyle) { 			if(z==document.body) {				theX += (parseInt(z.currentStyle.marginLeft)) ? parseInt(z.currentStyle.marginLeft) : 0 ;				theX += (parseInt(z.currentStyle.paddingLeft)) ? parseInt(z.currentStyle.paddingLeft) : 0 ;				theX += (parseInt(z.currentStyle.borderLeftWidth)) ? parseInt(z.currentStyle.borderLeftWidth) : 0 ;			}		}		if(isMoz5 && !isSafari && z.currentStyle) {			theX += (parseInt(z.currentStyle.borderLeftWidth)) ? parseInt(z.currentStyle.borderLeftWidth) : 0;		}		z = z.offsetParent	}	return theX}function isFalse(a,b) {	return (a)?a:b }function routeLocation(theLocation,theFrame) {	getLocations()	if(!locs[theFrame]) { return false; }	else { 		//alert("send frame '"+ theFrame +"' to :\n\r"+ theLocation);		locs[theFrame].location = theLocation;		return true	}}function sendCommand(theCommand,theFrame) {	getLocations();	if(!locs[theFrame]) { return false }	else {		eval("locs[theFrame]." + theCommand);	}}function getLocations() {	locs = new Array();	locs["top"] = self.top;	locs["self"] = self;	listFrames(locs["top"])}function listFrames(doc) {	if(doc.frames.length) {		for(var x=0;x<doc.frames.length;x++) {			locs[doc.frames[x].name] = doc.frames[x]			if(doc.frames[x].frames.length) {				listFrames(doc.frames[x])			}		}	}}var locs = new Array();var mailWin = null;function openMailWin(mType, args){	var winPage = "/email/mailform.lasso?mType="+ mType +"&"+ args;	var winName = "WB_MAILWIN";	var winAttrib = (isMac) ? "scrollbars=yes,status=yes,menubar=yes,resizable=yes" : "scrollbars=yes,status=no,menubar=no,resizable=yes";	winAttrib += ",width=650,height=650";		mailWin = openPopUp(winPage, winName, winAttrib);		if(mailWin != false){		if(mailWin.closed) { mailWin = openPopUp(winPage, winName, winAttrib); }		try{			if(window.focus){ 				mailWin.focus(); 			}		}catch(err){ }	}}function closeMailWin() {	alert("closign mailWin("+ (mailWin) +")");	setTimeout("mailWin.close()", 1000);}function openPopUp(url, name, properties, supressError){	var objChildWin;                        // Window	var reWork = new RegExp('object','gi');	// Regular expression	try {		objChildWin = window.open(url, name, properties); 	}	catch(e) { }	if(!reWork.test(String(objChildWin))){		// Warning: A pop-up blocker is enabled for this site!		if(!supressError)		{			alert('you appear to have a pop-up blocker installed that has prevented your item window from opening.\n Please turn off pop-up blocking for this site in order to use all of our features and tools.');		}		return false;	}else{		// No pop-up blocker or pop-up blocker is disabled!		// return window handle		try{			if(window.focus){ objChildWin.focus(); }		}catch(err){ }		return objChildWin;	}}function getQueryString(exemptArray){	var newQueryString	= "";	var sArgs			= location.search.substr(1);	var argArray		= (sArgs.split('&'));	for(i=0; i < argArray.length; i++)	{		//split into pairs		var tPair	= argArray[i].split('=');		var isGood	= true;		if(exemptArray && exemptArray != null){			for(g=0; g < exemptArray.length; g++){				if(tPair[0] == exemptArray[g]){					//not good, kill value					isGood	= false;				}			}		}			if(isGood){			if(newQueryString.length > 0){ newQueryString	+= "&"; }			newQueryString	+= (argArray[i]);		}	}	return newQueryString;}function urlEncode(sStr){	return escape(sStr).replace(/\+/g, '%2C').replace(/\"/g,'%22').replace(/\'/g, '%27');}function trim(str) {	if(str.length < 1){		return "";	}	str = rtrim(str);	str = ltrim(str);	if(str==""){		return "";	} else {		return str;	}} //End Functionfunction rtrim(VALUE){	var w_space = String.fromCharCode(32);	var v_length = VALUE.length;	var strTemp = "";	if(v_length < 0){		return"";	}	var iTemp = v_length -1;	while(iTemp > -1){		if(VALUE.charAt(iTemp) == w_space){	} else {		strTemp = VALUE.substring(0,iTemp +1);		break;	}	iTemp = iTemp-1;	} //End While	return strTemp;} //End Functionfunction ltrim(VALUE){	var w_space = String.fromCharCode(32);	if(v_length < 1){	return"";	}	var v_length = VALUE.length;	var strTemp = "";	var iTemp = 0;	while(iTemp < v_length){	if(VALUE.charAt(iTemp) == w_space){	}	else{	strTemp = VALUE.substring(iTemp,v_length);	break;	}	iTemp = iTemp + 1;	} //End While	return strTemp;} //End Functionfunction replaceButtons(buttonAr) {	if(isAny5) {		for(var x=0;x<buttonAr.length;x++) {			if(buttonAr[x].src) {//				buttonAr[x].style.backgroundImage = "url("+buttonAr[x].src+")";				buttonAr[x].src = "/css/css_img/spacer.gif"			}		}	}}function preloadImg(theUrl) {	var theImg = new Image();	theImg.src = theUrl;}// -----------------  error handling functions: added 5/20/05 AW -----------------  // var errArray = new Array();function handleError(msg, url, linenumber) {	var eMSG	= urlEncode(msg);	var eURL	= urlEncode(url);	var eLN		= linenumber;	var eUA		= urlEncode(navigator.userAgent);	var eCE		= navigator.cookieEnabled;	var eUID	= '';	var eURI	= urlEncode((location.pathname + location.search));	var errID	= (eURL) + (eUA) + (eMSG) + (eLN);	//strip out non alpha chars	if(jsVer >= 1.2){		var re	= /\W/g		errID.replace(re, "");	}	if(userAuthed){		//user has been authenticated, hopefully they have a userID		eUID	= urlEncode(userID);	}		var atURL	= "?eUA="+ (eUA) +"&eCE="+ (eCE) +"&eUID="+ (eUID) +"&eMSG="+ (eMSG) +"&eLN="+ (eLN) +"&eURL="+ (eURL) +"&eURI="+ eURI;	var logged	= false;	if(eCE){		//check for cookie by errID		var cookieExists = getCookie(errID);		if(cookieExists != null){			cookieExists = true; 		}else{			cookieExists = false;		}				// check temporary page error array		// catches multiple page errors prior to page re-visit but after setCookie		var errArrExists = false;		for(var i in errArray){			if(i == errID){				errArrExists	= true;			}		}		if(!errArrExists && !cookieExists){			//cookie does not exist, first time sending error			if(jsVer >= 1.4){				try{					var retVal = importXML(('/remoteProc/jsErr.lasso'+ atURL), 'handleErrorXML');					logged = true;				}catch(err){					logged = false;				}			}else{				//pre moz/ie5 browser				logged = false;			}			// create cookie			var ckyDate = new Date;			ckyDate.setDate(ckyDate.getDate() + 1);			setCookie(errID, 'true', ckyDate);			// add to errArr			errArray[errID] = true;		}	}	if(jsVer >= 1.4){		/*		var err		= new Error();		try{			err.message	= eMSG;			err.number	= eLN;		}catch(e){}				throw err;		*/	}	return true;}function throwErr(err){	throw(err);}function handleErrorXML(atxml){	// does nothing!}if(window.onerror && (hostname != 'dev1.workbook.com' && hostname != 'stage.workbook.com')){	//window.onerror = handleError;}// -----------------  cookie functions: added 5/20/05 AW -----------------  // function setCookie(szName, szValue, szExpires, szPath, szDomain, bSecure){ 	var szCookieText = 	   escape(szName) + '=' + escape(szValue);	szCookieText +=	 	   (szExpires ? '; EXPIRES=' + szExpires.toGMTString() : '');	szCookieText += 	   (szPath ? '; PATH=' + szPath : '');	szCookieText += 	   (szDomain ? '; DOMAIN=' + szDomain : '');	szCookieText += 	   (bSecure ? '; SECURE' : '');		document.cookie = szCookieText;}function getCookie(szName){ 	var szValue = null;	if(document.cookie){       	var arr = document.cookie.split((escape(szName) + '='));        	if(2 <= arr.length){           	var arr2 = arr[1].split(';');       		szValue  = unescape(arr2[0]);       	}	}	return szValue;}function deleteCookie(szName){	var tmp = getCookie(szName);	if(tmp){ setCookie(szName,tmp,(new Date(1))); }}// -----------------  generic c/b event functions: added 4/16/05 AW -----------------  //function fireEvent(event, canBubble, isCancelable){	try {		if (typeof document.fireEvent != 'undefined') {			document.fireEvent(("on"+ event));		}		else if (typeof document.createEvent != 'undefined') {			var evt = document.createEvent("Events")			evt.initEvent(event, canBubble, isCancelable); //true for can bubble, true for cancelable			window.dispatchEvent(evt);		}	}	catch (e) {};}function addEventListener(windowObj, event, lfunc){	if(windowObj.addEventListener){		windowObj.addEventListener(event, lfunc, false); //dom lvl 2 spec		return true;	}else{		if(windowObj.attachEvent){			var r = windowObj.attachEvent("on"+ event, lfunc); //craaaaapppy ie spec			return r;		}	}}function removeEventListenerFromWindow(event, lfunc){	if(window.removeEventListener){		window.removeEventListener(event, lfunc, false);		return true;	}else{		if(window.detachEvent){			var r = window.detachEvent("on"+event, lfunc);			return r;		}	}}function addEventListenerToWindow(event, lfunc){	addEventListener(window, event, lfunc);}// -----------------  search form functions: added 2/07/05 AW (modified: 6/2/05 AW)-----------------  	function getFormFromElement(objNode){	var objParentNode		= (objNode.parentNode);	var objParentNodeTag	= (objParentNode.tagName);	if(objNode.tagName.toLowerCase() == 'form'){		return objNode;	}	if(objParentNodeTag.toLowerCase() == 'html'){		return null;	}	//check node for tagname	if(objParentNodeTag.toLowerCase() == 'form'){		return objParentNode;	}else{		return getFormFromElement(objParentNode);	}}function submitFormOnEnter(e){	var charCode;	if (!e) var e = window.event;	if (e.keyCode) charCode = e.keyCode;	else if (e.which) charCode = e.which;	//status = charCode	if (charCode == 13){		try{			//enter key was pressed, find parent form element			var atNode = (document.all) ? event.srcElement.parentElement : e.currentTarget.parentNode;			var atForm = getFormFromElement(atNode);			if(atForm != null){				if(atForm.parentNode){					//	has parent node, check it					parentNodeId	= atForm.parentNode.tagName;					if(parentNodeId.toUpperCase() == 'WBSEARCHFORM'){						try{							disableHiddenEls(atForm);						}catch(e){}					}				}				if(atForm.getAttribute("onsubmit") != null){					if(atForm.onsubmit()){						atForm.submit();					}				}else{					atForm.submit();				}			}		}catch(e){}	}	return true}function submitSearchForm(){	var atSearchDiv = document.getElementById("WBSEARCHFORM");	var atSearchForm = atSearchDiv.getElementsByTagName("form")[0];	if(atSearchForm != null){		try{			disableHiddenEls(atSearchForm);		}catch(e){}		atSearchForm.submit();	}}function attachKeyEnterToForm(theForm){	if(isMacIE) { return true; /* macIE magically broken -MK */} 	var atSearchForm = theForm;	var attDebug = '';		if(atSearchForm != null){		var atEle	= new Array;		var atSearchInputElements	= atSearchForm.getElementsByTagName("input");		var atSearchSelectElements	= atSearchForm.getElementsByTagName("select");		if(atSearchInputElements != null){			for(var x=0; x < atSearchInputElements.length; x++){				atSearchInputElements[x].onkeydown = submitFormOnEnter;				//attDebug	+= atSearchSelectElements[x].id +"\n\r";			}		}		if(atSearchSelectElements != null){			for(var x=0; x < atSearchSelectElements.length; x++){				atSearchSelectElements[x].onkeydown = submitFormOnEnter;				//attDebug	+= atSearchSelectElements[x].id +"\n\r";			}		}	}}var isNavPageTextSelected	= false;var navPageTextSelected		= "";function autoSelectText(obj){	//alert(obj.id);	if(obj != null){		obj.focus();		obj.select();	}}function isNavTextSelected(obj){	var boolRet = false;	var strRet = false;	strRet	= (getTextSelection(obj));	if(strRet != "")	{		//check to see if selected string is as long as entire contents		if(strRet.length == (obj.value.length))		{			//entire contents have been selected			navPageTextSelected	= (strRet);			boolRet				= true;		}else{			if(strRet.length > 0){				navPageTextSelected	= (strRet);				boolRet				= true;			}		}	}		return boolRet}function getTextSelection(obj){	var retVal	= "";	if (obj.setSelectionRange) {		var selectionStart = obj.selectionStart;		var selectionEnd = obj.selectionEnd;				retVal	= obj.value.substring(selectionStart, selectionEnd);	}else{		if(document.selection){			var range = document.selection.createRange();			if (range.parentElement() == obj){				var isCollapsed = range.text == '';				if(!isCollapsed)				{					retVal	= (range.text);				}			}		}	}	return retVal}var goodKeys = new Array();goodKeys[37] = true;goodKeys[38] = true;goodKeys[39] = true;goodKeys[40] = true;function isNavPageValid(e, curObj, totalPages){	var retVal	= true;	var curVal	= curObj.value;	var charCode = (isNav) ? e.which : e.keyCode	document.title=charCode;		//check numeric	if (charCode > 31 && (charCode <48 || charCode > 57) && !goodKeys[charCode] ) {		retVal	= false;	}else{		//value appears numeric, double check		var cVal	= (parseInt(curVal));		var keyCode	= new String(charCode);		var keyVal	= String.fromCharCode(charCode);		if(!isNaN(keyVal)) {}		/*{			//check if form text is selected (this changes the rules)			if(isNavTextSelected(curObj)){				//has "probable" selected text, check it.				var pSel	= (getTextSelection(curObj));				if(pSel.length == curObj.value.length){					//whole thing is selected, do nothing				}else{					//partially selected, perform validation					var sPos	= (curObj.value.indexOf(pSel));					var ePos	= (sPos + pSel.length);					curVal1		= (curVal.substring(0, sPos));					curVal2		= (curVal.substring(ePos));					var t_nVal	= (parseInt(curVal1 +''+ keyVal +''+ curVal2));					if(t_nVal > totalPages)					{						//the typed in character makes the desired page too big.						retVal	= false;						//set it to the last page available						curObj.value	= totalPages;					}				}				//alert('selected text:'+ (getTextSelection(curObj)));				//alert("selected text: "+ (navPageTextSelected));			}else{				//this is just a standard input keystroke.				//if bigger make it the maximum				if(curVal == ''){					var t_nVal	= (parseInt(keyVal));				}else{					var t_nVal	= (parseInt(cVal +''+ keyVal));				}				if(t_nVal > totalPages)				{					//the typed in character makes the desired page too big.					retVal	= false;					//set it to the last page available					curObj.value	= totalPages;				}			}		}*/	}	return retVal;}var atFormState;function setSearchFormState(formPref, state, UID) {	if(setPref(formPref, state, UID)){		atFormState = state;		showSearchFormState();		return true;	}else{		//pref was not set		//return false;		return true;	}}function toggleFormState(formPref, UID) {	if(atFormState == '' || atFormState == null){		var atSearchDiv		= document.getElementById("WBSEARCHFORM");		var atSearchForm	= atSearchDiv.getElementsByTagName("form")[0];		atFormState			= atSearchForm.className;	}	if(atFormState != 'simple' && atFormState != 'advanced') {		atFormState = 'simple';	}	var newFormState = (atFormState == 'simple') ? 'advanced' : 'simple';	try {		var changeState = setSearchFormState(formPref, newFormState,UID);		if(changeState == false) {			alert("error setting up connection");			return false;		}else{			return true;		}	} catch(e) {		return false;	}	}function showSearchFormState() {	var atSearchDiv = document.getElementById("WBSEARCHFORM");	var atSearchForm = atSearchDiv.getElementsByTagName("form")[0];	atSearchForm.className = atFormState;	disableHiddenEls(atSearchForm);	try {		handleMacIESearchForm() 	}	catch(e) {		// no special function for Mac IE to handle the search form	}	if(document.getElementById('searchFormState') != null){		document.getElementById('searchFormState').value	= atFormState;	}}function getCriteriaNodes(objNode){	var tArr	= new Array;	var elArr	= objNode.getElementsByTagName("div");	for(var u=0; u < elArr.length; u++){		var cNode	= (elArr[u]);		if(cNode != null){			if(cNode.className == 'criteriaOption' || cNode.className == 'criteriaOptionVisible'){				tArr[(tArr.length)]	= cNode;				//tArr.push(cNode);			}		}	}	return tArr;}function resetFormElements(objNode){	var textObjects		= objNode.getElementsByTagName("input");	var selectObjects	= objNode.getElementsByTagName("select");	var areaObjects		= objNode.getElementsByTagName("textarea");	for(i=0; i < textObjects.length; i++){		textObj		= textObjects[i];		if(textObj.getAttribute('type') == 'text'){			textObj.value	= '';		}		if(textObj.getAttribute('type') == 'checkbox'){			textObj.checked	= false;		}	}	for(i=0; i < selectObjects.length; i++){		selectObj				= selectObjects[i];		selectObj.selectedIndex	= 0;		//unselect all		for (var s=0; i < selectObj.length; i++) {			selectObj.options[s].selected = false;		}	}	for(i=0; i < areaObjects.length; i++){		textObj				= areaObjects[i];		textObj.value		= "";	}	//get and divs, and call this function recursively	var elArr	= objNode.getElementsByTagName("div");	for(y=0; y < elArr.length; y++)	{		//resetFormElements(elArr[y]);	}}function clearCrit(contId){	var selectContainer = document.getElementById(contId);		if(selectContainer != null){		var critNodes	= getCriteriaNodes(selectContainer);		var nodeLim		= critNodes.length;		for(var x=0; x < nodeLim; x++){			resetFormElements(critNodes[x]);		}				for(var x=1; x < nodeLim; x++){			selectContainer.removeChild(critNodes[x]);		}	}}function clearSearchForm(containerArray){	var searchDiv		= document.getElementById("WBSEARCHFORM");	resetFormElements(searchDiv);	if(containerArray != null && containerArray != 'undefined'){		//clear criteria options		if(containerArray.length){			for(var c=0; c < containerArray.length; c++){				clearCrit(containerArray[c]);			}		}else{ }	}}// -----------------  url rpc/xml functions: added 2/23/05 MK (modified 6/2/05 AW) -----------------  //var xmlhttp	= false;/*@cc_on @*//*@if (@_jscript_version >= 5)// JScript gives us Conditional compilation, we can cope with old IE versions.// and security blocked creation of the objects. try {  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {  try {   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  } catch (E) {   xmlhttp = false;  } }@end @*/if (!xmlhttp && typeof XMLHttpRequest!='undefined') {	xmlhttp = new XMLHttpRequest();}function getNodeText(docNode) {	try {		var retText = null;		var retNode	= docNode.childNodes[0];		if(retNode != null){ retText = retNode.nodeValue; }		return retText;	} catch(e) {		//alert(e);		return false;	}}function getFullNodeText(docNode, deep) {	try {		var retText = null;		var atNodes = docNode.childNodes;		var retTextAr = new Array();		var retNode = null;		for(var x=0;x<atNodes.length;x++) {			retNode = atNodes[x];			if(retNode && retNode.nodeValue != "") { retTextAr[retTextAr.length] = retNode.nodeValue };			if(retNode.childNodes && deep) { 				var tempRet = getNodeText(retNode, true);				if(tempRet && tempRet!="") {					retTextAr[retTextAr.length] = tempRet;				}			}		}		if(retTextAr.length) { retText = retTextAr.join("\r"); }		return retText;	} catch(e) {		alert(e);		return false;	}}function setPref(prefName, prefVal, UID){	var atURL = "/remoteProc/pref.lasso?pName="+ prefName +"&pValue="+ prefVal +"&pACtion=set";	if(UID != 'undefined' &&  UID != null){		atURL += "&cUID="+ UID;	}	var didPrefChange = importXML(atURL, 'actionOnPref');	return didPrefChange;}function actionOnPref(atxml) {	var atContent = (atxml);	try {		var item = atxml.getElementsByTagName("error")[0]		var atError = getNodeText(item);		if(atError != 0){			//alert("Error Setting Pref Value\r'" + atError+"'");			return false;		}	} catch(e) {		//alert(e + "\r" + atContent);		return false;	}}/*****************************************************************************************          Script to import XML data files and make them available to JavaScript                     v2.0.3 written by Mark Wilton-Jones, 13/04/2004Updated 02/07/2004 to provide native Safari 1.2 and Opera 7.6 support using XMLHttpRequest                   Updated 24/07/2004 to prevent a Safari caching bug      Updated 02/10/2004 to include support for older Internet Explorer XML objects Updated 09/11/2004 to allow a delay for better response in browsers that use the iframe******************************************************************************************Please see http://www.howtocreate.co.uk/jslibs/ for details and a demo of this scriptPlease see http://www.howtocreate.co.uk/tutorials/jsexamples/importingXML.html for a demo and descriptionPlease see http://www.howtocreate.co.uk/jslibs/termsOfUse.html for terms of useTo use this, insert the following into the head of your document:<script type="text/javascript"><!--//for older browsers like Netscape 4 ... if you carewindow.onerror = function () { return true; }//--></script><script src="PATH TO SCRIPT/importxml.js" type="text/javascript"></script>This header file provides one function:var canItWork = importXML( string: locationOfXMLFile, string: nameOfFunction[, optional boolean: allowCache[, optional boolean: delay]] );eg.var canItWork = importXML( 'myXML.xml', 'runThis' );To support (Internet) Explorer 5 on Mac, the XML file should use a stylesheet:<?xml-stylesheet type="text/css" href="blank.css"?>Although that stylesheet could in fact be completely empty. Failure to do this will produce errors when youtry to manipulate the DOM of the XML file.When the xml file has loaded, the named function will be run, and will be passed a reference to the documentobject of the XML file. You can then manipulate the data in the file using W3C DOM scripting.Browsers may cache the XML files (with Safari, the import fails if the file is already cached by the current page).To prevent this, the script adds a timestamp to the end of each request URL (changes every millisecond).If you do not want this timestamp to be added, pass the value 'true' as a third parameter.var canItWork = importXML( 'myXML.xml', 'runThis', true );This is not recommended.Browsers that use the iframe may have problems if the XML takes a long time to load, as they will attempt toaccess the data before it is ready. If you know that this might happen, you can use the delay parameter tomake the script wait for the specified amount of time before attemting to use the data, hopefully giving theXML the chance to load. For example, to introduce a 2 second delay:var canItWork = importXML( 'myXML.xml', 'runThis', false, 2000 );######################################################################################################## */var MWJ_ldD = [];function importXML( oURL, oFunct, oNoRand, oDelay, fFunct) {        //note: in XML importing event handlers, 'this' refers to window		/*		var oFunctStr	= oFunct +'(MWJ_ldD['+(MWJ_ldD.length)+'].responseXML)';		if(oFunct){			if(oFunct.indexOf('(') >= 0){				//has function args, append				oFunctStr	= oFunct.substr((oFunct.indexOf('(') + 1));				oFunctStr	= oFunct.substr(0, (oFunct.indexOf(')')));				oFunctStr	= oFunct +'(MWJ_ldD['+(MWJ_ldD.length)+'].responseXML,'+ oFunctStr +')';				//strip args back out for lame iframes				oFunct	= oFunct.substr(0, oFunct.indexOf('('));			}		}		*/		if( !fFunct ){ fFunct = "throw"; }        if( !oNoRand ) { oURL += ( ( oURL.indexOf('?') + 1 ) ? '&' : '?' ) + ( new Date() ).getTime(); } //prevent cache        if( window.XMLHttpRequest ) {                //alternate XMLHTTP request - Gecko, Safari 1.2+ and Opera 7.6+				var objIndex	  = MWJ_ldD.length;                MWJ_ldD[objIndex] = new XMLHttpRequest();				try{				MWJ_ldD[objIndex].onreadystatechange = new Function('try { procXMLReqChange('+ objIndex +', '+ oFunct +', \''+ fFunct +'\'); }catch(e){ '+ fFunct +'(e); }');				}catch(e){ fFunct(e); }				// MWJ_ldD[objIndex].onreadystatechange = new Function( 'if( MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState == 4 && MWJ_ldD['+(MWJ_ldD.length-1)+'].status < 300 ) { '+ oFunct +'(MWJ_ldD['+(MWJ_ldD.length-1)+'].responseXML); }' );                try{					MWJ_ldD[objIndex].open("GET", oURL, true);					MWJ_ldD[objIndex].send(null);				}catch(e){ fFunct(e); }                return true;        }        if( !navigator.__ice_version && window.ActiveXObject ) {				try{						//the Microsoft way - IE 5+/Win (ICE produces errors and fails to use try-catch correctly)						try						{							var tho = new ActiveXObject( 'Microsoft.XMLDOM' ); //newest						}catch(e){							try{								 var tho = new ActiveXObject( 'Msxml2.XMLHTTP' ); //newer							}catch(e){								try{									var tho = new ActiveXObject("Microsoft.XMLHTTP"); //older								}catch(e){}							}						}				        MWJ_ldD[MWJ_ldD.length] = tho;						MWJ_ldD[MWJ_ldD.length-1].onreadystatechange = new Function('procXMLReqChange('+ (MWJ_ldD.length-1) +', '+ oFunct +');');                        //MWJ_ldD[MWJ_ldD.length-1].onreadystatechange = new Function( 'if( MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState == 4 ) { '+ oFunct +'(MWJ_ldD['+(MWJ_ldD.length-1)+']); }' );                        MWJ_ldD[MWJ_ldD.length-1].load(oURL);                        return true;				}catch(e){}				/*                try { //IE Mac has the property window.ActiveXObject but produces errors if you try and use it                        try { var tho = new ActiveXObject( 'Microsoft.XMLDOM' ); //newer                        } catch(e) { var tho = new ActiveXObject( 'Msxml2.XMLHTTP' ); } //older                        MWJ_ldD[MWJ_ldD.length] = tho;                        MWJ_ldD[MWJ_ldD.length-1].onreadystatechange = new Function( 'if( MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState == 4 ) { '+ oFunct +'(MWJ_ldD['+(MWJ_ldD.length-1)+']); }' );                        MWJ_ldD[MWJ_ldD.length-1].load(oURL);                        return true;                } catch(e) {}				*/        }        if( document.createElement && document.childNodes ) {                //load the XML in an iframe                var ifr = document.createElement('DIV');                ifr.style.visibility = 'hidden'; ifr.style.position = 'absolute'; ifr.style.top = '0px'; ifr.style.left = '0px';                //onload only fires in Opera so I use a timer for all                if( !window.MWJ_XML_timer ) { window.MWJ_XML_timer = window.setInterval('MWJ_checkXMLLoad();',100); }                ifr.innerHTML = '<iframe src="'+oURL+'" name="MWJ_XML_loader_'+MWJ_ldD.length+'" height="0" width="0"><\/iframe>';                MWJ_ldD[MWJ_ldD.length] = oFunct+'MWJ_SPLIT'+(oDelay?oDelay:1)+'';                document.body.appendChild(ifr);                return true;        }        return false;}// procXMLReqChange function added 9/19/05 for better(more reliable xml connection handling) by AWfunction procXMLReqChange(xmlReqObjIndex, xmlHandlerFunc, xmlFailureFunc){	// get xml obj	var tXMLReq	= (MWJ_ldD[xmlReqObjIndex]);	var isReady	= false;	var xmlData	= null;	var errData	= "";	try{		if(tXMLReq.readyState == 4){			isReady	= true;			if(tXMLReq.status){				// has status property, check it				if(tXMLReq.status > 300){ isReady	= false; }			}		}	}catch(e){ errData = e; }	if(isReady){		try{			//get data obj			if(window.XMLHttpRequest){				xmlData	= tXMLReq.responseXML			}			if( !navigator.__ice_version && window.ActiveXObject ){				xmlData	= tXMLReq;			}		}catch(e){			xmlFailureFunc(e);		}		//pass to function		xmlHandlerFunc(xmlData);	}else{		//request is not ready yet.		//alert("XML response is not ready yet (readyState: "+ (tXMLReq.readyState) +" | error: "+ errData +" | "+ ( new Date() ).getTime() +").");	}}function MWJ_checkXMLLoad() {        //check if each imported file is available (huge files may not have loaded completely - nothing I can do - use the delay to help)        for( var x = 0; x < MWJ_ldD.length; x++ ) { if( MWJ_ldD[x] && window.frames['MWJ_XML_loader_'+x] ) {                setTimeout( MWJ_ldD[x].split('MWJ_SPLIT')[0] + '(window.frames.MWJ_XML_loader_'+x+'.window.document);', parseInt(MWJ_ldD[x].split('MWJ_SPLIT')[1]) );                MWJ_ldD[x] = false;        } }}/* imagerollovers */function rollover(aNode, isOn, preload) {	doPreload = (preload) ? true : false;	if(isAny5) {		var atExt = (isOn) ? "_over." : ".";		if(aNode.getElementsByTagName("img").length) {			var atImg = aNode.getElementsByTagName("img")[0];			var atImgNameAr = atImg.src.split("/");			var atImgName = atImgNameAr[atImgNameAr.length - 1];			var re = /(_over\.|\.)(jpg|gif|png)/			atImgName = atImgName.replace(re, atExt+"$2");			atImgNameAr[atImgNameAr.length - 1] = atImgName;			if(doPreload) {				var tempImg = new Image();				tempImg.src = atImgNameAr.join("/");			} else {				atImg.src = atImgNameAr.join("/");			}		}	}}function initRollovers() {	var atImgs = document.getElementsByTagName("a");	imgLen = atImgs.length;	for(var x = 0; x<imgLen; x++) {		var atImg = atImgs[x];		var atClass = atImg.className;		if(atClass && atClass.indexOf("rollover")>-1) {			atImg.onmouseover = roOn;			atImg.onmouseout  = roOff;			rollover(atImg, 1, true);		}	}	initNavReset();}function roOn(evt) {	if(isAny5) {		var atNode = (document.all) ? event.srcElement.parentElement : evt.currentTarget;		rollover(atNode, 1);	}}function roOff(evt) {	if(isAny5) {		var atNode = (document.all) ? event.srcElement.parentElement : evt.currentTarget;		rollover(atNode, 0);	}}ro = rolloverfunction initSafariLabel() {	if(isSafari) {		var atLabels = document.getElementsByTagName("label");		for(var x=0; x<atLabels.length; x++) {			atLabels[x].onclick = function() {				var atID   = this.getAttribute("for");				var atEl   = document.getElementById(atID);				if(atEl) {					switch(atEl.type) {						case "checkbox":							atEl.checked = !atEl.checked;							atEl.onclick();							break						case "radio":							atEl.checked = !atEl.checked;							atEl.onclick();							break;						case "text":							atEl.focus();							break;						case "password":							atEl.focus();							break;						case "textarea":							atEl.focus();							break;					}				}			};		}	}}function sfHover(tagname, atEl) {	if(atEl != null && document.getElementById(atEl)) {		var sfEls = document.getElementById(atEl).getElementsByTagName(tagname);	}	else	{		var sfEls = document.getElementsByTagName(tagname);	}	 // alert("Adding :hover to " + sfEls.length + " <" + tagname + "> elements");	for (var i=0; i<sfEls.length; i++) {		sfEls[i].onmouseover=function() {			this.className+=" sfhover";		}		sfEls[i].onmouseout=function() {			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");		}	}}function mkHover(atEl, tagname) {}function add_class(o, cls) {	remove_class(o, cls);	o.className = o.className += " " + cls;}function remove_class(o, cls) {	var regex = new RegExp("\\b"+cls+"\\b");	o.className = o.className.replace(regex, "");}function siteOnLoadFunc() {// this function will be run whenever the page is loaded;	try { initRollovers() } // initializes rollovers	catch(e) { }		if(isSafari) { 		try {  initSafariLabel() }		catch(e) { }	}		if(isMacIE) {		// MacIE specific setup;		try { macForceRedraw() }		catch(e) { }	}		if(isIE) {		try { /*resetControlPosition();*/ }		catch(e) { }	}		try { initNavReset(); } // initializes nav bar	catch(e) { }		try { pageOnLoadFunc(); } // initializes page specific  js	catch(e) { }	try { secOnLoadFunc(); } // initializes section specific js	catch(e) { }	try { 		var atSearchDiv = document.getElementById("WBSEARCHFORM");		var atSearchForm = atSearchDiv.getElementsByTagName("form")[0];		if(atSearchForm != null){			attachKeyEnterToForm(atSearchForm); 		}	} // initializes enter key on all search form elements	catch(e) { }		if(document.all) {		try { 			//sfHover("li"); 			//sfHover("ul");			//sfHover("div");		}		catch(e) { alert("failed adding :hover to elements\r" + e) }	}}function macForceRedraw() {	var atBody = document.getElementsByTagName("body")[0];	var atBodyStyle = atBody.style.fontSize;	atBody.style.fontSize = atBodyStyle;} function wem(val2,val1) { 	var at = "@"; 	var col = ":"; 	document.write('<a href="mailto'+col+val1+at+val2+'">'); 	document.write(val1+at+val2); 	document.write('</a>');  }  var gFragAr = new Array();	gFragAr["postFrag"] = ".fpx?";function disableHiddenEls(atForm) {	var inputs = atForm.getElementsByTagName("input");	var sels   = atForm.getElementsByTagName("select");	var tas    = atForm.getElementsByTagName("textarea");		var elAr   = new Array();	for(var x=0; x<inputs.length; x++) {		if(inputs[x].type != 'hidden') {			elAr[elAr.length] = inputs[x];		}	}	for(var x=0; x<sels.length; x++) {		elAr[elAr.length] = sels[x]	}	for(var x=0; x<tas.length; x++) {		elAr[elAr.length] = sels[tas]	}		for(var x=0;x<elAr.length;x++) {		elAr[x].disabled = !isDisplayed(elAr[x]);	}}function isDisplayed(atEl) {	var displayed = true;	var displayChain = '';	var exEl = atEl;		while(exEl && exEl.nodeType<9) {			displayChain += exEl.tagName +": " + exEl.offsetHeight+ " ";			var curOH = "" + exEl.offsetHeight;			var currentTag = exEl.tagName;			if (window.getComputedStyle) {				var y = window.getComputedStyle(exEl,null).getPropertyValue('display');				displayChain += " (moz) ";			}			else if (exEl.currentStyle) {				var y = eval('exEl.currentStyle.' + 'display');				displayChain += " (ie) ";			}			else if (curOH == 'undefined' || (exEl.offsetHeight == 0 && currentTag != 'TR')) {				var y  = 'none';				displayChain += " (safari or other) " + exEl.offsetHeight + " ";			}			else { 				// displayChain += " (wtf?) '" + exEl.offsetHeight + "' ";			}			if( y == 'none') {				displayed = false;				break;			}			//alert(exEl.toString());			exEl = exEl.parentNode;		}	return displayed;}function changeDisabledPropForEls(domObj, disable, objDisCit) {	var inputs = domObj.getElementsByTagName("input");	var sels   = domObj.getElementsByTagName("select");	var tas    = domObj.getElementsByTagName("textarea");		var elAr   = new Array();	for(var x=0; x<inputs.length; x++) {		if(inputs[x].type != 'hidden') {			elAr[elAr.length] = inputs[x];		}	}	for(var x=0; x<sels.length; x++) {		elAr[elAr.length] = sels[x]	}	for(var x=0; x<tas.length; x++) {		elAr[elAr.length] = sels[tas]	}		for(var x=0;x<elAr.length;x++) {		if(objDisCit == null || objDisCit == 'undefined'){			elAr[x].disabled = disable;		}else{			//check it's current visibility		}	}}function rotateImg(atImg, atSrc) {	var atImgAr   = atSrc.split("/");	var atImgName = atImgAr[atImgAr.length - 1];	var atReplace = new RegExp("\\.(gif|jpg|png)");	atImgName     = atImgName.replace(atReplace, "");	atImg.useMap  = "#map" + atImgName;	atImg.src     = atSrc;	return true;}function Rotator() {	this.imgAr         = new Array();	this.textAr        = new Array();	this.interval      = 0;	this.curImg        = 0;	this.imgTarget     = null;	this.textTargets   = new Array();	this.loaded        = new Array();	this.tempImg       = null;	this.addImg        = function(imgSrc) {		this.textAr[this.imgAr.length] = new Array();			if(addImg.arguments.length > 1) {				for(var x=1; x<addImg.arguments.length; x++) {					this.textAr[this.imgAr.length][x-1] = addImg.arguments[x];				}			}		this.imgAr[this.imgAr.length] = imgSrc;	}	this.nextImg       = function nextImg() {		if(this.pauseState) {			var nextImgNum = this.curImg + 1;			if(nextImgNum >= this.imgAr.length) {				nextImgNum = 0;			}						this.curImg = nextImgNum;			rotateImg(this.imgTarget, this.imgAr[this.curImg]);			if(this.textAr[this.curImg] && this.textAr[this.curImg].length && this.textTargets.length) {				var atStrings = this.textAr[this.curImg];				for(var x=0; x<this.textTargets.length; x++) {					if(atStrings[x]) {						this.textTargets[x].innerHTML = atStrings[x];					}					else {						this.textTargets[x].innerHTML = "";					}									}			}			this.preload(nextImgNum);		}	}	this.start         = function() {		this.interval = window.setInterval(this.rotatorRef + ".nextImg()", 1000 * 6);		this.paseState = 1	}	this.pause         = function() { this.pauseState = 0; };	this.resume        = function() { this.pauseState = 1; };	this.getTargetById = function(atId, rotatorRef) {		this.rotatorRef = rotatorRef;		if(document.getElementById(atId)) {			var tempTarget = document.getElementById(atId);			if(tempTarget.tagName.toUpperCase() == "IMG") { this.imgTarget = tempTarget; }			else { this.imgTarget = tempTarget.getElementsByTagName("img")[0]; }		}	}		this.getTextTarget = function(atID) {		if(document.getElementById(atID)) { this.textTargets[this.textTargets.length] = document.getElementById(atID); }	}	this.preload       = preloadNext;	this.rotatorRef    = "";	this.pauseState    = 1;	}function preloadNext(atIdx) {	if(atIdx >= this.imgAr.length) { atIdx = 0; }	if(!this.loaded[atIdx]) {		this.tempImg = new Image();		this.tempImg.src = this.imgAr[atIdx];		this.loaded[atIdx] = true;	}}function getAvailHeight() {	/* remove when function is global or something */	var theHeight = 0;	if(isIE) {		var atHTML = (isMac) ? document.body : document.getElementsByTagName("HTML")[0]		theHeight = atHTML.clientHeight;		}	else {		theHeight = window.innerHeight;	}	return theHeight;}function openInNewWin(atUrl) {	var atDate = new Date();	var atPId = "win" + atDate.getTime();	var newWin	= openPopUp(atUrl,atPId,"toolbar=no,width=900,height=650,status=yes,resizable=yes,scrollbars=yes");	return true;}window.onload = siteOnLoadFunc;function feedback(thePage) {	var atURL = "/help/feedback.lasso?thePage="+thePage	var newWin	= openPopUp(atURL,'feedback',"toolbar=no,width=500,height=600,status=yes,resizable=yes");}function submitForm(theForm) {	if(theForm.onsubmit())	{		theForm.submit();	}}function wb_autoReload() {	document.location.replace(document.location.href);}/* document.getElementsBySelector(selector)example: elements = document.getElementsBySelect('div#main p a.external')   See http://www.w3.org/TR/css3-selectors/#attribute-selectors   Version 0.4 - Simon Willison, March 25th 2003*/function getAllChildren(e) {  // Returns all children of element. Workaround required for IE5/Windows. Ugh.  return e.all ? e.all : e.getElementsByTagName('*');}document.getElementsBySelector = function(selector) {	// Attempt to fail gracefully in lesser browsers	if (!document.getElementsByTagName) {		return new Array();	}	// Split selector in to tokens	var tokens = selector.split(' ');	var currentContext = new Array(document);	for (var i = 0; i < tokens.length; i++) {		token = tokens[i].replace(/^\s+/,'').replace(/\s+$/,'');;		if (token.indexOf('#') > -1) {			// Token is an ID selector			var bits = token.split('#');			var tagName = bits[0];			var id = bits[1];			var element = document.getElementById(id);			if (tagName && element.nodeName.toLowerCase() != tagName) {				// tag with that ID not found, return false				return new Array();			}			// Set currentContext to contain just this element			currentContext = new Array(element);			continue; // Skip to next token		}		if (token.indexOf('.') > -1) {			// Token contains a class selector			var bits = token.split('.');			var tagName = bits[0];			var className = bits[1];			if (!tagName) {				tagName = '*';			}			// Get elements matching tag, filter them for class selector			var found = new Array;			var foundCount = 0;			for (var h = 0; h < currentContext.length; h++) {				var elements;				if (tagName == '*') {						elements = getAllChildren(currentContext[h]);				} else {						elements = currentContext[h].getElementsByTagName(tagName);				}				for (var j = 0; j < elements.length; j++) {					found[foundCount++] = elements[j];				}			}			currentContext = new Array;			var currentContextIndex = 0;			for (var k = 0; k < found.length; k++) {				if (found[k].className && found[k].className.match(new RegExp('\\b'+className+'\\b'))) {					currentContext[currentContextIndex++] = found[k];				}			}			continue; // Skip to next token		}		// Code to deal with attribute selectors		if (token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)) {			var tagName = RegExp.$1;			var attrName = RegExp.$2;			var attrOperator = RegExp.$3;			var attrValue = RegExp.$4;			if (!tagName) {				tagName = '*';			}			// Grab all of the tagName elements within current context			var found = new Array;			var foundCount = 0;			for (var h = 0; h < currentContext.length; h++) {				var elements;				if (tagName == '*') {						elements = getAllChildren(currentContext[h]);				} else {						elements = currentContext[h].getElementsByTagName(tagName);				}				for (var j = 0; j < elements.length; j++) {					found[foundCount++] = elements[j];				}			}			currentContext = new Array;			var currentContextIndex = 0;			var checkFunction; // This function will be used to filter the elements			switch (attrOperator) {				case '=': // Equality					checkFunction = function(e) { return (e.getAttribute(attrName) == attrValue); };					break;				case '~': // Match one of space seperated words 					checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('\\b'+attrValue+'\\b'))); };					break;				case '|': // Match start with value followed by optional hyphen					checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?'))); };					break;				case '^': // Match starts with value					checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) == 0); };					break;				case '$': // Match ends with value - fails with "Warning" in Opera 7					checkFunction = function(e) { return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length); };					break;				case '*': // Match ends with value					checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) > -1); };					break;				default :					// Just test for existence of attribute					checkFunction = function(e) { return e.getAttribute(attrName); };			}			currentContext = new Array;			var currentContextIndex = 0;			for (var k = 0; k < found.length; k++) {				if (checkFunction(found[k])) {					currentContext[currentContextIndex++] = found[k];				}			}			// alert('Attribute Selector: '+tagName+' '+attrName+' '+attrOperator+' '+attrValue);			continue; // Skip to next token		}		// If we get here, token is JUST an element (not a class or ID selector)		tagName = token;		var found = new Array;		var foundCount = 0;		for (var h = 0; h < currentContext.length; h++) {			var elements = currentContext[h].getElementsByTagName(tagName);			for (var j = 0; j < elements.length; j++) {				found[foundCount++] = elements[j];			}		}		currentContext = found;	}	return currentContext;}//START MYWORKBOOK FUNCTIONSfunction reportForXML(ObjXML){	/**	var newid = getNodeText(ObjXML.getElementsByTagName("newid")[0]);	var itemType = getNodeText(ObjXML.getElementsByTagName("itemtype")[0]);	var task = getNodeText(ObjXML.getElementsByTagName("task")[0]);		if(task == 'addItem')	{		alert('Item Added');	}	else	{		alert('Item Removed');	}	**/}function addWorkbookItem(Section, ItemType, ItemID){	var atURL = "/remoteProc/myworkbook.lasso?task=addItem&Section="+Section+"&ItemType=" + ItemType + "&ItemID=" + ItemID;	var nullifier = importXML(atURL, 'reportForXML');	alert('This item has been added to My Workbook')}function removeWorkbookItem(ItemID, ItemType){	var atURL = "/remoteProc/myworkbook.lasso?task=remItem&itemID="+ItemID;	var nullifier = importXML(atURL, 'reportForXML');}//END MYWORKBOO0K FUNCTIONS// from Prototype.js// $() is an alias of document.getElementById()// is also allows for passing in multiple arguments and receiving an array of matching elements.// remove this function if we integerate prototype.js into our standard js librariesfunction $() {  var elements = new Array();  for (var i = 0; i < arguments.length; i++) {    var element = arguments[i];    if (typeof element == 'string')      element = document.getElementById(element);    if (arguments.length == 1)       return element;    elements.push(element);  }  return elements;}/*	cssQuery, version 2.0.2 (2005-08-19)	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)	License: http://creativecommons.org/licenses/LGPL/2.1/*/// added by Mark: This returns an array of nodes based on a CSS selector, which is often more useful than getElementById or getElementsByTagName// documentation at http://dean.edwards.name/my/cssQuery/eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7 x=6(){7 1D="2.0.2";7 C=/\\s*,\\s*/;7 x=6(s,A){33{7 m=[];7 u=1z.32.2c&&!A;7 b=(A)?(A.31==22)?A:[A]:[1g];7 1E=18(s).1l(C),i;9(i=0;i<1E.y;i++){s=1y(1E[i]);8(U&&s.Z(0,3).2b("")==" *#"){s=s.Z(2);A=24([],b,s[1])}1A A=b;7 j=0,t,f,a,c="";H(j<s.y){t=s[j++];f=s[j++];c+=t+f;a="";8(s[j]=="("){H(s[j++]!=")")a+=s[j];a=a.Z(0,-1);c+="("+a+")"}A=(u&&V[c])?V[c]:21(A,t,f,a);8(u)V[c]=A}m=m.30(A)}2a x.2d;5 m}2Z(e){x.2d=e;5[]}};x.1Z=6(){5"6 x() {\\n  [1D "+1D+"]\\n}"};7 V={};x.2c=L;x.2Y=6(s){8(s){s=1y(s).2b("");2a V[s]}1A V={}};7 29={};7 19=L;x.15=6(n,s){8(19)1i("s="+1U(s));29[n]=12 s()};x.2X=6(c){5 c?1i(c):o};7 D={};7 h={};7 q={P:/\\[([\\w-]+(\\|[\\w-]+)?)\\s*(\\W?=)?\\s*([^\\]]*)\\]/};7 T=[];D[" "]=6(r,f,t,n){7 e,i,j;9(i=0;i<f.y;i++){7 s=X(f[i],t,n);9(j=0;(e=s[j]);j++){8(M(e)&&14(e,n))r.z(e)}}};D["#"]=6(r,f,i){7 e,j;9(j=0;(e=f[j]);j++)8(e.B==i)r.z(e)};D["."]=6(r,f,c){c=12 1t("(^|\\\\s)"+c+"(\\\\s|$)");7 e,i;9(i=0;(e=f[i]);i++)8(c.l(e.1V))r.z(e)};D[":"]=6(r,f,p,a){7 t=h[p],e,i;8(t)9(i=0;(e=f[i]);i++)8(t(e,a))r.z(e)};h["2W"]=6(e){7 d=Q(e);8(d.1C)9(7 i=0;i<d.1C.y;i++){8(d.1C[i]==e)5 K}};h["2V"]=6(e){};7 M=6(e){5(e&&e.1c==1&&e.1f!="!")?e:23};7 16=6(e){H(e&&(e=e.2U)&&!M(e))28;5 e};7 G=6(e){H(e&&(e=e.2T)&&!M(e))28;5 e};7 1r=6(e){5 M(e.27)||G(e.27)};7 1P=6(e){5 M(e.26)||16(e.26)};7 1o=6(e){7 c=[];e=1r(e);H(e){c.z(e);e=G(e)}5 c};7 U=K;7 1h=6(e){7 d=Q(e);5(2S d.25=="2R")?/\\.1J$/i.l(d.2Q):2P(d.25=="2O 2N")};7 Q=6(e){5 e.2M||e.1g};7 X=6(e,t){5(t=="*"&&e.1B)?e.1B:e.X(t)};7 17=6(e,t,n){8(t=="*")5 M(e);8(!14(e,n))5 L;8(!1h(e))t=t.2L();5 e.1f==t};7 14=6(e,n){5!n||(n=="*")||(e.2K==n)};7 1e=6(e){5 e.1G};6 24(r,f,B){7 m,i,j;9(i=0;i<f.y;i++){8(m=f[i].1B.2J(B)){8(m.B==B)r.z(m);1A 8(m.y!=23){9(j=0;j<m.y;j++){8(m[j].B==B)r.z(m[j])}}}}5 r};8(![].z)22.2I.z=6(){9(7 i=0;i<1z.y;i++){o[o.y]=1z[i]}5 o.y};7 N=/\\|/;6 21(A,t,f,a){8(N.l(f)){f=f.1l(N);a=f[0];f=f[1]}7 r=[];8(D[t]){D[t](r,A,f,a)}5 r};7 S=/^[^\\s>+~]/;7 20=/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;6 1y(s){8(S.l(s))s=" "+s;5 s.P(20)||[]};7 W=/\\s*([\\s>+~(),]|^|$)\\s*/g;7 I=/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;7 18=6(s){5 s.O(W,"$1").O(I,"$1*$2")};7 1u={1Z:6(){5"\'"},P:/^(\'[^\']*\')|("[^"]*")$/,l:6(s){5 o.P.l(s)},1S:6(s){5 o.l(s)?s:o+s+o},1Y:6(s){5 o.l(s)?s.Z(1,-1):s}};7 1s=6(t){5 1u.1Y(t)};7 E=/([\\/()[\\]?{}|*+-])/g;6 R(s){5 s.O(E,"\\\\$1")};x.15("1j-2H",6(){D[">"]=6(r,f,t,n){7 e,i,j;9(i=0;i<f.y;i++){7 s=1o(f[i]);9(j=0;(e=s[j]);j++)8(17(e,t,n))r.z(e)}};D["+"]=6(r,f,t,n){9(7 i=0;i<f.y;i++){7 e=G(f[i]);8(e&&17(e,t,n))r.z(e)}};D["@"]=6(r,f,a){7 t=T[a].l;7 e,i;9(i=0;(e=f[i]);i++)8(t(e))r.z(e)};h["2G-10"]=6(e){5!16(e)};h["1x"]=6(e,c){c=12 1t("^"+c,"i");H(e&&!e.13("1x"))e=e.1n;5 e&&c.l(e.13("1x"))};q.1X=/\\\\:/g;q.1w="@";q.J={};q.O=6(m,a,n,c,v){7 k=o.1w+m;8(!T[k]){a=o.1W(a,c||"",v||"");T[k]=a;T.z(a)}5 T[k].B};q.1Q=6(s){s=s.O(o.1X,"|");7 m;H(m=s.P(o.P)){7 r=o.O(m[0],m[1],m[2],m[3],m[4]);s=s.O(o.P,r)}5 s};q.1W=6(p,t,v){7 a={};a.B=o.1w+T.y;a.2F=p;t=o.J[t];t=t?t(o.13(p),1s(v)):L;a.l=12 2E("e","5 "+t);5 a};q.13=6(n){1d(n.2D()){F"B":5"e.B";F"2C":5"e.1V";F"9":5"e.2B";F"1T":8(U){5"1U((e.2A.P(/1T=\\\\1v?([^\\\\s\\\\1v]*)\\\\1v?/)||[])[1]||\'\')"}}5"e.13(\'"+n.O(N,":")+"\')"};q.J[""]=6(a){5 a};q.J["="]=6(a,v){5 a+"=="+1u.1S(v)};q.J["~="]=6(a,v){5"/(^| )"+R(v)+"( |$)/.l("+a+")"};q.J["|="]=6(a,v){5"/^"+R(v)+"(-|$)/.l("+a+")"};7 1R=18;18=6(s){5 1R(q.1Q(s))}});x.15("1j-2z",6(){D["~"]=6(r,f,t,n){7 e,i;9(i=0;(e=f[i]);i++){H(e=G(e)){8(17(e,t,n))r.z(e)}}};h["2y"]=6(e,t){t=12 1t(R(1s(t)));5 t.l(1e(e))};h["2x"]=6(e){5 e==Q(e).1H};h["2w"]=6(e){7 n,i;9(i=0;(n=e.1F[i]);i++){8(M(n)||n.1c==3)5 L}5 K};h["1N-10"]=6(e){5!G(e)};h["2v-10"]=6(e){e=e.1n;5 1r(e)==1P(e)};h["2u"]=6(e,s){7 n=x(s,Q(e));9(7 i=0;i<n.y;i++){8(n[i]==e)5 L}5 K};h["1O-10"]=6(e,a){5 1p(e,a,16)};h["1O-1N-10"]=6(e,a){5 1p(e,a,G)};h["2t"]=6(e){5 e.B==2s.2r.Z(1)};h["1M"]=6(e){5 e.1M};h["2q"]=6(e){5 e.1q===L};h["1q"]=6(e){5 e.1q};h["1L"]=6(e){5 e.1L};q.J["^="]=6(a,v){5"/^"+R(v)+"/.l("+a+")"};q.J["$="]=6(a,v){5"/"+R(v)+"$/.l("+a+")"};q.J["*="]=6(a,v){5"/"+R(v)+"/.l("+a+")"};6 1p(e,a,t){1d(a){F"n":5 K;F"2p":a="2n";1a;F"2o":a="2n+1"}7 1m=1o(e.1n);6 1k(i){7 i=(t==G)?1m.y-i:i-1;5 1m[i]==e};8(!Y(a))5 1k(a);a=a.1l("n");7 m=1K(a[0]);7 s=1K(a[1]);8((Y(m)||m==1)&&s==0)5 K;8(m==0&&!Y(s))5 1k(s);8(Y(s))s=0;7 c=1;H(e=t(e))c++;8(Y(m)||m==1)5(t==G)?(c<=s):(s>=c);5(c%m)==s}});x.15("1j-2m",6(){U=1i("L;/*@2l@8(@\\2k)U=K@2j@*/");8(!U){X=6(e,t,n){5 n?e.2i("*",t):e.X(t)};14=6(e,n){5!n||(n=="*")||(e.2h==n)};1h=1g.1I?6(e){5/1J/i.l(Q(e).1I)}:6(e){5 Q(e).1H.1f!="2g"};1e=6(e){5 e.2f||e.1G||1b(e)};6 1b(e){7 t="",n,i;9(i=0;(n=e.1F[i]);i++){1d(n.1c){F 11:F 1:t+=1b(n);1a;F 3:t+=n.2e;1a}}5 t}}});19=K;5 x}();',62,190,'|||||return|function|var|if|for||||||||pseudoClasses||||test|||this||AttributeSelector|||||||cssQuery|length|push|fr|id||selectors||case|nextElementSibling|while||tests|true|false|thisElement||replace|match|getDocument|regEscape||attributeSelectors|isMSIE|cache||getElementsByTagName|isNaN|slice|child||new|getAttribute|compareNamespace|addModule|previousElementSibling|compareTagName|parseSelector|loaded|break|_0|nodeType|switch|getTextContent|tagName|document|isXML|eval|css|_1|split|ch|parentNode|childElements|nthChild|disabled|firstElementChild|getText|RegExp|Quote|x22|PREFIX|lang|_2|arguments|else|all|links|version|se|childNodes|innerText|documentElement|contentType|xml|parseInt|indeterminate|checked|last|nth|lastElementChild|parse|_3|add|href|String|className|create|NS_IE|remove|toString|ST|select|Array|null|_4|mimeType|lastChild|firstChild|continue|modules|delete|join|caching|error|nodeValue|textContent|HTML|prefix|getElementsByTagNameNS|end|x5fwin32|cc_on|standard||odd|even|enabled|hash|location|target|not|only|empty|root|contains|level3|outerHTML|htmlFor|class|toLowerCase|Function|name|first|level2|prototype|item|scopeName|toUpperCase|ownerDocument|Document|XML|Boolean|URL|unknown|typeof|nextSibling|previousSibling|visited|link|valueOf|clearCache|catch|concat|constructor|callee|try'.split('|'),0,{}))function resetMenu(atMenu, clear) {	if(atMenu) {		if(clear || atMenu.className.indexOf("reset") >=0) { atMenu.selectedIndex = 0; }		atMenu.blur();	}}function isInstanceOf(obj, objType) {	if(!isMacIE) {		var isType = eval("obj instanceof " + objType);		return isType;	}	else {		var isA = new Object();		isA["function"]  = typeof obj == 'function';		isA["string"]    = typeof obj == 'string';		isA["number"]    = typeof obj == 'number';		isA["boolean"]   = typeof obj == 'boolean';		isA["undefined"] = typeof obj == 'undefined';		isA["object"]    = typeof obj == 'object';				if(typeof isA[objType.toLowerCase()] == 'boolean') {			return isA[objType.toLowerCase()]		}		else {			alert(obj + "(" + objType + ") is an object: " + isA["object"]);			return isA["object"]		}	}}