﻿var month = 30 * 24 * 60 * 60 * 1000;
var year = 365 * 24 * 60 * 60 * 1000;

$(function() {
    Compare();    
});

if (Array.indexOf = "undefined" || !Array.indexOf) {
    Array.prototype.indexOf = function(obj) {
        for (var i = 0; i < this.length; i++) {
            if (this[i] == obj) {
                return i;
            }
        }
        return -1;
    }
}

function Compare() {
    $(".compare-btn").unbind("click").click(function() {
        if ($(this).hasClass("compare-btn-disabled")) {
            return false;
        }
    });

    $("div[id^=addCompare_]").unbind("click").click(function() {
        var count = 0;
        var a = $(this);
        var id = a[0].id.split('_')[1];
        if (a.hasClass("not")) {
            a.removeClass("not");
            a.html("<span>Добавить к сравнению</span>");

            var arr = GetCookie(CompareCookieName).split(',');
            arr.splice(arr.indexOf(id), 1);
            var val = "";
            for (var i = 0; i < arr.length; i++) {
                if (val == "")
                    val += arr[i];
                else
                    val += ',' + arr[i];
            }

            if (val == "") {
                $(".compare-btn").addClass("compare-btn-disabled");
                $("*[class*=clear-compare]").addClass("compare-btn-disabled");                
                $(".compare-count").html("0");
                SetCookie(CompareCookieName, val, new Date(new Date().getTime() - month).toUTCString());
            }
            else {
                count = arr.length;
                if (count == 1) {
                    $(".compare-btn").addClass("compare-btn-disabled");
                    $("*[class*=clear-compare]").removeClass("compare-btn-disabled");                    
                } else {
                    $(".compare-btn").removeClass("compare-btn-disabled");
                    $("*[class*=clear-compare]").removeClass("compare-btn-disabled");                    
                }                
                $(".compare-count").html((count));
                SetCookie(CompareCookieName, val, new Date(new Date().getTime() + month).toUTCString());
            }
            NotifySuccessRemove();
        }
        else {
            var val = GetCookie(CompareCookieName);
            if (val == null)
                val = id;
            else {
                count = val.split(",").length;
                if (count >= 3) {
                    $.notifier("Вы уже добавили к сравнению 3 товара. Удалите, пожалуйста какой-нибудь из них.", "error");
                    return false;
                }
                else {
                    if (val.indexOf(id) == -1) {
                        val += "," + id
                    }
                }
            }
            a.addClass("not");
            a.html("<span>Удалить из сравнения</span>");
            count = val.split(",").length;
            if (count == 1) {
                $(".compare-btn").addClass("compare-btn-disabled");
                $("*[class*=clear-compare]").removeClass("compare-btn-disabled");                
            } else {
                $(".compare-btn").removeClass("compare-btn-disabled");
                $("*[class*=clear-compare]").removeClass("compare-btn-disabled");                
            }            
            $(".compare-count").html((count));
            SetCookie(CompareCookieName, val, new Date(new Date().getTime() + month).toUTCString());
            NotifySuccessAdd();
        }

        return false;
    });
}

function NotifySuccessAdd() {
    $.notifier("Товар успешно добавлен к сравнению.", "success");
}
function NotifySuccessRemove() {
    $.notifier("Товар успешно удален из сравнения.", "success");
}

function clearCompare(e) {    
    var val = GetCookie(CompareCookieName);
    if (val == null) {
        $.notifier("В сравнении нет товаров.", "success");  
        return false;
    }
    val = "";
    $("div[id*=addCompare_]").html("<span>Добавить к сравнению</span>");
    $("div[id*=addCompare_]").removeClass("not");
    $(".compare-btn").addClass("compare-btn-disabled");
    $("*[class*=clear-compare]").addClass("compare-btn-disabled");    
    $(".compare-count").html("0");
    SetCookie(CompareCookieName, val, new Date(new Date().getTime() - month).toUTCString());
    $.notifier("Товары успешно удалены из сравнения.", "success");
}
function goToCompare(e) {
    var val = GetCookie(CompareCookieName);
    if (val == null) {
        $.notifier("В сравнении нет товаров.", "success");  
        return false;
    }
    //$("#aCompare").attr("href", $("*[id$=hCompareUrl]").val() + val + "/");
    document.location = $("*[id$=hCompareUrl]").val() + val + "/";
}


function SetCookie(name, value, expires) {
    document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        "; path=/";
}
function GetCookie(name) {
    var cookie = " " + document.cookie;
    var search = " " + name + "=";
    var setStr = null;
    var offset = 0;
    var end = 0;
    if (cookie.length > 0) {
        offset = cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = cookie.indexOf(";", offset)
            if (end == -1) {
                end = cookie.length;
            }
            setStr = unescape(cookie.substring(offset, end));
        }
    }
    return (setStr);
}
