Newer
Older
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
var prefDriver = document.getElementById("pref-driver");
var otherDriver = document.getElementById("other-driver");
var driverSumRating = [];
var driverCountRating = [];
var driverNameList = [];
for (var i = 0; i < driverArr.length; i++) {
for(var j = 0; j < ratingArr.length; j++) {
if(driverArr[i] === ratingArr[j]["usernameDriver"]){
driverSumRating[driverArr[i]] = (driverSumRating[driverArr[i]] === undefined) ? parseFloat(ratingArr[j]["rating"]) : driverSumRating[driverArr[i]] + parseFloat(ratingArr[j]["rating"]);
driverCountRating[driverArr[i]] = (driverCountRating[driverArr[i]] === undefined) ? 1 : driverCountRating[driverArr[i]]+1;
}
}
for(var k = 0; k < driverNameArr.length; k++) {
if(driverArr[i] === driverNameArr[k]["username"]){
driverNameList[driverArr[i]] = driverNameArr[k]["fullname"];
break;
}
}
}
for(var j = 0; j < ratingArr.length; j++) {
if(preferredDriver === ratingArr[j]["usernameDriver"]){
driverSumRating[preferredDriver] = (driverSumRating[preferredDriver] === undefined) ? parseFloat(ratingArr[j]["rating"]) : driverSumRating[preferredDriver] + parseFloat(ratingArr[j]["rating"]);
driverCountRating[preferredDriver] = (driverCountRating[preferredDriver] === undefined) ? 1 : driverCountRating[preferredDriver]+1;
}
}
for(var k = 0; k < driverNameArr.length; k++) {
if(preferredDriver === driverNameArr[k]["username"]){
driverNameList[preferredDriver] = driverNameArr[k]["fullname"];
break;
}
}
if(preferredDriver !== "") {
CreateDriverDisplay(prefDriver, preferredDriver);
} else {
CreateNotFoundDisplay(prefDriver);
}
if(driverArr.length > 0) {
for (var i = 0; i < driverArr.length; i++) {
CreateDriverDisplay(otherDriver, driverArr[i]);
}
} else {
CreateNotFoundDisplay(otherDriver);
}
function CreateDriverDisplay(driverType, driverUsrName) {
var newForm = driverType.appendChild(document.createElement("form"));
var newContainer = newForm.appendChild(document.createElement("div"));
var newImg = newContainer.appendChild(document.createElement("img"));
var newName = newContainer.appendChild(document.createElement("div"));
var newRating = newContainer.appendChild(document.createElement("div"));
var postUsrName = newContainer.appendChild(document.createElement("input"));
var newPickLoc = newContainer.appendChild(document.createElement("input"));
var newDest = newContainer.appendChild(document.createElement("input"));
var newBtn = newContainer.appendChild(document.createElement("input"));
var avgRating = (driverSumRating[driverUsrName]/driverCountRating[driverUsrName]).toFixed(1).toString();
newForm.setAttribute('method', 'post');
newForm.setAttribute('action', '/order/' + user + '/completeorder');
newContainer.classList.add("driver-content");
newImg.classList.add("driver-pic");
newImg.setAttribute('src', '/public/img/' + driverUsrName);
newName.classList.add("driver-name-disp");
newName.innerHTML = driverNameList[driverUsrName];
newRating.classList.add("driver-rating-disp");
newRating.innerHTML = "★" + avgRating + " <span class='vote-disp'>(" + driverCountRating[driverUsrName] + " votes)</span>";
postUsrName.setAttribute('type', 'hidden');
postUsrName.setAttribute('name', 'driver-username');
postUsrName.setAttribute('value', driverUsrName);
newPickLoc.setAttribute('type','hidden');
newPickLoc.setAttribute('name','pickLoc');
newPickLoc.setAttribute('value', pickLoc);
newDest.setAttribute('type','hidden');
newDest.setAttribute('name','dest');
newDest.setAttribute('value', dest);
newBtn.classList.add("accept-button");
newBtn.classList.add("select-driver-btn");
newBtn.setAttribute('type','submit');
newBtn.setAttribute('value','Select Driver');
}
function CreateNotFoundDisplay(driverType) {
var newContainer = driverType.appendChild(document.createElement("div"));
newContainer.classList.add("driver-not-found");
newContainer.innerHTML = "Nothing to display.";
}