/**
 * @author Dave
 */

var currGig = '';
var currTab = '';
               
function showGigs(gigs, showGigsParm){
    var gigsHTML = '<div class="gigs">';
    gigsHTML += '<div class="a468x60"></div>';
    $.each(gigs.days, function(i, day){
        gigsHTML += '<div class="gig-date"><p>' + day.dateText + '</p></div>';
        if (day.events.length > 0) {
            $.each(day.events, function(i, event){
                gigsHTML += formatGig(event, showGigsParm);
            });
        }
        else {
            gigsHTML += '<p>No gigs found for this date.</p>';
        }
    });
    gigsHTML += '</div>';
    return gigsHTML;
}

$(document).ready(function(){
   
    $my.ticketsDialog = $("#ticketsDialog");
    $my.attendanceDialog = $("#attendanceDialog");
    $my.talkDialog = $("#talkDialog");
    $my.allTabs = $("#tabs");
    
    $("#tab0").attr("href", "#tab-today");
    $("#tab1").attr("href", "#tab-week");
    $("#tab2").attr("href", "#tab-month");
    $("#tab3").attr("href", "#tab-all");
    $("#tab4").attr("href", "#tab-add");
    
    $(".band").click(attachBandClick);
    
    $my.ticketsDialog.dialog({
        autoOpen: false,
        modal: true,
        resizable: false
    });
    
    $my.attendanceDialog.dialog({
        autoOpen: false,
        modal: true,
        resizable: false,
        width: 350
    });
    
    $my.talkDialog.dialog({
        autoOpen: false,
        modal: true,
        resizable: false,
        width: 550,
        minHeight: 400
    });
    
    $my.allTabs.show().tabs();

	$("#gigsBadge").show();
	
	$my.allTabs.bind('tabsselect', function(event, ui) {
        if (ui.panel.id == 'tab-add') {
            event.preventDefault();
            location.href = 'add.html';
        }
    });
    $my.allTabs.bind('tabsshow', function(event, ui){

        try {
            pageTracker._trackPageview('tabsShow?id='+ui.panel.id);
        } catch(err) {}
        
        if (ui.panel.id == 'tab-' + startView || ui.panel.id == 'tab-search' || ui.panel.id == 'tab-picker') {
            displayAds();
            if (ui.panel.id == 'tab-' + startView) {
                currTab = '';
            }
            else {
                currTab = ui.panel.id.substring(4);
            }
            return false;
        }
        currTab = ui.panel.id.substring(4);
        $my.tabShow = $("#" + ui.panel.id);
        if ($my.tabShow.html() > ' ') {
            displayAds();
            return false;
        }
        $my.tabShow.html('<div class="loading"><p>Gigs Loading...</p></div>');
        switch (ui.panel.id) {
            case 'tab-today':
                var endDate = todayDate;
                var showGigsParm = 't';
                break;
            case 'tab-week':
                var endDate = weekDate;
                var showGigsParm = 'w';
                break;
            case 'tab-month':
                var endDate = monthDate;
                var showGigsParm = 'm';
                break;
            case 'tab-all':
                var endDate = allDate;
                var showGigsParm = 'a';
                break;
            default:
                break;
        }
        var vars = {
            "gigStartDate": startDate,
            "gigEndDate": endDate
        }
        $.getJSON("json/gigs.js", vars, function(gigs){
            var gigsHTML = showGigs(gigs, showGigsParm);
            $my.tabShow.html(gigsHTML);
            if ($my.allExpanded) {
                setExpanded();
            }
            $(".band").click(attachBandClick);
            displayAds();
        });
    });
    $my.allTabs.tabs('select', '#tab-' + startView);
    $("#accordion").show().accordion({
        autoHeight: false,
        active: false,
        collapsible: true
    });
    $("#datepicker").datepicker({
        duration: 'fast',
        dateFormat: 'yy-mm-dd',
        onSelect: function(dateText, inst){
            var selectedDate = dateText.substring(8, 10) + '/' + dateText.substring(5, 7);
            if ($("#tab-picker").length == 0) {
                $my.allTabs.tabs('add', '#tab-picker', 'Loading...', 0);
            }
            $("#tab-picker").html('<div class="loading"><p>Gigs Loading...</p></div>');
            $my.allTabs.tabs('select', '#tab-picker');
            $(".ui-tabs-selected").find("span").html(selectedDate);
            var vars = {
                "gigStartDate": dateText,
                "gigEndDate": dateText
            }
            $.getJSON("json/gigs.js", vars, function(gigs){
                var gigsHTML = showGigs(gigs, 'p');
                $("#tab-picker").html(gigsHTML);
                if ($my.allExpanded) {
                    setExpanded();
                }
                if ( window.screenTop !== 0) {
                    window.scrollTo(window.screenLeft, 0);        
                }
                $(".band").click(attachBandClick);
                try {
                    pageTracker._trackPageview('datePicker?date='+dateText);
                } catch(err) {}
                displayAds();
            });
        }
    });
    displayAds();

    $("input[name='preferenceExpanded']").change(function(){
        if ($("input[name='preferenceExpanded']:checked").val() == 'expanded') {
            setExpanded();
            setCookie( 'allExpanded', 'true', 365, '/', 'leedsgigs.co.uk', '' );
        } else {
            setHeadliner();
            setCookie( 'allExpanded', 'false', 365, '/', 'leedsgigs.co.uk', '' );
        }
    });

    $("input[name='preferenceLeedsSocial']").change(function(){
        if ($("input[name='preferenceLeedsSocial']:checked").val() == 'enabled') {
            setCookie( 'leedsSocial', 'true', 365, '/', 'leedsgigs.co.uk', '' );
        } else {
            setCookie( 'leedsSocial', 'false', 365, '/', 'leedsgigs.co.uk', '' );
        }
    });

    $("input[name='preferenceTheme']").change(function(){
		var theme = $("input[name='preferenceTheme']:checked").val();
        setCookie( 'theme', theme, 365, '/', 'leedsgigs.co.uk', '' );
		$("#ui-stylesheet").attr('href', '/themes/'+theme+'/'+$my.currentVersion+'/jquery-ui.css');
		$("#site-stylesheet").attr('href', '/themes/'+theme+'/'+$my.currentVersion+'/site.css');
        displayAds();
	});

	$(".badge a").click(function() {
		var bandName = $(this).attr('title');
		bandSearch(bandName);
		return false;
	});					   

});
