function unFocusFlashNav() {
	this.navLocation = false;
	this.historyFrameRef = false;
	this.historyPageDefault = 'fshNvHsy.html';
	this.IntervalID = false;
	this.useIFrameHistory = false;
	this.useCompatAnchor = false;
	if ((this.useActiveX && parseFloat(navigator.appVersion.substring(navigator.appVersion.indexOf('MSIE ') + 4)) > 5.4) || navigator.userAgent.indexOf('Opera 7') != -1) {
		this.useIFrameHistory = true;
	} else if (this.useActiveX) {
		this.useCompatAnchor = true;
	}
}
unFocusFlashNav.prototype = new unFocusFlash();
unFocusFlashNav.prototype.output = function() {
	if (this.swliveconnect) this.output_fscommand();
	this.setup_history();
	this.navLocation = location.hash.substring(1);
	this.flashvars += 'UnfocusNavLocation='+this.navLocation+'&UnfocusNavID='+this.id;
	if (document.layers) document.write('<a name="'+this.navLocation+'"></a>');
	this.output_flash();
}
unFocusFlashNav.prototype.FS_handler_original = unFocusFlash.prototype.FS_handler;
unFocusFlashNav.prototype.FS_handler = function(command, args) {
	if (command == 'UnfocusNavUpdateLocation') {
		this.navLocation = args;
		this.update_location();
	} else if (command == 'UnfocusNavUpdateFlash') {
		this.navLocation = args;
		this.update_flash();
		this.set_location();
	} else if (command == 'UnfocusNavInit') {
		if (this.useIFrameHistory) {
			this.navLocation = args;
			this.update_location('replace');
		}
		this.flashRef.SetVariable('UnfocusNavInitSuccess','1');
	} else {
		this.FS_handler_original(command, args);
	}
}
unFocusFlashNav.prototype.setup_history = function() {
	if (this.useCompatAnchor && document.all && !document.all['unFocusFlashNavHashKeeper']) {
		if (!document.all['unFocusFlashNavHashKeeper']) {
			document.writeln('<div style="visibility: hidden; position: absolute;" id="unFocusFlashNavHashKeeper"></div>');
			document.all.unFocusFlashNavHashKeeper.style.top = (document.compatMode && document.compatMode == 'CSS1Compat')?document.body.parentNode.strollTop:document.body.scrollTop;
			document.all.unFocusFlashNavHashKeeper.style.left = (document.compatMode && document.compatMode == 'CSS1Compat')?document.body.parentNode.strollLeft:document.body.scrollLeft;
		}
		if (!document.unFocusFlashNavCompatAnchorMonitorSet) {
			window.onscroll = function() {
				document.all.unFocusFlashNavHashKeeper.style.top = (document.compatMode && document.compatMode == 'CSS1Compat')?document.body.parentNode.strollTop:document.body.scrollTop;
				document.all.unFocusFlashNavHashKeeper.style.left = (document.compatMode && document.compatMode == 'CSS1Compat')?document.body.parentNode.strollLeft:document.body.scrollLeft;
			}
			document.unFocusFlashNavCompatAnchorMonitorSet = true;
		}
	}
	if (this.useIFrameHistory) {
		this.document.writeln('<iframe src="'+this.historyPageDefault+'" width="0" height="0" id="' + this.id + '_history" frameborder="0" marginheight="0" marginwidth="0" scrolling="no"></iframe>');
		this.historyFrameRef = window.frames[window.frames.length-1];
	}
	if (setInterval) this.IntervalID = setInterval('document.unFocusFlash["'+this.id+'"].check_navLocation()',200);
}
unFocusFlashNav.prototype.update_location = function(replace) {
	this.set_location();
	if (this.useCompatAnchor) document.all['unFocusFlashNavHashKeeper'].innerHTML = '<a name="'+this.navLocation+'"></a>';
	if (this.historyFrameRef) {
		this.historyFrameRef.document.open('text/html', replace);
		this.historyFrameRef.document.writeln('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">');
		this.historyFrameRef.document.writeln('<html>\n<head>');
		this.historyFrameRef.document.writeln('<title>'+this.title+'</title>');
		this.historyFrameRef.document.writeln('</head>');
		this.historyFrameRef.document.writeln('<body onload="window.parent.'+this.id+'_DoFSCommand(\'UnfocusNavUpdateFlash\', \''+this.navLocation+'\');">');
		this.historyFrameRef.document.writeln(this.navLocation+'\n</body>');
		this.historyFrameRef.document.writeln('</html>');
		this.historyFrameRef.document.close();
	}
}
unFocusFlashNav.prototype.update_flash = function() {
	this.flashRef.SetVariable("UnfocusNavLocation", this.navLocation);
}
unFocusFlashNav.prototype.check_navLocation = function() {
	if (location.hash.substring(1) != this.navLocation) {
		this.navLocation = location.hash.substring(1);
		this.update_flash(this.navLocation);
	}
}
unFocusFlashNav.prototype.set_location = function() {
	location.hash = this.navLocation;
}
