
var Flash={
  detected:{},
  version:[0,0,0],

  init: function(version)
  {
    var n=navigator.userAgent;
    if (typeof Flash.detected[version]=='undefined')
    {
       Flash.detected[version]=Flash.detect(version, (n.indexOf("MSIE") != -1 && n.indexOf("Windows") != -1 && n.indexOf("Opera") == -1) );
    }
    return Flash.detected[version];
  },

  detect: function (version,ie)
  {
    var a=null;
    if (ie)
    {
     try {
       a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.'+version);
     }
     catch(exception)
     {
       return false;
     }

     if (a)
     {
       var d = a.GetVariable("$version");  // will crash fp6.0.21/23/29
       if (d)
       {
         d = d.split(" ")[1].split(",");
         Flash.version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
       }
     }
     return true;
    }
    else if (navigator.plugins['Shockwave Flash'])
    {
      var d = navigator.plugins['Shockwave Flash'].description;
      if (d) {
        d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
        Flash.version[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
        Flash.version[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
        Flash.version[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
      }

      return (Flash.version[0] >= version);
    }
    return false;
  },

  draw: function(src,width,height,bgcolor,vars,transparent, id, zindex)
  {
    var ret='<object '+(id?'id="'+id+'" ':'')+' style="z-index:'+(zindex?zindex:0)+'" type="application/x-shockwave-flash" data="'+src+'"';
    ret+=(width?' width="'+width+'"':'')+(height?' height="'+height+'"':'')+'>';

    if (bgcolor)  ret+='<param name="bgcolor" value="'+bgcolor+'" />';
    if (vars){
     if (typeof vars=='object')
     {
       var v=[];
       for(key in vars)
       {
         v.push(key +"="+ vars[key]);
       }
       vars=v.join('&');
     }
     ret+='<param name="FlashVars" value="'+vars+'" />';
    }
    if (transparent)  ret+='<param name="wmode" value="transparent" />';

    ret+='<param name="allowFullScreen" value="true" />';
    ret+='<param name="allowScriptAccess" value="always" />';
    ret+='<param name="movie" value="'+src+'" />';
    ret+='<param name="menu" value="false" />';
    ret+='<param name="quality" value="high" />';
    ret+='</object>';

    return ret;
  },

  get: function(f)
  {
    return (window[f]?window[f]:document[f]);
  }
}

