[].indexOf || (Array.prototype.indexOf = function(v) {
       for(var i = this.length; i-- && this[i] !== v;);
       return i;
});

function SWFObjectCaller(id) {
	var div = document.getElementById(id);
	if (div) {
		// create the SWFObject
		var so = new SWFObject(div.getAttribute("swfmovie"), div.id+"_swf",
			div.getAttribute("width"), div.getAttribute("height"),
			getAttribute(div, "version", "7"),
			getAttribute(div, "bgcolor", "#FFFFFF"));

		// set all other attributes from the div
		var ignore = ['id', 'swfmovie', 'width', 'height', 'version', 'bgcolor', 'style'];
		for(var i=0 ; i<div.attributes.length ; ++i) { 
			var name = div.attributes[i].nodeName;
			var value = div.attributes[i].nodeValue;
			if(ignore.indexOf(name) == -1) {
				so.addParam(name, value);
			}
		}
		// write to the given ID
		so.write(div.id);
	}

	function getAttribute(node, name, defvalue) {
		var value = node.getAttribute(name);
		if (value) {
			return value;
		}
		return defvalue;
	}
}
