/kharm/public/js/forms.js

http://kharm-xml.googlecode.com/ · JavaScript · 89 lines · 84 code · 5 blank · 0 comment · 22 complexity · 84146b336d509f9a4e6607b20e093564 MD5 · raw file

  1. function lookup(inputString, form) {
  2. if(inputString.length <= 2) {
  3. $("#" + form + " .suggestions").hide();
  4. } else {
  5. var params = setParameters(form);
  6. $.post("forms.php",
  7. params,
  8. function(data){
  9. if(data != null && data != "") {
  10. $("#" + form + " .autoSuggestionsList ul").html("");
  11. $("#" + form + " .suggestions").show();
  12. switch (form) {
  13. case "countries": suggestCountries(data["pays"]);break;
  14. case "cities": suggestCities(data["ville"]);break;
  15. case "meetings": suggestMeetings(data["meeting"]);break;
  16. default: break;
  17. }
  18. }
  19. }, "json");
  20. }
  21. }
  22. function setParameters(form) {
  23. switch (form) {
  24. case 'countries': return {year: $("#filter_year").attr("value"),
  25. type: ""+form+""};
  26. case 'cities': return {year: $("#filter_year").attr("value"),
  27. country: $("#countries .inputString").val(),
  28. type: ""+form+""};
  29. case 'meetings': return {year: $("#filter_year").attr("value"),
  30. country: $("#countries .inputString").val(),
  31. city: $("#cities .inputString").val(),
  32. type: ""+form+""};
  33. default : break;
  34. }
  35. }
  36. function fill(thisValue, form) {
  37. $("#" + form + " .inputString").val(thisValue);
  38. setTimeout("$('#" + form + " .suggestions').hide();", 200);
  39. }
  40. function suggestCountries(data) {
  41. if (typeof(data) == typeof({})) {
  42. for (var z=0; (z<data.length && z<=20); z++) {
  43. $('#countries .autoSuggestionsList ul').append("<li onClick=\"fill('"
  44. +data[z]+"', 'countries');\">" + data[z] + "</li>");
  45. }
  46. } else {
  47. $('#countries .autoSuggestionsList ul').append("<li onClick=\"fill('"
  48. +data+"', 'countries');\">" + data + "</li>");
  49. }
  50. }
  51. function suggestCities(data) {
  52. if (typeof(data) == typeof({})) {
  53. for (var z=0; (z<data.length && z<=20); z++) {
  54. $('#cities .autoSuggestionsList ul').append("<li onClick=\"fill('"
  55. +data[z]+"', 'cities');\">" + data[z] + "</li>");
  56. }
  57. } else {
  58. $('#cities .autoSuggestionsList ul').append("<li onClick=\"fill('"
  59. +data+"', 'cities');\">" + data + "</li>");
  60. }
  61. }
  62. function suggestMeetings(data) {
  63. meetings_tmp = new Array();
  64. if (data.length > 0) {
  65. for (var z=0; (z<data.length && z<=20); z++) {
  66. meetings_tmp.push(data[z]);
  67. $('#meetings .autoSuggestionsList ul').append("<li onClick=\"selectMeeting('"
  68. +(meetings_tmp.length-1)+"');\">" + data[z]["name"] + "</li>");
  69. }
  70. } else {
  71. meetings_tmp.push(data);
  72. $('#meetings .autoSuggestionsList ul').append("<li onClick=\"selectMeeting('"
  73. +(meetings_tmp.length-1)+"');\">" + data["name"] + "</li>");
  74. }
  75. }
  76. function selectMeeting(meeting) {
  77. fill(meetings_tmp[meeting]["name"], 'meetings');
  78. meetings.push(meetings_tmp[meeting]);
  79. geocodeAndSave(meeting);
  80. draw_chart_themes(meetings_tmp[meeting]["themes"]["theme"], meetings_tmp[meeting]["name"]);
  81. }
  82. function selectCountryOrCity(thisValue, form) {
  83. fill(thisValue, form);
  84. }