function addToWallet( moduleId, moduleTypeId, eProfileId, add )
{
    /* 
        URL to post api request to
    */
    url = "/api";
    /* 
        Set the query string for the api call
    */
    data  = "method=Favorite.SetFavorite";
    data += "&moduleId=" + moduleId;
    data += "&moduleTypeId=" + moduleTypeId;
    data += "&e_id=" + eProfileId;
    data += "&add=" + (add ? 1 : 0);
    
    $.ajax({
        url: url,
        dataType: 'json',
        data: data,
        success: function(json){
            var dealBlockID="#widgetDisplay" + json.moduleId;
            var labelBlockID="#addToWalletLabel-" + json.moduleId;
   
            var dealBlock=$(dealBlockID);
            var labelBlock=$(labelBlockID);

            var inWalletText = " Offers";
            if (json.count == 1) inWalletText = " Offer";
            $("#offersInWallet").text(json.count+inWalletText);
            $(".offersInWallet, .offersInWalletCount").text(json.count+inWalletText);

            dealBlock.toggleClass("inWallet");
   
            if (labelBlock.text() == "Add To Wallet") {
                labelBlock.text("In Wallet");
            } else {
                labelBlock.text("Add To Wallet");
            }

            //this bit of code handles the print offers link. It adds or removes a class as needed to handle when it prints and when it pops up a message instead.
            //the class is used by the nothingToPrint function a bit farthur down the page.
            var printLinkID="#printOffersLink";
            var printLinkClass="nothingToPrint";
            if ($(printLinkID).hasClass(printLinkClass)&&(json.count>0)){
                $(printLinkID).removeClass(printLinkClass);
            } else if (!$(printLinkID).hasClass(printLinkClass)&&(json.count==0)){
                $(printLinkID).addClass(printLinkClass);
        
            }
        }
    });

}

$(document).ready(function(){
    $(".dealsSelectAll").click(function (){

        var addToWalletInput = "input.toolbarAddToWallet-checklist";
        var selectAllCheckedStatus = this.checked;
        var oldCheckedStatus;

            $(addToWalletInput).each(function() {
                oldCheckedStatus = this.checked;
                this.checked = selectAllCheckedStatus;
                if (oldCheckedStatus != selectAllCheckedStatus)
                    this.onchange();
            });

            $(".dealsSelectAll").each(function() {
                this.checked = selectAllCheckedStatus;
            });

    });
});


