var Comparison = {

    add : function(goodId) {
        jQuery.post(Env.base_url+'comparison/', {action:'add',id:goodId},
                function(json) {
                    try {
                        if (json.status.toLowerCase() === 'error') {
                            jQuery.notifier.error('Произошла ошибка', json.message);
                            
                            return false;
                        } else {
                            if (jQuery('#comparison_wrapper').is(':hidden')) {
                                jQuery('#comparison_wrapper').css({
                                    'display' : 'block'
                                });
                            }
                         
                            jQuery.notifier.success('Товар добавлен для сравнения', json.notify);
                                                        
                            jQuery('#comparison_block_content').append(json.compare);
                            
                            if (jQuery('#good_compare_'+goodId).size() > 0) {
                                jQuery('#good_compare_'+goodId).replaceWith(json.content);
                            }                   
                        }
                    } catch (e) {
                        if (Ofme.debug) {
                            Ofme.log(e);
                        }
                    }
                }, 'json');
    },
    
    remove : function(goodId) {
        var disableBlock = blockUI.create({
            element   : $('div.comparison-block-inner'),
            loading   : true,
            closeMask : false,
            maskStyle : {
                'background-color' : '#FFF'
            }, 
            opacity : 0.6
        }).block();
        
        jQuery.post(Env.base_url+'comparison/',{action:'remove',id:goodId},
                function(json) {
                    disableBlock.unblock();
                    try {
                        if (json.status.toLowerCase() === 'error') {
                            jQuery.notifier.error('Произошла ошибка', json.message);
                            
                            return false;
                        } else {
                            var item  = jQuery('#compare'+goodId),
                                items = 0;
                                
                            if (item.size() > 0) {
                                item.remove();
                                items = jQuery('div.comparison-block-item', jQuery('#comparison_block'));
                                
                                if (items.length <= 0) {
                                    jQuery('#comparison_wrapper').hide();
                                }
                            }
                            
                            jQuery.notifier.success('Товар удален из списка сравнения', json.notify);
                            
                            if (jQuery('#good_compare_'+goodId).size() > 0) {
                                jQuery('#good_compare_'+goodId).replaceWith(json.content);
                            }
                            
                            try {
                                Ofme.comparison.check(goodId);
                            } catch (e) {
                                Ofme.log(e);    
                            }
                        }
                    } catch (e) {
                        if (Ofme.debug) {
                            Ofme.log(e);
                        }
                    }
                }, 'json')
    },
    
    page_remove : function(goodId) {
        jQuery.post(Env.base_url+'comparison/', {action:'remove',id:goodId},
                function(json) {
                    try {
                        if (json.status.toLowerCase() === 'error') {
                            jQuery.notifier.error('Ошибка', json.message);
                                return false;
                        } else {
                            var item = jQuery('#comparison_item_'+goodId);
                                                        
                            if (item.size() > 0) {
                                jQuery.notifier.success('Товар удален из списка сравнения', json.notify);
                                item.fadeOut(300, function() {
                                    jQuery(this).remove();
                                    
                                    var items = jQuery('.b-comparison-item', jQuery('#comparison_page'));
                                    
                                    if ( ! items.length) {
                                        jQuery('div.blockheader1').after(
                                            '<div class="b-comparison-empty">' +
                                            '<div class="b-comparison-empty-message">' + 
                                            'Не добавлено ни одного товара для сравнения' + 
                                            '</div>' + 
                                            '<div class="b-comparison-empty-link">' +
                                            '<a href="'+Env.base_url+'catalog/">Перейти в каталог</a>' +
                                            '</div>' +
                                            '</div>'
                                        );   
                                    }
                                });
                            }
                        }
                    } catch (e) {
                        if (Ofme.debug) {
                            Ofme.log(e);
                        }
                    }
                }, 'json');
    }

};

