function AdfDhtmlChooseDateTimeZoneUtils(){}
AdfDhtmlChooseDateTimeZoneUtils.getTimeZones=function(a,b){if(a){for(var d="",e=-1,f={},g=!1,h=AdfRichTimeZoneTranslations.getTimeZoneTranslations(),k=[],d=0;d<h.length;d++)k[d]=AdfDhtmlChooseDateDOMUtils.getKeys(h[d])[0];b&&(-1!=a.indexOf(b)?g=!0:(d=h[k.indexOf(b)][b],e=AdfDhtmlChooseDateTimeZoneUtils._getMinutesFromTimeZoneValue(d),f[b]=d));for(var l=[],m=a.length+(b&&!g?1:0),n=0,d=0;d<m&&n<a.length;d++){var q={},r=a[n];n++;var t=k.indexOf(r);-1!=t&&(q[r]=h[t][r],b&&!g&&AdfDhtmlChooseDateTimeZoneUtils._getMinutesFromTimeZoneValue(q[r])>
e&&(l[d]=f,d++,g=!0),l[d]=q)}b&&!g&&(l[m-1]=f);return l}return AdfDhtmlChooseDateTimeZoneUtils._getDefaultTimeZones(b)};
AdfDhtmlChooseDateTimeZoneUtils._getDefaultTimeZones=function(a){var b=AdfRichTimeZoneTranslations.getTimeZoneTranslations(),d=!1,e=[];if(AdfDhtmlChooseDateTimeZoneUtils._CACHED_COMMON_TIMEZONES)e=AdfDhtmlChooseDateTimeZoneUtils._CACHED_COMMON_TIMEZONES;else{for(var b=b.slice(0),f=0;f<b.length;f++){var g=b[f];if("true"!=g.common)break;delete g.common;e[f]=g;g[AdfDhtmlChooseDateDOMUtils.getKeys(g)]==a&&(d=!0)}AdfDhtmlChooseDateTimeZoneUtils._CACHED_COMMON_TIMEZONES=e}return a?d?e:AdfDhtmlChooseDateTimeZoneUtils._getCommonListWithAdditionalTimeZoneInjected(e,
a):e};
AdfDhtmlChooseDateTimeZoneUtils._getCommonListWithAdditionalTimeZoneInjected=function(a,b){for(var d=AdfRichTimeZoneTranslations.getTimeZoneTranslations(),e=a.slice(0),f=!1,g=-1,h,k,l=e.length-1;l<d.length;l++)if(AdfDhtmlChooseDateDOMUtils.getKeys(d[l])[0]==b){h=d[l][b];k=AdfDhtmlChooseDateTimeZoneUtils._getMinutesFromTimeZoneValue(h);break}for(l=0;l<e.length;l++){if(AdfDhtmlChooseDateDOMUtils.getKeys(e[l])[0]==b){f=!0;break}if(AdfDhtmlChooseDateTimeZoneUtils._getMinutesFromTimeZoneValue(e[l][AdfDhtmlChooseDateDOMUtils.getKeys(e[l])[0]])>k){g=
l;break}}f||(-1==g&&(g=e.length),h&&(d={},d[b]=h,e.splice(g,0,d)));return e};AdfDhtmlChooseDateTimeZoneUtils._getMinutesFromTimeZoneValue=function(a){a=a.match("[+-][0-9]{2}:[0-9]{2}")[0];var b=parseInt(a.match("[0-9]{2}")),d=parseInt(a.match("(?![0-9]{2}:)[0-9]{2}"));return parseInt(a[0]+(60*b+d))};