﻿// Flash Player Version Detection - Rev 1.5
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

// Globals
// Major version of Flash required
var requiredMajorVersion = 8;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version of Flash required
var requiredRevision = 0;

var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;			
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
    var str = '';
    if (isIE && isWin && !isOpera)
    {
  		str += '<object ';
  		for (var i in objAttrs)
  			str += i + '="' + objAttrs[i] + '" ';
  		for (var i in params)
  			str += '><param name="' + i + '" value="' + params[i] + '" /> ';
  		str += '></object>';
    } else {
  		str += '<embed ';
  		for (var i in embedAttrs)
  			str += i + '="' + embedAttrs[i] + '" ';
  		str += '> </embed>';
    }

    document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}


/* SWFObject v2.2 alpha10 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2009 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var C="undefined",q="object",R="Shockwave Flash",V="ShockwaveFlash.ShockwaveFlash",p="application/x-shockwave-flash",Q="SWFObjectExprInst",w="onreadystatechange",N=window,j=document,s=navigator,S=false,T=[h],n=[],M=[],H=[],l,P,D,A,I=false,a=false,m,F,L=function(){var Z=typeof j.getElementById!=C&&typeof j.getElementsByTagName!=C&&typeof j.createElement!=C,af=[0,0,0],ab=null;if(typeof s.plugins!=C&&typeof s.plugins[R]==q){ab=s.plugins[R].description;if(ab&&!(typeof s.mimeTypes!=C&&s.mimeTypes[p]&&!s.mimeTypes[p].enabledPlugin)){S=true;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");af[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);af[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);af[2]=/r/.test(ab)?parseInt(ab.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof N.ActiveXObject!=C){try{var ac=new ActiveXObject(V);if(ac){ab=ac.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");af=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Y){}}}var ag=s.userAgent.toLowerCase(),X=s.platform.toLowerCase(),ae=/webkit/.test(ag)?parseFloat(ag.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,W=false,ad=X?/win/.test(X):/win/.test(ag),aa=X?/mac/.test(X):/mac/.test(ag);/*@cc_on W=true;@if(@_win32)ad=true;@elif(@_mac)aa=true;@end@*/return{w3:Z,pv:af,wk:ae,ie:W,win:ad,mac:aa}}(),k=function(){if(!L.w3){return}if((typeof j.readyState!=C&&j.readyState=="complete")||(typeof j.readyState==C&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!I){if(typeof j.addEventListener!=C){j.addEventListener("DOMContentLoaded",f,false)}if(L.ie&&L.win){j.attachEvent(w,function(){if(j.readyState=="complete"){j.detachEvent(w,arguments.callee);f()}});if(N==top){(function(){if(I){return}try{j.documentElement.doScroll("left")}catch(W){setTimeout(arguments.callee,0);return}f()})()}}if(L.wk){(function(){if(I){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}r(f)}}();function f(){if(I){return}try{var Y=j.getElementsByTagName("body")[0].appendChild(B("span"));Y.parentNode.removeChild(Y)}catch(Z){return}I=true;var W=T.length;for(var X=0;X<W;X++){T[X]()}}function J(W){if(I){W()}else{T[T.length]=W}}function r(X){if(typeof N.addEventListener!=C){N.addEventListener("load",X,false)}else{if(typeof j.addEventListener!=C){j.addEventListener("load",X,false)}else{if(typeof N.attachEvent!=C){i(N,"onload",X)}else{if(typeof N.onload=="function"){var W=N.onload;N.onload=function(){W();X()}}else{N.onload=X}}}}}function h(){if(S){U()}else{G()}}function U(){var W=j.getElementsByTagName("body")[0];var Z=B(q);Z.setAttribute("type",p);var Y=W.appendChild(Z);if(Y){var X=0;(function(){if(typeof Y.GetVariable!=C){var aa=Y.GetVariable("$version");if(aa){aa=aa.split(" ")[1].split(",");L.pv=[parseInt(aa[0],10),parseInt(aa[1],10),parseInt(aa[2],10)]}}else{if(X<10){X++;setTimeout(arguments.callee,10);return}}W.removeChild(Z);Y=null;setTimeout(G,10)})()}else{setTimeout(G,10)}}function G(){var af=n.length;if(af>0){for(var ae=0;ae<af;ae++){var X=n[ae].id;var aa=n[ae].callbackFn;var Z={success:false,id:X};if(L.pv[0]>0){var ad=c(X);if(ad){if(E(n[ae].swfVersion)&&!(L.wk&&L.wk<312)){v(X,true);if(aa){Z.success=true;Z.ref=y(X);aa(Z)}}else{if(n[ae].expressInstall&&z()){var ah={};ah.data=n[ae].expressInstall;ah.width=ad.getAttribute("width")||"0";ah.height=ad.getAttribute("height")||"0";if(ad.getAttribute("class")){ah.styleclass=ad.getAttribute("class")}if(ad.getAttribute("align")){ah.align=ad.getAttribute("align")}var ag={};var W=ad.getElementsByTagName("param");var ab=W.length;for(var ac=0;ac<ab;ac++){if(W[ac].getAttribute("name").toLowerCase()!="movie"){ag[W[ac].getAttribute("name")]=W[ac].getAttribute("value")}}O(ah,ag,X,aa)}else{o(ad);if(aa){aa(Z)}}}}}else{v(X,true);if(aa){var Y=y(X);if(Y){Z.success=true;Z.ref=Y}aa(Z)}}}}}function y(Z){var W=null;var X=c(Z);if(X&&X.nodeName=="OBJECT"){var Y=X.getElementsByTagName(q)[0];if(!Y||(Y&&typeof X.SetVariable!=C)){W=X}else{if(typeof Y.SetVariable!=C){W=Y}}}return W}function z(){return !a&&E("6.0.65")&&(L.win||L.mac)&&!(L.wk&&L.wk<312)}function O(Z,aa,W,Y){a=true;D=Y||null;A={success:false,id:W};var ad=c(W);if(ad){if(ad.nodeName=="OBJECT"){l=g(ad);P=null}else{l=ad;P=W}Z.id=Q;if(typeof Z.width==C||(!/%$/.test(Z.width)&&parseInt(Z.width,10)<310)){Z.width="310"}if(typeof Z.height==C||(!/%$/.test(Z.height)&&parseInt(Z.height,10)<137)){Z.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ac=L.ie&&L.win?"ActiveX":"PlugIn",ab="MMredirectURL="+N.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ac+"&MMdoctitle="+j.title;if(typeof aa.flashvars!=C){aa.flashvars+="&"+ab}else{aa.flashvars=ab}if(L.ie&&L.win&&ad.readyState!=4){var X=B("div");W+="SWFObjectNew";X.setAttribute("id",W);ad.parentNode.insertBefore(X,ad);ad.style.display="none";(function(){if(ad.readyState==4){ad.parentNode.removeChild(ad)}else{setTimeout(arguments.callee,10)}})()}t(Z,aa,W)}}function o(X){if(L.ie&&L.win&&X.readyState!=4){var W=B("div");X.parentNode.insertBefore(W,X);W.parentNode.replaceChild(g(X),W);X.style.display="none";(function(){if(X.readyState==4){X.parentNode.removeChild(X)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.replaceChild(g(X),X)}}function g(aa){var Z=B("div");if(L.win&&L.ie){Z.innerHTML=aa.innerHTML}else{var X=aa.getElementsByTagName(q)[0];if(X){var ab=X.childNodes;if(ab){var W=ab.length;for(var Y=0;Y<W;Y++){if(!(ab[Y].nodeType==1&&ab[Y].nodeName=="PARAM")&&!(ab[Y].nodeType==8)){Z.appendChild(ab[Y].cloneNode(true))}}}}}return Z}function t(ah,af,X){var W,Z=c(X);if(L.wk&&L.wk<312){return W}if(Z){if(typeof ah.id==C){ah.id=X}if(L.ie&&L.win){var ag="";for(var ad in ah){if(ah[ad]!=Object.prototype[ad]){if(ad.toLowerCase()=="data"){af.movie=ah[ad]}else{if(ad.toLowerCase()=="styleclass"){ag+=' class="'+ah[ad]+'"'}else{if(ad.toLowerCase()!="classid"){ag+=" "+ad+'="'+ah[ad]+'"'}}}}}var ae="";for(var ac in af){if(af[ac]!=Object.prototype[ac]){ae+='<param name="'+ac+'" value="'+af[ac]+'" />'}}Z.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ag+">"+ae+"</object>";M[M.length]=ah.id;W=c(ah.id)}else{var Y=B(q);Y.setAttribute("type",p);for(var ab in ah){if(ah[ab]!=Object.prototype[ab]){if(ab.toLowerCase()=="styleclass"){Y.setAttribute("class",ah[ab])}else{if(ab.toLowerCase()!="classid"){Y.setAttribute(ab,ah[ab])}}}}for(var aa in af){if(af[aa]!=Object.prototype[aa]&&aa.toLowerCase()!="movie"){e(Y,aa,af[aa])}}Z.parentNode.replaceChild(Y,Z);W=Y}}return W}function e(Y,W,X){var Z=B("param");Z.setAttribute("name",W);Z.setAttribute("value",X);Y.appendChild(Z)}function x(X){var W=c(X);if(W&&W.nodeName=="OBJECT"){if(L.ie&&L.win){W.style.display="none";(function(){if(W.readyState==4){b(X)}else{setTimeout(arguments.callee,10)}})()}else{W.parentNode.removeChild(W)}}}function b(Y){var X=c(Y);if(X){for(var W in X){if(typeof X[W]=="function"){X[W]=null}}X.parentNode.removeChild(X)}}function c(Y){var W=null;try{W=j.getElementById(Y)}catch(X){}return W}function B(W){return j.createElement(W)}function i(Y,W,X){Y.attachEvent(W,X);H[H.length]=[Y,W,X]}function E(Y){var X=L.pv,W=Y.split(".");W[0]=parseInt(W[0],10);W[1]=parseInt(W[1],10)||0;W[2]=parseInt(W[2],10)||0;return(X[0]>W[0]||(X[0]==W[0]&&X[1]>W[1])||(X[0]==W[0]&&X[1]==W[1]&&X[2]>=W[2]))?true:false}function u(ab,X,ac,aa){if(L.ie&&L.mac){return}var Z=j.getElementsByTagName("head")[0];if(!Z){return}var W=(ac&&typeof ac=="string")?ac:"screen";if(aa){m=null;F=null}if(!m||F!=W){var Y=B("style");Y.setAttribute("type","text/css");Y.setAttribute("media",W);m=Z.appendChild(Y);if(L.ie&&L.win&&typeof j.styleSheets!=C&&j.styleSheets.length>0){m=j.styleSheets[j.styleSheets.length-1]}F=W}if(L.ie&&L.win){if(m&&typeof m.addRule==q){m.addRule(ab,X)}}else{if(m&&typeof j.createTextNode!=C){m.appendChild(j.createTextNode(ab+" {"+X+"}"))}}}function v(Y,W){var X=W?"visible":"hidden";if(I&&c(Y)){c(Y).style.visibility=X}else{u("#"+Y,"visibility:"+X)}}function K(X){var Y=/[\\\"<>\.;]/;var W=Y.exec(X)!=null;return W&&typeof encodeURIComponent!=C?encodeURIComponent(X):X}var d=function(){if(L.ie&&L.win){window.attachEvent("onunload",function(){var ab=H.length;for(var aa=0;aa<ab;aa++){H[aa][0].detachEvent(H[aa][1],H[aa][2])}var Y=M.length;for(var Z=0;Z<Y;Z++){x(M[Z])}for(var X in L){L[X]=null}L=null;for(var W in swfobject){swfobject[W]=null}swfobject=null})}}();return{registerObject:function(aa,W,Z,Y){if(L.w3&&aa&&W){var X={};X.id=aa;X.swfVersion=W;X.expressInstall=Z;X.callbackFn=Y;n[n.length]=X;v(aa,false)}else{if(Y){Y({success:false,id:aa})}}},getObjectById:function(W){if(L.w3){return y(W)}},embedSWF:function(aa,ag,ad,af,X,Z,Y,ac,ae,ab){var W={success:false,id:ag};if(L.w3&&!(L.wk&&L.wk<312)&&aa&&ag&&ad&&af&&X){v(ag,false);J(function(){ad+="";af+="";var ai={};if(ae&&typeof ae===q){for(var ak in ae){ai[ak]=ae[ak]}}ai.data=aa;ai.width=ad;ai.height=af;var al={};if(ac&&typeof ac===q){for(var aj in ac){al[aj]=ac[aj]}}if(Y&&typeof Y===q){for(var ah in Y){if(typeof al.flashvars!=C){al.flashvars+="&"+ah+"="+Y[ah]}else{al.flashvars=ah+"="+Y[ah]}}}if(E(X)){var am=t(ai,al,ag);if(ai.id==ag){v(ag,true)}W.success=true;W.ref=am}else{if(Z&&z()){ai.data=Z;O(ai,al,ag,ab);return}else{v(ag,true)}}if(ab){ab(W)}})}else{if(ab){ab(W)}}},getFlashPlayerVersion:function(){return{major:L.pv[0],minor:L.pv[1],release:L.pv[2]}},hasFlashPlayerVersion:E,createSWF:function(Y,X,W){if(L.w3){return t(Y,X,W)}else{return undefined}},showExpressInstall:function(Y,Z,W,X){if(L.w3&&z()){O(Y,Z,W,X)}},removeSWF:function(W){if(L.w3){x(W)}},createCSS:function(Z,Y,X,W){if(L.w3){u(Z,Y,X,W)}},addDomLoadEvent:J,addLoadEvent:r,getQueryParamValue:function(Z){var Y=j.location.search||j.location.hash;if(Z==null){return K(Y)}if(Y){var X=Y.substring(1).split("&");for(var W=0;W<X.length;W++){if(X[W].substring(0,X[W].indexOf("="))==Z){return K(X[W].substring((X[W].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var W=c(Q);if(W&&l){W.parentNode.replaceChild(l,W);if(P){v(P,true);if(L.ie&&L.win){l.style.display="block"}}if(D){D(A)}}a=false}}}}();