function FlashManager(params){
var checkList={}
var enlistParam=function(param,def){
if(params[param]===undefined)params[param]=def
checkList[param]=params[param]}
enlistParam('movie','flash.swf')
enlistParam('bgcolor','')
enlistParam('width','100%')
enlistParam('height','100%')
enlistParam('version','4,0,0,0')
enlistParam('altContent','This content requires a new version of Flash Player. Please update your player <a href="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">here</a>.')
enlistParam('flashVars','')
enlistParam('wmode','window')
enlistParam('name','')
enlistParam('swLiveConnect',true)
enlistParam('expressInstall',false)
for(var i in params){
if(checkList[i]===undefined)alert("FlashManager: Unknown parameter \""+i+"\" passed to the constructor.")
this[i]=params[i]}}
FlashManager.qscape=function(str){
str+=''
str=str.split(' ')
for(var i=0;i<str.length;i++)str[i]=escape(str[i])
return str.join('+')}
FlashManager.prototype.writeCode=function(altBehaviour){
document.write(this.getCode(altBehaviour))}
FlashManager.prototype.replaceCodeIn=function(element,altBehaviour){
var reqVer=this.version.split(',')
if(altBehaviour=="cancel"&&!FlashManager.availFlash(reqVer[0],reqVer[1],reqVer[2]))return
if(typeof(element)=="string")element=document.getElementById(element)
var outputCode=this.getCode(altBehaviour)
if(outputCode !="cancel"){
element.innerHTML=this.getCode(altBehaviour)}}
FlashManager.prototype.getCode=function(altBehaviour){
FlashManager.detectFlash()
var reqVer=this.version.split(',')
if(altBehaviour=="force" || FlashManager.availFlash(reqVer[0],reqVer[1],reqVer[2])){
if(this.expressInstall){
if(document.title.indexOf("Flash Player Installation")==-1){
document.title=document.title.slice(0,47)+(document.title.length?" - ":"")+"Flash Player Installation"}}
var cont=''
cont+='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '
if(this.name)cont+='id="'+this.name+'" '
cont+='codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+this.version+'" '
cont+='width="'+this.width+'" height="'+this.height+'">'
cont+='<param name="movie" value="'+this.movie+(this.expressInstall?('?MMredirectURL='+FlashManager.qscape(window.location)+"&MMplayerType=ActiveX&MMdoctitle="+FlashManager.qscape(document.title)):"")+'" />'
if(this.bgcolor)cont+='<param name="bgcolor" value="'+this.bgcolor+'" />'
if(this.flashVars)cont+='<param name="flashvars" value="'+this.flashVars+'" />'
if(this.wmode!="window")cont+='<param name="wmode" value="'+this.wmode+'" />'
cont+='<embed src="'+this.movie+(this.expressInstall?('?MMredirectURL='+FlashManager.qscape(window.location)+"&MMplayerType=PlugIn&MMdoctitle="+FlashManager.qscape(document.title)):"")+'" '
if(this.name)cont+='name="'+this.name+'" '
if(this.bgcolor)cont+='bgcolor="'+this.bgcolor+'" '
if(this.swLiveConnect)cont+='swLiveConnect="true" '
if(this.flashVars)cont+='flashvars="'+this.flashVars+'" '
if(this.wmode!="window")cont+='wmode="'+this.wmode+'" '
cont+='width="'+this.width+'" height="'+this.height+'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'
cont+='<\/object>'
}else if(altBehaviour=="cancel"){
var cont=''
}else{
var cont=this.altContent}
return cont}
FlashManager.isWinIE=((navigator.appVersion.indexOf("MSIE")!=-1)? true : false)&&((navigator.appVersion.toLowerCase().indexOf("win")!=-1)? true : false)&&!((navigator.userAgent.indexOf("Opera")!=-1)? true : false)
FlashManager.detected=false
FlashManager.detectFlash=function(){
if(!FlashManager.detected){
FlashManager.detected=true
if(FlashManager.isWinIE){
for(var i=16;i>0;i--){
var versionArray=FlashManager_detectFlashVB(i).split(" ")[1].split(",")
if(versionArray[0]>0)break}
}else{
var versionArray=FlashManager_detectFlashJS().split(".")}
FlashManager.verMajor=parseInt(versionArray[0])
FlashManager.verMinor=parseInt(versionArray[1])
FlashManager.verRevision=parseInt(versionArray[2])}
return [FlashManager.verMajor,FlashManager.verMinor,FlashManager.verRevision]}
FlashManager.availFlash=function(reqMajorVer,reqMinorVer,reqRevision){
FlashManager.detectFlash()
var reqVector=reqMajorVer*1000000+reqMinorVer*1000+parseInt(reqRevision)
var availVector=FlashManager.verMajor*1000000+FlashManager.verMinor*1000+FlashManager.verRevision
return availVector>=reqVector}
if(FlashManager.isWinIE){
var s=''
s+='<script language="VBScript" type="text/vbscript">\n'
s+='Function FlashManager_detectFlashVB(i)\n'
s+='on error resume next\n'
s+='Dim swControl, swVersion\n'
s+='swVersion = "NA 0,0,0,0"\n'
s+='set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))\n'
s+='if (IsObject(swControl)) then\n'
s+='swVersion = swControl.GetVariable("$version")\n'
s+='end if\n'
s+='FlashManager_detectFlashVB = swVersion\n'
s+='End Function\n'
s+='<\/script>\n'
document.write(s)}
function FlashManager_detectFlashJS(){
if(navigator.plugins !=null&&navigator.plugins.length>0){
var plugRefr=navigator.plugins["Shockwave Flash"]
if(!plugRefr)plugRefr=navigator.plugins["Shockwave Flash 2.0"]
if(plugRefr){
var descArray=plugRefr.description.split(" ")
var tempArrayMajor=descArray[2].split(".")
var versionMajor=tempArrayMajor[0]
var versionMinor=tempArrayMajor[1]
if(descArray[3] !=""){
var tempArrayMinor=descArray[3].split("r")
}else{
var tempArrayMinor=descArray[4].split("r")}
var versionRevision=tempArrayMinor[1]>0 ? tempArrayMinor[1] : 0
var flashVer=versionMajor+"."+versionMinor+"."+versionRevision
}else{
var flashVer="0.0.0"}}
else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer="4.0.0"
else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=-1)flashVer="3.0.0"
else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer="2.0.0"
else flashVer="0.0.0"
return flashVer}
