/*
 * tweetable 1.2 - jQuery twitter feed generator plugin
 *
 * Copyright (c) 2009 Philip Beel (http://www.theodin.co.uk/)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Revision: $Id: jquery.tweetable.js 2009-08-20 $ 
 *
 */
(function($){$.fn.tweetable=function(options){var defaults={limit:5,username:'hanleyschool',time:false};var options=$.extend(defaults,options);return this.each(function(options){var act=$(this);var api="http://twitter.com/statuses/user_timeline/";var count="?count=";$.getJSON(api+defaults.username+".json"+count+defaults.limit+"&callback=?",act,function(data){$.each(data,function(i,item){if(i==0){$(act).prepend('<ul class="tweetList"><li class="tweet_content_'+i+'">')}else{$('.tweetList').append('<li class="tweet_content_'+i+'">')}$('.tweet_content_'+i+'').append('<span class="tweet_link_'+i+'">'+item.text.replace(/#(.*?)(\s|$)/g,'<span class="hash">#$1 </span>').replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,'<a href="$&">$&</a> ').replace(/@(.*?)(\s|\(|\)|$)/g,'<a href="http://twitter.com/$1">@$1 </a>$2'));if(defaults.time==true){$('.tweet_content_'+i).append('<small> '+item.created_at.substr(0,20)+'</small>')}})})})}})(jQuery);


/*
 * Slideshow Functions
 */
 
$(window).load(function()
{
	//this is intended to wait for all the images to load before running the slideshow
	init_slideshow()
})

init_slideshow = function()
{
	$('#slides').cycle({
		fx:'fade',
		timeout:8000,
		pager:'#slide_navigation',
		after:update_slide_caption,
		before:fade_slide_caption
	})
}

fade_slide_caption = function(next, previous)
{
	caption_container = $('#project_caption')
	caption_container.fadeOut('fast')
}

update_slide_caption = function(next, previous)
{
	caption_container = $('#project_caption')

	caption = $('span.slide_caption', previous)
	caption_container.fadeIn('fast')
	caption_container.html(caption.html())
	
}

/*
 * Showcase Functions
 */
 
jQuery(document).ready(function(){
	
	$(".showcase img").fadeTo(125, 0.9); // This sets the opacity of the thumbs to fade down to 90% when the page loads
	
	$(".showcase img").hover(function(){
		$(this).fadeTo(75, 1.0); // This should set the opacity to 100% on hover
	},
	
	function(){
		$(this).fadeTo(125, 0.9); // This should set the opacity back to 90% on mouseout
	});
	
});


/*
 * Contact Form
 */

$(document).ready(function() {

	$('#contactform').submit(function() {
	
		// Disable the submit button
		$('#contactform input[type=submit]')
			.attr('value', 'Sending message…')
			.attr('disabled', 'disabled');
	
		// AJAX POST request
		$.post(
			$(this).attr('action'),
			{
				name:$('#name').val(),
				email:$('#email').val(),
				message:$('#message').val()
			},
			function(errors) {
				// No errors
				if (errors == null) {
					$('#contactform')
						.hide()
						.html('<h3>Thank you</h3><p>Your message has been sent.</p>')
						.show();
				}
	
				// Errors
				else {
					// Re-enable the submit button
					$('#contactform input[type=submit]')
						.removeAttr('disabled')
						.attr('value', 'Send your Question');
	
					// Technical server problem, the email could not be sent
					if (errors.server != null) {
						alert(errors.server);
						return false;
					}
	
					// Empty the errorbox and reset the error alerts
					$('#contactform .errorbox').html('<ul></ul>').show();
					$('#contactform li').removeClass('alert');
	
					// Loop over the errors, mark the corresponding input fields,
					// and add the error messages to the errorbox.
					for (field in errors) {
						if (errors[field] != null) {
							$('#' + field).parent('li').addClass('alert');
							$('#contactform .errorbox ul').append('<li>' + errors[field] + '</li>');
						}
					}
				}
			},
			'json'
		);
	
		// Prevent non-AJAX form submission
		return false;
	});

});
