$(function() {
  $('img[src*="wp-content/uploads/"], img[src*="willemhoogendoorn.files.wordpress.com"]').bind("contextmenu", function(e) {
      $.prompt('Copyright &copy; 2011 Willem Hoogendoorn Fotografie',{ opacity: 0.5 });
      e.preventDefault();

    return true;
  });
  
  $('input[name="anders"]').css('display', 'none');
  
  $('select[name="how"]').live('change', function() {
    if ($(this).val() == "Anders, namelijk...") {
      $('input[name="anders"]').fadeIn();
    } else {
      $('input[name="anders"]').fadeOut();
    }
  });
  
  $("#contentToggle").click(function () {
    $('#expand').slideToggle(1000);
    return false;
  });
  
  $('div.gal_content').hover(
    function () {
      $(this).find('a.prev, a.next').delay(300).fadeIn('left');
    }, 
    function () {
      $(this).find('a.prev, a.next').delay(500).fadeOut();
    }
  );
  
  if ($('.popup').length > 0) {
    $('.popup').css({top: 20, left: 143}).fadeIn('fast').delay(2000).fadeOut();
    
    $('.circle').each(function () {
        // options
      var distance = 10;
      var time = 250;
      var hideDelay = 500;

      var hideDelayTimer = null;

      // tracker
      var beingShown = false;
      var shown = false;

      var trigger = $(this);
      var popup = $('.popup', this).css('opacity', 0);

      // set the mouseover and mouseout on both element
      $([trigger.get(0), popup.get(0)]).mouseover(function () {
        // stops the hide event if we move from the trigger to the popup element
        if (hideDelayTimer) clearTimeout(hideDelayTimer);

        // don't trigger the animation again if we're being shown, or already visible
        if (beingShown || shown) {
          return;
        } else {
          beingShown = true;

          // reset position of popup box
          popup.css({
            top: 20,
            left: 143,
            display: 'block' // brings the popup back in to view
          })

          // (we're using chaining on the popup) now animate it's opacity and position
          .animate({
            top: '-=' + distance + 'px',
            opacity: 1
          }, time, 'swing', function() {
            // once the animation is complete, set the tracker variables
            beingShown = false;
            shown = true;
          });
        }
      }).mouseout(function () {
        // reset the timer if we get fired again - avoids double animations
        if (hideDelayTimer) clearTimeout(hideDelayTimer);

        // store the timer so that it can be cleared in the mouseover if required
        hideDelayTimer = setTimeout(function () {
          hideDelayTimer = null;
          popup.animate({
            top: '-=' + distance + 'px',
            opacity: 0
          }, time, 'swing', function () {
            // once the animate is complete, set the tracker variables
            shown = false;
            // hide the popup entirely after the effect (opacity alone doesn't do the job)
            popup.css('display', 'none');
          });
        }, hideDelay);
      });
    });
  }
});
