﻿var size = 600;
var isIE = document.all;
var isNN = !document.all && document.getElementById;
var isN4 = document.layers;
var isHot = false;
var currentImageFileName = "";

document.onmousedown = ddInit;
document.onmouseup = Function("ddEnabled=false");

function changeSizeTo600() {
    size = 600;
    enlargeImage_ex(currentImageFileName);
}

function changeSizeTo1000() {
    size = 1000;
    enlargeImage_ex(currentImageFileName);
}

function enlargeImage_ex(sval, isItemHas1000) {
    var filename = sval;
    currentImageFileName = filename;

    if (isItemHas1000 == "False") {
        size = 600;
    }

    if (size == 600) {
        filename = filename.replace("/1000/", "/600/");
        document.getElementById("zoom_plus").style.display = "";
        document.getElementById("zoom_minus").style.display = "none";
    }

    if (size == 1000) {
        filename = filename.replace("/600/", "/1000/");
        document.getElementById("zoom_plus").style.display = "none";
        document.getElementById("zoom_minus").style.display = "";
    }

    if (isItemHas1000 == "False") {
        document.getElementById("zoom_plus").style.display = "none";
        document.getElementById("zoom_minus").style.display = "none";
    }

    enlargeImage(filename);
}

function enlargeImage(filename) {
    if (isIE || isNN) {
        whichDog.style.display = "";
    }
    else if (isN4) {
        document.Enlarge.style.display = "";
    }

    var img = document.getElementById("large_image");
    if (img != null) {
        img.src = filename;
    }
}
function hideImage() {
    if (isIE || isNN) whichDog.style.display = "none";
    else if (isN4) document.Enlarge.style.display = "none";
}
function ddInit(e) {
    topDog = isIE ? "BODY" : "HTML";
    whichDog = isIE ? document.all.Enlarge : document.getElementById("Enlarge");
    hotDog = isIE ? event.srcElement : e.target;

    while (hotDog != null && hotDog.id != "Enlarge" && hotDog.tagName != topDog) {
        hotDog = isIE ? hotDog.parentElement : hotDog.parentNode;
    }
    if (hotDog != null && hotDog.id == "Enlarge") {
        offsetx = isIE ? event.clientX : e.clientX;
        offsety = isIE ? event.clientY : e.clientY;
        nowX = parseInt(whichDog.style.left);
        nowY = parseInt(whichDog.style.top);
        ddEnabled = true;
        document.onmousemove = dd;
    }
}
function dd(e) {
    if (!ddEnabled) return;
    whichDog.style.left = isIE ? nowX + event.clientX - offsetx :
	nowX + e.clientX - offsetx;
    whichDog.style.top = isIE ? nowY + event.clientY - offsety :
	nowY + e.clientY - offsety;
    return false;
}
function ddN4(whatDog) {
    if (!isN4) return;
    N4 = eval(whatDog);
    N4.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP);
    N4.onmousedown = function(e) {
        N4.captureEvents(Event.MOUSEMOVE);
        N4x = e.x;
        N4y = e.y;
    }
    N4.onmousemove = function(e) {
        if (isHot) {
            N4.moveBy(e.x - N4x, e.y - N4y);
            return false;
        }
    }
    N4.onmouseup = function() {
        N4.releaseEvents(Event.MOUSEMOVE);
    }
}

////////////////// buy

function CheckSelectedProductToBuy() {
    var hfIsItemHasParent = document.getElementById(get_hfIsItemHasParentClientID());
    if (hfIsItemHasParent.value == 1) {
        if (!IsSpecificProductSelected() || !GetSelectedIdProduct()) {
            var lblMakeSelection = document.getElementById(get_lblMakeSelectionClientID());
            lblMakeSelection.style.display = "";
            return false;
        }
    }
    return true;
}
function KeyDownQty(idProd, cartRow, evObj) {
    if (evObj.keyCode == 13) {
        if (!CheckSelectedProductToBuy()) {
            return false;
        }
        var isEmailForAvailabilityButton = GetProductOption("isEmailForAvailabilityButton");
        var isHideBuyButtons = GetProductOption("isHideBuyButtons");
        if (isEmailForAvailabilityButton == "1" && isHideBuyButtons == "1") {
            var lbEmailForAvailability = document.getElementById(get_lbEmailForAvailabilityClientID());
            if (lbEmailForAvailability) {
                lbEmailForAvailability.click();
                return false;
            }
        }
        EnterBuyProduct('BuyProductButton_', idProd, cartRow, evObj);
        return true;
    }
}

function EnterBuyProduct(ButtonPrefix, idProduct, cartRow, objEv) {
    var event = objEv;
    if (event.keyCode == 13) {
        src = event.target;
        if (__nonMSDOMBrowser) {
            src = event.target;
        }
        else {
            src = event.srcElement;
        }
        tagName = src.tagName.toLowerCase();
        if ((tagName != "a") && ((tagName != "input") || ((src.type != "submit") && (src.type != "reset") && (src.type != "image") && (src.type != "file")))) {
            var ButtonTextId = ButtonPrefix + idProduct;
            BuyProductWithQuantity(
                        idProduct,
                        'ItemQuantity_',
                        'ps_additem.aspx?idCartRow=' + cartRow + '&idProduct=',
                        document.getElementById("ItemQuantity").value);
        }
        return false;
    }
    return true;
}

////////////////// item options.

function OptionParse(elem) {
    for (var i = 0; i < elem.options.length; i++) {
        var text = elem.options[i].text;
        if (text && text.indexOf('[0]') > -1) {
            var parsedText = text.replace('[0]', '');
            elem.options[i].innerHTML = 'UNAVAILABLE:&nbsp;' + parsedText;
            elem.options[i].style.color = 'red';
        }
    }
}

function GetSiteType() {
    var hfSiteType = document.getElementById(get_hfSiteTypeClientID());
    return hfSiteType.value;
}

function IsSpecificProductSelected() {
    var cbColor = document.getElementById(get_ddlColorClientID());
    if (cbColor && cbColor.value == "") {
        return false;
    }
    var cbStyle = document.getElementById(get_ddlStyleClientID());
    if (cbStyle && cbStyle.value == "") {
        return false;
    }
    var cbSize = document.getElementById(get_ddlSizeClientID());
    if (cbSize && cbSize.value == "") {
        return false;
    }
    var cbOption1 = document.getElementById(get_ddlOption1ClientID());
    if (cbOption1 && cbOption1.value == "") {
        return false;
    }
    var cbOption2 = document.getElementById(get_ddlOption2ClientID());
    if (cbOption2 && cbOption2.value == "") {
        return false;
    }
    var cbOption3 = document.getElementById(get_ddlOption3ClientID());
    if (cbOption3 && cbOption3.value == "") {
        return false;
    }
    return true;
}

function GetCountSelectedOptions() {
    var countSelected = 0;
    var cbColor = document.getElementById(get_ddlColorClientID());
    if (cbColor && cbColor.value != "") {
        countSelected++;
    }
    var cbStyle = document.getElementById(get_ddlStyleClientID());
    if (cbStyle && cbStyle.value != "") {
        countSelected++;
    }
    var cbSize = document.getElementById(get_ddlSizeClientID());
    if (cbSize && cbSize.value != "") {
        countSelected++;
    }
    var cbOption1 = document.getElementById(get_ddlOption1ClientID());
    if (cbOption1 && cbOption1.value != "") {
        countSelected++;
    }
    var cbOption2 = document.getElementById(get_ddlOption2ClientID());
    if (cbOption2 && cbOption2.value != "") {
        countSelected++;
    }
    var cbOption3 = document.getElementById(get_ddlOption3ClientID());
    if (cbOption3 && cbOption3.value != "") {
        countSelected++;
    }
    return countSelected;
}

// indicate is all options selected but one.
function IsLastOption() {
    var countOptions = document.getElementById(get_hfCountOfOptionsClientID()).value;
    // tempopary for one option.
    if (countOptions != 1) {
        return 0;
    }
    return 1;

    //if (GetCountSelectedOptions() == countOptions - 1)
    //{
    //    return 1;
    //}
    //return 0;
}

function updateOptions(value) {
    var lblMakeSelection = document.getElementById(get_lblMakeSelectionClientID());
    lblMakeSelection.style.display = "none";

    value = "islast:" + IsLastOption() + ";" + value;
    value = "webparent:" + get_PItemIdProduct() + ";" + value;
    SetAtLeastOneOptionSelected("1");
    var atLeastOneOptionPopulated = false;
    var behavior = null;
    if (value.indexOf("color:") > -1) {
        behavior = $find('behaviorStyle');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorSize');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption1');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption2');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption3');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
    }
    if (value.indexOf("style:") > -1) {
        behavior = $find('behaviorColor');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorSize');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption1');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption2');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption3');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
    }
    if (value.indexOf("size:") > -1) {
        behavior = $find('behaviorColor');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorStyle');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption1');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption2');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption3');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
    }
    if (value.indexOf("option1:") > -1) {
        behavior = $find('behaviorColor');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorStyle');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorSize');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption2');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption3');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
    }
    if (value.indexOf("option2:") > -1) {
        behavior = $find('behaviorColor');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorStyle');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorSize');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption1');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption3');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
    }
    if (value.indexOf("option3:") > -1) {
        behavior = $find('behaviorColor');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorStyle');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorSize');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption1');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
        behavior = $find('behaviorOption2');
        if (behavior) {
            behavior.set_contextKey(value);
            behavior._onParentChange(null, true);
            atLeastOneOptionPopulated = true;
        }
    }

    if (!atLeastOneOptionPopulated) {
        updateProduct();
    }
}

function GetOptionValues() {
    var retVal = "webparent:" + get_PItemIdProduct() + ";";
    retVal = retVal + "islast:" + IsLastOption() + ";";

    var ddlColor = document.getElementById(get_ddlColorClientID());
    var ddlStyle = document.getElementById(get_ddlStyleClientID());
    var ddlSize = document.getElementById(get_ddlSizeClientID());
    var ddlOption1 = document.getElementById(get_ddlOption1ClientID());
    var ddlOption2 = document.getElementById(get_ddlOption2ClientID());
    var ddlOption3 = document.getElementById(get_ddlOption3ClientID());

    if (ddlColor) {
        retVal = retVal + "color:" + ddlColor.value + ";";
    }
    if (ddlStyle) {
        retVal = retVal + "style:" + ddlStyle.value + ";";
    }
    if (ddlSize) {
        retVal = retVal + "size:" + ddlSize.value + ";";
    }
    if (ddlOption1) {
        retVal = retVal + "option1:" + ddlOption1.value + ";";
    }
    if (ddlOption2) {
        retVal = retVal + "option2:" + ddlOption2.value + ";";
    }
    if (ddlOption3) {
        retVal = retVal + "option3:" + ddlOption3.value + ";";
    }
    return retVal;
}

function IsAtLeastOneOptionSelected() {
    var hf = document.getElementById(get_hfIsAtLeastOneOptionSelectedClientID());
    return hf.value == "1";
}

function SetAtLeastOneOptionSelected(val) {
    var hf = document.getElementById(get_hfIsAtLeastOneOptionSelectedClientID());
    hf.value = val;
}

function updateProduct() {
    var sps = IsSpecificProductSelected();
    if (!sps) {
        SetSelectedIdProduct("");
    }
    UpdateLinks();
    var value = GetOptionValues();

    var behavior;
    if (IsAtLeastOneOptionSelected()) {
        behavior = $find('behaviorProductImage');
        if (behavior) {
            behavior.populate(value);
        }
        hfNumbOfTab = document.getElementById(get_hfNumbOfTabClientID());
        if (hfNumbOfTab.value == "2") {
            behavior = $find('behaviorProductImages85');
            if (behavior) {
                behavior.populate(value);
            }
        }
    }
    var sps = IsSpecificProductSelected();
    if (!sps) {
        if (IsAtLeastOneOptionSelected()) {
            behavior = $find('behaviorProductPriceRange');
            if (behavior) {
                behavior.populate(value);
            }
        }
        HideControls();
        return;
    }

    behavior = $find('behaviorIdProduct');
    if (behavior) {
        behavior.populate(value);
    }
}

function OnPopulatedIdProduct() {
    var hfSelectedIdProduct = document.getElementById(get_hfSelectedIdProductClientID());
    hfSelectedIdProduct.value = GetSelectedIdProduct();
    //var lblItemCodeTitle = document.getElementById("<%=lblItemCodeTitle.ClientID%>");
    //lblItemCodeTitle.style.display = "";

    ShowControls();
    UpdateLinks();
    var idProduct = GetSelectedIdProduct();

    if (!idProduct) {
        return;
    }
    var lblProductMakeSelection = document.getElementById(get_lblProductMakeSelectionClientID());
    lblProductMakeSelection.style.display = "none";

    var lblProductDescription = document.getElementById(get_lblProductDescriptionClientID());
    var lblLastBreadCrumb = document.getElementById(get_lblLastBreadCrumbClientID());
    var lblEnlargeProductDescription = document.getElementById(get_lblEnlargeProductDescriptionClientID());
    var lblIdProduct = document.getElementById(get_lblIdProductClientID());
    var lblProductAvailability = document.getElementById(get_lblProductAvailabilityClientID());
    var lbEmailForAvailability = document.getElementById(get_lbEmailForAvailabilityClientID());
    var lbEnlargeEmailForAvailability = document.getElementById(get_lbEnlargeEmailForAvailabilityClientID());


    lblIdProduct.innerHTML = idProduct;
    lblProductDescription.innerHTML = GetProductOption("description");
    lblLastBreadCrumb.innerHTML = lblProductDescription.innerHTML;
    lblLastBreadCrumb.alt = lblLastBreadCrumb.title = lblLastBreadCrumb.innerHTML;
    lblProductAvailability.innerHTML = "Availability: " + GetProductOption("availability");

    var within3days = GetProductOption("within3days");
    if (within3days == "1") {
        lblProductAvailability.style.color = "green";
    }
    else {
        lblProductAvailability.style.color = "red";
    }

    var details = GetProductOption("details");
    var isEmailForAvailabilityButton = GetProductOption("isEmailForAvailabilityButton");
    var isHideBuyButtons = GetProductOption("isHideBuyButtons");
    var addToCartButton = GetProductOption("addToCartButton");
    var priceBeforeSale = GetProductOption("priceBeforeSale");
    var price = GetProductOption("price");
    var listPrice = GetProductOption("listPrice");
    var youSave = GetProductOption("youSave");
    var shipping = GetProductOption("shipping");

    var overview = GetProductOption("overview");
    var htmlBlurb = GetProductOption("htmlBlurb");
    var mfg_info = GetProductOption("mfg_info");
    var mfg_warranty = GetProductOption("mfg_warranty");
    var specifications = GetProductOption("specifications");
    var whatIsInTheBox = GetProductOption("whatIsInTheBox");
    var articles = GetProductOption("articles");
    var forumDiscussion = GetProductOption("forumDiscussion");
    var expertReviews = GetProductOption("expertReviews");
    var blogs = GetProductOption("blogs");
    var userManual = GetProductOption("userManual");
    var isDayDeal = GetProductOption("isDayDeal");

    lblEnlargeProductDescription.innerHTML = lblProductDescription.innerHTML;

    var lblOverviewDescriptionTitle = document.getElementById(get_lblOverviewDescriptionTitleClientID());
    if (lblOverviewDescriptionTitle) {
        var lblProductDetails = document.getElementById(get_lblProductDetailsClientID());
        lblProductDetails.innerHTML = details;
    }

    if (isEmailForAvailabilityButton == "1") {
        lbEmailForAvailability.style.display = "";
        lbEnlargeEmailForAvailability.style.display = "";
    }
    else {
        lbEmailForAvailability.style.display = "none";
        lbEnlargeEmailForAvailability.style.display = "none";
    }



    var btnAddToCart = document.getElementById(get_btnAddToCartClientID());
    var btnPreOrder = document.getElementById(get_btnPreOrderClientID());
    var btnEnlargeAddToCart = document.getElementById(get_btnEnlargeAddToCartClientID());
    var btnEnlargePreOrder = document.getElementById(get_btnEnlargePreOrderClientID());

    if (addToCartButton == "1") {
        btnPreOrder.style.display = "none";
        btnAddToCart.style.display = "";
        btnEnlargePreOrder.style.display = "none";
        btnEnlargeAddToCart.style.display = "";
    }
    if (addToCartButton == "2") {
        btnAddToCart.style.display = "none";
        btnPreOrder.style.display = "";
        btnEnlargeAddToCart.style.display = "none";
        btnEnlargePreOrder.style.display = "";
    }

    var panBuyProduct = document.getElementById(get_panBuyProductClientID());
    if (isHideBuyButtons == "1") {
        panBuyProduct.style.display = "none";
        btnAddToCart.style.display = "none";
        btnPreOrder.style.display = "none";
    }
    else {
        panBuyProduct.style.display = "";
    }

    lblProductPriceBeforeSale = document.getElementById(get_lblProductPriceBeforeSaleClientID());

    if (priceBeforeSale) {
        lblProductPriceBeforeSale.innerHTML = priceBeforeSale;
        lblProductPriceBeforeSale.style.display = "";
    }
    else {
        lblProductPriceBeforeSale.style.display = "none";
        lblProductPriceBeforeSale.innerHTML = "";
    }

    var lblProductPrice = document.getElementById(get_lblProductPriceClientID());
    lblProductPrice.innerHTML = price;
    var enlargePrice = document.getElementById(get_lblEnlargeProductPriceClientID());
    if (enlargePrice) {
        enlargePrice.innerHTML = price;
    }

    if (GetSiteType() != 5) {
        //next for BML

        var panBmlPromoMessage = document.getElementById(get_panBmlPromoMessageClientID());
        var panBmlPaymentsAsLowAs = document.getElementById(get_panBmlPaymentsAsLowAsClientID());
        var panBmlBanner = document.getElementById(get_panBmlBannerClientID());
        var panBmlInfo = document.getElementById(get_panBmlInfoClientID());
        var lblBmlInfoPrice = document.getElementById(get_lblBmlInfoPriceClientID());

        var priceDec = price.substr(1, price.lenght);
        if (priceDec > 300) {
            panBmlPromoMessage.style.display = "";
        }
        else {
            panBmlPromoMessage.style.display = "none";
        }
        if (priceDec <= 300) {
            panBmlPaymentsAsLowAs.style.display = "";
        }
        else {
            panBmlPaymentsAsLowAs.style.display = "none";
        }
        var dc = GetDiscountCoef();
        var priceWithDiscount = priceDec * dc;
        if (priceWithDiscount > 150) {
            panBmlBanner.style.display = "none";
            panBmlInfo.style.display = "";
            var bmlPrice = priceWithDiscount * 0.03;
            if (bmlPrice < 10) {
                bmlPrice = 10;
            }
            lblBmlInfoPrice.innerHTML = parseInt(bmlPrice);
        }
        else {
            panBmlBanner.style.display = "";
            panBmlInfo.style.display = "none";
        }
    }

    var trProductListPrice = document.getElementById(get_trProductListPriceClientID());
    var trProductYouSave = document.getElementById(get_trProductYouSaveClientID());
    var lblProductListPrice = document.getElementById(get_lblProductListPriceClientID());
    var lblProductYouSave = document.getElementById(get_lblProductYouSaveClientID());
    if (listPrice) {
        lblProductListPrice.innerHTML = listPrice;
        lblProductYouSave.innerHTML = youSave;
        trProductListPrice.style.display = "";
        trProductYouSave.style.display = "";
    }
    else {
        trProductListPrice.style.display = "none";
        trProductYouSave.style.display = "none";
        lblProductListPrice.innerHTML = "";
        lblProductYouSave.innerHTML = ""
    }

    var hlImages = document.getElementById(get_hlImagesClientID());
    var linkAProductImg = document.getElementById("aProductImg");
    if (hlImages && linkAProductImg) {
        linkAProductImg.href = hlImages.href;
    }

    var hlProductFreeShipping = document.getElementById(get_hlProductFreeShippingClientID());
    var lblProductExtraShipping = document.getElementById(get_lblProductExtraShippingClientID());
    var lblShippingRemark = document.getElementById(get_lblShippingRemarkClientID());

    lblProductExtraShipping.style.display = "none";
    lblShippingRemark.style.display = "none";

    if (shipping == "0") {
        hlProductFreeShipping.style.display = "none";
    } else if (shipping == "-1") {
        hlProductFreeShipping.style.display = "";
    } else if (shipping != "-1" && shipping != "0") {
        hlProductFreeShipping.style.display = "none";
        lblProductExtraShipping.innerHTML = " + " + shipping;
        lblProductExtraShipping.style.display = "";
        lblShippingRemark.style.display = "";
    }

    var trProductOverview = document.getElementById(get_trProductOverviewClientID());
    if (trProductOverview) {
        var lblProductOverview = document.getElementById(get_lblProductOverviewClientID());
        if (overview) {
            trProductOverview.style.display = "";
            lblProductOverview.innerHTML = overview;
        }
        else {
            trProductOverview.style.display = "none";
        }
    }

    var trProductHtmlBlurb = document.getElementById(get_trProductHtmlBlurbClientID());
    if (trProductHtmlBlurb) {
        var lblProductHtmlBlurb = document.getElementById(get_lblProductHtmlBlurbClientID());
        if (htmlBlurb) {
            trProductHtmlBlurb.style.display = "";
            lblProductHtmlBlurb.innerHTML = htmlBlurb;
        }
        else {
            trProductHtmlBlurb.style.display = "none";
        }
    }

    var trProductSpecifications = document.getElementById(get_trProductSpecificationsClientID());
    if (trProductSpecifications) {
        var lblProductSpecifications = document.getElementById(get_lblProductSpecificationsClientID());
        if (specifications) {
            trProductSpecifications.style.display = "";
            lblProductSpecifications.innerHTML = specifications;
        }
        else {
            trProductSpecifications.style.display = "none";
        }
    }

    var trProductWhatIsInTheBox = document.getElementById(get_trProductWhatIsInTheBoxClientID());
    if (trProductWhatIsInTheBox) {
        var lblProductWhatIsInTheBox = document.getElementById(get_lblProductWhatIsInTheBoxClientID());
        if (whatIsInTheBox) {
            trProductWhatIsInTheBox.style.display = "";
            lblProductWhatIsInTheBox.innerHTML = whatIsInTheBox;
        }
        else {
            trProductWhatIsInTheBox.style.display = "none";
        }
    }

    var trProductMfgInfo = document.getElementById(get_trProductMfgInfoClientID());
    if (trProductMfgInfo) {
        var lblProductMfgInfo = document.getElementById(get_lblProductMfgInfoClientID());
        if (mfg_info) {
            trProductMfgInfo.style.display = "";
            lblProductMfgInfo.innerHTML = mfg_info;
        }
        else {
            trProductMfgInfo.style.display = "none";
        }
    }

    var trProductMfgWarranty = document.getElementById(get_trProductMfgWarrantyClientID());
    if (trProductMfgWarranty) {
        var lblProductMfgWarranty = document.getElementById(get_lblProductMfgWarrantyClientID());
        if (mfg_warranty) {
            trProductMfgWarranty.style.display = "";
            lblProductMfgWarranty.innerHTML = mfg_warranty;
        }
        else {
            trProductMfgWarranty.style.display = "none";
        }
    }

    var trProductArticles = document.getElementById(get_trProductArticlesClientID());
    if (trProductArticles) {
        var lblProductArticles = document.getElementById(get_lblProductArticlesClientID());
        if (articles) {
            trProductArticles.style.display = "";
            lblProductArticles.innerHTML = articles;
        }
        else {
            trProductArticles.style.display = "none";
        }
    }

    var trProductForumDiscussion = document.getElementById(get_trProductForumDiscussionClientID());
    if (trProductForumDiscussion) {
        var lblProductForumDiscussion = document.getElementById(get_lblProductForumDiscussionClientID());
        if (forumDiscussion) {
            trProductForumDiscussion.style.display = "";
            lblProductForumDiscussion.innerHTML = forumDiscussion;
        }
        else {
            trProductForumDiscussion.style.display = "none";
        }
    }

    var trProductExpertReviews = document.getElementById(get_trProductExpertReviewsClientID());
    if (trProductExpertReviews) {
        var lblProductExpertReviews = document.getElementById(get_lblProductExpertReviewsClientID());
        if (expertReviews) {
            trProductExpertReviews.style.display = "";
            lblProductExpertReviews.innerHTML = expertReviews;
        }
        else {
            trProductExpertReviews.style.display = "none";
        }
    }

    var trProductBlogs = document.getElementById(get_trProductBlogsClientID());
    if (trProductBlogs) {
        var lblProductBlogs = document.getElementById(get_lblProductBlogsClientID());
        if (blogs) {
            trProductBlogs.style.display = "";
            lblProductBlogs.innerHTML = blogs;
        }
        else {
            trProductBlogs.style.display = "none";
        }
    }

    var trProductUserManual = document.getElementById(get_trProductUserManualClientID());
    if (trProductUserManual) {
        var lblProductUserManual = document.getElementById(get_lblProductUserManualClientID());
        if (userManual) {
            trProductUserManual.style.display = "";
            lblProductUserManual.innerHTML = userManual;
        }
        else {
            trProductUserManual.style.display = "none";
        }
    }

    var trDayDeal = document.getElementById(get_trDayDealClientID());
    if (trDayDeal) {
        if (isDayDeal == "1") {
            trDayDeal.style.display = "";

            var hfDayDealProductMinutesLeft = document.getElementById(get_hfDayDealProductMinutesLeftClientID());
            if (hfDayDealProductMinutesLeft) {
                hfDayDealProductMinutesLeft.value = GetProductOption("dayDealProductMinutesLeft");
                StartMinutesVi = hfDayDealProductMinutesLeft.value;
            }
            var hfDayDealProductWorkSeconds = document.getElementById(get_hfDayDealProductWorkSecondsClientID());
            if (hfDayDealProductWorkSeconds) {
                hfDayDealProductWorkSeconds.value = GetProductOption("dayDealProductWorkSeconds");
                WorkSecondsVi = hfDayDealProductWorkSeconds.value;
            }            
        }
        else {
            trDayDeal.style.display = "none";
        }
    }
}

function GetSelectedIdProduct() {
    var hfIsItemHasParent = document.getElementById(get_hfIsItemHasParentClientID());
    if (hfIsItemHasParent.value == 1) {
        return GetProductOption("idProduct");
    }
    return document.getElementById(get_lblIdProductClientID()).innerHTML;
}
function GetProductOption(optionName) {
    var fullOptName = "[" + optionName + "]:";
    var options = document.getElementById(get_panProductOptionsClientID()).innerHTML;

    var optVal = "";

    var start = options.indexOf(fullOptName);
    if (start > -1) {
        var end = options.indexOf('[;]', start);
        if (end > -1) {
            optVal = options.substring(start + fullOptName.length, end);
        }
    }
    return optVal;
}

function SetSelectedIdProduct(value) {
    document.getElementById(get_lblIdProductClientID()).innerHTML = value;
}

function GetDiscountCoef() {
    return document.getElementById(get_hfDiscountCoefClientID()).value;
}

function OnPopulatedProductImages85() {
    var img85 = document.getElementById(get_panProductImages85ClientID());
    var imgLeftMenu85 = document.getElementById(get_panImages85LeftMenuClientID());
    if (img85 && imgLeftMenu85) {
        imgLeftMenu85.innerHTML = img85.innerHTML;
    }
}

function OnPopulatedProductImage() {
    var hlImages = document.getElementById(get_hlImagesClientID());
    var linkAProductImg = document.getElementById("aProductImg");
    if (hlImages && linkAProductImg) {
        linkAProductImg.href = hlImages.href;
    }
}

function GetSelectedProductDescription() {

    var prodDesc = "";
    if (IsSpecificProductSelected()) {
        prodDesc = GetProductOption("description")
    }
    else {
        var hfProductParentDesc = document.getElementById(get_hfProductParentDescClientID());
        prodDesc = hfProductParentDesc.value;
    }
    return prodDesc;
}


var countToPopulate = 0;
var countPopulated = 0;

function CallOneUpdateProduct() {
    countPopulated = countPopulated + 1;
    if (countPopulated == countToPopulate) {
        updateProduct();
        countPopulated = 0;
    }
}

function OnColorPopulated() {
    if (IsLastOption()) {
        var cbColor = document.getElementById(get_ddlColorClientID());
        if (cbColor) {
            OptionParse(cbColor);
        }
    }
    CallOneUpdateProduct();
}

function OnStylePopulated() {
    if (IsLastOption()) {
        var cbStyle = document.getElementById(get_ddlStyleClientID());
        if (cbStyle) {
            OptionParse(cbStyle);
        }
    }
    CallOneUpdateProduct();
}

function OnSizePopulated() {
    if (IsLastOption()) {
        var cbSize = document.getElementById(get_ddlSizeClientID());
        if (cbSize) {
            OptionParse(cbSize);
        }
    }
    CallOneUpdateProduct();
}

function OnOption1Populated() {
    if (IsLastOption()) {
        var cbOption1 = document.getElementById(get_ddlOption1ClientID());
        if (cbOption1) {
            OptionParse(cbOption1);
        }
    }
    CallOneUpdateProduct();
}

function OnOption2Populated() {
    if (IsLastOption()) {
        var cbOption2 = document.getElementById(get_ddlOption2ClientID());
        if (cbOption2) {
            OptionParse(cbOption2);
        }
    }
    CallOneUpdateProduct();
}

function OnOption3Populated() {
    if (IsLastOption()) {
        var cbOption3 = document.getElementById(get_ddlOption3ClientID());
        if (cbOption3) {
            OptionParse(cbOption3);
        }
    }
    CallOneUpdateProduct();
}

function UpdateLinks() {
    var idProduct = get_PItemIdProduct();
    var child = GetSelectedIdProduct();

    var hfParamCategory = document.getElementById(get_hfParamCategoryClientID());
    var hfParamIdCategory = document.getElementById(get_hfParamIdCategoryClientID());

    var link = "ps_ViewItem.aspx?"

    if (hfParamCategory.value) {
        link = link + "category=" + hfParamCategory.value;
    }

    link = link + "&vendor=" + get_ParamVendor();

    link = link + "&idProduct=" + idProduct;

    if (hfParamIdCategory.value) {
        link = link + "&IdCategory=" + hfParamIdCategory.value;
    }

    var prodDesc = GetSelectedProductDescription();

    var ddlColor = document.getElementById(get_ddlColorClientID());
    var ddlStyle = document.getElementById(get_ddlStyleClientID());
    var ddlSize = document.getElementById(get_ddlSizeClientID());
    var ddlOption1 = document.getElementById(get_ddlOption1ClientID());
    var ddlOption2 = document.getElementById(get_ddlOption2ClientID());
    var ddlOption3 = document.getElementById(get_ddlOption3ClientID());

    var extraParams = "";

    if (ddlColor && ddlColor.value) {
        extraParams = extraParams + "&color=" + encodeURIComponent(ddlColor.value);
    }
    if (ddlStyle && ddlStyle.value) {
        extraParams = extraParams + "&style=" + encodeURIComponent(ddlStyle.value);
    }
    if (ddlSize && ddlSize.value) {
        extraParams = extraParams + "&size=" + encodeURIComponent(ddlSize.value);
    }
    if (ddlOption1 && ddlOption1.value) {
        extraParams = extraParams + "&option1=" + encodeURIComponent(ddlOption1.value);
    }
    if (ddlOption2 && ddlOption2.value) {
        extraParams = extraParams + "&option2=" + encodeURIComponent(ddlOption2.value);
    }
    if (ddlOption3 && ddlOption3.value) {
        extraParams = extraParams + "&option3=" + encodeURIComponent(ddlOption3.value);
    }

    if (child) {
        link = link + "&child=" + child;
    }

    var elem = document.getElementById(get_hlOverviewClientID());
    if (elem) {
        elem.href = link + "&tab=0" + extraParams;
        elem.alt = elem.title = "Overview: " + prodDesc;
    }

    elem = document.getElementById(get_hlDetailsClientID());
    if (elem) {
        elem.href = link + "&tab=1" + extraParams;
        elem.alt = elem.title = "Details: " + prodDesc;
    }

    elem = document.getElementById(get_hlImagesClientID());
    if (elem) {
        elem.href = link + "&tab=2" + extraParams;
        elem.alt = elem.title = "Images: " + prodDesc;

        var hlProductImage = document.getElementById(get_hlProductImageClientID());
        if (hlProductImage) {
            hlProductImage.href = elem.href;
            hlProductImage.alt = hlProductImage.title = prodDesc;
        }

        var panProductImage = document.getElementById(get_panProductImageClientID());
        if (panProductImage) {
            panProductImage.alt = panProductImage.title = prodDesc;
        }
    }

    elem = document.getElementById(get_hlEducationClientID());
    if (elem) {
        elem.href = link + "&tab=3" + extraParams;
        elem.alt = elem.title = "Support: " + prodDesc;
    }

    elem = document.getElementById(get_hlReviewsClientID());
    if (elem) {
        elem.href = link + "&tab=4" + extraParams;
        elem.alt = elem.title = "Customer Reviews: " + prodDesc;
    }

    elem = document.getElementById(get_hlAccessoriesClientID());
    if (elem) {
        elem.href = link + "&tab=5" + extraParams;
        elem.alt = elem.title = "Accessories: " + prodDesc;
    }

    /*
    link = "ps_optEmailToFriendForm.aspx?idProduct=" + idProduct;
    elem = document.getElementById("<%=hlEmailToFriend.ClientID%>");
    if (elem) {
    elem.href = link;
    }*/
}

function addInitValues() {
    var hfIsItemHasParent = document.getElementById(get_hfIsItemHasParentClientID());
    if (hfIsItemHasParent.value == 1) {
        HideControls();
    }
}

function HideControls() {
    //var panBuyProduct = document.getElementById("<%=panBuyProduct.ClientID%>");
    var panEnlargeBuyProduct = document.getElementById(get_panEnlargeBuyProductClientID());
    //var trIdProduct = document.getElementById("<%=trIdProduct.ClientID%>");
    var trProductAvailability = document.getElementById(get_trProductAvailabilityClientID());
    var trProductListPrice = document.getElementById(get_trProductListPriceClientID());
    var trProductYouSave = document.getElementById(get_trProductYouSaveClientID());
    var trProductFreeShipping = document.getElementById(get_trProductFreeShippingClientID());
    var lblProductExtraShipping = document.getElementById(get_lblProductExtraShippingClientID());
    var lblShippingRemark = document.getElementById(get_lblShippingRemarkClientID());
    var hlProductFreeShipping = document.getElementById(get_hlProductFreeShippingClientID());
    var panBmlPromoMessage = document.getElementById(get_panBmlPromoMessageClientID());
    var panBmlPaymentsAsLowAs = document.getElementById(get_panBmlPaymentsAsLowAsClientID());
    var panBmlBanner = document.getElementById(get_panBmlBannerClientID());
    var panBmlInfo = document.getElementById(get_panBmlInfoClientID());
    var lblOverviewDescriptionTitle = document.getElementById(get_lblOverviewDescriptionTitleClientID());
    var lblProductDetails = document.getElementById(get_lblProductDetailsClientID());
    //var trOverviewDetails = document.getElementById("<%=trOverviewDetails.ClientID%>");
    var lblProductPriceBeforeSale = document.getElementById(get_lblProductPriceBeforeSaleClientID());
    var trDayDeal = document.getElementById(get_trDayDealClientID());

    //trIdProduct.style.display = "none";
    trProductAvailability.style.display = "none";
    //panBuyProduct.style.display = "none";
    panEnlargeBuyProduct.style.display = "none";
    lblProductExtraShipping.style.display = "none";
    lblShippingRemark.style.display = "none";
    hlProductFreeShipping.style.display = "none";
    trProductListPrice.style.display = "none";
    trProductYouSave.style.display = "none";
    trDayDeal.style.display = "none";

    if (lblOverviewDescriptionTitle) {
        var hfProductDetails = document.getElementById(get_hfProductDetailsClientID());
        lblProductDetails.innerHTML = hfProductDetails.value;
        //lblOverviewDescriptionTitle.style.display = "none";

        //trOverviewDetails.style.display = "none";
    }

    var trProductOverview = document.getElementById(get_trProductOverviewClientID());
    if (trProductOverview) {
        var hfProductOverview = document.getElementById(get_hfProductOverviewClientID());
        if (hfProductOverview.value) {
            trProductOverview.style.display = "";
            document.getElementById(get_lblProductOverviewClientID()).innerHTML = hfProductOverview.value;
        }
        else {
            trProductOverview.style.display = "none";
        }
    }
    var trProductHtmlBlurb = document.getElementById(get_trProductHtmlBlurbClientID());
    if (trProductHtmlBlurb) {
        var hfProductHtmlBlurb = document.getElementById(get_hfProductHtmlBlurbClientID());
        if (hfProductHtmlBlurb.value) {
            trProductHtmlBlurb.style.display = "";
            document.getElementById(get_lblProductHtmlBlurbClientID()).innerHTML = hfProductHtmlBlurb.value;
        }
        else {
            trProductHtmlBlurb.style.display = "none";
        }
    }
    var trProductSpecifications = document.getElementById(get_trProductSpecificationsClientID());
    if (trProductSpecifications) {
        var hfProductSpecifications = document.getElementById(get_hfProductSpecificationsClientID());
        if (hfProductSpecifications.value) {
            trProductSpecifications.style.display = "";
            document.getElementById(get_lblProductSpecificationsClientID()).innerHTML = hfProductSpecifications.value;
        }
        else {
            trProductSpecifications.style.display = "none";
        }
    }
    var trProductWhatIsInTheBox = document.getElementById(get_trProductWhatIsInTheBoxClientID());
    if (trProductWhatIsInTheBox) {
        var hfProductWhatIsInTheBox = document.getElementById(get_hfProductWhatIsInTheBoxClientID());
        if (hfProductWhatIsInTheBox.value) {
            trProductWhatIsInTheBox.style.display = "";
            document.getElementById(get_lblProductWhatIsInTheBoxClientID()).innerHTML = hfProductWhatIsInTheBox.value;
        }
        else {
            trProductWhatIsInTheBox.style.display = "none";
        }
    }
    var trProductMfgInfo = document.getElementById(get_trProductMfgInfoClientID());
    if (trProductMfgInfo) {
        var hfProductMfgInfo = document.getElementById(get_hfProductMfgInfoClientID());
        if (hfProductMfgInfo.value) {
            trProductMfgInfo.style.display = "";
            document.getElementById(get_lblProductMfgInfoClientID()).innerHTML = hfProductMfgInfo.value;
        }
        else {
            trProductMfgInfo.style.display = "none";
        }
    }
    var trProductMfgWarranty = document.getElementById(get_trProductMfgWarrantyClientID());
    if (trProductMfgWarranty) {
        var hfProductMfgWarranty = document.getElementById(get_hfProductMfgWarrantyClientID());
        if (hfProductMfgWarranty.value) {
            trProductMfgWarranty.style.display = "";
            document.getElementById(get_lblProductMfgWarrantyClientID()).innerHTML = hfProductMfgWarranty.value;
        }
        else {
            trProductMfgWarranty.style.display = "none";
        }
    }
    var trProductArticles = document.getElementById(get_trProductArticlesClientID());
    if (trProductArticles) {
        var hfProductArticles = document.getElementById(get_hfProductArticlesClientID());
        if (hfProductArticles.value) {
            trProductArticles.style.display = "";
            document.getElementById(get_lblProductArticlesClientID()).innerHTML = hfProductArticles.value;
        }
        else {
            trProductArticles.style.display = "none";
        }
    }
    var trProductForumDiscussion = document.getElementById(get_trProductForumDiscussionClientID());
    if (trProductForumDiscussion) {
        var hfProductForumDiscussion = document.getElementById(get_hfProductForumDiscussionClientID());
        if (hfProductForumDiscussion.value) {
            trProductForumDiscussion.style.display = "";
            document.getElementById(get_lblProductForumDiscussionClientID()).innerHTML = hfProductForumDiscussion.value;
        }
        else {
            trProductForumDiscussion.style.display = "none";
        }
    }
    var trProductExpertReviews = document.getElementById(get_trProductExpertReviewsClientID());
    if (trProductExpertReviews) {
        var hfProductExpertReviews = document.getElementById(get_hfProductExpertReviewsClientID());
        if (hfProductExpertReviews.value) {
            trProductExpertReviews.style.display = "";
            document.getElementById(get_lblProductExpertReviewsClientID()).innerHTML = hfProductExpertReviews.value;
        }
        else {
            trProductExpertReviews.style.display = "none";
        }
    }
    var trProductBlogs = document.getElementById(get_trProductBlogsClientID());
    if (trProductBlogs) {
        var hfProductBlogs = document.getElementById(get_hfProductBlogsClientID());
        if (hfProductBlogs.value) {
            trProductBlogs.style.display = "";
            document.getElementById(get_lblProductBlogsClientID()).innerHTML = hfProductBlogs.value;
        }
        else {
            trProductBlogs.style.display = "none";
        }
    }
    var trProductUserManual = document.getElementById(get_trProductUserManualClientID());
    if (trProductUserManual) {
        var hfProductUserManual = document.getElementById(get_hfProductUserManualClientID());
        if (hfProductUserManual.value) {
            trProductUserManual.style.display = "";
            document.getElementById(get_lblProductUserManualClientID()).innerHTML = hfProductUserManual.value;
        }
        else {
            trProductUserManual.style.display = "none";
        }
    }

    if (GetSiteType() != 5) {
        panBmlBanner.style.display = "none";
        panBmlInfo.style.display = "none";
        panBmlPromoMessage.style.display = "none";
        panBmlPaymentsAsLowAs.style.display = "none";
    }
    var lblProductDescription = document.getElementById(get_lblProductDescriptionClientID());
    var lblEnlargeProductDescription = document.getElementById(get_lblEnlargeProductDescriptionClientID());
    var lblLastBreadCrumb = document.getElementById(get_lblLastBreadCrumbClientID());
    var hfProductParentDesc = document.getElementById(get_hfProductParentDescClientID());

    lblProductDescription.innerHTML = hfProductParentDesc.value;
    lblLastBreadCrumb.innerHTML = hfProductParentDesc.value;
    lblLastBreadCrumb.alt = lblLastBreadCrumb.title = lblLastBreadCrumb.innerHTML;
    lblEnlargeProductDescription.innerHTML = hfProductParentDesc.value;

    var trProductPrice = document.getElementById(get_trProductPriceClientID());
    trProductPrice.style.display = "none";
    var trProductPriceRange = document.getElementById(get_trProductPriceRangeClientID());
    trProductPriceRange.style.display = "";
    lblProductPriceBeforeSale.style.display = "none";

    var lblEnlargeProductPriceTitle = document.getElementById(get_lblEnlargeProductPriceTitleClientID());
    lblEnlargeProductPriceTitle.innerHTML = "Price Range: ";
    var lblEnlargeProductPrice = document.getElementById(get_lblEnlargeProductPriceClientID());
    var hfProductPriceRange = document.getElementById(get_hfProductPriceRangeClientID());
    lblEnlargeProductPrice.innerHTML = hfProductPriceRange.value;

    var lblProductMakeSelection = document.getElementById(get_lblProductMakeSelectionClientID());
    lblProductMakeSelection.style.display = "";

    var btnAddToCart = document.getElementById(get_btnAddToCartClientID());
    var btnPreOrder = document.getElementById(get_btnPreOrderClientID());
    var lbEmailForAvailability = document.getElementById(get_lbEmailForAvailabilityClientID());

    btnPreOrder.style.display = "none";
    lbEmailForAvailability.style.display = "none";
    btnAddToCart.style.display = "";
}

function ShowControls() {
    //var panBuyProduct = document.getElementById("<%=panBuyProduct.ClientID%>");
    var panEnlargeBuyProduct = document.getElementById(get_panEnlargeBuyProductClientID());
    //var trIdProduct = document.getElementById("<%=trIdProduct.ClientID%>");
    var trProductAvailability = document.getElementById(get_trProductAvailabilityClientID());
    var trProductFreeShipping = document.getElementById(get_trProductFreeShippingClientID());

    //trIdProduct.style.display = "";
    trProductAvailability.style.display = "";
    //panBuyProduct.style.display = "";
    panEnlargeBuyProduct.style.display = "";

    var trProductPrice = document.getElementById(get_trProductPriceClientID());
    trProductPrice.style.display = "";
    var trProductPriceRange = document.getElementById(get_trProductPriceRangeClientID());
    trProductPriceRange.style.display = "none";
    var lblEnlargeProductPriceTitle = document.getElementById(get_lblEnlargeProductPriceTitleClientID());
    lblEnlargeProductPriceTitle.innerHTML = "Price: ";
}




function addEvents() {
    var behavior = $find('behaviorIdProduct');
    if (behavior) {
        behavior.add_populated(OnPopulatedIdProduct);
    }
    behavior = $find('behaviorProductImages85');
    if (behavior) {
        behavior.add_populated(OnPopulatedProductImages85);
    }
    behavior = $find('behaviorProductImage');
    if (behavior) {
        behavior.add_populated(OnPopulatedProductImage);
    }
    // options populated

    behavior = $find('behaviorColor');
    if (behavior) {
        countToPopulate = countToPopulate + 1;
        behavior.add_populated(OnColorPopulated);
    }
    behavior = $find('behaviorStyle');
    if (behavior) {
        countToPopulate = countToPopulate + 1;
        behavior.add_populated(OnStylePopulated);
    }
    behavior = $find('behaviorSize');
    if (behavior) {
        countToPopulate = countToPopulate + 1;
        behavior.add_populated(OnSizePopulated);
    }
    behavior = $find('behaviorOption1');
    if (behavior) {
        countToPopulate = countToPopulate + 1;
        behavior.add_populated(OnOption1Populated);
    }
    behavior = $find('behaviorOption2');
    if (behavior) {
        countToPopulate = countToPopulate + 1;
        behavior.add_populated(OnOption2Populated);
    }
    behavior = $find('behaviorOption3');
    if (behavior) {
        countToPopulate = countToPopulate + 1;
        behavior.add_populated(OnOption3Populated);
    }
}

Sys.Application.add_load(function() { addInitValues(); });
Sys.Application.add_load(function() { addEvents(); }); 