﻿function comare_check(chk) {
    if (chk.checked) {
        var idArray = get_compare_ids();
        if (idArray.length == 10) {
            alert('the maximum you can choice is 10');
            chk.checked = false;
            return;
        }
    }

    var productId = chk.getAttribute('pid');

    var a = $("img[name=compare_icon]").filter("[pid=" + productId + "]");

    if (a.length > 0) {
        if (chk.checked) {
            a.css('display', "");
        }
        else {
            a.css('display', "none");
        }
    }

    if (!chk.checked) {
        var idArray = get_compare_ids();
        if (idArray.length == 10) {
            alert('the maximum you can choice is 10');
            chk.checked = false;
            return;
        }
    }

}

function get_compare_ids() {
    var compareIcons = document.getElementsByName('compare_icon');
    var ids = "";
    for (var i = 0; i < compareIcons.length; i++) {
        var pid = compareIcons[i].getAttribute('pid');
        if (compareIcons[i].style.display != "none") {
            ids = (ids == "" ? pid : ids + "," + pid);
        }
    }
    return ids.split(',');
}

function compare_icon_click() {
    var idArray = get_compare_ids();
    var url = compare_result_page+"?cps="+idArray.join(',');
    if (window.location.href.indexOf("CompareList.aspx") > -1) {
        window.location = url;
    }
    else {
        window.open(url);
    }
}

function add_product_into_cart(img, pid) {
    var cart_container = $('#all_item_c')[0];
    var compareIcons = document.getElementsByName('compare_icon');
    var w = img.width; h = img.height;
    for (var i = 0; i < compareIcons.length; i++) {
        var curId = compareIcons[i].getAttribute('pid');
        if (curId == pid) {
            var obj = compareIcons[i];

            while (!(obj.getAttribute("className") == "cart_cell_c" || obj.getAttribute("class") == "cart_cell_c") && obj.parentNode != null) {
                obj = obj.parentNode;
            }
            cart_container.removeChild(obj);
            break;
        }
    }
    var size = FormatHeightWidth(50, w, h);
    var insertInnerHtml = "<div class=\"cart_cell_c\"><table cellpadding=\"0\" cellspacing=\"0\"><tr><td align=\"center\" class=\"cartimg_c\" colspan=\"2\">"
        + "<img alt='' src='"
        + img.src + "' width='" + size[0].toString() + "' height='" + size[1].toString() + "' onclick=\"ReplaceSelectProduct(this,'" + pid.toString() + "')\"" + " /></td></tr><tr><td class=\"compare_set_td\"><img name='compare_icon' src='../images/compare.png' style='display:none' alt='compare' pid='"
        + pid.toString() + "' onclick='javascript:compare_icon_click()'  class='compare_icon' /></td><td class='compare_set_td'><input type='checkbox' class='compare_chk' onclick='comare_check(this)' pid='"
        + pid.toString() + "' /></td></tr></table></div>"
    cart_container.innerHTML = insertInnerHtml + cart_container.innerHTML;
}

function FormatHeightWidth(largeSize, width, height) {
    var result = [0, 0];

    if (Math.max(height, width) <= largeSize) {
        return [width, height];

    }
    else if (height > width) {
        result[0] = parseInt(width * (Number(largeSize) / height));
        result[1] = largeSize;
    }
    else {
        result[0] = largeSize;
        result[1] = parseInt(height * (Number(largeSize) / width));
    }
    return result;
}


var speed = 2;
var space = 60;
var fill = 0;
var moveLock = false;
var moveTimeObj;
var moveWay = "down";

var boxId = IsCompareCart ? '#scroll_box_c' : '#scroll_box_h';
var itemId = IsCompareCart ? '#all_item_c' : '#all_item_h';

function cart_GoLeft() { if (moveLock) return; if (!check_controling('left')) return; moveLock = true; moveWay = "left"; moveTimeObj = setInterval('cart_ScrLeft();', speed); }

function cart_GoRight() { if (moveLock) return; if (!check_controling('right')) return; moveLock = true; moveWay = "right"; moveTimeObj = setInterval('cart_ScrRight()', speed) }



function cart_ScrLeft() {

    var srollBox = $(boxId)[0];
    var allItems = $(itemId)[0];
    var lastLeft = Math.floor(allItems.scrollWidth / srollBox.offsetWidth) * srollBox.offsetWidth;
    if (lastLeft <= 0) {
        clearInterval(moveTimeObj); moveLock = false; control_icon_set(); return;
    }

    if (srollBox.scrollLeft <= space) {
        srollBox.scrollLeft = 0;
        clearInterval(moveTimeObj); moveLock = false; control_icon_set(); return;
    }

    srollBox.scrollLeft -= space;

    var remainder = srollBox.scrollLeft % srollBox.offsetWidth;
    if (remainder <= space) {
        srollBox.scrollLeft = Math.round(srollBox.scrollLeft / srollBox.offsetWidth) * srollBox.offsetWidth;
        clearInterval(moveTimeObj);
        moveLock = false;
        control_icon_set();
    }
}

function cart_ScrRight() {   
    var srollBox = $(boxId)[0];
    var allItems = $(itemId)[0];
    var lastLeft = Math.floor(allItems.scrollWidth / srollBox.offsetWidth) * srollBox.offsetWidth;
    if (lastLeft <= 0) {
        clearInterval(moveTimeObj); moveLock = false;
        control_icon_set();
        return;
    }
    if (srollBox.scrollLeft >= lastLeft) {

        srollBox.scrollLeft = lastLeft; clearInterval(moveTimeObj); moveLock = false;
        control_icon_set();
        return;
    }

    srollBox.scrollLeft += space;

    var remainder = srollBox.scrollLeft % srollBox.offsetWidth;
    if (Math.abs(remainder - srollBox.offsetWidth) <= space) {
        srollBox.scrollLeft = Math.round(srollBox.scrollLeft / srollBox.offsetWidth) * srollBox.offsetWidth;
        clearInterval(moveTimeObj);
        moveLock = false;
        control_icon_set();
        return;
    }
}

function control_icon_set() {
    var left_control;
    var right_control;

    if (IsCompareCart) {
        left_control = $("#img_cart_left");
        right_control = $("#img_cart_right");
    }
    else {
        return;
    }

    var srollBox = $(boxId)[0];
    var allItems = $(itemId)[0];

    if (srollBox.scrollLeft <= 0) {
        if (allItems.scrollWidth <= srollBox.offsetWidth) {
            left_control.attr('class', 'cart_uncontrol_left');
            right_control.attr('class', 'cart_uncontrol_right');
        }
        else {
            left_control.attr('class', 'cart_uncontrol_left');
            right_control.attr('class', 'cart_control_right');
        }
    }
    else {
        left_control.attr('class', 'cart_control_left');
        if (srollBox.offsetWidth + srollBox.scrollLeft >= allItems.scrollWidth) {
            right_control.attr('class', 'cart_uncontrol_right');
        }
        else {
            right_control.attr('class', 'cart_control_right');
        }
    }
}

function check_controling(direct) {
    var left_control;
    var right_control;

    if (IsCompareCart) {
        left_control = $("#img_cart_left");
        right_control = $("#img_cart_right");
    }
    else {
        return true;
    }

    var srollBox = $(boxId)[0];
    var allItems = $(itemId)[0];
    if (direct == 'left') {
        return left_control.attr('class') == 'cart_control_left';
    }
    else {
        return right_control.attr('class') == 'cart_control_right';
    }

}

function c_init() {
    if ($("#all_item_c div").length <= r_pageSize) {
        $("#img_cart_right").attr('class', 'cart_uncontrol_right');
    }
    else {
        $("#img_cart_right").attr('class', 'cart_control_right');
    }
}