in IE, localeMatch might be null
[OpenSRF.git] / src / javascript / DojoSRF.js
1 if(!dojo._hasResource['DojoSRF']){
2
3         dojo._hasResource['DojoSRF'] = true;
4         dojo.provide('DojoSRF');
5         dojo.provide('OpenSRF');
6
7         // Note: this file was renamed from OpenSRF.js to DojoSRF.js,
8         // but still provides resources with the OpenSRF namespace
9         dojo.require('opensrf.md5', true);
10         dojo.require('opensrf.JSON_v1', true);
11         dojo.require('opensrf.opensrf', true);
12         dojo.require('opensrf.opensrf_xhr', true);
13
14         OpenSRF.session_cache = {};
15         OpenSRF.CachedClientSession = function ( app ) {
16                 if (this.session_cache[app]) return this.session_cache[app];
17                 this.session_cache[app] = new OpenSRF.ClientSession ( app );
18                 return this.session_cache[app];
19         }
20
21         localeRE = /^(\w\w)(-\w\w)?$/;
22         localeMatch = localeRE.exec(dojo.locale);
23
24         if (!localeMatch || !localeMatch[1]) {
25                 OpenSRF.locale = dojo.isIE ? navigator.userLanguage : navigator.language;
26         } else {
27                 OpenSRF.locale = localeMatch[1].toLowerCase();
28         }
29         if (localeMatch && localeMatch[2]) {
30                 OpenSRF.locale = OpenSRF.locale + localeMatch[2].toUpperCase();
31         }
32 }