/*
 * Flash super-class
 */
function FlashObject(){
    this.nVersion = '9';
}

/*
 * Render flash object
 * @access public
 */
FlashObject.prototype.Build = function(sObjectData){
    if(this._IsFlashInstalled()){
        document.write(sObjectData);
    }else{
        document.write('Flash required!');
    }
};

/*
 * Check plugin availability
 * @access private
 */
FlashObject.prototype._IsFlashInstalled = function(){
    this._bFlashInstalled = true;
    this._nDetectedFlashVersion = '';

    try{
        //oFlashObject = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.' + this.nVersion);
        oFlashObject = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
    }catch(e){
        this._bFlashInstalled = false;
        if(navigator.plugins && navigator.plugins.length){
            oPluginData = navigator.plugins['Shockwave Flash'];
            if(oPluginData){
                this._bFlashInstalled = true;
                if(oPluginData.description){
                    oPluginDescription = oPluginData.description;
                    this._nDetectedFlashVersion = oPluginDescription.charAt(oPluginDescription.indexOf('.')-1);
                    if(this._nDetectedFlashVersion != this.nVersion){
                        this._bFlashInstalled = false;
                    }
                }
            }
        }else{
            if(navigator.mimeTypes && navigator.mimeTypes.length){
                oFlashMIMEDefinition = navigator.mimeTypes['application/x-shockwave-flash'];
                if(oFlashMIMEDefinition && oFlashMIMEDefinition.enabledPlugin){
                    this._bFlashInstalled = true;
                }
            }
        }
    }
    return this._bFlashInstalled;
};

var Flash = new FlashObject();
