// Site specific JavaScript

$(document).ready(function () {

	// Log pre-loaded libraries
	$.refractiv.data.archive.Modernizr = {
		check: true,
		status: "loaded"
	}

	$.refractiv.core.load([
		$.refractiv.libraries.placeholder,
		$.refractiv.libraries.validate,
		$.refractiv.libraries.cycle,
		$.refractiv.libraries.fancybox,
		$.refractiv.libraries.elastic,
		$.refractiv.libraries.ui.tabs,
		$.refractiv.libraries.tabsConvert,
		$.refractiv.libraries.swfobject
	]);

	// Form Validation and HTML5 Placeholder support for unsupported browsers
	$('input[placeholder]').refractiv_placeholder();
	$('form').refractiv_validate();
	$('textarea').elastic();

	// Search fieldset to tabs conversion
	$('body.page-search').refractiv_tabsConvert({
		children: 'fieldset',
		title: 'legend',
		min: 1
	});
	
	// Load the slideshow if available
	$('#slides').cycle({
		after: function (currSlideElement, nextSlideElement) {
			$(currSlideElement).css({
				'z-index': 0
			});
			$(nextSlideElement).css({
				'z-index': 100
			});
		}
	});

	// Slideshow Tabs
	$("#tabs").tabs({
		create: function() {
			var tabs = $(this).tabs("length");
			$(this).find(".ui-tabs-nav li").css({'width': (100/tabs) + "%"});
		}
	});

	// Run Fancyboxes
	$('a.video').fancybox({
		type: 'inline',
		padding: 0,
		transitionIn: 'elastic',
		transitionOut: 'elastic',
		scrolling: 'no',
		onComplete: function() {
			var video = $(this.href);
			video.flash({ 
				height: 330,
				width: 540,
				swf: 'http://www.youtube.com/v/' + video.attr("data-video-id"),
				params: { 
					wmode: "opaque"
				},
				flashvars: {
					enablejsapi: '1',
					autoplay: '1'
				}
			});
		}
	});

	$('a.action').fancybox({
		type: 'inline',
		padding: 20,
		transitionIn: 'fade',
		transitionOut: 'fade',
		onComplete: function() {
			$(this.href)
			.find("input:not(:hidden):first")
			.trigger("focus")
			.end()
			.find('textarea')
			.elastic();
		},
		onCleanup: function() {
			// Clean up all page validations on close
			$('form').each(function(i, el){
				var validator = $(el).data('validator');
				validator.reset();
			});
		}
	});

	// Convert YouTube
	var youtube = $("#youtube");

	$('a[data-youtube]').each(function(i, el) {
		var video = $(el);
		$("<img />", {
			src: "http://img.youtube.com/vi/" + video.attr("data-youtube") + "/0.jpg"
		})
		.appendTo(video);
		video.fancybox({
			type: 'inline',
			padding: 0,
			transitionIn: 'elastic',
			transitionOut: 'elastic',
			scrolling: 'no',
			onComplete: function() {
				youtube.flash({ 
					height: 330,
					width: 540,
					swf: 'http://www.youtube.com/v/' + video.attr("data-youtube"),
					params: { 
						wmode: "opaque"
					},
					flashvars: {
						enablejsapi: '1',
						autoplay: '1'
					}
				});
			},
			onClosed: function() {
				youtube.children().remove();
			}
		});
	});

	$('a[rel=fancybox]').fancybox();

	// Form Controls
	$('a.submit').bind("click",function(){
		$(this).parents('form').trigger("submit"); 
	});

	// Twitter Widgets
	if ($('#twtr')[0]) {
		$.ajax({
			async: false,
			dataType: 'script',
			cache: true,
			type: "GET",
			url: "http://widgets.twimg.com/j/2/widget.js",
			data: null,
			success: function() {
				new TWTR.Widget({
					version: 2,
					type: 'profile',
					rpp: 4,
					interval: 30000,
					width: 220,
					height: 300,
					id: 'twtr',
					theme: {
						shell: {
							background: '#787878',
							color: '#ffffff'
						},
						tweets: {
							background: '#edeef0',
							color: '#000000',
							links: '#005498'
						}
					},
					features: {
						scrollbar: false,
						loop: false,
						live: false,
						hashtags: true,
						timestamp: true,
						avatars: false,
						behavior: 'all'
					}
				}).render().setUser('refractiv').start();
			}
		});
	}
	
});
