/**
 * SWFObject v1.5.1: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined")var deconcept={}
if(typeof deconcept.util=="undefined")deconcept.util={}
if(typeof deconcept.SWFObjectUtil=="undefined")deconcept.SWFObjectUtil={}
deconcept.SWFObject=function(swf,id,w,h,ver,c,quality,xiRedirectUrl,redirectUrl,detectKey){
if(!document.getElementById){return;}
this.DETECT_KEY=detectKey ? detectKey : 'detectflash'
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY)
this.params={}
this.variables={}
this.attributes=[]
if(swf){this.setAttribute('swf',swf);}
if(id){this.setAttribute('id',id);}
if(w){this.setAttribute('width',w);}
if(h){this.setAttribute('height',h);}
if(ver){this.setAttribute('version',new deconcept.PlayerVersion(ver.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion()
if(!window.opera&&document.all&&this.installedVer.major>7){
if(!deconcept.unloadSet){
deconcept.SWFObjectUtil.prepUnload=function(){
__flash_unloadHandler=function(){}
__flash_savedUnloadHandler=function(){}
window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs)}
window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload)
deconcept.unloadSet=true}}
if(c){this.addParam('bgcolor',c);}
var q=quality ? quality : 'high'
this.addParam('quality',q)
this.setAttribute('useExpressInstall',false)
this.setAttribute('doExpressInstall',false)
var xir=(xiRedirectUrl)? xiRedirectUrl : window.location
this.setAttribute('xiRedirectUrl',xir)
this.setAttribute('redirectUrl','')
if(redirectUrl){this.setAttribute('redirectUrl',redirectUrl);}}
deconcept.SWFObject.prototype={
useExpressInstall: function(path){
this.xiSWFPath=!path ? "expressinstall.swf" : path
this.setAttribute('useExpressInstall',true)
},
setAttribute: function(name,value){
this.attributes[name]=value
},
getAttribute: function(name){
return this.attributes[name] || ""
},
addParam: function(name,value){
this.params[name]=value
},
getParams: function(){
return this.params
},
addVariable: function(name,value){
this.variables[name]=value
},
getVariable: function(name){
return this.variables[name] || ""
},
getVariables: function(){
return this.variables
},
getVariablePairs: function(){
var variablePairs=[]
var key
var variables=this.getVariables()
for(key in variables){
variablePairs[variablePairs.length]=key+"="+variables[key]}
return variablePairs
},
getSWFHTML: function(){
var swfNode=""
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","PlugIn")
this.setAttribute('swf',this.xiSWFPath)}
swfNode='<embed type="application/x-shockwave-flash" src="'+this.getAttribute('swf')+'" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'" style="'+(this.getAttribute('style')|| "")+'"'
swfNode+=' id="'+this.getAttribute('id')+'" name="'+this.getAttribute('id')+'" '
var params=this.getParams()
for(var key in params){swfNode+=[key]+'="'+params[key]+'" ';}
var pairs=this.getVariablePairs().join("&")
if(pairs.length>0){swfNode+='flashvars="'+pairs+'"';}
swfNode+='/>'
}else{
if(this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","ActiveX")
this.setAttribute('swf',this.xiSWFPath)}
swfNode='<object id="'+this.getAttribute('id')+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'" style="'+(this.getAttribute('style')|| "")+'">'
swfNode+='<param name="movie" value="'+this.getAttribute('swf')+'" />'
var params=this.getParams()
for(var key in params){
swfNode+='<param name="'+key+'" value="'+params[key]+'" />'}
var pairs=this.getVariablePairs().join("&")
if(pairs.length>0){swfNode+='<param name="flashvars" value="'+pairs+'" />';}
swfNode+="</object>"}
return swfNode
},
write: function(elementId){
if(this.getAttribute('useExpressInstall')){
var expressInstallReqVer=new deconcept.PlayerVersion([6,0,65])
if(this.installedVer.versionIsValid(expressInstallReqVer)&&!this.installedVer.versionIsValid(this.getAttribute('version'))){
this.setAttribute('doExpressInstall',true)
this.addVariable("MMredirectURL",escape(this.getAttribute('xiRedirectUrl')))
document.title=document.title.slice(0,47)+" - Flash Player Installation"
this.addVariable("MMdoctitle",document.title)}}
if(this.skipDetect || this.getAttribute('doExpressInstall')|| this.installedVer.versionIsValid(this.getAttribute('version'))){
var n=(typeof elementId=='string')? document.getElementById(elementId): elementId
n.innerHTML=this.getSWFHTML()
return true
}else{
if(this.getAttribute('redirectUrl')!=""){
document.location.replace(this.getAttribute('redirectUrl'))}}
return false}}
deconcept.SWFObjectUtil.getPlayerVersion=function(){
var PlayerVersion=new deconcept.PlayerVersion([0,0,0])
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"]
if(x&&x.description){
PlayerVersion=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."))}
}else if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){
var axo=1
var counter=3
while(axo){
try{
counter++
axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+counter)
PlayerVersion=new deconcept.PlayerVersion([counter,0,0])
}catch(e){
axo=null}}
}else{
try{
var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")
}catch(e){
try{
var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6")
PlayerVersion=new deconcept.PlayerVersion([6,0,21])
axo.AllowScriptAccess="always"
}catch(e){
if(PlayerVersion.major==6){
return PlayerVersion}}
try{
axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")
}catch(e){}}
if(axo !=null){
PlayerVersion=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","))}}
return PlayerVersion}
deconcept.PlayerVersion=function(arrVersion){
this.major=arrVersion[0] !=null ? parseInt(arrVersion[0]): 0
this.minor=arrVersion[1] !=null ? parseInt(arrVersion[1]): 0
this.rev=arrVersion[2] !=null ? parseInt(arrVersion[2]): 0}
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major)return false
if(this.major>fv.major)return true
if(this.minor<fv.minor)return false
if(this.minor>fv.minor)return true
if(this.rev<fv.rev)return false
return true}
deconcept.util={
getRequestParameter: function(param){
var q=document.location.search || document.location.hash
if(param==null){return q;}
if(q){
var pairs=q.substring(1).split("&")
for(var i=0;i<pairs.length;i++){
if(pairs[i].substring(0,pairs[i].indexOf("="))==param){
return pairs[i].substring((pairs[i].indexOf("=")+1))}}}
return ""}}
deconcept.SWFObjectUtil.cleanupSWFs=function(){
var objects=document.getElementsByTagName("OBJECT")
for(var i=objects.length-1;i>=0;i--){
objects[i].style.display='none'
for(var x in objects[i]){
if(typeof objects[i][x]=='function'){
objects[i][x]=function(){}}}}}
if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];}}
var getQueryParamValue=deconcept.util.getRequestParameter
var FlashObject=deconcept.SWFObject
var SWFObject=deconcept.SWFObject
