function slideshow() {  
  $('.flexslider').flexslider({
   animation: "slide",
   directionNav: false,
   controlNav: false,
   controlsContainer: ".flexslider-container"
  });
}

jQuery(document).ready(function($) {
  
  $.ajaxSetup({traditional: true});
  $('body').addClass('js-enabled').ajaxSend(function() {
      $(this).addClass('ajax-loading');
  }).ajaxComplete(function() {
      $(this).removeClass('ajax-loading');
  });
  
  $('span.mailto').each(function(){
      exp = $(this).text().search(/\((.*?)\)/) != -1 ? new RegExp(/(.*?) \((.*?)\)/) : new RegExp(/.*/);
      match = exp.exec($(this).text());
      addr = match[1] ? match[1].replace(/ at /,'@').replace(/ dot /g,'.') : match[0].replace(/ at /,'@').replace(/ dot /g,'.');
      emaillink = match[2] ? match[2] : addr;
      subject = $(this).attr('title') ? '?subject='+$(this).attr('title').replace(/ /g,'%20') : '';
       $(this).after('<a href="mailto:'+addr+subject+'">'+ emaillink + '</a>');
      $(this).remove();
  });

  /* superfish navigation */
  $('ul.sf-menu').superfish({ 
    speed: 'fast',
    autoArrows: false, 
    dropShadows: false
  });

  /* Find your school panel */
  
  $("#page-home #content .school-list, #page-home #content .school-list ul, #school-navi .school-list, #school-navi .school-list ul").hide();

  $("#find-school").click(function() {
    $("#page-home #content .school-list, #school-navi .school-list").slideToggle("fast");
    return false;
  });

  $("#page-home #content .school-list div, #school-navi .school-list div").click(function() {
    $(this).next("ul").slideToggle("fast");
    return false;
  });

  /* Checkbox */
  if($('.checkbox').children('input').attr('checked')){
    $('.checkbox').addClass('checked');
  }

  $('.checkbox').click(function(){
   if($(this).children('input').attr('checked')){
      // uncheck
      $(this).children('input').attr('checked', false);
      $(this).removeClass("checked");
    }else{
      // check
      $(this).children('input').attr('checked', true);
      $(this).addClass('checked');
    }
  });

  /* Load News Article & Programs/courses */
  $('#page-school #news article a, #page-school #news-list article a, #page-school .program a, #page-school #our-programs a, .page-course-select .program a').click(function(){

    var toURL  = $(this).attr('href');
    var toTitle= $(this).attr('title');
    var toLoad = $(this).attr('href')+' #ajax-content';

    $("#main-content").load(toLoad, function(response, status, xhr) {
      if (status == "success") {
        $("#programs").slideUp();
        slideshow();
        var History = window.History;
        if ( History.enabled ) {
          History.pushState(null, toTitle + " - State Swim Systems", toURL);
        }
        return false 
      }
    });
    return false;  
  });

  /* Multi Columns */
  if($.fn.columnize) {
    $('.achievement-list ul ul').columnize({ columns: 3 });
  };
    
  /* Accordion menu - mobile */
  function initMenu() {
    $('#header nav#site-navi ul').hide();

    $('#header .mobile-navi').click(function(){
      $('#header nav#site-navi ul:first-child').slideToggle("normal");
      return false;
    });

    $('#header nav#site-navi li a').click(
      function() {
          $(this).next().slideToggle('normal');	
        }
      );
  }

  if ( $('.mobile-navi').is(':visible') ) {
    initMenu();
  }

  /* School Menu */
  if ( $('.mobile-home').is(':visible') ) {
    $('#school-navi > ul > li:gt(0)').last().remove();

    var list = $('#school-navi > ul > li:gt(0)');

    list.hide();

    $('#view-more').click(function() {
      list.slideToggle(400);
      return false;
    });
  }

});

/* Images Slides */
$(window).load(function() {

  slideshow();

  /* Homepage */
  $('.home-slider').flexslider({
   animation: "slide",
   directionNav: false,
   controlNav: false,
   controlsContainer: ".flexslider-container"
  });

});

