$(document).ready( function()
	{
		init_prettyPhoto();
		init_anythingslider();
		init_featurepopups();
		init_alternateimages();
		init_focus_me();
		init_blink_me();
		init_signup_form();
		init_slideshow();
		deobfuscate_emails();
	}
);




function init_prettyPhoto()
{
	$("a[rel^='prettyPhoto']").prettyPhoto({theme:'light_rounded'});
}


function init_anythingslider()
{
	if ($('#slider').length)
	{
		$('#slider').anythingSlider({
			autoPlay: false,
			buildArrows: false,
			buildNavigation: false,
			width: '560px',
			height: '500px',
			resizeContents: false,
			easing: "swing",
		})
		
		$(".slidejump").click(function(){
			$('#slider').anythingSlider($(this).attr('rel'));
			return false;
		});
		
		$(".slideprev").click(function(){
			$('#slider').data('AnythingSlider').goBack();
			return false;
		});
		
		$(".slidenext").click(function(){
			$('#slider').data('AnythingSlider').goForward();
			return false;
		});
	}
}


function init_featurepopups()
{
	$('#features_map area').click(function(){
		$('.feature_popup').hide();
		$('#popup_' + $(this).attr('rel')).show();
		return false;
	});
	
	$('.feature_popup .close').click(function(){
		$(this).parent('div').hide();
		return false;
	});
}


function init_alternateimages()
{
	if ($('a.alternate_image').length)
	{
		$('a.alternate_image').click(function(){
			newsrc = $(this).attr('href');
			$('img#main_image').attr('src', newsrc);
			
			// switch the option pull-down
			title = $(this).attr('title');
			$('#option').val(title);
			
			return false;
		});
		
		// Switch the main image when option pull-down changes
		if($('select#option').length)
		{
			$('select#option').change(function(){
				option = $('#option').val();
				$('a.alternate_image').each(function(){
					if ($(this).attr('title') == option) {
						newsrc = $(this).attr('href');
						$('img#main_image').attr('src', newsrc);
					}
				})
			});
		}
	}
}













function init_focus_me()
{
	if($('input.focus_me').length)
	{
		$('input.focus_me').focus();
	}
}


function init_blink_me()
{
	$(".blink_me").fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300);
}


function init_signup_form()
{
	signup_form = $("div#signup").html();
	
	$("#signup #email").focusin(function(){
		$(this).val('');
	});
	
	$("#signup #email").focusout(function(){
		if ($(this).val() == '') {
			$(this).val('your email');
		}
	});
	
	$("#signup form").submit(function(){
		$("div#response").html('<p class="signup_wait">Sending email, please wait...</p>');
		$.ajax({
			type: "POST",
			url:  "/email_signup",
			data: "email=" + $("input#email").val(),
			success: function(result){
				// The "result" variable should contain the email address if successful, "invalid" or "blank" if not.
				if (result == "invalid") {
					$("div#response").html('<p class="signup_error">That email address does not appear valid.</p>').show();
				} else if (result == "blank") {
					$("div#response").html('<p class="signup_error">Ooops! Please enter an email address.</p>');
				} else if (result == "success") {
					$("div#signup").html('<p class="signup_thanks">Thanks! Your email has been submitted.</p>');
					$("div#response").html('');
				} else {
					$("div#response").html('<p class="signup_error">' + result + '</p>');
				}
				init_signup_form();
			}
		});
		return false;
	});
}


function deobfuscate_emails()
{
	$(".replaceAt").replaceWith("@");
	$(".obfuscate").each(function(i){
		this.href = "mailto:" + this.innerHTML;
	});
}


function init_slideshow()
{
	if ($("#slideshow")) {
		setInterval( "slideSwitch()", 4000 );
	}
}


function slideSwitch() {
	var $active = $('ul#slideshow li.active');
	
	if ( $active.length == 0 ) $active = $('#slideshow IMG:last');
	
	var $next =  $active.next().length ? $active.next()
		: $('ul#slideshow li:first');
	
	$active.addClass('last-active');
	
	$next.css({opacity: 0.0})
		.addClass('active')
		.animate({opacity: 1.0}, 800, function() {
			$active.removeClass('active last-active');
		});
}


function copyAddress()
{
	$("#scn").val($("#bcn").val());
	$("#sfn").val($("#bfn").val());
	$("#sln").val($("#bln").val());
	$("#sa1").val($("#ba1").val());
	$("#sa2").val($("#ba2").val());
	$("#sct").val($("#bct").val());
	$("#sst").val($("#bst").val());
	$("#szp").val($("#bzp").val());
}







