function ic (img, ref) {
	image_change (img, ref);
}

function icd (div, img, ref) {
	layer_image_change (div, img, ref);
}

function ColebMI (name) {
	if (this.ColebMILocal)
		ColebMILocal(name);
	else
		ColebMIDefault(name);
}

// (name, period, limit, scaleX, scaleY, offsetX, offsetY, deltaX, deltaY, fadeX, fadeY) {

function ColebMIDefault (name) {
		ColebLayerStart(name, 50, 50, 10, 5, 0, 0, 0.2, 0.5, 0.2, 0.2);
}

/*
function ColebMIDefault (name) {
		ColebLayerStart(name, 50, 50, 10, 0, 0, 0, -0.2, 0, 0.1, 1);
}

function ColebMIWelcome (name) {
		ColebLayerStart(name, 50, 50, 10, 5, 0, 0, -0.2, -0.2, 0.2, 0.2);
}

function ColebMIStrange (name) {
		ColebLayerStart(name, 50, 50, 10, 5, 0, 0, 0.2, 0.5, 0.2, 0.2);
}
*/

function ColebMIStop (name) {
	ColebLayerStop(name);
}


var obj = new Array();
obj['ColebLayer'] = 0;

function ResetLayer (name, x, y) {
	layer_move (name, x, y);
	layer_show (name);
	if (!obj[name])
		obj[name] = new Array();
	obj[name].x = x;
	obj[name].y = y;
	obj[name].step = 0;
	obj[name].stop = 0;
}

function ColebLayerStart (name, period, limit, scaleX, scaleY, offsetX, offsetY, deltaX, deltaY, fadeX, fadeY) {
	var o = obj[name];

	o.coleb = 1;
	o.scaleX = scaleX; o.scaleY = scaleY;
	o.offsetX = offsetX; o.offsetY = offsetY;
	o.deltaX = deltaX; o.deltaY = deltaY;
	o.fadeX = fadeX; o.fadeY = fadeY;
	o.period = period;
	o.limit = limit;
	if (o.stop)
		o.step = 0;
	o.stop = 0;

	if ( o.step > 30)
		o.step = 0;

	if ( obj['ColebLayer'] == 0 ) {
		obj['ColebLayer'] = 1;
		ColebLayerAll();
	}
}

function ColebLayerStop (name) {
	var o = obj[name];
	o.stop = 1;
}

function ColebLayerAll() {
	if ( ! obj['ColebLayer'] )
		return;
	var isthere = 0;
	for (var i in obj) {
		if (!obj[i].coleb || obj[i].stop)
			continue;

		var name = i;


	var o = obj[name];
	var dx;
	var dy;

	if (!o.coleb) {
		return;
	}

	if (o.stop) {
		o.step = 0;
		return;
	}

	dx = Math.sin(o.offsetX + o.step*o.deltaX) * o.scaleX / (1 + o.step * o.fadeX);
	dy = Math.sin(o.offsetY + o.step*o.deltaY) * o.scaleY / (1 + o.step * o.fadeY);

//	dx = (o.scaleX/2 - Math.random()*o.scaleX) / ((1 + o.step) * o.fadeX);
//	dy = (o.scaleY/2 - Math.random()*o.scaleY) / ((1 + o.step) * o.fadeY);

	layer_move (name, o.x+dx, o.y+dy);

	if (++o.step >= o.limit) {
		layer_move (name, o.x, o.y);
		o.step = 0; o.stop = 1;
	}


		if ( o.step )
			isthere = 1;
	}
	obj['ColebLayer'] = isthere;
	if ( obj['ColebLayer'] )
		setTimeout('ColebLayerAll()', 40);
}

