/**
 * This code is based on the SWFObject (1.4.2) - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 */

/// Creates the Array.push function if not supported by the browsers JavaScript implementation (IE5).
if (Array.prototype.push == null) {
  Array.prototype.push = function(arg)
  {
    this[this.length] = arg;
    return this.length;
  };
}


// LEDZ hierarchy objects
if (typeof br == "undefined")
  var br = new Object();
if (typeof br.com == "undefined")
  br.com = new Object();
if (typeof br.com.ledz == "undefined")
  br.com.ledz = new Object();


/**
 * Browser constructor.
 * Represents the running browser and serves information like type, version, etc.
 */
br.com.ledz.Browser = function()
{
	if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length)
		this.type = 0;
	else
		this.type = 1;
};
br.com.ledz.Browser.prototype =
{
	// Returns true if the running browser is Internet Explorer; othwerwise false
	isIE:function()
	{ return (this.type == 1); }
};
if (typeof br.com.ledz.browser == "undefined")
  br.com.ledz.browser = new br.com.ledz.Browser();


// LEDZ Flash hierarchy objects
if (typeof br.com.ledz.swf == "undefined")
  br.com.ledz.swf = new Object();

/**
 * Version constructor.
 * Encapsulates a player version for easier comparition.
 */
br.com.ledz.swf.Version = function(version)
{
  this.major = version[0] != null ? parseInt(version[0]) : 0;
  this.minor = version[1] != null ? parseInt(version[1]) : 0;
  this.rev   = version[2] != null ? parseInt(version[2]) : 0;
};
br.com.ledz.swf.Version.prototype = 
{
	/// Returns true if the given version is equal or lower than this one; otherwise false.
	supports:function(arg)
  { return (this.major >= arg.major && this.minor >= arg.minor && this.rev >= arg.rev); },

	/// Returns true if this version supports the feature called Express Install; otherwise false.
	supportsExpressInstall:function()
	{ return this.supports(new br.com.ledz.swf.Version([6,0,65])); },

	/// Returns this version in the format used for the codeBase parameter in the object element.
	codeBaseFormat:function()
  { return this.major + "," + this.minor + "," + this.rev + ",0" }
};


/**
 * Player constructor.
 * Represents a player and serves with functions like if the player plugin is installed.
 */
br.com.ledz.swf.Player = function()
{
	this.installed = false;
	this.version   = new br.com.ledz.swf.Version([0,0,0]);

  // non IE browsers
  if (!br.com.ledz.browser.isIE()){
    var x = navigator.plugins["Shockwave Flash"];
    if (x && x.description) {
			this.installed = true;
      this.version   = new br.com.ledz.swf.Version(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));
		}
  }

  // IE browser
	else {
		var axo = null;
		// test for 7.x
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		}	catch(e) {}

		// test for 6.x
		if (axo == null)
			try {
				axo          = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
				this.version = new br.com.ledz.swf.Version([6,0,21]);
				// throws if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
				axo.AllowScriptAccess = "always";
			} catch(e) {
					if (this.version == 6)
						return;
			}

		// test for x.x
		if (axo == null)
			try {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			}
			catch(e) {}

		if (axo != null) {
			this.installed = true;
			this.version   = new br.com.ledz.swf.Version(axo.GetVariable("$version").split(" ")[1].split(","));
		}
	}
};
br.com.ledz.swf.Player.prototype = 
{
	/// Returns true if the player plugin is installed; otherwise false.
	isInstalled:function()
	{ return this.installed; },

	/// Returns true if the given version is equal or lower than the installed one; otherwise false.
	supportsVersion:function(arg)
  { return this.version.supports(arg); },

	/// Returns true if the installed version supports the feature called Express Install; otherwise false.
	supportsExpressInstall:function()
	{ return this.version.supportsExpressInstall(); },

	/// Returns a Version object instance for the installed version.
	getVersion:function()
	{ return this.version; }
};
if (typeof br.com.ledz.swf.player == "undefined")
  br.com.ledz.swf.player = new br.com.ledz.swf.Player();


/**
 * SWFObject Constructor.
 * @param fileName           File path and name to swf file
 * @param id                 ID of object or embed tag; Embed tag will also have
 *                           this value set as it's name attribute for files that
 *                           take advantage of swliveconnect
 * @param width              Width of Flash movie
 * @param height             Height of Flash movie
 * @param version            Required player version for Flash content; Can be a
 *                           string in the format of
 *                           'majorVersion.minorVersion.revision' (e.g. "6.0.65")
 *                           or just major version (e.g. "6")
 * @para, showIfNotInstalled 'false' for hidding flash movies if player is not
 *                           installed; default: true
 * @param doVersionCheck     'false' for bypassing version check; default: true
 * @param useExpressInstall  'true' to upgrade users using the ExpressInstall
 *                            feature; default: true
 */
br.com.ledz.SWFObject = function(fileName, id, width, height, version,
  showIfNotInstalled, doVersionCheck, useExpressInstall, xiRedirectUrl)
{
  if (!document.getElementById)
    return;

  this.params    = new Object();
  this.variables = new Object();

  this.fileName           = fileName;
  this.id                 = id;
  this.width              = width;
  this.height             = height;
  this.version            = new br.com.ledz.swf.Version(version ? version.toString().split(".") : [0,0,0]);
  this.showIfNotInstalled = (typeof showIfNotInstalled != "undefined") ? showIfNotInstalled : true;
  this.doVersionCheck     = (typeof doVersionCheck != "undefined") ? doVersionCheck : true;
  this.useExpressInstall  = (typeof useExpressInstall != "undefined") ? useExpressInstall : true;
  this.xiRedirectUrl      = xiRedirectUrl != "undefined" ? xiRedirectUrl : window.location;

  this.addParam("quality", "high");
};
br.com.ledz.SWFObject.prototype =
{
  addParam:function(key, value)
  { this.params[key] = value; },
  getParams:function()
  { return this.params; },
  
  addVariable:function(key, value)
  { this.variables[key] = value; },
  getVariablePairs:function()
  {
    var res = new Array();
    for(var key in this.variables)
      res.push(key + "=" + this.variables[key]);
    return res;
  },
  
  getHTML:function(doExpressInstall)
  {
    var res = "";

	  // non IE browsers
		if (!br.com.ledz.browser.isIE()) {
      if (doExpressInstall)
        this.addVariable("MMplayerType", "PlugIn");

      res = "<embed"
          + " type=\"application/x-shockwave-flash\""
          + " src=\"" + this.fileName + "\""
          + " width=\"" + this.width + "\""
          + " height=\"" + this.height + "\""
          + " id=\"" + this.id + "\""
          + " name=\"" + this.id + "\""
          + " pluginspage=\"http://www.macromedia.com/go/getflashplayer\"";

      var entries = this.getParams();
      for (var key in entries)
        res += " " + key + "=\"" + entries[key] + "\"";

      var vars = this.getVariablePairs().join("&");
      if (vars.length>0)
        res += " flashvars=\"" + vars + "\"";
      res += "/>";
    }

		// IE browsers
    else {
			if (doExpressInstall)
        this.addVariable("MMplayerType","ActiveX");

      res = "<object"
          + " id=\"" + this.id + "\""
          + " classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\""
          + " codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=" + this.version.codeBaseFormat() + "\""
          + " width=\"" + this.width + "\""
          + " height=\"" + this.height + "\">"
          + "<param name=\"movie\" value=\"" + this.fileName + "\" />";

      var entries = this.getParams();
      for (var key in entries)
        res += "<param name=\"" + key + "\" value=\"" + entries[key] + "\" />";

      var vars = this.getVariablePairs().join("&");
      if (vars.length>0)
        res += "<param name=\"flashvars\" value=\"" + vars + "\" />";

			res += "</object>";
    }
    return res;
	},
  
  write:function(id)
  {
		// just return if not installed and hidden is choosen
		if (!br.com.ledz.swf.player.isInstalled()
				&& !this.showIfNotInstalled){
			return false;
		}

		var doExpressInstall = false;
    if (!br.com.ledz.swf.player.supportsVersion(this.version)
        && this.useExpressInstall
        && br.com.ledz.swf.player.supportsExpressInstall()) {
      doExpressInstall = true;
      this.addVariable("MMredirectURL", escape(this.xiRedirectUrl));
      document.title = document.title.slice(0,47) + " - Flash Player Installation";
      this.addVariable("MMdoctitle", document.title);
    }

    var div = (typeof id == "string") ? document.getElementById(id) : id;
    div.innerHTML = this.getHTML(doExpressInstall);
    return true;
  }
};


/// fix for video streaming bug
br.com.ledz.swf.cleanup = function()
{
	if (br.com.ledz.browser.isIE()) {
		var objects = document.getElementsByTagName("OBJECT");
		for (var i=0; i < objects.length; i++) {
			objects[i].style.display = 'none';
			for (var x in objects[i]) {
				if (typeof objects[i][x] == 'function') {
					objects[i][x] = null;
				}
			}
		}
	}
}
if (typeof window.onunload == 'function') {
	var oldunload = window.onunload;
	window.onunload = function()
	{
    br.com.ledz.swf.cleanup();
		oldunload();
	}
} else {
  window.onunload = br.com.ledz.swf.cleanup;
}


var SWFObject = br.com.ledz.SWFObject;

/**
 * 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,_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(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.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=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);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;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_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);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_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"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();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;