// ==UserScript==
// @name SGW Item Modification Helper
// @namespace greasyfork.org
// @version 1.4.0.1
// @grant none
// @include https://sellers.shopgoodwill.com/sellers/modifyItem.asp*
// @description Improves the modification page
// ==/UserScript==
// @require https://greasyfork.org/scripts/23449-gm-api-script/code/GM%20API%20script.js?upDate=2016_09_23
$ = window.$;
$('*[name]').not('[id]').each(function(){
$(this).attr('id', $(this).attr('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'));
$('#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").after($('#gesMN_shippingCalculatorContainer'));
var sgwTimeouts = window.setTimeout(function(){
function buttonClickAnimate(button) {
var myBGColor = button.css('background-color');
button.animate({'background-color' : darken(button.css('background-color'), 0.1)},250).animate({'background-color' : myBGColor},400);
// button.css();
if ($('#gesMN_checkMark').length < 1) {
button.after("<div id='gesMN_checkMark' style='float:left; font-size: 30px; color:#00e600; position: relative; top: -10px;'>✔</div>");
} else {
$('#gesMN_checkMark').html('✔').css('color', '#00e600');
}
}
function darken(color, modifier) {
var parts = color.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
delete(parts[0]);
for (var i = 1; i <= 3; ++i) {
parts[i] = Math.min(Math.ceil(parts[i]*(1-modifier)), 255);
}
return 'rgb(' + parts[1] + ',' + parts[2] + ',' + parts[3] + ')';
}
function darkenElement(element, modifier) {
var bgColor = element.css('background-color');
dark = darken(bgColor, modifier);
darker = darken(bgColor, modifier*2);
console.log(dark);
console.log(darker);
element.css({'background-color' : darker, /*'border-color' : borderColor*/}).animate({
'background-color' : dark,
}, 500);
}
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){
if (myCat.indexOf(category) >= 0) {
noCombine = true;
console.log('badCat: ' + category);
}
});
if (noCombine == false) {
var myDescription = '';
if (typeof $('#WebWizRTE').contents()[0]['body']['innerText'] != 'undefined') {
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(){
buttonClickAnimate($(this));
var method;
var actualWeight = $('#gesMN_actualWeight').val();
var shippingWeight = 0;
var shippingCharge = 0;
console.log(actualWeight);
if ($('#gesMN_shippingWeight:visible').length > 0) {
shippingWeight = $('#gesMN_shippingWeight').html();
$('#itemShipMethod').val(2);
$('#itemAutoInsurance').attr('checked', false);
console.log(shippingWeight);
} else if ($('#gesMN_shippingCharge:visible').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')???