
  var client = {
  logos_dir : 'images/logotyps/',
  logos : new Array('fm_small.jpg','handsome.jpg','logoC4U.jpg','logopozytywnie.jpg','logo_szafranowedomy.jpg','dentimlogos(1) [800x600].jpg','kematerm [800x600].jpg','mk [800x600].jpg','zagajnik [800x600].jpg','logowidok [800x600].jpg','pastel logo(1) [800x600].jpg','moje-kolory_2 [800x600].jpg','wpasja(1) [800x600].jpg','pelnias.jpg','structura [800x600].jpg','gwiazdydlakacpra [800x600].jpg','lwice [800x600].jpg','kierunek [800x600].jpg','szczeniaczkowo [800x600].jpg'),
prev_logos : new Array(0,1,2,3,4),
    offset : 0,
    client_box : '',
    clients_in_box : 5,
    counter : 0,
    switch_time: 10,
    fade_duration : 2500,
    fadeout_duration : 1000,
    ico_iterval : 1000,
    fade_steps : 20,
    lock:false,
    
    init : function(client_box_id) {
        if ((client.client_box = document.getElementById(client_box_id)) &&
            true
        ) {
            
            client.prev_logos = new Array();
            for(var i=0; i<client.clients_in_box; i++) 
            {
               setTimeout("client.add_logo('"+i+"')", client.ico_iterval*i);
            }
            
            client.offset = client.clients_in_box;
            client.handler();
            client.enableLock();
        } else {
            client_box = false;
        }
        setTimeout("client.disableLock()", client.ico_iterval*i);
    },

    next : function() {
        if (!client.client_box) return false;
        
        var count = 0;
        var delay_i = 0;
        var offset = 0;
        if ((client.offset+client.clients_in_box)>client.logos.length) {
            count = client.logos.length;
            offset = 0;
        } else {
            count = client.offset+client.clients_in_box;
            offset = client.offset+client.clients_in_box;
        }
       if (client.lock == false) {
                client.client_box.innerHTML = ''; 
                client.prev_logos = new Array(); 
				
                for(var i=client.offset; i<count; i++) 
                {
                setTimeout("client.add_logo('"+i+"')", client.ico_iterval*delay_i);
                delay_i++;
                }
                if ((client.offset + client.clients_in_box) == client.logos.length) {
                        client.offset = 0;
                } else {
                        client.offset = offset;
                }
                client.counter = 0;

                client.enableLock();
        }
        setTimeout("client.disableLock()", client.ico_iterval*delay_i);
    },
    previous : function() {
        if (!client.client_box) return false;
        
        var count = 0;
        var delay_i = 0;
        var offset = 0;
        if ((client.offset-(2*client.clients_in_box))>0) {
            count = client.offset;
            offset = client.offset-(2*client.clients_in_box);
            client.offset = client.offset-client.clients_in_box;
        } else {
            count = client.clients_in_box;
            offset = 0;
            client.offset = client.clients_in_box;
        }
        if (client.lock == false) {
                client.client_box.innerHTML = '';
                client.prev_logos = new Array();
                        
                for(var i=offset; i<count; i++) 
                {
                setTimeout("client.add_logo('"+i+"')", client.ico_iterval*delay_i);
                delay_i++;
                }
        }
        setTimeout("client.disableLock()", client.ico_iterval*delay_i);
        client.counter = 0;
        
    },
        
    show_next: function() {
        if (client.lock == false) {
                client.enableLock();
                for(var i=0; i<client.prev_logos.length; i++) 
                {
                client.fadeOut('logo_'+client.prev_logos[i]);
                }
                setTimeout('client.disableLock()', client.fadeout_duration);
                setTimeout('client.next()', client.fadeout_duration);
                
                client.counter = 0;
        }
    },
    
    show_previous : function() {
        if (client.lock == false) {
                for(var i=0; i<client.prev_logos.length; i++) 
                {
                client.fadeOut('logo_'+client.prev_logos[i]);
                }
                setTimeout('client.previous()', client.fadeout_duration);
                
                client.counter = 0;
        }
    },
    
    add_logo: function(logo_index) {
        var logo_box = document.createElement('DIV');
        logo_box.className = 'outer';
        logo_box.id        = 'logo_'+logo_index;
        var logo = document.createElement('IMG');
        logo.alt       = '';
        logo.src       = client.logos_dir+client.logos[logo_index];
        logo.id        = "logo_"+logo_index;
        logo_box.appendChild(logo);
        client.client_box.appendChild(logo_box);
        client.fadeIn('logo_'+logo_index);
        client.prev_logos.push(logo_index);
    },
    
    handler: function() {
        if (client.counter>client.switch_time) {
            client.show_next();
            client.counter = 0;
        }
        client.counter++;
        setTimeout('client.handler()', 1000)
    },
    
    setOpacity : function(element_id, level) {
      if (element = document.getElementById(element_id)) {
          element.style.opacity = level;
          element.style.MozOpacity = level;
          element.style.KhtmlOpacity = level;
          element.style.filter = "alpha(opacity=" + (level * 100) + ")";
      }
    },
    
    fadeOut : function(element_id) {
        for (i = 0; i <= 1; i += (1 / client.fade_steps)) {
            setTimeout("client.setOpacity('"+element_id+"'," + (1 - i) + ")", i * client.fadeout_duration);
        }
    },
    
    fadeIn: function(element_id) {
        for (i = 0; i <= 1; i += (1 / client.fade_steps)) {
            setTimeout("client.setOpacity('"+element_id+"'," + i + ")", i * client.fade_duration);
          }
    },
    
    enableLock: function() {
        if (client.lock == false) client.lock = true;
        //alert('enabling lock');
    },

    disableLock: function() {
        if (client.lock == true) client.lock = false;
        //alert('disabling lock');
    }

}

window.onload = function() {
        client.init('logotyps');
}
  
  