
$(document).ready(function() {

  // start by defining the overlay object
  var overlayLogo = $('#logo img').clone(), // the overlay image
    st = 0,    // scrollTop
    y0 = 100,  // opacity= 0
    y1 = 1000, // opacity= 1
    updateLogoOpacity = function() { // scroll handler
      var st = $(window).scrollTop(),
        newop = 0; // Assume overlay should be hidden
      if (st > y1) { // Show overlay 100%
        newop = 1;
      }
      else if (st > y0) { // Partially show overlay
        var yspan = y1 - y0,
            ypart = st - y0;
        newop = ypart/yspan;
      }
      overlayLogo.css('opacity', newop);
    };

  overlayLogo
    .attr('src', function(){ return this.src.replace(/(\.png(?:\?|$))/, '_desat$1') })
    .addClass('logo_overlay')
    .appendTo('#logolink');
  $(window)
    .bind('scroll', updateLogoOpacity);
  updateLogoOpacity();

  // ----------------------------------
  
  // review col-a images to maintain vertical rhythm (modify the parent p)
  
  $('#cola p:has(img)')
    .each(function() {
        var excess = ($(this).innerHeight())%12;
        if (excess !=0) {
          if (excess < 7) {
            $(this).css('margin-bottom', (0 - excess));
          }
          else {
            $(this).css('margin-bottom', (12 - excess));
          }
        }      
      }
    );

  // ----------------------------------
  
  // when comment textarea gets focus, show html-info text
  $('#f-text')
    .bind('focus', (function()
      {
        $('#htmlaside').removeClass('masked');
      })
    );

  // ----------------------------------
  
  // if colb is heigher than 1000px, repeat next-prev links
  if ($('#colb').height() > 1000) {
    var prevnext2 = $('.prevnext').clone();
    prevnext2
      .addClass('cloned')
      .appendTo('#colb');
  }

  // ----------------------------------
  
  // look for parameter ?showgrid
  var param = document.URL.split('?')[1];
  if ((param != undefined) && (param.indexOf('showgrid') > -1)){
    $('#pagewrap')  .addClass('showgrid');
    $('#commarea')  .addClass('showgrid');
    $('#footerarea').addClass('showgrid');
  }
  if ((param != undefined) && (param.indexOf('typegrid') > -1)){
    $('#pagewrap')  .addClass('typegrid');
    $('#commarea')  .addClass('typegrid');
    $('#footerarea').addClass('typegrid');
  }  
  // ----------------------------------
  
  // shift logo location in IE7
  // if ($('html').hasClass('ie7')) {
  //   $('#logo').appendTo('#menu-top-menu');
  // }
 
});
