-<script type="text/javascript">// <!--
- var baseurl = platal_baseurl + "search/";
- {literal}
- String.prototype.htmlEntities = function () {
- return this.replace(/&/g,'&').replace(new RegExp('<','g'),'<').replace(/>/g,'>');
- };
- // display an autocomplete row : blabla (nb of found matches)
- function make_format_autocomplete(block) {
- return function(row) {
- regexp = new RegExp('(' + RegExp.escape(block.value) + ')', 'i');
-
- name = row[0].htmlEntities().replace(regexp, '<strong>$1<\/strong>');
-
- if (row[1] === "-1") {
- return '…';
- }
-
- if (row[1] === "-2") {
- return '<em>aucun camarade trouvé pour '+row[0].htmlEntities()+'<\/em>';
- }
-
- camarades = (row[1] > 1) ? "camarades" : "camarade";
-
- return name + '<em> - ' + row[1].htmlEntities() + ' ' + camarades + '<\/em>';
- };
- }
-
- // when changing country, open up administrativearea choice
- function changeCountry(a2) {
- $(".autocompleteTarget[name='country']").attr('value',a2);
-
- if (a2) {
- $(".autocomplete[name='countryTxt']").addClass('hidden_valid');
-
- $("[name='administrativearea']").parent().load(baseurl + 'list/administrativearea/', { country:a2 }, function() {
- if ($("select[name='administrativearea']").children("option").size() > 1) {
- $("select[name='administrativearea']").attr('value', '{/literal}{$smarty.request.administrativearea}{literal}');
-
- $("tr#administrativearea_list").show();
- } else {
- $("select[name='administrativearea']").attr('value', '');
-
- $("tr#administrativearea_list").hide();
- }
- });
- } else {
- $(".autocomplete[name='countryTxt']").removeClass('hidden_valid');
-
- $("select[name='administrativearea']").attr('value', '');
- $("select[name='subadministrativearea']").attr('value', '');
-
- $("tr#administrativearea_list").hide();
- $("tr#subadministrativearea_list").hide();
- }
- }
-
- // when changing administrativearea, open up subadministrativearea choice
- function changeAdministrativeArea(id) {
- if (id) {
- $("[name='subadministrativearea']").parent().load(baseurl + 'list/subadministrativearea/', { administrativearea:id }, function() {
- if ($("select[name='subadministrativearea']").children("option").size() > 1) {
- $("select[name='subadministrativearea']").attr('value', '{/literal}{$smarty.request.subadministrativearea}{literal}');
- $("tr#subadministrativearea_list").show();
- } else {
- $("select[name='subadministrativearea']").attr('value', '');
- $("tr#subadministrativearea_list").hide();
- }
- });
- } else {
- $("select[name='subadministrativearea']").attr('value', '');
- $("tr#subadministrativearea_list").hide();
- }
- }
-
- // when changing school, open diploma choice
- function changeSchool(schoolId) {
- $(".autocompleteTarget[name='school']").attr('value',schoolId);
-
- if (schoolId) {
- $(".autocomplete[name='schoolTxt']").addClass('hidden_valid');
- } else {
- $(".autocomplete[name='schoolTxt']").removeClass('hidden_valid');
- }
-
- $("[name='diploma']").parent().load(baseurl + 'list/diploma/', { school:schoolId }, function() {
- $("select[name='diploma']").attr('value', '{/literal}{$smarty.request.diploma}{literal}');
- });
- }
-
- // when choosing a job term in tree, hide tree and set job term field
- function searchForJobTerm(treeid, jtid, full_name) {
- $(".term_tree").remove();
- $("input[name='jobtermTxt']").val(full_name).addClass("hidden_valid").show();
- $("input[name='jobterm']").val(jtid);
- }
-
- function cancel_autocomplete(field, realfield) {
- $(".autocomplete[name='"+field+"']").removeClass('hidden_valid').val('').focus();
- if (typeof(realfield) != "undefined") {
- $(".autocompleteTarget[name='"+realfield+"']").val('');
- }
- return;
- }
-
- // when choosing autocomplete from list, must validate
- function select_autocomplete(name) {
- nameRealField = name.replace(/Txt$/, '');
-
- // nothing to do if field is not a text field for a list
- if (nameRealField == name)
- return null;
-
- // if changing country, might want to open administrativearea choice
- if (nameRealField == 'country')
- return function(i) {
- if (i.extra[0] < 0) {
- cancel_autocomplete('countryTxt', 'country');
- i.extra[1] = '';
- }
- changeCountry(i.extra[1]);
- }
-
- if (nameRealField == 'school')
- return function(i) {
- if (i.extra[0] < 0) {
- cancel_autocomplete('schoolTxt', 'school');
- i.extra[1] = '';
- }
- changeSchool(i.extra[1]);
- }
-
- // change field in list and display text field as valid
- return function(i) {
- nameRealField = this.field.replace(/Txt$/, '');
-
- if (i.extra[0] < 0) {
- cancel_autocomplete(this.field, nameRealField);
- return;
- }
-
- $(".autocompleteTarget[name='"+nameRealField+"']").attr('value',i.extra[1]);
-
- $(".autocomplete[name='"+this.field+"']").addClass('hidden_valid');
- }
- }
-
- $(function() {
- $(".autocompleteTarget").hide();
- $(".autocomplete").show().each(function() {
- targeted = $("../.autocompleteTarget",this)[0];
-
- if (targeted && targeted.value) {
- me = $(this);
-
- $.get(baseurl + 'list/'+ targeted.name +'/'+targeted.value, {},function(textValue) {
- me.attr('value', textValue);
- me.addClass('hidden_valid');
- });
- }
-
- $(this).autocomplete(baseurl + "autocomplete/"+this.name,{
- selectOnly:1,
- formatItem:make_format_autocomplete(this),
- field:this.name,
- onItemSelect:select_autocomplete(this.name),
- matchSubset:0,
- width:$(this).width()});
- });
-
- $(".autocomplete").change(function() { $(this).removeClass('hidden_valid'); });
-
- $(".autocomplete[name='countryTxt']").change(function() { changeCountry(''); });
-
- changeCountry({/literal}'{$smarty.request.country}'{literal});
- changeAdministrativeArea({/literal}'{$smarty.request.administrativearea}'{literal});
-
- $(".autocomplete[name='schoolTxt']").change(function() { changeSchool(''); });
-
- changeSchool({/literal}'{$smarty.request.school}'{literal});
-
- $(".autocompleteToSelect").each(function() {
- var fieldName = $(this).attr('href');
-
- $(this).attr('href', baseurl + 'list/'+fieldName).click(function() {
- var oldval = $("input.autocompleteTarget[name='"+fieldName+"']")[0].value;
-
- $(".autocompleteTarget[name='"+fieldName+"']").parent().load(baseurl + 'list/'+fieldName,{},
- function(selectBox) {
- $(".autocompleteTarget[name='"+fieldName+"']").remove();
- $(".autocomplete[name='"+fieldName+"Txt']").remove();
- $("select[name='"+fieldName+"']").attr('value', oldval);
- });
-
- return false;
- });
- }).parent().find('.autocomplete').change(function() {
- // If we change the value in the type="text" field, then the value in the 'integer id' field must not be used,
- // to ensure that, we unset it
- $(this).parent().find('.autocompleteTarget').val('');
- });
- });
-/** Regexps to wipe out from search queries */
-var default_form_values = [ /&woman=0(&|$)/, /&subscriber=0(&|$)/, /&alive=0(&|$)/, /&egal[12]=[^&]*&promo[12]=(&|$)/g, /&networking_type=0(&|$)/, /&[^&=]+=(&|$)/g ];
-/** Uses javascript to clean form from all empty fields */
-function cleanForm(f) {
- var query = $(f).formSerialize();
- var old_query;
- for (var i in default_form_values) {
- var reg = default_form_values[i];
- if (typeof(reg) != "undefined") {
- do {
- old_query = query;
- query = query.replace(reg, '$1');
- } while (old_query != query);
- }
- }
- query = query.replace(/^&*(.*)&*$/, '$1');
- if (query == "rechercher=Chercher") {
- alert("Aucun critère n'a été spécifié");
- return false;
- }
- document.location = baseurl + 'adv?' + query;
- return false;
-}
--->
-{/literal}</script>