(function($) {

	$.fn.spasticNav = function(options) {
	
		options = $.extend({
			overlap : 5,
			speed : 400,
			reset : 1000,
			color : '#FFBF00',
			easing : 'easeOutExpo'
		}, options);
	
		return this.each(function() {
		
		 	var nav = $(this),
		 		currentPageItem = $('.active, .active-trail', nav),
		 		blob,
		 		reset;
		 		
      if (!currentPageItem.length) {
        currentPageItem = $('.first', nav);
      }
        
		 	$('<li id="blob"></li>').css({
		 		width : currentPageItem.outerWidth(),
		 		height : currentPageItem.outerHeight() + options.overlap,
		 		left : currentPageItem.position().left,
		 		top : currentPageItem.position().top - options.overlap / 2,
		 		backgroundColor : options.color
		 	}).appendTo(this);
		 	
		 	blob = $('#blob', nav);
		 	
			$('li:not(#blob)', nav).hover(function() {
				// mouse over
				clearTimeout(reset);
				blob.animate(
					{
						left : $(this).position().left,
						width : $(this).width()
					},
					{
						duration : options.speed,
						//easing : options.easing,
						queue : false
					}
				);
			}, function() {
				// mouse out	
				reset = setTimeout(function() {
					blob.animate({
						width : currentPageItem.outerWidth(),
						left : currentPageItem.position().left
					}, options.speed)
				}, options.reset);
	
			});
		
		}); // end each
	
	};

})(jQuery);;
(function ($) {
  
$.fn.dancefirstSlider = function(prev, next){
	var sliderList = $(this).children();
  
	if (sliderList.children().length) {
		var increment = sliderList.children().outerWidth('true'),
		elmnts = sliderList.children(),
		numElmts = elmnts.length,
		sizeFirstElmnt = increment,
		shownInViewport = Math.round($(this).width() / sizeFirstElmnt),
		firstElementOnViewPort = 1,
		isAnimating = false;
		
    if (numElmts <= shownInViewport) {
      prev.hide();
      next.hide();
      return;
    }
    
		for (i = 0; i < shownInViewport; i++) {
			sliderList.css('width',(numElmts+shownInViewport)*increment + increment + "px");
			sliderList.append($(elmnts[i]).clone());
		}

		prev.click(function(e){
			if (!isAnimating) {
				if (firstElementOnViewPort == 1) {
					sliderList.css('left', '-' + (numElmts * sizeFirstElmnt) + 'px');
					firstElementOnViewPort = numElmts;
				}	else {
					firstElementOnViewPort--;
				}
				sliderList.animate({
          //left: (parseInt(sliderList.css('left')) + increment) + 'px',
					left: '+=' + increment,
					queue: true
				}, 'swing', function(){isAnimating = false;});
				isAnimating = true;
			}
      e.preventDefault();
		});
		
		next.click(function(e){
			if (!isAnimating) {
				if (firstElementOnViewPort > numElmts) {
					firstElementOnViewPort = 2;
					sliderList.css('left', '0px');
				}	else {
					firstElementOnViewPort++;
				}
				sliderList.animate({
					left: '-=' + increment,
					queue: true
				}, 'swing', function(){isAnimating = false;});
				isAnimating = true;
			}
      e.preventDefault();
		});
    
	}
};

})(jQuery);

;
(function ($) {

Drupal.behaviors.dancefirst_basic = {
  attach: function (context, settings) {

    // spasticNav
    var menu = $('#primary');
    /*var menu_items = menu.children();
    menu_items.width(Math.floor(100 / menu_items.length) + '%');*/
    menu.spasticNav();
    

    // collapsible subsciptions
    $('.view-timetable .views-field-field-subs .views-label').click(function(){
      $(this).next().slideToggle('fast', function(){
        $(this).parent().toggleClass('views-field-field-subs-collapsed');
      });
    });

    // news slider
    var newsSlider = $('#block-views-news-block_1 .view-news');
    if (newsSlider.length) {
      var newsSliderPrev = $('<a class="news-slider-ctrl news-slider-ctrl-prev" href="#">&lt;</a>');
      var newsSliderNext = $('<a class="news-slider-ctrl news-slider-ctrl-next" href="#">&gt;</a>');
      newsSlider.find('.more-link').appendTo(newsSlider.parent());
      newsSlider.parent().append(newsSliderPrev).append(newsSliderNext);
      newsSlider.dancefirstSlider(newsSliderPrev, newsSliderNext);
    }
    
    // front slider
    var frontSlider = $('#block-system-main .view-front');
    if (frontSlider.length) {
      var frontSliderPrev = $('<a class="front-slider-ctrl front-slider-ctrl-prev" href="#">&lt;</a>');
      var frontSliderNext = $('<a class="front-slider-ctrl front-slider-ctrl-next" href="#">&gt;</a>');
      $('#main').append(frontSliderPrev).append(frontSliderNext);
      frontSlider.find('.item-list').dancefirstSlider(frontSliderPrev, frontSliderNext);
    }
  }
}

})(jQuery);

;

