n = (document.layers) ? 1:0;
ie = (document.all) ? 1:0;

for (var i=0;i<=12;i++) preload('foto'+i);

function init() {
	numImgAnim = new GifAnim('numDiv','numImg','foto',12,1700,2);
	numImgAnim1 = new GifAnim('numDiv','numImg1','foto',12,1700,1);
	numImgAnim2 = new GifAnim('numDiv','numImg2','foto',12,1700,0);
	//document.write(new GifAnim('numDiv','numImg','num',5,200));
}

function preload() {
	init();
	for (var i=0; i<arguments.length; i++) {
		eval(arguments[i]+' = new Image()');
		eval(arguments[i]+'.src = "immagini/foto/'+arguments[i]+'.jpg"');
	}
}

function changeImage(layer,imgName,imgObj) {
	if (n && layer!=null) eval('document.'+layer+'.document.images["'+imgName+'"].src = '+imgObj+'.src');
	else document.images[imgName].src = eval(imgObj+".src");
}

function GifAnim(layer,imgName,imgSeries,end,speed,startFrame) {
	this.layer = layer;
	this.imgName = imgName;
	this.frame = new Array();
	for (var i=0; i<=end; i++) this.frame[i] = imgSeries+i;
	this.end = end;
	this.speed = speed;
	this.active = false;
	this.count = (startFrame)? startFrame : 0;
	this.obj = imgName + "Object";
	eval(this.obj + "=this");
	this.play = GifAnimPlay;
	this.run = GifAnimRun;
	this.stop = GifAnimStop;
	this.goToFrame = GifAnimGoToFrame;
}
function GifAnimPlay(loop,reset,fn) {
	if (!this.active) {
		this.active = true;
		if (!loop) loop = false;
		if (!reset) reset = false;
		if (!fn) fn = null;
		this.run(loop,reset,fn);
	}
}

function GifAnimRun(loop,reset,fn) {
	if (this.active && this.count <= this.end) {
		changeImage(this.layer,this.imgName,this.frame[this.count]);
		this.count += 1;
		setTimeout(this.obj+".run("+loop+","+reset+",\""+fn+"\")",this.speed);
	}
	else {
		if (loop && this.active) {
			this.count = 0;
			this.run(loop,reset,fn);
		}
		else {
			this.active = false;
			if (reset) this.goToFrame(0);
			eval(fn);
		}
	}
}
function GifAnimStop() {
	this.active = false;
}
function GifAnimGoToFrame(index) {
	this.count = index;
	changeImage(this.layer,this.imgName,this.frame[this.count]);
}


