(function() {
	function InputValueAsLabel(el) {
		var text = $(el).val();
		$(el).focus(function () {
			$(this).addClass("active");
			if (!this.changed) {
				$(this).val("");
			}

			return;
		}).blur(function () {
			$(this).removeClass("active");
			if ((this.changed && !$.trim($(this).val())) || !this.changed) {
				this.changed = false;
				$(this).val(text);
			}

			return;
		}).keypress(function () {
			this.changed = true;

			return;
		});

		return;
	}

	var searchForm = {
		init : function () {
			var el = $("#nav-main .search");
			if (!el.length) {
				return false;
			}

			new InputValueAsLabel(el.find("[name=\"s\"]"));
		}
	};
	searchForm.init();
	
	var newsletterSignUpForm = {
		init : function () {
			var el = $("#footer-content .features .newsletter-signup");
			if (!el.length) {
				return false;
			}

			new InputValueAsLabel(el.find("[name=\"username\"]"));
			new InputValueAsLabel(el.find("[name=\"email\"]"));
		}
	};
	newsletterSignUpForm.init();
	
	var slider = {
		init : function() {
			var viewbox = $('#promo-player');
			if(!viewbox.length) {
				return false;	
			}
			$("#promo-player .viewbox").slides({
				play: 14000
			});
		}	
	};
	slider.init();
	
	var googlemap = {
		init : function() {
			var map = $("#contactInfo .left a.fancybox");
			if(!map.length){
				return false;
			}
			map.fancybox({
				'width' : 600,
				'height' : 500
			});
		}
	};
	googlemap.init();
	
	var events = {
		init : function() {
			var calendar = $(".calendar");
			if(!calendar.length) {
				return false;
			}
			var prev = $(".calendar .prev");
			var next = $(".calendar .next");
			prev.click(function() {
				var previous_month = $(".calendar .hidden-prev").html();		
				$.getJSON('/ajax-response/?month=' + previous_month, function(data) {
					var prevmonth = data.prev_month;
					var nextmonth = data.next_month;
					var nextlink = data.nexturl;
					var prevlink = data.prevurl;
					var monthName = data.month_name;
					var nextmonthName = data.next_month_name;
					var prevmonthName = data.prev_month_name;
					$(".calendar .month.current").html(monthName);
					$(".calendar a.prev").attr('href', prevlink);
					$(".calendar .hidden-prev").html(prevmonth);
					$(".calendar .hidden-next").html(nextmonth);
					$(".calendar a.next").attr('href', nextlink);
		
					//Do stuff for events
					var eventlist = $(".calendar ul.events");
					var events = data.events;
					eventlist.empty();
					$.each(events, function(key, value) {
						var event = $("<li class='cfx visible'><div class='ico'></div><div class='content'><h3> " + " " + this.title + "</h3><div class='date'><span class='label'>Date:</span> " + this.dateString + "</div><div class='time'><span class='label'>Time:</span>" + " " + this.event_time + "</div><div class='location'><span class='label'>Location:</span> " + " " + this.location + "</div></div></li>");
						eventlist.append(event);
					});
					
				});
				return false;
			});
			next.click(function() {
				var next_month = $(".calendar .hidden-next").html();
				$.getJSON('/ajax-response/?month=' + next_month, function(data) {
					var prevmonth = data.prev_month;
					var nextmonth = data.next_month;
					var nextlink = data.nexturl;
					var prevlink = data.prevurl;
					var monthName = data.month_name;
					var nextmonthName = data.next_month_name;
					var prevmonthName = data.prev_month_name;
					$(".calendar .month.current").html(monthName);
					$(".calendar a.prev").attr('href', prevlink);
					$(".calendar .hidden-prev").html(prevmonth);
					$(".calendar .hidden-next").html(nextmonth);
					$(".calendar a.next").attr('href', nextlink);
				
					var eventlist = $(".calendar ul.events");
					var events = data.events;
					eventlist.empty();
				
					$.each(events, function(key, value) {
						var event = $("<li class='cfx visible'><div class='ico'></div><div class='content'><h3> " + " " + this.title + "</h3><div class='date'><span class='label'>Date:</span> " + this.dateString + "</div><div class='time'><span class='label'>Time:</span>" + " " + this.event_time + "</div><div class='location'><span class='label'>Location:</span> " + " " + this.location + "</div></div></li>");
						eventlist.append(event);				
					});
					
				});
				return false;
			});
		}
		
	};
	events.init();
	
	

}());
