var flashInstalled = false;
var flashVersion = 0;

// navigator plugins
document.write('<SCRIPT SRC="/_javascript/tools/flashDetectionKit.navigator.js"></SCRIPT>')

// vbscript CreateObject()
document.write('<SCRIPT LANGUAGE="VBScript" SRC="/_javascript/tools/flashDetectionKit.vbscript.vbs" TYPE="text/vbscript"></SCRIPT>')

var _flashMovies = [];
/*************** FLASH DETECTION KIT ***************/
function flashDetectionKit(name, settings){
//	alert(flashInstalled + '=' + flashVersion)
//	flashInstalled = false; // disable js plugin detection & use Macromedia's detections

	settings.name = name
	settings.id = name + 'FlashPlugin'

	if(typeof settings.width == 'undefined')
		settings.width=400;
	if(typeof settings.height == 'undefined')
		settings.height=300;

	if(typeof settings.contentVersion == 'undefined')
		settings.contentVersion=7;
	if(typeof settings.contentMajorRevision == 'undefined')
		settings.contentMajorRevision=0;
	if(typeof settings.contentMinorRevision == 'undefined')
		settings.contentMinorRevision=19;
	if(typeof settings.allowFlashAutoInstall == 'undefined')
		settings.allowFlashAutoInstall=false;

	settings.version = settings.contentVersion + "." + settings.contentMajorRevision + "." + settings.contentMinorRevision;

	if(typeof settings.altContentHTML == 'undefined' && typeof settings.altContentURL == 'undefined'){
		settings.altContentHTML = '<TABLE WIDTH="525" HEIGHT="210" BORDER="0" CELLSPACING="0" CELLPADDING="10" STYLE="border:1px solid #CCCCCC"><TR><TD>\n'
		settings.altContentHTML += '<H3>You don\'t have the latest version of Macromedia Flash Player.</H3>\n'
		settings.altContentHTML += '<P>This web site makes use of <A HREF="http://www.macromedia.com/software/flash/" TARGET="_new">Macromedia Flash</A> software. You have an old version of Macromedia Flash Player that cannot play the content we\'ve created.</P>\n'
		settings.altContentHTML += '<P ALIGN="center"><A HREF="http://www.macromedia.com/go/getflashplayer"><IMG SRC="/_javascript/tools/flashDetectionKit/upgrade_flash/images/get_flashplayer_88_31.gif" BORDER="0" WIDTH="88" HEIGHT="31"></A></P>\n'
		settings.altContentHTML += '</TD></TR></TABLE>\n';
	}	

	_flashMovies[name] = settings

	if( flashInstalled && flashVersion >= settings.contentVersion){
		document.write('<DIV ID="' + settings.id + '">' + formatFlashMovieHtmlTag(_flashMovies[name]) + '</DIV>')
	} else if( settings.allowFlashAutoInstall == "false" || settings.allowFlashAutoInstall == false ){
		if( _flashMovies[name].altContentURL )
			location.replace(_flashMovies[name].altContentURL)
		else if( _flashMovies[name].altContentHTML )
			document.write(_flashMovies[name].altContentHTML)
	} else {
		document.write('<DIV ID="' + settings.id + '"><IMG SRC="/_javascript/_images/spacer.gif" WIDTH="' + settings.width + '" HEIGHT="' + settings.height + '"></DIV>')
		initFlashDetection(name)
	}
}

/*************** GET FLASH PLUGIN ELEMENT ***************/
function formatFlashMovieHtmlTag(settings, src){
	if(typeof src == 'undefined')
		src = settings.src

	var name = settings.name + ((src)?'FlashMovie':'DetectionMovie')

	var text = '' 

	text += '<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"\n'
	text += ' CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + settings.contentVersion + ',' + settings.contentMajorRevision + ',' + settings.contentMinorRevision + ',0"\n'
	text += ' WIDTH="' + settings.width + '"\n'
	text += ' HEIGHT="' + settings.height + '"\n'
	text += ' ID="' + name + '">\n'
	text += '<PARAM NAME="src" VALUE="' + src + '">\n'
	if(settings.transparent == "true")
		text += '<PARAM NAME="wmode" VALUE="transparent">\n'
	text += '<EMBED SRC="' + src + '"\n'
	text += ' PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"\n'
	text += ' WIDTH="' + settings.width + '"\n'
	text += ' HEIGHT="' + settings.height + '"\n'
	if(settings.transparent == "true")
		text += ' WMODE="transparent"\n'
	text += ' NAME="' + name + '">\n'
	text += '</EMBED>\n'

	text += '</OBJECT>\n'

	// debug and show html code
	if(settings.debug){
		var code = text
		code = code.replace(/</g, '&lt;')
		code = code.replace(/>/g, '&gt;')
		text += '<PRE>' + code + '</PRE>'
	}
	return text
}

/*************** USE MACROMEDIA FLASH DETECTION SWF ***************/

/*************** GET FLASH PLUGIN ELEMENT ***************/
function getFlashPluginElement(id){
	if(document.all) return document.all[id]
	if(document.getElementById)	return document.getElementById(id)
	return null
}

/*************** GET FLASH PLUGIN ELEMENT HTML ***************/
function setFlashPluginElementHtml(name, text){
	getFlashPluginElement(_flashMovies[name].id).innerHTML = text
}

/*************** INIT FLASH DETECTION ***************/
function initFlashDetection(name){
	// if window !loaded
	if(typeof window.loaded != 'undefined' && !window.loaded){
		_flashMovies[name].detectionTimeoutID = setTimeout('initFlashDetection("' + name + '")', 500)
		return;
	}

	var flashDetectionMovie = '/_javascript/tools/flashDetectionKit/flash_detection.swf' + 
		'?flashContentURL=javascript:displayFlashContent(\'' + name + '\')' + 
		'&altContentURL=javascript:displayAltContent(\'' + name + '\')' + 
		'&contentVersion=' + _flashMovies[name].contentVersion + 
		'&contentMajorRevision=' + _flashMovies[name].contentMajorRevision +
		'&contentMinorRevision=' + _flashMovies[name].contentMinorRevision + 
		'&allowFlashAutoInstall=' + _flashMovies[name].allowFlashAutoInstall

	setFlashDetectionTimer(name)

	getFlashPluginElement(_flashMovies[name].id).innerHTML = formatFlashMovieHtmlTag(_flashMovies[name], flashDetectionMovie)
}

/*************** SET FLaSH DETECTION TIMER ***************/
function setFlashDetectionTimer(name){
	_flashMovies[name].timeoutID = setTimeout('displayAltContent("' + name + '")', 2000)
}
	
/*************** CLEAR FLASH DETECTION TIMER ***************/
function clearFlashDetectionTimer(name){
	clearTimeout(_flashMovies[name].timeoutID)
}

/*************** DISPLAY FLASH CONTENT ***************/
function displayFlashContent(name) {
	clearFlashDetectionTimer(name);

	if( _flashMovies[name].flashContentURL )
		location.replace(_flashMovies[name].flashContentURL)
	else if( _flashMovies[name].src )
		getFlashPluginElement(_flashMovies[name].id).innerHTML = formatFlashMovieHtmlTag(_flashMovies[name])
	else
		alert('Flash Plugin has been detected.')
}

/*************** DISPLAY ALT CONTENT ***************/
function displayAltContent(name){
	clearFlashDetectionTimer(name);

	if( _flashMovies[name].altContentURL )
		location.replace(_flashMovies[name].altContentURL)
	else if( _flashMovies[name].altContentHTML )
		getFlashPluginElement(_flashMovies[name].id).innerHTML = _flashMovies[name].altContentHTML
	else
		alert('Flash Plugin has NOT been detected.')
}

