$(function() {
  for (var i=0; i < $('.facility_image_set').length; i++) {
    $($('.facility_image_set')[i]).attr('id', i);
    $($('#facility_nav a')[i]).addClass(''+i);
  };
  
  for (var j=0; j<$('.facility_image_set img').length; j++) {
    $($('.facility_image_set img')[j]).addClass(''+j)
  }
  
  $('.single_description').css('display', 'none');
  $('.facility_image_set img').css({'display': 'block', 'opacity': 0});
  $('.facility_image_set').css('display', 'block');
  $($('.single_description')[0]).css('display', 'block');
  $($('.facility_image_set')[0]).children('img').eq(0)
    .attr('id', 'current')
    .css('opacity', 1)
  
  function slideShow() {
    var getCurrNum = $('.facility_image_set img#current').parent().attr('id'),
      currImgSet = $('.facility_image_set#'+getCurrNum+' img'),
      imgIndex = $('.facility_image_set img#current').index(),
      prevImg = $('.facility_image_set img#current'),
      fadeDur = 1000,
      nextNum,
      nextImg;
    if(currImgSet.length !== imgIndex+1) {
      nextImg = parseInt(prevImg.attr('class'))+1;
      prevImg.stop().fadeTo(fadeDur, 0, function() {
        $($('.facility_image_set img')[nextImg]).fadeTo(fadeDur, 1, function() {
          prevImg.attr('id', '');
          $(this).attr('id', 'current');
        });
      });
    } else {
      if(parseInt(getCurrNum) + 1 === $('.facility_image_set').length) {
        nextNum = 0;
        nextImg = 0;
      } else {
        nextNum = parseInt(getCurrNum) + 1;
        nextImg = parseInt(prevImg.attr('class'))+1;
      }
      prevImg.fadeTo(fadeDur, 0, function() {
        $('.single_description').css('display', 'none');
        $($('.single_description')[nextNum]).css('display', 'block');
        $('#facility_nav a.selected').removeClass('selected');
        $($('#facility_nav a')[nextNum]).addClass('selected');
        $($('.facility_image_set img')[nextImg]).fadeTo(fadeDur, 1, function() {
          prevImg.attr('id', '');
          $(this).attr('id', 'current');
        });
      });
    }  
  }
  
  var x = 0;
  
  $('#image_loc').at_intervals(function() {
    if(x>0) {
      slideShow();
    }
    x++;
  }, {delay: 5000, name: "slideShow"});
  
  $('#slide_show_controller a').click(function() {
    if($(this).attr('class') == 'play') {
      $('#image_loc').data("slideShow").should_pause = true;
      $(this).attr('class', 'pause');
    } else if($(this).attr('class') == 'pause') {
      $('#image_loc').data("slideShow").should_pause = false;
      $(this).attr('class', 'play');
    }
  });
  
  $('#image_loc').data("slideShow").should_pause = true;
  
  $('#facility_nav a').click(function() {
    if(/(selected)/.test($(this).attr('class'))) {
    } else {
      var getPrevPos = $('#facility_nav a.selected').attr('class').replace(/[^0-9]{1,}/, ''),
        getThisClass = $(this).attr('class');
      $('#facility_nav a.selected').stop().toggleClass('selected');
      $(this).stop().toggleClass('selected');
      $($('.single_description')[getPrevPos]).stop().css('display', 'none');
      $($('.single_description')[getThisClass]).stop().css('display', 'block');
      $('img#current').stop().attr('id', '');
      $('.facility_image_set img').stop().css('opacity', 0);
      $($('.facility_image_set')[getThisClass]).stop().children('img').eq(0)
        .attr('id', 'current')
        .css('opacity', 1);
    }
  })
});
