ui.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /**
  2. * Changes the site language.
  3. * @param code Two-letter language code ("es", "en" or "eu").
  4. * @param host Hostname.
  5. */
  6. function changeLanguage(code, host){
  7. var days = 100;
  8. if (code == 'es' || code == 'en' || code == 'eu'){
  9. var date = new Date();
  10. date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  11. expires = '; expires=' + date.toGMTString();
  12. document.cookie = 'lang=' + code + expires + ';domain=.' + host + ';path=/';
  13. location.reload();
  14. }
  15. }
  16. /**
  17. * Keeps track of the menu state in the mobile version.
  18. * Used by {@link toggleMobileMenu()}.
  19. */
  20. var mobileMenuState = false;
  21. /**
  22. * Opens the main menu in the mobile version.
  23. * Called from {@link toggleMobileMenu()}.
  24. */
  25. function openMobileMenu(){
  26. //Hide title, show entries
  27. document.getElementById('header_m_title').style.maxHeight = '0em';
  28. var entries = document.getElementsByClassName('header_m_link');
  29. for (var i = 0; i < entries.length; i ++){
  30. entries.item(i).style.maxHeight = '2em';
  31. entries.item(i).style.padding = '0.5em 0 0 0';
  32. entries.item(i).style.borderBottom = '0.1em solid black';
  33. }
  34. mobileMenuState = true;
  35. }
  36. /**
  37. * Closes the main menu in the mobile version.
  38. * Called from {@link toggleMobileMenu()}.
  39. */
  40. function closeMobileMenu(){
  41. //Hide entries, show title
  42. document.getElementById('header_m_title').style.maxHeight = '3.5em';
  43. document.getElementById('header_m_slider').style.display = 'none';
  44. var entries = document.getElementsByClassName('header_m_link');
  45. for (var i = 0; i < entries.length; i ++){
  46. //entries.item(i).style.display = 'none';
  47. entries.item(i).style.maxHeight = '0em';
  48. entries.item(i).style.padding = '0em';
  49. entries.item(i).style.borderBottom = '0';
  50. }
  51. mobileMenuState = false;
  52. }
  53. /**
  54. * Toggles the main menu in the mobile version.
  55. * Calls {@link closeMobileMenu()} or {@link closeMobileMenu()},
  56. * depending on {@link mobileMenuState}.
  57. */
  58. function toggleMobileMenu(){
  59. if (mobileMenuState){
  60. closeMobileMenu();
  61. }
  62. else{
  63. openMobileMenu();
  64. }
  65. }
  66. /**
  67. * Shows the advertisment window.
  68. */
  69. function showAd(){
  70. setTimeout(function(){document.getElementById('ad').style.bottom = '0';}, 3000);
  71. }
  72. /**
  73. * Closes the advertisment window.
  74. */
  75. function closeAd(){
  76. document.getElementById('ad').style.bottom = '-25em';
  77. }