var min_date = new Date(2015, 9-1, 1); //September 1, 2015 var max_date = "+0d"; //Today (zero days from today) var depths = new Array(5, 25, 60); $(document).ready(function() { // create checkboxes for the depths for(var i = 0; i < depths.length; i++) { var container = $("#pick_depths"); var n = depths[i].toString() + 'cm'; var v = depths[i]; $('<input />', { type: 'checkbox', id: n, value: v, checked: 'checked' }).appendTo(container); $('<label />', { 'for': n, text: n }).appendTo(container); } // setup jqueryui tabs for the output area $("#outputs").tabs(); var startdt = $("#datepicker_start").datepicker({ dateFormat: "yy-mm-dd", //minDate: new Date(2015, 9-1, 1), minDate: min_date, //maxDate: "+0D", maxDate: max_date, changeMonth: true, changeYear: true, onSelect: function(dt,inst){ //$("#blah").text(dt); enddt.datepicker("option", "minDate", dt); } }); var enddt = $("#datepicker_end").datepicker({ dateFormat: "yy-mm-dd", //minDate: new Date(2015, 9-1, 1), //maxDate: "+0D", minDate: min_date, maxDate: max_date, changeMonth: true, changeYear: true, onSelect: function(dt,inst){ //$("#blah2").text(dt); startdt.datepicker("option", "maxDate", dt); //$(this).change(); } }); startdt.datepicker("setDate", min_date); enddt.datepicker("setDate", max_date); function make_date_array() { var start_date = startdt.datepicker("getDate"); var end_date = enddt.datepicker("getDate"); var tmp_date = start_date; var date_array = new Array(); while(tmp_date <= end_date) { //push a copy of the date onto the array //without the "new Date()" part, the entire array //ends up set to the last date date_array.push(new Date(tmp_date)); tmp_date.setDate(tmp_date.getDate() + 1); } return date_array; } function vwc_raster_url(dt,depth) { // dt: Date object // depth: int var dt_str = dt.toISOString().split('T')[0]; return 'http://soilmapnik.hpc.okstate.edu/'+dt_str+'/vwc/'+depth+'/raster.tif'; } function vwc_filename(dt,depth) { var dt_str = dt.toISOString().split('T')[0]; return 'raster_'+dt_str+'_vwc_'+depth+'cm.tif'; } function make_link(url) { return '<a href="'+url+'">'+url+'</a>'; } function make_curl(url,file) { return 'curl -o '+file+' '+url; } function make_wget(url,file) { return 'wget -O - '+url+' > '+file; } function make_powershell(url,file) { return 'Invoke-WebRequest -URI '+url+' -OutFile '+file; } $("#generate_urls").click(function(){ /* clear the exusting urls and download links */ $("#urls").html(""); $("#curl").html(""); $("#wget").html(""); $("#powershell").html(""); $("#download_list").html(""); /* Get the selected depths and dates */ var selected_dates = make_date_array(); var selected_depths = []; for(var i=0; i<depths.length; i++) { var elid = depths[i].toString() + 'cm'; document.getElementById(elid).checked && selected_depths.push(depths[i]); } /* Use all depths if no depths were selected */ if(selected_depths.length == 0) { selected_depths = depths.slice(); // copy the array } /* Make download links, curl commands, and wget commands */ for(var i=0; i<selected_depths.length; i++) { for(var j=0; j<selected_dates.length; j++) { var u = vwc_raster_url(selected_dates[j], selected_depths[i]); var f = vwc_filename(selected_dates[j], selected_depths[i]); var link = make_link(u); var curl = make_curl(u,f); var wget = make_wget(u,f); var powershell = make_powershell(u,f); $("#urls").append(link + '<br/>\n'); $("#curl").append(curl + '<br/>\n'); $("#wget").append(wget + '<br/>\n'); $("#powershell").append(powershell + '<br/>\n'); } } /* Make links to download the URLs, curl commands, and wget commands as text files */ $("#download_list").append('<a href="data:text/plain;charset=UTF-8,'+encodeURIComponent($("#urls").text())+'" download="vwc_links.txt">Links</a><br/>'); $("#download_list").append('<a href="data:text/plain;charset=UTF-8,'+encodeURIComponent($("#curl").text())+'" download="vwc_curl.txt">curl Commands</a><br/>'); $("#download_list").append('<a href="data:text/plain;charset=UTF-8,'+encodeURIComponent($("#wget").text())+'" download="vwc_wget.txt">wget Commands</a><br/>'); $("#download_list").append('<a href="data:text/plain;charset=UTF-8,'+encodeURIComponent($("#powershell").text())+'" download="vwc_powershell.txt">PowerShell Commands</a><br/>'); }); });