/* Events Calender page functions
**************************************/

$(function() {
    
    jQuery.fn.slideFadeToggle = function(speed, easing, callback) { 
        return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback); 
    };
    
    
    
    
    /* Show / Hide advanced search 
    **************************************/
    // show advanced search button
    $("p#advanced-search").show(); 
    // hide the form fieldset
    $("form#events-filter fieldset").hide(); 
    // hide advanced search go button
    $("form#events-filter fieldset ol li.last-child").hide(); 
    // perform the toggle
    $("p#advanced-search a").click(function() {
        $(this).parents('p').toggleClass('showhide');
        $("form#events-filter fieldset").slideFadeToggle("fast");
    });
    
    var showAdvancedSearch = $("[name=showAdvancedSearch]").val();
    if(showAdvancedSearch=='true') { 
        $('p#advanced-search').toggleClass('showhide');
        $("form#events-filter fieldset").show();
    }
    
    setFilters();
    
    /* Search Filter
    **************************************/
    $('#area-interest, #audience').change(function(){
        setFilters();
    });

function setFilters()
{
        $('#events-weeks ol li.no-results').remove();
        
        /* set variables */
        var interestValue = $('#area-interest').val();
        var interestClass = 'area-interest-' + interestValue;
        var interestName = $("#area-interest option[value="+interestValue+"]").text();
        var audienceValue = $('#audience').val();
        var audienceClass = 'audience-' + audienceValue;
        var audienceName = $("#audience option[value="+audienceValue+"]").text();
        
        var target = '#events-weeks ol li.event';
        
        /* hide all the event items */
        $(target).hide(); 
        
        /* show selected event items */
        if( interestValue > 0 && audienceValue == 0) { /* only Interests is set */ 
            
            $(target+'.'+interestClass).slideFadeToggle('fast');
            if($(target+'.'+interestClass).size() == 0 ) { noResultsMessage(interestName,''); }
            //setEventsNavLinks('&AOI='+interestValue+'&aud=0');
            
        } else if ( interestValue == 0 && audienceValue > 0 ) { /* only Audience is set */
        
        $(target+'.'+audienceClass).slideFadeToggle('fast');
        if($(target+'.'+audienceClass).size() == 0 ) { noResultsMessage('', audienceName); }
        //setEventsNavLinks('&AOI=0&aud='+audienceValue);
        
    } else if ( interestValue > 0 && audienceValue > 0 ) { /* both Interests and Audience is set */
    
        $(target+'.'+interestClass+'.'+audienceClass).slideFadeToggle('fast');
        if(	$(target+'.'+interestClass+'.'+audienceClass).size() == 0 
            || $(target+'.'+interestClass).size() == 0 
            || $(target+'.'+audienceClass).size() == 0 ) 
        {  noResultsMessage(interestName, audienceName); }
        //setEventsNavLinks('&AOI='+interestValue+'&aud='+audienceValue);

    } else { /* Else show all */
        //setEventsNavLinks('&AOI=0&aud=0');
        $(target).slideFadeToggle('fast');
    }

}



function setEventsNavLinks(str)
{
    var month = $.getURLParam("mth");
    var year = $.getURLParam("year");
    $('ul#events-nav li a').each(function(i) {
        link = $(this).attr('href');
        week = i;
        var baseurl = './eventControl?action=eventsCalendar&mth='+month+'&year='+year+'&week='+week+'';
        href = baseurl+str;
        $(this).attr({ 'href': href });
    });
    
}	




/* results message */
function noResultsMessage(interestValue, audienceValue)
{
    var msg1 = '<li class="no-results"><ul class="event-details"><li><h4>No events to display with the following criteria:<br /><em style="color:#000">Area of interest: '+interestValue+'<br />Audience: '+audienceValue+'</em></h4></li></ul></li>';
    var msg2 = '<li class="no-results"><ul class="event-details"><li><h4>No events to display with the following criteria:<br /><em style="color:#000">Area of interest: '+interestValue+'</em></h4></li></ul></li>';
    var msg3 = '<li class="no-results"><ul class="event-details"><li><h4>No events to display with the following criteria:<br /><em style="color:#000">Audience: '+audienceValue+'</em></h4></li></ul></li>';
    if( interestValue && audienceValue ) {
        var msg = msg1;
    } else if ( interestValue && !audienceValue ) { 	
        var msg = msg2;
    } else if ( !interestValue && audienceValue ) { 
        var msg = msg3;
    } else { return false; }
    $('#events-weeks ol').append(msg).hide().slideFadeToggle('fast');
}

/* show / hide past events */
$('#hide-week a').click(function() {
    $('#events-weeks ol li.past-event').slideFadeToggle("fast");
});
$('#hide-week a').toggle(function() {
    $(this).text('Show past events');},
function() {
    $(this).text('Hide past events');}
);
});
