/*******************************************************************************

Copyright Juan Trujillo Tarradas

Use freely if you want but please give me credit (Juan Trujillo) and a link to http://jtrujillo.net


********************************************************************************/

var units=new Array();		// "Aguanta unit"

//----------------------------------------------
function switchImages(id,ticks1,ticks2,variability){		

var unit=new Unit(id,ticks1,ticks2,variability);

var dv=document.getElementById("div_"+id);
if (navigator.appVersion.indexOf("MSIE")>0){
    dv.style.display="none";
}

var img=document.getElementById("img1_"+id);
unit.img1=img;

img.onload=function(){imgLoaded(unit)};

var img2=document.getElementById("img2_"+id);
unit.img2=img2;


img2.onload=function(){imgLoaded(unit);}

setOpacity(unit.img1,1);
setOpacity(unit.img2,0);
unit.opacity=0;


}
//------------------------------------
function Unit(id,ticks1,ticks2,variability){		// Aixo aguanta parella imatges blend

this.id=id;			// Id numeric unic durant tota la pagina		

this.nLoaded=0;			// cuantes de les imatges s'han acabat de carregar

this.ticks1=5000;
if (ticks1>0)
    this.ticks1=ticks1;
this.ticks2=1000;
if (ticks2>0)
    this.ticks2=ticks2;
    
this.variability=40;
if (variability>0)
    this.variability=variability;

this.nPass=0;
    
units[id+""]=this;

}
//------------------------------------
function calcTime(unit,ordImg){

var ticks=ordImg == 0 ? unit.ticks1 : unit.ticks2;

var variable=ticks*unit.variability/100.*Math.random();
var sign=Math.random()<.5 ? 1: -1;

var ticks=ticks + (variable * sign);


return ticks;
}
//--------------------------------
function imgLoaded(unit){

unit.nLoaded++;
if (unit.nLoaded==2){

	var dv=document.getElementById("div_"+unit.id);
	dv.style.display="block";
	dv.style.opacity=1;
	//setOpacity(dv,1);		//MSIE si un div transparent les imatges no ho son :O

	var dv2=document.getElementById("frameFading");
	dv2.style.backgroundImage="none";						// El gift animat que no corri (CPU?)


    unit.tm=function(){tick(unit);}
    unit.currImage=0;    

    setTimeout(unit.tm,calcTime(unit,unit.currImage));
    
}
}
//----------------------------------------------------------------
function tick(unit){

if (unit.currImage==0){
    unit.currImage=1;
    setOpacity(unit.img2,1);
}
else{
    unit.currImage=0;
    setOpacity(unit.img2,0);
}    

setTimeout(unit.tm,calcTime(unit,unit.currImage));

unit.nPass++;

}
//---------------------------------------------------------------
function setOpacity(obj,opacity){

if(opacity>1) 
   opacity =1;

obj.style.opacity = opacity;
obj.style.MozOpacity = opacity;
obj.style.filter = "alpha(opacity=" + (opacity*100) + ")";
}

