JSLint
url.protocol can return (only?) null when no protocol in URL
Undo use strict so as to allow arguments.callee to determine origin paths
Document diffs with original code; give own name