function compareAdd(id)
{
    var divBlockCompare = $('divBlockCompare');
    var divs = divBlockCompare.getElementsByTagName('div');
    var content = divs[divs.length - 1];
    var divCompareId = $('divCompare_'+id);
    
    var url = '/compare/ajaxAdd/'+id;
    new Ajax.Request(url,
    {
        method: 'get',
        onLoading: function(transport)
        {
            divBlockCompare.style.display = 'block';
//            content.innerHTML = 'Добавляем...';
            //divCompareId.setAttribute('class', 'progress');
            //divCompareId.setAttribute('onclick', 'return false');
            divCompareId.className = 'progress';
            divCompareId.onclick = function() { return false; };
        },
        onSuccess: function(transport)
        {
            compareUpdate(id, transport.responseText)
            //divCompareId.setAttribute('class', 'compared');
            //divCompareId.setAttribute('onclick',
            //    'compareRemove('+id+'); return false;');
            divCompareId.className = 'compared';
            divCompareId.onclick = function()
            {
                compareRemove(id);
                return false;
            };
        }
    });
}

function compareRemove(id)
{
    var divBlockCompare = $('divBlockCompare');
    var divs = divBlockCompare.getElementsByTagName('div');
    var content = divs[divs.length - 1];
    var divCompareId = $('divCompare_'+id);
    
    var url = '/compare/ajaxRemove/'+id;
    new Ajax.Request(url,
    {
        method: 'get',
        onLoading: function(transport)
        {
            divBlockCompare.style.display = 'block';
//            content.innerHTML = 'Удаляем...';
            
            if (divCompareId) {
                //divCompareId.setAttribute('class', 'progress');
                //divCompareId.setAttribute('onclick', 'return false');
                divCompareId.className = 'progress';
                divCompareId.onclick = function() { return false; };
            }
        },
        onSuccess: function(transport)
        {
            //alert(transport.responseText);
            compareUpdate(id, transport.responseText)
            
            if (divCompareId) {
                //divCompareId.removeAttribute('class');
                //divCompareId.setAttribute('onclick',
                //    'compareAdd('+id+'); return false;');
                divCompareId.className = 'compare';
                divCompareId.onclick = function()
                {
                    compareAdd(id);
                    return false;
                };
            }
        }
    });
}

// используется только на странице сравнения!
function compareRemoveEx(id)
{
    if (typeof(only_distinct) == 'undefined')
        only_distinct = false;

    var divUncompareId = $('divUncompare_'+id);
    
    var url = '/compare/ajaxRemoveEx/'+id;
    new Ajax.Request(url,
    {
        method: 'get',
        onLoading: function(transport)
        {
            divUncompareId.innerHTML = '<img src="/images/icons/compare_progress.gif" alt="" />';
        },
        onSuccess: function(transport)
        {
            var location = null;
            if (transport.responseText) {
                location = '/compare/items/'+transport.responseText;
                if (only_distinct) {
                    location += '/distinct';
                }
            } else {
                location = '/';
            }
            window.location.href = location;
        }
    });
}

function compareClear()
{
    var divBlockCompare = $('divBlockCompare');
    var divs = divBlockCompare.getElementsByTagName('div');
    var content = divs[divs.length - 1];
    
    var url = '/compare/ajaxClear';
    new Ajax.Request(url,
    {
        method: 'get',
        onLoading: function(transport)
        {
            divBlockCompare.style.display = 'block';
            content.innerHTML = 'Очищаем...';
        },
        onSuccess: function(transport)
        {
            //alert(transport.responseText);
            
            divBlockCompare.style.display = 'none';
            content.innerHTML = '';
            
            var tags = document.getElementsByTagName('*');
            for (var i = 0; i < tags.length; i++) {
                if (tags[i].id.match(/^divCompare_/)) {
                    var e = tags[i];
                    e.className = '';
                    e.onclick = function()
                    {
                        match = this.id.split('_');
                        compareAdd(match[1]);
                        return false;
                    };
                }
            }

        }
    });
}

function compareUpdate(id, data)
{
    var divBlockCompare = $('divBlockCompare');
    var content = $('divCompareContainer');
    var divCompareId = $('divCompare_'+id);
    var divBlockCompareTitle = $('divBlockCompareTitle');
    
    var tmp = data.split('delete.gif');
    var count = tmp.length - 1;
    if (count > 0) {
        divBlockCompareTitle.innerHTML = 'Сравнение: '+count;
    } else {
        divBlockCompareTitle.innerHTML = 'Сравнение';
    }
    
    if (data.indexOf('clear') == -1) {
        divBlockCompare.style.display = 'none';
        content.innerHTML = '';
    } else {
        content.innerHTML = data;
    }
}
