Commit | Line | Data |
---|---|---|
46ae38a9 | 1 | /*************************************************************************** |
8d84c630 | 2 | * Copyright (C) 2003-2009 Polytechnique.org * |
46ae38a9 FB |
3 | * http://opensource.polytechnique.org/ * |
4 | * * | |
5 | * This program is free software; you can redistribute it and/or modify * | |
6 | * it under the terms of the GNU General Public License as published by * | |
7 | * the Free Software Foundation; either version 2 of the License, or * | |
8 | * (at your option) any later version. * | |
9 | * * | |
10 | * This program is distributed in the hope that it will be useful, * | |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * | |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | |
13 | * GNU General Public License for more details. * | |
14 | * * | |
15 | * You should have received a copy of the GNU General Public License * | |
16 | * along with this program; if not, write to the Free Software * | |
17 | * Foundation, Inc., * | |
18 | * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * | |
19 | ***************************************************************************/ | |
20 | ||
8c7ac79e | 21 | // Page initialization {{{1 |
46ae38a9 FB |
22 | |
23 | function wizPage_onLoad(id) | |
24 | { | |
25 | switch (id) { | |
26 | case 'general': | |
6505acf7 SJ |
27 | var i = 1; |
28 | while ($('.edu_' + i).length != 0) { | |
29 | prepareType(i - 1); | |
30 | ++i; | |
043bbacf | 31 | } |
46ae38a9 | 32 | break; |
041a5cec SJ |
33 | case 'adresses': |
34 | checkCurrentAddress(); | |
35 | break; | |
46ae38a9 | 36 | case 'poly': |
6505acf7 | 37 | updateGroupSubLink(); |
46ae38a9 FB |
38 | break; |
39 | case 'deco': | |
40 | for (var i in names) { | |
6505acf7 SJ |
41 | if ($('#medal_' + i).length != 0) { |
42 | getMedalName(i); | |
43 | buildGrade(i, $('#medal_' + i).find('[name*=medal_' + i + '_grade]').val()); | |
46ae38a9 FB |
44 | } |
45 | } | |
46 | break; | |
47 | case 'emploi': | |
6505acf7 SJ |
48 | for (var i = 0 ; $('#job_' + i).length != 0; ++i) { |
49 | updateJobSector(i, $('#job_' + i).find("[name*='[ss_secteur]']").val()); | |
50 | updateJobSubSector(i, $('#job_' + i).find("[name*='[sss_secteur]']").val()); | |
46ae38a9 FB |
51 | } |
52 | break; | |
53 | } | |
54 | } | |
55 | ||
f711b03f SJ |
56 | var educationDegree; |
57 | var educationDegreeAll; | |
58 | var educationDegreeName; | |
46ae38a9 FB |
59 | var subgrades; |
60 | var names; | |
8c7ac79e | 61 | |
8c7ac79e SJ |
62 | // Names {{{1 |
63 | ||
e1082e20 | 64 | function toggleNamesAdvanced() |
6e32823c | 65 | { |
e1082e20 | 66 | $('.names_advanced').toggle(); |
6e32823c SJ |
67 | } |
68 | ||
b04882ff PC |
69 | function addSearchName() |
70 | { | |
6e32823c SJ |
71 | var i = 0; |
72 | while ($('#search_name_' + i).length != 0) { | |
73 | i++; | |
74 | } | |
75 | Ajax.update_html('search_name_' + i, 'profile/ajax/searchname/' + i, function(data){ | |
76 | $('#searchname').before(data); | |
77 | changeNameFlag(i); | |
78 | }); | |
b04882ff | 79 | } |
46ae38a9 | 80 | |
b04882ff PC |
81 | function removeSearchName(i) |
82 | { | |
6e32823c SJ |
83 | $('#search_name_' + i).remove(); |
84 | updateNameDisplay(); | |
85 | } | |
86 | ||
87 | function changeNameFlag(i) | |
88 | { | |
89 | $('#flag_' + i).remove(); | |
90 | var typeid = $('#search_name_' + i).find('select').val(); | |
91 | var type = $('#search_name_' + i).find('select :selected').text(); | |
6505acf7 | 92 | if ($('[name=sn_type_' + typeid + '_' + i + ']').val() > 0) { |
6e32823c SJ |
93 | $('#flag_cb_' + i).after('<span id="flag_' + i + '"> ' + |
94 | '<img src="images/icons/flag_green.gif" alt="site public" title="site public" />' + | |
95 | '<input type="hidden" name="search_names[' + i + '][pub]" value="1"/>' + | |
96 | '<input type="hidden" name="search_names[' + i + '][typeid]" value="' + typeid + '"/>' + | |
97 | '<input type="hidden" name="search_names[' + i + '][type]" value="' + type + '"/></span>'); | |
98 | } else { | |
99 | $('#flag_cb_' + i).after('<span id="flag_' + i + '"> ' + | |
100 | '<img src="images/icons/flag_red.gif" alt="site privé" title="site privé" />' + | |
101 | '<input type="hidden" name="search_names[' + i + '][typeid]" value="' + typeid + '"/>' + | |
102 | '<input type="hidden" name="search_names[' + i + '][type]" value="' + type + '"/></span>'); | |
103 | } | |
104 | } | |
105 | ||
106 | function updateNameDisplay() | |
107 | { | |
108 | var searchnames = ''; | |
109 | for (var i = 0; i < 10; i++) { | |
110 | if ($('#search_name_' + i).find(':text').val()) { | |
111 | searchnames += $('#search_name_' + i).find('[name*=typeid]').val() + ';'; | |
6e32823c SJ |
112 | searchnames += $('#search_name_' + i).find(':text').val() + ';;'; |
113 | } | |
114 | } | |
115 | Ajax.update_html(null, 'profile/ajax/buildnames/' + searchnames, function(data){ | |
116 | var name = data.split(';'); | |
117 | $('#public_name').html(name[0]); | |
118 | $('#private_name').html(name[0] + name[1]); | |
119 | }); | |
b04882ff | 120 | } |
46ae38a9 | 121 | |
8c7ac79e SJ |
122 | // Nationalities {{{1 |
123 | ||
8450c2aa SJ |
124 | function delNationality(i) |
125 | { | |
126 | $('#nationalite' + i).hide().find('select').val(''); | |
127 | } | |
128 | ||
129 | function addNationality() | |
130 | { | |
131 | var i = 0; | |
132 | if ($('#nationalite2').find('select').val() == "") { | |
133 | i = 2; | |
134 | } else if ($('#nationalite3').find('select').val() == "") { | |
135 | i = 3; | |
136 | } | |
137 | if ((i == 2) || (i == 3)) { | |
138 | $('#nationalite' + i).show(); | |
139 | } | |
140 | } | |
141 | ||
6505acf7 SJ |
142 | // Education {{{1 |
143 | ||
144 | function prepareType(id) | |
145 | { | |
146 | var edu = $('.edu_' + id).find("[name='edus[" + id + "][eduid]']").val() - 1; | |
147 | var sel = $('.edu_' + id).find('[name=edu_' + id + '_tmp]').val(); | |
148 | var html = ''; | |
149 | var length = educationDegree[edu].length; | |
150 | for (i = 0; i < length; ++i) { | |
151 | html += '<option value="' + educationDegree[edu][i] + '"'; | |
152 | if (sel == educationDegree[edu][i]) { | |
153 | html += ' selected="selected"'; | |
154 | } | |
155 | html += '>' + educationDegreeName[educationDegree[edu][i] - 1] + '</option>'; | |
156 | } | |
157 | $('.edu_' + id).find("[name='edus[" + id + "][degreeid]']").html(html); | |
158 | } | |
159 | ||
160 | function addEdu() | |
161 | { | |
162 | var i = 0; | |
163 | var j = 0; | |
164 | var prefix = 'edu_'; | |
165 | var class_parity; | |
166 | ||
167 | while (!$('#edu_add').hasClass(prefix + i)) { | |
168 | if ($('.' + prefix + i).length != 0) { | |
169 | j++; | |
170 | } | |
171 | i++; | |
172 | } | |
173 | if (j % 2) { | |
174 | class_parity = 'pair'; | |
175 | } else { | |
176 | class_parity = 'impair'; | |
177 | } | |
178 | $('#edu_add').removeClass(prefix + i); | |
179 | i++; | |
180 | $('#edu_add').addClass(prefix + i); | |
181 | i--; | |
182 | $.get(platal_baseurl + 'profile/ajax/edu/' + i + '/' + class_parity, | |
183 | function(data) { | |
184 | $('#edu_add').before(data); | |
185 | prepareType(i); | |
186 | }); | |
187 | } | |
188 | ||
189 | function removeEdu(i) | |
190 | { | |
191 | var prefix = 'edu_'; | |
192 | $('.' + prefix + i).remove(); | |
193 | while (!$('#edu_add').hasClass(prefix + i)) { | |
194 | $('.' + prefix + i).toggleClass('pair'); | |
195 | $('.' + prefix + i).toggleClass('impair'); | |
196 | i++; | |
197 | } | |
198 | } | |
199 | ||
8c7ac79e SJ |
200 | // Networking {{{1 |
201 | ||
d1a2252a GB |
202 | function addNetworking() |
203 | { | |
204 | var i = 0; | |
6505acf7 | 205 | while ($('#networking_' + i).length != 0) { |
d1a2252a GB |
206 | i++; |
207 | } | |
92c3f9e5 | 208 | var namefirst = ''; |
d1a2252a | 209 | var html = '<tr id="networking_' + i + '">' |
92c3f9e5 GB |
210 | + ' <td colspan="2">' |
211 | + ' <div style="float: left; width: 200px;">' | |
212 | + ' <span class="flags">' | |
213 | + ' <input type="checkbox" name="networking[' + i + '][pub]"/>' | |
214 | + ' <img src="images/icons/flag_green.gif" alt="site public" title="site public">' | |
215 | + ' </span> ' | |
6505acf7 | 216 | + ' <select name="networking[' + i + '][type]" onchange="javascript:updateNetworking(' + i + ');">'; |
92c3f9e5 GB |
217 | for (nw in nw_list) { |
218 | if (namefirst == '') { | |
219 | namefirst = nw; | |
220 | } | |
221 | html += ' <option value="' + nw_list[nw] + '">' + nw + '</option>'; | |
222 | } | |
223 | html += '</select>' | |
6505acf7 | 224 | + ' <input type="hidden" name="networking[' + i + '][name]" value="' + namefirst + '"/>' |
92c3f9e5 GB |
225 | + ' </div>' |
226 | + ' <div style="float: left">' | |
227 | + ' <input type="text" name="networking[' + i + '][address]" value="" size="30"/>' | |
228 | + ' <a href="javascript:removeNetworking(' + i + ')">' | |
229 | + ' <img src="images/icons/cross.gif" alt="cross" title="Supprimer cet élément"/>' | |
230 | + ' </a>' | |
231 | + ' </div>' | |
d1a2252a GB |
232 | + ' </td>' |
233 | + '</tr>'; | |
234 | ||
92c3f9e5 | 235 | $('#networking').before(html); |
d1a2252a GB |
236 | } |
237 | ||
238 | function removeNetworking(id) | |
239 | { | |
240 | $('#networking_' + id).remove(); | |
241 | } | |
242 | ||
92c3f9e5 | 243 | function updateNetworking(i) |
d1a2252a | 244 | { |
6505acf7 | 245 | $('#networking_' + i).find("[name='networking[" + i + "][name]']").val($('#networking_' + i).find('select option:selected').text()); |
d1a2252a GB |
246 | } |
247 | ||
8c7ac79e | 248 | // Addresses {{{1 |
46ae38a9 | 249 | |
041a5cec | 250 | function toggleAddress(id, val) |
46ae38a9 | 251 | { |
041a5cec SJ |
252 | $('#addresses_' + id + '_grayed').toggle(); |
253 | $('#addresses_' + id).toggle(); | |
254 | $('#addresses_' + id + '_cont').find('[name*=removed]').val(val); | |
255 | checkCurrentAddress(); | |
46ae38a9 FB |
256 | } |
257 | ||
041a5cec | 258 | function checkCurrentAddress(id) |
46ae38a9 | 259 | { |
041a5cec | 260 | var hasCurrentAddress = id ? true : false; |
46ae38a9 | 261 | var i = 0; |
041a5cec SJ |
262 | while ($('#addresses_' + i + '_cont').length != 0) { |
263 | if ($('#addresses_' + i + '_cont').find('[name*=removed]').val() == 1) { | |
264 | $('#addresses_' + i + '_cont').find('[name*=current]').attr('checked', false); | |
265 | } | |
266 | if (!hasCurrentAddress && $('#addresses_' + i + '_cont').find('[name*=current]:checked').length != 0) { | |
267 | hasCurrentAddress = true; | |
268 | } else { | |
269 | $('#addresses_' + i + '_cont').find('[name*=current]').attr('checked', false); | |
46ae38a9 FB |
270 | } |
271 | i++; | |
272 | } | |
041a5cec | 273 | if (!hasCurrentAddress) { |
46ae38a9 | 274 | i = 0; |
041a5cec SJ |
275 | while ($('#addresses_' + i + '_cont').length != 0) { |
276 | if ($('#addresses_' + i + '_cont').find('[name*=removed]').val() == 0) { | |
277 | $('#addresses_' + i + '_cont').find('[name*=current]').attr('checked', 'checked'); | |
278 | break; | |
279 | } | |
280 | i++; | |
46ae38a9 FB |
281 | } |
282 | } | |
041a5cec SJ |
283 | if (id) { |
284 | $('#addresses_' + id + '_cont').find('[name*=current]').attr('checked', 'checked'); | |
46ae38a9 FB |
285 | } |
286 | } | |
287 | ||
46ae38a9 FB |
288 | function addAddress() |
289 | { | |
290 | var i = 0; | |
041a5cec | 291 | while ($('#addresses_' + i + '_cont').length != 0) { |
46ae38a9 FB |
292 | i++; |
293 | } | |
041a5cec SJ |
294 | $('#add_address').before('<div id="addresses_' + i + '_cont"></div>'); |
295 | Ajax.update_html('addresses_' + i + '_cont', 'profile/ajax/address/' + i, checkCurrentAddress()); | |
46ae38a9 FB |
296 | } |
297 | ||
041a5cec | 298 | function addressChanged(id) |
043bbacf | 299 | { |
041a5cec | 300 | $('#addresses_' + id + '_cont').find('[name*=changed]').val("1"); |
043bbacf SJ |
301 | } |
302 | ||
041a5cec | 303 | function validGeoloc(id, geoloc) |
043bbacf | 304 | { |
041a5cec SJ |
305 | if (geoloc == 1) { |
306 | $('#addresses_' + id + '_cont').find('[name*=text]').val($('#addresses_' + id + '_cont').find('[name*=geoloc]').val()); | |
5a10ab14 | 307 | $('#addresses_' + id + '_cont').find('[name*=postalText]').val($('#addresses_' + id + '_cont').find('[name*=geocodedPostalText]').val()); |
041a5cec SJ |
308 | } |
309 | $('#addresses_' + id + '_cont').find('[name*=text]').removeClass('error'); | |
310 | $('#addresses_' + id + '_cont').find('[name*=geoloc_choice]').val(geoloc); | |
311 | $('.addresses_' + id + '_geoloc').remove(); | |
043bbacf SJ |
312 | } |
313 | ||
8c7ac79e SJ |
314 | // {{{1 Phones |
315 | ||
bde2be3b | 316 | function addTel(prefid, prefname) |
46ae38a9 FB |
317 | { |
318 | var i = 0; | |
bde2be3b | 319 | var prefix = prefid + '_'; |
6505acf7 | 320 | while ($('#' + prefix + i).length != 0) { |
46ae38a9 FB |
321 | i++; |
322 | } | |
bde2be3b GB |
323 | $('#' + prefix + 'add').before('<div id="' + prefix + i + '" style="clear: both; padding-top: 4px; padding-bottom: 4px"></div>'); |
324 | Ajax.update_html(prefix + i, 'profile/ajax/tel/' + prefid + '/' + prefname + '/' + i); | |
46ae38a9 FB |
325 | } |
326 | ||
bde2be3b GB |
327 | function removeTel(id) |
328 | { | |
329 | $('#' + id).remove(); | |
330 | } | |
331 | ||
6505acf7 | 332 | function addPhoneComment(id) |
bde2be3b | 333 | { |
6505acf7 SJ |
334 | $(id + '_comment').show(); |
335 | $(id + '_addComment').hide(); | |
bde2be3b GB |
336 | } |
337 | ||
338 | function removePhoneComment(id, pref) | |
339 | { | |
6505acf7 SJ |
340 | $(id + '_comment').hide(); |
341 | $(id + '_comment').find("[name='" + pref + "[comment]']").val(''); | |
342 | $(id + '_addComment').show(); | |
bde2be3b | 343 | } |
46ae38a9 | 344 | |
6505acf7 | 345 | // {{{1 Groups |
46ae38a9 | 346 | |
6505acf7 | 347 | function addBinet() |
46ae38a9 | 348 | { |
6505acf7 SJ |
349 | var id = $('#binets_table').find('[name=binets_sel]').val(); |
350 | var text = $('#binets_table').find('select option:selected').text(); | |
351 | var html = '<tr id="binets_' + id + '">' | |
352 | + ' <td>' | |
353 | + ' <input type="hidden" name="binets[' + id + ']" value="' + text + '" />' | |
354 | + ' </td>' | |
355 | + ' <td>' | |
356 | + ' <div style="float: left; width: 70%">' | |
357 | + text | |
358 | + ' </div>' | |
359 | + ' <a href="javascript:removeElement(\'binets\', ' + id + ')">' | |
360 | + ' <img src="images/icons/cross.gif" alt="cross" title="Supprimer ce groupe" />' | |
361 | + ' </a>' | |
362 | + ' </td>' | |
363 | + '</tr>'; | |
364 | $('#binets_table').after(html); | |
365 | updateElement('binets'); | |
46ae38a9 FB |
366 | } |
367 | ||
6505acf7 | 368 | function updateGroupSubLink() |
46ae38a9 | 369 | { |
6505acf7 SJ |
370 | var href = $('[name*=groupesx_sub]').val() ? $('[name*=groupesx_sub]').val() : 'http://www.polytechnique.net'; |
371 | $('#groupesx_sub').attr('href', href); | |
46ae38a9 FB |
372 | } |
373 | ||
6505acf7 | 374 | // {{{1 Medals |
46ae38a9 FB |
375 | |
376 | function updateMedal() | |
377 | { | |
6505acf7 SJ |
378 | var val = $('#medals').find('[name*=medal_sel]').val(); |
379 | if (val && ($('#medal_' + val).length == 0)) { | |
380 | $('#medal_add').show(); | |
46ae38a9 | 381 | } else { |
6505acf7 | 382 | $('#medal_add').hide(); |
46ae38a9 FB |
383 | } |
384 | } | |
385 | ||
386 | function getMedalName(id) | |
387 | { | |
6505acf7 | 388 | $('#medal_name_' + id).html(names[id]); |
46ae38a9 FB |
389 | } |
390 | ||
391 | function buildGrade(id, current) | |
392 | { | |
393 | var grade; | |
394 | var subg = subgrades[id]; | |
395 | var obj = $('#medal_grade_' + id); | |
396 | if (!subg) { | |
397 | obj.prepend('<input type="hidden" name="medals[' + id + '][grade]" value="0" />'); | |
398 | } else { | |
399 | var html = 'Agrafe : <select name="medals[' + id + '][grade]">'; | |
400 | html += '<option value="0">Non précisée</option>'; | |
401 | for (grade = 0 ; grade < subg.length ; grade++) { | |
402 | html += '<option value="' + subg[grade][0] + '"'; | |
403 | if (subg[grade][0] == current) { | |
404 | html += ' selected="selected"'; | |
405 | } | |
406 | html += '>' + subg[grade][1] + '</option>'; | |
407 | } | |
408 | ||
409 | html += '</select>'; | |
410 | obj.prepend(html); | |
411 | } | |
412 | } | |
413 | ||
414 | function makeAddProcess(id) | |
415 | { | |
416 | return function(data) | |
417 | { | |
418 | $('#medals').after(data); | |
419 | updateMedal(); | |
420 | getMedalName(id); | |
421 | buildGrade(id, 0); | |
422 | }; | |
423 | } | |
424 | ||
425 | function addMedal() | |
426 | { | |
6505acf7 | 427 | var id = $('#medals').find('[name=medal_sel]').val(); |
46ae38a9 FB |
428 | $.get(platal_baseurl + 'profile/ajax/medal/' + id, makeAddProcess(id)); |
429 | } | |
430 | ||
431 | function removeMedal(id) | |
432 | { | |
433 | $("#medal_" + id).remove(); | |
434 | updateMedal(); | |
435 | } | |
436 | ||
8c7ac79e | 437 | // Jobs {{{1 |
46ae38a9 FB |
438 | |
439 | function removeJob(id, pref) | |
440 | { | |
6505acf7 SJ |
441 | $('#' + id + '_cont').hide(); |
442 | if ($('#' + id).find("[name='" + id + "[new]']").val() == '0') { | |
443 | $('#' + id + '_grayed').show(); | |
444 | $('#' + id + '_grayed_name').html($('#' + id).find("[name='" + id + "[name]']").val()); | |
46ae38a9 | 445 | } |
6505acf7 | 446 | $('#' + id).find("[name='" + id + "[removed]']").val('1'); |
46ae38a9 FB |
447 | } |
448 | ||
449 | function restoreJob(id, pref) | |
450 | { | |
6505acf7 SJ |
451 | $('#' + id + '_cont').show(); |
452 | $('#' + id + '_grayed').hide(); | |
453 | $('#' + id).find("[name='" + id + "[removed]']").val('0'); | |
46ae38a9 FB |
454 | } |
455 | ||
6505acf7 | 456 | function updateJobSector(id, sel) |
46ae38a9 | 457 | { |
6505acf7 SJ |
458 | var sector = $('#job_' + id).find("[name*='[secteur]']").val(); |
459 | if (sector == '') { | |
460 | sector = '-1'; | |
46ae38a9 | 461 | } |
6505acf7 | 462 | Ajax.update_html('job_' + id + '_ss_secteur', 'profile/ajax/secteur/' + id + '/job_' + id + '/jobs[' + id + ']/' + sector + '/' + sel); |
c7139c07 SJ |
463 | } |
464 | ||
6505acf7 | 465 | function updateJobSubSector(id, sel) |
c7139c07 | 466 | { |
6505acf7 SJ |
467 | var subSector = $('#job_' + id).find("[name*='[ss_secteur]']").val(); |
468 | if (subSector == '') { | |
469 | subSector = '-1'; | |
c7139c07 | 470 | } |
6505acf7 | 471 | Ajax.update_html('job_' + id + '_sss_secteur', 'profile/ajax/ssecteur/' + id + '/' + subSector + '/' + sel); |
c7139c07 SJ |
472 | } |
473 | ||
b814a8b8 | 474 | function displayAllSector(id) |
c7139c07 | 475 | { |
b814a8b8 SJ |
476 | $('.sector_text_' + id).remove(); |
477 | $('.sector_' + id).show(); | |
46ae38a9 FB |
478 | } |
479 | ||
480 | function makeAddJob(id) | |
481 | { | |
482 | return function(data) | |
483 | { | |
484 | $('#add_job').before(data); | |
16594a1a | 485 | registerEnterpriseAutocomplete(id); |
6505acf7 | 486 | updateSector('job_' + id, 'jobs[' + id + ']', ''); |
46ae38a9 FB |
487 | }; |
488 | } | |
489 | ||
490 | function addJob() | |
491 | { | |
492 | var i = 0; | |
6505acf7 | 493 | while ($('#job_' + i).length != 0) { |
46ae38a9 FB |
494 | ++i; |
495 | } | |
496 | $.get(platal_baseurl + 'profile/ajax/job/' + i, makeAddJob(i)); | |
497 | } | |
498 | ||
b814a8b8 SJ |
499 | function addEntreprise(id) |
500 | { | |
501 | $('.entreprise_' + id).toggle(); | |
502 | } | |
46ae38a9 | 503 | |
8c7ac79e | 504 | // {{{1 Skills |
46ae38a9 | 505 | |
46ae38a9 FB |
506 | function addSkill(cat) |
507 | { | |
6505acf7 SJ |
508 | var val = $('#' + cat + '_table').find('[name=' + cat + '_sel]').val(); |
509 | var text = $('#' + cat + '_table').find('[name=' + cat + '_sel] :selected').text(); | |
46ae38a9 FB |
510 | $.get(platal_baseurl + 'profile/ajax/skill/' + cat + '/' + val, |
511 | function(data) { | |
6505acf7 SJ |
512 | $('#' + cat).append(data); |
513 | $('#' + cat + '_' + val + '_title').text(text); | |
514 | updateElement(cat); | |
46ae38a9 FB |
515 | }); |
516 | } | |
517 | ||
6505acf7 | 518 | // {{{1 Mentor |
46ae38a9 FB |
519 | |
520 | function addCountry() | |
521 | { | |
6505acf7 SJ |
522 | var val = $('#countries_table').find('[name=countries_sel] :selected').val(); |
523 | var text = $('#countries_table').find('[name=countries_sel] :selected').text(); | |
46ae38a9 | 524 | var html = '<div id="countries_' + val + '" style="clear: both; margin-bottom: 0.7em">' |
6505acf7 | 525 | + ' <a href="javascript:removeElement(\'countries\', \'' + val + '\')" style="display: block; float:right">' |
46ae38a9 FB |
526 | + ' <img src="images/icons/cross.gif" alt="" title="Supprimer ce pays" />' |
527 | + ' </a>' | |
1d414e12 PC |
528 | + ' <div style="float: left; width: 50%">' + text + '</div>' |
529 | + ' <input type="hidden" name="countries[' + val + ']" value="' + text + '" />' | |
46ae38a9 FB |
530 | + '</div>'; |
531 | $('#countries').append(html); | |
6505acf7 | 532 | updateElement('countries'); |
46ae38a9 FB |
533 | } |
534 | ||
6505acf7 | 535 | function updateSubSector() |
46ae38a9 | 536 | { |
6505acf7 SJ |
537 | var s = $('#secteur_sel').find('[name=secteur_sel]').val(); |
538 | var ss = $('#ss_secteur_sel').find("[name='jobs[-1][ss_secteur]']").val(); | |
539 | if ((s == '' || ss == '') || $('#secteurs_' + s + '_' + ss).length != 0) { | |
540 | $('#secteurs_add').hide(); | |
541 | } else { | |
542 | $('#secteurs_add').show(); | |
543 | } | |
46ae38a9 | 544 | } |
6505acf7 SJ |
545 | |
546 | function removeSector(s, ss) | |
46ae38a9 | 547 | { |
6505acf7 SJ |
548 | $('#secteurs_' + s + '_' + ss).remove(); |
549 | updateSubSector(); | |
46ae38a9 FB |
550 | } |
551 | ||
6505acf7 | 552 | function updateSector() |
46ae38a9 | 553 | { |
6505acf7 | 554 | var secteur = $('#secteur_sel').find('[name=secteur_sel]').val(); |
46ae38a9 FB |
555 | if (secteur == '') { |
556 | secteur = '-1'; | |
6505acf7 | 557 | $('#ss_secteur_sel').html(''); |
76a2858c | 558 | return; |
46ae38a9 | 559 | } |
5fecdf6d | 560 | $.get(platal_baseurl + 'profile/ajax/secteur/-1/0/0/' + secteur, |
46ae38a9 | 561 | function(data) { |
6505acf7 SJ |
562 | data = '<a href="javascript:addSector()" style="display: none; float: right" id="secteurs_add">' |
563 | + ' <img src="images/icons/add.gif" alt="" title="Ajouter ce secteur" />' | |
564 | + '</a>' + data; | |
565 | $('#ss_secteur_sel').html(data); | |
566 | $('#ss_secteur_sel').find("[name='jobs[-1][ss_secteur]']").change(updateSubSector); | |
46ae38a9 FB |
567 | }); |
568 | } | |
569 | ||
6505acf7 | 570 | function addSector() |
46ae38a9 | 571 | { |
6505acf7 SJ |
572 | var s = $('#secteur_sel').find('[name=secteur_sel]').val(); |
573 | var ss = $('#ss_secteur_sel').find("[name='jobs[-1][ss_secteur]']").val(); | |
574 | var sst = $('#ss_secteur_sel').find("[name='jobs[-1][ss_secteur]'] :selected").text(); | |
46ae38a9 FB |
575 | |
576 | var html = '<div id="secteurs_' + s + '_' + ss + '" style="clear: both; margin-top: 0.5em" class="titre">' | |
6505acf7 SJ |
577 | + ' <a href="javascript:removeSector(\'' + s + '\', \'' + ss + '\')" style="display: block; float: right">' |
578 | + ' <img src="images/icons/cross.gif" alt="" title="Supprimer ce secteur" />' | |
579 | + ' </a>' | |
580 | + ' <input type="hidden" name="secteurs[' + s + '][' + ss + ']" value="' + sst + '" />' | |
581 | + ' ' + sst | |
582 | + '</div>'; | |
46ae38a9 | 583 | $('#secteurs').append(html); |
6505acf7 | 584 | updateSubSector(); |
46ae38a9 FB |
585 | } |
586 | ||
16594a1a FB |
587 | function registerEnterpriseAutocomplete(id) |
588 | { | |
16594a1a FB |
589 | $(".enterprise_name").each( |
590 | function() { | |
16594a1a FB |
591 | if (id == -1 || this.name == "jobs[" + id + "][name]") { |
592 | $(this).autocomplete(platal_baseurl + "search/autocomplete/entreprise", | |
593 | { | |
6505acf7 SJ |
594 | selectOnly:1, |
595 | field:this.name, | |
596 | matchSubset:0, | |
597 | width:$(this).width() | |
16594a1a FB |
598 | }); |
599 | } | |
6505acf7 | 600 | }); |
c7139c07 SJ |
601 | |
602 | $(".sector_name").each( | |
603 | function() { | |
604 | if (id == -1 || this.name == "jobs[" + id + "][sss_secteur_name]") { | |
605 | $(this).autocomplete(platal_baseurl + "search/autocomplete/sss_secteur", | |
606 | { | |
6505acf7 SJ |
607 | selectOnly:1, |
608 | field:this.name, | |
609 | matchSubset:0, | |
610 | width:$(this).width() | |
c7139c07 SJ |
611 | }); |
612 | } | |
6505acf7 SJ |
613 | }); |
614 | } | |
615 | ||
616 | // {{{1 Multiusage functions | |
617 | ||
618 | function updateElement(cat) | |
619 | { | |
620 | var val = $('#' + cat + '_table').find('[name=' + cat + '_sel]').val(); | |
621 | if (val == '' || $('#' + cat + '_' + val).length != 0) { | |
622 | $('#' + cat + '_add').hide(); | |
623 | } else { | |
624 | $('#' + cat + '_add').show(); | |
625 | } | |
626 | } | |
627 | ||
628 | function removeElement(cat, id) | |
629 | { | |
630 | $('#' + cat + '_' + id).remove(); | |
631 | updateElement(cat); | |
16594a1a FB |
632 | } |
633 | ||
46ae38a9 | 634 | // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: |