//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
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 = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';
 
  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_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  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 "style":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
	  case "name":
		ret.embedAttrs[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;
}

//Termina AC_RunActiveContent


// Verifica que la version de Flash sea mayor a reqMinorVer

// Función para IE y Win. 
function VBGetSwfVer(reqMinorVer) {
	flashversion = -1;
	for (var i=reqMinorVer; i<20; i++) {
		try {
			var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
			flashversion = i;
		}
		catch (e) {
		}
	}
	return flashversion;
}

// Función para el resto de los exploradores
function JSGetSwfVer() {
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			x = navigator.plugins["Shockwave Flash"];
			y = x.description;
			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 flashversion = versionMajor + "." + versionMinor + "." + versionRevision;
		}
		else {
			flashversion = -1;
		}
	}
	// MSN/WebTV 2.6 admite Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashversion = 4;
	// WebTV 2.5 admite Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashversion = 3;
	// las versiones anteriores de WebTV admiten Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashversion = 2;
	// No se puede detectar en todos los demás casos
	else {
		flashversion = -1;
	}
	return flashversion;
}

// reqMinorVer: versión mínima de flash player
function DetectFlashVer(reqMinorVer) 
{
   	// Detectar tipo de navegador cliente
	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;
	if (reqMinorVer == null) reqMinorVer = 4; 	// Si no se recibe versión se implementa la versión 4 como mínima	
	if (isIE && isWin && !isOpera) {
		versionStr = VBGetSwfVer(reqMinorVer);
	} 
	else {
		versionStr = JSGetSwfVer();		
	}
	if (versionStr < reqMinorVer) return false; // El usuario tiene una versión igual o mayor a la solicitada
	else  return true;							// El usuario tiene una versión menor a la solicitada
}

// Función que regresa una explicación y un link para bajar Flash Player
function DownloadFlash(idioma, ruta_imagen) {
	var content = "";
	var textoError = fdic.trad(disNewNewerFlashPlayer,idioma);
	var textoDownload = fdic.trad(disDownloadFlashPlayer,idioma);	
	content = '<div style="font-size:12px; color: #0066CC; margin: 0px auto;"><img src="' + ruta_imagen + '/flash.gif" align="left">' + textoError + '<br/><a href="http://www.macromedia.com/go/getflash/" target="_blank" rel="nofollow" style="color: #ff0000;">' + textoDownload + '</a></div>';
	return content;
}


// Función que manda valores de JavaScript a Flash
function getFlashMovie(movieName) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[movieName] : document[movieName];
}
function EnviaDatosFlash(swf, ruta, texto, url, arreglo) {
	if (DetectFlashVer(8) == true) 
	var objFlash = $(swf);
	if (objFlash != null && typeof objFlash != "undefined")
		if (getFlashMovie(swf).SendToFlash != null)
			getFlashMovie(swf).SendToFlash(ruta, texto, url, arreglo);		
}