$(document).ready(function() {

// search default text
  $('#srch-global-input').defaulttext();

  
// Animated Scrolling for Same-Page Links

  function filterPath(string) {
    return string
      .replace(/^\//,'')
      .replace(/(index|default).[a-zA-Z]{3,4}$/,'')
      .replace(/\/$/,'');
  }
  var locationPath = filterPath(location.pathname),
      scrollable = scrollableElement('html','body');
  $(document).click(function(event) {
    var $link = $(event.target).closest('a');

    // stop if it's not a link 
    if (!$link.length) { return; }

    var link = $link[0];
    var thisPath = filterPath(link.pathname) || locationPath;
    if (  locationPath == thisPath
    && ((location.hostname == link.hostname) || !link.hostname)
    && link.hash.replace(/#/,'') ) {
      event.preventDefault();
      var $target = $(link.hash), target = link.hash;
      if ($target.length) {
        var targetOffset = $target.offset().top;

        $(scrollable).animate({scrollTop: targetOffset}, 400, function() {
          location.hash = target;
          if ($target.is(':input')) {
            $target[0].focus();
          }
        });
      }
    }
  });

  $('a[rel="popup"]').click( function() {
      window.open( $(this).attr('href'),'','width=560,height=390' );
      return false;
  });

  if (typeof $.fn.biglinks != 'undefined') {
    $('.article, .project').biglinks();
  }
  
  function scrollableElement(els) {
    for (var i = 0, argLength = arguments.length; i < argLength; i++) {
      var el = arguments[i],
          $scrollElement = $(el);
      if ($scrollElement.scrollTop() > 0) {
        return el;
      } else {
        $scrollElement.scrollTop(1);
        var isScrollable = $scrollElement.scrollTop() > 0 ? true : false;
        $scrollElement.scrollTop(0);
        if (isScrollable) {
          return el;
        }
      }
    }
    return [];
  }
  
  
}); // document.ready

/* project detail gallery */

$(document).ready(function() {
  var $gallery = $('#gallery'),
      $slides = $gallery.children('.slides'),
      $thumbs = $gallery.children('.thumbs'),
      $thumb = $thumbs.find('li');
  if (!$thumb.length) { return; }

  $gallery.append('<a id="gallery-prev" class="prevnext prev replace" href="#">prev</a><a id="gallery-next" class="prevnext next replace" href="#">next</a>');

  $slides.cycle({
    pause: 1,
    timeout: 6500,
    next: '#gallery-next',
    prev: '#gallery-prev',
    pager: '#gallery-thumbs ul',
    pagerAnchorBuilder: function(index, el) {
      return $thumbs.find('a')[index];
    }
    
  })
    .find('.caption')
    .css({opacity: 0.75});

  $thumbs
    .children()
    .css({
      paddingLeft: $thumbs.width() / 2, 
      marginLeft: -($thumb.width() * $thumb.length / 2),
      marginTop: '40px'
    });
  
  $(window).bind('load', function() {
    $thumbs.children().animate({marginTop: 0}, 'slow');
  });
    
});

// VIDEOS shadowbox
$(document).ready(function() {
  if (typeof Shadowbox == 'undefined') { return; }


  $('#gallery a.shadowbox')
  .attr({
    rel: 'shadowbox;width=528;height=392', 
    title: ''
  })
  .append('<span class="play replace"></span>');
  
  var sboptions = {
    assetURL:  '/assets/scripts/shadowbox/',
    loadingImage: 'styles/images/loading.gif',
    overlayBgImage: 'styles/images/overlay-85.png',      
    flvPlayer: 'flvplayer.swf', 
    keysClose:          ['c', 27]
  };

  // ie6 only options
  if ($.browser.msie === true && parseInt($.browser.version,10) < 7) {
    $.getScript('/assets/scripts/jquery.ifixpng2.js', function(){
      sboptions.onFinish = function() {
        $('#shadowbox_nav_close')
        .find('a').ifixpng().end()
        .css('left', '-20px');
      };     
    });
    
  }

  Shadowbox.init(sboptions);
  
});

/** =FILE LINK HINTS
************************************************************/
$(document).ready(function() {
 if (typeof $.fn.linkhints == 'undefined') { return; }
  gmbOptions = {
    extensions: 'doc,xls,exe,zip,pdf,swf,mov,jpg,psd,gift,png,tif',
    hintsInline: {
      imgPlacement: 'prepend',
      imgPre: '/assets/styles/images/icons/'
    },
    hintSummary: null
  };
  
  $('.files-list').linkhints(gmbOptions);
});

/** =FORM VALIDATION
************************************************************/
  $(document).ready(function() {
    // load the validation script if there is a form on the page.
    if ($('.content-main form').length) { 
      $.getScript('/assets/scripts/jquery.tinyvalidate.js', function() {
        $.getScript('/assets/scripts/validation.js');
      });
    }
  });


