jQuery(document).ready(function ($) {
  hostname = window.location.hostname
  $("a[href^=http]")
    .not("a[href*='" + hostname + "']")
    .addClass('link external')
    .attr('target', '_blank');

  $("input[type=text][data-default]")
    .live('focus', function () {
      var el = $(this);
      var value = el.val();
      var default_value = el.attr('data-default');
      if (default_value == $.trim(value)) el.val('');
    })
    .live('blur', function () {
      var el = $(this);
      var value = el.val();
      var default_value = el.attr('data-default');
      if ('' == $.trim(value))  el.val(default_value);
    });


  $('.slide-list').each(function() {
    var slide_list = $(this);
    var slides = $('.slide', slide_list);
    var length = slides.length;
    var checkHandles = function(index) {
      if (index == 0) {
        $('a.back', slide_list).fadeOut();
      } else {
        $('a.back', slide_list).fadeIn();
      }

      if ((length-1) == index) {
        $('a.forward', slide_list).fadeOut();
      } else {
        $('a.forward', slide_list).fadeIn();
      }
    }

    $('.list-wrapper', slide_list).cycle({
      fx: 'scrollHorz',
      prev: '.slide-list a.back',
      next: '.slide-list a.forward',
      pager: '.slide-list .pager',
      timeout: 0,
      nowrap: true,
      prevNextClick: function(is_next, index, slide) {
        checkHandles(index);
      },
      pagerClick: function(index, slide) {
        checkHandles(index);
      }
    });
  });

  $('form a[href="#toggle"]').live('click', function(event) {
    event.preventDefault();
    var elem = $(this);
    var default_text = elem.attr('data-default');
    var toggled_text = elem.attr('data-toggled');
    var current_text = elem.text();
    var toggle_elem = $(elem.attr('data-selector'));
    toggle_elem.slideToggle();
    if (current_text == default_text) {
      elem.html(toggled_text);
    } else {
      elem.html(default_text);
    }
  });

  $('nav.tabs').each(function() {
    var tab_nav = $(this);
    var tab_handles = $('li', tab_nav);
    var tab_list = $(tab_nav.attr('data-list-selector'));
    var tab_width = $('li.tab', tab_list).outerWidth();
    var running  = false;
    tab_handles.click(function(event) {
      event.preventDefault();
      var handle = $(this);
      if (running || handle.hasClass('active')) return;
      var index = tab_handles.index(handle);
      var position = -(index * tab_width);
      tab_handles.removeClass('active');
      tab_list.css({left: position +'px'});
      handle.addClass('active');
    });
  });

  $('.worldmap').click(function(event) {
    var original = event.srcElement || event.originalTarget;
    if (original.src && original.src.match(/worldmap/)) {
      $('.site').removeClass('active');
    }
  }).each(function() {
    $('#main, #content').css({overflow: 'visible'});
  });
  $('.site').each(function() {
    var site = $(this);
    var coords = site.attr('data-coords').split(',');
    var active = false;
    site.css({left: coords[0] + "px", top: coords[1] + "px"});
    site
      .click(function(event) {
        var original = event.srcElement || event.originalTarget;
        if ('DIV' == original.tagName) {
          site.toggleClass('active');
          $('.brief', site).hide();
        }
      })
      .hover(
        function() {
          if (! site.hasClass('active')) {
            $('.brief', site).show();
            $('.site.active').removeClass('active')
          }
        },
        function() {
          $('.brief', site).hide();
        });
  });
});
