
/*
	Toby Brancher for Holler Sydney 2008
	 :: Credit always to Alasdair McLeay & Gijs Van de Hoorn
*/

$(function() {

    loadSortMenu();
    loadViewSwitches();

});

function OnResponseEnd() {

    loadSortMenu();

}

function loadSortMenu() {
    var TT_sort = 'easeInOutQuad';
    var TS_sort = 400;
   
    // On Load
    $('.id-sort_menu ul').animate({ height: 'hide', opacity: 0 }, TS_sort, TT_sort, function() {
        $('.id-sort_menu a').removeClass('hide').addClass('show');
    });

    // On Click
    $('.id-sort_menu a').click(function() {

        var selectedLink = $(this);
        var selectedId = selectedLink.next('ul');

        if (selectedLink.hasClass('show')) {
            selectedId.animate({ height: 'show', opacity: 1 }, TS_sort, TT_sort, function() {
                selectedLink.removeClass('show').addClass('hide');
            });
        } else {
            selectedId.animate({ height: 'hide', opacity: 0 }, TS_sort, TT_sort, function() {
                selectedLink.removeClass('hide').addClass('show');
            });
        };

        $('form').click(function() {
            selectedId.animate({ height: 'hide', opacity: 0 }, TS_sort, TT_sort, function() {
                selectedLink.removeClass('hide').addClass('show');
            });
        });

        if (selectedLink.parent().hasClass('id-sort_menu')) {
            return false;
        }
        else {
            return true;
        }

    });

}

function loadViewSwitches() {
    /* View Switch */

    // Movement vars
    var TT_view = 'linear';
    var TS_view = 400;

    // On Click
    $('.controls ul a[rel!=clear]').click(function() {
    
        var selectedLink = $(this);
        var selectedType = selectedLink.parent('li').attr('class').split('-link')[0] + '-view';
        var viewContainer = $('.id-page_view').children('ul:first');

        selectedLink.parent().parent('ul').find('a').removeClass('selected');
        selectedLink.addClass('selected');

        if (selectedType == 'expand-view') {
            switchView('expanded-view')
            return false;
        } else if (selectedType == 'list-view') {
            switchView('list-view')
            return false;
        } else if (selectedType == 'grid-view') {
            switchView('grid-view')
            return false;
        };

        function switchView(cssClass) {
            viewContainer.animate({ opacity: 0 }, TS_view, TT_view, function() {
                if (selectedType == 'expand-view') {
                    $('.links').find('.related-links:first').find('li:last').removeClass('last');
                } else {
                    $('.links').find('.related-links:first').find('li:last').addClass('last');

                }
                viewContainer.removeClass().addClass(cssClass).animate({ opacity: 1 }, TS_view, TT_view, function() {
                })
            });
        };

    });
}
	
