X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=htdocs%2Fjavascript%2Fprofile.js;h=a85063bfabe658ae374c8f9088dba9e47fce719e;hb=8a43972f58f0a77015ae9e509f1c073d188874d2;hp=22d0976f0fe144af8d8cef99502682f32c3ee20f;hpb=16594a1ac8d7cbff8a51e422a6a6d9e575129d9c;p=platal.git diff --git a/htdocs/javascript/profile.js b/htdocs/javascript/profile.js index 22d0976..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,256 +18,387 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * ***************************************************************************/ -// Page initialization +// Page initialization {{{1 function wizPage_onLoad(id) { switch (id) { case 'general': - fillType(document.forms.prof_annu['appli1[type]'], document.forms.prof_annu['appli1[id]'].selectedIndex-1); - selectType(document.forms.prof_annu['appli1[type]'], document.forms.prof_annu['appli1_tmp'].value); - fillType(document.forms.prof_annu['appli2[type]'], document.forms.prof_annu['appli2[id]'].selectedIndex-1); - selectType(document.forms.prof_annu['appli2[type]'], document.forms.prof_annu['appli2_tmp'].value); + 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); + 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); } - registerEnterpriseAutocomplete(-1); break; } } -var applisType; -var applisTypeAll; - -// General - +var educationDegree; +var educationDegreeAll; +var educationDegreeName; var subgrades; var names; -function fillType(selectCtrl, appli, fill) + +// Names {{{1 + +function toggleNamesAdvanced() { - var i; - var i0=0; + $('.names_advanced').toggle(); +} - for (i = selectCtrl.options.length; i >=0; i--) { - selectCtrl.options[i] = null; +function addSearchName() +{ + 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 removeSearchName(i) +{ + $('#search_name_' + i).remove(); + updateNameDisplay(); +} - if (fill || appli <0) { - selectCtrl.options[0] = new Option(' '); - i0=1; +function changeNameFlag(i) +{ + $('#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é' + + '' + + ''); } - if (appli>=0) - for (i=0; i < applisType[appli].length; i++) - selectCtrl.options[i0+i] = new Option(applisType[appli][i]); - else if (fill) - for (i=0; i < applisTypeAll.length; i++) - selectCtrl.options[i0+i] = new Option(applisTypeAll[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 selectType(selectCtrl, type) +function toggleParticle(id) { - for (i = 0; i < selectCtrl.options.length; i++) { - if (selectCtrl.options[i].text == type) - selectCtrl.selectedIndex=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(''); +} -// Addresses +function addNationality() +{ + var i = 0; + if ($('#nationalite2').find('select').val() == "") { + i = 2; + } else if ($('#nationalite3').find('select').val() == "") { + i = 3; + } + if ((i == 2) || (i == 3)) { + $('#nationalite' + i).show(); + } +} -function removeObject(id, pref) +// Education {{{1 + +function prepareType(id) { - document.getElementById(id).style.display = "none"; - document.forms.prof_annu[pref + "[removed]"].value = "1"; + 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 += '