/**
 *
 * The custom JavaScript used for the added functionality.
 *
 * @author Dan Hensby <dan@betterbrief.co.uk>
 * @author Josh Holloway <josh@betterbrief.co.uk>
 * @version 1
 * @copyright 2010 Better Brief LLP
 *
 */
//Load jQuery
google.load("jquery", "1.4");

// effectively 'on document ready'
google.setOnLoadCallback(function() {
	(function($) {
		$(function() {
			$('#Footer p a').attr('target', '_blank');
			if(document.body.id == 'HomePage') {
				// slideshow
				var images = $('#Masthead').children('img').css('position', 'absolute'), slide = images.first();
				images.not(':first').hide();
				window.setInterval(function() {
					slide.fadeOut(2500);
					slide = slide.next().length ? slide.next() : images.first();
					slide.fadeIn(2500);
				}, 5000);
			}
			else if (false && document.body.id == 'GalleryPage') {
				var $mainImgHolder = $('div.CurrentImage'),
					$imgsHolder = $('ul.GalleryItems');
				if ($mainImgHolder.length && $imgsHolder.length) {
					var $imgs = $imgsHolder.children(':not(.paging)'),
						$paging = $imgsHolder.children('.paging'),
						$curImg = $mainImgHolder.children('img'),
						$curListItem = $imgs.filter('.current'),
						$nextListItem = $curListItem.next(':not(.paging)'),
						$prevListItem = $curListItem.prev(':not(.paging)'),
						$curTitle = $mainImgHolder.children('h3'),
						$loader = $('<div class="loader"></div>');
					$mainImgHolder.prepend($loader).css({
						height: $mainImgHolder.height(),
						width: $mainImgHolder.width(),
						overflow: 'hidden'
					});
					$curImg.load(function() {
						$curImg.fadeIn();
						$mainImgHolder.animate({
							height: $curImg.height() + $curTitle.outerHeight()
						});
						$loader.stop().fadeOut('normal',function() {
							$loader.detach();
						});
					});
					$imgs.children().click(function() {
						var $this = $(this),
							$child = $this.children();
							$parent = $this.parent();
						if (!$parent.hasClass('current')) {
							$parent.addClass('current').siblings().removeClass('current');
							$mainImgHolder.prepend($loader);
							$loader.fadeTo('normal',0.7);
							$curImg.fadeOut('normal',function() {
								this.src = $child.attr('data-full');
								$curTitle.html($child.attr('alt'));
							});
							$prevListItem = $parent.prev(':not(.paging)');
							$curListItem = $parent;
							$nextListItem = $parent.next(':not(.paging)');
						}
						return false;
					});
					$paging.children().click(function() {
						var $parent = $(this).parent();
						if ($parent.hasClass('prev')) {
							if (!$prevListItem.length) {
								$prevListItem = $imgs.last();
							}
							$prevListItem.find('a').click();
						}
						else if ($parent.hasClass('next')) {
							if (!$nextListItem.length) {
								$nextListItem = $imgs.first();
							}
							$nextListItem.find('a').click();
						}
						return false;
					});
				}
			}
			var $newsletterForm = $('#Form_NewletterSignupForm');
			if ($newsletterForm.length) {
				var $submit = $('input[type=submit]',$newsletterForm),
					isSending = false;
				$submit.click(function() {
					$.ajax({
						type: $newsletterForm.attr('method'),
						contentType: $newsletterForm.attr('enctype'),
						url: $newsletterForm.attr('action'),
						data: $newsletterForm.serialize(),
						beforeSend: function() {
							isSending = true;
						},
						complete: function() {
							isSending = false;
						},
						success: function(data,message) {
							$newsletterForm.replaceWith(data);
						},
						error: function() {
						},
						dataType: 'html'
					});
					return false;
				});
			}
		});
	})(jQuery);
});

//Google analytics tracking
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-5532417-35']);
_gaq.push(['_trackPageview']);

(function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
})();

