PageSourceSearch

https://s1.fau.ua/js/script.js

js fau.ua collected 2026-10-02 03:17:32 UTC 5,298 bytes, 205 lines download raw bytes

1var height = window.innerHeight;
2var area;
3var formattedStr = "";
4var startPosition = 0;
5var endPosition = 0;
6
7window.onload = function() {
8    area = document.getElementById("richtext");
9};
10
11function insCode(code) {
12    var text = area.value;
13
14    findPositions();
15
16    if ( startPosition != endPosition ) {
17        var selected = text.substring(startPosition, endPosition);
18
19        if ( code == 'b' ) {
20            selected = "[b]"+selected+"[/b]";
21        } else if (code == 'i') {
22            selected = "[i]"+selected+"[/i]";
23        } else if (code == 'u') {
24            selected = "[u]"+selected+"[/u]";
25        } else if (code == 'del') {
26            selected = "[del]"+selected+"[/del]";
27        } else if (code == 'h2') {
28            selected = "[h2]"+selected+"[/h2]";
29        } else if (code == 'h3') {
30            selected = "[h3]"+selected+"[/h3]";
31        } else if (code == 'link') {
32            url = prompt('URL?');
33            if ( url != null ) {
34                selected = "[url="+url+"]"+selected+"[/url]";
35            }
36        }
37        update(text, selected);
38    }
39}
40
41function findPositions() {
42    startPosition = area.selectionStart;
43    endPosition = area.selectionEnd;
44}
45
46function update(text, selectedText) {
47    var str1 = text.substring(0,startPosition);
48    var str2 = text.substring(startPosition,endPosition);
49    var str3 = text.substring(endPosition,text.length);
50
51    str2 = selectedText;
52    formattedStr = str1+str2+str3;
53    area.value = formattedStr;
54}
55
56function getDiscipline() {
57    var sel;
58    var value;
59
60    if ( document.getElementById('discipline_filter') ) {
61        sel = document.getElementById('discipline_filter');
62        return sel.options[sel.selectedIndex].value;
63    } else if ( document.getElementById('discipline_id') ) {
64        sel = document.getElementById('discipline_id');
65        return sel.value;
66    }
67    // console.log(sel);
68}
69
70function getStatus() {
71    var sel = document.getElementById('status_filter');
72    if ( !sel ) return 0;
73    var value = sel.options[sel.selectedIndex].value;
74    // console.log(value);
75    return value;
76}
77
78function getPlace() {
79    var sel = document.getElementById('place_filter');
80    if ( !sel ) return 0;
81    var value = sel.options[sel.selectedIndex].value;
82    // console.log(value);
83    return value;
84}
85
86function getQuery() {
87    var query_string = {};
88    var query = window.location.search.substring(1);
89    var vars = query.split("&");
90
91    if ( !query ) return 0;
92
93    for ( var i = 0; i < vars.length; i++ ) {
94        var pair = vars[i].split("=");
95
96        if ( typeof query_string[pair[0]] === "undefined" ) {
97            query_string[pair[0]] = pair[1];
98        } else if ( typeof query_string[pair[0]] === "string" ) {
99            query_string[pair[0]] = [query_string[pair[0]], pair[1]];
100        } else {
101            query_string[pair[0]].push(pair[1]);
102        }
103    }
104    // console.log(query_string);
105    return query_string;
106}
107
108function applyFilters(entity, place) {
109    var href;
110    var filters = {};
111    var query = getQuery();
112    var isEmpty = 1;
113    var url = [];
114
115    console.log(place);
116    if ( !place ) {
117        filters = {
118            discipline: getDiscipline(),
119            status: getStatus(),
120            place: getPlace()
121        }
122    } else {
123        filters = {
124            discipline: getDiscipline(),
125            status: getStatus(),
126            place: place
127        }
128    }
129    for ( key in filters ) {
130        query[key] = filters[key];
131    }
132
133    if ( query )
134        for ( key in query ) {
135            if ( query[key] != '0' ) {
136                url.push(key + "=" + query[key]);
137                isEmpty = 0;
138            }
139        }
140    else {
141        for ( key in filters ) {
142            if ( filters[key] != '0' ) {
143                url.push(key + "=" + filters[key]);
144                isEmpty = 0;
145            }
146        }
147    }
148    if ( !isEmpty ) {
149        href = '/' + entity + '/?' + url.join('&');
150    } else {
151        href = '/' + entity + '/';
152    }
153    
154    window.location.href = href;
155    // console.log(href);
156}
157
158function isHidden(element) {
159    var elementWidth = element.offsetWidth;
160    var elementHeight = element.offsetHeight;
161
162    return elementWidth == 0 || elementHeight == 0;
163}
164
165function toggle(link, element) {
166    if ( isHidden(element) == true ) {
167        show(element);
168        link.className = 'active';
169    } else {
170        hide(element);
171        link.className = '';
172    }
173    
174    console.log(element, ' display', element.style.display);
175    console.log('isHidden: ', isHidden(element));
176}
177function show(element) {
178    element.style.display = 'block';
179}
180
181function hide(element) {
182    element.style.display = 'none';
183}
184function deactivateLinks() {
185    var fl = document.getElementById('file_list');
186    var len = fl.childElementCount;
187
188    for ( var i = 0; i < len; i++ ) {
189        fl.children[i].children[0].className = '';
190    }
191}
192
193function toggleDoc(link, filepath, filename) {
194    var frame = document.getElementById('gdoc');
195    var src = 'https://docs.google.com/viewer?url=http://s1.fau.ua/ne
195w' + filepath + '/' + filename + '&embedded=true';
196
197    if ( frame.src !== src) {
198        hide(frame);
199    }
200    
201    frame.src = src;
202    frame.height = height * 90 / 100;
203    deactivateLinks();
204    toggle(link, frame);
205}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.