(function($) {
  var FOP = jQuery.fn.flashObject = function(options, params, variables) {
    FOP.object = this;

    FOP.options = $.extend({
      width: 320,
      height: 240,
      swf: 'test.swf',
      id: 'flash-animation',
      align: 'middle'
    }, options);

    FOP.params = $.extend({
      allowScriptAccess: 'allways'
    }, params);

    FOP.variables = variables;


    if (jQuery.browser.msie) {
      var html = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+FOP.options.width+'" height="'+FOP.options.height+'" id="'+FOP.options.id+'" name="'+FOP.options.id+'" align="'+FOP.options.align+'">';
      html += '<param name="movie" value="'+FOP.options.swf+'" />';
      for (var key in FOP.params) html += '<param name="'+key+'" value="'+FOP.params[key]+'" />';
      if (FOP.variables != false) html += '<param name="flashVars" value="'+FOP.getFlashVars()+'" />';
      html += '</object>';
    }
    else {
      var html = '<embed pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" src="'+FOP.options.swf+'" width="'+FOP.options.width+'" height="'+FOP.options.height+'" id="'+FOP.options.id+'" align="'+FOP.options.align+'"';
      for (var key in FOP.params) html += ' '+key+'="'+FOP.params[key]+'"';
      if (FOP.variables != false) html += ' flashvars="'+FOP.getFlashVars()+'"';
      html += "></embed>";
    }
    for (var i=0; i<this.length; i++) this.get(i).innerHTML = html;
  };
  FOP.getFlashVars = function() {
    var variables = new Array();
    for (var key in FOP.variables) variables.push(key + "=" + FOP.variables[key]);
    return (variables.length > 0) ? variables.join("&") : false;
  }
})(jQuery);

