/*
cross-browser tweerichtingscommunicatie tussen JS en Flash
Getest met:
IE 7
Firefox 2
Opera 9
Safari voor Windows

Eolas: http://msdn2.microsoft.com/en-us/library/ms537508.aspx (object moet worden gecreeerd vanuit een fysiek ge-include JS)

Bekende beperking:
Nadat het SWF object wordt verplaatst in DOM wordt de ExternalInterface relatie opgeheven.
Firefox lost dit op door de SWF te reloaden.
IE verliest daarbij ook o.a. de document title.
Dit kan worden voorkomen door de SWF altijd buiten DOM vertakkingen te houden die dynamisch moeten worden bijgewerkt.

LET OP! IE gebruikt id om JS->AS mogelijk te maken!

Fullscreen support zorgt ervoor dat overlay rendering wordt gebruikt.
Hierdoor kan er dus geen HTML content over een FLV worden geplaatst (in IE wel via een iframe).
*/
//a-tag onclick event
SWF=function(placeholder,src,vars,onload,fsSupport){
	var id=placeholder.id.na('_');
	if (SWF._foutCode) SWF._fout(placeholder,SWF._foutCode);
	var swf,inst=SWF._instTeller++;
	if (is(vars,Object)) vars=ObjectNaarString(vars);
	//voor Opera moet de embed-tag al in de source staan, dynamisch aangemaakte embed tags worden genegeerd en FlashVars moeten er ook al in staan
	if (w.Opera){
		schrijfOuterHTML(placeholder,'<embed class="'+placeholder.className+'" id="'+id+'" name="'+id+'" '+(fsSupport?'allowFullScreen="true"':'wmode="transparent"')+' salign="lt" menu="false" FlashVars="'+vars+'" />');
		//placeholder.outerHTML='<embed id="'+id+'" name="'+id+'" '+(fsSupport?'allowFullScreen="true"':'wmode="transparent"')+' salign="lt" menu="false" FlashVars="'+vars+'" />';
		swf=d.E(id);
		swf.setAttribute('src',src);
	}
	else{
		swf=d.cE(w.IE?'object':'embed');
		try{
			if (w.IE) swf.classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
			else swf.type='application/x-shockwave-flash';
			if (!('src' in swf||'Movie' in swf)) return SWF._fout(placeholder,0);
			if (!('AllowFullscreen' in swf)){
				var pl=navigator.plugins['Shockwave Flash'];
				if (!pl||parseInt(pl.description.na('Flash '))<8) return SWF._fout(placeholder,1);
			}
		}
		catch(e){
			return SWF._fout(placeholder,2);
		}
		swf.setAttribute('menu',false);
		swf.setAttribute('salign','lt');
		swf.setAttribute('base','.');//werkt niet voor IE
		if (fsSupport) swf.setAttribute('allowFullScreen',true);
		else swf.setAttribute('wmode','transparent');//fullscreen werkt alleen met 'Window'. De eerste keer dat de WMode wordt geset bepaalt dit.
		swf.setAttribute('FlashVars',vars);//werkt al voordat flashfile geladen is
		//swf.id=swf.name='swf'+inst;
		swf.id=swf.name=id;
		if (w.IE) swf.id=swf.id.toLowerCase();//anders snapt IE t niet meer
		//alert(swf.id);
		swf.className=placeholder.className;
	}
	cx(SWF,swf.id,swf);
	cx(swf,'SetWindow',function(){SWF._fout(placeholder,1)});//nog nodig?
	cx(swf,'onload',onload);
	cx(swf,'resize',SWF._resize)
	if (!w.Opera){
		swf.setAttribute('src',src);//Moz
		placeholder.parentNode.replaceChild(swf,placeholder);
		if (w.IE) swf.Movie=src;
	}
	return swf;
}
SWF._instTeller=0;
SWF._fout=function(p,foutCode){
	this.SetWindow=SWF._fout=function(p){if (p.tagName) p.style.visibility='visible'};
	SWF._foutCode=foutCode;
	SWF._fout(p);
	var V=d.E('Venster'),A=d.cE('A');
	A.className='FlashFout';
	A.href='http://www.adobe.com/products/flashplayer/';
	A.innerHTML=foutCode==2?CG.frontendTekst(40):CG.frontendTekst(41,foutCode==1?' '+CG.frontendTekst(42):$);
	setTimeout(function(){V.insertBefore(A,V.firstChild)},100);//zonder timeout knalt ie6 druit
}
SWF._resize=function(w,h){
	this.style.width=w+'px';
	this.style.height=h+'px';
}
