var wmc = wmc || {};
wmc.loadAlbum = function(data) {
  var regex = /\/albumid\/(\d+)\?/gi;
  var url = data.feed.link[0].href;
  var matches = regex.exec(url);
  if (matches && matches[1]) {
    var albumTitle = $('#albumid-' + matches[1]);
    var album = $('<div/>').addClass('Album');
    for (var i = 0, len = data.feed.entry.length; i < len; i++) {
      var entry = data.feed.entry[i];
      var title = entry.title['$t'];
      var photo = entry['media$group']['media$content'][0];
      var thumb = entry['media$group']['media$thumbnail'][0];
      var link = $('<a/>').attr({ href: photo.url, title: title });
      var img = $('<img>').addClass('Thumbnail').attr({ alt: title, src: thumb.url });
      link.append(img);
      album.append(link);
    }
    album.insertAfter(albumTitle);
    album.find('a').lightBox({
      imageLoading:'/images/lightbox-ico-loading.gif',
      imageBtnClose:'/images/lightbox-btn-close.gif',
      imageBtnPrev:'/images/lightbox-btn-prev.gif',
      imageBtnNext:'/images/lightbox-btn-next.gif',
      imageBlank:'/images/pixel.gif',
      fixedNavigation:true
    });
  }
};
wmc.loadAlbums = function(data) {
  var albums = $('#Albums');
  for (entry in data.feed.entry) {
    var entry = data.feed.entry[entry];
    var regex = /\/albumid\/(\d+)\?/gi;
    var url = entry.link[0].href;
    var matches = regex.exec(url);
    if (matches && matches[1]) {
      albums.append($('<h2/>').text(entry.title['$t']).attr('id', 'albumid-' + matches[1]));
      $.getScript(url+'&imgmax=640&thumbsize=160u&callback=wmc.loadAlbum');
    }
  }
};
wmc.loadGallery = function(data) {
  var gallery = $('.Gallery');
  var links = $('<div/>').addClass('Links').css('display', 'none');
  for (var i = 0, len = data.feed.entry.length; i < len; i++) {
    var entry = data.feed.entry[i];
    var title = entry.title['$t'];
    var photo = entry['media$group']['media$content'][0];
    var thumb = entry['media$group']['media$thumbnail'][0];
    var link = $('<a/>').attr({ href: photo.url, title: title });
    if (i == 0) {
      var img = $('<img>').addClass('Thumbnail').attr({ alt: title, src: thumb.url });
      link.append(img).append('<br>').append('Click to view photo gallery');
      gallery.append(link).append('<br>');
    } else {
      var number = i+1;
      link.text(number);
      links.append(link).append((number < len) ? ' | ' : '');
      gallery.append(links);
    }
  }
  gallery.find('a').lightBox({
    imageLoading:'/images/lightbox-ico-loading.gif',
    imageBtnClose:'/images/lightbox-btn-close.gif',
    imageBtnPrev:'/images/lightbox-btn-prev.gif',
    imageBtnNext:'/images/lightbox-btn-next.gif',
    imageBlank:'/images/pixel.gif',
    fixedNavigation:true
  });
};
$(document).ready(function(){
  $.ifixpng('/images/pixel.gif');
  $('img[@src$=.png], #Footer').ifixpng();
  $('#Albums').each(function(){
    $.getScript('http://picasaweb.google.com/data/feed/base/user/105132616758989992246?alt=json-in-script&callback=wmc.loadAlbums');
  });
  $('#GalleryWAFs').each(function(){
    $.getScript('http://picasaweb.google.com/data/feed/base/user/105132616758989992246/albumid/5528978702139629969?alt=json-in-script&imgmax=640&thumbsize=160u&callback=wmc.loadGallery');
  });
  $('.Gallery').each(function(){
    $(this).find('a').lightBox({
      imageLoading:'/images/lightbox-ico-loading.gif',
      imageBtnClose:'/images/lightbox-btn-close.gif',
      imageBtnPrev:'/images/lightbox-btn-prev.gif',
      imageBtnNext:'/images/lightbox-btn-next.gif',
      imageBlank:'/images/pixel.gif',
      fixedNavigation:true
    });
  });
  $('.Gallery .Links').each(function(){
    $(this).css('display', 'none');
  });
  $('.Photo a').lightBox({
    imageLoading:'/images/lightbox-ico-loading.gif',
    imageBtnClose:'/images/lightbox-btn-close.gif',
    imageBtnPrev:'/images/lightbox-btn-prev.gif',
    imageBtnNext:'/images/lightbox-btn-next.gif',
    imageBlank:'/images/pixel.gif',
    fixedNavigation:true
  });
  $('#txtSender, #txtPrayer').each(function(){
    var oField = $(this);
    if(oField.val() == oField.attr('defaultValue'))oField.css('color', '#666');
  });
  $('#txtSender, #txtPrayer').focus(function(){
    var oField = $(this);
    if(oField.val() == oField.attr('defaultValue'))oField.val('').css('color', '#000');
  });
  $('#txtSender, #txtPrayer').blur(function(){
    var oField = $(this);
    if(oField.val() == '')oField.val(oField.attr('defaultValue')).css('color', '#666');
  });
  $('#frmPrayer').submit(function(){
    if($('#txtPrayer').val() == $('#txtPrayer').attr('defaultValue')){
      alert('Please enter your prayer in the box.');
      $('#txtPrayer').focus();
      return false;
    }
    $(':text, textarea').each(function(){
      var oField = $(this);
      if(oField.val() == oField.attr('defaultValue'))oField.val('');
    });
    return true;
  });
  // Thanks to tilllate.com for inspiring this idea: http://techblog.tilllate.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/
  $('.Contact').each(function(){
    $('.Contact span').each(function(){$(this).remove();});
    var oLink = document.createElement('a');
    oLink.href = 'mailto:' + $(this).text();
    $(this).wrapInner(oLink);
  });
});
