$(document).ready(function() {

	if ( $('.scrollMenu').length == 1 ) {

		//
		var slideType     = 'over'; // 'click', 'over'
		var visibleItems	= 6;
		var sMenuObj			= $('.scrollMenu');
		var sContainerObj	= sMenuObj.find('.Container');
		var sSlideObj			= sContainerObj.find('.Slide');
		var sItemObj      = sSlideObj.find('a');

		//
		var sItemWidth = 0;
		var sContainerWidth	= 0;
		var i = 1;
		var currPos = 0;
		var kier = 1;
		var slideInterval = 0;
		var lastWidth = 0;

		//
		sItemObj.first().css({ margin: '0px' });

		//
		sItemObj.each(function(s) {
			sItemWidth += $(this).width() + parseInt($(this).css('margin-left')) + parseInt($(this).css('margin-right'));

			if ( (s+1) <= visibleItems ) {
				sContainerWidth += $(this).width() + parseInt($(this).css('margin-left')) + parseInt($(this).css('margin-right'));
			}
		});

		sContainerObj.width( sContainerWidth );
		sSlideObj.width( sItemWidth );

		// ulozenie obiektow w kontenerze
		for(i=1; i<sItemObj.length; i++) {
			sItemObj.eq(i).css('left', parseInt( sItemObj.eq(i-1).css('left') )+sItemObj.eq(i-1).width()+parseInt( sItemObj.eq(i-1).css('margin-left') ) );
		}

		//
		if ( sItemObj.length > visibleItems ) {
			// obliczenie szerokosci ostatniego elementu (to mozna wywalic gdzies poza funckje i trajtwac jako stala
			lastWidth = sItemObj.eq(sItemObj.length-1).width() + parseInt( sItemObj.eq(sItemObj.length-1).css('margin-left') );

			// przesowanie na klikniecie myszki
			if ( slideType == 'click' ) {
				sMenuObj.find('.Back, .Next').click(function() {
					var tmpWidth = 0;
					var tmpWidth2 = 0;
					var j = 0;

					// warunek zeby przesowalo sie w prawo tylkokiedy kierunek jest w prawi i klikniety zostal przycisk next. Analogicznie dla przesowania w lewo
					if( ($(this).hasClass('Next') && kier == 1) || ($(this).hasClass('Back') && kier == -1) ) {
						// przesuniecie wskaznika pozycji w tablicy w odpowiednim keirunku
						currPos += kier;
						// obliczenie szerokosci elementow jaka bedzie po przsonieciu
						for(j=currPos; j<sItemObj.length; j++) {
							tmpWidth += sItemObj.eq(j).width() + parseInt( sItemObj.eq(j).css('margin-left') );
						}
						// obliczenie szerokosci elementow aktualnej (przed przesonieciem, czyli zawieraajacej element, ktory zniknie)
						tmpWidth2 = tmpWidth + sItemObj.eq(currPos-1).width() + parseInt( sItemObj.eq(currPos-1).css('margin-left') );
						// ustalenie pozycji pierwszego loga w zaleznosci od wybranego kierunku oraz okreslenie czy kierunek ma sie zmienic
						if (kier == 1) {
							if (tmpWidth >= sContainerWidth) {
								sItemObj.eq(0).css('left', parseInt( sItemObj.eq(0).css('left') ) - sItemObj.eq(currPos).width()+parseInt( sItemObj.eq(currPos).css('margin-left') ) );
							} else {
								sItemObj.eq(0).css('left', parseInt( sItemObj.eq(0).css('left') ) - (tmpWidth2 - sContainerWidth) );
								kier = -kier;
							}
						} else if (kier == -1) {
							if(tmpWidth < sItemWidth) {
								sItemObj.eq(0).css('left', parseInt( sItemObj.eq(0).css('left') ) + sItemObj.eq(currPos).width()+parseInt( sItemObj.eq(currPos).css('margin-left') ) );
							} else {
								sItemObj.eq(0).css('left', 0);
								kier = -kier;
							}
						}
						// wyznaczenie pozycji pozostalych elementow wzgledem pierwszego
						for(j=1; j<sItemObj.length; j++) {
							sItemObj.eq(j).css( 'left', parseInt( sItemObj.eq(j-1).css('left') )+sItemObj.eq(j-1).width()+parseInt( sItemObj.eq(j-1).css('margin-left') ) );
						}
					}
				});
			}

			// przesowanie na najazd myszki
			if ( slideType == 'over' ) {
				sMenuObj.find('.Back, .Next').mouseenter(function() {
					if ( $(this).hasClass('Next') ) {
						kier = -1;
					} else {
						kier = 1;
					}

					slideInterval = setInterval(function() {
						if ( kier == 1 && parseInt( sSlideObj.css('left') ) < 0 ) {
							sSlideObj.css( 'left',  parseInt( sSlideObj.css('left') ) + 4 * kier );
						}
						else if ( kier == -1 && parseInt( sSlideObj.css('left') ) > (sContainerWidth-sItemWidth) ) {
							sSlideObj.css('left',  parseInt( sSlideObj.css('left') ) + 4 * kier );
						}
					}, 15 );
				});

				sMenuObj.find('.Back, .Next').mouseleave(function() {
					clearInterval(slideInterval);
				});
			}

		}
		else {
			sMenuObj.find('.Arrows').hide();
		}

	}

});
