$(document).ready(function(){
	var colours = new Array('#74adb4', '#adb42f', '#8c592c', '#c8aa39');
	var top_nav_counter = 0;
	var home_header_counter = 0;
	var home_tab_counter = 0;
	var home_tab_colour_counter = 0;
	
	$('#top-nav ul li.lvl1').each(function() {
		top_nav_counter += 1;
		$(this).css('border-bottom-color', colours[(top_nav_counter-1)]);
		if (top_nav_counter == colours.length) {
			top_nav_counter = 0;
		}
	});
	
	$('#content.home .paragraph').each(function() {
		home_header_counter += 1;
		$(this).find('h2:first').css('border-left-color', colours[(home_header_counter-1)]);
		if (home_header_counter == colours.length) {
			home_header_counter = 0;
		}
	});
	
	$('#home-box #tabs .tab').each(function() {
		home_tab_counter += 1;
		home_tab_colour_counter += 1;
		
		var pb = $(this).css('padding-bottom');
		if (home_tab_counter > 1) {
			$(this).css('margin-top', '-' + pb);
		}
		
		$(this).find('.name:first').css('background-image', "url('/Files/System/grilleriet/2010/img/home_box_tab_" + home_tab_colour_counter + ".png')");
		
		if (home_tab_colour_counter == 4) {
			home_tab_colour_counter = 0;
		}
	});
	
	var th = $('#home-box #tabs').height();
	var bh = $('#home-box').height();
	$('#home-box #intro').css('height', (bh-th) + 'px');
	$('#home-box #tabs .tab .txt-container').css('height', (bh-th) + 'px');
	
	$('#home-box #tabs .tab .name a').click(function(event) {
		var tab = $(this).parents('.tab:first');
		var txt = tab.find('.txt-container');
		var intro = $('#home-box #intro');
		var open_tabs = $(this).parents('#tabs').find('.tab.open');
		
		if (tab.attr('class').indexOf('closed') != -1) {
			// Open it
			tab.removeClass('closed');
			tab.addClass('open');
			
			if (open_tabs.length == 0) {
				intro.slideUp('slow', function() {
					txt.slideDown('slow');
				});
			} else {
				open_tabs.removeClass('open');
				open_tabs.addClass('closed');
				open_tabs.find('.txt-container').slideUp('slow', function() {
					txt.slideDown('slow');
				});
			}
		} else {
			// Close it
			(tab.removeClass('open'));
			(tab.addClass('closed'));
			open_tabs.find('.txt-container').slideUp('slow', function() {
				intro.slideDown('slow');
			});
		}
	});
	
	// Calendar functions - start
	$('div.calendar').each(function() {
		var cal = $(this);
		var events_container = cal.find('.events:first');
		
		// Build calendar - start
		var days_container = $('<div class="days clearfix"></div>');
		for (var d = 1; d < (options.first_day - 1); d++) {
			$(cal_day(null)).appendTo(days_container);
		}

		for (var d = 1; d <= options.days_in_month; d++) {
			$(cal_day(d)).appendTo(days_container);
		}
		// Build calendar - end
		
		// Build events list header - start
		var event_list_header = $('<h2 class="event-list-header"><span class="day"></span>. ' + options.month_name + ' ' + options.year + '</h2>');
		// Build events list header - end
		
		// Build event list - start
		var event_list = $('<ul class="event-list"><li class="no-events">Ingen arrangementer denne dag.</li></ul>');
		for (var e = 0; e < events.length; e++) {
			var event = events[e];
			var loop_to = event.day_to;
			var loop_from = event.day_from;
			if (event.date_from != event.date_to) {
				// Event is more than one day
				if (event.month_from != event.month_to) {
					if (event.month_from < options.month) {
						loop_from = 1;
					}
					if (event.month_to > options.month) {
						loop_to = options.days_in_month;
					}
				}
			}
			for (var i = loop_from; i <= loop_to; i++) {
				days_container.find('.day.day-' + i).addClass('has-events');
				$(cal_event(i, event)).appendTo(event_list);
			}
		}
		// Build event list - end

		days_container.appendTo(cal);
		event_list_header.appendTo(cal);
		event_list.appendTo(cal);
	});
	
	$('.calendar .days .day .content').click(function(event) {
		var day = $(this).parent();
		var cal = day.parents('.calendar:first');
		var day_classes = day.attr('class').split(' ');
		var day_number;
		for (var i = 0; i < day_classes.length; i++) {
			if (day_classes[i].indexOf('day-') != -1) {
				day_number = day_classes[i].substr(4);
			}
		}
		cal.find('.event-list .form-container').css('display', 'none');
		cal.find('.event-list .form-container').html('');
		cal.find('.event-list .event').css('display', 'none');
		cal.find('h2.event-list-header .day').html(day_number);
		cal.find('h2.event-list-header').css('display', 'block');
		var event_list = cal.find('.event-list:first');
		var events = event_list.find('.event.day-' + day_number);
		var no_events = event_list.find('.no-events');
		event_list.css('display', 'block');
		if (events.length > 0) {
			no_events.css('display', 'none');
			events.css('display', 'block');
		} else {
			no_events.css('display', 'block');
		}
			
	});
	
	$('.calendar .event-list .event a.register').click(function(event) {
		event.preventDefault();
		var a = $(this);
		var cal = a.parents('.calendar:first');
		var form_container = a.siblings('.form-container:first');
		
		//cal.find('.event-list .form-container').slideUp('slow');
		cal.find('.event-list .form-container').css('display', 'none');
		cal.find('.event-list .form-container').html('');
		
		$.get(a.attr('href'), function(data) {
			$(data).appendTo(form_container);
			form_container.css('display', 'block');
		});
	});
	// Calendar functions - end
	
});

function cal_day(number) {
	var html;
	if (number == null) {
		html = '<div class="day empty"><div class="content">&nbsp;</div></div>';
	} else {
		html = '<div class="day day-' + number + '"><div class="content">' + number + '</div></div>';
	}
	
	return html;
}

function cal_event(day, event) {
	var html;
	html = '<li class="event day-' + day + '">';
	html += '<h2>' + event.title + '</h2>';
	html += '<p>';
	if (event.time_from == event.time_to) {
		html += event.date_formatted_from + ' ' + event.time_formatted_from;
	} else {
		if (event.date_from == event.date_to) {
			html += event.date_formatted_from + ' ' + event.time_formatted_from + '-' + event.time_formatted_to;
		} else {
			html += 'Fra: ' + event.date_formatted_from + ' ' + event.time_formatted_from + '<br />';
			html += 'Til: ' + event.date_formatted_to + ' ' + event.time_formatted_to;
		}
	}
	html += '</p>';
	if (event.description != '') {
		html += '<div class="description">';
		html += event.description;
		html += '</div>';
	}
	if (event.booking_link != '') {
		html += '<a href="' + event.booking_link + '" title="Tilmeld" class="register"><img src="/Files/System/grilleriet/2010/img/btn_tilmeld.png" alt="Tilmeld" width="59" height="19" /></a>';
	}
	html += '<div class="form-container"></div>';
	html += '</li>';
	return html;
}

function newsletter_subscribe_validate(elm) {
	var form = $(elm);
	if (form.find('.category-checkbox:checked').length == 0) {
		$('.categories .error').show();
		return false;
	} else {
		return true;
	}
}
