function ajax(fname, datasend, resp) { $.ajax({ url: '?ajax_func='+fname, type: 'POST', data: datasend, xhr: function() { var myXhr = $.ajaxSettings.xhr(); if(myXhr.upload){} return myXhr; }, success: function (dt) { acallback(dt, resp); } }); }function html_inject(htcode, where, add) { if (add) { $(where).append(htcode); } else { $(where).html(htcode); } } function html_inject2(htcode, where) { document.getElementById(where).innerHTML=htcode; } function acallback(dt, resp) { if(typeof(resp) != 'function') resp = function() {}; var obj = JSON.parse(dt); if (obj.js) { var js_exec = obj.js.join("\n"); $('head').append(''); $("#inj_script").remove(); } if (obj.data) { return resp(obj.data); } }function saveSubmission(fname, email, artist_name, agree, resp) { var formData = new FormData(); formData.append('email', email); formData.append('artist_name', artist_name); formData.append('agree', agree); formData.append('file', window.blob); formData.append('filename', window.filename); formData.append('treeDecorationArrangement', window.imageData.treeDecorationArrangement); formData.append('treeDecorationAmount', window.imageData.treeDecorationAmount); formData.append('treeDecorationSize', window.imageData.treeDecorationSize); formData.append('treeBranches', window.imageData.treeBranches); formData.append('treeSize', window.imageData.treeSize); formData.append('treeStyle', window.imageData.treeStyle); formData.append('treeTop', window.imageData.treeTop); formData.append('backgroundStyle', window.imageData.backgroundStyle); formData.append('deviceRendering', window.imageData.deviceRendering);$.ajax({ url: '?ajax_func='+fname, type: 'POST', data: formData, cache: false, contentType: false, processData: false, success: function (dt) { acallback(dt, resp); } }); }