// record impressions
function RecordImpressions(impressionUserID, impressionUrlReferrer, impressionUrl, remoteAddress)
{
    var $impressions = $.makeArray();
    $.each($("a, img, div"), function() 
    {    
    if ($(this).attr('bzi'))
    {
        var tagName = $(this).get(0).tagName;
        var impressionBusinessID = $(this).attr('bid');
        var impressionBusinessType = $(this).attr('bzit');
        var arrBusinessTypeIDs = impressionBusinessType.split(',');
        
        // loop through business impression types for the elements
        for (var i=0; i <= arrBusinessTypeIDs.length-1; i++)
        {
            var impression = 
            {
                URL: impressionUrl,
                URLReferrer: impressionUrlReferrer,
                UserID: impressionUserID,
                BusinessID: impressionBusinessID,
                BusinessImpressionTypeID: arrBusinessTypeIDs[i],
                RemoteAddress: remoteAddress
            };
            $impressions.push(impression);
        }
    }
    });
    if ($impressions.length != 0)
    {
        var $impressionsUnique = jQuery.unique($impressions);
        AsyncSaveImpressesion($impressions);
    }
}
 

/* asyn web service call to save impressions */
function AsyncSaveImpressesion (impressions)
{
    var jsonString = JSON.stringify(impressions);
    var webserviceUrl = '/DesktopModules/CooperateBizzoneBusinessImpressions/Impressions.asmx/RecordImpressions';
    $.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    url: webserviceUrl,
    data:"{impressions:'" + jsonString + "'}",
    dataType: "json",
    success: function (msg) { AsyncSaveImpressionSuccess(msg);},
    error: AsyncSaveImpressionFail
    });
}

// status if update fails
function AsyncSaveImpressionSuccess(e)
{
    //alert("Success recorded impressions.\nNumber of records processed = " + e);
}

// status when impress failes
function AsyncSaveImpressionFail(e)
{
    // do nothing
}


