forked from steve-permut/TaskMaster
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHeaderCode.html
159 lines (151 loc) · 6.66 KB
/
HeaderCode.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<script>
window.onload = function(){
window.focus();
}
Qualtrics.SurveyEngine.addOnload(function()
{
var pumpTimes = [document.getElementById("timeArrayDIV").innerHTML];
var perPagePT = [document.getElementById("perPagePTArrayDIV").innerHTML];
var duration;
var offTask = [document.getElementById("offTaskDIV").innerHTML];
var onTask = [document.getElementById("onTaskDIV").innerHTML];
var totalOnTaskPrev = [document.getElementById("onTaskTotalDIV").innerHTML];
var totalOffTaskPrev = [document.getElementById("offTaskTotalDIV").innerHTML];
var pageNo = parseFloat(document.getElementById("page-no-DIV").innerHTML);
if (pageNo > 0) {
document.getElementById("page-number").innerHTML = +pageNo + 1;
}
//creates a variable called timeOne containing date/time information on page load
var timeOne = Date.now();
window.onblur = function () {
var window_focus = 0;
document.getElementById("window-focus").innerHTML = window_focus;
// creates a variable called timeTwo containing date/time information whenever Ps leave workspace div
var timeTwo = Date.now();
// takes the interval between timeOne and timeTwo and converts to seconds (i.e., how long Ps spend in the task window). Steps below push this value to different arrays
var duration = (timeTwo - timeOne) / 1000;
document.getElementById("duration-div").innerHTML = duration;
// creates several arrays representing time spent on task and off task, time spent on and off task on that page, and just time spent on task
timeOne = Date.now();
pumpTimes.push(duration);
perPagePT.push(duration);
onTask.push(duration);
document.getElementById("time-display2").innerHTML = pumpTimes;
var total = 0;
for (var i = 0; i < pumpTimes.length; i++) {
total += pumpTimes[i] << 0;
}
var totalOnTask = 0;
for (var i = 0; i < pumpTimes.length; i++) {
totalOnTask += onTask[i] << 0;
}
var OnTaskSum = (+totalOnTask + +totalOnTaskPrev)
document.getElementById("time-display").innerHTML = total;
document.getElementById("onTaskDisplay").innerHTML = onTask;
document.getElementById("onTaskTotalDisplay").innerHTML = OnTaskSum;
document.getElementById("offTaskDisplay").innerHTML = offTask;
document.getElementById("offTaskTotalDisplay").innerHTML = OffTaskSum;
};
window.onfocus = function() {
var window_focus = 1;
document.getElementById("window-focus").innerHTML = window_focus;
// performs equivalent series of steps, but measuring time spent off task instead
var timeThree = Date.now();
var duration = (0 - (timeThree - timeOne) / 1000);
document.getElementById("duration-div").innerHTML = duration;
pumpTimes.push(duration);
offTask.push(duration);
perPagePT.push(duration);
timeOne = Date.now();
document.getElementById("time-display2").innerHTML = pumpTimes;
var total = 0;
for (var i = 0; i < pumpTimes.length; i++) {
total += pumpTimes[i] << 0;
}
};
Qualtrics.SurveyEngine.addOnPageSubmit(function() {
var ValidationCheck = document.getElementsByClassName('ValidationError');
var i;
for (i=0; i < ValidationCheck.length; i++) {
if (ValidationCheck[i].style.display == 'none') {
var PassValidation = 1;
} else {
PassValidation = 0;
break;
};
};
if (PassValidation == 1) {
var timeTwo = Date.now();
var duration = (timeTwo - timeOne) / 1000;
document.getElementById("duration-div").innerHTML = duration;
timeOne = Date.now();
pumpTimes.push(duration);
perPagePT.push(duration);
onTask.push(duration);
document.getElementById("time-display2").innerHTML = pumpTimes;
var total = 0;
for (var i = 0; i < pumpTimes.length; i++) {
total += pumpTimes[i] << 0;
}
var totalOnTask = 0;
for (var i = 0; i < pumpTimes.length; i++) {
totalOnTask += onTask[i] << 0;
}
var OnTaskSum = (+totalOnTask + +totalOnTaskPrev)
document.getElementById("time-display").innerHTML = total;
document.getElementById("onTaskDisplay").innerHTML = onTask;
document.getElementById("onTaskTotalDisplay").innerHTML = OnTaskSum;
var totalOffTask = 0;
for (var i = 0; i < pumpTimes.length; i++) {
totalOffTask += offTask[i] << 0;
}
var OffTaskSum = (+totalOffTask + +totalOffTaskPrev)
document.getElementById("offTaskDisplay").innerHTML = offTask;
document.getElementById("offTaskTotalDisplay").innerHTML = OffTaskSum;
pumpTimes = pumpTimes.toString();
pumpTimes = pumpTimes.split(",@,")
perPagePT.push(" PAGE BREAK ");
perPagePT = perPagePT.toString();
perPagePT = perPagePT.split(",@,")
var total = 0;
var total = parseFloat(document.getElementById("time-display").innerHTML);
var totalOnTask = parseFloat(document.getElementById("onTaskTotalDisplay").innerHTML);
var totalOffTask = parseFloat(document.getElementById("offTaskTotalDisplay").innerHTML);
onTask = onTask.toString();
onTask = onTask.split(",@,")
offTask = offTask.toString();
offTask = offTask.split(",@,")
var pageNo = document.getElementById("page-no-DIV").innerHTML;
pageNo++;
Qualtrics.SurveyEngine.setEmbeddedData('worktimeArray', pumpTimes);
Qualtrics.SurveyEngine.setEmbeddedData('perPagePT', perPagePT);
Qualtrics.SurveyEngine.setEmbeddedData('tasktime', total);
Qualtrics.SurveyEngine.setEmbeddedData('totalOnTask', totalOnTask);
Qualtrics.SurveyEngine.setEmbeddedData('totalOffTask', totalOffTask);
Qualtrics.SurveyEngine.setEmbeddedData('offTask', offTask);
Qualtrics.SurveyEngine.setEmbeddedData('onTask', onTask);
Qualtrics.SurveyEngine.setEmbeddedData('pageNo', pageNo);
} else {
var pageNo = document.getElementById("page-no-DIV").innerHTML;
pageNo --;
};
});
});
</script>
<div class="QuestionBody UnhiddenQuestion" data-runtime-text="runtime.WontBeDisplayedText">
<div><center><br><br><div id="page-position” style=“display:none"><div style="display:none" id="page-number">1</div></div>
<p></p>
</div>
<div>
<div id="top-div" style="display:none">
<div><center><br><br>time: <div id="time-display"></div>
<p></p>
<br><br>time2: <div id="time-display2"></div></center>
<br><br>duration: <div id="duration-div"></div>
<br><br>offTask: <div id="offTaskDisplay"></div>
<br><br>onTask: <div id="onTaskDisplay"></div>
<br><br>offTaskTotal: <div id="offTaskTotalDisplay"></div>
<br><br>Window focus: <div id="window-focus"></div>
<br><br>onTaskTotal: <div id="onTaskTotalDisplay"></div></div>
</div>
</div>