$(function(){
  var dbid = "bjfwg3cwb";
  var dbidTable = "bjfwg3cxb";
  var apptoken = "ccui39ydjef86p4zwyeychzb2dz";
  $.ajaxSetup({data: {apptoken: apptoken}});

  var parseFile = function(id) {
    return $.Deferred(function(dfd) {
      $("#" + id).on("change", function(){
          var reader = new FileReader();
          reader.onload = function () {
            var lines = reader.result.split('\n');
            lines.splice(0,1);
            var newtext = lines.join('\n');
            dsv = d3.dsv("|", "text/plain");
            var data = dsv.parse(newtext);
            dfd.resolve(data);
          };
        reader.readAsText(this.files[0]);
      });
    }).promise();            
  };

  parseFile("myFile").then(function(data){

    var csv_array = [];
    //console.log(JSON.stringify(data, null, "  "));
    data.forEach(function(row) {
      var csv_line = [];

      csv_line.push(row["First Name"] + " " + row["Last Name"]);

      csv_line.push(row["Address"]);

      csv_line.push(row["City"]);

      if (row["State"].length > 2) {
        csv_line.push(states[row["State"].toLowerCase()]);
      } else {
        csv_line.push(row["State"]);
      }

      csv_line.push(row["Zip"]);

      csv_line.push(row["Email"].toLowerCase());

      var phoneDigits = row["Phone"].replace(/\D/g,'');
      var phoneFormatted = "(" + phoneDigits.substr(0,3) + ") " + phoneDigits.substr(3,3) + "-" + phoneDigits.substr(6,4);
      csv_line.push(phoneFormatted);

      if (row["Discount?"] == "1") {
        csv_line.push((parseFloat(row["Total"]) * (1 - parseFloat(row["Percent"])/100)).toFixed(2));
      } else {
        csv_line.push(parseFloat((row["Total"])).toFixed(2));
      }

      csv_line.push(row["Month"] + "/" + row["Date"] + "/" + row["Year"]);

      csv_array.push('"' + csv_line.join('","') + '"');
    });
    console.log(csv_array.join("\n"));
    var csv_data = csv_array.join("\n");
    var promise = $.post(dbidTable, {
      act: "API_ImportFromCSV",
      records_csv: csv_data,
      clist: "6.7.8.9.10.11.12.13.14"
    });

    $.when(promise).then(function() {
      alert("all done");
      window.top.location.href  = dbidTable + "?a=q&qid=1";
    });

  });
});