Skip to content

Instantly share code, notes, and snippets.

@oxguy3
Last active December 29, 2015 16:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oxguy3/9090abd8562bdee2093f to your computer and use it in GitHub Desktop.
Save oxguy3/9090abd8562bdee2093f to your computer and use it in GitHub Desktop.
Clark County NV's building permits report generator relies on clientside VBScript to work. Since this isn't 2002 and since I'm not using Internet Explorer, I ported (some of) that code to JavaScript (via a TamperMonkey script) so the website is usable.
// ==UserScript==
// @name Make Clark County NV building permits IE-free
// @namespace http://tampermonkey.net/
// @version 0.1
// @description For some awful reason, Clark County uses clientside VBScript. This is a drop-in JavaScript replacement for that code.
// @author Hayden Schiff (oxguy3)
// @match http://dsnet.co.clark.nv.us/dsreports/bldgpermits.asp
// @grant unsafeWindow
// ==/UserScript==
/* jshint -W097 */
'use strict';
unsafeWindow.SubmitWeekly = function(grp) {
var cnt = grp.substr(grp.length-1);
var ext = grp.substr(0, 3);
var DispPage = "http://dsnet.co.clark.nv.us/dsnetapps/pmtweekrep/week" + cnt + "_PMTreport." + ext;
window.open(DispPage);
}
unsafeWindow.SubmitAll = function() {
var Grp, format;
var thisform = document.getElementById("Forma");
var formElems = thisform.elements;
var fromdate = formElems.namedItem("txtFromY").value + formElems.namedItem("txtFromM").value + formElems.namedItem("txtFromD").value;
var todate = formElems.namedItem("txtToY").value + formElems.namedItem("txtToM").value + formElems.namedItem("txtToD").value;
// i'm not implementing the form validation crap
var fromCent = (formElems.namedItem("txtFromY").value.startsWith("9")) ? "0" : "1";
var toCent = (formElems.namedItem("txtToY").value.startsWith("9")) ? "0" : "1";
if (formElems.namedItem("All").checked) {
Grp = "ALL";
} else if (formElems.namedItem("RES").checked) {
Grp = "RES";
} else {
alert("The 'Select Multiple Options' setting hasn't been ported to JavaScript because I don't need it. Pick something else.");
return false;
}
if (formElems.namedItem("brw").checked) format = "BRW";
if (formElems.namedItem("csv").checked) format = "CSV";
if (formElems.namedItem("brwcsv").checked) format = "BRWCSV";
// this is too much work i'm not implementing it go away
var typStr = "";
var DispPage = "DispRep.asp?fromdate='" + fromdate + "'&fromCent='" + fromCent + "'&todate='" + todate + "'&toCent='" + toCent + typStr + "'&GrpTyp=" + Grp + "&Format=" + format;
window.open(DispPage);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment