$(document).ready(function () {
    // Calendar functions - start
    $('div.calendar').each(function () {
        var cal = $(this);
        var events_container = cal.find('.events:first');

        var calendarGrid = $('div.calendarGrid');

        options.first_day = (options.first_day == 1)? 8: options.first_day;

        // 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);
        days_container.appendTo(calendarGrid);
        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>';
    html += '<p>Hvor: ' + event.location_name + '</p>';
    var strDescription = $('#EventDescription' + day).html();
    if (strDescription != '') {
		html += '<div class="description">';
		html += strDescription;
		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 PositionPageFooter() {
//    var documentHeight = $(document).height();
//    var PageContainerHeight = $('#PageContainer').outerHeight();
//    if (documentHeight > PageContainerHeight) {
//        $('#FooterContainer').css({ 'top': (documentHeight - 48), 'position': 'absolute', 'margin-top': 0 });
//    }
//    else {
//        $('#FooterContainer').css({ 'top': (PageContainerHeight), 'position': 'absolute', 'margin-top': 0 });
//    }
//    $('#FooterContainer').show();
    //console.log('footer - documentHeight:' + documentHeight)
    //console.log('footer - PageContainerHeight:' + PageContainerHeight)
}

