function CImageShow(instance, imagesId) {
        this.instance = instance;
        this.current = null;
        this.rotating = true;
        this.clicked = false;
	this.images = document.getElementById(imagesId).getElementsByTagName("div");
}

CImageShow.prototype.getImageId = function(obj) {
  return obj.id.charAt(obj.id.length-1);
}
CImageShow.prototype.rotate = function(id) {

        if (this.rotating) {
        		
            var oldId = this.current;
            this.current++;
            if (this.current>this.images.length) this.current = 1;
            var newId = this.current;

            this.changeOpac(0, newId);
            this.zIndex(newId, 2);
            this.zIndex(oldId, 3);

            for (var x=1;x<=this.images.length; x++) {
               if (x!= newId && x!= oldId) this.zIndex(x,1);
            }
            var delay = DELAYS[id-1];
            
            this.changeOpac(100, newId);
            setTimeout(this.instance+".timeOutOpac(100, "+oldId+", 50);",delay);
        }    
}

CImageShow.prototype.show = function(id) {
        this.rotating = false;
        this.zIndex(id,2);
        this.changeOpac(100, id);
        this.current = id;
        for (var x=1;x<=this.images.length; x++) {
            if (x!=id) this.zIndex(x,1); 
        }
}
CImageShow.prototype.zIndex = function(id, index) {
        this.images[id-1].style.zIndex = index;
}
CImageShow.prototype.changeOpac = function(opacity, id) {
    var object = this.images[id-1];
    this.changeOpacity(opacity, object);
}
CImageShow.prototype.changeOpacity = function(opacity, object) {
    var st = object.style;
    var value = opacity / 100;
    st.opacity = value;
    st.MozOpacity = value;
    st.KhtmlOpacity = value;
    st.filter = "alpha(opacity=" + opacity + ")";    
} 
CImageShow.prototype.timeOutOpac = function(opacity, id, time) {
    if (this.rotating == id) {
        
        if (time>0 && opacity>0) {
            this.changeOpac(opacity,id);
            setTimeout(this.instance+".timeOutOpac("+(opacity-10)+","+id+","+(time-10)+")", 20);
        }  else {
            this.rotating = this.current;
            this.zIndex(id,1);
            this.rotate(id);
        }  
    }    
}