if(typeof deconcept=="undefined")
  var deconcept=new Object();
  if(typeof deconcept.util=="undefined") deconcept.util=new Object();
  if(typeof deconcept.SWFObjectUtil=="undefined") deconcept.SWFObjectUtil=new Object();
  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=new Object();
    this.variables=new Object();
    this.attributes=new Array();
    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) {
    	deconcept.SWFObject.doPrepUnload=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=new Array();
  			    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(deconcept.SWFObject.doPrepUnload) {
					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(!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;
