/*******************************************************************************************
 * flashReplaceLinks
 * Written by Craig Francis
 * If the browser can support flash, add links so the user can disable/enable flash
 *******************************************************************************************/

	document.flashBeforeLinkText = 'Flash [ ';
	document.flashEnableLinkText = 'On';
	document.flashBetweenLinkText = ' / ';
	document.flashDisableLinkText = 'Off';
	document.flashAfterLinkText = ' ]';

	addLoadEvent (function () {

		//---------------------------------------------
		// Dont bother if this browser cant load flash

			if (document.flashDocumentChangesMade != true) {
				return false;
			}

		//---------------------------------------------
		// Decide on the current state of flash

			if (document.flashAvailable < 0 || (document.flashAvailable > 0 && document.flashAvailable < document.flashRequired)) {
				useFlash = false;
			} else {
				useFlash = true;
			}

		//---------------------------------------------
		// Return a reference to flashDisableLinks

			var flashDisableLinks = document.getElementById('flashDisableLinks');
			if (flashDisableLinks) {

				//---------------------------------------------
				// Create the links

					if (document.createElementNS) {
						var enableLink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
						var disableLink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
					} else {
						var enableLink = document.createElement('http://www.w3.org/1999/xhtml', 'a');
						var disableLink = document.createElement('http://www.w3.org/1999/xhtml', 'a');
					}

					var beforeContent = document.createTextNode(document.flashBeforeLinkText);
					var enableContent = document.createTextNode(document.flashEnableLinkText);
					var betweenContent = document.createTextNode(document.flashBetweenLinkText);
					var disableContent = document.createTextNode(document.flashDisableLinkText);
					var afterContent = document.createTextNode(document.flashAfterLinkText);

				//---------------------------------------------
				// Set the enable/disable link urls

					var query = window.location.search;
					query = query.replace(/^\?/g, '');
					query = query.replace(/flashReplace=[^&]*&/g, '');
					query = query.replace(/(^|&)flashReplace=[^&]*$/g, '');
					
					if (query != '') {
						query = '&' + query;
					}

					var enableUrl = './?flashReplace=true' + query;
					var disableUrl = './?flashReplace=false' + query;

				//---------------------------------------------
				// Build and apply the links

					try {

						enableLink.setAttribute('href', enableUrl);
						enableLink.setAttribute('id', 'flashEnableLink');
						disableLink.setAttribute('href', disableUrl);
						disableLink.setAttribute('id', 'flashDisableLink');

						if (useFlash) {
							enableLink.setAttribute('class', 'current');
						} else {
							disableLink.setAttribute('class', 'current');
						}

						enableLink.appendChild(enableContent);
						disableLink.appendChild(disableContent);

						flashDisableLinks.appendChild(beforeContent);
						flashDisableLinks.appendChild(enableLink);
						flashDisableLinks.appendChild(betweenContent);
						flashDisableLinks.appendChild(disableLink);
						flashDisableLinks.appendChild(afterContent);

						if (document.frames) {
							a++; // This ones for you IE5 Mac (you need an error)
						}

					} catch (e) {

						enableLink = null; // Help IE5.5 + IE6 which keeps the globe spinning (loading...?)
						disableLink = null;

						beforeContent = null;
						enableContent = null;
						betweenContent = null;
						disableContent = null;
						afterContent = null;

						linkHTML  = document.flashBeforeLinkText;
						linkHTML += '<a href="' + enableUrl + '" id="flashEnableLink"' + (useFlash == true ? ' class="current"' : '') + '>' + document.flashEnableLinkText + '</a>';
						linkHTML += document.flashBetweenLinkText;
						linkHTML += '<a href="' + disableUrl + '" id="flashDisableLink"' + (useFlash == false ? ' class="current"' : '') + '>' + document.flashDisableLinkText + '</a>';
						linkHTML += document.flashAfterLinkText;

						flashDisableLinks.innerHTML = linkHTML;

					}

			}

	});

