
  var home = new function() {

    var my_glider = null;
    var my_glider2 = null;

    var offersDelay = 10000;
    var offersTimeoutId = null;
    var offersPanels = new Array();
    var currentOfferPanel = 0;

    var posterDelay = 7000;
    var posterTimeoutId = null;
    var posters = new Array();
    var currentPoster = 0;

    var bullets = new Array();

    /*
    @public
    */
    this.init = function() {

      posters = $$('#poster .posterImage');
      offersPanels = $$('.offerPanel');

      if(offersPanels.length > 1) {
        offersTimeoutId = window.setTimeout(handleTimeout, offersDelay);

        $$('.offerPanel').each(function(elm) {

          if(Prototype.Browser.IE) {
            elm.observe('mouseenter', handleMouseOver);
            elm.observe('mouseleave', handleMouseOut);
          }
          else {
            elm.observe('mouseover', handleMouseOver);
            elm.observe('mouseout', handleMouseOut);
          }
        });
      }

      if(posters.length > 1) {

        var bulletX = 10;
        var bulletY = $('poster').getHeight() - 25;
        var spacing = 3;
        var slideCounter = 0;

        posters.each(function(elm) {
          var bullet = new Element('DIV');

          bullet.className = (bulletX == 10? 'slideBulletActive' : 'slideBulletInactive');
          bullet.style.left = bulletX + 'px';
          bullet.style.top  = bulletY + 'px';
          bulletX = bulletX + spacing + 19;
          $('poster').appendChild(bullet);

          var i = slideCounter;
          bullet.observe('click', function() {
            advanceSlide(i);
          });
          slideCounter++;

          bullets[bullets.length] = bullet;
        });

        posterTimeoutId = window.setTimeout(handlePosterTimeout, posterDelay);
      }
    }

    function handleMouseOver(e) {

      window.clearTimeout(offersTimeoutId);

      /*
      if(!Prototype.Browser.IE) {
        e.stopPropagation();
        return false;
      }
      */
    }

    function handleMouseOut(e) {

      offersTimeoutId = window.setTimeout(handleTimeout, offersDelay);

      /*
      if(!Prototype.Browser.IE) {
        e.stopPropagation();
        return false;
      }
      */
    }

    function handleTimeout() {

      // Hide current panel
      Effect.Fade($$('#homeOffersLogo img')[currentOfferPanel], {duration: 1});
      Effect.Fade(offersPanels[currentOfferPanel], {duration: 1});

      if(currentOfferPanel < offersPanels.length-1) {
        currentOfferPanel++;
      }
      else {
        currentOfferPanel = 0; // Restart
      }

      Effect.Appear($$('#homeOffersLogo img')[currentOfferPanel], {duration: 1, delay: 1.1});
      Effect.Appear(offersPanels[currentOfferPanel], {duration: 1, delay: 1.1});

      offersTimeoutId = window.setTimeout(handleTimeout, offersDelay);
    }

    function handlePosterTimeout() {

      bullets[currentPoster].className = 'slideBulletInactive';

      // Hide current poster
      Effect.Fade(posters[currentPoster], {duration: 0.5});

      if(currentPoster < posters.length-1) {
        currentPoster++;
      }
      else {
        currentPoster = 0; // Restart
      }

      bullets[currentPoster].className = 'slideBulletActive';

      Effect.Appear(posters[currentPoster], {duration: 0.5, delay: 0});
      posterTimeoutId = window.setTimeout(handlePosterTimeout, posterDelay);
    }

    function advanceSlide(slideIndex) {
      bullets[currentPoster].className = 'slideBulletInactive';
      posters[currentPoster].hide();
      currentPoster = slideIndex;
      posters[currentPoster].show();
      bullets[currentPoster].className = 'slideBulletActive';
      window.clearTimeout(posterTimeoutId);
      posterTimeoutId = window.setTimeout(handlePosterTimeout, posterDelay);
    }
  }

  Event.observe(window, 'load', home.init);