﻿var hidingTemplate = '[acompare] <small class="gray smallCompareCount"></small>';
var acompare;
var acompare1;

var month = 30 * 24 * 60 * 60 * 1000;
var year = 365 * 24 * 60 * 60 * 1000;

var textAddToCompare;
var textRemoveFromComparison;
var textGoToCompare;
var textAddMore;
var text4ItemMax;
var textItemAddedToCompare;
var textItemRemovedFromTheComparison;
var textItemsRemovedFromTheComparison;
var textAddToCompare;

function TextInitialize() {
    textAddToCompare = $('#addToCompare').val();
    textRemoveFromComparison = $('#removeFromComparison').val();
    textGoToCompare = $('#textGoToCompare').val();
    textAddMore = $('#textAddMore').val();
    text4ItemMax = $('#text4ItemMax').val();
    textItemAddedToCompare = $('#textItemAddedToCompare').val();
    textItemRemovedFromTheComparison = $('#textItemRemovedFromTheComparison').val();
    textItemsRemovedFromTheComparison = $('#textItemsRemovedFromTheComparison').val();
    textAddToCompare = $('#textAddToCompare').val();
}

$(function() {
    CompareFunc();
});

$(document).ready(function () {
    TextInitialize();
    acompare = '<a href="/catalog/compare/" onclick="goToCompare(this);return false;">' + textGoToCompare + '</a>';
    acompare1 = textAddMore;
});

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 CompareFunc() {
    $(".compare-btn").unbind("click").click(function() {
        if ($(this).hasClass("compare-btn-disabled")) {
            return false;
        }
    });

    $("span[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>" + textAddToCompare + "</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");
                $(".hiding").html("");
                $(".btn-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");        
                    $(".hiding").html(hidingTemplate.replace("[acompare]", acompare1));
                } else {
                    $(".compare-btn").removeClass("compare-btn-disabled");
                    $("*[class*=clear-compare]").removeClass("compare-btn-disabled");
                    $(".hiding").html(hidingTemplate.replace("[acompare]", acompare));
                }
                $("*[class*=smallCompareCount]").html(count);
                $(".btn-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 >= 4) {
                    $.notifier(text4ItemMax, "error");
                    return false;
                }
                else {
                    if (val.indexOf(id) == -1) {
                        val += "," + id
                    }                                  
                }
            }
            a.addClass("not");
            a.html("<span>" + textRemoveFromComparison + "</span>");
            count = val.split(",").length;
            if (count == 1) {
                $(".compare-btn").addClass("compare-btn-disabled");
                $("*[class*=clear-compare]").removeClass("compare-btn-disabled");
                $(".hiding").html(hidingTemplate.replace("[acompare]", acompare1));
            } else {
                $(".compare-btn").removeClass("compare-btn-disabled");
                $("*[class*=clear-compare]").removeClass("compare-btn-disabled");
                $(".hiding").html(hidingTemplate.replace("[acompare]", acompare));
            }
            $("*[class*=smallCompareCount]").html(count);
            $(".btn-compare-count").html("(" + (count) + ")");
            SetCookie(CompareCookieName, val, new Date(new Date().getTime() + month).toUTCString());
            NotifySuccessAdd();
        }

        return false;
    });
}

function NotifySuccessAdd() {
    $.notifier(textItemAddedToCompare, "success");
}
function NotifySuccessRemove() {
    $.notifier(textItemRemovedFromTheComparison, "success");
}

function clearCompare(e) {
    var val = GetCookie(CompareCookieName);
    if (val == null)
        return;
    val = "";
    $("span[id*=addCompare_]").html("<span>" + textAddToCompare + "</span>");
    $("span[id*=addCompare_]").removeClass("not");
    $(".compare-btn").addClass("compare-btn-disabled");
    $("*[class*=clear-compare]").addClass("compare-btn-disabled");
    $(".hiding").html("");
    $(".btn-compare-count").html("(0)");
    SetCookie(CompareCookieName, val, new Date(new Date().getTime() - month).toUTCString());
    $.notifier(textItemsRemovedFromTheComparison, "success");
}
