$(document).ready(function() {
 if( $( 'div#mainpage_slider' ).length ) {
  var anotherGraphics = '<img src="img/slider_giant.png" alt="" /><img src="img/slider_bayer.png" alt="" /><img src="img/slider_intersport.png" alt="" /><img src="img/slider_lavazza.png" alt="" /><img src="img/slider_lasalle.png" alt="" /><img src="img/slider_infor.png" alt="" /><img src="img/slider_wsptwp.png" alt="" /><img src="img/slider_wydawnictwa.png" alt="" /><img src="img/slider_kinga.png" alt="" />';
  if( $( 'div#mainpage_slider div.slider_item_pack img:first-child' )[0].complete ) {
   $( 'div#mainpage_slider div.slider_item_pack' ).append( anotherGraphics );
   $( 'div#mainpage_slider div' ).fadeIn( 1500, function() {
    new MAJpageSlide( $('div#mainpage_slider'), 1, true, 940 );
   } );
  }
  else {
   $( 'div#mainpage_slider div.slider_item_pack img:first-child' ).load( function() {
	$( 'div#mainpage_slider div.slider_item_pack' ).append( anotherGraphics );
	$( 'div#mainpage_slider div' ).fadeIn( 1500, function() {
	 var imageCount = $( 'div#mainpage_slider div.slider_item_pack img' ).length;
	 $( 'div#mainpage_slider div.slider_item_pack img:not(first-child)' ).each( function() {
	  $( this ).load( function() {
	   imageCount --;
	   if( imageCount == 1 ) new MAJpageSlide( $('div#mainpage_slider'), 1, true, 940 );
      } );
     } );
    } );
   } );
  }
 }
}); (jQuery);

function MAJpageSlide(sliderDom, howManyItemsScrolled, carouselActive, sliderItemWidth) {
 var self = this;
 self.time = 3700;
 self.direction = 1;
 self.handler = false;
 self.isInterval = false;
 self.sliderDom = sliderDom;
 self.carouselActive = carouselActive;
 self.howManyItemsScrolled = howManyItemsScrolled;
 self.countSliderItems = self.sliderDom.find('img').length;
 if(sliderItemWidth<1) self.sliderItemWidth = self.sliderDom.find('img').outerWidth();
  else self.sliderItemWidth = sliderItemWidth;
 self.sliderDom.find('div.slider_item_pack').css({left: 0, width: self.countSliderItems * self.sliderItemWidth + 'px'});
 if(self.countSliderItems > self.howManyItemsScrolled) self.sliderDom.find('div.next').addClass('arrow');
 self.currentSliderItem = 0;
 self.setSliderInterval = function() {
  if(self.carouselActive && !self.isInterval) {
   self.isInterval = true;
   self.handler = setInterval(function() {
    self.slide(0, false);
   }, self.time);
  }
 }
 self.clearSliderInterval = function() {
  if(self.isInterval) {
   clearInterval(self.handler);
   self.isInterval = false;
  }
 }
 self.slide = function(direction, onArrowClick) {
  var lastPosition = Math.floor((self.countSliderItems - 1) / self.howManyItemsScrolled) * self.howManyItemsScrolled;
  self.sliderDom.find('div.prev, div.next').removeClass('arrow');
  if(onArrowClick) {
   self.clearSliderInterval();
   self.direction = (direction == 1 ? 1 : - 1);
  }
  self.currentSliderItem += self.direction * self.howManyItemsScrolled;
  if(self.currentSliderItem < 0) {
   if(onArrowClick) self.currentSliderItem = 0;
    else self.currentSliderItem = lastPosition;
  }
  else if(self.currentSliderItem > lastPosition) {
   if(onArrowClick) self.currentSliderItem = lastPosition;
    else self.currentSliderItem = 0;
  }
  self.sliderDom.find('div.slider_item_pack').clearQueue().animate({left: - self.currentSliderItem * self.sliderItemWidth + 'px'}, function() {
   if(self.currentSliderItem > 0) self.sliderDom.find('div.prev').addClass('arrow');
   if(self.currentSliderItem < lastPosition) self.sliderDom.find('div.next').addClass('arrow');
   if(onArrowClick) self.setSliderInterval();
  });
 }
 self.sliderDom.find('div.prev.arrow').live('click', function() {
  self.slide(-1, true);
 });
 self.sliderDom.find('div.next.arrow').live('click', function() {
  self.slide(1, true);
 });
 self.sliderDom.mouseenter(function() {
  self.clearSliderInterval();
 });
 self.sliderDom.mouseleave(function() {
  self.setSliderInterval();
 });
 self.setSliderInterval();
}
