function fx_metaballs_init()
{
	document.fx_metaballs_w	= 64-8*1
	document.fx_metaballs_h	= 48-6*1
	document.fx_metaballs_imgDataIso	= buildBmp24Header( document.fx_metaballs_w, document.fx_metaballs_h )
	document.fx_metaballs_palette		= []

	for( i=0;i<128;i++)
		document.fx_metaballs_palette[ i ] = byteToIsoArray[ Math.min(255,Math.max(0,i*32-384)) ]+ byteToIsoArray[ Math.min(255,Math.max(0,i*32-384-64)) ]+ byteToIsoArray[ Math.min(255,Math.max(0,i*32-384-96)) ]

	progressBarIndex++
}

function fx_metaballs_update( time, extraArguments )
{
	var
		i,j,d,x,y,n,mx,my,mi,
		w				= document.fx_metaballs_w,
		h				= document.fx_metaballs_h,
		imgDataIso		= document.fx_metaballs_imgDataIso,
		planeTexture	= document.fx_metaballs_texture
		

	n = 5
	mx=[]
	my=[]
	mi=[]
	x=time/1024
	y=time/3072
	for( j=0; j<n; j++ )
	{
		mx[j] = w*4+w*4*Math.cos( x+3  *Math.cos(y) )
		my[j] = h*4+h*4*Math.sin( x+4  *Math.sin(y) )
		mi[j] = 127*127/n*(4+8+8*Math.cos(x*2+y+j))
		x+= 5.7/n
		y+= 7.3/n
	}

	
	code = "var	metaballsPalette = document.fx_metaballs_palette,xLight2Array=[],imgDataIso=document.fx_metaballs_imgDataIso;for( x="+w*8+"; x; x-=8 ){xLight2Array[x]=[];"

	for( j=0;j<n;j++)
		code += "xLight2Array[x]["+j+"] = ("+mx[j]+"-x)*("+mx[j]+"-x);"

	code += "};for(y="+h*8+";y;y-=8 ){"

	for( j=0;j<n;j++)
		code += "yLight2_"+j+" = ("+my[j]+"-y)*("+my[j]+"-y);"

	code +="for( x="+w*8+"; x; x-=8 )imgDataIso += metaballsPalette[ Math.min( 127, "+ mi[0]+"/( xLight2Array[x][0]+ yLight2_0 )"

	for( j=1;j<n;j++)
		code += "+"+mi[j]+"/( xLight2Array[x]["+j+"]+ yLight2_"+j+" )"

	code += " )&127 ]}return imgDataIso;"

	customImageHandle.src = (new Function(code))()
}