1 |
37958
|
argiro.kok
|
window.addEvent('domready', function () {
|
2 |
|
|
if ($('keyword') === null || $('keyword').value === null || $('keyword').value==='') {
|
3 |
|
|
browse();
|
4 |
|
|
}
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
});
|
8 |
|
|
|
9 |
|
|
function browse() {
|
10 |
|
|
if (typeof openairePeopleRawUrl !== 'undefined') {
|
11 |
|
|
jQuery.ajax({"url": openairePeopleRawUrl}).done(function (data, status, request) {
|
12 |
|
|
$('peopleBrowse').innerHTML = data;
|
13 |
|
|
init();
|
14 |
|
|
});
|
15 |
|
|
}
|
16 |
|
|
}
|
17 |
35459
|
argiro.kok
|
function addField() {
|
18 |
37958
|
argiro.kok
|
this.field.remove.style.display = '';
|
19 |
35459
|
argiro.kok
|
var newField = this.field.clone();
|
20 |
37958
|
argiro.kok
|
newField.add = newField.getElement('span.addNewFilter');
|
21 |
|
|
newField.remove = newField.getElement('span.removeNewFilter');
|
22 |
35459
|
argiro.kok
|
newField.keyword = newField.getElement('input[name = "keyword[]"]');
|
23 |
|
|
newField.field = newField.getElement('select[name = "field[]"]');
|
24 |
|
|
newField.constraint = newField.getElement('select[name = "constraint[]"]');
|
25 |
|
|
newField.add.field = newField;
|
26 |
|
|
newField.remove.field = newField;
|
27 |
|
|
newField.add.addEvent('click', addField);
|
28 |
|
|
newField.remove.addEvent('click', removeField);
|
29 |
|
|
newField.keyword.value = '';
|
30 |
|
|
newField.field.selectedIndex = 0;
|
31 |
|
|
newField.constraint.selectedIndex = 0;
|
32 |
|
|
newField.inject(this.field, 'after');
|
33 |
|
|
}
|
34 |
|
|
|
35 |
|
|
function removeField() {
|
36 |
|
|
var fields = $$('div.srchNavTextAdvancedFilter');
|
37 |
|
|
if (fields.length == 2) { // When just two fields are present, only one will remain after removal. In this case hide its remove button because the last remaining field should never be deleted.
|
38 |
|
|
fields.each(function (field) {
|
39 |
37958
|
argiro.kok
|
field.remove.style.display = 'none';
|
40 |
35459
|
argiro.kok
|
});
|
41 |
|
|
}
|
42 |
|
|
this.field.destroy();
|
43 |
|
|
}
|
44 |
|
|
|
45 |
|
|
function updateLimits() {
|
46 |
38381
|
argiro.kok
|
var filters = $('advanceSearchFilters');
|
47 |
35459
|
argiro.kok
|
var noLimits = $('noLimits');
|
48 |
|
|
var countryLimits = $('countryLimits');
|
49 |
|
|
var clearAll = $('clearAll');
|
50 |
|
|
if ((noLimits == null) || (countryLimits == null))
|
51 |
|
|
return;
|
52 |
|
|
countryLimits.value = countryLimits.getElement('span');
|
53 |
|
|
if (countryLimits.value == null)
|
54 |
|
|
return;
|
55 |
37958
|
argiro.kok
|
noLimits.style.display = '';
|
56 |
35459
|
argiro.kok
|
countryLimits.value.set('html', '');
|
57 |
37958
|
argiro.kok
|
countryLimits.style.display = 'none';
|
58 |
|
|
clearAll.style.display = 'none';
|
59 |
38381
|
argiro.kok
|
filters.style.display ='none';
|
60 |
35459
|
argiro.kok
|
$$('div.filterItem').each(function (field) {
|
61 |
|
|
if (field.rows != null) { // checkbox field
|
62 |
|
|
var values = new Array();
|
63 |
|
|
field.rows.each(function (row) {
|
64 |
|
|
if (row.checkbox.checked)
|
65 |
|
|
values.push(row.value);
|
66 |
|
|
});
|
67 |
|
|
if (values.length > 0) {
|
68 |
|
|
countryLimits.value.set('html', values.join(', '));
|
69 |
37958
|
argiro.kok
|
countryLimits.style.display = '';
|
70 |
35459
|
argiro.kok
|
}
|
71 |
|
|
}
|
72 |
|
|
});
|
73 |
|
|
if (countryLimits.isDisplayed()) {
|
74 |
37958
|
argiro.kok
|
noLimits.style.display = 'none';
|
75 |
|
|
clearAll.style.display = '';
|
76 |
38381
|
argiro.kok
|
filters.style.display ='';
|
77 |
35459
|
argiro.kok
|
}
|
78 |
|
|
}
|
79 |
|
|
|
80 |
|
|
function clear(field) {
|
81 |
|
|
if (field.rows != null) { // checkbox field
|
82 |
|
|
field.rows.each(function (row) {
|
83 |
|
|
row.checkbox.checked = false;
|
84 |
|
|
});
|
85 |
|
|
field.ok.click();
|
86 |
|
|
}
|
87 |
|
|
}
|
88 |
|
|
|
89 |
|
|
function clearAll() {
|
90 |
|
|
$$('div.filterItem').each(function (field) { // other fields
|
91 |
|
|
clear(field);
|
92 |
|
|
});
|
93 |
|
|
return false;
|
94 |
|
|
}
|
95 |
|
|
|
96 |
|
|
window.addEvent('domready', function () {
|
97 |
37958
|
argiro.kok
|
/*if ($$('div.searchResults').length > 0) { // hide 'In this section' when there are results
|
98 |
37088
|
argiro.kok
|
$$('div.tm-main').setStyle('width', $$('div.tm-main').offsetWidth + $$("aside.tm-sidebar-a").offsetWidth);
|
99 |
|
|
$$("aside.tm-sidebar-a").destroy();
|
100 |
37958
|
argiro.kok
|
}*/
|
101 |
|
|
init() ;
|
102 |
35459
|
argiro.kok
|
$$('div.srchNavTextAdvancedFilter').each(function (field) { // text fields, add / remove
|
103 |
37958
|
argiro.kok
|
field.add = field.getElement('span.addNewFilter');
|
104 |
|
|
field.remove = field.getElement('span.removeNewFilter');
|
105 |
35459
|
argiro.kok
|
field.keyword = field.getElement('input[name = "keyword[]"]');
|
106 |
|
|
field.field = field.getElement('select[name = "field[]"]');
|
107 |
|
|
field.constraint = field.getElement('select[name = "constraint[]"]');
|
108 |
|
|
field.add.field = field;
|
109 |
|
|
field.remove.field = field;
|
110 |
|
|
field.add.addEvent('click', addField);
|
111 |
|
|
field.remove.addEvent('click', removeField);
|
112 |
|
|
});
|
113 |
|
|
$$('div.filterItem').each(function (field) { // other fields
|
114 |
|
|
field.edit = field.getElement('a.editRef');
|
115 |
|
|
field.details = field.getElement('div.hiddenAdvancedSearch');
|
116 |
|
|
field.ok = field.getElement('input.okElement');
|
117 |
|
|
field.cancel = field.getElement('input.cancelElement');
|
118 |
|
|
if ((field.edit != null) && (field.details != null) && (field.ok != null) && (field.cancel != null)) {
|
119 |
|
|
field.slide = new Fx.Slide(field.details, {resetHeight: true});
|
120 |
|
|
field.slide.hide();
|
121 |
|
|
field.details.show();
|
122 |
|
|
field.edit.addEvent('click', function () {
|
123 |
|
|
if (field.slide.open)
|
124 |
|
|
field.cancel.click();
|
125 |
|
|
else
|
126 |
|
|
field.slide.slideIn();
|
127 |
|
|
return false;
|
128 |
|
|
});
|
129 |
|
|
field.filter = field.getElement('input[type = "text"]');
|
130 |
|
|
field.selectAll = field.getElement('a.selectAll');
|
131 |
|
|
field.deselectAll = field.getElement('a.deselectAll');
|
132 |
|
|
field.rows = field.getElements('div[class = "filterListingBlock"] div[class = "filterRow"]');
|
133 |
|
|
if ((field.filter != null) && (field.selectAll != null) && (field.deselectAll != null) && (field.rows != null)) { // checkbox field
|
134 |
|
|
field.rows.each(function (row) {
|
135 |
|
|
row.label = row.getElement('label');
|
136 |
|
|
row.checkbox = row.getElement('input[type = "checkbox"]');
|
137 |
|
|
row.id = row.checkbox.value;
|
138 |
|
|
row.value = row.label.get('html');
|
139 |
|
|
row.lowerCaseValue = row.value.toLowerCase();
|
140 |
|
|
});
|
141 |
|
|
field.filter.addEvent('keyup', function () {
|
142 |
|
|
var term = this.value.trim().toLowerCase();
|
143 |
|
|
if (term == '') {
|
144 |
|
|
field.rows.each(function (row) {
|
145 |
|
|
row.label.set('html', row.value);
|
146 |
37958
|
argiro.kok
|
row.style.display = '';
|
147 |
35459
|
argiro.kok
|
});
|
148 |
|
|
} else {
|
149 |
|
|
field.rows.each(function (row) {
|
150 |
|
|
var index = row.lowerCaseValue.indexOf(term);
|
151 |
|
|
if (index == -1) {
|
152 |
|
|
row.label.set('html', row.value);
|
153 |
37958
|
argiro.kok
|
row.style.display = 'none';
|
154 |
35459
|
argiro.kok
|
} else {
|
155 |
|
|
row.label.set('html', row.value.substr(0, index) + '<span class="filterMatch">' + row.value.substr(index, term.length) + '</span>' + row.value.substr(index + term.length));
|
156 |
37958
|
argiro.kok
|
row.style.display = '';
|
157 |
35459
|
argiro.kok
|
}
|
158 |
|
|
});
|
159 |
|
|
}
|
160 |
|
|
});
|
161 |
|
|
field.selectAll.addEvent('click', function () {
|
162 |
|
|
field.rows.each(function (row) {
|
163 |
|
|
if (row.isDisplayed())
|
164 |
|
|
row.checkbox.checked = true;
|
165 |
|
|
});
|
166 |
|
|
return false;
|
167 |
|
|
});
|
168 |
|
|
field.deselectAll.addEvent('click', function () {
|
169 |
|
|
field.rows.each(function (row) {
|
170 |
|
|
if (row.isDisplayed())
|
171 |
|
|
row.checkbox.checked = false;
|
172 |
|
|
});
|
173 |
|
|
return false;
|
174 |
|
|
});
|
175 |
|
|
field.ok.addEvent('click', function () {
|
176 |
|
|
field.slide.slideOut();
|
177 |
|
|
field.details.getElements('input[type = "hidden"]').each(function (shadow) { // remove all shadows
|
178 |
|
|
shadow.destroy();
|
179 |
|
|
});
|
180 |
|
|
field.rows.each(function (row) { // create a new shadow for each checked checkbox
|
181 |
|
|
if (row.checkbox.checked) {
|
182 |
|
|
var shadow = new Element('input');
|
183 |
|
|
shadow.type = 'hidden';
|
184 |
|
|
shadow.name = field.id + '[]';
|
185 |
|
|
shadow.value = row.id;
|
186 |
|
|
shadow.inject(field.details, 'top');
|
187 |
|
|
}
|
188 |
|
|
});
|
189 |
|
|
updateLimits();
|
190 |
|
|
});
|
191 |
|
|
field.cancel.addEvent('click', function () {
|
192 |
|
|
field.slide.slideOut();
|
193 |
|
|
var shadows = field.details.getElements('input[type = "hidden"]');
|
194 |
|
|
field.rows.each(function (row) { // uncheck all the checkboxes
|
195 |
|
|
row.checkbox.checked = shadows.some(function (shadow) {
|
196 |
|
|
return (shadow.name == field.id) && (shadow.value == row.id);
|
197 |
|
|
});
|
198 |
|
|
});
|
199 |
|
|
});
|
200 |
|
|
}
|
201 |
|
|
}
|
202 |
|
|
});
|
203 |
|
|
$('countryLimits').addEvent('click', function () {
|
204 |
|
|
clear($('country'));
|
205 |
|
|
});
|
206 |
|
|
$('clearAll').addEvent('click', clearAll);
|
207 |
|
|
updateLimits();
|
208 |
|
|
updateLimits();
|
209 |
37958
|
argiro.kok
|
$$('div.addmore').each(function (viewFilters) { // hide filters
|
210 |
35459
|
argiro.kok
|
viewFilters.leftFilters = viewFilters.getParent().getElement('div.leftAdvanced');
|
211 |
37958
|
argiro.kok
|
viewFilters.leftFilters.style.display = 'none';
|
212 |
35459
|
argiro.kok
|
viewFilters.rightFilters = viewFilters.getParent().getElement('div.rightAdvanced');
|
213 |
37958
|
argiro.kok
|
viewFilters.rightFilters.style.display = 'none';
|
214 |
|
|
viewFilters.showfilters = viewFilters.getParent().getElement('span.showfilters');
|
215 |
|
|
viewFilters.showfilters.style.display = '';
|
216 |
|
|
viewFilters.hidefilters = viewFilters.getParent().getElement('span.hidefilters');
|
217 |
|
|
viewFilters.hidefilters.style.display = 'none';
|
218 |
35459
|
argiro.kok
|
viewFilters.addEvent('click', function () {
|
219 |
|
|
if (this.leftFilters.isVisible() || this.rightFilters.isVisible()) {
|
220 |
37958
|
argiro.kok
|
this.leftFilters.style.display = 'none';
|
221 |
|
|
this.rightFilters.style.display = 'none';
|
222 |
|
|
this.showfilters.style.display = '';
|
223 |
|
|
this.hidefilters.style.display = 'none';
|
224 |
35459
|
argiro.kok
|
} else {
|
225 |
37958
|
argiro.kok
|
this.leftFilters.style.display = '';
|
226 |
|
|
this.rightFilters.style.display = '';
|
227 |
|
|
this.showfilters.style.display = 'none';
|
228 |
|
|
this.hidefilters.style.display = '';
|
229 |
35459
|
argiro.kok
|
}
|
230 |
|
|
});
|
231 |
|
|
});
|
232 |
|
|
});
|
233 |
|
|
|
234 |
37958
|
argiro.kok
|
|
235 |
|
|
function init() {
|
236 |
|
|
|
237 |
|
|
// view more
|
238 |
|
|
$$('div.searchCol, div.flowWrapper').each(function (statistic) {
|
239 |
|
|
var viewMore = statistic.getElement('span.viewmore');
|
240 |
|
|
if (viewMore !== null) {
|
241 |
|
|
viewMore.more = statistic.getElement('div.viewallpop');
|
242 |
|
|
if (viewMore.more !== null) {
|
243 |
|
|
viewMore.addEvent('click', function () {
|
244 |
|
|
tooltip.hide();
|
245 |
|
|
tooltip.pop(this, this.more.innerHTML, {relativeTo: 'element', position: 1, offsetX: -30, offsetY: 0, effect: 'fade', overlay: true, sticky: true, position: 1, license: tooltipLicense});
|
246 |
|
|
return false;
|
247 |
|
|
});
|
248 |
|
|
}
|
249 |
|
|
}
|
250 |
|
|
});
|
251 |
|
|
}
|