Flash = function(swf, width, height, version, placeHolder, id) {
    this.swf = swf || "";
    this.width = width || "100%";
    this.height = height || "100%";
    this.requiredVersion = version || 7;
    this.placeHolder = placeHolder || "";
    this.id =  id || "";
};

Flash.hasVersion = function(requiredVersion) {
    var hasVersion = false;
    var hasVersion = false;
    if (navigator.plugins.length > 0 && navigator.plugins["Shockwave Flash"]) { // NS/Mozilla
        var description = navigator.plugins["Shockwave Flash"].description;
        var version = description.match(/\d{1,2}/);
        hasVersion = (version >= requiredVersion);
    }
    else if (window.ActiveXObject && window.execScript && navigator.userAgent.indexOf('Mac') == -1) { // Win IE
        Flash.hasActiveX = false;
        window.execScript("On error resume next: Flash.hasActiveX = IsObject(CreateObject('ShockwaveFlash.ShockwaveFlash." + requiredVersion + "'))", "VBScript");
        hasVersion = Flash.hasActiveX;
        delete Flash.hasActiveX;
    }
    return hasVersion;
};

Flash.prototype.getRequiredVersion = function() {
    return this.requiredVersion;
};



Flash.prototype.getHTML = function(){
    var flashHTML = "";
    
    flashHTML += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"'
    flashHTML += ' width="' + this.width + '"';
    flashHTML += ' height="' + this.height + '"';
    flashHTML += ' id="' + this.id + '"';
    flashHTML += ' align="middle"';
    flashHTML += ' <param name="allowScriptAccess" value="sameDomain" />'; 
    flashHTML += ' <param name="movie" value="'+ this.swf +'" />';
    flashHTML += ' <param name="quality" value="high" />';
    flashHTML += ' <param name="bgcolor" value="#ffffff" />';
   
    flashHTML += ' <embed src="'+ this.swf +'"';
    flashHTML += ' quality="high" bgcolor="#ffffff"';
    flashHTML += ' width="'+ this.width +'"';
    flashHTML += ' height="' + this.height + '"';
    flashHTML += ' name="' + this.id + '"';
    flashHTML += ' align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
    
    return flashHTML;
};

Flash.prototype.getPlaceHolderHTML = function(){
    var staticHTML = "";
    
    staticHTML += '<a href="portfolio.html">'
    staticHTML += '<img src="'+ this.placeHolder +'" width="725" height="466" border="0"></a>'
      
    return staticHTML;
};


Flash.prototype.render = function(elementId) {
    if(Flash.hasVersion(this.getRequiredVersion())) {
        if (elementId) {
           document.getElementById(elementId).innerHTML = this.getHTML();
        }
        else {
           document.write(this.getHTML());
        }
    } else {
         if (elementId) {
           document.getElementById(elementId).innerHTML = this.getPlaceHolderHTML();
        }
        else {
           document.write(this.getPlaceHolderHTML());
        }
    }
};
