function FlashLibrary(){
    var t = this;
    var activeX = false;
    t.ieAutoInstall = false;
    t.hasVersion = function(ver){
        t.swf = false;
        if(!ver) ver = 0;
        var n = navigator;
        if(n.plugins && n.plugins.length > 0){
            var m,tp,d,v;
            m = n.mimeTypes;
            tp = 'application/x-shockwave-flash';
            if(m && m[tp] && m[tp].enabledPlugin && m[tp].enabledPlugin.description){
                d = m[tp].enabledPlugin.description;
                v = d.charAt(d.indexOf('.')-1);
                t.swf = (v >= ver) ? true : false;
            }
        }else if(n.appVersion.indexOf("Mac") == -1 && window.execScript){
            for(var i=ver; i<=7&&i!=1&&t.swf!=true; i++){
                execScript('on error resume next: flash.swf=IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash'+((i==0)?'':'.'+i)+'"))','VBScript');
                //alert(t.swf);

            }
            if(t.swf) {
                activeX = true;
           }


        }else{
            t.swf = false;
        }
        return t.swf;
    }
    t.getPluginTag = function(swfFile,width,height,bgcolor,ver,altFormat,params){
        var s = '';
        var safari = (navigator.userAgent.toLowerCase().indexOf('safari') != - 1);
        var win = (navigator.appVersion.toLowerCase().indexOf("win")!=-1);
        var ie = (navigator.appName=="Microsoft Internet Explorer");
        if(t.hasVersion(ver) && swfFile || (win && ie && swfFile && t.ieAutoInstall)){
            var additionalParams = '';
            if(params && params.length>0){
                var pArray = params.split(",");
                for(var i=0; i<pArray.length; i++){
                    var ta = pArray[i].substr(0,pArray[i].indexOf('='));
                    var v = pArray[i].substr(pArray[i].indexOf('=')+1,pArray[i].length);
                    additionalParams += (activeX)?'\t<param name="' + ta + '" value="' + v + '" />\n': ' '+ ta + '="' + v + '"';
                }
            }
            if(activeX){
                s = '<object id="flashObj" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,21,0" width="'+width+'" height="'+height+'">\n';
                s += '\t<param name="movie" value="'+swfFile+'" />\n';
                s += '\t<param name="quality" value="high" />\n';
                s += '\t<param name="menu" value="false" />\n';
                s += '\t<param name="bgcolor" value="'+bgcolor+'" />\n';
                s += additionalParams;
                s += altFormat;
                s += '</object>\n';
                return s;
            }else{
                s = '<embed id="flashObj" src="'+swfFile+'" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" bgcolor="'+bgcolor+'"'+additionalParams+(safari?' class="safari"':'')+'></embed>\n';
                return s;
            }
        }else{
            return altFormat;
        }
    }
    t.embedMovie = function(swfFile,width,height,bgcolor,ver,altFormat,params){
        document.write(flash.getPluginTag(swfFile,width,height,bgcolor,ver,altFormat,params));
        }
}
var flash = new FlashLibrary();

function getElementsByClassName(className,tagNames,oParent) {
  var doc = (oParent||document);
  var matches = [];
  var i,j;
  var nodes = [];
  if (tagNames && typeof(tagNames)!='string' && typeof(tagNames)!='undefined') {
    for (i=0; i<tagNames.length; i++) {
      if (!nodes || !nodes[tagNames[i]]) {
        nodes[tagNames[i]] = doc.getElementsByTagName(tagNames[i]);
      }
    }
  } else if (tagNames) {
    nodes = doc.getElementsByTagName(tagNames);
  } else {
    nodes = doc.all||doc.getElementsByTagName('*');
  }
  if (typeof(tagNames)!='string' && typeof(tagNames)!='undefined') {
    for (i=0; i<tagNames.length; i++) {
      for (j=0; j<nodes[tagNames[i]].length; j++) {
        if (nodes[tagNames[i]][j].className && nodes[tagNames[i]][j].className.indexOf(className)+1 && (nodes[tagNames[i]][j].className == className || nodes[tagNames[i]][j].className.indexOf(className+' ')+1 || nodes[tagNames[i]][j].className.indexOf(' '+className)+1)) {
          matches[matches.length] = nodes[tagNames[i]][j];
        }
      }
    }
  } else {
    for (i=0; i<nodes.length; i++) {
      if (nodes[i].className && nodes[i].className.indexOf(className)+1 && (nodes[i].className == className || nodes[i].className.indexOf(className+' ')+1 || nodes[i].className.indexOf(' '+className)+1)) {
        matches[matches.length] = nodes[i];
      }
    }
  }
  return matches;
}
