    function toggleSectionPointItem(checkId, childId) {
        var pointObj = document.getElementById(checkId);
        var pointType = pointObj.src.toLowerCase();
        if (pointType.indexOf('point_item_plus') != -1) {
            //show
            pointObj.src="/images/point_item_minus.gif";
            showObject(childId);
        } else {
            // hide
            pointObj.src="/images/point_item_plus.gif";
            hideObject(childId);
        }
    }
    function evaluateCompareState() {
        if (thisIsAComparePage) {
            showObject('myma_save_list_items');
            showObject('myma_prev_compare_items');
            if (document.getElementById('myma_save_list_check')) {
                document.getElementById('myma_save_list_check').src = "/images/point_item_minus.gif";
                document.getElementById('myma_prev_compare_check').src = "/images/point_item_minus.gif";
            }
        }
        if (thisIsANewsPage) {
            showObject('myma_prev_news_items');
            if (document.getElementById('myma_prev_news_check')) {
                document.getElementById('myma_prev_news_check').src = "/images/point_item_minus.gif";
            }
        }
        if (thisIsAnArticlePage) {
            showObject('myma_prev_article_items');
            if (document.getElementById('myma_prev_article_check')) {
                document.getElementById('myma_prev_article_check').src = "/images/point_item_minus.gif";
            }
        }
        if (thisIsAResourcesPage) {
            showObject('myma_prev_resources_items');
            if (document.getElementById('myma_prev_resources_check')) {
                document.getElementById('myma_prev_resources_check').src = "/images/point_item_minus.gif";
            }
        }
        if (thisIsANewsletterPage) {
            showObject('myma_prev_newsletter_items');
            if (document.getElementById('myma_prev_newsletter_check')) {
                document.getElementById('myma_prev_newsletter_check').src = "/images/point_item_minus.gif";
            }
        }
    }
    OnLoadEvents['eval_compare_state'] = "evaluateCompareState()";
    function doSaveFeature(featureProp, featureVal, specId) {
        //alert("I am dosaveFeatures, featureProp="+ featureProp + ", value="+featureVal);
            tunnelData('/maonline/member/spec/list.jspx', 'mode=updateAjax&changed=1&tmpFeatureKey=' + featureProp + '&tmpFeatureValue=' + featureVal, '10', 'savedFeatureProperty()', false);
    }

    var addItemToCartError = false;
    var addItemMaxError = 'You cannot add more than 50 items to the saved list.';
    function addItemToCart(itemId,itemLink,itemLabel) {
        addItemToCartError = false;
        var hotCartListObjChildren = document.getElementById('hot_cart_list').childNodes;
        var cartListItemExists = false;
        var hotListChildLICount = 0;
        for (var i=0; i<hotCartListObjChildren.length; i++) {
            if (hotCartListObjChildren[i].nodeName.toUpperCase() == 'LI') {
                hotListChildLICount++;
                //console.append(hotCartListObjChildren[i].getAttribute("product_id"));
                if (itemId == hotCartListObjChildren[i].getAttribute("product_id")) {
                    cartListItemExists = true;
                }
            }
        }
        if (hotListChildLICount >= 50) {
            alert(addItemMaxError);
        } else {
            if (!cartListItemExists) {
                var tunnelMsg = trimString(tunnelData('/maonline/minireg/cart.jspx', 'mode=addAjax&carrier=1&id=' + itemId, '', '', true));
                if (tunnelMsg == "true") {
                    zoom('startBox_' + itemId + '_', 'endBox');
                    setTimeout("appendCartListItems('" + itemId + "', '" + itemLink + "', '" + itemLabel + "')", 600);
                    hotListChildLICount++;
                } else if (tunnelMsg == "reload") {
                    window.location.reload();
                } else {
                    addItemToCartError = true;
                    alert(tunnelMsg);
                }
            } else {
                addItemToCartError = true;
                alert('This item is already in your saved list.');
            }
            if (hotListChildLICount > 1) {
                showObject('toolCompareNow');
            }
            document.getElementById("savedProductCount").innerHTML=hotListChildLICount;
            document.getElementById("savedProductTimestamp").innerHTML=formatDate(new Date(),"M/dd/yyyy h:mma");
        }
    }
    function appendCartListItems(cartItemId, cartItemLink, cartItemLabel) {
        // first check if this item already exists
        var newListLink = document.createElement('A');
        newListLink.href = cartItemLink;
        newListLink.className = "note";

        var justAddedContainer = document.createElement('SPAN');
        justAddedContainer.className = "toolbarTag";
        justAddedContainer.appendChild(document.createTextNode("\u00A0(just\u00A0added\u0021)"));

        newListLink.appendChild(document.createTextNode(cartItemLabel));

        var newListElement = document.createElement('LI');
        newListElement.id = "cart_list_item_" + cartItemId;
        newListElement.setAttribute("product_id", cartItemId);
        newListElement.setAttribute("target_url", cartItemLink);
        newListElement.setAttribute("product_name", cartItemLabel);
        newListElement.appendChild(newListLink);
        newListElement.appendChild(justAddedContainer);

        var hotCartListObj = document.getElementById('hot_cart_list');
        hotCartListObj.appendChild(newListElement);

        var thisSaveImgObj = document.getElementById('saveProdImg_' + cartItemId);
        if(thisSaveImgObj) {
            thisSaveImgObj.src="/images/buttons/saved.gif";
        }
    }
    function removeCartItem(cartItemId) {
        if (cartItemId) {
            var submitURL = "/maonline/directory/cart.jspx";
            tunnelData(submitURL, 'mode=removeAjax&id=' + cartItemId, null, null, true);
            var cartListObj = 'cart_list_item_' + cartItemId;
            removeNode(cartListObj);

            var hotCartListObjChildren = document.getElementById('hot_cart_list').childNodes;
            var cartListItemExists = false;
            var hotListChildLICount = 0;
            for (var i=0; i<hotCartListObjChildren.length; i++) {
                if (hotCartListObjChildren[i].nodeName.toUpperCase() == 'LI') {
                    hotListChildLICount++;
                    if (cartItemId == hotCartListObjChildren[i].getAttribute("product_id")) {
                        cartListItemExists = true;
                    }
                }
            }
            if (hotListChildLICount <= 1) {
                hideObject('toolCompareNow');
            }
            document.getElementById("savedProductCount").innerHTML=hotListChildLICount;
            document.getElementById("savedProductTimestamp").innerHTML=formatDate(new Date(),"M/dd/yyyy h:mma");
            var compareNowFormObj = document.getElementById("compareNowForm");
            if (compareNowFormObj) {
                for (var i=0; i<compareNowFormObj.id.length; i++) {
                    if (compareNowFormObj.id[i].value == cartItemId) {
                        compareNowFormObj.id[i].checked = false;
                    }
                }
            }
            var thisSaveImgObj = document.getElementById('saveProdImg_' + cartItemId);
            if(thisSaveImgObj) {
                thisSaveImgObj.src="/images/buttons/save.gif";
            }
        }
    }
    function modifyCartItem(itemChecked, itemId, itemLink, itemLabel) {
		var hotCartListObjChildren = document.getElementById('hot_cart_list').childNodes;
        var cartListItemExists = false;
        var hotListChildLICount = 0;
        for (var i=0; i<hotCartListObjChildren.length; i++) {
            if (hotCartListObjChildren[i].nodeName.toUpperCase() == 'LI') {
                hotListChildLICount++;
                //console.append(hotCartListObjChildren[i].getAttribute("product_id"));
                if (itemId == hotCartListObjChildren[i].getAttribute("product_id")) {
                    cartListItemExists = true;
                }
            }
        }

        if(itemChecked == true && !cartListItemExists) {
            if (hotListChildLICount >= 50) {
                alert(addItemMaxError);
                document.getElementById('prod_list_check_' + itemId).checked = false;
            } else {
                if (!cartListItemExists) {
                    addItemToCart(itemId,itemLink,itemLabel);
                    // confirm item was added and no error was thrown
                    if (addItemToCartError) {
                        // error state - uncheck item
                        document.getElementById('prod_list_check_' + itemId).checked = false;
                    }
                }
            }
        } else {
            if (cartListItemExists) {
//                removeCartItem(itemId);
            }
        }
    }
    function ZoomObject(upper_left_imgObj, lower_right_imgObj) {
        this.upper_left_imgObj = upper_left_imgObj;
        this.lower_right_imgObj = lower_right_imgObj;

        this.left = function() {
            return upper_left_imgObj.x;
        }
        this.right = function() {
            return lower_right_imgObj.x;
        }
        this.top = function() {
            return upper_left_imgObj.y;
        }
        this.bottom = function() {
            return lower_right_imgObj.y;
        }
        this.width = function() {
            return (this.right() - this.left());
        }
        this.height = function() {
            return (this.bottom() - this.top());
        }
        this.overlay = function() {
            var zoomObj = document.getElementById("zoomer");
            zoomObj.style.height = this.height() + 'px';
            zoomObj.style.width = this.width() + 'px';
            zoomObj.style.left = this.left() + 'px';
            zoomObj.style.top = this.top() + 'px';
            showObject(zoomObj.id);
        }
    }
    function zoomFollow(endZoomX, endZoomY, endWidth, endHeight, steps) {
        if (steps > 0) {
            var zoomObj = document.getElementById("zoomer");
            //determine which direction
            var zoomObjWidth = pxToInt(zoomObj.style.width);
            var zoomObjHeight = pxToInt(zoomObj.style.height);
            var zoomObjLeft = pxToInt(zoomObj.style.left);
            var zoomObjTop = pxToInt(zoomObj.style.top);
            zoomObj.style.width = zoomObjWidth + ((endWidth - zoomObjWidth)/steps) + 'px';
            zoomObj.style.height = zoomObjHeight + ((endHeight - zoomObjHeight)/steps) + 'px';
            zoomObj.style.left = zoomObjLeft + ((endZoomX - zoomObjLeft)/steps) + 'px';
            zoomObj.style.top = zoomObjTop + ((endZoomY - zoomObjTop)/steps) + 'px';
            steps--;
            setTimeout('zoomFollow(' + endZoomX + ', ' + endZoomY +  ', ' + endWidth +  ', ' + endHeight +  ', ' + steps + ')', 60);
        } else {
            hideObject("zoomer");
        }
    }
    function zoom(startZoomId, endZoomId) {
        var startZoomObject = new ZoomObject(getImageCoordinates(startZoomId + 'LeftImg', 0, 0), getImageCoordinates(startZoomId + 'RightImg', 0, 0));
        var endZoomObject = new ZoomObject(getImageCoordinates(endZoomId + 'LeftImg', 0, 0), getImageCoordinates(endZoomId + 'RightImg', 0, 0));
        if (startZoomObject && endZoomObject && document.getElementById("zoomer")) {
            startZoomObject.overlay();
            zoomFollow(endZoomObject.left(), endZoomObject.top(), endZoomObject.width(), endZoomObject.height(), 10);
        } else{
            console.append("Missing zoom components.");
        }
    }
    function switchMyList(cartItemId) {
        var url = "/maonline/";
        var switchMyListBeaconImg = getImageCoordinates("switchMyListBeacon", 0, 0);
        var savedShortlistsObj = document.getElementById("savedShortlists", 0, 0);
        savedShortlistsObj.style.left = switchMyListBeaconImg.x + 'px';
        savedShortlistsObj.style.top = switchMyListBeaconImg.y + 'px';
        toggleVisibility("savedShortlists");
        if (cartItemId) {
            var submitURL = "/maonline/member/cartadm.jspx";
            tunnelData(submitURL, 'mode=changeAjax&id=' + cartItemId, null, null, true);
            window.location.reload();
        }
    }
