Last active
December 29, 2015 16:35
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==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