//JS Object : update the cart by ajax actions
var ajaxSearch = {
    // try to show search container
    show : function(){
        $("#search_block" + sTemplate).css('display', 'block');
    },
    
    // try to expand the search
    expand : function(bOverwrite){
        // if forced
        if(bOverwrite == true) {
            // if collapsed or forced
            $('#search_block_expand').fadeOut(0);
            $('#search_block_summary').slideUp(0, function() {
                $("#search_block" + sTemplate).addClass('search_block_pos').removeClass('search_block_pos2');
                $(this).addClass('collapsed').removeClass('expanded');
                $('#search_block_list').slideDown({
                    duration: 0,
                    complete: function(){
                        $(this).addClass('expanded').removeClass('collapsed');

                        // toogle the button expand/collapse button
                        $('#search_block_form').fadeIn(0);
                        $('#search_block_collapse').fadeIn(0);
                    }
                });
            }); 
        } else {
            // if collapsed or forced
            if ($('#search_block_list').hasClass('collapsed')) {
                $('#search_block_expand').fadeOut('fast');
                $('#search_block_summary').slideUp(500, function() {
                    $("#search_block" + sTemplate).addClass('search_block_pos').removeClass('search_block_pos2');
                    $(this).addClass('collapsed').removeClass('expanded');
                    $('#search_block_list').slideDown({
                        duration: 400,
                        complete: function(){
                            $(this).addClass('expanded').removeClass('collapsed');
    
                            // toogle the button expand/collapse button
                            $('#search_block_form').fadeIn('slow');
                            $('#search_block_collapse').fadeIn('slow');
                        }
                    });
                });
            }        
        }
        
        // save as cookie
        $.cookie('JsSearchStatus', 'expanded', {expires: 30, path: '/', secure: false });
    },
	
    // fix display when using back and previous browsers buttons
    refresh : function() {
        // return
        return true;
    },
	
    // try to collapse the cart
    collapse : function(bFast) {
        if ($('#search_block_list').hasClass('expanded')) {
            $('#search_block_collapse').fadeOut('fast');
            $('#search_block_form').fadeOut('fast');

            $('#search_block_list').slideUp('slow', function(){
                $("#search_block" + sTemplate).addClass('search_block_pos2').removeClass('search_block_pos');
                $(this).addClass('collapsed').removeClass('expanded');
                if(bFast == true) {
                    $('#search_block_summary').slideDown(50, function(){
                        $(this).addClass('expanded').removeClass('collapsed');
                        $('#search_block_form').fadeOut('fast');
                        $('#search_block_expand').fadeIn('slow');
                    });
                } else {
                    $('#search_block_summary').slideDown(600, function(){
                        $(this).addClass('expanded').removeClass('collapsed');
                        $('#search_block_expand').fadeIn('slow');
                    });
                }
            });
            
            // save as cookie
            $.cookie('JsSearchStatus', 'collapsed', {expires: 30, path: '/', secure: false });
        }
    }
}

//when document is loaded...
$(document).ready(function(){
    // expand/collapse management
    $('#search_block_collapse').click(function(){
        ajaxSearch.collapse();
    });
    $('#search_block_expand').click(function(){
        ajaxSearch.expand();
    });
    
    // show arrow
    ajaxSearch.show();
    
    // get cookie data
    var sCookie = $.cookie('JsSearchStatus');
    
    // open/close on load
    if(sCookie == 'expanded') {
        ajaxSearch.expand(true);
    } else {
        ajaxSearch.collapse(true);
    }
    
    // update
    ajaxSearch.refresh();
    
    // sobo links
    $('#toggle_sobo').click(function(){
        if($('#PageContentMainSoboLinks').hasClass('meeowpened')) {
            // close sobo links
            $('#PageContentMainSoboLinks').slideUp('slow').removeClass('meeowpened').addClass('meeowclosed');        
        } else {
            // open sobo links
            $('#PageContentMainSoboLinks').slideDown('slow').removeClass('meeowclosed').addClass('meeowpened');        
        }
        
        // prevent following the link
        return false;
    });

    // links
    $('.showhidden').click(function(){
        // get attr rel
        var sClassName = '#' + $(this).attr('rel');
        
        // close all open details
        $('.hidden_details').removeClass('PageModulesPapercraftDetails').addClass('PageModulesPapercraftDetailsDark').hide('slow');
        
        // show
        $(sClassName).show('slow').addClass('PageModulesPapercraftDetails');             
                            

        // prevent following the link
        return false;
    });
});

