Rev 6 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<!DOCTYPE html><html lang="en"><head><title>Order Reports</title><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="shortcut icon" href="favicon.ico" type="image/x-icon"><link rel="icon" href="favicon.ico" type="image/x-icon"><link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"><link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet"><link rel="stylesheet" href="css/style.css"><script src="js/XMLWriter.js"></script><script src="js/vkbeautify.js"></script><script src="js/lodash.min.js"></script><script src="js/XMLparse.js"></script><script src="js/datetimepicker_css.js"></script><script src="js/moment.js"></script><script src="js/moment-timezone.js"></script><script src="js/muna-tools.js"></script></head><body onload="return initConfig();"><div class="w3-main"><div class="w3-container w3-padding w3-margin w3-card-4"><div class="w3-container w3-gray" style="height:100px"><img class="w3-image" src="images/MUNA%20-%20Logo%20100x100.png" alt="MUNA Trading Logo" style="height:100px"><p id="connected" class="w3-xxlarge w3-right">Order Reports<input id="login" type="button" class="w3-btn w3-large w3-green w3-margin w3-round-large w3-ripple w3-right w3-hide" onclick="eBayLogin();" value="Login" /></p></div><div class="w3-row"><div><form id="searchForm" class="w3-container w3-light-grey w3-padding w3-small" onsubmit="return getOrders();"><div class="w3-container w3-card-2 w3-cell w3-padding"><h4>Report Range</h4><div class="w3-row"><div class="w3-half w3-padding"><label for="startDate" class="w3-small">On or After <img src="images2/cal.gif" alt="Calendar Picker" onclick="javascript:NewCssCal('startDate','yyyyMMdd','arrow',false,'24',false,'past')" style="cursor:pointer" /></label><input id="startDate" name="startDate" class="w3-input w3-border-0" style="height:3em" type="text" required></div><div class="w3-half w3-padding"><label for="endDate" class="w3-small">On or Before <img src="images2/cal.gif" alt="Calendar Picker" onclick="javascript:NewCssCal('endDate','yyyyMMdd','arrow',false,'24',false,'past')" style="cursor:pointer" /></label><input id="endDate" name="endDate" class="w3-input w3-border-0" style="height:3em" type="text" required></div></div></div><div class="w3-container w3-card-2 w3-cell w3-padding"><p><input id="shippingList" class="w3-radio" type="radio" style="height:1em" name="rptType" value="shippingList" checked><label for="shippingList">Awaiting Shipment</label></p><p><input id="orderList" class="w3-radio" type="radio" style="height:1em" name="rptType" value="orderList"><label for="orderList">Orders</label></p><p><input id="feeList" class="w3-radio" type="radio" style="height:1em" name="rptType" value="feeList"><label for="feeList">eBay Fees and Credits</label></p><p><input id="trackingList" class="w3-radio" type="radio" style="height:1em" name="rptType" value="trackingList"><label for="trackingList">Tracking Status</label></p><p><input id="customerList" class="w3-radio" type="radio" style="height:1em" name="rptType" value="customerList"><label for="customerList">eBay Customer Export</label></p><input id="printButton" type="button" class="w3-btn w3-large w3-black w3-margin w3-round-large w3-ripple w3-right w3-hide" onclick="printData();" value="Print" /><input id="dlOrderListButton" type="button" class="w3-btn w3-large w3-black w3-margin w3-round-large w3-ripple w3-right w3-hide" onclick="exportTableToCSV('orderTable', 'orders.csv');" value="CSV" /><input id="dlFeeListButton" type="button" class="w3-btn w3-large w3-black w3-margin w3-round-large w3-ripple w3-right w3-hide" onclick="exportTableToCSV('feeTable', 'fees.csv');" value="CSV" /><input id="dlCustomerListButton" type="button" class="w3-btn w3-large w3-black w3-margin w3-round-large w3-ripple w3-right w3-hide" onclick="exportTableToCSV('customerTable', 'customers.csv');" value="CSV" /><input id="startButton" type="button" class="w3-btn w3-large w3-red w3-margin w3-round-large w3-ripple w3-right" onclick="getOrders();" value="Start" /></div><div id="summary" class="w3-container w3-card-2 w3-cell w3-padding"></div></form></div><div id="results" class="w3-container w3-padding w3-card-4 w3-hide"></div><div id="printTable"><div id="logging" class="w3-container w3-padding"></div></div><div id="modals"></div></div></div><footer class="w3-container w3-center w3-border-top w3-margin">Copyright © 2018 MUNA Trading. All rights reserved.</footer></div><script>// Globalsvar pagesToProcess = 0;var shippingsToProcess = 0;var thumbnailsToProcess = 0;var trackingNumbersToProcess = 0;var html = [];var url;var trackingList = [];var trackingListDedupe = [];var itemsSold;var grossSales;var shippingRcvd;var returnCost;var shippingCost;var eBayFees;var PayPalFees;var VATaxGross;var VATaxExempt;var VATaxAmount;var totalAmount;// Initialize Configuration Variablesfunction initConfig() {eBayAuthToken = readCookie();if (eBayAuthToken.length > 0) {connected();}if (eBayAuthTokenFlag === false) {var x = document.getElementById("login");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}}var currentDate = moment();var yesterday = moment().subtract(1, "days");if (document.getElementById("startDate").value.length < 1) {document.getElementById("startDate").value = yesterday.format('YYYY-MM-DD');}if (document.getElementById("endDate").value.length < 1) {document.getElementById("endDate").value = currentDate.format('YYYY-MM-DD');}}function requireNewLogin() {// dummy}function getOrders() {var x;itemsSold = 0;grossSales = 0.0;shippingRcvd = 0.0;returnCost = 0.0;shippingCost = 0.0;eBayFees = 0.0;PayPalFees = 0.0;VATaxGross = 0.0;VATaxExempt = 0.0;VATaxAmount = 0.0;document.getElementById("summary").innerHTML = '';document.getElementById("results").innerHTML = '';document.getElementById("logging").innerHTML = '';var sDate = moment(document.getElementById("startDate").value, 'YYYY-MM-DD', true);var eDate = moment(document.getElementById("endDate").value, 'YYYY-MM-DD', true);if (!sDate.isValid()) {document.getElementById("startDate").value = '';return;}if (!eDate.isValid()) {document.getElementById("endDate").value = '';return;}if (moment(document.getElementById("startDate").value).isAfter(document.getElementById("endDate").value, 'day')) {document.getElementById("endDate").value = '';return;}x = document.getElementById("printButton");x.className = x.className.replace(" w3-show", "");x = document.getElementById("dlOrderListButton");x.className = x.className.replace(" w3-show", "");x = document.getElementById("dlFeeListButton");x.className = x.className.replace(" w3-show", "");x = document.getElementById("dlCustomerListButton");x.className = x.className.replace(" w3-show", "");x = document.getElementById("results");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}pagesToProcess = 1;if (getRadioValue('rptType') == 'feeList') {document.getElementById("results").innerHTML = '<p><strong>Retrieving Fees and Credits...</strong></p>';retrieveFees(1);} else {document.getElementById("results").innerHTML = '<p><strong>Retrieving Orders...</strong></p>';document.getElementById("modals").innerHTML = '';retrieveeBayOrders(1);function checkpagesToProcess() {if (pagesToProcess > 0) {window.setTimeout(checkpagesToProcess, 100); // wait 100 milliseconds} else {if (getRadioValue('rptType') == 'shippingList') {retrieveShopifyShippings(1);} else if (getRadioValue('rptType') == 'trackingList') {retrieveShopifyTrackings(1);} else if (getRadioValue('rptType') == 'customerList') {sortTable("customerTable", 1);x = document.getElementById("results");x.innerHTML = '<p><strong>Report Finished!</strong></p>';setTimeout(function() {x.className = x.className.replace(" w3-show", "");}, 3000);} else {retrieveShopifyOrders(1);}}}checkpagesToProcess();if (getRadioValue('rptType') == 'shippingList') {x = document.getElementById("printButton");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}} else if (getRadioValue('rptType') == 'orderList') {x = document.getElementById("dlOrderListButton");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}} else if (getRadioValue('rptType') == 'customerList') {x = document.getElementById("dlCustomerListButton");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}}}}function retrieveeBayOrders(pageNumber) {var i;var xml;var authErrorFlag = false;if (eBayAuthTokenFlag === false) {return;}var valueStartDate = moment(document.getElementById('startDate').value + " 00:00:00", "YYYY-MM-DD HH:mm:ss").tz("UTC").toISOString();var valueEndDate = moment(document.getElementById('endDate').value + " 23:59:59", "YYYY-MM-DD HH:mm:ss").tz("UTC").toISOString();var xw = new XMLWriter('UTF-8', '1.0');var xhr = new XMLHttpRequest();xw.writeStartDocument();xw.writeStartElement("GetOrdersRequest");xw.writeAttributeString('xmlns', 'urn:ebay:apis:eBLBaseComponents');xw.writeStartElement('RequesterCredentials');xw.writeElementString('eBayAuthToken', eBayAuthToken);xw.writeEndElement(); /* RequesterCredentials */xw.writeElementString('CreateTimeFrom', valueStartDate);xw.writeElementString('CreateTimeTo', valueEndDate);xw.writeElementString('IncludeFinalValueFee', 'true');xw.writeElementString('OrderRole', 'Seller');xw.writeElementString('OrderStatus', 'All');xw.writeStartElement('Pagination');xw.writeElementString('EntriesPerPage', configXmlRequestEntriesPerPage);xw.writeElementString('PageNumber', pageNumber.toString());xw.writeEndElement(); /* Pagination */xw.writeElementString('DetailLevel', 'ReturnAll');xw.writeElementString('ErrorLanguage', 'en_US');xw.writeElementString('Version', configeBayTradingVersion);xw.writeElementString('WarningLevel', configWarningLevel);xw.writeEndElement(); /* GetOrdersRequest */xw.writeEndDocument();xhr.open('POST', configProxyUrl, true);xhr.setRequestHeader('Content-Type', 'text/xml');xhr.setRequestHeader('X-EBAY-API-APP-NAME', configAppid);xhr.setRequestHeader('X-EBAY-API-COMPATIBILITY-LEVEL', configeBayTradingVersion);xhr.setRequestHeader('X-EBAY-API-CALL-NAME', 'GetOrders');xhr.setRequestHeader('X-EBAY-API-SITEID', '0');xhr.setRequestHeader('X-EBAY-API-DEV-NAME', '');xhr.setRequestHeader('X-EBAY-API-CERT-NAME', '');xhr.setRequestHeader('X-Proxy-URL', configServiceEndpoint);xml = xw.flush();xw.close();//window.alert(vkbeautify.xml(xml));xhr.onload = () => {var obj = XMLparse(xhr.responseXML);//document.getElementById("logging").innerHTML = JSON.stringify(obj);//window.alert(JSON.stringify(obj));//window.alert(vkbeautify.xml(xhr.responseText));var returnCode = obj.Ack;var x = document.getElementById("results");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}if (obj.Message) {x.innerHTML += obj.Message;}if (returnCode == 'Success' || (returnCode == 'Warning' && obj.Errors.ErrorCode == '21917182')) {if (getRadioValue('rptType') == 'shippingList') {createShipmentTable(obj, pageNumber);} else if (getRadioValue('rptType') == 'trackingList') {createTrackingTable(obj, pageNumber);} else if (getRadioValue('rptType') == 'customerList') {createCustomerTable(obj, pageNumber);} else {createOrderTable(obj, pageNumber);}x.innerHTML = '<p><strong>' + returnCode + ' (Orders ' + pageNumber + ' / ' + obj.PaginationResult.TotalNumberOfPages + ')</strong></p>';if (getRadioValue('rptType') == 'orderList') {printSummary();}if (obj.HasMoreOrders == 'true') {++pagesToProcess;shippingsToProcess = 0;retrieveeBayOrders(pageNumber + 1);}document.getElementById("logging").innerHTML = html.join('');--pagesToProcess;} else {x.innerHTML = "<p><strong>" + returnCode + ":</strong></p>";var errors = obj.Errors;x.innerHTML += "<p>";if (errors.length > 0) {for (i = 0; i < errors.length; i++) {x.innerHTML += errors[i].SeverityCode + " (" + errors[i].ErrorCode + "): " + escapeHtml(errors[i].LongMessage) + "<br/>";if (errors[i].LongMessage.includes('Auth')) {authErrorFlag = true;}}} else {x.innerHTML += obj.Errors.SeverityCode + " (" + obj.Errors.ErrorCode + "): " + escapeHtml(obj.Errors.LongMessage) + "<br/>";if (errors.LongMessage.includes('Auth')) {authErrorFlag = true;}}x.innerHTML += "</p>";if (authErrorFlag === true) {eBayAuthTokenFlag = false;x = document.getElementById("login");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}}}};xhr.send(xml);}function retrieveShopifyOrders(page) {var sDate = moment(document.getElementById("startDate").value + " 00:00:00").format("YYYY-MM-DDTHH:mm:ssZ");var eDate = moment(document.getElementById("endDate").value + " 23:59:59").format("YYYY-MM-DDTHH:mm:ssZ");var xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {//window.alert(this.responseText);var json = JSON.parse(this.responseText);if (json.orders[0] !== undefined) {retrieveShopifyOrder(json);}}};xhttp.open("GET", configProxyUrl, true);xhttp.setRequestHeader("X-Proxy-Url", encodeURI(configShopifyUrl + configShopifyOrdersUrl + '?page=' + ((page - 1) * configShopifyOrderLimit) + '&limit=' + configShopifyOrderLimit + '&status=any&created_at_min=' + sDate + '&created_at_max=' + eDate));xhttp.send();}function retrieveShopifyOrder(json) {var i, j;var title;var quantity;var itemId;var trackingNumber;var trackingStatus;var shipmentState;var shipmentDate;for (i = 0; i < json.orders.length; i++) {html.push('<tr>');html.push(tableCell(json.orders[i].created_at.substr(0, 10)));if (json.orders[i].fulfillment_status !== null) {html.push(tableCell(json.orders[i].fulfillment_status));} else {html.push(tableCell('created'));}html.push(tableCell(json.orders[i].id + ' (' + json.orders[i].name + ')'));title = '';quantity = '';itemId = '';for (j = 0; j < json.orders[i].line_items.length; j++) {itemsSold++;if (j > 0) {title += '<br/>';quantity += '<br/>';itemId += '<br/>';}title += json.orders[i].line_items[j].title;quantity += json.orders[i].line_items[j].quantity;itemId += json.orders[i].line_items[j].product_id === null ? '' : json.orders[i].line_items[j].product_id;}html.push(tableCell(title));html.push(tableCell(itemId));html.push(tableCell('Shopify'));html.push(tableCell(quantity));html.push(tableCell('$' + json.orders[i].total_price_usd));html.push(tableCell('$0.00'));html.push(tableCell('N/A'));html.push(tableCell('$0.00'));html.push(tableCellLabel('Fee' + json.orders[i].id));html.push(tableCell(json.orders[i].total_tax));if (json.orders[i].shipping_address !== undefined) {shipmentState = json.orders[i].shipping_address.province_code;} else {shipmentState = configTaxStateId;}html.push(tableCell(shipmentState));html.push(tableCellLabel('PaidDate' + json.orders[i].id));html.push(tableCell(json.orders[i].payment_gateway_names !== undefined ? json.orders[i].payment_gateway_names.join(', ') : ''));html.push(tableCellLabel('TransactionId' + json.orders[i].id));shipmentDate = '';trackingNumber = '';trackingStatus = '';for (j = 0; j < json.orders[i].fulfillments.length; j++) {if (j > 0) {trackingNumber += '<br/>';trackingStatus += '<br/>';shipmentDate += '<br/>';}if (json.orders[i].fulfillments[j].tracking_number !== null) {trackingNumber = json.orders[i].fulfillments[j].tracking_company + ' ' + json.orders[i].fulfillments[j].tracking_number;trackingStatus = json.orders[i].fulfillments[j].shipment_status;shipmentDate += json.orders[i].fulfillments[j].created_at.substr(0, 10);}}html.push(tableCell(shipmentDate));html.push(tableCell(trackingNumber));html.push(tableCell(trackingStatus));html.push('</tr>');grossSales += Number(json.orders[i].total_price_usd);VATaxAmount += Number(json.orders[i].total_tax);}// xxxxx last steps in the chainprintOrderTotals();document.getElementById("logging").innerHTML = html.join('');sortTable("orderTable", 1);document.getElementById("results").innerHTML = '<p><strong>Retrieving Shipping Costs...</strong></p>';findShippingCosts();}function retrieveShopifyShippings(page) {var xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {//window.alert(this.responseText);var json = JSON.parse(this.responseText);if (json.orders[0] !== undefined) {retrieveShopifyShipping(json);}// xxxxx last steps in the chainprintShipmentTotals();document.getElementById("logging").innerHTML = html.join('');sortTable("shippingTable", 1);findThumbNails();}};xhttp.open("GET", configProxyUrl, true);xhttp.setRequestHeader("X-Proxy-Url", encodeURI(configShopifyUrl + configShopifyOrdersUrl + '?page=' + ((page - 1) * configShopifyOrderLimit) + '&limit=' + configShopifyOrderLimit + '&fulfillment_status=unshipped'));xhttp.send();}function retrieveShopifyShipping(json) {var i;for (i = 0; i < json.orders.length; i++) {totalAmount += parseFloat(json.orders[i].total_price);for (j = 0; j < json.orders[i].line_items.length; j++) {html.push('<tr>');html.push(tableCellSKU(json.orders[i].line_items[j].sku, json.orders[i].line_items[j].title));html.push(tableCell(json.orders[i].line_items[j].quantity));if (json.orders[i].line_items[j].product_id !== null) {html.push(tableCellAndLabel(json.orders[i].line_items[j].product_id, 'PictureURL' + json.orders[i].line_items[j].product_id));} else {html.push(tableCell(''));}html.push(tableCell(json.orders[i].line_items[j].title));html.push(tableCell(json.orders[i].name));html.push(tableCellDate(json.orders[i].created_at.substr(0, 10)));html.push(tableCell('$' + parseFloat(json.orders[i].line_items[j].price).toFixed(2)));html.push(tableCellHidden('Shopify'));itemsSold += Number(json.orders[i].line_items[j].quantity);html.push('</tr>');}}}function retrieveShopifyTrackings(page) {var sDate = moment(document.getElementById("startDate").value + " 00:00:00").format("YYYY-MM-DDTHH:mm:ssZ");var eDate = moment(document.getElementById("endDate").value + " 23:59:59").format("YYYY-MM-DDTHH:mm:ssZ");var xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {//window.alert(this.responseText);var json = JSON.parse(this.responseText);if (json.orders[0] !== undefined) {retrieveShopifyTracking(json);}// xxxxx last in the chainprintTrackingTotals();document.getElementById("logging").innerHTML = html.join('');sortTable("trackingTable", 1);document.getElementById("results").innerHTML = '<p><strong>Retrieving Shipping Costs...</strong></p>';findShippingCosts();}};xhttp.open("GET", configProxyUrl, true);xhttp.setRequestHeader("X-Proxy-Url", encodeURI(configShopifyUrl + configShopifyOrdersUrl + '?page=' + ((page - 1) * configShopifyOrderLimit) + '&limit=' + configShopifyOrderLimit + '&fulfillment_status=shipped&status=closed&created_at_min=' + sDate + '&created_at_max=' + eDate));xhttp.send();}function retrieveShopifyTracking(json) {var i, j;var title;for (i = 0; i < json.orders.length; i++) {if (json.orders[i].shipping_lines[0] === undefined) {continue;}html.push('<tr>');html.push(tableCell(json.orders[i].created_at.substr(0, 10)));title = '';for (j = 0; j < json.orders[i].line_items.length; j++) {if (j > 0) {title += '<br/>';}title += json.orders[i].line_items[j].title;}html.push(tableCell(title));html.push(tableCell('N/A'));html.push(tableCellAndLabel(json.orders[i].shipping_address.city + ', ' + json.orders[i].shipping_address.province_code + ' ' + json.orders[i].shipping_address.zip, 'DeliveryAddress' + json.orders[i].fulfillments[0].tracking_number));html.push(tableCell(json.orders[i].fulfillments[0].created_at.substr(0, 10))); // best guesshtml.push(tableCell(json.orders[i].fulfillments[0].created_at.substr(0, 10)));html.push(tableCellAndLabel(json.orders[i].fulfillments[0].tracking_company + ' ' + json.orders[i].fulfillments[0].tracking_number, json.orders[i].fulfillments[0].tracking_number));html.push(tableCell(getCarrierService(json.orders[i].fulfillments[0].tracking_company, json.orders[i].fulfillments[0].tracking_number, true)));html.push(tableCellLabel('DeliveryDate' + json.orders[i].fulfillments[0].tracking_number));html.push(tableCellLabel('DeliveryDays' + json.orders[i].fulfillments[0].tracking_number));html.push(tableCellLabel('DeliveryStatus' + json.orders[i].fulfillments[0].tracking_number));html.push('</tr>');}}function createOrderTable(obj, pageNumber) {var i;var title;var trackingNumber;var quantity;var finalValueFee;var finalValueFeeAmount;var itemId;var taxAmount;var payAmount;if (pageNumber == 1) {document.getElementById("logging").innerHTML = '';html = [];html.push('<h3>Order List from ' + document.getElementById("startDate").value + ' to ' + document.getElementById("endDate").value + '</h3>');html.push('<div class="w3-responsive">');html.push('<table id="orderTable" class="w3-table-all w3-tiny w3-hoverable">');html.push('<thead>');html.push('<tr>');html.push(tableHeader('Order Date'));html.push(tableHeader('Order Status'));html.push(tableHeader('Order Id'));html.push(tableHeader('Ttitle'));html.push(tableHeader('Item Id'));html.push(tableHeader('Sales Channel'));html.push(tableHeader('Quantity Purchased'));html.push(tableHeader('Payment Amount'));html.push(tableHeader('Shipping Received'));html.push(tableHeader('Shipping Cost'));html.push(tableHeader('eBay Final Value Fee'));html.push(tableHeader('Payment Processor Fee'));html.push(tableHeader('Sales Tax Amount'));html.push(tableHeader('Ship To State'));html.push(tableHeader('Paid Date'));html.push(tableHeader('Payment Methods'));html.push(tableHeader('Payment Transaction ID'));html.push(tableHeader('Shipped Date'));html.push(tableHeader('Shipping Tracking Number'));html.push(tableHeader('Delivery Status'));html.push('</tr>');html.push('</thead>');html.push('<tbody>');}for (var entry = 0; entry < obj.OrderArray.length; entry++) {html.push('<tr>');html.push(tableCellDate(obj.OrderArray[entry].CreatedTime));html.push(tableCell(obj.OrderArray[entry].OrderStatus));html.push(tableCell(obj.OrderArray[entry].OrderID));title = '';trackingNumber = '';quantity = '';finalValueFee = '';finalValueFeeAmount = 0.0;itemId = '';if (obj.OrderArray[entry].TransactionArray.length > 0) {for (title = '', i = 0; i < obj.OrderArray[entry].TransactionArray.length; i++) {itemsSold++;if (i > 0) {title += '<br/>';quantity += '<br/>';itemId += '<br/>';}title += obj.OrderArray[entry].TransactionArray[i].Item.Title;quantity += obj.OrderArray[entry].TransactionArray[i].QuantityPurchased;finalValueFeeAmount += parseFloat(obj.OrderArray[entry].TransactionArray[i].FinalValueFee.text);eBayFees += parseFloat(obj.OrderArray[entry].TransactionArray[i].FinalValueFee.text);itemId += obj.OrderArray[entry].TransactionArray[i].Item.ItemID;}html.push(tableCell(title));html.push(tableCell(itemId));finalValueFee = '$' + finalValueFeeAmount.toFixed(2);if (obj.OrderArray[entry].TransactionArray[0].ShippingDetails === undefined || obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails === undefined) {} else {if (obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails[0] !== undefined) {for (i = 0; i < obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.length; i++) {trackingNumber += (i > 0 ? '<br/>' : '') + obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails[i].ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails[i].ShipmentTrackingNumber;}} else {trackingNumber = obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber;}}} else {itemsSold++;html.push(tableCell(obj.OrderArray[entry].TransactionArray.Item.Title));html.push(tableCell(obj.OrderArray[entry].TransactionArray.Item.ItemID));if (obj.OrderArray[entry].TransactionArray.ShippingDetails === undefined || obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails === undefined) {} else {if (obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[0] !== undefined) {for (i = 0; i < obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.length; i++) {trackingNumber += (i > 0 ? '<br/>' : '') + obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[i].ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[i].ShipmentTrackingNumber;}} else {trackingNumber = obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber;}}// if (obj.OrderArray[entry].TransactionArray.ShippingDetails === undefined || obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails === undefined) {// trackingNumber = '';// } else {// trackingNumber = obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber;// }quantity = obj.OrderArray[entry].TransactionArray.QuantityPurchased;finalValueFee = '$' + parseFloat(obj.OrderArray[entry].TransactionArray.FinalValueFee.text).toFixed(2);eBayFees += parseFloat(obj.OrderArray[entry].TransactionArray.FinalValueFee.text);}html.push(tableCell('eBay'));html.push(tableCell(quantity));html.push(tableCell('$' + parseFloat(obj.OrderArray[entry].AmountPaid.text).toFixed(2)));grossSales += parseFloat(obj.OrderArray[entry].AmountPaid.text);html.push(tableCell('$' + parseFloat(obj.OrderArray[entry].ShippingServiceSelected.ShippingServiceCost.text).toFixed(2)));shippingRcvd += parseFloat(obj.OrderArray[entry].ShippingServiceSelected.ShippingServiceCost.text);html.push(tableCellLabel('ShippingCost' + obj.OrderArray[entry].OrderID));html.push(tableCell(finalValueFee));if (obj.OrderArray[entry].ExternalTransaction !== undefined && obj.OrderArray[entry].ExternalTransaction.FeeOrCreditAmount !== undefined) {html.push(tableCell('$' + parseFloat(obj.OrderArray[entry].ExternalTransaction.FeeOrCreditAmount.text).toFixed(2)));PayPalFees += parseFloat(obj.OrderArray[entry].ExternalTransaction.FeeOrCreditAmount.text);} else {html.push(tableCell(''));}if (obj.OrderArray[entry].ShippingAddress.StateOrProvince == configTaxStateId && obj.OrderArray[entry].ShippingDetails.SalesTax.SalesTaxAmount.text == "0.0") {payAmount = parseFloat(obj.OrderArray[entry].AmountPaid.text);taxAmount = payAmount - (payAmount / (1.00 + (configTaxRate / 100)));html.push(tableCell('$' + taxAmount.toFixed(2)));VATaxAmount += taxAmount;} else {html.push(tableCell('$' + parseFloat(obj.OrderArray[entry].ShippingDetails.SalesTax.SalesTaxAmount.text).toFixed(2)));VATaxAmount += parseFloat(obj.OrderArray[entry].ShippingDetails.SalesTax.SalesTaxAmount.text);}html.push(tableCell(obj.OrderArray[entry].ShippingAddress.StateOrProvince));VATaxGross += (parseFloat(obj.OrderArray[entry].AmountPaid.text) - parseFloat(obj.OrderArray[entry].ShippingDetails.SalesTax.SalesTaxAmount.text));if (obj.OrderArray[entry].ShippingAddress.StateOrProvince != configTaxStateId) {VATaxExempt += parseFloat(obj.OrderArray[entry].AmountPaid.text);}if (obj.OrderArray[entry].PaidTime !== undefined) {html.push(tableCellDate(obj.OrderArray[entry].PaidTime));} else {html.push(tableCell(''));}html.push(tableCell(obj.OrderArray[entry].PaymentMethods));if (obj.OrderArray[entry].ExternalTransaction !== undefined && obj.OrderArray[entry].ExternalTransaction.ExternalTransactionID !== undefined) {html.push(tableCell(obj.OrderArray[entry].ExternalTransaction.ExternalTransactionID));} else {html.push(tableCell(''));}if (obj.OrderArray[entry].ShippedTime === undefined) {html.push(tableCell(''));} else {html.push(tableCellDate(obj.OrderArray[entry].ShippedTime));}html.push(tableCell(trackingNumber));html.push(tableCellLabel('Delivery' + obj.OrderArray[entry].OrderID));html.push('</tr>');}}function printOrderTotals() {html.push('</tbody>');html.push('<tfoot>');html.push('<tr>');html.push(tableCell('<strong>Totals</strong>'));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell('<strong>' + itemsSold + '</strong>'));html.push(tableCell('<strong>$' + grossSales.toFixed(2) + '</strong>'));html.push(tableCell('<strong>$' + shippingRcvd.toFixed(2) + '</strong>'));html.push(tableCellLabel('ShippingTotal'));html.push(tableCell('<strong>$' + eBayFees.toFixed(2) + '</strong>'));html.push(tableCell('<strong>$' + PayPalFees.toFixed(2) + '</strong>'));html.push(tableCell('<strong>$' + VATaxAmount.toFixed(2) + '</strong>'));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push('</tr>');html.push('</tfoot>');html.push('</table>');html.push('</div>');}function createCustomerTable(obj, pageNumber) {var i;var firstName;var lastName;var emailAddress;if (pageNumber == 1) {document.getElementById("logging").innerHTML = '';html = [];html.push('<h3>Customer List from ' + document.getElementById("startDate").value + ' to ' + document.getElementById("endDate").value + '</h3>');html.push('<div class="w3-responsive">');html.push('<table id="customerTable" class="w3-table-all w3-tiny w3-hoverable">');html.push('<thead>');html.push('<tr>');html.push(tableHeader('First Name'));html.push(tableHeader('Last Name'));html.push(tableHeader('Email'));html.push(tableHeader('Company'));html.push(tableHeader('Address1'));html.push(tableHeader('Address2'));html.push(tableHeader('City'));html.push(tableHeader('Province'));html.push(tableHeader('Province Code'));html.push(tableHeader('Country'));html.push(tableHeader('Country Code'));html.push(tableHeader('Zip'));html.push(tableHeader('Phone'));html.push(tableHeader('Accepts Marketing'));html.push(tableHeader('Total Spent'));html.push(tableHeader('Total Orders'));html.push(tableHeader('Tags'));html.push(tableHeader('Note'));html.push(tableHeader('Tax Exempt'));html.push('</tr>');html.push('</thead>');html.push('<tbody>');}for (var entry = 0; entry < obj.OrderArray.length; entry++) {html.push('<tr>');firstName = '';lastName = '';emailAddress = '';if (obj.OrderArray[entry].TransactionArray.length > 0) {for (title = '', i = 0; i < obj.OrderArray[entry].TransactionArray.length; i++) {firstName = obj.OrderArray[entry].TransactionArray[i].Buyer.UserFirstName;lastName = obj.OrderArray[entry].TransactionArray[i].Buyer.UserLastName;emailAddress = obj.OrderArray[entry].TransactionArray[i].Buyer.Email;}if (obj.OrderArray[entry].TransactionArray[0].ShippingDetails === undefined || obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails === undefined) {} else {if (obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails[0] !== undefined) {for (i = 0; i < obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.length; i++) {}} else {}}} else {if (obj.OrderArray[entry].TransactionArray.ShippingDetails === undefined || obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails === undefined) {} else {if (obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[0] !== undefined) {for (i = 0; i < obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.length; i++) {trackingNumber += (i > 0 ? '<br/>' : '') + obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[i].ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[i].ShipmentTrackingNumber;}} else {trackingNumber = obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber;}}firstName = obj.OrderArray[entry].TransactionArray.Buyer.UserFirstName;lastName = obj.OrderArray[entry].TransactionArray.Buyer.UserLastName;emailAddress = obj.OrderArray[entry].TransactionArray.Buyer.Email;}html.push(tableCell(firstName.toProperCase()));html.push(tableCell(lastName.toProperCase()));html.push(tableCell(emailAddress != 'Invalid Request' ? emailAddress : ""));html.push(tableCell(''));html.push(tableCell(obj.OrderArray[entry].ShippingAddress.Street1.toProperCase()));html.push(tableCell(obj.OrderArray[entry].ShippingAddress.Street2.toProperCase()));html.push(tableCell(obj.OrderArray[entry].ShippingAddress.CityName.toProperCase()));html.push(tableCell(''));html.push(tableCell(obj.OrderArray[entry].ShippingAddress.StateOrProvince));html.push(tableCell(obj.OrderArray[entry].ShippingAddress.CountryName.toProperCase()));html.push(tableCell(obj.OrderArray[entry].ShippingAddress.Country));html.push(tableCell(obj.OrderArray[entry].ShippingAddress.PostalCode));html.push(tableCell(obj.OrderArray[entry].ShippingAddress.Phone));html.push(tableCell('no'));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell('ebay'));html.push(tableCell(obj.OrderArray[entry].BuyerUserID));html.push(tableCell('no'));html.push('</tr>');}if (obj.HasMoreOrders != 'true') {html.push('</tbody>');html.push('<tfoot>');html.push('<tr>');html.push(tableCell(''));html.push('</tr>');html.push('</tfoot>');html.push('</table>');html.push('</div>');}}function createShipmentTable(obj, pageNumber) {var i;if (pageNumber == 1) {totalAmount = 0.00;itemsSold = 0;document.getElementById("logging").innerHTML = '';html = [];html.push('<h3>Awaiting Shipment List</h3>');html.push('<table id="shippingTable" class="w3-table-all w3-small">');html.push('<thead>');html.push('<tr>');html.push(tableHeader('SKU'));html.push(tableHeader('Quantity'));html.push(tableHeader('Thumbnail'));html.push(tableHeader('Ttitle'));html.push(tableHeader('Item Id'));html.push(tableHeader('Date'));html.push(tableHeader('Payment Amount'));html.push(tableHeaderHidden('Sales Channel'));html.push('</tr>');html.push('</thead>');html.push('<tbody>');}for (var entry = 0; entry < obj.OrderArray.length; entry++) {if (obj.OrderArray[entry].OrderStatus == 'Completed' && obj.OrderArray[entry].ShippedTime === undefined && obj.OrderArray[entry].PaidTime !== undefined) {if (obj.OrderArray[entry].TransactionArray.length > 0) {for (i = 0; i < obj.OrderArray[entry].TransactionArray.length; i++) {itemsSold++;html.push('<tr>');html.push(tableCellSKU(obj.OrderArray[entry].TransactionArray[i].Item.SKU, obj.OrderArray[entry].TransactionArray[i].Item.Title));html.push(tableCell(obj.OrderArray[entry].TransactionArray[i].QuantityPurchased));html.push(tableCellLabel('PictureURL' + obj.OrderArray[entry].TransactionArray[i].Item.ItemID));html.push(tableCell(obj.OrderArray[entry].TransactionArray[i].Item.Title));html.push(tableCell(obj.OrderArray[entry].TransactionArray[i].Item.ItemID));html.push(tableCellDate(obj.OrderArray[entry].CreatedTime));html.push(tableCell('$' + parseFloat(obj.OrderArray[entry].AmountPaid.text).toFixed(2) + '*'));if (i === 0) {totalAmount += parseFloat(obj.OrderArray[entry].AmountPaid.text);}html.push(tableCellHidden('eBay'));html.push('</tr>');}} else {html.push('<tr>');html.push(tableCellSKU(obj.OrderArray[entry].TransactionArray.Item.SKU, obj.OrderArray[entry].TransactionArray.Item.Title));html.push(tableCell(obj.OrderArray[entry].TransactionArray.QuantityPurchased));html.push(tableCellLabel('PictureURL' + obj.OrderArray[entry].TransactionArray.Item.ItemID));html.push(tableCell(obj.OrderArray[entry].TransactionArray.Item.Title));html.push(tableCell(obj.OrderArray[entry].TransactionArray.Item.ItemID));html.push(tableCellDate(obj.OrderArray[entry].CreatedTime));html.push(tableCell('$' + parseFloat(obj.OrderArray[entry].AmountPaid.text).toFixed(2)));html.push(tableCellHidden('eBay'));itemsSold += Number(obj.OrderArray[entry].TransactionArray.QuantityPurchased);totalAmount += parseFloat(obj.OrderArray[entry].AmountPaid.text);html.push('</tr>');}}}}function printShipmentTotals() {html.push('</tbody>');html.push('<tfoot>');html.push('<tr>');html.push(tableCell('<strong>Totals</strong>'));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell('<strong>' + itemsSold + '</strong>'));html.push(tableCell('<strong>$' + totalAmount.toFixed(2) + '</strong>'));html.push(tableCellHidden(''));html.push('</tr>');html.push('</tfoot>');html.push('</table>');}function createTrackingTable(obj, pageNumber) {var i;var title;var trackingNumber;var service;var quantity;var html_temp;var finalValueFee;var finalValueFeeAmount;var itemId;if (pageNumber == 1) {document.getElementById("logging").innerHTML = '';html = [];trackingList = [];trackingListDedupe = [];html.push('<h3>Tracking Number Status from ' + document.getElementById("startDate").value + ' to ' + document.getElementById("endDate").value + '</h3>');html.push('<div class="w3-responsive">');html.push('<table id="trackingTable" class="w3-table-all w3-tiny w3-hoverable">');html.push('<thead>');html.push('<tr>');html.push(tableHeader('Order Date'));html.push(tableHeader('Ttitle'));html.push(tableHeaderHidden('Order Id'));html.push(tableHeader('Shipping Cost'));html.push(tableHeader('Shipping Address'));html.push(tableHeader('Paid Date'));html.push(tableHeader('Shipped Date'));html.push(tableHeader('Shipping Tracking Number'));html.push(tableHeader('Service'));html.push(tableHeader('Delivery Date'));html.push(tableHeader('Duration (Days)'));html.push(tableHeader('Delivery Status'));html.push('</tr>');html.push('</thead>');html.push('<tbody>');}for (var entry = 0; entry < obj.OrderArray.length; entry++) {html_temp = [];html_temp.push('<tr>');html_temp.push(tableCellDate(obj.OrderArray[entry].CreatedTime));title = '';trackingNumber = '';service = '';quantity = '';finalValueFee = '';finalValueFeeAmount = 0.0;itemId = '';if (obj.OrderArray[entry].TransactionArray.length > 0) {for (title = '', i = 0; i < obj.OrderArray[entry].TransactionArray.length; i++) {if (i > 0) {title += '<br/>';quantity += '<br/>';itemId += '<br/>';}title += obj.OrderArray[entry].TransactionArray[i].Item.Title;}html_temp.push(tableCell(title));if (obj.OrderArray[entry].TransactionArray[0].ShippingDetails === undefined || obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails === undefined) {} else {if (obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails[0] !== undefined) {// only last 1for (i = 0; i < obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.length; i++) {trackingNumber = obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails[i].ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails[i].ShipmentTrackingNumber;service = getCarrierService(obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails[i].ShippingCarrierUsed, obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails[i].ShipmentTrackingNumber, true);}} else {trackingNumber = obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber;service = getCarrierService(obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed, obj.OrderArray[entry].TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber, true);}}} else {html_temp.push(tableCell(obj.OrderArray[entry].TransactionArray.Item.Title));if (obj.OrderArray[entry].TransactionArray.ShippingDetails === undefined || obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails === undefined) {} else {if (obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[0] !== undefined) {// only last 1for (i = 0; i < obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.length; i++) {trackingNumber = obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[i].ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[i].ShipmentTrackingNumber;service = getCarrierService(obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[i].ShippingCarrierUsed, obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails[i].ShipmentTrackingNumber, true);}} else {trackingNumber = obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed + ' ' + obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber;service = getCarrierService(obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed, obj.OrderArray[entry].TransactionArray.ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber, true);}}}html_temp.push(tableCellHidden(obj.OrderArray[entry].OrderID));html_temp.push(tableCellLabel('ShippingCost' + obj.OrderArray[entry].OrderID));html_temp.push(tableCellAndLabel(obj.OrderArray[entry].ShippingAddress.CityName + ', ' + obj.OrderArray[entry].ShippingAddress.StateOrProvince + ' ' + obj.OrderArray[entry].ShippingAddress.PostalCode, 'DeliveryAddress' + trackingNumber.substr(trackingNumber.indexOf(' ')+1)));if (obj.OrderArray[entry].PaidTime !== undefined) {html_temp.push(tableCellDate(obj.OrderArray[entry].PaidTime));} else {html_temp.push(tableCell(''));}if (obj.OrderArray[entry].ShippedTime === undefined) {html_temp.push(tableCellLabel('ShippedDate' + trackingNumber.substr(trackingNumber.indexOf(' ')+1)));} else {html_temp.push(tableCellDate(obj.OrderArray[entry].ShippedTime));}html_temp.push(tableCellAndLabel(trackingNumber, trackingNumber.substr(trackingNumber.indexOf(' ')+1)));html_temp.push(tableCell(service));html_temp.push(tableCellLabel('DeliveryDate' + trackingNumber.substr(trackingNumber.indexOf(' ')+1)));html_temp.push(tableCellLabel('DeliveryDays' + trackingNumber.substr(trackingNumber.indexOf(' ')+1)));html_temp.push(tableCellLabel('DeliveryStatus' + trackingNumber.substr(trackingNumber.indexOf(' ')+1)));html_temp.push('</tr>');if (trackingListDedupe.indexOf(trackingNumber.substr(trackingNumber.indexOf(' ')+1)) == -1) {html.push(html_temp.join(''));trackingListDedupe.push(trackingNumber.substr(trackingNumber.indexOf(' ')+1));}}}function printTrackingTotals() {html.push('</tbody>');html.push('<tfoot class="w3-hide">');html.push('<tr>');html.push(tableCell(''));html.push('</tr>');html.push('</tfoot>');html.push('</table>');html.push('</div>');}function getCarrierService(carrier, trackingNumber, flag) {if (flag && trackingList.indexOf(trackingNumber) == -1) {trackingList.push(trackingNumber);}if (carrier == "USPS") {if (trackingNumber.startsWith("9449")) {return ("Media Mail");} else if (trackingNumber.startsWith("9450")) {return ("Media Mail, Insured");} else if (trackingNumber.startsWith("94001")) {return ("First Class");} else if (trackingNumber.startsWith("9416")) {return ("First Class, Insured");} else if (trackingNumber.startsWith("92055")) {return ("Priority Mail");} else if (trackingNumber.startsWith("94073")) {return ("Certified Mail");} else if (trackingNumber.startsWith("93033")) {return ("Collect on Delivery");} else if (trackingNumber.startsWith("82")) {return ("Global Express");} else if (trackingNumber.startsWith("EC")) {return ("Priority Mail Express International");} else if (trackingNumber.startsWith("92701") || trackingNumber.startsWith("EA")) {return ("Priority Mail Express");} else if (trackingNumber.startsWith("CP")) {return ("Priority Mail International");} else if (trackingNumber.startsWith("92088")) {return ("Registered Mail");} else if (trackingNumber.startsWith("92021")) {return ("Signature Confirmation");} else if (trackingNumber.startsWith("9461") || trackingNumber.startsWith("9462")) {return ("Parcel Select Ground");} else if (trackingNumber.startsWith("92021")) {return ("Signature Confirmation");}} else if (carrier == "UPS") {if (trackingNumber.startsWith("1Z")) {var service = trackingNumber.substr(8, 2);if (service == '01') {return ('Next Day Air ("Red")');} else if (service == '02') {return ('UPS United States Second Day Air ("Blue")');} else if (service == '03') {return ('Ground');} else if (service == '12') {return ('Third Day Select');} else if (service == '13') {return ('Next Day Air Saver ("Red Saver")');} else if (service == '15') {return ('Next Day Air Early A.M.');} else if (service == '22') {return ('Ground - Returns Plus - Three Pickup Attempts');} else if (service == '32') {return ('Next Day Air Early A.M. - COD');} else if (service == '33') {return ('Next Day Air Early A.M. - Saturday Delivery, COD');} else if (service == '41') {return ('Next Day Air Early A.M. - Saturday Delivery');} else if (service == '42') {return ('Ground - Signature Required');} else if (service == '44') {return ('Next Day Air - Saturday Delivery');} else if (service == '66') {return ('Worldwide Express');} else if (service == '72') {return ('Ground - Collect on Delivery');} else if (service == '78') {return ('Ground - Returns Plus - One Pickup Attempt');} else if (service == '90') {return ('Ground - Returns - UPS Prints and Mails Label');} else if (service == 'A0') {return ('Next Day Air Early A.M. - Adult Signature Required');} else if (service == 'A1') {return ('Next Day Air Early A.M. - Saturday Delivery, Adult Signature Required');} else if (service == 'A2') {return ('Next Day Air - Adult Signature Required');} else if (service == 'A8') {return ('Ground - Adult Signature Required');} else if (service == 'A9') {return ('Next Day Air Early A.M. - Adult Signature Required, COD');} else if (service == 'AA') {return ('Next Day Air Early A.M. - Saturday Delivery, Adult Signature Required, COD');}}}return ("");}function retrieveFees(pageNumber) {var i;var xml;var authErrorFlag = false;if (eBayAuthTokenFlag === false) {return;}var valueStartDate = document.getElementById('startDate').value + "T00:00:00.000Z";var valueEndDate = document.getElementById('endDate').value + "T23:59:59.999Z";var xw = new XMLWriter('UTF-8', '1.0');var xhr = new XMLHttpRequest();xw.writeStartDocument();xw.writeStartElement("GetAccountRequest");xw.writeAttributeString('xmlns', 'urn:ebay:apis:eBLBaseComponents');xw.writeStartElement('RequesterCredentials');xw.writeElementString('eBayAuthToken', eBayAuthToken);xw.writeEndElement(); /* RequesterCredentials */xw.writeElementString('AccountEntrySortType', 'AccountEntryCreatedTimeAscending');xw.writeElementString('AccountHistorySelection', 'BetweenSpecifiedDates');xw.writeElementString('BeginDate', valueStartDate);xw.writeElementString('EndDate', valueEndDate);xw.writeElementString('ExcludeBalance', 'true');xw.writeElementString('ExcludeSummary', 'true');xw.writeStartElement('Pagination');xw.writeElementString('EntriesPerPage', configXmlRequestEntriesPerPage);xw.writeElementString('PageNumber', pageNumber.toString());xw.writeEndElement(); /* Pagination */xw.writeElementString('ErrorLanguage', 'en_US');xw.writeElementString('Version', configeBayTradingVersion);xw.writeElementString('WarningLevel', configWarningLevel);xw.writeEndElement(); /* GetAccountRequest */xw.writeEndDocument();xhr.open('POST', configProxyUrl, true);xhr.setRequestHeader('Content-Type', 'text/xml');xhr.setRequestHeader('X-EBAY-API-APP-NAME', configAppid);xhr.setRequestHeader('X-EBAY-API-COMPATIBILITY-LEVEL', configeBayTradingVersion);xhr.setRequestHeader('X-EBAY-API-CALL-NAME', 'GetAccount');xhr.setRequestHeader('X-EBAY-API-SITEID', '0');xhr.setRequestHeader('X-EBAY-API-DEV-NAME', '');xhr.setRequestHeader('X-EBAY-API-CERT-NAME', '');xhr.setRequestHeader('X-Proxy-URL', configServiceEndpoint);xml = xw.flush();xw.close();//window.alert(vkbeautify.xml(xml));xhr.onload = () => {var obj = XMLparse(xhr.responseXML);//document.getElementById("logging").innerHTML = JSON.stringify(obj);//window.alert(JSON.stringify(obj));//window.alert(vkbeautify.xml(xhr.responseText));var returnCode = obj.Ack;var x = document.getElementById("results");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}if (obj.Message) {x.innerHTML += obj.Message;}if (returnCode == 'Success' || (returnCode == 'Warning' && obj.Errors.ErrorCode == '21917182')) {createFeeTable(obj, pageNumber);x.innerHTML = '<p><strong>' + returnCode + ' (Fees/Credits ' + pageNumber + ' / ' + obj.PaginationResult + ')</strong></p>';if (obj.HasMoreEntries == 'true') {++pagesToProcess;retrieveFees(pageNumber + 1);}document.getElementById("logging").innerHTML = html.join('');--pagesToProcess;function checkpagesToProcess() {if (pagesToProcess > 0) {window.setTimeout(checkpagesToProcess, 100); // wait 100 milliseconds} else {sortTable("feeTable", 1);x.innerHTML = '<p><strong>Report Finished!</strong></p>';var y = document.getElementById("dlFeeListButton");if (y.className.indexOf("w3-show") == -1) {y.className += " w3-show";}setTimeout(function() {x.className = x.className.replace(" w3-show", "");}, 3000);}}checkpagesToProcess();} else {x.innerHTML = "<p><strong>" + returnCode + ":</strong></p>";var errors = obj.Errors;x.innerHTML += "<p>";if (errors.length > 0) {for (i = 0; i < errors.length; i++) {x.innerHTML += errors[i].SeverityCode + " (" + errors[i].ErrorCode + "): " + escapeHtml(errors[i].LongMessage) + "<br/>";if (errors[i].LongMessage.includes('Auth')) {authErrorFlag = true;}}} else {x.innerHTML += obj.Errors.SeverityCode + " (" + obj.Errors.ErrorCode + "): " + escapeHtml(obj.Errors.LongMessage) + "<br/>";if (errors.LongMessage.includes('Auth')) {authErrorFlag = true;}}x.innerHTML += "</p>";if (authErrorFlag === true) {eBayAuthTokenFlag = false;x = document.getElementById("login");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}}}};xhr.send(xml);}function createFeeTable(obj, pageNumber) {var i;if (pageNumber == 1) {totalAmount = 0;document.getElementById("logging").innerHTML = '';html = [];html.push('<h3>Fees and Credits List from ' + document.getElementById("startDate").value + ' to ' + document.getElementById("endDate").value + '</h3>');html.push('<table id="feeTable" class="w3-table-all w3-small">');html.push('<thead>');html.push('<tr>');html.push(tableHeader('Item ID'));html.push(tableHeader('Title'));html.push(tableHeader('Date'));html.push(tableHeader('Fee Type'));html.push(tableHeader('Amount'));html.push('</tr>');html.push('</thead>');html.push('<tbody>');}for (i = 0; i < obj.AccountEntries.length; i++) {if ((!obj.AccountEntries[i].Description.includes('Payment') && !obj.AccountEntries[i].Description.includes('Final Value Fee') && obj.AccountEntries[i].GrossDetailAmount.text != '0.0' && obj.AccountEntries[i].NetDetailAmount.text != '0.0') ||(obj.AccountEntries[i].Description.includes('Final Value Fee') && obj.AccountEntries[i].NetDetailAmount.text.substr(0, 1) == '-')) {html.push('<tr>');html.push(tableCell(obj.AccountEntries[i].ItemID));html.push(tableCell(obj.AccountEntries[i].Title));html.push(tableCellDate(obj.AccountEntries[i].Date));html.push(tableCell(obj.AccountEntries[i].Description));html.push(tableCell('$' + parseFloat(obj.AccountEntries[i].GrossDetailAmount.text).toFixed(2)));totalAmount += parseFloat(obj.AccountEntries[i].GrossDetailAmount.text);html.push('</tr>');}}if (obj.HasMoreEntries != 'true') {html.push('</tbody>');html.push('<tfoot>');html.push('<tr>');html.push(tableCell('<strong>Totals</strong>'));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell(''));html.push(tableCell('<strong>$' + totalAmount.toFixed(2) + '</strong>'));html.push('</tr>');html.push('</tfoot>');html.push('</table>');}}function tableCellDate(utcDate) {var localDate = new Date(utcDate);return ('<td>' + localDate.yyyymmdd() + '</td>');}function tableCellSKU(str, title) {if (str === undefined) {str = '';}if (str.indexOf(" - ") > 0) {str = str.substr(0, str.indexOf(" - "));}if (str.startsWith("Batch")) {var batchNo = Number(str.substr(6));str = "Batch " + pad(batchNo, 2);}if (title.includes('(DVD') || title.includes('(HD') || title.includes('(Blu')) {str = 'DVD ' + str;} else if (title.includes('(CD')) {str = 'CD ' + str;} else if (title.includes('Hardcover') || title.includes('Paperback')) {str = 'Book ' + str;}return ('<td>' + str + '</td>');}function sortTable(tableName, column) {var table, rows, switching, i, x, y, shouldSwitch;--column; // column parameter starts with 1table = document.getElementById(tableName);switching = true;/*Make a loop that will continue untilno switching has been done:*/while (switching) {//start by saying: no switching is done:switching = false;rows = table.getElementsByTagName("TR");/*Loop through all table rows (except thefirst, which contains table headers, and the lastwhich contains the table footers):*/for (i = 1; i < (rows.length - 2); i++) {//start by saying there should be no switching:shouldSwitch = false;/*Get the two elements you want to compare,one from current row and one from the next:*/x = rows[i].getElementsByTagName("TD")[column];y = rows[i + 1].getElementsByTagName("TD")[column];//check if the two rows should switch place:if (x !== undefined && x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {//if so, mark as a switch and break the loop:shouldSwitch = true;break;}}if (shouldSwitch) {/*If a switch has been marked, make the switchand mark that a switch has been done:*/rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);switching = true;}}}function printData() {var printContent = document.getElementById("printTable");var num;var cssReference = [];var uniqueName = new Date();var windowName = 'Print' + uniqueName.getTime();var printWindow = window.open(num, windowName, 'left=50000,top=50000,width=0,height=0');cssReference[0] = printWindow.document.createElement("link");cssReference[0].href = "https://www.w3schools.com/w3css/4/w3.css";cssReference[0].rel = "stylesheet";cssReference[0].type = "text/css";cssReference[1] = printWindow.document.createElement("link");cssReference[1].href = "css/style.css";cssReference[1].rel = "stylesheet";cssReference[1].type = "text/css";printWindow.document.write(printContent.outerHTML);printWindow.document.getElementsByTagName('head')[0].appendChild(cssReference[0]);printWindow.document.getElementsByTagName('head')[0].appendChild(cssReference[1]);printWindow.document.close();printWindow.focus();printWindow.print();printWindow.close();}function printSummary() {var profit = grossSales + shippingRcvd - shippingCost - eBayFees - PayPalFees - VATaxAmount;document.getElementById("summary").innerHTML = '<h2>Profit: ' + profit.toFixed(2) + '</h3>';}function findThumbNails() {var i;var x = document.getElementById("shippingTable");thumbnailsToProcess = 0;for (i = 1; i < (x.rows.length - 1); i++) {if (x.rows[i].cells[7].innerHTML == 'eBay' && x.rows[i].cells[2] !== undefined && x.rows[i].cells[2].innerHTML.length < 1) {++thumbnailsToProcess;getThumbNail(x.rows[i].cells[4].innerHTML);} else if (x.rows[i].cells[7].innerHTML == 'Shopify' && x.rows[i].cells[2] !== undefined && x.rows[i].cells[2].innerHTML.length > 0) {++thumbnailsToProcess;getShopifyThumbNail(x.rows[i].cells[2].innerHTML);}}function checkthumbnailsToProcess() {if (thumbnailsToProcess > 0) {window.setTimeout(checkthumbnailsToProcess, 100); // wait 100 milliseconds} else {x = document.getElementById("results");x.innerHTML = '<p><strong>Report Finished!</strong></p>';setTimeout(function() {x.className = x.className.replace(" w3-show", "");}, 3000);}}checkthumbnailsToProcess();}function getThumbNail(itemId) {// Construct the getSingleItem requesturl = configeBayShopping + "?";url += "callname=GetSingleItem";url += "&responseencoding=JSON";url += "&appid=" + configAppid;url += "&version=" + configeBayShoppingVersion;url += "&ItemID=";url += itemId;var xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4) {_cb_getThumbNail(JSON.parse(this.responseText));}};xhttp.open("GET", configProxyUrl, true);xhttp.setRequestHeader("X-Proxy-Url", encodeURI(url));xhttp.send();}function _cb_getThumbNail(root) {var ack = root.Ack;if (ack == 'Failure' || ack == 'PartialFailure') {return;}var JsonObj = typeof root.Item != 'object' ? JSON.parse(root.Item) : root.Item;var ItemID = JsonObj.ItemID;var PictureURL;if (Array.isArray(JsonObj.PictureURL)) {PictureURL = JsonObj.PictureURL[0];} else {PictureURL = JsonObj.PictureURL;}document.getElementById('PictureURL' + ItemID).innerHTML = '<img src="' + PictureURL + '" style="max-height:100px">';--thumbnailsToProcess;}function getShopifyThumbNail(productId) {var xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {//window.alert(this.responseText);var json = JSON.parse(this.responseText);if (json.product !== undefined) {document.getElementById('PictureURL' + productId).innerHTML = '<img src="' + json.product.image.src + '" style="max-height:100px">';}--thumbnailsToProcess;}};xhttp.open("GET", configProxyUrl, true);xhttp.setRequestHeader("X-Proxy-Url", encodeURI(configShopifyUrl + 'products/' + productId + '.json?fields=image'));xhttp.send();}function findShippingCosts() {var i;var x;if (getRadioValue('rptType') == 'trackingList') {x = document.getElementById("trackingTable");} else {x = document.getElementById("orderTable");}for (i = (x.rows.length - 1); i > 0; i--) {if (getRadioValue('rptType') == 'trackingList') {if (x.rows[i].cells[3] !== undefined && x.rows[i].cells[3].innerHTML.length < 1) {if (x.rows[i].cells[7] !== undefined && x.rows[i].cells[7].innerHTML.length < 1) {document.getElementById("trackingTable").deleteRow(i);} else {++shippingsToProcess;getShippingCost(x.rows[i].cells[2].innerHTML);}}} else {if (x.rows[i].cells[5].innerHTML == 'eBay' && x.rows[i].cells[9] !== undefined && x.rows[i].cells[9].innerHTML.length < 1) {++shippingsToProcess;getShippingCost(x.rows[i].cells[2].innerHTML);} else if (x.rows[i].cells[5].innerHTML == 'Shopify') {++shippingsToProcess;getPaymentTransaction(x.rows[i].cells[2].innerHTML);}}}function checkshippingsToProcess() {if (shippingsToProcess > 0) {window.setTimeout(checkshippingsToProcess, 100); // wait 100 milliseconds} else {if (getRadioValue('rptType') != 'trackingList') {document.getElementById("ShippingTotal").innerHTML = '<strong>$' + shippingCost.toFixed(2) + '</strong>';x = document.getElementById("results");x.innerHTML = '<p><strong>Report Finished!</strong></p>';setTimeout(function() {x.className = x.className.replace(" w3-show", "");}, 3000);} else {x = document.getElementById("results");x.innerHTML = '<p><strong>Retrieving Carrier Tracking...</strong></p>';getTrackingDetails();}}}checkshippingsToProcess();}function getShippingCost(OrderId) {var i;var xml;var correlationId;var shippingCostStr;var deliveryStatus;var authErrorFlag = false;var xw = new XMLWriter('UTF-8', '1.0');var xhr = new XMLHttpRequest();xw.writeStartDocument();xw.writeStartElement("GetSellingManagerSaleRecordRequest");xw.writeAttributeString('xmlns', 'urn:ebay:apis:eBLBaseComponents');xw.writeStartElement('RequesterCredentials');xw.writeElementString('eBayAuthToken', eBayAuthToken);xw.writeEndElement(); /* RequesterCredentials */xw.writeElementString('OrderID', OrderId);xw.writeElementString('MessageID', OrderId);xw.writeElementString('ErrorLanguage', 'en_US');xw.writeElementString('Version', configeBayTradingVersion);xw.writeElementString('WarningLevel', configWarningLevel);xw.writeEndElement(); /* GetSellingManagerSaleRecordRequest */xw.writeEndDocument();xhr.open('POST', configProxyUrl, true);xhr.setRequestHeader('Content-Type', 'text/xml');xhr.setRequestHeader('X-EBAY-API-APP-NAME', configAppid);xhr.setRequestHeader('X-EBAY-API-COMPATIBILITY-LEVEL', configeBayTradingVersion);xhr.setRequestHeader('X-EBAY-API-CALL-NAME', 'GetSellingManagerSaleRecord');xhr.setRequestHeader('X-EBAY-API-SITEID', '0');xhr.setRequestHeader('X-EBAY-API-DEV-NAME', '');xhr.setRequestHeader('X-EBAY-API-CERT-NAME', '');xhr.setRequestHeader('X-Proxy-URL', configServiceEndpoint);xml = xw.flush();xw.close();//window.alert(vkbeautify.xml(xml));xhr.onload = () => {var obj = XMLparse(xhr.responseXML);//document.getElementById("logging").innerHTML += JSON.stringify(obj);//window.alert(JSON.stringify(obj));//window.alert(vkbeautify.xml(xhr.responseText));var returnCode = obj.Ack;var x = document.getElementById("results");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}if (obj.Message) {x.innerHTML += obj.Message;}if (returnCode == 'Success' || (returnCode == 'Warning' && obj.Errors.ErrorCode == '21917182')) {correlationId = obj.CorrelationID;deliveryStatus = '';shippingCostStr = '';if (obj.SellingManagerSoldOrder.ActualShippingCost !== undefined &&obj.SellingManagerSoldOrder.ActualShippingCost.text != '0.0' &&document.getElementById('ShippingCost' + correlationId).innerHTML.length < 1) {shippingCostStr = '$' + parseFloat(obj.SellingManagerSoldOrder.ActualShippingCost.text).toFixed(2);shippingCost += parseFloat(obj.SellingManagerSoldOrder.ActualShippingCost.text);document.getElementById('ShippingCost' + correlationId).innerHTML = shippingCostStr;if (getRadioValue('rptType') == 'orderList') {printSummary();}}if (getRadioValue('rptType') != 'trackingList') {if (Array.isArray(obj.SellingManagerSoldOrder.SellingManagerSoldTransaction)) {for (i = 0; i < obj.SellingManagerSoldOrder.SellingManagerSoldTransaction.length; i++) {if (obj.SellingManagerSoldOrder.SellingManagerSoldTransaction[i].Shipment.DeliveryStatus !== undefined) {deliveryStatus += (i > 0 ? '<br/>' : '') + obj.SellingManagerSoldOrder.SellingManagerSoldTransaction[i].Shipment.DeliveryStatus;}}} else {if (obj.SellingManagerSoldOrder.SellingManagerSoldTransaction.Shipment.DeliveryStatus !== undefined) {deliveryStatus = obj.SellingManagerSoldOrder.SellingManagerSoldTransaction.Shipment.DeliveryStatus;}}document.getElementById('Delivery' + correlationId).innerHTML = deliveryStatus;}} else {x.innerHTML = "<p><strong>" + returnCode + ":</strong></p>";var errors = obj.Errors;x.innerHTML += "<p>";if (errors.length > 0) {for (i = 0; i < errors.length; i++) {x.innerHTML += errors[i].SeverityCode + " (" + errors[i].ErrorCode + "): " + escapeHtml(errors[i].LongMessage) + "<br/>";if (errors[i].LongMessage.includes('Auth')) {authErrorFlag = true;}}} else {x.innerHTML += obj.Errors.SeverityCode + " (" + obj.Errors.ErrorCode + "): " + escapeHtml(obj.Errors.LongMessage) + "<br/>";if (errors.LongMessage.includes('Auth')) {authErrorFlag = true;}}x.innerHTML += "</p>";if (authErrorFlag === true) {eBayAuthTokenFlag = false;x = document.getElementById("login");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}}}--shippingsToProcess;};xhr.send(xml);}function getPaymentTransaction(fullId) {var id = fullId.substr(0, fullId.indexOf(' '));var i;var transFee = 0.00;var transFeeStr = '';var transDate = '';var transId = '';var xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {//window.alert(this.responseText);var json = JSON.parse(this.responseText);if (json.transactions[0] !== undefined) {for (i = 0; i < json.transactions.length; i++) {transDate = json.transactions[i].created_at.substr(0, 10);document.getElementById('PaidDate' + id).innerHTML = transDate;if (json.transactions[i].gateway == 'shopify_payments') {transId = json.transactions[i].id;transFee = Number(json.transactions[0].receipt.balance_transaction.fee) / 100;} else if (json.transactions[i].gateway == 'paypal') {transId = json.transactions[i].authorization;transFee = Number(json.transactions[0].receipt.balance_transaction.fee);} else if (json.transactions[i].gateway == 'manual') {transId = json.transactions[i].id;}document.getElementById('TransactionId' + id).innerHTML = transId;transFeeStr = '$' + parseFloat(transFee).toFixed(2);PayPalFees += transFee;document.getElementById('Fee' + id).innerHTML = transFeeStr;}}--shippingsToProcess;}};xhttp.open("GET", configProxyUrl, true);xhttp.setRequestHeader("X-Proxy-Url", encodeURI(configShopifyUrl + configShopifyTransactionsUrl1 + id + configShopifyTransactionsUrl2));xhttp.send();}function getTrackingDetails() {var i;var x;trackingNumbersToProcess = 0;for (i = 0; i < trackingList.length; i++) {++trackingNumbersToProcess;if (trackingList[i].substr(0,2) == '1Z') {getUPSTracking(trackingList[i]);} else {getUSPSTracking(trackingList[i]);}}function checkTrackingsToProcess() {if (trackingNumbersToProcess > 0) {window.setTimeout(checkTrackingsToProcess, 100); // wait 100 milliseconds} else {x = document.getElementById("results");x.innerHTML = '<p><strong>Report Finished!</strong></p>';setTimeout(function() {x.className = x.className.replace(" w3-show", "");}, 3000);}}checkTrackingsToProcess();}function getUSPSTracking(searchNumber) {var j;var str;var url;var trackingNumber;var summary;var detail;var deliveryDate;var createDate;var duration;var lastUpdate;var lastEvent;var footer;var xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {var obj = XMLparse(this.responseXML);if (obj.TrackSummary === undefined) {--trackingNumbersToProcess;return;}trackingNumber = obj.ID;summary = formatUSPSTrackingLine(obj.TrackSummary);detail = '';footer = '';deliveryDate = '';duration = '';lastUpdate = summary.substr(8, 10);lastEvent = obj.TrackSummary.Event;if (document.getElementById('DeliveryStatus' + trackingNumber) === null) {--trackingNumbersToProcess;return;}if (obj.TrackDetail !== undefined && obj.TrackDetail.length > 0) {for (j = 0; j < obj.TrackDetail.length; j++) {detail += formatUSPSTrackingLine(obj.TrackDetail[j]);}createDate = moment(obj.TrackDetail[(obj.TrackDetail.length - 1)].EventDate, "MMMM DD, YYYY").format('YYYY-MM-DD');footer = 'Enroute since ' + createDate + ' (' + moment().diff(createDate, 'days') + ' days)';if (summary.includes("Delivered")) {deliveryDate = summary.substr(8, 10);duration = moment(deliveryDate).diff(createDate, 'days');document.getElementById('DeliveryStatus' + trackingNumber).style.color = "green";footer = 'Delivered in ' + moment(deliveryDate).to(createDate, 'days');} else if (moment().diff(lastUpdate, 'days') > 3) {document.getElementById('DeliveryStatus' + trackingNumber).style.color = "red";}}document.getElementById('DeliveryStatus' + trackingNumber).innerHTML = lastEvent;document.getElementById('DeliveryDays' + trackingNumber).innerHTML = duration;document.getElementById('DeliveryDate' + trackingNumber).innerHTML = deliveryDate;str = document.getElementById(trackingNumber).innerHTML;if (!str.startsWith('<button')) {document.getElementById(trackingNumber).innerHTML = '<button onclick="document.getElementById(\'mod' + trackingNumber + '\').style.display=\'block\'" class="w3-button w3-black">' + str + '</button>';str = ' <div id="mod' + trackingNumber + '" class="w3-modal">';str += ' <div class="w3-modal-content w3-card-4">';str += ' <header class="w3-container w3-black"> ';str += ' <span onclick="document.getElementById(\'mod' + trackingNumber + '\').style.display=\'none\'"';str += ' class="w3-button w3-display-topright">×</span>';str += ' <h3>' + trackingNumber + ' (USPS ' + getCarrierService("USPS", trackingNumber, false) + ')</h3>';str += ' </header>';str += ' <div class="w3-container">';str += ' <table class="w3-table-all w3-small">';str += ' <tr>';str += ' <th>DATE</th>';str += ' <th>TIME</th>';str += ' <th>STATUS</th>';str += ' <th>LOCATION</th>';str += ' </tr>';str += summary;str += detail;str += ' </table>';str += ' </div>';str += ' <footer class="w3-container w3-black">';str += ' <p>' + document.getElementById('DeliveryAddress' + trackingNumber).innerHTML + ' - ' + footer + '</p>';str += ' </footer>';str += ' </div>';str += ' </div>';document.getElementById("modals").innerHTML += str;}--trackingNumbersToProcess;}};url = configUSPSUrl + '?API=TrackV2&XML=';url += '<TrackFieldRequest USERID="';url += configUSPSUserId;url += '">';url += '<TrackID ID="' + searchNumber + '"></TrackID>';url += '</TrackFieldRequest>';url = url.replace(/ /g, '%20');xhttp.open("GET", configProxyUrl, true);xhttp.setRequestHeader("X-Proxy-Url", encodeURI(url));xhttp.send();}function formatUSPSTrackingLine(t) {var str = '';if (t !== undefined) {str = '<tr>';str += '<td>' + moment(t.EventDate, "MMMM DD, YYYY").format('YYYY-MM-DD') + '</td>';str += '<td>';if (t.EventTime.length > 0) {str += ' ' + moment(t.EventTime, "hh:mm a").format('HH:mm');}str += '</td>';str += '<td>' + t.Event + '</td>';str += '<td>';if (t.EventCity.length > 0) {str += t.EventCity;if (t.EventState.length > 0) {str += ", " + t.EventState + ' ' + t.EventZIPCode;}}str += '</td>';str += '</tr>';}return (str);}function getUPSTracking(trackingNumber) {var xhr = new XMLHttpRequest();var xml = '<?xml version="1.0"?>';xml += '<AccessRequest xml:lang="en-US">';xml += '<AccessLicenseNumber>' + configUPSAccessKey + '</AccessLicenseNumber>';xml += '<UserId>' + configUPSUsername + '</UserId>';xml += '<Password>' + configUPSPassword + '</Password>';xml += '</AccessRequest>';xml += '<?xml version="1.0"?>';xml += '<TrackRequest xml:lang="en-US">';xml += '<Request>';xml += '<TransactionReference>';xml += '<CustomerContext>' + 'MUNA Trading' + '</CustomerContext>';xml += '</TransactionReference>';xml += '<RequestAction>Track</RequestAction>';xml += '<RequestOption>1</RequestOption>';xml += '</Request>';xml += '<TrackingNumber>' + trackingNumber + '</TrackingNumber>';xml += '</TrackRequest>';xhr.onload = () => {var obj = XMLparse(xhr.responseXML);//document.getElementById("logging").innerHTML = JSON.stringify(obj);//window.alert(JSON.stringify(obj));//window.alert(vkbeautify.xml(xhr.responseText));if (obj.Response.ResponseStatusDescription != 'Success') {--trackingNumbersToProcess;return;}trackingNumber = obj.Shipment.ShipmentIdentificationNumber;summary = formatUPSTrackingLine(obj.Shipment.Package.Activity[0]);detail = '';footer = '';deliveryDate = '';duration = '';lastUpdate = moment(obj.Shipment.Package.Activity[0].Status.Date, "YYYYMMDD").format('YYYY-MM-DD');lastEvent = obj.Shipment.Package.Activity[0].Status.StatusType.Description;if (document.getElementById('DeliveryStatus' + trackingNumber) === null) {--trackingNumbersToProcess;return;}if (obj.Shipment.Package.Activity !== undefined && obj.Shipment.Package.Activity.length > 0) {for (j = 0; j < obj.Shipment.Package.Activity.length; j++) {detail += formatUPSTrackingLine(obj.Shipment.Package.Activity[j]);}createDate = moment(obj.Shipment.PickupDate, "YYYYMMDD").format('YYYY-MM-DD');footer = 'Enroute since ' + createDate + ' (' + moment().diff(createDate, 'days') + ' days)';if (obj.Shipment.Package.DeliveryIndicator == 'Y') {deliveryDate = moment(obj.Shipment.Package.DeliveryDate, "YYYYMMDD").format('YYYY-MM-DD');duration = moment(deliveryDate).diff(createDate, 'days');document.getElementById('DeliveryStatus' + trackingNumber).style.color = "green";footer = 'Delivered in ' + moment(deliveryDate).to(createDate, 'days');} else if (moment().diff(lastUpdate, 'days') > 3) {document.getElementById('DeliveryStatus' + trackingNumber).style.color = "red";}}document.getElementById('ShippedDate' + trackingNumber).innerHTML = createDate;document.getElementById('DeliveryStatus' + trackingNumber).innerHTML = lastEvent;document.getElementById('DeliveryDays' + trackingNumber).innerHTML = duration;document.getElementById('DeliveryDate' + trackingNumber).innerHTML = deliveryDate;str = document.getElementById(trackingNumber).innerHTML;if (!str.startsWith('<button')) {document.getElementById(trackingNumber).innerHTML = '<button onclick="document.getElementById(\'mod' + trackingNumber + '\').style.display=\'block\'" class="w3-button w3-black">' + str + '</button>';str = ' <div id="mod' + trackingNumber + '" class="w3-modal">';str += ' <div class="w3-modal-content w3-card-4">';str += ' <header class="w3-container w3-black"> ';str += ' <span onclick="document.getElementById(\'mod' + trackingNumber + '\').style.display=\'none\'"';str += ' class="w3-button w3-display-topright">×</span>';str += ' <h3>' + trackingNumber + ' (UPS ' + getCarrierService("UPS", trackingNumber, false) + ')</h3>';str += ' </header>';str += ' <div class="w3-container">';str += ' <table class="w3-table-all w3-small">';str += ' <tr>';str += ' <th>DATE</th>';str += ' <th>TIME</th>';str += ' <th>STATUS</th>';str += ' <th>LOCATION</th>';str += ' </tr>';str += summary;str += detail;str += ' </table>';str += ' </div>';str += ' <footer class="w3-container w3-black">';str += ' <p>' + document.getElementById('DeliveryAddress' + trackingNumber).innerHTML + ' - ' + footer + '</p>';str += ' </footer>';str += ' </div>';str += ' </div>';document.getElementById("modals").innerHTML += str;}--trackingNumbersToProcess;};xhr.open('POST', configProxyUrl, true);xhr.setRequestHeader('Content-Type', 'text/xml');xhr.setRequestHeader('X-Proxy-URL', configUPSUrl);xhr.send(xml);}function formatUPSTrackingLine(t) {var str = '';if (t !== undefined) {str = '<tr>';str += '<td>' + moment(t.Date, "YYYYMMDD").format('YYYY-MM-DD') + '</td>';str += '<td>';if (t.Time.length > 0) {str += ' ' + moment(t.Time, "HHmmss").format('HH:mm');}str += '</td>';str += '<td>' + t.Status.StatusType.Description + '</td>';str += '<td>';if (t.ActivityLocation.Address.City !== undefined) {str += t.ActivityLocation.Address.City;if (t.ActivityLocation.Address.StateProvinceCode !== undefined) {str += ", " + t.ActivityLocation.Address.StateProvinceCode;}}str += '</td>';str += '</tr>';}return (str);}function connected() {var x;eBayAuthTokenFlag = true;document.getElementById("connected").innerHTML += " (Connected)";x = document.getElementById("startButton");x.className = x.className.replace(" w3-red", " w3-black");x = document.getElementById("login");x.className = x.className.replace(" w3-show", "");x = document.getElementById("results");x.innerHTML = "";x.className = x.className.replace(" w3-show", "");}</script></body></html>