$(document).ready(function() { 
	setupTiptip();
	// setupClicking();
	setupPointerMoving();
	setupSmoothScrolling();
	setupSlider();	
});


// helpers

function setupTiptip(){
	$(function(){
		$(".photo").tipTip({
			delay: 200,
			defaultPosition: 'top'
		});
	})

	$(function(){
		$(".bottom-photo").tipTip({
			delay: 200,
			defaultPosition: 'bottom'					
		});
	})
};


function setupPointerMoving(){
	$(window).scroll(function(){
		$.each(['#promo', '#what', '#how', '#done', '#team', '#contact'], function(i,val){
			if ( isScrolledIntoView(val + '-section') ){
				actOnScroll(val);
			};
		});								
	});
};


function actOnScroll(scroll_section){

	var item = $("#top-menu a[href='" + scroll_section + "']" );

	if (item.length == 0){ // logo 
		$(".selected").removeClass('selected');				
		movePointer($("#logo").children('a'));
	}
	else{
		selectTopMenu(item);
		movePointer(item);				
	}			
};

function selectTopMenu(item){
	$(".selected").removeClass('selected');
	$(item).addClass('selected');
};


function movePointer(item){
	$('.pointer').insertAfter($(item));	
};


// function setupClicking(){
// 	$("a[href*=#]").click(function(event){
// 		event.preventDefault();
// 
// 		selectTopMenu(this);
// 		scrollToSection(this);
// 	});
// };


// function scrollToSection(clicked_item){
// 	var scrollToPos = $(clicked_item).attr("href");
// 	if (scrollToPos == ""){ scrollToPos = '0'; }
// 	$.scrollTo(scrollToPos);
// };


function isScrolledIntoView(elem){
	var docViewTop = $(window).scrollTop();
	var elemTop = $(elem).offset().top;
	var tolerance = 300 // im większa, tym szybciej przeskoczy pointer

	return ((docViewTop + tolerance) >= elemTop);
};



// http://css-tricks.com/snippets/jquery/smooth-scrolling/
function setupSmoothScrolling(){
  var locationPath = filterPath(location.pathname);
  var scrollElem = scrollableElement('html', 'body');

  $('a[href*=#]').each(function() {
    var thisPath = filterPath(this.pathname) || locationPath;
    if (  locationPath == thisPath && (location.hostname == this.hostname || !this.hostname) && this.hash.replace(/#/,'') ) {
      var $target = $(this.hash), target = this.hash;
      if (target) {
        var targetOffset = $target.offset().top;
        $(this).click(function(event) {
          event.preventDefault();
					// selectTopMenu(this); // mój dodatek
          $(scrollElem).animate({scrollTop: targetOffset}, 400, function() {
            location.hash = target;
          });
        });
      }
    }
  });
};

function filterPath(string) {
  return string.replace(/^\//,'').replace(/(index|default).[a-zA-Z]{3,4}$/,'').replace(/\/$/,'');
};


// use the first element that is "scrollable"
function scrollableElement(els) {
  for (var i = 0, argLength = arguments.length; i <argLength; i++) {
    var el = arguments[i],
        $scrollElement = $(el);
    if ($scrollElement.scrollTop()> 0) {
      return el;
    } else {
      $scrollElement.scrollTop(1);
      var isScrollable = $scrollElement.scrollTop()> 0;
      $scrollElement.scrollTop(0);
      if (isScrollable) {
        return el;
      }
    }
  }
  return [];
};


/*slider*/
function setupSlider(){
  $(function(){
	  var slider = $('#slides').bxSlider({
	      controls: false,
	      infiniteLoop: true,
	      pager: true,
	      speed: 500,
	      mode: 'horizontal',
	      auto: true,
	  });
      
	  $('#bx-prev').click(function() {
	      slider.goToPreviousSlide();
	      return false;
	  });
  
	  $('#bx-next').click(function() {
	      slider.goToNextSlide();
	      return false;
	  });             
  });
};


