﻿// JavaScript Document
var oObjs_fader=new Array()

function oObjs_fader_unload() {
	for (var i=0;i<oObjs_fader.length;i++) {
		if (oObjs_fader[i].unload) {oObjs_fader[i].unload()}
	}
}
addUnLoader(oObjs_fader_unload)

function build_crossfade(a,b,c,d,e,f,g) {
	oObjs_fader[oObjs_fader.length]=new cls_crossfade(oObjs_fader.length,a,b,c,d,e,f,g)

}
function cls_crossfade(obIndx,inObj,inBase,inSrc,refIdx,inHeight,inStop,inDoFader,inUseImage,fnToClose) {
	this.obIndex=obIndx
	this.cimg=0
	this.base=inBase
	this.ext=".jpg"
	this.maximg=inSrc.length
	this.runTime=50
	this.stopTime=(inStop==undefined)?2000:inStop
	this.doFader=(inDoFader==undefined)?true:inDoFader
	this.useImage=(this.doFader)?false:((inUseImage==undefined)?false:inUseImage)
	this.autoStop=true
	this.autoref=refIdx
	if (this.autoref!=undefined) {
		var oref=$(this.autoref)
		if (oref) {
			var vref=$t(oref,"a")
			for (var i=0;i<vref.length;i++) {
				if (vref[i].innerHTML=="\u25cf") {this.cimg=i;this.autoStop=false}	
			}
		}
	}
	this.baseHeight=(inHeight==undefined)?"":(inHeight+"")
	this.opa=100
	this.multiloop=true
	this.pr=10
	this.images=new Array()
	this.vcimg=inSrc
	this.oExt=$b("div")
	this.oExt.className="crossfade"
	inObj.appendChild(this.oExt)
	if (this.useImage) {
		this.oExt.style.textAlign="center"
		this.oInt=$b("img")
		if (fnToClose!=undefined) {$ae(this.oExt,"click",fnToClose)}
	} else {
		this.oInt=$b("div")
		if (fnToClose!=undefined) {$ae(this.oInt,"click",fnToClose)}
	}
	this.oInt.className="crossfade"
	this.oExt.appendChild(this.oInt)
	this.clock=0
	
	this.nfoto=null
	this.pfoto=null
	if (!this.autoStop) {
		this.nfoto=$b("div")
		this.nfoto.className="scorri nextfoto"
		//this.nfoto.innerHTML=">>"
		inObj.appendChild(this.nfoto)
		$ae(this.nfoto,"click",nextFoto)
		this.pfoto=$b("div")
		this.pfoto.className="scorri prevfoto"
		//this.pfoto.innerHTML="<<"
		inObj.appendChild(this.pfoto)
		$ae(this.pfoto,"click",prevFoto)
	}
	
	
	this.postInit2=function postInit2() {
		this.maximg=this.vcimg.length-1
		for (var i=0;i<=this.maximg;i++) {
			var ci=new Image()
			ci.src=this.base+this.vcimg[i]+this.ext
			this.images[i]=ci
		}
		if (this.oInt) {
			if (this.useImage) {
				this.oInt.src=this.base+this.vcimg[this.cimg]+this.ext
			} else {
				this.oInt.style.backgroundImage="url("+this.base+this.vcimg[this.cimg]+this.ext+")"
				if (this.baseHeight!="") {this.oInt.style.height=this.baseHeight+"px"}
			}
		}
		var ni=this.cimg+1
		ni=(ni<this.vcimg.length)?ni:0
		if (this.oExt) {this.oExt.style.backgroundImage="url("+this.base+this.vcimg[ni]+this.ext+")"}
		if (this.oExt&&this.oInt) {this.vcimg=null;this.clock=setTimeout("oObjs_fader["+this.obIndex+"].prerun()",10)}
	}
	this.postInit2()

	this.prerun=function prerun() {
		var ok=true
		for(var i=0;i<this.images.length;i++) {
			if (!this.images[i].complete) {ok=false}
		}
		if(ok) {
			var nt=this.stopTime-this.pr
			if (nt<10) {nt=10}
			if (this.autoStop) {this.clock=setTimeout("oObjs_fader["+this.obIndex+"].run()",nt)}
		} else {
			this.pr+=10
			this.clock=setTimeout("oObjs_fader["+this.obIndex+"].prerun()",10)
		}
	}

	this.run=function run() {
		if (this.doFader) {
			this.opa--
			this.opa--
			if (this.opa<1) {this.opa=1}
			this.oInt.style.opacity=(this.opa/100);this.oInt.style.filter="alpha(opacity="+this.opa+")"
			if (this.opa==1) {
				if (this.multiloop) {
					this.cimg=(this.cimg<this.maximg)?(this.cimg+1):0
					var nstagione=(this.cimg<this.maximg)?(this.cimg+1):0
					this.oInt.style.backgroundImage="url("+this.images[this.cimg].src+")"
					this.opa=99
					this.oInt.style.opacity=(this.opa/100)
					this.oInt.style.filter="alpha(opacity="+this.opa+")"
					this.oExt.style.backgroundImage="url("+this.images[nstagione].src+")"
					if (this.autoStop) {this.clock=setTimeout("oObjs_fader["+this.obIndex+"].run()",this.stopTime)}
				} else {
					if (this.cimg<this.maximg) {
						this.cimg++
						this.oInt.style.backgroundImage="url("+this.images[this.cimg].src+")"
						this.opa=99
						this.oInt.style.opacity=(this.opa/100)
						this.oInt.style.filter="alpha(opacity="+this.opa+")"
						this.oExt.style.backgroundImage="url("+this.images[this.cimg].src+")"
						if (this.cimg<this.maximg) {this.clock=setTimeout("oObjs_fader["+this.obIndex+"].run()",this.stopTime)}
					}
				}
			} else {
				this.clock=setTimeout("oObjs_fader["+this.obIndex+"].run()",this.runTime)
			}
		} else {
			this.cimg=(this.cimg<this.maximg)?(this.cimg+1):0
			if (this.useImage) {
				this.oInt.src=this.images[this.cimg].src
			} else {
				this.oInt.style.backgroundImage="url("+this.images[this.cimg].src+")"
			}
		}
	}
	this.halt=function halt() {
		clearTimeout(this.clock)	
	}
	this.rerun=function rerun() {
		this.opa=100
		this.pr=10
		this.cimg=0
		this.oInt.style.opacity=(this.opa/100);this.oInt.style.filter="alpha(opacity="+this.opa+")"
		this.postInit2()
	}
	this.ricarica=function ricarica(inBase,inSrc) {
		clearTimeout(this.clock)
		this.base=inBase
		this.maximg=inSrc.length
		this.vcimg=inSrc
		this.opa=100
		this.pr=10
		if (this.autoStop) {
			this.cimg=0
		} else {
			var oref=$(this.autoref)
			if (oref) {
				var vref=$t(oref,"a")
				for (var i=0;i<vref.length;i++) {
					if (vref[i].innerHTML=="\u25cf") {this.cimg=i;this.autoStop=false}	
				}
			}
		}
		this.oInt.style.opacity=(this.opa/100);this.oInt.style.filter="alpha(opacity="+this.opa+")"
		this.postInit2()
	}
	
	this.unload=function unload() {
		clearTimeout(this.clock)
		this.oInt=null
		this.oExt=null
		this.images=null
	}
}

