script.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. /**
  2. * Shows a tab to complete a form for the specified language.
  3. *
  4. * @param lang Language ('es', 'en' or 'eu').
  5. */
  6. function showTab(lang){
  7. switch (lang){
  8. case 'es':
  9. document.getElementById('tab_content_es').style.display = 'inline-block';
  10. document.getElementById('tab_content_eu').style.display = 'none';
  11. document.getElementById('tab_content_en').style.display = 'none';
  12. document.getElementById('tab_selector_es').style.color = '#000000';
  13. document.getElementById('tab_selector_eu').style.color = '#8899bb';
  14. document.getElementById('tab_selector_en').style.color = '#8899bb';
  15. document.getElementById('tab_selector_es').style.zIndex = '3';
  16. document.getElementById('tab_selector_eu').style.zIndex = '1';
  17. document.getElementById('tab_selector_en').style.zIndex = '1';
  18. document.getElementById('tab_selector_es').style.borderBottom = '0em solid #000000';
  19. document.getElementById('tab_selector_eu').style.borderBottom = '0.1em solid #000000';
  20. document.getElementById('tab_selector_en').style.borderBottom = '0.1em solid #000000';
  21. break;
  22. case 'eu':
  23. document.getElementById('tab_content_es').style.display = 'none';
  24. document.getElementById('tab_content_eu').style.display = 'inline-block';
  25. document.getElementById('tab_content_en').style.display = 'none';
  26. document.getElementById('tab_selector_es').style.color = '#8899bb';
  27. document.getElementById('tab_selector_eu').style.color = '#000000';
  28. document.getElementById('tab_selector_en').style.color = '#8899bb';
  29. document.getElementById('tab_selector_es').style.zIndex = '1';
  30. document.getElementById('tab_selector_eu').style.zIndex = '3';
  31. document.getElementById('tab_selector_en').style.zIndex = '1';
  32. document.getElementById('tab_selector_es').style.borderBottom = '0.1em solid #000000';
  33. document.getElementById('tab_selector_eu').style.borderBottom = '0em solid #000000';
  34. document.getElementById('tab_selector_en').style.borderBottom = '0.1em solid #000000';
  35. break;
  36. case 'en':
  37. document.getElementById('tab_content_es').style.display = 'none';
  38. document.getElementById('tab_content_eu').style.display = 'none';
  39. document.getElementById('tab_content_en').style.display = 'inline-block';
  40. document.getElementById('tab_selector_es').style.color = '#8899bb';
  41. document.getElementById('tab_selector_eu').style.color = '#8899bb';
  42. document.getElementById('tab_selector_en').style.color = '#000000';
  43. document.getElementById('tab_selector_es').style.zIndex = '1';
  44. document.getElementById('tab_selector_eu').style.zIndex = '1';
  45. document.getElementById('tab_selector_en').style.zIndex = '3';
  46. document.getElementById('tab_selector_es').style.borderBottom = '0.1em solid #000000';
  47. document.getElementById('tab_selector_eu').style.borderBottom = '0.1em solid #000000';
  48. document.getElementById('tab_selector_en').style.borderBottom = '0em solid #000000';
  49. break;
  50. }
  51. }
  52. /**
  53. * Validates all the fields before adding a new activity.
  54. *
  55. * @return true if fields are ok, false otherwise.
  56. */
  57. function validateActivity(){
  58. var text_es = document.getElementById('text_es').value;
  59. var text_eu = document.getElementById('text_eu').value;
  60. var text_en = document.getElementById('text_en').value;
  61. var title_es = document.getElementById('title_es').value;
  62. var title_eu = document.getElementById('title_eu').value;
  63. var title_en = document.getElementById('title_en').value;
  64. result = true;
  65. //Spanish fields empty
  66. if (title_es.length < 1){
  67. result = false;
  68. alert("Introduce un titulo en castellano");
  69. return false;
  70. }
  71. if (text_es.length < 1){
  72. result = false;
  73. alert("Introduce un texto en castellano");
  74. return false;
  75. }
  76. //Titles without texts
  77. if (title_eu.length > 0 && text_eu.length < 1){
  78. result = false;
  79. alert("Introduce un texto o borra el titulo en euskera")
  80. return false;
  81. }
  82. if (title_en.length > 0 && text_en.length < 1){
  83. result = false;
  84. alert("Introduce un texto o borra el titulo en ingles")
  85. return false;
  86. }
  87. //Text without titles
  88. if (text_eu.length > 0 && title_eu.length < 1){
  89. result = false;
  90. alert("Introduce un titulo o borra el texto en euskera")
  91. return false;
  92. }
  93. if (text_en.length > 0 && title_en.length < 1){
  94. result = false;
  95. alert("Introduce un titulo o borra el texto en ingles")
  96. return false;
  97. }
  98. // TODO: check date
  99. // TODO: check numeric fields price, people
  100. return true;
  101. }
  102. /**
  103. * Shows an image that has been just uploaded.
  104. *
  105. * @param source Image resource.
  106. * @param target img tag to display the image on.
  107. * @return true if fields are ok, false otherwise.
  108. */
  109. function previewImage(source, target) {
  110. var reader = new FileReader();
  111. reader.readAsDataURL(source.files[0]);
  112. reader.onload = function (reader_event) {
  113. target.src = reader_event.target.result;
  114. target.style.border = "2px solid black";
  115. target.style.display = "inline";
  116. };
  117. };
  118. /**
  119. * Shows th enext itinerary row.
  120. *
  121. * @param current The current row identifier.
  122. */
  123. function showNextRow(current){
  124. if (document.getElementById('sh_' + current).value != '' ||
  125. document.getElementById('eh_' + current).value != '' ||
  126. document.getElementById('sm_' + current).value != '' ||
  127. document.getElementById('em_' + current).value != '' ||
  128. document.getElementById('place_' + current).value != -1 ||
  129. document.getElementById('title_es_' + current).value != '' ||
  130. document.getElementById('title_en_' + current).value != '' ||
  131. document.getElementById('title_eu_' + current).value != '' ||
  132. document.getElementById('text_es_' + current).value != '' ||
  133. document.getElementById('text_en_' + current).value != '' ||
  134. document.getElementById('text_eu_' + current).value != ''
  135. ){
  136. document.getElementById('itinerary_row_' + (current + 1)).style.display = 'table-row';
  137. }
  138. else{
  139. document.getElementById('itinerary_row_' + (current + 1)).style.display = 'none';
  140. }
  141. }