/**
 * SWFObject v1.5: 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 = new Object();
}
if (typeof deconcept.util == "undefined") {
	deconcept.util = new Object();
}
if (typeof deconcept.SWFObjectUtil == "undefined") {
	deconcept.SWFObjectUtil = new Object();
}
deconcept.SWFObject = function(_1, id, w, h, _5, c, useXI, _7, _8, _9, _a) {
	if (!document.getElementById) {
		return;
	}
	this.DETECT_KEY = _a ? _a: "detectflash";
	this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
	this.params = new Object();
	this.variables = new Object();
	this.attributes = new Array();

	if (id) {
		this.setAttribute("id", id);
	}
	if (w) {
		this.setAttribute("width", w);
	}
	if (h) {
		this.setAttribute("height", h);
	}
	this.xiSWFPath = "http://focus.ti.com/multimedia/shared/playerProductInstall.swf";
	this.setAttribute("useExpressInstall", true);
	this.setAttribute("doExpressInstall", false);
	
	this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();
	if (_5) {
		var tmpVer = _5;
		var tmpSWF = _1.toLowerCase();
		if (tmpSWF.indexOf("video_component") > -1) {
			// we want to make sure that the user has more than 9.0.28
			// but we also want to make sure that they're not asked to install if they have something
			// between 9.0.28 and 9.0.115 unless specifically required by the version requested		
			
			// check against 9.0.115
			var verMinHWExcel = new deconcept.PlayerVersion([9,0,115]);
			// check against 9.0.28
			var verMinFullScr = new deconcept.PlayerVersion([9,0,28]);
			// cehck the player version requested		
			var verRequested = new deconcept.PlayerVersion(_5.toString().split("."));
			
			// see if the version request is at least bigger than 115 or 28
			if ((verRequested.versionIsValid(verMinHWExcel))||(verRequested.versionIsValid(verMinFullScr))) {
				// yes, great
				// if it's less than 115 but the user has better, then at least use 115
				if ((!verRequested.versionIsValid(verMinHWExcel))&&(this.installedVer.versionIsValid(verMinHWExcel))) {
					tmpVer = "9.0.115";
				}
			} else {
				// if the request version is not bigger than either 115 or 28 let's at least ask for 115
				tmpVer = "9.0.115";
				// if the user doesn't have at least 115 installed, then we should force express install
				if (!this.installedVer.versionIsValid(verMinFullScr)) {
					this.setAttribute("doExpressInstall", true);
				}
			}
			
			// check to see if we're dlp
			// if we're dlp then we have a different video component (different GA tracking)
			var newFLVSWFLoc = "http://focus.ti.com/multimedia/shared/TI_video_component_AS3.swf";
			
			if (window.location) {
				var windowLoc = String(window.location).toLowerCase();
				if (windowLoc.indexOf("dlp.com") > -1) {
					newFLVSWFLoc = "http://www.dlp.com/videos/DLP_video_component_AS3.swf";
				}
			}
			
			// change the path to so that it points to our new video player
			this.setAttribute("swf", newFLVSWFLoc);
  	} else if (_1) {
			this.setAttribute("swf", _1);
		}
	  this.setAttribute("version", new deconcept.PlayerVersion(tmpVer.toString().split(".")));
	} else if (_1) {
		this.setAttribute("swf", _1);
	}
	if (!window.opera && document.all && this.installedVer.major > 7) {
		deconcept.SWFObject.doPrepUnload = true;
	}
	if (c) {
		this.addParam("bgcolor", c);
	}
	var q = _7 ? _7: "high";
	this.addParam("quality", q);
	this.addParam("allowFullScreen","true");
	// added allowScriptAccess to fix the problem with clicks on regular flash
	this.addParam("allowScriptAccess","always");
	var _c = (_8) ? _8: window.location;
	this.setAttribute("xiRedirectUrl", _c);
	this.setAttribute("redirectUrl", "");
	if (_9) {
		this.setAttribute("redirectUrl", _9);
	}
};
deconcept.SWFObject.prototype = {
	useExpressInstall: function(_d) {
		this.xiSWFPath = !_d ? "expressinstall.swf": _d;
		this.setAttribute("useExpressInstall", true);
	},
	setAttribute: function(_e, _f) {
		this.attributes[_e] = _f;
	},
	getAttribute: function(_10) {
		return this.attributes[_10];
	},
	addParam: function(_11, _12) {
		this.params[_11] = _12;
	},
	getParams: function() {
		return this.params;
	},
	addVariable: function(_13, _14) {
		this.variables[_13] = _14;
	},
	getVariable: function(_15) {
		return this.variables[_15];
	},
	getVariables: function() {
		return this.variables;
	},
	getVariablePairs: function() {
		var _16 = new Array();
		var key;
		var _18 = this.getVariables();
		for (key in _18) {
			_16[_16.length] = key + "=" + _18[key];
		}
		return _16;
	},
	getHTML: function() {
		var _19 = "";
		if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {
			if (this.getAttribute("doExpressInstall")) {
				this.addVariable("MMplayerType", "PlugIn");
				this.setAttribute("swf", this.xiSWFPath);
			}
			// took out the style in the following line
			// also added the allowscript access always to make sure that links still work
			_19 = "<embed type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute("swf") + "\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" allowscriptaccess=\"always\"";
			_19 += " id=\"" + this.getAttribute("id") + "\" name=\"" + this.getAttribute("id") + "\" ";
			var _1a = this.getParams();
			for (var key in _1a) {
				_19 += [key] + "=\"" + _1a[key] + "\" ";
			}
			var _1c = this.getVariablePairs().join("&");
			if (_1c.length > 0) {
				_19 += "flashvars=\"" + _1c + "\"";
			}
			_19 += "/>";
		} else {
			if (this.getAttribute("doExpressInstall")) {
				this.addVariable("MMplayerType", "ActiveX");
				this.setAttribute("swf", this.xiSWFPath);
			}
			// took out the style in the following line
			// also added the allowscript access always to make sure that links still work
			_19 = "<object id=\"" + this.getAttribute("id") + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" allowscriptaccess=\"always\">";
			_19 += "<param name=\"movie\" value=\"" + this.getAttribute("swf") + "\" />";
			var _1d = this.getParams();
			for (var key in _1d) {
				_19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />";
			}
			var _1f = this.getVariablePairs().join("&");
			if (_1f.length > 0) {
				_19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />";
			}
			_19 += "</object>";
		}
		return _19;
	},
	write: function(_20) {
		if (this.getAttribute("useExpressInstall")) {
			var _21 = new deconcept.PlayerVersion([6, 0, 65]);
			if (this.installedVer.versionIsValid(_21) && !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"))) {
			// added a line here to account for the min size of the express install
			if ((this.getAttribute("doExpressInstall"))&&((this.getAttribute("width") < 215)||(this.getAttribute("height") < 138))) {
				return false;
			} else {
				var n = (typeof _20 == "string") ? document.getElementById(_20) : _20;
				n.innerHTML = this.getHTML();
				return true;
			}
		} else {
			if (this.getAttribute("redirectUrl") != "") {
				document.location.replace(this.getAttribute("redirectUrl"));
			}
		}
		return false;
	}
};
deconcept.SWFObjectUtil.getPlayerVersion = function() {
	var _23 = new deconcept.PlayerVersion([0, 0, 0]);
	if (navigator.plugins && navigator.mimeTypes.length) {
		var x = navigator.plugins["Shockwave Flash"];
		if (x && x.description) {
			_23 = 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 _26 = 3;
			while (axo) {
				try {
					_26++;
					axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + _26);
					_23 = new deconcept.PlayerVersion([_26, 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");
					_23 = new deconcept.PlayerVersion([6, 0, 21]);
					axo.AllowScriptAccess = "always";
				} catch(e) {
					if (_23.major == 6) {
						return _23;
					}
				}
				try {
					axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				} catch(e) {}
			}
			if (axo != null) {
				_23 = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
			}
		}
	}
	return _23;
};
deconcept.PlayerVersion = function(_29) {
	this.major = _29[0] != null ? parseInt(_29[0]) : 0;
	this.minor = _29[1] != null ? parseInt(_29[1]) : 0;
	this.rev = _29[2] != null ? parseInt(_29[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(_2b) {
		var q = document.location.search || document.location.hash;
		if (_2b == null) {
			return q;
		}
		if (q) {
			var _2d = q.substring(1).split("&");
			for (var i = 0; i < _2d.length; i++) {
				if (_2d[i].substring(0, _2d[i].indexOf("=")) == _2b) {
					return _2d[i].substring((_2d[i].indexOf("=") + 1));
				}
			}
		}
		return "";
	}
};
deconcept.SWFObjectUtil.cleanupSWFs = function() {
	var _2f = document.getElementsByTagName("OBJECT");
	for (var i = _2f.length - 1; i >= 0; i--) {
		_2f[i].style.display = "none";
		for (var x in _2f[i]) {
			if (typeof _2f[i][x] == "function") {
				_2f[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;
