Created
January 28, 2013 21:36
-
-
Save jdeerhake/4659302 to your computer and use it in GitHub Desktop.
Download all surepayroll paystubs
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
var JSZip=function(e,t){this.files={};this.root="";if(e){this.load(e,t)}};JSZip.signature={LOCAL_FILE_HEADER:"PK",CENTRAL_FILE_HEADER:"PK",CENTRAL_DIRECTORY_END:"PK",ZIP64_CENTRAL_DIRECTORY_LOCATOR:"PK",ZIP64_CENTRAL_DIRECTORY_END:"PK",DATA_DESCRIPTOR:"PK\b"};JSZip.defaults={base64:false,binary:false,dir:false,date:null};JSZip.prototype=function(){var e=function(e,t,n){this.name=e;this.data=t;this.options=n};e.prototype={asText:function(){var e=this.data;if(this.options.base64){e=JSZipBase64.decode(e)}if(this.options.binary){e=JSZip.prototype.utf8decode(e)}return e},asBinary:function(){var e=this.data;if(this.options.base64){e=JSZipBase64.decode(e)}if(!this.options.binary){e=JSZip.prototype.utf8encode(e)}return e},asUint8Array:function(){return JSZip.utils.string2Uint8Array(this.asBinary())},asArrayBuffer:function(){return JSZip.utils.string2Uint8Array(this.asBinary()).buffer}};var t=function(e,t){var n="",r;for(r=0;r<t;r++){n+=String.fromCharCode(e&255);e=e>>>8}return n};var n=function(){var e={},t,n;for(t=0;t<arguments.length;t++){for(n in arguments[t]){if(arguments[t].hasOwnProperty(n)&&typeof e[n]==="undefined"){e[n]=arguments[t][n]}}}return e};var r=function(e){e=e||{};if(e.base64===true&&e.binary==null){e.binary=true}e=n(e,JSZip.defaults);e.date=e.date||new Date;return e};var i=function(t,n,i){var u=s(t);if(u){o.call(this,u)}i=r(i);if(JSZip.support.uint8array&&n instanceof Uint8Array){i.base64=false;i.binary=true;n=JSZip.utils.uint8Array2String(n)}else if(JSZip.support.arraybuffer&&n instanceof ArrayBuffer){i.base64=false;i.binary=true;var a=new Uint8Array(n);n=JSZip.utils.uint8Array2String(a)}else if(i.binary&&!i.base64){if(i.optimizedBinaryString!==true){n=JSZip.utils.string2binary(n)}delete i.optimizedBinaryString}return this.files[t]=new e(t,n,i)};var s=function(e){if(e.slice(-1)=="/"){e=e.substring(0,e.length-1)}var t=e.lastIndexOf("/");return t>0?e.substring(0,t):""};var o=function(e){if(e.slice(-1)!="/"){e+="/"}if(!this.files[e]){var t=s(e);if(t){o.call(this,t)}i.call(this,e,"",{dir:true})}return this.files[e]};var u=function(e,n,r){var i=n!==e.name,s=e.asBinary(),o=e.options,u,a;u=o.date.getHours();u=u<<6;u=u|o.date.getMinutes();u=u<<5;u=u|o.date.getSeconds()/2;a=o.date.getFullYear()-1980;a=a<<4;a=a|o.date.getMonth()+1;a=a<<5;a=a|o.date.getDate();var f=JSZip.compressions[r];var l=f.compress(s);var c="";c+="\n\0";c+=i?"\0\b":"\0\0";c+=f.magic;c+=t(u,2);c+=t(a,2);c+=t(this.crc32(s),4);c+=t(l.length,4);c+=t(s.length,4);c+=t(n.length,2);c+="\0\0";return{header:c,compressedData:l}};return{load:function(e,t){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(t){var r=[],i,s,o,u;for(i in this.files){if(!this.files.hasOwnProperty(i)){continue}o=this.files[i];u=new e(o.name,o.data,n(o.options));s=i.slice(this.root.length,i.length);if(i.slice(0,this.root.length)===this.root&&t(s,u)){r.push(u)}}return r},file:function(e,t,n){if(arguments.length===1){if(e instanceof RegExp){var r=e;return this.filter(function(e,t){return!t.options.dir&&r.test(e)})}else{return this.filter(function(t,n){return!n.options.dir&&t===e})[0]||null}}else{e=this.root+e;i.call(this,e,t,n)}return this},folder:function(e){if(!e){throw new Error("folder : wrong argument")}if(e instanceof RegExp){return this.filter(function(t,n){return n.options.dir&&e.test(t)})}var t=this.root+e;var n=o.call(this,t);var r=this.clone();r.root=n.name;return r},remove:function(e){e=this.root+e;var t=this.files[e];if(!t){if(e.slice(-1)!="/"){e+="/"}t=this.files[e]}if(t){if(!t.options.dir){delete this.files[e]}else{var n=this.filter(function(t,n){return n.name.slice(0,e.length)===e});for(var r=0;r<n.length;r++){delete this.files[n[r].name]}}}return this},generate:function(e){e=n(e||{},{base64:true,compression:"STORE",type:"base64"});var r=e.compression.toUpperCase();var i=[],s=[],o=0;if(!JSZip.compressions[r]){throw r+" is not a valid compression method !"}for(var a in this.files){if(!this.files.hasOwnProperty(a)){continue}var f=this.files[a];var l=this.utf8encode(f.name);var c="",h="",p=u.call(this,f,l,r);c=JSZip.signature.LOCAL_FILE_HEADER+p.header+l+p.compressedData;h=JSZip.signature.CENTRAL_FILE_HEADER+"\0"+p.header+"\0\0"+"\0\0"+"\0\0"+(this.files[a].dir===true?"\0\0\0":"\0\0\0\0")+t(o,4)+l;o+=c.length;s.push(c);i.push(h)}var d=s.join("");var v=i.join("");var m="";m=JSZip.signature.CENTRAL_DIRECTORY_END+"\0\0"+"\0\0"+t(s.length,2)+t(s.length,2)+t(v.length,4)+t(d.length,4)+"\0\0";var g=d+v+m;switch(e.type.toLowerCase()){case"uint8array":return JSZip.utils.string2Uint8Array(g);case"arraybuffer":return JSZip.utils.string2Uint8Array(g).buffer;case"blob":return JSZip.utils.string2Blob(g);case"base64":return e.base64?JSZipBase64.encode(g):g;default:return g}},crc32:function(e,t){if(e===""||typeof e==="undefined"){return 0}var n=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];if(typeof t=="undefined"){t=0}var r=0;var i=0;t=t^-1;for(var s=0,o=e.length;s<o;s++){i=(t^e.charCodeAt(s))&255;r=n[i];t=t>>>8^r}return t^-1},clone:function(){var e=new JSZip;for(var t in this){if(typeof this[t]!=="function"){e[t]=this[t]}}return e},utf8encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},utf8decode:function(e){var t="";var n=0;var r=0,i=0,s=0,o=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){s=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|s&63);n+=2}else{s=e.charCodeAt(n+1);o=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(s&63)<<6|o&63);n+=3}}return t}}}();JSZip.compressions={STORE:{magic:"\0\0",compress:function(e){return e},uncompress:function(e){return e}}};JSZip.support={arraybuffer:function(){return typeof ArrayBuffer!=="undefined"&&typeof Uint8Array!=="undefined"}(),uint8array:function(){return typeof Uint8Array!=="undefined"}(),blob:function(){if(typeof ArrayBuffer==="undefined"){return false}var e=new ArrayBuffer(0);try{return(new Blob([e],{type:"application/zip"})).size===0}catch(t){}try{var n=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder);n.append(e);return n.getBlob("application/zip").size===0}catch(t){}return false}()};JSZip.utils={string2binary:function(e){var t="";for(var n=0;n<e.length;n++){t+=String.fromCharCode(e.charCodeAt(n)&255)}return t},string2Uint8Array:function(e){if(!JSZip.support.uint8array){throw new Error("Uint8Array is not supported by this browser")}var t=new ArrayBuffer(e.length);var n=new Uint8Array(t);for(var r=0;r<e.length;r++){n[r]=e.charCodeAt(r)}return n},uint8Array2String:function(e){if(!JSZip.support.uint8array){throw new Error("Uint8Array is not supported by this browser")}var t="";for(var n=0;n<e.length;n++){t+=String.fromCharCode(e[n])}return t},string2Blob:function(e){if(!JSZip.support.blob){throw new Error("Blob is not supported by this browser")}var t=JSZip.utils.string2Uint8Array(e).buffer;try{return new Blob([t],{type:"application/zip"})}catch(n){}try{var r=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder);r.append(t);return r.getBlob("application/zip")}catch(n){}throw new Error("Bug : can't construct the Blob.")}};var JSZipBase64=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(t,n){var r="";var i,s,o,u,a,f,l;var c=0;while(c<t.length){i=t.charCodeAt(c++);s=t.charCodeAt(c++);o=t.charCodeAt(c++);u=i>>2;a=(i&3)<<4|s>>4;f=(s&15)<<2|o>>6;l=o&63;if(isNaN(s)){f=l=64}else if(isNaN(o)){l=64}r=r+e.charAt(u)+e.charAt(a)+e.charAt(f)+e.charAt(l)}return r},decode:function(t,n){var r="";var i,s,o;var u,a,f,l;var c=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(c<t.length){u=e.indexOf(t.charAt(c++));a=e.indexOf(t.charAt(c++));f=e.indexOf(t.charAt(c++));l=e.indexOf(t.charAt(c++));i=u<<2|a>>4;s=(a&15)<<4|f>>2;o=(f&3)<<6|l;r=r+String.fromCharCode(i);if(f!=64){r=r+String.fromCharCode(s)}if(l!=64){r=r+String.fromCharCode(o)}}return r}}}() | |
window.document.frmMain.Destination.value = 'Yourcheck.asp'; | |
var ids = [], | |
links = jQuery( "a[onclick*='Yourcheck']" ), | |
formData = jQuery( window.document.frmMain ).serialize(), | |
zip = new JSZip(), | |
zipped = 0; | |
function SubmitForm( url, id, form ) { | |
var name = dateFromText( jQuery( this ).text() ); | |
ids.push({ | |
id : id, | |
name : name | |
}); | |
if( ids.length === links.length ) { | |
ids.forEach( getPaystub ); | |
} | |
return false; | |
} | |
function dateFromText( text ) { | |
var closeDate = jQuery.trim( text.split("-")[1] ), | |
a = closeDate.split( "/" ).map( zeroFill ), | |
rearranged = [ a[2], a[0], a[1] ].join( "-" ); | |
return rearranged; | |
} | |
function zeroFill( str ) { | |
if( str.length >= 2 ) { return str; } | |
else { return "0" + str; } | |
} | |
function getPaystub( info ) { | |
jQuery.ajax({ | |
url : "/Payday/history.asp", | |
type : "post", | |
dataType : "text", | |
data : formData.replace( /DID_ID=\d*/, "DID_ID=" + info.id ), | |
success : function( data ) { | |
saveHTML( info, data ); | |
}, | |
error : function( data ) { | |
console.log(data); | |
} | |
}); | |
} | |
function saveHTML( info, html ) { | |
zip.file( info.name + ".html", html ); | |
if( ++zipped === links.length ) { | |
location.href = "data:application/zip;base64," + zip.generate(); | |
} | |
} | |
links.each(function() { | |
this.setAttribute("onclick", this.getAttribute("onclick").replace("SubmitForm(", "SubmitForm.call(this,")); | |
}); | |
links.trigger("click"); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment