
Init = {};
Utilities = {}

//show and hide js specific tags for accessibility
Init.JSTags = function() {
    $('.only-js').show();
    $('.not-js').hide();
}

//clear text in site searchbox
Init.SiteSearch = function() {
	$('#search .textbox, .cleardefault').click(function() {
		this.value = "";
	});
}

//pretty fade-in hover effect on some images
Init.HoverEffect = function() {
	$('#eventsList .item, .cta .image').addClass('lightup');
	
	$(function() {

		$('.lightup').css('opacity','0.9');
		$('.lightup').hover(function () {
	 
		$(this).stop().animate({
			opacity: 1.0
			}, 'slow');
		},
	 
		function () {
		 
			$(this).stop().animate({
				opacity: 0.9
			}, 'slow');
		});
	});
}

Init.TogglePanel = function() {
    $('.panel-toggler').live('click', function() {
        var panelToggle = $(this).attr('href');
        $(this).fadeOut(function() {
            $(this).siblings('.panel-toggler')
                .fadeIn()
                .removeClass('hide');
            $(this)
                .hide()
                .addClass('hide');
        });
        $(this).parents('.boxPanel:visible').find('.panel-toggle').hide();
        $(panelToggle).show();
        return false;
    });
}
Init.DetailToggle = function() {
    $('.findoutmore').live('click', function() {
        var lnk_parent = $(this).parents('li');
        lnk_parent.find('.detail').slideToggle();
        return false;
    });
}

Init.DatePicker = function() {
//    $('.form-datepicker').datepicker({
//    showOn: 'both',
//    dateFormat: 'dd/mm/yy'
//});
//var dates = $(".min-date, .max-date").datepicker({
//showOn: 'both',
//dateFormat: 'dd/mm/yy',
//onSelect: function(selectedDate) {
//    console.log(this.attr(name));
//    var option = this.id == "from" ? "minDate" : "maxDate",
//					instance = $(this).data("datepicker"),
//					date = $.datepicker.parseDate(
//						instance.settings.dateFormat ||
//						$.datepicker._defaults.dateFormat,
//						selectedDate, instance.settings);
//        dates.not(this).datepicker("option", option, date);
//    }
//});
$('.form-datepicker').datepicker({
    showOn: 'both',
    dateFormat: 'dd/mm/yy',
    onSelect: function(selectedDate) {
        if ($(this).hasClass('min-date')) {
            $(this).parents('#eventdates').find('.max-date').datepicker('option', 'minDate', $(this).datepicker('getDate'));
        }
        if ($(this).hasClass('max-date')) {
            $(this).parents('#eventdates').find('.min-date').datepicker('option', 'maxDate', $(this).datepicker('getDate'));
        }
    }
});
}

$(document).ready(function() {

    if (document.getElementById('loginForm')) {
        $('input[type=image]').attr('src','');
    }
    
    Init.JSTags();
    Init.SiteSearch();
    //Init.TabSize();
    Init.HoverEffect();
    Init.TogglePanel();
    Init.DatePicker();
    Init.DetailToggle();

    //Find the bad .net markup and remove it
    if ($('#lnkReturn span p')) {
        var string = $('#lnkReturn span').html();
        if (string === '<p>Start a new search</p>') {
            $('#lnkReturn span').html('Start a new search');
        }
    }

    if ($('.delete-span')) {
        $('.delete-span input').each(function() {
            $(this).val('');
        });
    }

    /* This should really be done server side. */
    if (!$('#rightCol *').is("*")) {
        $('#rightCol').remove();
        if ($('#content').hasClass('contentNarrow'))
            $('#content').removeClass('contentNarrow').addClass('contentMediumRight');
        if ($('#featured').hasClass('contentMediumLeft'))
            $('#featured').removeClass('contentMediumLeft').addClass('contentWide');
    }
    if (!$('#leftCol *').is("*")) {
        $('#leftCol').remove();
        if ($('#content').hasClass('contentMediumRight'))
            $('#content').removeClass('contentMediumRight').addClass('contentWide');
        else if ($('#content').hasClass('contentNarrow'))
            $('#content').removeClass('contentNarrow').addClass('contentMediumLeft');
    }
    $('.hide').hide();

    if ($('.paginationHeader')) {
        var badDotNetMarkup = $('.paginationHeader br');
        badDotNetMarkup.remove();
    }

    if ($('#venueaddress-action').is('*')) {
        var prompt_pos = $('#venueaddress-action').offset();
        $('html, body').animate({ scrollTop: (prompt_pos.top - 200) }, 'slow');
    }
});

