
// ========================================================================================================

var strProductJSON = strProductJSON ? strProductJSON : [];

// ========================================================================================================

var slider = new LC_slider();
slider.width = 900;
slider.height = 380;
slider.container = $("LC_slider");

var rows = 2;
var columns = 5;
var counter = 0;
var sections = Math.ceil(strProductJSON.length / (rows * columns));

for (var i = 0; i < sections; i++) {

    var html = "<table style=\"margin: 0 auto;\">";

    for (var y = 0; y < rows; y++) {

        html += "<tr class=\"row_" + (y + 1) + "\">";

        for (var x = 0; x < columns; x++) {

            if (strProductJSON[counter]) {

                html += "<td class='is_product' width='" + (100 / columns) + "%'><a href='../../Products/Details.aspx?ProductID=" + strProductJSON[counter]["ProductId"] + "'><img border='0' src='../../Images/Site/products/box/" + ((strProductJSON[counter]["ImageExists"] === false) ? "../../placeholder_packaging.jpg" : strProductJSON[counter]["ProductId"] + ".gif") + "' alt='Lean Cuisine " + strProductJSON[counter]["Subline"] + ":" + escape(strProductJSON[counter]["EntreeName"]) + "' /></a><br><a href='../../Products/Details.aspx?ProductID=" + strProductJSON[counter]["ProductId"] + "'>" + strProductJSON[counter]["EntreeName"] + "</a></td>";

            } else {

                html += "<td width='" + (100 / columns) + "%'><img src='../../Images/Site/transparent.gif' /></td>";

            } // end if

            counter++;

        } // end for

        html += "</tr>";

    } // end for

    html += "</table>";

    slider.add_tile(html);

} // end for

slider.render();

// ========================================================================================================

slider.tile_info = { "rows": rows,
    "columns": columns,
    "num_products": strProductJSON.length,
    "sections": sections
};

// ========================================================================================================

var toggle_show_all = function(subline) {
    switch ($("LC_slider_control_left").style.display) {
        case "":
            // Track Link for metrics
            if (typeof (trackEvent) == 'function') {
                trackEvent('click', { prop26: 'Prod_' + subline.replace(' ', '_') + '_Show_All' });
            }
            $("LC_show_all").innerHTML = "view 10";
            $("LC_slider_control_left").style.display = "none";
            $("LC_slider_control_right").style.display = "none";

            var elements = $$("#LC_slider tr.row_2 td");
            var elementsLength = elements.length;
            for (i = 0; i < elementsLength; i++) {
                elements[i].style.paddingTop = "0px";
            }

            var elements = $$("#LC_slider div");
            var elementsLength = elements.length;
            for (i = 0; i < elementsLength; i++) {
                elements[i].old_position = elements[i].style.position;
                elements[i].style.position = "static";
            }

            var elements = $$("#LC_slider div")[0].getElements("div");
            var elementsLength = elements.length;
            for (i = 0; i < elementsLength; i++) {
                if (!elements[i].old_height) {
                    elements[i].old_height = elements[i].getSize().y;
                }
                elements[i].style.height = "auto";
            }


            var tween_a = new Fx.Tween("LC_slider", { "property": "height" });
            var tween_b = new Fx.Tween("LC_slider_container", { "property": "height" });

            var total_rows = (Math.floor(this.tile_info["num_products"] / this.tile_info["columns"])) + (((this.tile_info["num_products"] % this.tile_info["columns"]) > 0) ? 1 : 0);
            var total_height = 100; // initial padding to add to total height

            for (var x = 0; x < total_rows; x++) {

                total_height += $("LC_slider").getElements("div")[0].getElements("tr")[x].getElements("td")[0].getSize().y;

            } // end for


            if (total_height > $("LC_slider").getSize().y) {

                tween_a.start(total_height);
                tween_b.start(total_height);

            } // end if

            this.show_all = true;

            update_pagination();

            break;

        case "none":
            $("LC_show_all").innerHTML = "view all";
            var elements = $$("#LC_slider tr.row_2 td");
            var elementsLength = elements.length;
            for (i = 0; i < elementsLength; i++) {
                elements[i].style.paddingTop = "";
            }

            var elements = $$("#LC_slider div");
            var elementsLength = elements.length;
            for (i = 0; i < elementsLength; i++) {

                elements[i].style.position = elements[i].old_position;
            }

            var tween_a = new Fx.Tween($("LC_slider"), { "property": "height" });
            var tween_b = new Fx.Tween($("LC_slider_container"), { "property": "height" });

            tween_a.addEvent("complete", function() {

                $("LC_slider_control_left").style.display = "";
                $("LC_slider_control_right").style.display = "";

                var elements = $$("#LC_slider div")[0].getElements("div");
                var elementsLength = elements.length;
                for (i = 0; i < elementsLength; i++) {
                    elements[i].style.height = elements[i].old_height + "px";
                }


            });
            tween_a.start("442px");
            tween_b.start("442px");

            this.show_all = false;

            update_pagination();

            break;

    } // end switch

} .bind(slider);                            // end toggle_show_all()

// ========================================================================================================

var toggle_slider_buttons = function() {

    if (this.current_tile > 0) {

        if (!$("LC_slider_control_left").mouse_entered) {

            $("LC_slider_control_left").src = "../../Images/Redesign2011/Collections/left_arrow.png";

        } // end if

        $("LC_slider_control_left").style.cursor = "pointer";
        $("LC_slider_control_left").mouseover_disabled = false;

    } else {

        $("LC_slider_control_left").src = "../../Images/Redesign2011/Collections/arrow_left_gray.png";
        $("LC_slider_control_left").style.cursor = "auto";
        $("LC_slider_control_left").mouseover_disabled = true;

    } // end if

    if (this.current_tile < (this.tiles.length - 1)) {

        if (!$("LC_slider_control_right").mouse_entered) {

            $("LC_slider_control_right").src = "../../Images/Redesign2011/Collections/right_arrow.png";

        } // end if

        $("LC_slider_control_right").style.cursor = "pointer";
        $("LC_slider_control_right").mouseover_disabled = false;

    } else {

        $("LC_slider_control_right").src = "../../Images/Redesign2011/Collections/arrow_right_gray.png"
        $("LC_slider_control_right").style.cursor = "auto";
        $("LC_slider_control_right").mouseover_disabled = true;

    } // end if

} .bind(slider); // end toggle_slider_buttons()

// ========================================================================================================

var update_pagination = function() {

    if (!this.slider.show_all) {

        var max_length = ((this.slider.current_tile * (this.rows * this.columns)) + (this.rows * this.columns));
        max_length = (this.counter < max_length) ? this.counter : max_length;

        $("LC_current_page").innerHTML = ((this.slider.current_tile * (this.rows * this.columns)) + 1) + "-" + max_length;
        $("LC_total_results").innerHTML = this.counter;

    } else {

        $("LC_current_page").innerHTML = "1-" + this.counter;
        $("LC_total_results").innerHTML = this.counter;

    } // end if

} .bind({ "rows": rows,
    "columns": columns,
    "counter": strProductJSON.length,
    "slider": slider
}); // end update_pagination()

// ========================================================================================================

$("LC_slider_control_left").addEvent("click", function() { if (this.tweening) { return; } var tween = this.back(); if (!tween) { return; } tween.addEvent("complete", function() { toggle_slider_buttons(); update_pagination(); }); } .bind(slider));
$("LC_slider_control_left").addEvent("mouseenter", function() {
    this.mouse_entered = true;
    if (!this.mouseover_disabled) {
        var src = this.getProperty('src');
        var extension = src.substring(src.lastIndexOf('.'), src.length);
        this.setProperty('src', src.replace(extension, '-over' + extension));
    }
});
$("LC_slider_control_left").addEvent("mouseleave", function() { this.mouse_entered = false; if (!this.mouseover_disabled) { toggle_slider_buttons(); } } .bind($("LC_slider_control_left")));

$("LC_slider_control_right").addEvent("click", function() { if (this.tweening) { return; } var tween = this.forward(); if (!tween) { return; } tween.addEvent("complete", function() { toggle_slider_buttons(); update_pagination(); }); } .bind(slider));
$("LC_slider_control_right").addEvent("mouseenter", function() {
    this.mouse_entered = true;
    if (!this.mouseover_disabled) {
        var src = this.getProperty('src');
        var extension = src.substring(src.lastIndexOf('.'), src.length);
        this.setProperty('src', src.replace(extension, '-over' + extension));
    }
});
$("LC_slider_control_right").addEvent("mouseleave", function() { this.mouse_entered = false; if (!this.mouseover_disabled) { toggle_slider_buttons(); } } .bind($("LC_slider_control_right")));

toggle_slider_buttons(slider);
update_pagination();

// ========================================================================================================

