	// Global Variables //
	var _isMoz = (navigator.appName == "Netscape");
	var _isIE = (navigator.appName == "Microsoft Internet Explorer");
	var _isIE6 = (navigator.appVersion.search("MSIE 6.0") != -1);
	var _isSafari = (navigator.userAgent.indexOf("Safari") != -1);
	var _isLoaded = false, _i = _j = _numCheckboxes = _navCount = _subNavCount = _setKropLink = _paletteAngle = _width = _height = 0, _canAni = "show", _animateBy = 40, _paletteIsCPW = false;
	var dragsort, junkdrawer, _colourBoxOrder = "0|1|2|3|4", _incArrayMenu = [0,10,17,21,23], _incArrayUL = [57,47,40,36,34], _incArrayMenuH = [23,21,17,10,0], _incArrayULH = [34,36,40,47,57];
	var _currentPage = "";

	showHoverInfo = function(){}
	hideHoverInfo = function(){}


	$S = function(_elementID) {
		return $(_elementID).style;
	}

	

	httpPost = function() {
		var _httpPostSocket;
		// Send request //
		this.sendRequest = function(_contentElement,_args) {
			var _url = ("/ajax/" + _contentElement), _continue = true, _method = "POST", _postArgs = "";

			if (window.XMLHttpRequest) {
				_httpPostSocket = new XMLHttpRequest();
			} else if (window.ActiveXObject) {
				try {
					_httpPostSocket = new ActiveXObject("Msxml2.XMLHTTP");
				} catch(_e) {
					_httpPostSocket = new ActiveXObject("Microsoft.XMLHTTP");
				}
			}

			if (_contentElement == "addComment") {
				// commentsID, contextType, contextID, comments
				var _comments = _args[3];
				_postArgs += "commentsID=" + _args[0] + "&contextType=" + _args[1] + "&contextID=" + _args[2] + "&comments=" + _args[3];
			}

			if (_continue) {
				// Tell Google that we have another page view //
				try {
					urchinTracker(_url);
				} catch (_e) {}
				if (window.XMLHttpRequest) {
					_httpPostSocket.onreadystatechange = this.xmlhttpChange;
					_httpPostSocket.open(_method,_url,true);
					_httpPostSocket.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
					_httpPostSocket.send(_postArgs);
				} else if (window.ActiveXObject) {
					if (_httpPostSocket) {
						_httpPostSocket.onreadystatechange = this.xmlhttpChange;
						_httpPostSocket.open(_method,_url,true);
						_httpPostSocket.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
						_httpPostSocket.send(_postArgs);
					}
				}
			}
		}

		// AJAX Listener //
		this.xmlhttpChange = function() {
			if (_httpPostSocket.readyState == 4) {
				var _responseArray = [];
				var _responseText = _httpPostSocket.responseText;
				var _PFSResponseType = _httpPostSocket.getResponseHeader("PFSResponseType");

				// IE seems to think this is a static object, I think not //
				if (_isIE) {
					_httpPostSocket.abort();
				}

				if (_PFSResponseType == "addComment") {
					_responseArray = _responseText.split("|");

					if (_responseArray[0] == "login") {
						window.location.href = "/login?referer=" + _responseArray[1];
					} else {
						(new httpRequest()).sendRequest(_responseArray[0],eval(_responseArray[1]),false);
					}
				}
			}
		}
	}

	// AJAX //
	httpRequest = function() {
		var _httpSocket;

		// Send request //
		this.sendRequest = function(_contentElement,_args,_registerNewPageView) {
			var _url = "";
			_registerNewPageView = (_registerNewPageView != "undefined") ? _registerNewPageView : false;
			if ((_contentElement == "loversBlog1") || (_contentElement == "loversBlog2") || (_contentElement == "loversBlog3") || (_contentElement == "loversBlog4")) {
				_url = ("/ajax/loversBlog") , _continue = true, _method = "GET";
			} else {
				_url = ("/ajax/" + _contentElement) , _continue = true, _method = "GET";
			}

			if (window.XMLHttpRequest) {
				_httpSocket = new XMLHttpRequest();
			} else if (window.ActiveXObject) {
				try {
					_httpSocket = new ActiveXObject("Msxml2.XMLHTTP");
				} catch(_e) {
					_httpSocket = new ActiveXObject("Microsoft.XMLHTTP");
				}
			}

			if (_contentElement == "loversFriendsComments") {
				// userID, page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "loversFlickr") {
				// flickrID, howMany
				_url += "?flickrID=" + _args[0] + "&howMany=" + _args[1];
			} else if (_contentElement == "loversWhoLoves") {
				// id [user], page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "loversWhoILove") {
				// id [user], page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "tagCloud") {
				// page
				_url += "?page=" + _args[0];
			} else if (_contentElement == "indexRandColours") {
				// howMany, hue, lover [id], groupID
				_url += "?howMany=" + _args[0] + "&hue=" + _args[1] + "&lover=" + _args[2] + "&groupID=" + _args[3];
			} else if (_contentElement == "similarColours") {
				// howMany, hue
				_url += "?howMany=" + _args[0] + "&hue=" + _args[1];
			} else if (_contentElement == "indexRandPalettes") {
				// howMany, lover [id], groupID
				_url += "?howMany=" + _args[0] + "&lover=" + _args[1] + "&groupID=" + _args[2];
			} else if (_contentElement == "indexRandPatterns") {
				// howMany, lover [id], groupID
				_url += "?howMany=" + _args[0] + "&lover=" + _args[1] + "&groupID=" + _args[2];
			} else if (_contentElement == "loversGroups") {
				// userID, page
				_url += "?userID=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "indexTopColours") {
				// howMany, page
				_url += "?howMany=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "newPalettes") {
				// howMany
				_url += "?howMany=" + _args[0];
			} else if (_contentElement == "coloursInPalettes") {
				// id [colour], page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "loversFavouritePalettes") {
				// id [user], howMany
				_url += "?id=" + _args[0] + "&howMany=" + _args[1];
			} else if (_contentElement == "loversFavouriteColours") {
				// id [user], howMany
				_url += "?id=" + _args[0] + "&howMany=" + _args[1];
			} else if (_contentElement == "coloursFriendsComments") {
				// id [colour], page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "myComments") {
				// id [user], page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "coloursWhoLoves") {
				// id [colour], page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "groupMembers") {
				// groupID, page
				_url += "?groupID=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "palettesInColours") {
				// id [palette], howMany
				_url += "?id=" + _args[0] + "&howMany=" + _args[1];
			} else if (_contentElement == "palettesWhoLoves") {
				// id [palette], page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "patternsInColours") {
				// patternID, howMany
				_url += "?patternID=" + _args[0] + "&howMany=" + _args[1];
			} else if (_contentElement == "patternsWhoLoves") {
				// patternID, page
				_url += "?patternID=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "patternComments") {
				// patternID, page
				_url += "?patternID=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "patternCategorySearchResponse") {
				// patternCategoryID, patternCategoryOrderBy, page
				_url += "?patternCategoryID=" + _args[0] + "&patternCategoryOrderBy=" + _args[1] + "&page=" + _args[2];
			} else if (_contentElement == "searchPatterns") {
				// sortType, sortBy, query, hsb, lover, hex, hueOption0, hueOption1, hueOption2, page
				_url += "?sortType=" + _args[0] + "&sortBy=" + _args[1] + "&query=" + _args[2] + "&hsb=" + _args[3] + "&lover=" + _args[4] + "&hex=" + _args[5] + "&hueOption0=" + _args[6] + "&hueOption1=" + _args[7] + "&hueOption2=" + _args[8] + "&page=" + _args[9];
			} else if (_contentElement == "palettesFriendsComments") {
				// id [palette], page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "indexTopPalettes") {
				// howMany
				_url += "?howMany=" + _args[0];
			} else if (_contentElement == "loversColours") {
				// section, id [user], howMany
				_url += "?section=" + _args[0] + "&id=" + _args[1] + "&howMany=" + _args[2];
			} else if (_contentElement == "rate") {
				// contextType, contextID, score
				_url += "?contextType=" + _args[0] + "&contextID=" + _args[1] + "&score=" + _args[2];
			} else if (_contentElement == "loversPalettes") {
				// section, id [user], howMany
				_url += "?section=" + _args[0] + "&id=" + _args[1] + "&howMany=" + _args[2];
			} else if (_contentElement == "loversPatterns") {
				// section, id [user], howMany
				_url += "?section=" + _args[0] + "&id=" + _args[1] + "&howMany=" + _args[2];
			} else if (_contentElement == "loversFavouriteLovers") {
				// userName, id [user], page
				_url += "?userName=" + _args[0] + "&id=" + _args[1] + "&page=" + _args[2];
			} else if (_contentElement == "searchColours") {
				// sortType, sortBy, query, hsv, lover, hex, page
				_url += "?sortType=" + _args[0] + "&sortBy=" + _args[1] + "&query=" + _args[2] + "&hsv=" + _args[3] + "&lover=" + _args[4] + "&page=" + _args[6];
			} else if (_contentElement == "searchPalettes") {
				// sortType, sortBy, query, hsv, lover, hex, hueOption0, hueOption1, hueOption2, page
				_url += "?sortType=" + _args[0] + "&sortBy=" + _args[1] + "&query=" + _args[2] + "&hsv=" + _args[3] + "&lover=" + _args[4] + "&hex=" + _args[5] + "&hueOption0=" + _args[6] + "&hueOption1=" + _args[7] + "&hueOption2=" + _args[8] + "&page=" + _args[9];
			} else if (_contentElement == "searchLovers") {
				// sortType, sortBy, query, location, lover, hex, page
				_url += "?sortType=" + _args[0] + "&sortBy=" + _args[1] + "&query=" + _args[2] + "&location=" + _args[3] + "&lover=" + _args[4] + "&hex=" + _args[5] + "&page=" + _args[6];
			} else if (_contentElement == "recentLovers") {
				// NULL, page
				_url += "?page=" + _args[1];
			} else if (_contentElement == "recentComments") {
				// contextType, page
				_url += "?contextType=" + _args[0] + "&page=" + _args[1];
			} else if ((_contentElement == "loversBlog1") || (_contentElement == "loversBlog2") || (_contentElement == "loversBlog3") || (_contentElement == "loversBlog4")) {
				// data, howMany
				_url += "?data=" + _args[0] + "&howMany=" + _args[1] + "&contentElement=" + _contentElement;
			} else if (_contentElement == "checkIfColoursExist") {
				// paletteColours, pickerType, overwrite
				_url += "?paletteColours=" + _args[0] + "&pickerType=" + _args[1] + "&overwrite=" + _args[2];
			} else if (_contentElement == "trendsTrends") {
				// year, month, query, hsv, trendType, page
				_url += "?year=" + _args[0] + "&month=" + _args[1] + "&query=" + _args[2] + "&hsv=" + _args[3] + "&trendType=" + _args[4] + "&page=" + _args[5];
			} else if (_contentElement == "websiteTrendsTrends") {
				// year, month, query, hex, url, hueOption0, hueOption1, hueOption2
				_url += "?year=" + _args[0] + "&month=" + _args[1] + "&query=" + _args[2] + "&hex=" + _args[3] + "&url=" + _args[4] + "&hueOption0=" + _args[5] + "&hueOption1=" + _args[6] + "&hueOption2=" + _args[7] + "&page=" + _args[8];
			} else if (_contentElement == "prevCoverColours") {
				// howMany, id [trend]
				_url += "?howMany=" + _args[0] + "&id=" + _args[1];
			} else if (_contentElement == "websiteTrendsComments") {
				// websiteTrendID, page
				_url += "?websiteTrendID=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "trendsComments") {
				// id [trend], page
				_url += "?id=" + _args[0] + "&page=" + _args[1];
			} else if (_contentElement == "newsNews") {
				// NULL, page
				_url += "?page=" + _args[1];
			} else if (_contentElement == "blogBlog") {
				// NULL, page
				_url += "?page=" + _args[1];
			} else if (_contentElement == "addColourReference") {
				// hex
				_url += "?hex=" + _args[0];
			} else if ((_contentElement == "loverUnsubscribeAll") || (_contentElement == "loverSubscribeAll")) {
				// subscriptionContextType
				_url += "?subscriptionContextType=" + _args[0];
			} else if (_contentElement == "picturePaletteInspiration") {
				// url
				_url += "?url=" + _args[0];
			} else if (_contentElement == "copasoPixelatedImageOnClick") {
				// url, x, y
				_url += "?url=" + _args[0] + "&x=" + _args[1] + "&y=" + _args[2];
			} else if (_contentElement == "copasoPixelatedImgPreview") {
				// url, x, y
				_url += "?url=" + _args[0] + "&x=" + _args[1] + "&y=" + _args[2];
			} else if ((_contentElement == "copasoSearchColors") || (_contentElement == "copasoSearchPalettes")) {
				// SO - Search Options
				_url += "?SO=" + _args[0];
			} else if (_contentElement == "saveCopaso") {
				// copasoMeta, paletteMeta, copasoPaletteID, paletteID
				_url += "?copasoMeta=" + _args[0] + "&paletteMeta=" + _args[1] + "&copasoPaletteID=" + _args[2] + "&paletteID=" + _args[3];
			} else if (_contentElement == "publishCopaso") {
				// copasoMeta, paletteMeta, copasoPaletteID, _paletteID, _nonExistentColorNamesList, _nonExistentColorHexsList
				_url += "?copasoMeta=" + _args[0] + "&paletteMeta=" + _args[1] + "&copasoPaletteID=" + _args[2] + "&paletteID=" + _args[3] + "&nonExistentColorNamesList=" + _args[4] + "&nonExistentColorHexsList=" + _args[5];
			} else if (_contentElement == "copasoInfoTooltip") {
				// elementID, hexOrPaletteID
				_url += "?elementID=" + _args[0] + "&hexOrPaletteID=" + _args[1];


			} else if (_contentElement == "remComment") {
				// contextType, commentID, reffererArgs
				_url += "?contextType=" + _args[0] + "&commentID=" + _args[1] + "&reffererArgs=" + _args[2];
			}

			if (_continue) {
				if (!["rate","checkIfColoursExist","loverUnsubscribeAll","loverSubscribeAll","picturePaletteInspiration","copasoPixelatedImageOnClick","copasoPixelatedImgPreview","copasoSearchPalettes","copasoSearchColors","saveCopaso","publishCopaso","copasoInfoTooltip","remComment"].in_array(_contentElement)) {
					$(_contentElement).innerHTML = getLoadingFlash();
				}

				if ((_contentElement == "loverUnsubscribeAll") || (_contentElement == "loverSubscribeAll")) {
					var _subscriptionAction = (_contentElement == "loverUnsubscribeAll") ? "u" : "s";
					var _text = (_contentElement == "loverUnsubscribeAll") ? "Unsubscribing" : "Subscribing";
					$("d" + _args[0] + "s_" + _subscriptionAction + "a").innerHTML = (_text + " ...");
				}

				if (_registerNewPageView) {
					// Tell Google that we have another page view //
					try {
						urchinTracker(_url);
					} catch (_e) {}
				}
				if (window.XMLHttpRequest) {
					_httpSocket.onreadystatechange = this.xmlhttpChange;
					_httpSocket.open(_method,_url,true);
					_httpSocket.setRequestHeader("Content-Type","text/plain; charset=UTF-8");
					_httpSocket.send(null);
				} else if (window.ActiveXObject) {
					if (_httpSocket) {
						_httpSocket.onreadystatechange = this.xmlhttpChange;
						_httpSocket.open(_method,_url,true);
						_httpSocket.setRequestHeader("Content-Type","text/plain; charset=UTF-8");
						_httpSocket.send();
					}
				}
			}
		}

		// AJAX Listener //
		this.xmlhttpChange = function() {
			if (_httpSocket.readyState == 4) {
				var _responseArray = [], _alertText, _ns = [];
				var _responseText = _httpSocket.responseText;
				var _PFSResponseType = _httpSocket.getResponseHeader("PFSResponseType");

				// IE seems to think this is a static object, I think not //
				if (_isIE) {
					_httpSocket.abort();
				}

				if (_PFSResponseType == "rate") {
					_responseArray = _responseText.split("|");

					if (_responseArray[0] == "login") {
						window.location.href = "/login?referer=" + _responseArray[1];
					} else if (_responseArray[0] == "alert") {
						if (_responseArray[1] == "priorVote") {
							_alertText = "You have already voted for this Palette / Color.\nYou can vote again next month.";
						} else if (_responseArray[1] == "noCP") {
							_alertText = "ERROR => Color / Palette does not exist!";
						} else if (_responseArray[1] == "invalidScore") {
							_alertText = "Score was out of range!";
						} else if (_responseArray[1] == "invalidContextType") {
							_alertText = "ERROR => Bad `contextType`.";
						}
						alert(_alertText);
					} else if (_responseArray[0] == "success") {
						_ns = eval(_responseArray[1]);
						$("rateNumVotes").innerHTML = _ns[0];
						$("rateScore").innerHTML = _ns[1];
					}
				} else if ((_PFSResponseType == "loverUnsubscribeAll") || (_PFSResponseType == "loverSubscribeAll")) {
					if (_responseText == "login") {
						window.location.href = "/login"; // Just in case their session times out //
					} else if (_responseText != "") {
						_responseArray = _responseText.split("|");
						if (_responseArray[0]) {
							var _subscriptionAction = (_PFSResponseType == "loverUnsubscribeAll") ? "u" : "s";
							var _text = (_PFSResponseType == "loverUnsubscribeAll") ? "Unsubscribed!" : "Subscrition[s] Confirmed";
							$("d" + _responseArray[1] + "s_" + _subscriptionAction + "a").innerHTML = _text;
						}
					} else {
						alert("Bad subscriptionContextType");
					}
				} else if (_PFSResponseType == "checkIfColoursExistN") {
					_coloursChecked = true;
					_newColours = _responseText;
					addPattern();
				} else if (_PFSResponseType == "checkIfColoursExistP") {
					_coloursChecked = true;
					_newColours = _responseText;
					addPalette();
				} else if (_PFSResponseType == "checkIfColoursExistC") {
					_coloursChecked = true;

					if (_responseText == "ce") {
						_colourExists = true;
					} else if (_responseText == "cdne") {
						_colourExists = false;
					}
					addColour();
				} else if (_PFSResponseType == "picturePaletteInspiration") {
					if (_responseText == "badimg") {
						$("picturePaletteInspirationInnerDiv").innerHTML = "<div style=\"color: #d40000; margin-top: 50px;\"><strong>ERROR:</strong> The URL you provided is invalid.</div>";
					} else {
						_responseText = _responseText.split("|");

						$("picturePaletteInspirationInnerDiv").innerHTML = "";
						for (_i=0;_i<_responseText.length;_i++) {
							$("picturePaletteInspirationInnerDiv").innerHTML += "<a href=\"JavaScript:updateHexDiv('" + _responseText[_i] + "');%20setHex(_currentColourDiv);\" style=\"background-color: #" + _responseText[_i] + ";\" title=\"#" + _responseText[_i] + "\"></a>";
						}
					}
				} else if (_PFSResponseType == "copasoPixelatedImageOnClick") {
					copasoPixelatedImageHex(_responseText);
				} else if (_PFSResponseType == "copasoPixelatedImgPreview") {
					copasoPixelatedImgPreview(_responseText);
				} else if (_PFSResponseType == "copasoSearchPalettes") {
					searchPaletteResults(_responseText);
				} else if (_PFSResponseType == "copasoSearchColors") {
					searchColorResults(_responseText);
				} else if (_PFSResponseType == "saveCopaso") {
					saveCopasoResponse(_responseText);
				} else if (_PFSResponseType == "checkIfColoursExistCopaso") {
					checkIfCopasoColorsExistResponse(_responseText);
				} else if (_PFSResponseType == "publishCopaso") {
					publishCopasoResponse(_responseText);
				} else if (_PFSResponseType == "copasoInfoTooltip") {
					showInfoTooltipResponse(_responseText);
				} else if (_PFSResponseType == "remComment") {
					_responseTextArray = _responseText.split("|");
					if (_responseTextArray[0] == "redirect") {
						window.location.href = _responseTextArray[1];
					} else {
						buildRequest(_responseTextArray[0],[_responseTextArray[1],_responseTextArray[2]]);
					}
				} else {
					$(_PFSResponseType).innerHTML = _responseText;
					// Sometimes this content will overlap adjacent content, this seems to do the trick...
					//$S(_PFSResponseType).position = "relative";
				}
			}
		}
	}

	buildRequest = function(_contentElement,_args) {
		(new httpRequest()).sendRequest(_contentElement,_args,true);
	}

	goToAnchor = function(_anchor) {
		if (_anchor) {
			window.location.href = ((/^([^#]+)#?(.*)?$/.exec(window.location.href))[1] + "#" + _anchor);
		}
	}

	rotatePalette = function(_args,_cPW) {
		_paletteAngle++;
		if (_paletteAngle == 4) {
			_paletteAngle = 0;
		}
		$("paletteImg").src = ("/paletteImg/" + _args + "?angle=" + _paletteAngle + "&cPW=" + _cPW);
	}




	// Show subNav //
	showSubNav = function(_elementID) {
		_wait = 0;
		if (_canAni == "show") {
			$S("navUL").marginBottom = 0;
			
			if ($("subNavContainer").style.height != (_incArrayMenuH[0] + "px")) {
				// If subNavContainer is closed...
				_canAni = "";
				for (_i=0;_i<_incArrayMenu.length;_i++) {
					setTimeout("aniSubNav(" + _incArrayMenu[_i] + "," + _incArrayUL[_i] + ")",(_animateBy * _i));
				}
				$S("subNavContainer").display = "block";
			}
			_wait = (_incArrayMenu.length * _animateBy);
			setTimeout("menuAniStop('hide')",(_wait + 19));
		}

		fadeElement("sub" + _elementID,0);
		for (_i=1;_i<=10;_i++) {
			setTimeout("fadeElement('sub" + _elementID + "'," + _i + ")",(_wait + (_animateBy * _i)));
		}
		highlightNav(_elementID);

		// Close any SubNavs we have open //
		for (_i=0;_i<=_subNavCount;_i++) {
			$S("subNav" + _i).display = "none";
		}
		$S("sub" + _elementID).display = "block";
	}

	aniSubNav = function(_howMuchMenu,_howMuchUL) {
		$S("subNavContainer").height = (_howMuchMenu + "px");
		$S("navUL").marginTop = (_howMuchUL + "px");
	}

	// Hide subNav //
	hideSubNav = function() {
		_wait = 0;
		if (_canAni == "hide") {
			if ($S("subNavContainer").height == (_incArrayMenuH[0] + "px")) {
				_canAni = "";
				for (_i=0;_i<_incArrayMenu.length;_i++) {
					setTimeout("aniSubNav(" + _incArrayMenuH[_i] + "," + _incArrayULH[_i] + ")",(_animateBy * _i));
				}
				_wait = (_incArrayMenu.length * _animateBy);
				setTimeout("menuAniStop('show')",(_wait + 19));
			}
		}
	}

	menuOver = function() {
		try {
			clearTimeout(_timeOut);
		} catch(_e) {}
	}

	menuOut = function() {
		_timeOut = setTimeout("hideSubNav(); highlightNav();",750);
	}

	// Called when the menu is done animating [either up or down]
	menuAniStop = function(_showHide) {
		_canAni = _showHide;
	}

	// Highlight whatever _elementID is passed //
	highlightNav = function(_elementID) {
		// Clear any Nav Anchors we have higlighted //
		for (_i=0;_i<=_navCount;_i++) {
			// See .nav li a in ./global.css for values //
			$S("Nav" + _i).background = "";
			$S("Nav" + _i).color = "#515151";
		}
		if (_elementID) {
			// See .nav li a:hover in ./global.css for values //
			$S(_elementID).background = "transparent url(../js/bgOver.png) top right no-repeat";
			$S(_elementID).color = "#ffffff";
		}
	}

	// Fades _elementID to _opacity, called from timeouts //
	fadeElement = function(_elementID,_opacity) {
		// Safari seems to think it's funny to throw a moueover event when you move your mouse, so this will flicker: //
		if (_isIE) {
			$(_elementID).style.filter = "alpha(opacity=" + (_opacity * 10) + ")";
		} else if (_isMoz) {
			$(_elementID).style.MozOpacity = (_opacity / 10);
			$(_elementID).style.opacity = (_opacity / 10);
		}
	}

	swapImage = function(_elementID,_src) {
		var _element = "";
		if (_element = _src.match(/(.+)_off\.png$/)) {
			$(_elementID).src = _element[1] + "_on.png";
		} else {
			$(_elementID).src = _src.match(/(.+)_on\.png$/)[1] + "_off.png";
		}
	}

	toggleDisplay = function(_elementIDs,_flow) {
		if (_elementIDs.constructor != Array) {
			_elementIDs = [_elementIDs];
		}
		for (_i=0;_i<_elementIDs.length;_i++) {
			$(_elementIDs[_i]).style.display = (_flow) ? _flow : "none";
		}
	}

	