
/* * * * * * * * * * * * * * * * *

JS (C) 2006 Hidvégi Gábor
www.hidvegi.net

* * * * * * * * * * * * * * * * */

function flashobj(minverzio, swf, szelesseg, magassag, alternativ, initobj) {

	var n = navigator, np = n.plugins, d = document, obj;
	var bongeszo = n.userAgent.toLowerCase(), van_ie = ((bongeszo.indexOf('msie') != -1) && (bongeszo.indexOf('opera') == -1) && (bongeszo.indexOf('win') != -1));
	var parameterek = {
		movie: swf,
		wmode: 'opaque',
		menu: false
	};

	function flashver(minver) {
		if (window.ActiveXObject) {
			try {
				var obj = new window.ActiveXObject('ShockwaveFlash.ShockwaveFlash.' + minver);
				return (obj) ? true :  false;
			}
			catch(e) {}
		}
		if (np && np.length) {
			for (var i = 0; i < np.length; i++) {
				if (np[i].name.indexOf('Shockwave Flash') != -1) {
					var f = np[i].description.split('Shockwave Flash ')[1];
					return (parseInt(f, 10) >= minver);
				}
			}
		}
		return false;
	}
	function ujelem(tipus, initobj) {
		var elem = d.createElement(tipus);
		if (initobj) {
			for (var i in initobj) {
				elem.setAttribute(i, initobj[i]);
			}
		}
		return elem;
	}
	function ujparam(nev, ertek) {
		return ujelem('param', {name: nev, value: ertek});
	}
	function elemszoveg(elem, szoveg) {
		elem.appendChild(d.createTextNode(szoveg));
	}
	function $(id) {
		return d.getElementById(id);
	}

	var megfelelo = flashver(minverzio);
	if (megfelelo) {
		if (initobj) {
			for (var i in initobj) {
				parameterek[i] = initobj[i];
			}
		}
		if (van_ie) {
			obj = ujelem('object', {id: 'flash_mozi', classid: 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000', codebase: 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + minverzio + ',0,0,0', width: szelesseg, height: magassag});
			obj.wmode = parameterek.wmode;
		}
		else {
			obj = ujelem('object', {id: 'flash_mozi', type: 'application/x-shockwave-flash', data: swf, width: szelesseg, height: magassag});
		}
		for (i in parameterek) {
			obj.appendChild(ujparam(i, parameterek[i]));
		}
		$(alternativ).parentNode.replaceChild(obj, $(alternativ));
		if (van_ie) {
			for (i in parameterek) {
				obj.setAttribute(i, parameterek[i]);
			}
		}
	}
	else {
		$(alternativ).style.visibility = 'visible';
	}
}
