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;
}
$("#generate_urls").click(function(){
/* clear the exusting urls and download links */
$("#urls").html("");
$("#curl").html("");
$("#wget").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);
$("#urls").append(link + '<br/>\n');
$("#curl").append(curl + '<br/>\n');
$("#wget").append(wget + '<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/>');
});
});