diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2012-06-17 16:54:12 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2012-06-18 15:09:55 +0200 |
commit | 5441ee1ee489ef9ad1727f110c440dde5417cc1f (patch) | |
tree | 06a33d78b0e9dec0d37e6d4053d85c415de75cb8 /phpBB/styles/subsilver2/template | |
parent | 5f96e5d374d1702d3d81591b7c69ede1cafebfa7 (diff) | |
download | forums-5441ee1ee489ef9ad1727f110c440dde5417cc1f.tar forums-5441ee1ee489ef9ad1727f110c440dde5417cc1f.tar.gz forums-5441ee1ee489ef9ad1727f110c440dde5417cc1f.tar.bz2 forums-5441ee1ee489ef9ad1727f110c440dde5417cc1f.tar.xz forums-5441ee1ee489ef9ad1727f110c440dde5417cc1f.zip |
[feature/new-tz-handling] Use jQuery and INCLUDEJS for javascript
PHPBB3-9558
Diffstat (limited to 'phpBB/styles/subsilver2/template')
-rw-r--r-- | phpBB/styles/subsilver2/template/timezone.js | 47 | ||||
-rw-r--r-- | phpBB/styles/subsilver2/template/timezone_option.html | 8 |
2 files changed, 29 insertions, 26 deletions
diff --git a/phpBB/styles/subsilver2/template/timezone.js b/phpBB/styles/subsilver2/template/timezone.js index deebbf36a8..f73a82a063 100644 --- a/phpBB/styles/subsilver2/template/timezone.js +++ b/phpBB/styles/subsilver2/template/timezone.js @@ -1,37 +1,32 @@ function phpbb_switch_tz_date(keep_selection) { - var timezone_groups = document.getElementById("timezone"); - for (var i = 0; i < timezone_groups.childElementCount; i++) { - if (timezone_groups.children[i].tagName == "OPTGROUP" && - timezone_groups.children[i].label != document.getElementById("tz_date").value) - { - timezone_groups.children[i].style.display = "none"; - } - else if (timezone_groups.children[i].tagName == "OPTGROUP") - { - // Display other options - timezone_groups.children[i].style.display = "block"; - } + $('#timezone > optgroup').css("display", "none"); + $("#timezone > optgroup[label='" + $('#tz_date').val() + "']").css("display", "block"); + + if ($("#timezone > optgroup[label='" + $('#tz_date').val() + "'] > option").size() == 1) + { + // If there is only one timezone for the selected date, we just select that automatically. + $("#timezone > optgroup[label='" + $('#tz_date').val() + "'] > option:first").attr("selected", true); + keep_selection = true; } + if (typeof keep_selection !== 'undefined') { if (!keep_selection) { - timezone_groups.children[0].selected = true; + $('#timezone > option:first').attr("selected", true); } } } function phpbb_enable_tz_dates() { - var tz_select_date = document.getElementById("tz_select_date"); - tz_select_date.style.display = "block"; + $('#tz_select_date').css("display", "block"); } function phpbb_preselect_tz_select(force_selector, l_suggestion) { - var selector = document.getElementById('tz_date'); // The offset returned here is in minutes and negated. // http://www.w3schools.com/jsref/jsref_getTimezoneOffset.asp var offset = (new Date()).getTimezoneOffset(); @@ -62,20 +57,23 @@ function phpbb_preselect_tz_select(force_selector, l_suggestion) { minutes = minutes.toString(); } + var prefix = 'GMT' + sign + hours + ':' + minutes; var prefix_length = prefix.length; - for (var i = 0; i < selector.options.length; ++i) + + var selector_options = $('#tz_date > option'); + for (var i = 0; i < selector_options.length; ++i) { - var option = selector.options[i]; + var option = selector_options[i]; if (option.value.substring(0, prefix_length) == prefix) { - if (selector.value && selector.value != option.value && !force_selector) + if ($('#tz_date').val() != option.value && !force_selector) { // We do not select the option for the user, but notify him, // that we would suggest a different setting. - document.getElementById("tz_select_date_suggest").style.display = "inline"; - document.getElementById("tz_select_date_suggest").title = l_suggestion.replace("%s", option.innerHTML); - document.getElementById("tz_select_date_suggest").innerHTML = l_suggestion.replace("%s", option.innerHTML.substring(0, 9)); + $('#tz_select_date_suggest').css("display", "inline"); + $('#tz_select_date_suggest').attr("title", l_suggestion.replace("%s", option.innerHTML)); + $('#tz_select_date_suggest').html(l_suggestion.replace("%s", option.innerHTML.substring(0, 9))); phpbb_switch_tz_date(true); } else @@ -87,9 +85,12 @@ function phpbb_preselect_tz_select(force_selector, l_suggestion) // about that here unfortunately. option.selected = true; phpbb_switch_tz_date(!force_selector); - document.getElementById("tz_select_date_suggest").style.display = "none"; + $('#tz_select_date_suggest').css("display", "none"); } break; } } } + +phpbb_enable_tz_dates(); +phpbb_preselect_tz_select(is_registration, l_timezone_date_suggestion); diff --git a/phpBB/styles/subsilver2/template/timezone_option.html b/phpBB/styles/subsilver2/template/timezone_option.html index 184722ef7e..0806186c9c 100644 --- a/phpBB/styles/subsilver2/template/timezone_option.html +++ b/phpBB/styles/subsilver2/template/timezone_option.html @@ -15,8 +15,10 @@ {S_TZ_OPTIONS} </select> - <script type="text/javascript" src="{T_SUPER_TEMPLATE_PATH}/timezone.js"></script> - <script type="text/javascript">phpbb_enable_tz_dates();</script> - <script type="text/javascript">phpbb_preselect_tz_select(<!-- IF S_REGISTRATION -->true<!-- ELSE -->false<!-- ENDIF -->, '{L_TIMEZONE_DATE_SUGGESTION}');</script> + <script type="text/javascript"> + var is_registration = <!-- IF S_REGISTRATION -->true<!-- ELSE -->false<!-- ENDIF -->; + var l_timezone_date_suggestion = "{L_TIMEZONE_DATE_SUGGESTION}"; + </script> + <!-- INCLUDEJS template/timezone.js --> </td> </tr> |