//rotator obrazow. http://zsyp.pl
//darecki

function Rotation(){
this.settings = new Array();
this.settings['pos'] = 0;
this.settings['timers'] = 0;
this.settings['preLoad'] = Array();
this.settings['pic'] = Array();
this.settings['surl'] = Array();
this.settings['fadeStarted']=0;
this.settings['fadeTime']=400;
this.settings['fadeSpeed']= Math.round(this.settings['fadeTime'] / 100);
this.settings['roto']= "dz_Rotation";
this.settings['imgSrc'] = '';
};
Rotation.prototype.init = function(key,settings){
this.settings[key] = settings;
};
Rotation.prototype.TransStart = function(){
if(this.settings.fadeStarted == 0){
this.fadeTrans();
}};
Rotation.prototype.fadeTrans = function(){
if(this.settings.fadeStarted == 0){
this.settings.fadeStarted = 1;
this.opacity(100,0);
setTimeout(this.settings.roto+".fadeTrans()",this.settings.fadeTime);
}else{
document.getElementById(this.settings.loadID).style.backgroundImage = "url("+this.settings.imgSrc+")";
this.opacity(0, 100);setTimeout(this.settings.roto+".TransComplete()",this.settings.fadeTime);
}
};
Rotation.prototype.TransComplete = function(){
this.settings.fadeStarted = 0;
};
Rotation.prototype.opacity = function(opcStart, opcEnd){
var timer = 0;
if(opcStart > opcEnd){
for(i = opcStart; i >= opcEnd; i--){
setTimeout(this.settings.roto+".changeOpac(" + i + ")",(timer * this.settings.fadeSpeed));timer++;
}
}else if(opcStart < opcEnd){
for(i = opcStart; i <= opcEnd; i++){
setTimeout(this.settings.roto+".changeOpac(" + i + ")",(timer * this.settings.fadeSpeed));
timer++;
}
}
return true;
};
Rotation.prototype.changeOpac = function(opacity){
var object = document.getElementById(this.settings.loadID).style;
object.opacity = (opacity / 100);
object.MozOpacity = (opacity / 100);object.KhtmlOpacity = (opacity / 100);
object.filter = "alpha(opacity=" + opacity + ")";
};
Rotation.prototype.preloadImg = function(src){
if(!this.settings.preLoad[src]){
var img=new Image();
img.src = "uploads/katalog/rotation/thumb/tn_"+src;
this.settings.preLoad[src] = img;
}else img = this.settings.preLoad[src];
this.settings.imgSrc = img.src;
};
Rotation.prototype.loadPics = function(){
this.settings.pos = this.settings.pos + 1 >= this.settings.pic.length? 0: this.settings.pos + 1;

this.preloadImg(this.settings.pic[this.settings.pos]);
this.TransStart();
document.getElementById(this.settings.loadID).onclick= function(){location.href = dz_Rotation.settings.surl[dz_Rotation.settings.pos];}
clearInterval(this.settings.timers);
this.settings.timers = setInterval(this.settings.roto+".loadPics()",4000) ;
};

