// 
//  nsy.js
//  North Sydney Yoga
//  
//  Created by Callum Wilson on 2011-12-04.
//  Copyright 2011 The Working Party. All rights reserved.
//
// Handy string format processor.
String.format = function (fmt, vals) {
    return fmt.replace(/\{(\w+)\}/g, function (m, i) { return vals[i]; });
};

// Template for class block
var classblock = [
	'<div class="classblock">',
		'<p>',
			'<span class="classtype">{classtype}</span><br />',
			'{inner}',
		'</p>',
	'</div>'
].join('');

// Template for class
var classinner = [
	'<span class="time">{start}-{finish}</span>' ,
	'<span class="name">{name}</span>',
	'<span class="teacher">{teacher}</span>'
].join('');

$(document).ready(function() {
	$('a.bookingFormShow').click(function() {
		$('div.hide-booking').show("");
	});
	$("ul.nav").superfish({ 
		delay: 1000,
		animation: {opacity:'show',height:'show'},
		speed: 'fast'
	});
	
	$('#banner ul li:gt(0)').hide();
	setInterval(function(){
		$('#banner ul li:first-child').fadeOut(2000).next('li').fadeIn(2000).end().appendTo('#banner ul');
	}, 6000);
	
	$('#inspire-me').submit(function (e) {
		e.preventDefault();
		$.getJSON(
			this.action + "?callback=?",
			$(this).serialize(),
			function (data) {
				if (data.Status === 400) {
					alert("Error: " + data.Message);
				} else { // 200
					alert("Success: " + data.Message);
				}
			}
		);
		$('#inspire-me').fadeOut();
		$('#archive').fadeIn();
	});
	// Get the classes on the front page
	var classes = "/assets/files/classes.js";
	$.getJSON(classes,function(json){
		// loop through the posts here
		$.each(json.days,function(i,day){
			$("#classes").append(
				'Hi there'
			);
		});
	});
	
	
	
	$('.video').click(function(){
		$.fancybox({
					'padding'		: 0,
					'autoScale'		: false,
					'transitionIn'	: 'none',
					'transitionOut'	: 'none',
					'title'			: this.title,
					'width'		: 560,
					'height'		: 315,
					'href'			: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
					'type'			: 'swf',
					'swf'			: {
					   	 'wmode'		: 'transparent',
						'allowfullscreen'	: 'true'
					}
				});

			return false;
	});
	$('a[rel=lightbox]').lightBox();
	// What day is it?
	var d_names = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
	var m_names = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

	var today = new Date();

	var day_name = d_names[today.getDay()];
	// var day_name = 'Monday';
	
	
	$('.home .last #tvpagetitle2').after('<div id=\"calendar\"></div>');
	$.getJSON("/assets/files/classes.js", function(data) {
		var tmp,
			sessions = data[day_name],
			el = $('#calendar').first();

		el.append(
			String.format('<h4 class="date">{day} {month} {date}</h4>', {
				'day': day_name,
				'month': m_names[today.getMonth()],
				'date': today.getDate(),
			})
		);

		// Morning
		if(sessions['morning']) {
			tmp = [];
			$.each(sessions.morning, function (index, value) {
				tmp.push(String.format(classinner, value));
			});
			el.append(String.format(classblock, {
				classtype: 'Morning',
				inner: tmp.join('\n')
			}));
		}
		// Afternoon
		if(sessions['afternoon']) {
			tmp = [];
			$.each(sessions.afternoon, function (index, value) {
				tmp.push(String.format(classinner, value));
			});
			el.append(String.format(classblock, {
				classtype: 'Afternoon',
				inner: tmp.join('\n')
			}));
		}
		// Evening
		if(sessions['evening']) {
			tmp = [];
			$.each(sessions.evening, function (index, value) {
				tmp.push(String.format(classinner, value));
			});
			el.append(String.format(classblock, {
				classtype: 'Evening',
				inner: tmp.join('\n')
			}));
		}
	});
	
	
});

