X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=htdocs%2Fjavascript%2Fprofile.js;h=a85063bfabe658ae374c8f9088dba9e47fce719e;hb=8a43972f58f0a77015ae9e509f1c073d188874d2;hp=42921df789cbd32ab75aaa027b81612aeeebb572;hpb=f4035298fd421e87b9a58f6a801b53da348613de;p=platal.git diff --git a/htdocs/javascript/profile.js b/htdocs/javascript/profile.js index 42921df..a85063b 100644 --- a/htdocs/javascript/profile.js +++ b/htdocs/javascript/profile.js @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2003-2008 Polytechnique.org * + * Copyright (C) 2003-2009 Polytechnique.org * * http://opensource.polytechnique.org/ * * * * This program is free software; you can redistribute it and/or modify * @@ -18,43 +18,38 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * ***************************************************************************/ -// Page initialization +// Page initialization {{{1 function wizPage_onLoad(id) { switch (id) { case 'general': - var i = 0; - var prefix = 'edu_'; - while ($('.' + prefix + i).length != 0) { - i++; - } - i--; - for (var j = 0; j < i; j++) { - prepareType(j); + var i = 1; + while ($('.edu_' + i).length != 0) { + prepareType(i - 1); + ++i; } break; + case 'adresses': + checkCurrentAddress(); + break; case 'poly': - updateGroupSubLink(document.forms.prof_annu.groupesx_sub); + updateGroupSubLink(); break; case 'deco': for (var i in names) { - if (typeof names[i] != 'function') { - if (document.getElementById("medal_" + i) != null) { - getMedalName(i); - buildGrade(i, document.forms.prof_annu["medal_" + i + "_grade"].value); - } + if ($('#medal_' + i).length != 0) { + getMedalName(i); + buildGrade(i, $('#medal_' + i).find('[name*=medal_' + i + '_grade]').val()); } } break; case 'emploi': - for (var i = 0 ; document.getElementById('job_' + i) != null ; ++i) { - updateJobSecteur(i, 'job_' + i, 'jobs[' + i + ']', - document.forms.prof_annu["jobs[" + i + "][ss_secteur]"].value); - updateJobSousSecteur(i, 'job_' + i, 'jobs[' + i + ']', - document.forms.prof_annu["jobs[" + i + "][sss_secteur]"].value); + for (var i = 0 ; $('#job_' + i).length != 0; ++i) { + updateJobSector(i, $('#job_' + i).find("[name='jobs[" + i + "][subSector]']").val()); + updateJobSubSector(i, $('#job_' + i).find("[name='jobs[" + i + "][subSubSector]']").val()); + updateJobAlternates(i); } - setTimeout('registerEnterpriseAutocomplete(-1)', 100); break; } } @@ -62,72 +57,80 @@ function wizPage_onLoad(id) var educationDegree; var educationDegreeAll; var educationDegreeName; - -// General - var subgrades; var names; -function fillType(selectCtrl, edu, fill) -{ - var i; - var i0 = 0; - for (i = selectCtrl.options.length; i >= 0; i--) { - selectCtrl.options[i] = null; - } +// Names {{{1 - if (fill || edu < 0) { - selectCtrl.options[0] = new Option(' '); - i0 = 1; - } - if (edu >= 0) { - for (i = 0; i < educationDegree[edu].length; i++) { - selectCtrl.options[i0 + i] = new Option(educationDegreeName[educationDegree[edu][i] - 1], educationDegree[edu][i]); - } - } else if (fill) { - for (i = 0; i < educationDegreeAll.length; i++) { - selectCtrl.options[i0 + i] = new Option(educationDegreeName[educationDegreeAll[i] - 1], educationDegreeAll[i]); - } - } +function toggleNamesAdvanced() +{ + $('.names_advanced').toggle(); } - -function selectType(selectCtrl, type) +function addSearchName() { - for (i = 0; i < selectCtrl.options.length; i++) { - if (selectCtrl.options[i].value == type) { - selectCtrl.selectedIndex = i; - } + var i = 0; + while ($('#search_name_' + i).length != 0) { + i++; } + Ajax.update_html('search_name_' + i, 'profile/ajax/searchname/' + i, function(data){ + $('#searchname').before(data); + changeNameFlag(i); + }); } -function prepareType(i) +function removeSearchName(i) { - fillType(document.forms.prof_annu["edus[" + i + "][degreeid]"], document.forms.prof_annu["edus[" + i + "][eduid]"].selectedIndex - 1); - selectType(document.forms.prof_annu["edus[" + i + "][degreeid]"], document.forms.prof_annu["edu_" + i + "_tmp"].value); + $('#search_name_' + i).remove(); + updateNameDisplay(); } -function addSearchName() +function changeNameFlag(i) { - var i = 0; - while (document.getElementById('search_name_' + i) != null) { - i++; - } - $('#add_search_name').before('
'); - Ajax.update_html('search_name_' + i, 'profile/ajax/searchname/' + i,function(){ - $('#search_name_'+i+' input')[1].focus(); - }); + $('#flag_' + i).remove(); + var typeid = $('#search_name_' + i).find('select').val(); + var type = $('#search_name_' + i).find('select :selected').text(); + if ($('[name=sn_type_' + typeid + '_' + i + ']').val() > 0) { + $('#flag_cb_' + i).after(' ' + + 'site public' + + '' + + '' + + ''); + } else { + $('#flag_cb_' + i).after(' ' + + 'site privé' + + '' + + ''); + } } -function removeSearchName(i) +function updateNameDisplay() +{ + var searchnames = ''; + for (var i = 0; i < 10; i++) { + if ($('#search_name_' + i).find(':text').val()) { + searchnames += $('#search_name_' + i).find('[name*=typeid]').val() + ';'; + searchnames += $('#search_name_' + i).find(':text').val() + ';;'; + } + } + Ajax.update_html(null, 'profile/ajax/buildnames/' + searchnames, function(data){ + var name = data.split(';'); + $('#public_name').html(name[0]); + $('#private_name').html(name[0] + name[1]); + }); +} + +function toggleParticle(id) { - if (document.getElementById('search_name_'+i+'_new') != null) { - $('#search_name_'+i).remove(); - } else { - removeObject('search_name_'+i, 'search_name['+i+']'); - } + if ($('#search_name_' + id).find("[name*='[particle]']").val() == '') { + $('#search_name_' + id).find("[name*='[particle]']").val(1); + } else { + $('#search_name_' + id).find("[name*='[particle]']").val(''); + } } +// Nationalities {{{1 + function delNationality(i) { $('#nationalite' + i).hide().find('select').val(''); @@ -146,11 +149,70 @@ function addNationality() } } +// Education {{{1 + +function prepareType(id) +{ + var edu = $('.edu_' + id).find("[name='edus[" + id + "][eduid]']").val() - 1; + var sel = $('.edu_' + id).find('[name=edu_' + id + '_tmp]').val(); + var html = ''; + var length = educationDegree[edu].length; + for (i = 0; i < length; ++i) { + html += ''; } html += '' - + ' ' + + ' ' + ' ' + '
' + ' ' @@ -190,134 +252,85 @@ function removeNetworking(id) function updateNetworking(i) { - var name = document.getElementById('networking_name_' + i); - var type = document.getElementById('networking_type_' + i); - if (type != null && name != null) { - name.value = type.options[type.selectedIndex].text; - } - -} - -// Addresses - -function removeObject(id, pref) -{ - document.getElementById(id).style.display = "none"; - document.forms.prof_annu[pref + "[removed]"].value = "1"; + $('#networking_' + i).find("[name='networking[" + i + "][name]']").val($('#networking_' + i).find('select option:selected').text()); } -function restoreObject(id, pref) -{ - document.getElementById(id).style.display = ''; - document.forms.prof_annu[pref + "[removed]"].value = "0"; -} +// Addresses {{{1 -function getAddressElement(adrid, adelement) +function toggleAddress(id, val) { - return document.forms.prof_annu["addresses[" + adrid + "][" + adelement + "]"]; + $('#addresses_' + id + '_grayed').toggle(); + $('#addresses_' + id).toggle(); + $('#addresses_' + id + '_cont').find('[name*=removed]').val(val); + checkCurrentAddress(); } -function checkCurrentAddress(newCurrent) +function checkCurrentAddress(id) { - var hasCurrent = false; + var hasCurrentAddress = id ? true : false; var i = 0; - while (getAddressElement(i, 'pub') != null) { - var radio = getAddressElement(i, 'current'); - var removed = getAddressElement(i, 'removed'); - if (removed.value == "1" && radio.checked) { - radio.checked = false; - } else if (radio.checked && radio != newCurrent) { - radio.checked = false; - } else if (radio.checked) { - hasCurrent = true; + while ($('#addresses_' + i + '_cont').length != 0) { + if ($('#addresses_' + i + '_cont').find('[name*=removed]').val() == 1) { + $('#addresses_' + i + '_cont').find('[name*=current]').attr('checked', false); + } + if (!hasCurrentAddress && $('#addresses_' + i + '_cont').find('[name*=current]:checked').length != 0) { + hasCurrentAddress = true; + } else { + $('#addresses_' + i + '_cont').find('[name*=current]').attr('checked', false); } i++; } - if (!hasCurrent) { + if (!hasCurrentAddress) { i = 0; - while (getAddressElement(i, 'pub') != null) { - var radio = getAddressElement(i, 'current'); - var removed = getAddressElement(i, 'removed'); - if (removed.value != "1") { - radio.checked= true; - return; - } - i++; + while ($('#addresses_' + i + '_cont').length != 0) { + if ($('#addresses_' + i + '_cont').find('[name*=removed]').val() == 0) { + $('#addresses_' + i + '_cont').find('[name*=current]').attr('checked', 'checked'); + break; + } + i++; } } -} - -function removeAddress(id, pref) -{ - removeObject(id, pref); - checkCurrentAddress(null); - if (document.forms.prof_annu[pref + '[datemaj]'].value != '') { - document.getElementById(id + '_grayed').style.display = ''; + if (id) { + $('#addresses_' + id + '_cont').find('[name*=current]').attr('checked', 'checked'); } } -function restoreAddress(id, pref) -{ - document.getElementById(id + '_grayed').style.display = 'none'; - checkCurrentAddress(null); - restoreObject(id, pref); -} - function addAddress() { var i = 0; - while (getAddressElement(i, 'pub') != null) { + while ($('#addresses_' + i + '_cont').length != 0) { i++; } - $("#add_adr").before('
'); - Ajax.update_html('addresses_' + i + '_cont', 'profile/ajax/address/' + i, checkCurrentAddress); + $('#add_address').before('
'); + Ajax.update_html('addresses_' + i + '_cont', 'profile/ajax/address/' + i, checkCurrentAddress()); } -function addEdu() +function addressChanged(prefid) { - var i = 0; - var j = 0; - var prefix = 'edu_'; - var class_parity; - - while (!$('#edu_add').hasClass(prefix + i)) { - if ($('.' + prefix + i).length != 0) { - j++; - } - i++; - } - if (j % 2) { - class_parity = 'pair'; - } else { - class_parity = 'impair'; - } - $('#edu_add').removeClass(prefix + i); - i++; - $('#edu_add').addClass(prefix + i); - i--; - $.get(platal_baseurl + 'profile/ajax/edu/' + i + '/' + class_parity, - function(data) { - $('#edu_add').before(data); - prepareType(i); - }); + $('#' + prefid + '_cont').find('[name*=changed]').val("1"); } -function removeEdu(i) +function validGeoloc(prefid, id, geoloc) { - var prefix = 'edu_'; - $('.' + prefix + i).remove(); - while (!$('#edu_add').hasClass(prefix + i)) { - $('.' + prefix + i).toggleClass('pair'); - $('.' + prefix + i).toggleClass('impair'); - i++; + if (geoloc == 1) { + $('#' + prefid + '_cont').find('[name*=text]').val($('#' + prefid + '_cont').find('[name*=geoloc]').val()); + $('#' + prefid + '_cont').find('[name*=postalText]').val($('#' + prefid + '_cont').find('[name*=geocodedPostalText]').val()); } + if (geoloc > 0) { + $('#' + prefid + '_cont').find("[name*='[geoloc]']").remove(); + } + $('#' + prefid + '_cont').find('[name*=text]').removeClass('error'); + $('#' + prefid + '_cont').find('[name*=geoloc_choice]').val(geoloc); + $('.' + prefid + '_geoloc').remove(); } +// {{{1 Phones + function addTel(prefid, prefname) { var i = 0; var prefix = prefid + '_'; - while (document.getElementById(prefix + i) != null) { + while ($('#' + prefix + i).length != 0) { i++; } $('#' + prefix + 'add').before('
'); @@ -329,106 +342,63 @@ function removeTel(id) $('#' + id).remove(); } -function addPhoneComment(id, pref) +function addPhoneComment(id) { - document.getElementById(id+'_comment').style.display = ''; - document.getElementById(id+'_addComment').style.display = 'none'; + $('#' + id + '_comment').show(); + $('#' + id + '_addComment').hide(); } function removePhoneComment(id, pref) { - document.getElementById(id+'_comment').style.display = 'none'; - document.forms.prof_annu[pref+ '[comment]'].value = ''; - document.getElementById(id+'_addComment').style.display = ''; + $('#' + id + '_comment').hide(); + $('#' + id + '_comment').find("[name='" + pref + "[comment]']").val(''); + $('#' + id + '_addComment').show(); } -// Geoloc - -function validGeoloc(id, pref) -{ - document.getElementById(id + '_geoloc').style.display = 'none'; - document.getElementById(id + '_geoloc_error').style.display = 'none'; - document.getElementById(id + '_geoloc_valid').style.display = 'none'; - document.forms.prof_annu[pref + "[parsevalid]"].value = "1"; - document.forms.prof_annu[pref + "[text]"].value = document.forms.prof_annu[pref + "[geoloc]"].value; - document.forms.prof_annu[pref + "[cityid]"].value = document.forms.prof_annu[pref + "[geoloc_cityid]"].value; - $(document.forms.prof_annu[pref + "[text]"]).click(function() { document.forms.prof_annu[pref + "[text]"].blur(); }); - document.forms.prof_annu[pref + "[text]"].className = ''; -} +// {{{1 Groups -function validAddress(id, pref) +function addBinet() { - document.getElementById(id + '_geoloc').style.display = 'none'; - document.getElementById(id + '_geoloc_error').style.display = 'none'; - document.getElementById(id + '_geoloc_valid').style.display = 'none'; - document.forms.prof_annu[pref + "[parsevalid]"].value = "1"; - $(document.forms.prof_annu[pref + "[text]"]).click(function() { document.forms.prof_annu[pref + "[text]"].blur(); }); - document.forms.prof_annu[pref + "[text]"].className = ''; + var id = $('#binets_table').find('[name=binets_sel]').val(); + var text = $('#binets_table').find('select option:selected').text(); + var html = '' + + ' ' + + ' ' + + ' ' + + ' ' + + '
' + + text + + '
' + + ' ' + + ' cross' + + ' ' + + ' ' + + ''; + $('#binets_table').after(html); + updateElement('binets'); } - -// Groups - -function updateGroup(type) +function updateGroupSubLink() { - var val = document.forms.prof_annu[type + '_sel'].value; - if (val == '0' || document.getElementById(type + '_' + val) != null) { - document.getElementById(type + '_add').style.display = 'none'; - } else { - document.getElementById(type + '_add').style.display = ''; - } + var href = $('[name*=groupesx_sub]').val() ? $('[name*=groupesx_sub]').val() : 'http://www.polytechnique.net'; + $('#groupesx_sub').attr('href', href); } -function removeGroup(cat, id) -{ - $('#' + cat + '_' + id).remove(); - updateGroup(cat); -} - -function addGroup(cat) -{ - var cb = document.forms.prof_annu[cat + '_sel']; - var id = cb.value; - var text = cb.options[cb.selectedIndex].text; - var html = '' - + ' ' - + ' ' - + ' ' - + ' ' - + '
' - + text - + '
' - + ' ' - + ' cross' - + ' ' - + ' ' - + ''; - $('#' + cat).after(html); - updateGroup(cat); -} - -function updateGroupSubLink(cb) -{ - var href = cb.value ? cb.value : "http://www.polytechnique.net"; - document.getElementById("groupesx_sub").href = href; -} - - -// Medals +// {{{1 Medals function updateMedal() { - var val = document.forms.prof_annu['medal_sel'].value; - if (val == '' || document.getElementById('medal_' + val) != null) { - document.getElementById('medal_add').style.display = 'none'; + var val = $('#medals').find('[name*=medal_sel]').val(); + if (val && ($('#medal_' + val).length == 0)) { + $('#medal_add').show(); } else { - document.getElementById('medal_add').style.display = ''; + $('#medal_add').hide(); } } function getMedalName(id) { - document.getElementById('medal_name_' + id).innerHTML = names[id]; + $('#medal_name_' + id).html(names[id]); } function buildGrade(id, current) @@ -467,7 +437,7 @@ function makeAddProcess(id) function addMedal() { - var id = document.forms.prof_annu['medal_sel'].value; + var id = $('#medals').find('[name=medal_sel]').val(); $.get(platal_baseurl + 'profile/ajax/medal/' + id, makeAddProcess(id)); } @@ -477,43 +447,49 @@ function removeMedal(id) updateMedal(); } - -// Jobs +// Jobs {{{1 function removeJob(id, pref) { - document.getElementById(id + '_cont').style.display = 'none'; - if (document.forms.prof_annu[pref + '[new]'].value == '0') { - document.getElementById(id + '_grayed').style.display = ''; - document.getElementById(id + '_grayed_name').innerHTML = - document.forms.prof_annu[pref + "[name]"].value.replace('<', '<'); + $('#' + id + '_cont').hide(); + if ($('#' + id).find("[name='" + pref + "[new]']").val() == '0') { + $('#' + id + '_grayed').show(); + $('#' + id + '_grayed_name').html($('#' + id).find("[name='" + pref + "[name]']").val()); } - document.forms.prof_annu[pref + "[removed]"].value = "1"; + $('#' + id).find("[name='" + pref + "[removed]']").val('1'); } function restoreJob(id, pref) { - document.getElementById(id + '_cont').style.display = ''; - document.getElementById(id + '_grayed').style.display = 'none'; - document.forms.prof_annu[pref + "[removed]"].value = "0"; + $('#' + id + '_cont').show(); + $('#' + id + '_grayed').hide(); + $('#' + id).find("[name='" + pref + "[removed]']").val('0'); +} + +function updateJobSector(id, sel) +{ + var sector = $('#job_' + id).find("[name='jobs[" + id + "][sector]']").val(); + if (sector == '') { + sector = '-1'; + } + Ajax.update_html('job_' + id + '_subSector', 'profile/ajax/sector/' + id + '/job_' + id + '/jobs[' + id + ']/' + sector + '/' + sel); } -function updateJobSecteur(nb, id, pref, sel) +function updateJobSubSector(id, sel) { - var secteur = document.forms.prof_annu[pref + '[secteur]'].value; - if (secteur == '') { - secteur = '-1'; + var subSector = $('#job_' + id).find("[name='jobs[" + id + "][subSector]']").val(); + if (subSector == '') { + subSector = '-1'; } - Ajax.update_html(id + '_ss_secteur', 'profile/ajax/secteur/' + nb + '/' + id + '/' + pref + '/' + secteur + '/' + sel); + Ajax.update_html('job_' + id + '_subSubSector', 'profile/ajax/sub_sector/' + id + '/' + subSector + '/' + sel); } -function updateJobSousSecteur(nb, id, pref, sel) +function updateJobAlternates(id) { - var ssecteur = document.forms.prof_annu[pref + '[ss_secteur]'].value; - if (ssecteur == '') { - ssecteur = '-1'; + var subSubSector = $('#job_' + id).find("[name='jobs[" + id + "][subSubSector]']").val(); + if (subSubSector != '') { + Ajax.update_html('job_' + id + '_alternates', 'profile/ajax/alternates/' + id + '/' + subSubSector); } - Ajax.update_html(id + '_sss_secteur', 'profile/ajax/ssecteur/' + nb + '/' + ssecteur + '/' + sel); } function displayAllSector(id) @@ -528,14 +504,13 @@ function makeAddJob(id) { $('#add_job').before(data); registerEnterpriseAutocomplete(id); - updateSecteur('job_' + id, 'jobs[' + id + ']', ''); }; } function addJob() { var i = 0; - while (document.getElementById('job_' + i) != null) { + while ($('#job_' + i).length != 0) { ++i; } $.get(platal_baseurl + 'profile/ajax/job/' + i, makeAddJob(i)); @@ -546,165 +521,134 @@ function addEntreprise(id) $('.entreprise_' + id).toggle(); } -// Skills - -function updateSkill(cat) -{ - var val = document.forms.prof_annu[cat + '_sel'].value; - var show = true; - if (val == '') { - show = false; - } - if (document.getElementById(cat + '_' + val) != null) { - show = false; - } - document.getElementById(cat + '_add').style.display = show ? '' : 'none'; -} +// {{{1 Skills function addSkill(cat) { - var sel = document.forms.prof_annu[cat + '_sel']; - var val = sel.value; - var text = sel.options[sel.selectedIndex].text; + var val = $('#' + cat + '_table').find('[name=' + cat + '_sel]').val(); + var text = $('#' + cat + '_table').find('[name=' + cat + '_sel] :selected').text(); $.get(platal_baseurl + 'profile/ajax/skill/' + cat + '/' + val, function(data) { - $('#' + cat).append(data); - document.getElementById(cat + '_' + val + '_title').innerHTML = text; - updateSkill(cat); + $('#' + cat).append(data); + $('#' + cat + '_' + val + '_title').text(text); + updateElement(cat); }); } -function removeSkill(cat, id) -{ - $('#' + cat + '_' + id).remove(); - updateSkill(cat); -} - - -// Mentor - -function updateCountry() -{ - var val = document.forms.prof_annu.countries_sel.value; - var show = true; - if (val == '' || val == '00') { - show = false; - } - if (document.getElementById('countries_' + val) != null) { - show = false; - } - document.getElementById('countries_add').style.display = show ? '' : 'none'; -} +// {{{1 Mentor function addCountry() { - var cb = document.forms.prof_annu.countries_sel; - var val = cb.value; - var text = cb.options[cb.selectedIndex].text; + var val = $('#countries_table').find('[name=countries_sel] :selected').val(); + var text = $('#countries_table').find('[name=countries_sel] :selected').text(); var html = '
' - + ' ' + + ' ' + ' ' + ' ' + '
' + text + '
' + ' ' + '
'; $('#countries').append(html); - updateCountry(); + updateElement('countries'); } -function removeCountry(id) +function updateSubSector() { - $('#countries_' + id).remove(); - updateCountry(); + var s = $('#sectorSelection').find('[name=sectorSelection]').val(); + var ss = $('#subSectorSelection').find("[name='jobs[-1][subSector]']").val(); + if ((s == '' || ss == '') || $('#sectors_' + s + '_' + ss).length != 0) { + $('#addSector').hide(); + } else { + $('#addSector').show(); + } } -function updateSSecteur() + +function removeSector(s, ss) { - var s = document.forms.prof_annu.secteur_sel.value; - var ss = document.forms.prof_annu['jobs[-1][ss_secteur]'].value; - var show = true; - if (s == '' || ss == '') { - show = false; - } - if (document.getElementById('secteurs_' + s + '_' + ss) != null) { - show = false; - } - document.getElementById('secteurs_add').style.display = show ? 'block' : 'none'; + $('#sectors_' + s + '_' + ss).remove(); + updateSubSector(); } -function updateSecteur() +function updateSector() { - var secteur = document.forms.prof_annu.secteur_sel.value; - if (secteur == '') { - secteur = '-1'; - document.getElementById('ss_secteur_sel').innerHTML = ''; + var sector = $('#sectorSelection').find('[name=sectorSelection]').val(); + if (sector == '') { + sector = '-1'; + $('#subSectorSelection').html(''); return; } - $.get(platal_baseurl + 'profile/ajax/secteur/-1/0/0/' + secteur, + $.get(platal_baseurl + 'profile/ajax/sector/-1/0/0/' + sector, function(data) { - data = '' + data; - document.getElementById('ss_secteur_sel').innerHTML = data; - $(document.forms.prof_annu['jobs[-1][ss_secteur]']).change(updateSSecteur); + data = '' + data; + $('#subSectorSelection').html(data); + $('#subSectorSelection').find("[name='jobs[-1][subSector]']").change(updateSubSector); }); } -function addSecteur() +function addSector() { - var scb = document.forms.prof_annu.secteur_sel; - var s = scb.value; - var st = scb.options[scb.selectedIndex].text; - - var sscb = document.forms.prof_annu['jobs[-1][ss_secteur]']; - var ss = sscb.value; - var sst = sscb.options[sscb.selectedIndex].text; + var s = $('#sectorSelection').find('[name=sectorSelection]').val(); + var ss = $('#subSectorSelection').find("[name='jobs[-1][subSector]']").val(); + var sst = $('#subSectorSelection').find("[name='jobs[-1][subSector]'] :selected").text(); - var html = '
' - + ' ' - + ' ' - + ' ' - + ' ' - + ' ' + sst - + '
'; - $('#secteurs').append(html); - updateSSecteur(); -} - -function removeSecteur(s, ss) -{ - $('#secteurs_' + s + '_' + ss).remove(); - updateSSecteur(); + var html = '
' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + sst + + '
'; + $('#sectors').append(html); + updateSubSector(); } function registerEnterpriseAutocomplete(id) { - $(".enterprise_name").each( + $(".enterpriseName").each( function() { if (id == -1 || this.name == "jobs[" + id + "][name]") { $(this).autocomplete(platal_baseurl + "search/autocomplete/entreprise", { - selectOnly:1, - field:this.name, - matchSubset:0, - width:$(this).width() + selectOnly:1, + field:this.name, + matchSubset:0, + width:$(this).width() }); } - } - ); + }); - $(".sector_name").each( + $(".sectorName").each( function() { - if (id == -1 || this.name == "jobs[" + id + "][sss_secteur_name]") { - $(this).autocomplete(platal_baseurl + "search/autocomplete/sss_secteur", + if (id == -1 || this.name == "jobs[" + id + "][subSubSectorName]") { + $(this).autocomplete(platal_baseurl + "search/autocomplete/subSubSector", { - selectOnly:1, - field:this.name, - matchSubset:0, - width:$(this).width() + selectOnly:1, + field:this.name, + matchSubset:0, + width:$(this).width() }); } - } - ); + }); +} + +// {{{1 Multiusage functions + +function updateElement(cat) +{ + var val = $('#' + cat + '_table').find('[name=' + cat + '_sel]').val(); + if (val == '' || $('#' + cat + '_' + val).length != 0) { + $('#' + cat + '_add').hide(); + } else { + $('#' + cat + '_add').show(); + } +} + +function removeElement(cat, id) +{ + $('#' + cat + '_' + id).remove(); + updateElement(cat); } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: