var pages = [ "index", "services", "gallery", "faq", "contact" ];
var cur_page_idx = 0;
var cur_page = "index";

function getPage() {
  var url_comps = document.location.href.split('/');
  var page_ext = url_comps[url_comps.length - 1];
  if (page_ext == "")
    page_ext = "index.html";

  return page_ext.split('.')[0];
}

function getPageIndex() {
  return $.inArray(getPage(), pages);
}

$(function() {

  cur_page = getPage();
  cur_page_idx = getPageIndex();
  $('#pointer div').addClass(cur_page);

  var onload_start = function() {
  };

  function switch_content() {
    $('#content').attr('id', 'content_').after('<div id="content"></div>');
  }

  // Create additional empty content div
  // that will hold the next page load.
  var onload_end = function() {

    $('#content__').remove();
    $('#content_').attr('id', 'content__');

    var page_idx = getPageIndex();
    var slider = $('#slider');

    if(page_idx < cur_page_idx)
      slider.addClass('right');
    else
      slider.removeClass('right');

    slider.removeClass('fast');
    slider.removeClass('faster');

    var delta = Math.abs(page_idx - cur_page_idx);
    if (delta > 1 && delta <= 3)
      slider.addClass('fast');
    else
      if (delta > 3)
        slider.addClass('faster');

    var page = getPage();
    $('#pointer div').removeClass(cur_page).addClass(page);

    cur_page = page;
    cur_page_idx = page_idx;

    switch_content();

    if (page == "contact")
      setup_contact();

    if (page == "gallery")
      setup_gallery();
  };

  $('body')
    .bind('pjax:start', onload_start )
    .bind('pjax:end',   onload_end );
  
  $('.nav a').live('click', function(){
    var new_url = this.href;
    if (new_url.indexOf(getPage()) > -1 )
      return false;

    $.pjax({
      'url': new_url,
      'container': '#content',
      'fragment': '#content',
      'timeout': 3000
    });
    return false;
  });

  switch_content();

  if (document.location.href.indexOf("contact.html") > -1)
    setup_contact();

  if (document.location.href.indexOf("gallery.html") > -1)
    setup_gallery();

});

