- // ==UserScript==
- // @name SGW Item Modification Helper
- // @namespace greasyfork.org
- // @version 1.4.0.9
- // @grant none
- // @include https://sellers.shopgoodwill.com/sellers/modifyItem.asp*
-
- // @require https://greasyfork.org/scripts/37273-underdollar-jquery-replacement/code/Underdollar%20jQuery%20replacement.js?upDate=2018_01_11sq2
- // @description Improves the modification page
- // ==/UserScript==
-
-
- console.log('squirrel?')
-
- // @require https://greasyfork.org/scripts/23449-gm-api-script/code/GM%20API%20script.js?upDate=2016_09_23
-
- //NodeList.prototype.forEach = Array.prototype.forEach;
-
- //Array.prototype.forEach.call(document.querySelectorAll('*[name]'), function(el) {
- document.querySelectorAll('*[name]').forEach(function(el) {
- if (typeof el.id == 'undefined' || el.id.length < 1) {
- el.id = el.getAttribute('name');
- }
- });
-
-
-
-
- _$('#itemTitle').parent().parent().parent().hide();
- _$('#itemTitle').parent().parent().parent().before("<tr><td valign='top' width='10' bgcolor='#2045A3'><img src='../images/spacer.gif' height=' 0' width='10'></td><td id='contentTD'></td></tr>");
-
- _$('#contentTD').append("<p id='itemTitleContainer'><b>Item Title:</b> </p>");
- _$('#itemTitleContainer').append(_$('#itemTitle'));
-
- _$('#contentTD').append("<p id='itemCategoryContainer'><b>Category:</b> </p>");
- _$('#itemCategoryContainer').append(_$('#s1'));
-
- _$('#contentTD').append("<p id='itemDescriptionContainer'><b>Description:</b> </p>");
- _$('#itemDescriptionContainer').append(_$('#colourPalette').parent());
-
- _$('#contentTD').append("<div id='itemShippingDetailsContainer'></div>");
- _$('#itemShippingDetailsContainer').append("<p id='itemShippingWeightContainer'><b>Shipping Weight:</b> </p>");
- _$('#itemShippingWeightContainer').append(_$('#itemWeight'));
- _$('#itemShippingDetailsContainer').append("<p id='itemDisplayWeightContainer'><b>Display (Actual) Weight:</b> </p>");
- _$('#itemDisplayWeightContainer').append(_$('#itemDisplayWeight'));
- _$('#itemShippingDetailsContainer').append("<p id='itemShippingPriceContainer'><b>Shipping Charge:</b><br></p>");
- _$('#itemShippingPriceContainer').append(_$('#itemShippingPrice'));
- _$('#itemShippingDetailsContainer').append("<p id='itemShipMethodContainer'><b>Shipping Method:</b> <br></p>");
- _$('#itemShipMethodContainer').append(_$('#itemShipMethod'));
- _$('#itemShippingDetailsContainer').append("<p id='itemNoCombineShippingContainer'><b>Item Shipment Combining:</b><br></p>");
- _$('#itemNoCombineShippingContainer').append(_$('#itemNoCombineShipping'));
- _$('#itemNoCombineShippingContainer').append(" Select this option if the buyer of this item should not be allowed to combine this item with shipment of other items.");
- _$('#itemShippingDetailsContainer').append("<p id='itemAutoInsuranceContainer'><b>Auto Include Insurance (USPS Only):</b></p>");
- _$('#itemAutoInsuranceContainer').append(_$('#itemAutoInsurance'));
-
- _$('#contentTD').append("<p id='itemsellerstoreContainer'><b>Seller Store:</b> </p>");
- _$('#itemsellerstoreContainer').append(_$('#itemsellerstore'));
-
- //_$('#itemSellerInventoryLocationID').parent().attr('id', 'itemSellerInventoryLocationIDContainer').appendTo(_$('#contentTD')); // no appendTo, appendTo is stupid
- _$('#contentTD').append(_$('#itemSellerInventoryLocationID').parent().attr('id', 'itemSellerInventoryLocationIDContainer'));
-
- _$('#contentTD').append("<p id='itemSellerInfoContainer'><b>Seller Private Description:</b><br></p>");
- _$('#itemSellerInfoContainer').append(_$('#itemSellerInfo'));
-
- _$('#contentTD').append("<p style='position:relative; left: 10px; padding-bottom:4px;'><span class='fakeButton' onclick='_$(\"#hiddenJunk\").toggle();'>Show/hide hidden fields/etc.</span></p>");
-
-
- _$('#contentTD').parent().after("<tr style='display:none;' id='hiddenJunk'><td valign='top' width='10' bgcolor='#2045A3'><img src='../images/spacer.gif' height=' 0' width='10'></td><td id='hiddenJunkTD'></td></tr>");
-
- _$('#hiddenJunkTD').append("<p id='itemQuantityContainer'><b>Item Quantity: </b></p>");
- _$('#itemQuantityContainer').append(_$('#itemQuantity').parent());
-
- _$('#hiddenJunkTD').append("<p id='itemMinimumBidContainer'><b>Minimum Bid: </b></p>");
- _$('#itemMinimumBidContainer').append(_$('#itemMinimumBid').parent());
-
- _$('#hiddenJunkTD').append("<p id='itemBidIncrementContainer'><b>Bid Increment: </b></p>");
- _$('#itemBidIncrementContainer').append(_$('#itemBidIncrement').parent());
-
- _$('#hiddenJunkTD').append("<p id='itemReserveContainer'><b>Reserve Price: </b></p>");
- _$('#itemReserveContainer').append(_$('#itemReserve').parent());
- _$('#itemReserve').parent().children().first().remove();
-
- _$('#hiddenJunkTD').append("<p id='itemBuyNowPriceContainer'><b>Buy Now Price: </b></p>");
- _$('#itemBuyNowPriceContainer').append(_$('#itemBuyNowPrice').parent());
- _$('#itemBuyNowPrice').parent().children().first().remove();
-
- _$('#hiddenJunkTD').append("<p id='itemActualDimensionsContainer'></p>");
- _$('#itemActualDimensionsContainer').append(_$('#itemLength').parent().parent().parent());
-
- _$('#hiddenJunkTD').append("<p id='itemShippingDimensionsContainer'></p>");
- _$('#itemShippingDimensionsContainer').append('<font face="Arial" size="2"><strong>Shipping Dimension - Length x Width x Height in inches (optional)</font><font face="arial" color="#a3223a" size="4"></font>:</strong>');
- _$('#itemShippingDimensionsContainer').append(_$('#itemShipLength'));
- _$('#itemShippingDimensionsContainer').append(" <font face='Arial' size='2'>(Numbers and decimal point '.' only) Used for shipping optimization and prevention of oversized charges.</font>");
-
- _$('#hiddenJunkTD').append("<p id='itemShippingContainer'><b>Shipping: </b><p>");
- _$('#itemShippingContainer').append(_$('#itemShipping'));
- _$('#itemShippingContainer').append(_$('select[name="itemShipping"]'));
-
- _$('#hiddenJunkTD').append("<p id='itemHandlingPriceContainer'><b>Handling Charge: </b></p>");
-
- _$('#itemHandlingPriceContainer').append(_$('#itemHandlingPrice').parent());
- _$('#itemHandlingPrice').parent().children().first().remove();
-
- _$('#hiddenJunk').after("<tr><td valign='top' width='10' bgcolor='#2045A3' height='10px'><img src='../images/spacer.gif' height=' 0' width='10'></td><td id='hiddenJunkTD'></td></tr>");
-
- _$('#itemShipMethod option[value="3"]').text('Post Office');
-
-
- _$('#itemTitleContainer').after('<div id="counterContainer"><font face="Arial" size="4">You have <b><span id="myCounter"></span></b> characters remaining.</font></div>');
- _$("#myCounter").html(50-_$('#itemTitle').val().length);
- _$('#itemTitle').bind('keyup', function(){
- _$("#myCounter").html(50-_$('#itemTitle').val().length);
- });
-
- // --------- Shipping calculator --------------------------------------------
-
- if (_$('#gesMN_shippingCalculatorContainer').length > 0) {
- _$("#itemDescriptionContainer").append(_$('#gesMN_shippingCalculatorContainer'));
- var sgwTimeouts = window.setTimeout(function(){
-
-
- function combineCheck(){
- var noCombine = false;
- var myWeight = _$('#itemWeight').val();
- if (myWeight >= 20) {
- console.log('badWeight: >= 20');
- noCombine = true;
- } else if (_$('#combineCheck').html() != 'true') {
- var myCat = _$('#s1').val();
- var badCats = ['Paintings', 'Prints', 'Strings', 'Brass', 'Formalwear', 'Outerwear', 'Wedding > Dresses', 'Lamps', 'Dinnerware', 'Sewing Machines', 'Typewriters', 'Receivers', 'Turntables', 'Dinnerware', 'Trains'];
- _$.each(badCats, function(index, category){//__$.each == __$().each
- if (myCat.indexOf(category) >= 0) {
- noCombine = true;
- console.log('badCat: ' + category);
- }
- });
- if (noCombine == false) {
- var myDescription = '';
- if (typeof _$('#WebWizRTE').contents()[0]['body']['innerText'] != 'undefined') { // this may not work
- var myDesc = _$('#WebWizRTE').contents()[0]['body']['innerText'].replace(/(?:\r\n|\r|\n)/g, '').toLowerCase();
- }
- var myTitle = _$('#itemTitle').val().toLowerCase();
- var badWords = ['Framed', 'Saxophone', 'Guitar', 'Keyboard', 'Trombone', 'Telescope', 'Saxophone', 'Lamp', 'Snowboard', 'Skateboard', 'Glass', 'Crystal', 'Cast iron', 'Tool', 'Drum', 'Sewing machine', 'Typewriter', 'Printer', 'Desktop', 'Receiver', 'Turntable', 'Monitor'];
- // console.log(myDescription);
- // console.log(myTitle);
- _$.each(badWords, function(index, word){
- word = word.toLowerCase();
- if (myDescription.indexOf(word) >= 0 || myTitle.indexOf(word) >= 0) {
- noCombine = true;
- console.log('badWord: '+word);
- } else {
- }
- });
- if (noCombine == false && (myCat.indexOf('Speaker') >= 0 || myTitle.indexOf('speaker') >= 0 || myDescription.indexOf('speaker') >= 0) && myWeight > 5) {
- noCombine = true;
- console.log('badWeight (speaker)');
- }
- }
- }
- if (noCombine == true) {
- console.log('no combine');
- _$('#itemNoCombineShipping').attr('checked', true);
- } else {
- console.log('combine');
- _$('#itemNoCombineShipping').attr('checked', false);
- }
- }
-
- function dummyWeight() {
- if (_$('#itemWeight').val().length < 1) {
- _$('#itemWeight').val(1);
- }
- if (_$('#itemDisplayWeight').val().length < 1) {
- _$('#itemDisplayWeight').val(1);
- }
- }
-
- function setCombinable(bool) {
- // true == CAN be combined; false == CANNOT
- _$('#combineCheck').html(bool);
- if (bool === true || bool == 'true') {
- _$('itemNoCombineShipping').attr('checked', false);
- } else {
- _$('itemNoCombineShipping').attr('checked', true);
- }
- }
- function getElement(queryString) {
- if (queryString.indexOf('#') == 0) {
- return document.getElementById(queryString.replace('#',''));
- } else {
- return document.querySelectorAll(queryString)[0];
- }
- }
- function getElements(queryString) {
- return document.querySelectorAll(queryString);
- }
- function hide(el){
- el.style.display = 'none';
- el.classList += 'gesHidden';
- return false;
- }
- function show(el){
- el.style.display = '';
- return false;
- }
- function addCSS(element, styleText) {
- element.style.cssText +=';'+ styleText;
- return false;
- }
-
-
- _$('#gesMN_useThisButton').bind('click', function(){
- var method;
- var actualWeight = _$('#gesMN_actualWeight').val();
- var shippingWeight = 0;
- var shippingCharge = 0;
- console.log(actualWeight);
- if (_$('#gesMN_shippingWeight').filter(function(el){
- return _$(el).isVisible();
- }).length > 0) {
- shippingWeight = _$('#gesMN_shippingWeight').html();
- _$('#itemShipMethod').val(2);
- _$('#itemAutoInsurance').attr('checked', false);
- console.log(shippingWeight);
- } else if (_$('#gesMN_shippingCharge').filter(function(el){
- return _$(el).isVisible();
- }).length > 0) {
- shippingWeight = actualWeight;
- _$('#itemShipMethod').val(3);
- _$('#itemAutoInsurance').attr('checked', true);
- shippingCharge = _$('#gesMN_shippingCharge').html();
- } else {
- shippingWeight = actualWeight;
- _$('#itemShipMethod').val(0);
- _$('#itemAutoInsurance').attr('checked', false);
- }
- _$('#itemWeight').val(shippingWeight);
- _$('#itemDisplayWeight').val(actualWeight);
- _$('#itemShippingPrice').val(shippingCharge);
- });
-
- }, 1100);
-
- }
-
- _$('.fakeButton').css({
- 'border' : '1px solid #CCC',
- 'background-color' : '#EEE',
- 'padding' : '3px',
- 'margin' : '3px',
- });
-
-
- // can I touch _$('body.WebWizRTEtextarea')???