/* Preloader Class v1.0 Carlos R. L. Rodrigues*/

Preloader = function(){
    					var o = this;
    					o.img = [];    o.r = []; o.g = [];
    					o.n = {}; o.total = o.loaded = 0;
						};
						
Preloader.prototype.add = function(i, g){
    										var o = this, n = (o.g[o.total] = [g || "general"])[0];
    										(g = o.n)[n] >= 0 ? ++g[n] : g[n] = 1;
    										o.img[o.total++] = i;
											};
											
Preloader.prototype.load = function(){
    									var o = this, p = o.img, l = p.length, a, g = o.g;
    									while(l--){
        									(g[l][1] = a = new Image()).src = p[a.i = l];
        									a.onload = function(){
            								if(o.r[this.i]) return;
            								!--o.n[g[this.i][(o.r[this.i] = 1) - 1]] && o.onGroupComplete && o.onGroupComplete(g[this.i][0]);
            								o.onImageComplete && o.onImageComplete(this);
            								(++o.loaded == o.total) && o.onComplete && o.onComplete();
        								};
        								(a.fileSize !== undefined ? a.fileSize > -1 : a.width) && a.onload();
        								a.onerror = function(){
            													o.onImageError && o.onImageError(this);
        														}
    																}
										};
										
Preloader.prototype.getImagesByGroup = function(n){
    													var g = this.g, i = [], p = 0, n = n || "general";
    													for(var j = g.length; j; g[--j][0] == n && (i[p++] = g[j][1]));
    													return i;
													};

Preloader.prototype.getImagesByGroup = function(n){	
													 	var g = this.g, i = [], p = 0, n = n || "general"; 
														for(var j = g.length; j; g[--j][0] == n && (i[p++] = g[j][1])); 
														return i;
													  };


var to = null;
function start_slideshow(start_frame, end_frame, delay) {
	var last = end_frame;
	while (!$('slideshow' + last))
	{
		last--;
	}
	end_frame = last;
	if (to)
		clearTimeout(to);
            to = setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
        }
                                
        function switch_slides(frame, start_frame, end_frame, delay) {
            return (function() {
                Effect.Fade('slideshow' + frame);
                if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
                setTimeout("Effect.Appear('slideshow" + frame + "');", 880);
		if (to)
			clearTimeout(to)
                to = setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 880);
            })
        }

var rtTimeout = null;

