NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name ValuationAnywhereAutoVRM // @namespace http://www.valuationanywhere.co.uk // @version 0.5.2 // @description [OBSOLETE] Auto populates the Valuation Anywhere lookup form with the VRM and miles, and more... // @match http://example.com // @copyright 2014 - A subscriber who wanted more. // @require http://code.jquery.com/jquery-latest.js // ==/UserScript== $(document).ready(function() { /* var main = function() { var path = window.location.pathname.substr(1); var params = null; if (window.location.hash) { var hash = decodeURIComponent(window.location.hash.substr(1)); try { params = JSON.parse(hash); } catch (e) { console.log("Couldn't parse '" + hash + "': " + e); } } if (!params) { params = {}; // Parse the URI and extract all the QueryString name-value pairs querystring = window.location.search; querystring = querystring.substring(querystring.indexOf('?')+1).split('&'); var pair, d = decodeURIComponent; // march and parse for (var i = querystring.length - 1; i >= 0; i--) { pair = querystring[i].split('='); params[d(pair[0])] = d(pair[1]); } } if (path === "" || path === "Default.aspx") { if (params.capID) { capIDLookup(params.capID, params.miles, params.month, params.year); } else if (params.vrm || params.miles) { vrmLookup(params.vrm, params.miles); } } else if ((/^Valuation.aspx/).test(path)) { addCapIDLink(); injectCopyValuation(); } // We already pay for the damn service, why do we need an advert taking up half the page. $("#blackbookplus-upgrade").remove(); }; var addCapIDLink = function() { // Get the mileage var miles = $("#your-mileage").val().replace(/[^0-9]/g, ""); // Information is now stored in the summary table var items = $(".summary-container .list-table li"); // Registration date var dateField = items.find("span:contains('Registration Date')"); var regDate = new Date(dateField.next().text()); var month = regDate.getMonth() + 1; var year = regDate.toLocaleString("en-GB", { year: "numeric" }); // Derivative description - search the manufacturer-panel for something that looks like a CAP ID var idContainer = null; var id, derivative; for (var item of $(".manufacturer-panel .col-car-details li").toArray()) { var match = $(item).text().match(/^\[([0-9]+)\] (.+)/); if (match) { idContainer = $(item); id = match[1]; derivative = match[2]; break; } } if (!id) return; idContainer.empty(); $("<a>", { href: "/#" + JSON.stringify({ capID: id, miles: miles, month: month, year: year }), title: "Use this to find another a similar vehicle.", target: "_blank", }).text("[" + id + "]").appendTo(idContainer); $("<span>").text(" " + derivative).appendTo(idContainer); }; var ZeroClipboard_copy = function(e) { try { var data = {}; var monthly = $("#blackbookTplWrapper .table-va-values"); var live = $("#blackbookLiveTplWrapper .table-va-values"); data.CAPClean = monthly.find(".clean").text().replace(/[^0-9]/g, ""); data.CAPAverage = monthly.find(".average").text().replace(/[^0-9]/g, ""); data.CAPBelow = monthly.find(".below").text().replace(/[^0-9]/g, ""); data.CAPLiveClean = live.find(".clean").text().replace(/[^0-9]/g, ""); data.CAPLiveAverage = live.find(".average").text().replace(/[^0-9]/g, ""); data.CAPLiveBelow = live.find(".below").text().replace(/[^0-9]/g, ""); data.CAPMileage = $("#your-mileage").val(); data.CAPDate = $("#your-date").val(); // Information is now stored in the summary table var items = $(".summary-container .list-table li"); var field; // VED field = items.find("span:contains('Vehicle Excise Duty')"); data.VED = field.next().text(); // ID field = items.find("span:contains('CAP ID')"); data.CAPID = field.next().text(); // Vehicle description field = items.find("span:contains('Manufacturer')"); data.CAPNotes = field.next().text(); field = items.find("span:contains('Model')"); data.CAPNotes += " " + field.next().text(); field = items.find("span:contains('Trim')"); data.CAPNotes += " " + field.next().text(); var text = ""; for (var key in data) { text += key + ":" + data[key] + "\n"; } e.clipboardData.setData("text/plain", text); } catch (err) { alert("Data couldn't be copied:\n" + err); } }; var injectCopyValuation = function() { var button = $("<button>", { "class": "copy_button btn btn-sm cap-btn-green", }); button.text("Copy Valuation Values"); button.on("click", function(e) {return false;}); $("#fn_ShowPDFDialog").after(button); button.before(document.createTextNode(" ")); ZeroClipboard.config( { swfPath: "//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.6/ZeroClipboard.swf" } ); var client = new ZeroClipboard($(".page-functions.Options .copy_button")); client.on("ready", function(e) { client.on("copy", ZeroClipboard_copy); }); }; var capIDLookup = function(id, miles, month, year) { $("#vlBrowse a")[0].click(); $("#capIDcont input").val(id); $("#vmMMDMile input").val(miles); var sel = $("#vlReg select"); sel.first().val(month); sel.last().val(year); window.setTimeout(function() { $("#SearchCAPid a")[0].click(); }, 250); }; var vrmLookup = function(vrm, miles) { // Round miles up to the next 1000 miles = 1000 * Math.ceil(miles / 1000, 0); if (vrm) $("#tbVRM").val(vrm); if (miles) $("#tbMiles").val(miles); // Only execute the search if we have both the VRM and the Mileage if (vrm && miles) { $(".fn_VRMLookup")[0].click(); } }; if (document.title.indexOf("UltraDNS") != -1) { document.title = "Redirecting..."; window.location = window.location.toString().replace(/(www.)?valuationanywhere.co.uk/, "valuationanywhere.cap.co.uk"); return; } else { $.getScript("https://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.6/ZeroClipboard.js", function(response) { main(); }); }*/ });