(function ($) {

function mkdate(s) {
	// assumes DD/MM/YYYY
	var fields = s.split('/');
	d = new Date(fields[2], 0 + fields[1] - 1, fields[0]);
	return d;
}

function datetostr(d) {
	return "" + d.getDate() + '/' + (d.getMonth() + 1) + '/' + d.getFullYear();
}

function validate_dates (the_date, picker) {
	var me = $(this);
	var this_date = mkdate(the_date);
	var from = $('#date-from');
	var to = $('#date-to');
	
	if ('date-from' == $(this).attr('id')) {
		var to_date = mkdate(to.val());
		if (to.val() && to_date < this_date) {
			to.val(me.val());
		}
	} else {
		var from_date = mkdate(from.val());
		// if (!from.val()) {
		// 	from.val(datetostr(new Date()));
		// }
		if (from_date > this_date) {
			from.val(me.val());
		}
	}	
}

function image_list_next () {
	var me = $(this);
	var image = me.parent().find('img');
	var list = me.parent().find('.image-list');
	var current = list.find('li.selected');
	var next = current.nextAll('li');
	if (next.length <= 1) {
		me.hide();
	}
	image.attr('src', '/media/i/blank.gif');
	image.attr('src', next.eq(0).find('a').attr('href'));
	current.removeClass('selected');
	next.addClass('selected');
	me.parent().find('a.image-prev').show();
	return false;
}

function image_list_prev () {
	var me = $(this);
	var image = me.parent().find('img');
	var list = me.parent().find('.image-list');
	var current = list.find('li.selected');
	var prev = current.prevAll('li');
	if (prev.length <= 1) {
		me.hide();
	}
	image.attr('src', '/media/i/blank.gif');
	image.attr('src', prev.eq(0).find('a').attr('href'));
	current.removeClass('selected');
	prev.addClass('selected');
	me.parent().find('a.image-next').show();
	return false;
}

var rounded_top = $('<div class="tc"><div class="lt"></div><div class="spacer"></div><div class="rt"></div></div>');
var rounded_bottom = $('<div class="bc"><div class="lb"></div><div class="spacer"></div><div class="rb"></div></div>');

function rounded () {
	var me = $(this);
	me.prepend(rounded_top.clone());
	me.append(rounded_bottom.clone());
}

// on DOMready
$(function () {
	$('.tabbed .tab').hide();
	$('.tab-list .active a').each(function () {
		$($(this).attr('href')).show();
	});
	$('.tab-list a').click(function () {
		var me = $(this);
		me.parents('.tabbed').find('.tab').hide();
		me.parents('.tab-list').find('li').removeClass('active');
		$(me.attr('href')).show();
		me.parent().addClass('active');
		return false;
	});
	$('.tab-list a').eq(0).click();
	
	$('div.rounded').each(rounded);
	
	$('.labelled').focus(function () {
		var me = $(this);
		if (me.val() == me.attr('title')) {
			me.val('');
			me.removeClass('has-label');
		}
	}).blur(function () {
		var me = $(this);
		if (me.val() == me.attr('title') ||  me.val() == '') {
			me.val(me.attr('title'));
			me.addClass('has-label');
		}
	}).blur();
	
	$('form').not('#djangocms2000-htmlform form').submit(function () {
		var me = $(this);
		me.find('.has-label').val('');
	});
	
	$.datepicker.setDefaults({
		dateFormat: "dd/mm/yy",
		minDate: 0,
		numberOfMonths: 2,
		stepMonths: 1,
		showAnim: 'fadeIn',
		onClose: validate_dates
	});
	$('.date-select').datepicker();
    
    // autofill date-to 
    $('#date-from').change(function(){
        if (!$('#date-to').val()) {
            $('#date-to').val($(this).val());
        }
    });
    
    $('input[type=checkbox]').addClass('checkbox');


	$('a.image-next').click(image_list_next);
	$('a.image-next').each(function () {
		var me = $(this);
		if (me.parent().find('ul.image-list li').length > 1) {
			me.show();
		} else {
			me.hide();
		}
	});
	
	$('a.image-prev').click(image_list_prev);
	
	$('#search-filters-toggle a').click(function () {
		$('#search-filters-toggle').hide();
		$('#search-filters').fadeIn();
		return false;
	});
	
	$('#events-slider div.event, div.event-small, div.event-list div.event, div.event-tiny')
	.live('click', function () {
		window.location = $(this).find('a').eq(0).attr('href');
		return false;
	}).live('mouseover', function () {
		$(this).addClass('hover');
	}).live('mouseout', function () {
		$(this).removeClass('hover');
	}).addClass('clickable');
	
	// preload home background; MAN THIS IS OL' SCHOOL
	if ("/" == document.location.pathname) {
		var _i = new Image(); _i.src = "/media/i/eventback-over.png";
	}
	
	$('#send-to-a-friend-link').click(function () {
		var panel = $('#send-to-a-friend-panel');
		panel.parent().find('div.primary,div.alternative').hide();
		panel.fadeIn();
		return false;
	});
	
	$('form.delete-form').submit(function () {
		return confirm("Are you sure, this event will be deleted permanently?");
	});
	$('a.submit-form').click(function () {
		$(this).parents('form').eq(0).submit();
		return false;
	});
});

})(jQuery);
