Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Nils Levandovskis nl17015
- */
- window.onload = function(){
- var lookup = {};
- var days = [null];
- for (var i in schedule) {
- var day = schedule[i].day;
- if (!(day in lookup)) {
- lookup[day] = 1;
- days.push(day);
- }
- }
- var select = document.getElementById("day-select");
- for(var i = 0; i < days.length; i++) {
- var opt = days[i];
- var el = document.createElement("option");
- el.textContent = opt;
- el.value = opt;
- select.appendChild(el);
- }
- var dropdown = document.createElement('select');
- dropdown.setAttribute("id", "lecturerSelect");
- document.getElementById('lecturer-search').parentNode.appendChild(dropdown);
- dropdown.setAttribute("style","-webkit-appearance: none;");
- dropdown.style.position = 'fixed';
- dropdown.style.overflow = 'hidden';
- dropdown.style.display = "none";
- document.addEventListener("keyup", lecturerSearch);
- for (var i in schedule) {
- var lecturer = schedule[i].lecturer;
- if(!(lecturer in lecturers)){
- lecturers[lecturer] = 1;
- lecturers.push(schedule[i].lecturer);
- }
- }
- }
- var lecturers = new Array();
- var daySelect;
- var timeFrom;
- var timeUntil;
- var room;
- var lecturer;
- function inputs(){
- var ok = true;
- var format;
- var h;
- var m;
- daySelect = document.getElementById("day-select").selectedIndex;
- daySelect = document.getElementsByTagName("option")[daySelect].value;
- timeFrom = document.getElementById("time-from").value;
- if(timeFrom){
- if (timeFrom.length !== 5)ok = false;
- else{
- var check;
- for(var i = 0;i<5;i++){
- check = String(timeFrom).charAt(i)
- alert(check);
- if(i == 2){
- if(check!==":") ok = false;
- }
- else{
- if(isNaN(parseInt(check,10))) ok = false
- }
- }
- }
- timeFrom = timeFrom.replace(":","");
- h = String(timeFrom).charAt(0)+String(timeFrom).charAt(1);
- if(h>24 || h<0) ok = false;
- m = String(timeFrom).charAt(2)+String(timeFrom).charAt(3);
- if(m>59 || m<0) ok = false;
- if(!ok)alert('"Laiks no" ir jāpieraksta hh:mm formātā');
- timeFrom = parseInt(timeFrom,10)
- }
- timeUntil = document.getElementById("time-until").value;
- if(timeUntil){
- if (timeUntil.length !== 5)ok = false;
- else{
- var check;
- for(var i = 0;i<5;i++){
- check = String(timeUntil).charAt(i);
- if(i == 2){
- if(check!==":") ok = false;
- }
- else{
- if(isNaN(parseInt(check,10))) ok = false;
- }
- }
- }
- var isTimeFromOk = ok;
- var isTimeUntilOk = true;
- timeUntil = timeUntil.replace(":","");
- timeUntil = parseInt(timeUntil,10)
- h = String(timeUntil).charAt(0)+String(timeUntil).charAt(1);
- if(h>23||h<0){
- ok = false;
- isTimeUntilOk = false;
- }
- m = String(timeUntil).charAt(2)+String(timeUntil).charAt(3);
- if(m>59||m<0){
- ok = false;
- isTimeUntilOk = false;
- }
- if(isTimeFromOk && timeFrom>=timeUntil){
- ok = false;
- isTimeUntilOk = false;
- }
- if(!isTimeUntilOk)alert('"Laiks līdz" ir jāpieraksta hh:mm formātā un tam ir jābūt lielākam par "Laiks no"');
- }
- room = document.getElementById("room").value;
- if(room){
- if(room === parseInt(room,10))room = parseInt(room,10);
- else{
- ok = false
- alert("Telpai ir jābūt veselam skaitlim")
- }
- }
- lecturer = document.getElementById("lecturer-search").value;
- if(lecturer){
- var okLecturer = false;
- for(var i = 0;i<lecturers.length;i++){
- if(lecturers[i].toUpperCase().includes(lecturer.toUpperCase())) okLecturer = true;
- }
- if(!okLecturer){
- ok = false;
- alert("Nepareizs pasniedzēja vārds");
- }
- }
- alert(daySelect+""+timeFrom+""+timeUntil+""+room);
- if(ok)schedSearch();
- }
- var hidden = false;
- function schedSearch(){
- x = document.getElementById("resTable");
- if (x){
- var y = document.getElementById("resTable").rows.length;
- for(var i = 0; i<y; i++){
- document.getElementById("resTable").deleteRow(0);
- }
- }
- var Table = document.createElement("table");
- Table.setAttribute("id", "resTable");
- document.body.appendChild(Table);
- var hRow = document.createElement("tr");
- hRow.setAttribute("id", "headRow");
- document.getElementById("resTable").appendChild(hRow);
- for(var x = 0; x<5; x++){
- var head = document.createElement("th");
- if (x==0)var txt = document.createTextNode("Diena");
- if (x==1)var txt = document.createTextNode("Laiks");
- if (x==2)var txt = document.createTextNode("Kurss");
- if (x==3){
- var txt = document.createTextNode("Telpa");
- head.setAttribute("class","hide");
- }
- if (x==4){
- var txt = document.createTextNode("Pasniedzējs");
- head.setAttribute("class","hide");
- }
- head.appendChild(txt);
- document.getElementById("headRow").appendChild(head);
- }
- var search = {};
- var result = true;
- search.day = daySelect;
- search.time_from = timeFrom;
- search.time_until = timeUntil;
- search.room = room;
- search.lecturer = lecturer;
- for (var i in schedule) {
- if (search.day!=="null"){
- if (search.day!==schedule[i].day) result = false;
- }
- if (search.time_from){
- var schedFrom = schedule[i].time_from.replace(":","");
- schedFrom = parseInt(schedFrom,10);
- if (search.time_from>schedFrom) result = false;
- }
- if (search.time_until){
- var schedUntil = schedule[i].time_until.replace(":","");
- schedUntil = parseInt(schedUntil,10);
- if (search.time_until<schedUntil) result = false;
- }
- if (search.room){
- if (search.room!==schedule[i].room) result = false;
- }
- if(search.lecturer){
- if(search.lecturer!=schedule[i].lecturer) result = false;
- }
- if (result==true){
- var Row = document.createElement("tr");
- Row.setAttribute("id","resRow"+i);
- for(var x = 0; x<5; x++){
- var res = document.createElement("td");
- document.getElementById("resTable").appendChild(Row)
- res.setAttribute("id","res"+i+x)
- if (x==0)var txt = document.createTextNode(schedule[i].day);
- if (x==1)var txt = document.createTextNode(schedule[i].time_from+"-"+schedule[i].time_until);
- if (x==2)var txt = document.createTextNode(schedule[i].course);
- if (x==3){
- var txt = document.createTextNode(schedule[i].room);
- res.setAttribute("class","hide");
- }
- if (x==4){
- var txt = document.createTextNode(schedule[i].lecturer);
- res.setAttribute("class","hide");
- }
- res.appendChild(txt);
- document.getElementById("resRow"+i).appendChild(res);
- }
- }
- result = true;
- }
- if(hidden)hide();
- }
- function hide(){
- var button = document.getElementById("hide");
- button.setAttribute("onclick","reveal()");
- button.textContent = "Rādīt telpu un pasniedzēju info";
- hidden = true;
- var elements = document.getElementsByClassName('hide');
- for(var i = 0, length = elements.length; i < length; i++) {
- elements[i].style.display = 'none';
- }
- }
- function reveal(){
- var button = document.getElementById("hide");
- button.setAttribute("onclick","hide()");
- button.textContent = "Paslēpt telpu un pasniedzēju info";
- hidden = false;
- var elements = document.getElementsByClassName('hide');
- for(var i = 0, length = elements.length; i < length; i++) {
- elements[i].style.display = 'table-cell';
- }
- }
- function lecturerSearch(){
- var x = document.getElementById("lecturerSelect");
- for(var i = 0; i < x.size ; i++){
- x.remove(0);
- }
- var input = document.getElementById("lecturer-search");
- var dropdown = document.getElementById("lecturerSelect");
- var lecturerList = new Array();
- for (var i = 0; i < schedule.length; i++) {
- var lecturer = schedule[i].lecturer;
- if (!(lecturer in lecturerList) && lecturer.toUpperCase().includes(input.value.toUpperCase()) == true) {
- lecturerList[lecturer] = 1;
- lecturerList.push(lecturer);
- }
- }
- dropdown.size = lecturerList.length;
- if(lecturerList.length === 1){
- dropdown.onclick = (function(j) {return function(){
- document.getElementById("lecturer-search").value = dropdown.childNodes[0].value;
- dropdown.style.display = "none";
- return;
- };})(j);
- }
- if(lecturerList.length < 1 || input.value.length < 2 || lecturerList.toString().includes(document.getElementById("lecturer-search").value)){
- dropdown.style.display = "none";
- return;
- }
- else
- {
- dropdown.style.display = "";
- }
- var temp = new Array();
- for(var j = 0; j < lecturerList.length; j++){
- var el = document.createElement("option");
- el.textContent = lecturerList[j];
- el.value = lecturerList[j];
- temp.push(lecturerList[j]);
- el.onclick = (function(el) {return function(){
- document.getElementById("lecturer-search").value = el.value;
- dropdown.style.display = "none";
- return;
- };})(el);
- dropdown.appendChild(el);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement