//global variable needed later var NumItemsOnTest:int=30; var i:int; //vars for data array. will be used in initialization var numCols:int, numRows:int, fillValue:String, DataArray:Array; var HeaderRow = "ExperimentName,ExperimentVersion,SubjectNumber,SubjectNumberLong,Sex,Age,Date,TimeStart,ExpTimeToEndSeconds,OptionToWitholdResponse,DistractorDuration,TEST_CONDITION,ItemCode,ItemType,WhichItemLinkedTo,Lure_SimilarDissimilar,OriginalFirstOrSecond,StudyDuration,StudyOrder,TestOrder,OriginalOnLeftOrRight,AlternateItemCode,IsTargetPresent,SubjectResponse_SingleItem,SubjectResponse_2AFC,RT_SubjectResponse,SubjectConfidence,RT_SubjectConfidence,SubjectReportOrNot,RT_SubjectReportOrNot,ResponseCorrect_SingleItem,ResponseType_SingleItem,ResponseCorrect_2AFC,CorrectlyWithheldOnTargetAbsentTrial,FinalQresponse"; var HeaderArray = HeaderRow.split(","); //Will use ".indexof" with this header array throughout the exp to get appropriate column numbers. for example: HeaderArray.indexOf("StudyOrder") //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // INITIALIZE 2D DATA ARRAY // Note: EVERYTHING in this array will be strings. Even the numbers. So, 3 will be entered as "3". numCols = HeaderArray.length; fillValue = "NA"; numRows = NumItemsOnTest+1; //+1 because the header row is included in the array (as row 0) DataArray = new Array(); //fill all cells with "NA" to begin for (i = 0; i < numRows; i++) { DataArray.push(new Array()); for (j = 0; j < numCols; j++) { DataArray[i].push(fillValue); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //fill some initial values, that have already been declared elsewhere DataArray[0]=HeaderArray; //this sets the first row of the data array to be the header row. for (i = 1; i