aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/styles/prosilver/template/timezone.js
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/styles/prosilver/template/timezone.js')
-rw-r--r--phpBB/styles/prosilver/template/timezone.js100
1 files changed, 48 insertions, 52 deletions
diff --git a/phpBB/styles/prosilver/template/timezone.js b/phpBB/styles/prosilver/template/timezone.js
index b8d3c2f152..30f4b87425 100644
--- a/phpBB/styles/prosilver/template/timezone.js
+++ b/phpBB/styles/prosilver/template/timezone.js
@@ -1,35 +1,30 @@
+(function($) { // Avoid conflicts with other libraries
+
/**
* Hide the optgroups that are not the selected timezone
*
* @param bool keep_selection Shall we keep the value selected, or shall the user be forced to repick one.
*/
-function phpbb_switch_tz_date(keep_selection)
-{
- $('#timezone > optgroup').css("display", "none");
- $("#timezone > optgroup[label='" + $('#tz_date').val() + "']").css("display", "block");
+phpbb.timezone_switch_date = function(keep_selection) {
+ $('#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 ($("#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);
+ $("#timezone > optgroup[label='" + $('#tz_date').val() + "'] > option:first").attr('selected', true);
keep_selection = true;
}
- if (typeof keep_selection !== 'undefined')
- {
- if (!keep_selection)
- {
- $('#timezone > option:first').attr("selected", true);
- }
+ if (typeof keep_selection !== 'undefined' && !keep_selection) {
+ $('#timezone > option:first').attr('selected', true);
}
}
/**
* Display the date/time select
*/
-function phpbb_enable_tz_dates()
-{
- $('#tz_select_date').css("display", "block");
+phpbb.timezone_enable_date_selection = function() {
+ $('#tz_select_date').css('display', 'block');
}
/**
@@ -37,72 +32,73 @@ function phpbb_enable_tz_dates()
*
* @param bool force_selector Shall we select the suggestion?
*/
-function phpbb_preselect_tz_select(force_selector)
-{
+phpbb.timezone_preselect_select = function(force_selector) {
// The offset returned here is in minutes and negated.
// http://www.w3schools.com/jsref/jsref_getTimezoneOffset.asp
var offset = (new Date()).getTimezoneOffset();
- if (offset < 0)
- {
+
+ if (offset < 0) {
var sign = '+';
offset = -offset;
- }
- else
- {
+ } else {
var sign = '-';
}
+
var minutes = offset % 60;
var hours = (offset - minutes) / 60;
- if (hours < 10)
- {
+
+ if (hours < 10) {
hours = '0' + hours.toString();
- }
- else
- {
+ } else {
hours = hours.toString();
}
- if (minutes < 10)
- {
+
+ if (minutes < 10) {
minutes = '0' + minutes.toString();
- }
- else
- {
+ } else {
minutes = minutes.toString();
}
var prefix = 'GMT' + sign + hours + ':' + minutes;
var prefix_length = prefix.length;
-
var selector_options = $('#tz_date > option');
- for (var i = 0; i < selector_options.length; ++i)
- {
+
+ for (var i = 0; i < selector_options.length; ++i) {
var option = selector_options[i];
- if (option.value.substring(0, prefix_length) == prefix)
- {
- if ($('#tz_date').val() != option.value && !force_selector)
- {
+
+ if (option.value.substring(0, prefix_length) == prefix) {
+ 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.
- $('#tz_select_date_suggest').css("display", "inline");
- $('#tz_select_date_suggest').attr("title", $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML));
- $('#tz_select_date_suggest').attr("value", $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML.substring(0, 9)));
- phpbb_switch_tz_date(true);
- }
- else
- {
+ $('#tz_select_date_suggest').css('display', 'inline');
+ $('#tz_select_date_suggest').attr('title', $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML));
+ $('#tz_select_date_suggest').attr('value', $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML.substring(0, 9)));
+ phpbb.timezone_switch_date(true);
+ } else {
option.selected = true;
- phpbb_switch_tz_date(!force_selector);
- $('#tz_select_date_suggest').css("display", "none");
+ phpbb.timezone_switch_date(!force_selector);
+ $('#tz_select_date_suggest').css('display', 'none');
}
break;
}
}
}
+})(jQuery); // Avoid conflicts with other libraries
+
+$('#tz_date').change(function() {
+ phpbb.timezone_switch_date(false);
+});
+
$('#tz_select_date_suggest').click(function(){
- phpbb_preselect_tz_select(true, '');
+ phpbb.timezone_preselect_select(true);
});
-phpbb_enable_tz_dates();
-phpbb_preselect_tz_select($('#tz_select_date_suggest').attr('data-is-registration') == "true");
+$(document).ready(
+ phpbb.timezone_enable_date_selection
+);
+
+$(document).ready(
+ phpbb.timezone_preselect_select($('#tz_select_date_suggest').attr('data-is-registration') == 'true')
+);