/** * Created by PJR on 8/3/2015. */ // global variables for preload preload_state='pre_start'; preload_start=window.performance.now(); var debug_preload=false; function preload_draw() { if (preload_state == 'pre_start') { if (debug_preload) console.log("In pre_start"); if (debug_preload) console.log("Group " + cfg['group'] + ", workerid=[" + ServerHelper.workerId + "]"); preload_state = 'start_wait'; ServerHelper.start_request(); } else if(preload_state=='start_wait'){ if(ServerHelper.start_received) { if(ServerHelper.fatal_error) { if (debug_preload) console.log(ServerHelper.error); preload_state='done_preload'; return; } if (debug_preload) console.log("Got config info, sessionToken= "+ServerHelper.sessionToken); // process configuration information into variables before continuing session=parse_config(ServerHelper.config_file); cfg_adjust(); cfg['parsed']=true; if (ServerHelper.consent_string!='') { try { consent_object = JSON.parse(ServerHelper.consent_string); ServerHelper.consent_form = consent_object['consent_form']; } catch (e) { console.log("error"); console.log(e); ServerHelper.consent_form={}; } } else { consent_form={}; } preload_state='load_images'; } } else if(preload_state=='load_images'){ preload_images(); if(ServerHelper.demo_mode || cfg['demo_mode']=='true') { // don't continue with preload -- no status or consent needed if (debug_preload) console.log("Demo mode, done with preload"); return; } preload_state='log_config'; } else if(preload_state=='log_config') { if (cfg['parsed']) { // don't continue until ready // put config into the response log to start response_log.push("Experiment app: " + _version); response_log.push("Source URL: " + document.URL); response_log.push("Run on " + new Date()); response_log.push(""); //response_log.push("##########"); preload_state = 'request_status'; } } else if(preload_state=='request_status') { ServerHelper.request_status(); preload_state='wait_status'; } else if(preload_state=='wait_status') { if (ServerHelper.status_received) { if (debug_preload) console.log("Status received"); // parse status if(ServerHelper.status!='' && ServerHelper.status!='None') { if (debug_preload) { console.log(ServerHelper.status); console.log(ServerHelper.status_time); console.log(ServerHelper.status_since); } t=ServerHelper.status.split(/\s+/); for(var i=0;i