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;


function ControlVersion()
{
	var version;
	var axo;
	var e;

	try {
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {

			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			version = "WIN 6,0,21,0";
			axo.AllowScriptAccess = "always";
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

function GetSwfVer(){
	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;
		}
	}
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

function getURLProtocol()
{
	var loc = new String(window.parent.document.location);
	if (loc.indexOf("https://")!= -1)
	prefix = "https://";
	else
	prefix = "http://";
	return prefix;
	//alert("prefix = " + prefix);
}

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {

			tempArray         = versionStr.split(" "); 
			tempString        = tempArray[1];			
			versionArray      = tempString.split(",");
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

		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 = '';
	var inner = false;
    if (isIE && isWin && !isOpera)
    {
  		str += '<object ';
  		for (var i in objAttrs)
		{
			if(i=="div" && objAttrs[i]  != undefined)
			{
					inner = objAttrs[i];
			}
  			str += i + '="' + objAttrs[i] + '" ';
		}
  		for (var i in params)
		{
			if(i=="div" && params[i] != undefined)
			{
					inner = params[i];
			}
  			str += '><param name="' + i + '" value="' + params[i] + '" /> ';
		}
		str += '></object>';
    } 
	else 
	{
		str += '<embed ';
  		for (var i in embedAttrs)
		{
			if(i=="div" && embedAttrs[i] != undefined)
			{
					inner = embedAttrs[i];
			}
  			str += i + '="' + embedAttrs[i] + '" ';
		}
		str += '> </embed>';
    }

		if(inner)
		{
    		document.getElementById(inner).innerHTML = str;
		}
		else
		{
			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 "div":
      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;
}


function loadFlash(reqMaj,reqMin,reqRev,file,w,h,bcolor,scale,align,salign,mode,fvar,upgrade,div)
{
	var prefix = getURLProtocol();
	var getPlayer = prefix + "www.adobe.com/go/getflashplayer";
	//alert(getPlayer);
	var hasProductInstall = DetectFlashVer(6, 0, 65);
	var hasReqestedVersion = DetectFlashVer(reqMaj, reqMin, reqRev);
	
	if ( hasProductInstall && !hasReqestedVersion ) 
	{
		var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
		var MMredirectURL = window.location;
		document.title = document.title.slice(0, 47) + " - Flash Player Installation";
		var MMdoctitle = document.title;
	
		AC_FL_RunContent(
			"src", "flash/playerProductInstall",
			"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
			"width", w,
			"height", h,
			"align", "middle",
			"id", "detect",
			"quality", "high",
			"bgcolor", bColor,
			"name", "detectionExample",
			"allowScriptAccess","sameDomain",
			"type", "application/x-shockwave-flash",
			"pluginspage", getPlayer
		);
		
	} 
	
	else if (hasReqestedVersion) 
	{
		var prefix = getURLProtocol();
		var cbase = prefix + "fpdownload.macromedia.com/get/flashplayer/current/swflash.cab";
		var ppage = prefix + "www.adobe.com/go/getflashplayer";
		AC_FL_RunContent
		(
		 	"src", file,
			"width", w,
			"height", h,
			"id", "index",
			"quality", "high",
			"bgcolor", bcolor,
			"name", "name",
			"play","true",
			"loop","false",
			"scale", scale,
			"align", align,
			"salign", salign,
			"wmode", mode,
			"FLASHVARS", fvar,
			"div", div,
			"allowScriptAccess","sameDomain",
			"type", "application/x-shockwave-flash",
			"codebase", cbase,
			"pluginspage", ppage
		);
	} 

	else 
	{
		if(upgrade)
		{
			var alternateContent = 
			"<div id='upgrade'>"
			+ "<div id='upgrade_head'>"
			+ "You don't have the latest version of Macromedia Flash Player."
			+ "</div>"			
			+ "<div id='upgrade_copy'>"
			+ "This web site makes use of"
			+ "<A class='upgrade' TARGET='_new'>Adobe<SUP>&reg;</SUP>Flash<SUP>TM</SUP></A> software! You have an old version of Macromedia Flash Player that cannot play some of content we've created!"
			+ "</div>"			
			+ "<div id='upgrade_copy'>"
			+ "<A class='upgrade' HREF='http://www.adobe.com/shockwave/download/triggerpages_mmcom/flash.html' TARGET='_new'>"
			+ "<div id='upgrade_logo'>"
			+ "<IMG SRC='http://www.macromedia.com/images/shared/download_buttons/get_flash_player.gif' WIDTH='88' HEIGHT='31' BORDER='0' align='middle'></A>"
			+ "</div>"
			+ "</div>"			
			+ "<div id='upgrade_copy'>"
			+ "If you'd like to enjoy all of our site, the flash player will only take a moment to download."
			+ "</div>"			
			+ "<div id='upgrade_legal'>"
			+ "Macromedia and Flash are trademarks of Adobe, Inc."
			+ "</div></div>";
		}
		document.write(alternateContent);
	}

	
}