// Ver 1.0.110419 mod sfb2

function anipanImage() {

	var img = new Image();
	var scale = 1;
	var duration;
	var intervalId1;
	var step = 0.5;
	var start = step / 20;
	var ctx;

	var animate = function() {

		var inc = 0;
		var currstep = start;
		var direction = true;
		var w = parseInt(img.width);
		var h = parseInt(img.height);

		intervalId1 = setInterval(function() {

			inc += direction ? currstep : -currstep;
			currstep = currstep < step ? currstep + start : step;

			var swidth = w + inc;
			var sheight = (h / w) * swidth;
			var scaleFactor = swidth / w;

			ctx.drawImage(img, 0, 0, swidth, sheight);

			if (scaleFactor >= scale) {

				currstep = start;
				direction = false;

			} else
				if (scaleFactor <= 1) {

					currstep = start;
					direction = true;

				}

		}, duration);

	}

	this.stop = function() {

		clearInterval(intervalId1);

	}

	this.init = function(imageid, sscale, sduration) {

		clearInterval(intervalId1);

		scale = sscale;
		duration = sduration;

		var srcimg = imageid.tagName == "IMG" ? imageid : document.getElementById(imageid);

		if (!srcimg)
			return;

		var canvas = document.createElement("CANVAS");

		if (!canvas.getContext) // Canvas is not supported
			return;

		ctx = canvas.getContext("2d");

		img.src = srcimg.src;
		img.onload = function() {

			canvas.width = this.width;
			canvas.height = this.height;

			ctx.drawImage(this, 0, 0);
			srcimg.parentNode.replaceChild(canvas, srcimg);
			animate();

		}

	}

}

