Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
Showing
with 292 additions and 0 deletions
File added
File added
Tubes1/src/public/img/delete.png

6.05 KiB

File added
Tubes1/src/public/img/edit.png

5.99 KiB

Tubes1/src/public/img/images.jpg

6.43 KiB

Tubes1/src/public/img/motaraido.png

12.4 KiB

Tubes1/src/public/img/pen.png

18.3 KiB

Tubes1/src/public/img/profilepic.png

12.4 KiB

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">
<path fill="#fff" stroke="#ccc" d="M 12,2.5 14.4,9.5 21.5,9.5 15.8,13.75 18.5,21.5 12,16.625 5.5,21.5 8.2,13.75 2.5,9.5 9.6,9.5 z"/>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">
<path fill="#311B92" stroke="#000" d="M 12,2.5 14.4,9.5 21.5,9.5 15.8,13.75 18.5,21.5 12,16.625 5.5,21.5 8.2,13.75 2.5,9.5 9.6,9.5 z"/>
</svg>
File added
File added
File added
function loginValidation() {
var username = document.forms["loginform"]["username"];
var pwd = document.forms["loginform"]["password"];
var usrVerify = Validate(username, "empty");
var pwdVerify = Validate(pwd, "empty");
return (usrVerify && pwdVerify);
}
function editProfileValidation() {
var name = document.forms["editprofile-form"]["your-name"];
var phone = document.forms["editprofile-form"]["phone-number"];
var nameVerify = Validate(name, "empty", 0, 20, "length");
var phoneVerify = Validate(phone, "empty", 9, 12, "length");
return (nameVerify && phoneVerify);
}
function Validate(inputArea, type1, min = 0, max = 0, type2 = null, type3 = null) {
var error = GetErrorMessage(inputArea.value, type1, min, max);
if(error === "") {
if (type2 != null) {
error = GetErrorMessage(inputArea.value, type2, min, max);
console.log(type2 + "length");
}
if (error === "") {
if (type3 != null) {
error = GetErrorMessage(inputArea.value, type3, min, max);
}
}
}
if(error !== "" && inputArea.nextElementSibling === null) {
var errorEl = document.createElement("p");
errorEl.innerHTML = error;
errorEl.className = "error";
insertAfterElement(errorEl, inputArea);
inputArea.addEventListener("blur", function() {
var error = GetErrorMessage(inputArea.value, type1, min, max);
if(error === "") {
if (type2 != null) {
error = GetErrorMessage(inputArea.value, type2, min, max);
}
if (error === "") {
if (type3 != null) {
error = GetErrorMessage(inputArea.value, type3, min, max);
}
}
}
if (error === ""){
this.nextSibling.remove();
}
},true);
}
return (error === "");
}
function insertAfterElement(el, src) {
src.parentNode.insertBefore(el, src.nextSibling);
}
function GetErrorMessage(textArea, type, min = 0, max = 0) {
var validateText = "";
switch(type) {
case "empty" :
if(isEmpty(textArea)) {
validateText = "Fill in the field";
}
break;
case "email" :
if(!isEmail(textArea)) {
validatedText = "Invalid Email Address";
}
break;
case "number" :
if(isNumber(textArea)){
validateText = "Fill in with only number";
}
break;
case "length" :
if (!isLengthEqual(textArea,min,max)){
validateText = "Character must be between " + min.toString() + " and " + max.toString() + " long";
}
break;
}
return validateText;
}
function isEmpty(textArea) {
return (textArea.match(/^s+$/) || textArea == "");
}
function isNumber(textArea) {
return (!isNaN(textArea));
}
function isLengthEqual(textArea, min, max){
return (textArea.length >= min && textArea.length <= max);
}
function isEmail(textArea) {
return (textArea.match(/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/));
}
\ No newline at end of file
function tabActive(tag) {
var tabUser = document.getElementById('user-his');
var tabDriver = document.getElementById('driver-his');
var order = document.getElementsByClassName('order-list');
var driver = document.getElementsByClassName('driver-list');
if (tag == 'user') {
order[0].classList.add("active-list");
driver[0].classList.remove("active-list");
tabUser.classList.add('active');
tabDriver.classList.remove('active');
}
else {
driver[0].classList.add("active-list");
order[0].classList.remove("active-list");
tabDriver.classList.add('active');
tabUser.classList.remove('active');
}
}
tabActive('user');
function hideThis(user) {
updateHide(user);
console.log(user[0]);
}
function updateHide(history)
{
var data = "user=" + history[0] + "&driver=" + history[1] + "&date=" + history[4];
var xhr;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("GET", "/history/update", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(data);
}
\ No newline at end of file
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.";
}
\ No newline at end of file
function checkData(name, element)
{
var data = "?" + name + "=" + document.forms["signupform"][name].value;
var xhr;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("GET", "/validation" + data, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(null);
xhr.onload = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (xhr.responseText === 'OK') {
document.getElementById(element).innerHTML = "";
} else {
document.getElementById(element).innerHTML = "X";
}
}
else {
alert('There was a problem with the request.');
}
}
}
}
function signupValidation() {
var username = document.forms["signupform"]["username"];
var password = document.forms["signupform"]["password"];
var cpassword = document.forms["signupform"]["confirm-password"];
var email = document.forms["signupform"]["email"];
var fullname = document.forms["signupform"]["your-name"];
var phone = document.forms["signupform"]["phone"];
var usrVerify = Validate(username, "empty");
var pwdVerify = Validate(password, "empty");
var cpwdVerify = Validate(cpassword, "empty");
var emailVerify = Validate(email, "empty", 0, 0, "email");
var fullnameVerify = Validate(fullname, "empty", 0, 20, "length");
var phoneVerify = Validate(phone, "empty", 9, 12, "length");
return (usrVerify && pwdVerify && cpwdVerify && emailVerify && fullnameVerify && phoneVerify);
}
\ No newline at end of file