2015-08-17 17:00:26 -07:00
/ * *
2018-11-23 12:29:20 +00:00
* DO NOT EDIT THIS FILE .
* See the following change record for more information ,
* https : //www.drupal.org/node/2815083
* @ preserve
* * /
2015-08-17 17:00:26 -07:00
2016-04-20 09:56:34 -07:00
( function ( $ , Drupal ) {
2015-08-17 17:00:26 -07:00
Drupal . behaviors . setTimezone = {
2018-11-23 12:29:20 +00:00
attach : function attach ( context , settings ) {
2015-08-17 17:00:26 -07:00
var $timezone = $ ( context ) . find ( '.timezone-detect' ) . once ( 'timezone' ) ;
if ( $timezone . length ) {
var dateString = Date ( ) ;
2018-11-23 12:29:20 +00:00
2015-08-17 17:00:26 -07:00
var matches = dateString . match ( /\(([A-Z]{3,5})\)/ ) ;
var abbreviation = matches ? matches [ 1 ] : 0 ;
var dateNow = new Date ( ) ;
var offsetNow = dateNow . getTimezoneOffset ( ) * - 60 ;
var dateJan = new Date ( dateNow . getFullYear ( ) , 0 , 1 , 12 , 0 , 0 , 0 ) ;
var dateJul = new Date ( dateNow . getFullYear ( ) , 6 , 1 , 12 , 0 , 0 , 0 ) ;
var offsetJan = dateJan . getTimezoneOffset ( ) * - 60 ;
var offsetJul = dateJul . getTimezoneOffset ( ) * - 60 ;
2018-11-23 12:29:20 +00:00
var isDaylightSavingTime = void 0 ;
2015-08-17 17:00:26 -07:00
if ( offsetJan === offsetJul ) {
isDaylightSavingTime = '' ;
2018-11-23 12:29:20 +00:00
} else if ( Math . max ( offsetJan , offsetJul ) === offsetNow ) {
isDaylightSavingTime = 1 ;
} else {
isDaylightSavingTime = 0 ;
}
2015-08-17 17:00:26 -07:00
var path = 'system/timezone/' + abbreviation + '/' + offsetNow + '/' + isDaylightSavingTime ;
$ . ajax ( {
async : false ,
url : Drupal . url ( path ) ,
2018-11-23 12:29:20 +00:00
data : { date : dateString } ,
2015-08-17 17:00:26 -07:00
dataType : 'json' ,
2018-11-23 12:29:20 +00:00
success : function success ( data ) {
2015-08-17 17:00:26 -07:00
if ( data ) {
$timezone . val ( data ) ;
}
}
} ) ;
}
}
} ;
2018-11-23 12:29:20 +00:00
} ) ( jQuery , Drupal ) ;