﻿var htmlText = "";
var effortFindNum;
//var sCatalogNumber;//TC 2009 Q4 No Need
var addObj;
var oAjax;
var prevTimerID = 0;
var sImageName;
var sShift;

//check to see if browser is from the netscape family so that we capture events
var netscape = document.captureEvents;


if (netscape) document.captureEvents(Event.KEYPRESS);


function DisplayPriceBreak(obj, iItemId, sFrom, iIndex, shift, category, f_method) { 

    var sURL = "";
    category = typeof(category) != 'undefined' ? escape(category) : "";
    f_method = typeof (f_method) != 'undefined' ? unescape(f_method) : "";

    //If f_method isn't passed in then it is a Product Detail Page. evar7 is not set on those pagse.
    if (f_method.indexOf('Offer') == -1 && f_method.indexOf('HomePage') == -1 && f_method.indexOf('Cross-sell') == -1) {
        f_method = typeof (f_method) != 'undefined' ? window.p_evar7 : "";
    }

    if (category.indexOf('CartOffers') >= 0) {
        if (category.indexOf('ReOrder') >= 0) {
            f_method = "CartOffer Re-Order";
        }
        else if (category.indexOf('FavoritesList') >= 0) {
            f_method = "CartOffer Favorites";
        }
        else if (category.indexOf('PreviouslyViewed') >= 0) {
            f_method = "CartOffer PreviouslyViewed";
        }
    }
    else if (category.indexOf('CheckoutOffers') >= 0) {
        if (category.indexOf('ReOrder') >= 0) {
            f_method = "CheckoutOffer Re-Order";
        }
        else if (category.indexOf('FavoritesList') >= 0) {
            f_method = "CheckoutOffer Favorites";
        }
        else if (category.indexOf('PreviouslyViewed') >= 0) {
            f_method = "CheckoutOffer PreviouslyViewed";
        }
    }
    else if (category.indexOf('HomePage') >= 0) {
        if (category.indexOf('Favorites') > 0) {
            f_method = "HomePageOffer Favorites";
        }
        else if (category.indexOf('PreviouslyViewed') > 0) {
            f_method = "HomePageOffer PreviouslyViewed";
        }
        else if (category.indexOf('Deal') > 0) {
            f_method = "HomePageOffer Deal of the Week";
        }
        else if (category.indexOf('Feature') > 0) {
            f_method = "HomePageOffer Featured Item";
        }
        else {
            f_method = "HomePageOffer Re-Order";
        }
    }
    else if (category.indexOf('ProductDetailOffer') >= 0) {
        if (category.indexOf('PreviouslyViewed') > 0) {
            f_method = "ProductDetailOffer PreviouslyViewed";
        }
    }
    else if (category.indexOf('Search') >= 0) {
        f_method = "Search";
    }
    
    if (shift != null)
        sShift = shift;
    else
        sShift = "";
    
    var sTemp = "Contract" + iIndex;
    var sContract = document.forms[0].elements[sTemp].value; ;


    var sTemp3 = "SubstituteItem" + iIndex;
    if (document.forms[0].elements[sTemp3])
        var sSubstituteID = document.forms[0].elements[sTemp3].value;
    else
        var sSubstituteID = 0;

    sTemp = "ImageName" + iIndex;
    if (document.forms[0].elements[sTemp])
        sImageName = document.forms[0].elements[sTemp].value;
    else
        sImageName = "";
        
        var sTemp = "Catalog" + iIndex;
    var sReplaceFrom = document.forms[0].elements[sTemp].value;

    var sTemp2 = "ReplacementItem" + iIndex;
    if (document.forms[0].elements[sTemp2])
        var sReplacementID = document.forms[0].elements[sTemp2].value;
    else
        var sReplacementID = 0;
        
        
    if (sReplacementID > 0) {
        addObj = obj;
        //sURL = "/Cart/QuantityBrk.aspx?item_id=" + sReplacementID + "&ReplaceFrom=" + sReplaceFrom + "&cat=" + category + "&fm=" + f_method;//TC
        sURL = "/Cart/QuantityBrk.aspx?item_id=" + sReplacementID + "&ReplaceFrom=" + sReplaceFrom + "&cat=" + category + "&fm=" + f_method + "&ReplacementType=R&ReplaceFromItemID="+ iItemId;//TC
        sURL = sURL + "&image=" + sImageName;//TC 2009 Q4
        oAjax = new Ajax.Request(sURL, { method: 'get', asynchronous: false, onComplete: DisplayPriceBreakDiv, onFailure: DisplayError });

    }else if (sSubstituteID > 0) {
        addObj = obj;
        //sURL = "/Cart/QuantityBrk.aspx?item_id=" + sSubstituteID + "&ReplaceFrom=" + sReplaceFrom + "&cat=" + category + "&fm=" + f_method;//TC
        sURL = "/Cart/QuantityBrk.aspx?item_id=" + sSubstituteID + "&ReplaceFrom=" + sReplaceFrom + "&cat=" + category + "&fm=" + f_method + "&ReplacementType=S&ReplaceFromItemID=" + iItemId; //TC
        sURL = sURL + "&image=" + sImageName; //TC 2009 Q4
        oAjax = new Ajax.Request(sURL, { method: 'get', asynchronous: false, onComplete: DisplayPriceBreakDiv, onFailure: DisplayError });
    }else {
        addObj = obj;
        sURL = "/Cart/QuantityBrk.aspx?item_id=" + iItemId + "&R=" + sReplaceFrom + "&Contract=" + sContract + "&cat=" + category + "&fm=" + f_method;
        sURL = sURL + "&image=" + sImageName; //TC 2009 Q4
        oAjax = new Ajax.Request(sURL, { method: 'get', asynchronous: false, onComplete: DisplayPriceBreakDiv, onFailure: DisplayError });
      
    }

    //alert("Call Made to Page");

    //if (iPriceBreakCount < 2 || (sContract == "Y" || sContract == "S" ||  sContract == "X" || sContract == "1" || sContract == "H" ||  sContract == "A" || sContract == "C" ))
    //    AddItem(iItemId, sFrom, iIndex,0);
    //else {
    ///price break pop-up...move up
    //}

} //DisplayPriceBreak


function ReplacementPopUp(objQtyID, sReplacementID, sReplaceFrom, sCartID, sNextURL) {


    addObj = objQtyID;

    sURL = "/Cart/ReplacementPopUp.aspx?item_id=" + sReplacementID + "&ReplaceFrom=" + sReplaceFrom + "&qty=" + objQtyID.value + "&cartID=" + sCartID + "&sNextURL=" + sNextURL;

    oAjax = new Ajax.Request(sURL, { method: 'get', asynchronous: false, onComplete: DisplayPriceBreakDiv, onFailure: DisplayError });

} //ReplacementPopup

//TC: 2009 Q4
function CompareSavePopUp(thisobj, sItemID, sCatalogNumber, fAmountSaved, sSavingsMessage)
{

    addObj = thisobj;
    sURL = "/Cart/CompareAndSavePopUp.aspx?item_id=" + sItemID + "&R=" + sCatalogNumber + "&AmountSaved=" + fAmountSaved.toString() + "&SavingsMessage=" + sSavingsMessage; 
    oAjax = new Ajax.Request(sURL, { method: 'get', asynchronous: false, onComplete: DisplayPriceBreakDiv, onFailure: DisplayError });

} //CompareSavePopUp
//TC: 2009 Q4

function DisplayError(AjaxObject) {
    alert(AjaxObject.responseText);
}

function DisplayPriceBreakDiv(AjaxObject) {

    //alert("Got the results back");
    htmlText = AjaxObject.responseText;

    if (htmlText != "") {

        HidePopupDiv("mainDiv");
        var mainDiv = document.createElement("DIV");
        mainDiv.setAttribute("id", "mainDiv");
        document.body.appendChild(mainDiv);

        var skuDivision = document.createElement("DIV");
        skuDivision.setAttribute("id", "skuDetails");
        skuDivision.style.position = "absolute";

        skuDivision.innerHTML = htmlText;

        mainDiv.appendChild(skuDivision);



        mainDiv.style.position = "absolute";
        mainDiv.style.zIndex = 100;

        RepositionPriceDiv(mainDiv, skuDivision);

        mainDiv.style.display = "none";
        Effect.Combo('mainDiv', { duration: 0.5, scaleX: true, scaleContent: true });
        return true

    }


}


function DisplayMiniCart(AjaxObject) {

    HidePopupDiv("mainCartDiv");

    htmlText = AjaxObject.responseText;
    
    if (htmlText != "")
    {
        t = setTimeout("HidePopupDiv(\"mainCartDiv\")", 8000);
        if (prevTimerID != t && prevTimerID != 0)
            clearTimeout(prevTimerID);
        prevTimerID = t

        var mainCartDiv = document.createElement("DIV");

        mainCartDiv.style.position = "absolute";
        mainCartDiv.setAttribute("id", "mainCartDiv");
        mainCartDiv.style.position = "absolute";
        mainCartDiv.style.width = 200;
        //mainCartDiv.style.height = 400;
        mainCartDiv.style.zIndex = 100;
        //mainCartDiv.style.left = 562;

        var width = document.body.clientWidth;

        if (sShift == "ShiftLeft") {
            if (width > 800) 
                mainCartDiv.style.left = 375 + (width - 800) / 2;
            else
                mainCartDiv.style.left = 375;
                
            mainCartDiv.style.top = document.body.scrollTop + 200;

        }
        else {
            if (width > 800)
                mainCartDiv.style.left = 600 + (width - 800) / 2;
            else
                mainCartDiv.style.left = 600;
                
            mainCartDiv.style.top = document.body.scrollTop + 20;                
        }

        mainCartDiv.style.display = "none";
        
  
        
        document.body.appendChild(mainCartDiv);

        var cartDetailsDiv = document.createElement("DIV");
        cartDetailsDiv.setAttribute("id", "cartDetailsDiv");
        //cartDetailsDiv.style.position = "absolute";
        //cartDetailsDiv.style.width = 200;
        //cartDetailsDiv.style.height = 400;
        
        cartDetailsDiv.innerHTML = AjaxObject.responseText;
        mainCartDiv.appendChild(cartDetailsDiv);

        Effect.SlideDown('mainCartDiv', { duration: 2, scaleY: true, scaleContent: true });

        try {
            var oCartItems = document.getElementById("ctl00_TopNavContentId_TopNav_lblCartItems");
            var oMiniCartItems = document.getElementById("lblItemsInCart");
            oCartItems.innerHTML = oMiniCartItems.innerHTML	;

            var oCartValue = document.getElementById("ctl00_TopNavContentId_TopNav_lblCartValue");
            var oMiniCartValue = document.getElementById("lblCartTotal");
            oCartValue.innerHTML = oMiniCartValue.innerHTML;
        }
        catch (e) {
        }
        
        //Effect.SlideDown('mainCartDiv',{duration: 3, scaleY: true, scaleContent: true});

//        var divToModify = document.getElementById("cartDetailsDiv");
//        divToModify.innerHTML = requestObject.responseText;

//        var topNavItemsCount = document.getElementById("topnavItemCount");
//        var topNavSubtotal = document.getElementById("topnavSubTotal");
//        var topNavFreightMessage = document.getElementById("topnavFreightMessage");

//        var miniCartItemsCount = document.getElementById("miniCartItemsCount");
//        var miniCartSubtotal = document.getElementById("miniCartSubtotal");
//        var miniCartFreightMessage = document.getElementById("miniCartFreightMessage");

//        topNavItemsCount.innerHTML = miniCartItemsCount.value;
//        topNavSubtotal.innerHTML = miniCartSubtotal.value;
//        topNavFreightMessage.innerHTML = miniCartFreightMessage.value;
    }
    return true
}

/*TC Commented out 2010 Q4 
function HidePopupDiv(DivId) {
    var divTag1 = document.getElementById(DivId);

    if (divTag1) {
        try {
            var parentObj = divTag1.parentNode;
            parentObj.removeChild(divTag1);
        }
        catch (e) {
        }
    }
    return true

}
*/

/*TC 2010 Q4 release. To fix secure and unsecured popup dialog issue when close compare and save popup window.*/
function HidePopupDiv(DivId) {
    var divTag1 = document.getElementById(DivId);

    if (divTag1) {
        try {
            if (divTag1.outerHTML) {
                divTag1.outerHTML = '';
            }
            else {
                var parentObj = divTag1.parentNode;
                parentObj.removeChild(divTag1);
            }
        }
        catch (e) {
        }
    }
    return true
}


function RepositionPriceDiv(mainDiv, secondDiv) {
    var x = 0;
    var y = 0;
    //calculating position
    mainDiv.style.width = secondDiv.clientWidth;
    mainDiv.style.height = secondDiv.clientHeight;

    x = findPosX(addObj);
    y = findPosY(addObj);

    if ((y + mainDiv.clientHeight) >= (document.body.clientHeight + document.body.scrollTop)) {
        var topRepositionFactor = y + mainDiv.clientHeight - document.body.clientHeight;
        mainDiv.style.top = y - topRepositionFactor + document.body.scrollTop;
    }
    else {
        mainDiv.style.top = y;
    }
    if (sShift == "ShiftLeft") {
        if ((x + mainDiv.clientWidth + addObj.clientWidth) >= (document.body.clientWidth + document.body.scrollLeft)) {
            mainDiv.style.left = x - mainDiv.clientWidth;
           
        }
        else {
            mainDiv.style.left = x + addObj.clientWidth;

        }

    }
    else {
        if ((x + mainDiv.clientWidth + addObj.clientWidth) >= (document.body.clientWidth + document.body.scrollLeft)) {
            mainDiv.style.left = x - mainDiv.clientWidth;
        }
        else {
            mainDiv.style.left = x + addObj.clientWidth;

        }
    }

}


function findPosY(obj) {
    var curtop = 0;
    if (document.getElementById || document.all) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop;
            if (typeof (obj.scrollTop) == 'number')
                curtop -= obj.scrollTop;
            obj = obj.offsetParent;
        }
    }
    else if (document.layers)
        curtop += obj.y;
    return curtop;
}

function findPosX(obj) {
    var curleft = 0;
    if (document.getElementById || document.all) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft;
            obj = obj.offsetParent;
        }
    }
    else if (document.layers)
        curleft += obj.x;
    return curleft;
}


Effect.OpenUp = function(element) {
    element = $(element);
    new Effect.BlindDown(element, arguments[1] || {});
}

Effect.CloseDown = function(element) {
    element = $(element);
    new Effect.BlindUp(element, arguments[1] || {});
}

Effect.Combo = function(element) {
    element = $(element);
    if (element.style.display == 'none') {
        new Effect.OpenUp(element, arguments[1] || {});
    } else {
        new Effect.CloseDown(element, arguments[1] || {});
    }
}

//TC 2009 Q4: Made changes to pass values through parameters to avoid HTML <input> name conflict.
//function AddItem(iItemId, sCatalogNumber, iMin, iMult, dblPrice, sContract) {
function AddItem(iItemId, in_Action, in_iMin, in_iMult, in_dblPrice, in_sContract, in_sCatalogNumber, in_sImageName, in_sPriceBreak) {

    var oForm = document.forms[0];
    var sFlyer = "";
    var sPriceBreak = "Y";
    var iNewQty = 1;
    var sDC = "";
    var sCheckoutOffer = "";

    //TC 2009 Q4
    var iMin = 0;
    var iMult = 0;
    var sContract = "";
    var strContractItem = "";
    var sCatalogNumber = "";
    var sImageName = "";
    var dblPrice = 0;
    dblPrice = in_dblPrice;
    sContract = in_sContract;
    sCatalogNumber = in_Action;
    //TC 2009 Q4
    
    if (sContract != null && sContract.toString().length > 1 && sContract.toString().indexOf("Offer") >= 0)
    {
        sCheckoutOffer = sContract.toString().substr(1);
        sContract = sContract.toString().substr(0, 1);
    }

    sImageName = in_sImageName;    
    
    if (sCatalogNumber == "AddItemForm") {
        sPriceBreak = "N";

        /* TC 2009 Q4: Commented out to use values passed from parameters
        iMin = oForm["Min" + iItemId].value;
        iMult = oForm["Multiple" + iItemId].value;
        iNewQty = oForm["Qty" + iItemId].value;
        strContractItem = oForm["Contract" + iItemId].value;
        sCatalogNumber = oForm["Catalog" + iItemId].value;
        var oQtyBox = oForm["Qty" + iItemId];

        sContract = oForm["Contract" + iItemId].value;
        sImageName=oForm["ImageName" + iItemId].value;
        */
        //TC 2009 Q4 added
        iMin = in_iMin;
        iMult = in_iMult;
        iNewQty = oForm["Qty" + iItemId].value; //TC: Qty box should be in the code
        strContractItem = in_sContract;
        sCatalogNumber = in_sCatalogNumber;
        var oQtyBox = oForm["Qty" + iItemId];
    }
    /*TC: Added for AHD#70053 */
    else {
        iMin = in_iMin;
        iMult = in_iMult;
        iNewQty = $("PriceBreakQty").value;
        strContractItem = in_sContract;
        sCatalogNumber = in_sCatalogNumber;
    }
    /*TC: Added for AHD#70053 */
    /*TC: Commented out for AHD#70053
    else
    iNewQty = $("PriceBreakQty").value;
    */

 //   var sPrice = "";
//    var iNewQty = 0;
//    var sCatalogNumber = "";

//    var iMin = oForm["Min" + iItemIndex].value;

//    var iMult = oForm["Multiple" + iItemIndex].value;

//    if (iPriceBreak == 1) {
//        iNewQty = $("PriceBreakQty").value;
//        try {
//            var oElement = document.getElementById("lblQtyBrkSKU");
//            sCatalogNumber = oElement.innerHTML;
//        }
//        catch (e) {
//        }
//        //$("lblQtyBrkSKU").value;
//    }
//    else
//        iNewQty = oForm["Qty" + iItemIndex].value;

    
    if (isNaN(iNewQty)) {
        alert("A number must be entered.");
        if (sPriceBreak == "Y") {
            $("PriceBreakQty").value = "";
            $("PriceBreakQty").focus();
        }
        else {
            oQtyBox.value = "";
            oQtyBox.focus();
        }
        return;
        }


    if (iNewQty == "") {
        alert("Please enter quantity.");
        if (sPriceBreak == "Y") {
            $("PriceBreakQty").value = "";
            $("PriceBreakQty").focus();
        }
        else {
            oQtyBox.value = "";
            oQtyBox.focus();
        }
        return;
        }

        //TC 2009 Q3
        if (Number(iNewQty) <= 0) {
            alert("Please enter a quantity greater than 0.");
            return;
        }
        //TC 2009 Q3

    if (Number(iNewQty) < Number(iMin) && iNewQty > 0) {
        if (confirm("Entered quantity is less than the minimum order quantity of " + iMin + ". Do you want to order minimum qty? ")) {
            iNewQty = iMin;
        }
        else {
            if (sPriceBreak == "Y") {
                $("PriceBreakQty").value = "";
            $("PriceBreakQty").focus();
            }
            else {
                oQtyBox.value = "";
                oQtyBox.focus();
            }
            return;
            }
        }

    if (iMult > 1) {
        if (iNewQty % iMult != 0) {
            alert("This item must be ordered in multiples of " + iMult + ". Your order qty will rounded up to next multiple.");
            if (sPriceBreak == "Y") { //TC 2009 Q4 added
                $("PriceBreakQty").value = Math.ceil(iNewQty / iMult) * iMult;
            }
            iNewQty = Math.ceil(iNewQty / iMult) * iMult;
            }
        }


        if (sPriceBreak != "Y") {
           if (sContract == "Y" && sContract == "S" && sContract == "C" && sContract == "H" && sContract == "A") {//TC 2010 Q4
           if (sContract == "Y" || sContract == "S" || sContract == "C" || sContract == "H" || sContract == "A") {//TC 2010 Q4

                //This is the correct price
                //dblPrice = oForm["Price" + iItemId].value;
                dblPrice = in_dblPrice; //TC 2009 Q4
            }
            else if ((iNewQty == 1 && sContract != "X") || oForm["PriceBreak" + iItemId] == null) {
                //dblPrice = oForm["Price" + iItemId].value;
                dblPrice = in_dblPrice; //TC 2009 Q4
            }
            else {
                var arPriceBreaks = new Array();
                var arPrice = new Array();
                var sTemp = "";

                //sTemp = oForm["PriceBreak" + iItemId].value;//TC 2009 Q4
                sTemp = in_sPriceBreak; //TC 2009 Q4
                
                arPriceBreaks = sTemp.split(';');
                if (arPriceBreaks.length <= 2) {
                    //dblPrice = oForm["Price" + iItemId].value;
                    dblPrice = in_dblPrice; //TC 2009 Q4
                }
                else {
                    if (sContract == "X") {
                        for (i = 0; i < arPriceBreaks.length - 1; i++) {
                            arPrice = arPriceBreaks[i].toString().split('@');
                            if (iNewQty < Number(arPrice[0])) {
                                dblPrice = arPrice[1];
                                break;
                            }
                        }
                        if (dblPrice == "")
                            dblPrice = arPrice[1];
                    }
                    else {
                        for (i = 0; i < arPriceBreaks.length - 1; i++) {
                            arPrice = arPriceBreaks[i].toString().split('@');
                            if (iNewQty >= Number(arPrice[0]))
                                dblPrice = arPrice[1];
                            else
                                break;
                        }
                    }
                }
            }
        }


    ///GET OPTIONS IF THEY EXIST 
    var promptlist = "";
    var hasOptions = "N";

    for (i = 0; i < oForm.length; i++) {
        if (oForm.elements[i].name == "iNumPrompts")
            hasOptions = "Y";
    }

    if (hasOptions == "Y") {
        var x, pn, itemchecked;
        var selOpt;


        //Only pass as many prompts as necessary
        for (x = 1; x <= oForm.iNumPrompts.value; x++) {
            pn = "category" + x;
            itemchecked = false;

            //If only ONE option, there is no array of elements...
            //Need to look at the value and selection of the radio box itself 
            //These most likely are "yes or no", so allow an unchecked box here...

            numopts = oForm.elements[pn].length;

            if (isNaN(numopts)) {
                if (oForm.elements[pn].checked)
                    promptlist += String(oForm.elements[pn].value) + "||";
                continue;
            }


            //Find selected option and pass to update program
            for (y = 0; y < numopts; y++) {
                if (oForm.elements[pn][y].checked) {
                    promptlist += oForm.elements[pn][y].value + "||";
                    itemchecked = true;
                } //item checked
            }   //loop through options for prompt 

            ///Not mandatory from this screen:
            //if ( itemchecked == false ) { 
            //alert( "You have not selected one option for each category. You must do so before you can add this item to the cart. " ) ; 
            //return ;
            //}  

        }  //loop through prompts	

        oForm["promptlist"].value = promptlist;

    } //Has Options


    //TC 2009 Q3
    //Check if qty > inventory, if yes, display replacement/substitute item
    //if no, use the original item and pass the DC
    var objhiddenMaxQty = document.getElementById("hiddenMaxQty");
    var objhiddenMaxQtyDC = document.getElementById("hiddenMaxQtyDC");
    if (objhiddenMaxQty != null && objhiddenMaxQty.value != null && objhiddenMaxQty.value != "") {

        if (objhiddenMaxQty.value * 1 < iNewQty) {
            // Need to go back to the replacement item info
            // replace the links and labels with stored values
            var objhiddenlblDescription = document.getElementById("hiddenlblDescription");
            if (objhiddenlblDescription != null) {
                var objlblDescription = document.getElementById("lblDescription");

                if (objlblDescription != null) {
                    objlblDescription.innerHTML = objhiddenlblDescription.value;
                }

            }

            var objhiddenlblSKU = document.getElementById("hiddenlblSKU");
            if (objhiddenlblSKU != null) {
                var objlblSKU = document.getElementById("lblSKU");
                if (objlblSKU != null) {
                    objlblSKU.innerHTML = objhiddenlblSKU.value;
                }
            }

            var objhiddenlblUOM = document.getElementById("hiddenlblUOM");
            if (objhiddenlblUOM != null) {
                var objlblUOM = document.getElementById("lblUOM");
                if (objlblUOM != null) {
                    objlblUOM.innerHTML = objhiddenlblUOM.value;
                }
            }

            var objhiddenPriceBreakQty = document.getElementById("hiddenPriceBreakQty");
            if (objhiddenPriceBreakQty != null) {
                objhiddenPriceBreakQty.value = iNewQty.toString(); //Update Qty
                var objPriceBreakQty = document.getElementById("PriceBreakQty");
                if (objPriceBreakQty != null) {
                    objPriceBreakQty.innerText = objhiddenPriceBreakQty.value;
                }
            }

            var objhiddenlbllcp = document.getElementById("hiddenlbllcp");
            if (objhiddenlbllcp != null) {
                var objlbllcp = document.getElementById("lbllcp");
                if (objlbllcp != null) {
                    objlbllcp.innerHTML = objhiddenlbllcp.value;
                }
            }

            var objhiddenlnkProductDetail = document.getElementById("hiddenlnkProductDetail");
            if (objhiddenlnkProductDetail != null) {
                var objlnkProductDetail = document.getElementById("lnkProductDetail");
                if (objlnkProductDetail != null) {
                    objlnkProductDetail.href = objhiddenlnkProductDetail.value;
                }
            }

            var objhiddenlnkQuickFacts = document.getElementById("hiddenlnkQuickFacts");
            if (objhiddenlnkQuickFacts != null) {
                var objlnkQuickFacts = document.getElementById("lnkQuickFacts");
                if (objlnkQuickFacts != null) {
                    objlnkQuickFacts.href = objhiddenlnkQuickFacts.value;
                }
            }

            var objhiddenhlAddToCart = document.getElementById("hiddenhlAddToCart");
            if (objhiddenhlAddToCart != null) {
                var objhlAddToCart = document.getElementById("hlAddToCart");
                if (objhlAddToCart != null) {
                    objhlAddToCart.href = objhiddenhlAddToCart.value;
                }
            }

            var objhiddenlblPrice = document.getElementById("hiddenlblPrice");
            if (objhiddenlblPrice != null) {
                var objlblPrice = document.getElementById("lblPrice");
                if (objlblPrice != null) {
                    objlblPrice.innerHTML = objhiddenlblPrice.value;
                }
            }

            //Clear stored values
            objhiddenMaxQty.value = "";
            if (objhiddenMaxQtyDC != null) objhiddenMaxQtyDC.value = "";

            objhiddenlblDescription.value = "";
            objhiddenlblSKU.value = "";
            objhiddenlblUOM.value = "";
            objhiddenPriceBreakQty.value = "";
            objhiddenlbllcp.value = "";
            objhiddenlnkProductDetail.value = "";
            objhiddenlnkQuickFacts.value = "";
            objhiddenhlAddToCart.value = "";
            objhiddenlblPrice.value = "";

            return;
        }
        else {

            objhiddenMaxQty.value = "";
            if (objhiddenMaxQtyDC != null) {
                sDC = objhiddenMaxQtyDC.value;
                objhiddenMaxQtyDC.value = "";
            }
        }
    }
    //TC 2009 Q3

  
      HidePopupDiv("mainDiv");

    //options = { method: 'post', asynchronous: false, postBody: Form.serialize(document.forms["miniSKUForm"]), onComplete: processCart };
     var sURL = "/Cart/MiniCart.aspx?item_id=" + iItemId + "&sku=" + sCatalogNumber + "&price=" + dblPrice + "&contract=" + sContract;
     sURL += "&flyer=" + sFlyer + "&qty=" + iNewQty + "&Img=" + sImageName + "&CheckoutOffer=" + sCheckoutOffer;

     //TC: 2009 Q3
     if (sDC != null && sDC != "") {
         sURL += "&DC=" + sDC;
     }
     //TC: 2009 Q3

     oAjax = new Ajax.Request(sURL, { method: 'get', asynchronous: false, onComplete: DisplayMiniCart, onFailure: DisplayError });

    //PageMethods.AddCartItem(item_id,oForm["sCatalogNumber"].value,sPrice,document.aspnetForm["strContractItem"].value,document.aspnetForm["strFlyerCode"].value,iNewQty,"","",OnCallAddCartItemComplete,OnCallAddCartItemError,null,null);

}


function OnCallAddCartItemComplete(result, destCtrl) {

    window.location = "/Cart/ReviewCart.aspx";
}

//TC 2009 Q4
function CompareAndSaveAddItem(iItemId, sCatalogNumber, iMin, iMult, dblPrice, sContract, sImageName, sFlyer) {
    var oForm = document.forms['CompareSaveForm'];
    //var sFlyer = "";
    var sPriceBreak = "Y";
    var iNewQty = 1;
    var sDC = "";
    var sCheckoutOffer = "";

    if (sContract != null && sContract.toString().length > 1 && sContract.toString().indexOf("Offer") >= 0) {
        sCheckoutOffer = sContract.toString().substr(1);
        sContract = sContract.toString().substr(0, 1);
    }

        sPriceBreak = "N";

         strContractItem = sContract; //oForm["Contract" + iItemId].value;
         var oQtyBox = oForm["txtQtyCompSave"];
         iNewQty = oQtyBox.value;

    if (isNaN(iNewQty)) {
        alert("A number must be entered.");      
        oQtyBox.value = "";
        oQtyBox.focus();
        return;
    }


    if (iNewQty == "") {
        alert("Please enter quantity.");
   
            oQtyBox.value = "";
            oQtyBox.focus();
        return;
    }

    //TC 2009 Q3
    if (Number(iNewQty) <= 0) {
        alert("Please enter a quantity greater than 0.");
        return;
    }
    //TC 2009 Q3

    if (Number(iNewQty) < Number(iMin) && iNewQty > 0) {
        if (confirm("Entered quantity is less than the minimum order quantity of " + iMin + ". Do you want to order minimum qty? ")) {
            iNewQty = iMin;
        }
        else {
            
                oQtyBox.value = "";
                oQtyBox.focus();
          
            return;
        }
    }

    if (iMult > 1) {
        if (iNewQty % iMult != 0) {
            alert("This item must be ordered in multiples of " + iMult + ". Your order qty will rounded up to next multiple.");
            //$("PriceBreakQty").value = Math.ceil(iNewQty / iMult) * iMult;//TC 2009 Q4, no need
            iNewQty = Math.ceil(iNewQty / iMult) * iMult;
        }
    }


    //TC 2009 Q3
    //Check if qty > inventory, if yes, display replacement/substitute item
    //if no, use the original item and pass the DC
    var objhiddenMaxQty = document.getElementById("hiddenMaxQty");
    var objhiddenMaxQtyDC = document.getElementById("hiddenMaxQtyDC");
    if (objhiddenMaxQty != null && objhiddenMaxQty.value != null && objhiddenMaxQty.value != "") {

        if (objhiddenMaxQty.value * 1 < iNewQty) {
            // Need to go back to the replacement item info
            // replace the links and labels with stored values
            var objhiddenlblDescription = document.getElementById("hiddenlblDescription");
            if (objhiddenlblDescription != null) {
                var objlblDescription = document.getElementById("lblDescription");

                if (objlblDescription != null) {
                    objlblDescription.innerHTML = objhiddenlblDescription.value;
                }

            }

            var objhiddenlblSKU = document.getElementById("hiddenlblSKU");
            if (objhiddenlblSKU != null) {
                var objlblSKU = document.getElementById("lblSKU");
                if (objlblSKU != null) {
                    objlblSKU.innerHTML = objhiddenlblSKU.value;
                }
            }

            var objhiddenlblUOM = document.getElementById("hiddenlblUOM");
            if (objhiddenlblUOM != null) {
                var objlblUOM = document.getElementById("lblUOM");
                if (objlblUOM != null) {
                    objlblUOM.innerHTML = objhiddenlblUOM.value;
                }
            }

            var objhiddenPriceBreakQty = document.getElementById("hiddenPriceBreakQty");
            if (objhiddenPriceBreakQty != null) {
                objhiddenPriceBreakQty.value = iNewQty.toString(); //Update Qty
                var objPriceBreakQty = document.getElementById("PriceBreakQty");
                if (objPriceBreakQty != null) {
                    objPriceBreakQty.innerText = objhiddenPriceBreakQty.value;
                }
            }

            var objhiddenlbllcp = document.getElementById("hiddenlbllcp");
            if (objhiddenlbllcp != null) {
                var objlbllcp = document.getElementById("lbllcp");
                if (objlbllcp != null) {
                    objlbllcp.innerHTML = objhiddenlbllcp.value;
                }
            }

            var objhiddenlnkProductDetail = document.getElementById("hiddenlnkProductDetail");
            if (objhiddenlnkProductDetail != null) {
                var objlnkProductDetail = document.getElementById("lnkProductDetail");
                if (objlnkProductDetail != null) {
                    objlnkProductDetail.href = objhiddenlnkProductDetail.value;
                }
            }

            var objhiddenlnkQuickFacts = document.getElementById("hiddenlnkQuickFacts");
            if (objhiddenlnkQuickFacts != null) {
                var objlnkQuickFacts = document.getElementById("lnkQuickFacts");
                if (objlnkQuickFacts != null) {
                    objlnkQuickFacts.href = objhiddenlnkQuickFacts.value;
                }
            }

            var objhiddenhlAddToCart = document.getElementById("hiddenhlAddToCart");
            if (objhiddenhlAddToCart != null) {
                var objhlAddToCart = document.getElementById("hlAddToCart");
                if (objhlAddToCart != null) {
                    objhlAddToCart.href = objhiddenhlAddToCart.value;
                }
            }

            var objhiddenlblPrice = document.getElementById("hiddenlblPrice");
            if (objhiddenlblPrice != null) {
                var objlblPrice = document.getElementById("lblPrice");
                if (objlblPrice != null) {
                    objlblPrice.innerHTML = objhiddenlblPrice.value;
                }
            }

            //Clear stored values
            objhiddenMaxQty.value = "";
            if (objhiddenMaxQtyDC != null) objhiddenMaxQtyDC.value = "";

            objhiddenlblDescription.value = "";
            objhiddenlblSKU.value = "";
            objhiddenlblUOM.value = "";
            objhiddenPriceBreakQty.value = "";
            objhiddenlbllcp.value = "";
            objhiddenlnkProductDetail.value = "";
            objhiddenlnkQuickFacts.value = "";
            objhiddenhlAddToCart.value = "";
            objhiddenlblPrice.value = "";

            return;
        }
        else {

            objhiddenMaxQty.value = "";
            if (objhiddenMaxQtyDC != null) {
                sDC = objhiddenMaxQtyDC.value;
                objhiddenMaxQtyDC.value = "";
            }
        }
    }
    //TC 2009 Q3


    HidePopupDiv("mainDiv");
    var sURL = "/Cart/MiniCart.aspx?item_id=" + iItemId + "&sku=" + sCatalogNumber + "&price=" + dblPrice + "&contract=" + sContract;
    sURL += "&flyer=" + sFlyer + "&qty=" + iNewQty + "&Img=" + sImageName + "&CheckoutOffer=" + sCheckoutOffer;

    //TC: 2009 Q3
    if (sDC != null && sDC != "") {
        sURL += "&DC=" + sDC;
    }
    //TC: 2009 Q3

    oAjax = new Ajax.Request(sURL, { method: 'get', asynchronous: false, onComplete: DisplayMiniCart, onFailure: DisplayError });


}



