123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
-
- Namespace.register("U.DW");
- U.DW.local = function (UTP, UDE) {
- if ((!browser.msie || Number(browser.ver[2]) > 6)) {
- try {
- var _UDE = new Date();
- (!UTP) && (_UDE.setTime(_UDE.getTime() + (9999 * 24 * 60 * 60 * 1000)), _UBE.expires = _UDE.toUTCString());
- } catch (e) { }
- }
- return new U.DW.local.init(UTP);
- }
- U.DW.local.init = function (UTP, UDE) {
- U.Ut.AddObj(this, {
- UTP: UTP,
- UTF: (this.UJE = (UTP ? window.sessionStorage : window.localStorage)),
- UJE: this.UJE || $$("input", { "type": "hidden", "style": { "behavior": "url(#default#userdata)"} }, document.body),
- UDE: UDE || {},
- UGE: null,
- scb: null,
- date: {}
- });
-
- (UDE && UDE.event) && (this.on(UDE.event));
- return this;
- }
- U.DW.local._cb = function (UTH) {
- clearInterval(UTH.UTI);
- UTH.UTI = setInterval(function () {
- var _UDE = U.DW.local.iep(UTH);
- (_UDE && UTH.UDE.event) && (UTH.UDE.event(_UDE));
- }, 5000);
- };
- U.DW.local.iep = function (UTH, UE) {
- var i,
- _UOE = UTH.date,
- _UNE = UTH.UJE;
- UTH.date = U.DW.local.get(UTH),
- _UKE = UTH.getAllKey();
- for (i = 0; i < _UKE.length; i++) {
- if (_UOE[_UKE[i]] != _UNE[_UKE[i]]) {
- return {
- Property: null,
- key: _UKE[i],
- oldValue: _UOE[_UKE[i]],
- newValue: _UNE[_UKE[i]],
- url: UE ? (UE.url || UE.uri) : document.location.host
- };
- }
- }
- }
- U.DW.local.get = function (UTH) {
- var i, _UKE; UTH.date = [];
- if (browser.ver[1] == "msie" && browser.ver[2].toInt() < 9) {
- _UKE = UTH.getAllKey();
- for (i = 0; i < _UKE.length; i++) {
- UTH.date[_UKE[i]] = UTH.UJE[_UKE[i]];
- }
- }
- return UTH.date;
- }
- U.DW.local.init.prototype = {
-
- on: function (UDE) {
- this.off();
- this.UDE.event = UDE;
- this.scb = U.M.apply(this, this["storage"]);
- U.DW.local.get(this);
- this.UTF ? (U.M.AddEvent("storage", window, this.scb), U.M.AddEvent("storage", document, this.scb)) : U.DW.local._cb(this, this.getAll());
- },
-
- off: function () {
- this.UTF ? (U.M.ReEvent("storage", window, this.scb), U.M.ReEvent("storage", document, this.scb)) : clearInterval(this.UTI);
- },
-
- set: function (UDE, USE) {
- if (this.UJE) {
- var i, _UME = this.UJE;
- (USE != null) && (i = UDE, UDE = {}, UDE[i] = USE);
-
- for (i in UDE) {
- (UDE.hasOwnProperty(i)) && (this.UTF ? _UME.setItem(i, UDE[i]) : (_UME.setAttribute(i, UDE[i]), _UME.save("us")));
- }
- }
- return this;
- },
-
- storage: function (UE) {
- if (this.UDE.event) {
- var _UCB = this.UDE.event;
- if (UE.newValue == null) {
- UE = U.DW.local.iep(this);
- }
- (_UCB && UE) && (_UCB(UE));
- U.M.StopBubble();
- }
- },
-
- get: function (UIE) {
- if (this.UJE) {
- var i, _UME = this.UJE,
- _USE = {},
- _UTP = this.UTF ? "getItem" : (_UME.load("us"), "getAttribute");
- if (U.Ut.isString(UIE)) {
- return _UME[_UTP](UIE);
- }
- if (U.Ut.isArray(UIE)) {
- for (i = 0; i < UIE.length; i++) {
- _USE[UIE[i]] = _UME[_UTP](UIE[i]);
- }
- }
- else if (U.Ut.isObject(UIE)) {
- for (i in UIE) { (UIE.hasOwnProperty(i)) && (_USE[i] = _UME[_UTP](i)); }
- }
- return _USE;
- }
- },
-
- getAll: function () {
- var i, _UKE, _USE = {},
- _UME = this.UJE;
- if (this.UTF) {
- for (i = 0; i < _UME.length; i++) {
- _UKE = this.key(i);
- _USE[_UKE] = this.get(_UKE);
- }
- }
- else {
- _UME = _UME.XMLDocument.documentElement.attributes;
- for (i = 0; i < _UME.length; i++) {
- _USE[_UME[i].name] = _UME[i].nodeValue;
- }
- }
- return _USE;
- },
-
- getAllKey: function () {
- if (this.UJE) {
- var _UME = this.UJE,
- _USE = [];
- if (this.UTF) {
- for (i = 0; i < _UME.length; i++) {
- _USE.push(this.key(i));
- }
- }
- else {
- _UME = _UME.XMLDocument.documentElement.attributes;
- for (i = 0; i < _UME.length; i++) { _USE.push(_UME[i].name); }
- }
- return _USE;
- }
- },
-
- remove: function (UIE) {
- if (this.UJE) {
- var i,
- _UME = this.UJE,
- _UTP = this.UTF ? "removeItem" : "removeAttribute";
- if (U.Ut.isString(UIE)) {
- _UME[_UTP](UIE);
- }
- else if (U.Ut.isArray(UIE)) {
- for (i = 0; i < UIE.length; i++) {
- _UME[_UTP](UIE[i]);
- }
- }
- else {
- for (i in UIE) {
- (UIE.hasOwnProperty(i)) && (_UME[_UTP](i));
- }
- }
- (!this.UTF) && (_UME.save("us"));
- } return this;
- },
-
- clear: function () {
- if (this.UJE) {
- if (this.UTF) { this.UJE.clear(); }
- else {
- var i, _UME = this.UJE;
- _UME.load("us");
- _UME = _UME.XMLDocument.documentElement.attributes;
- for (i = 0; i < _UME.length; i++) { _UME.remove(_UME[i].name); }
- }
- }
- },
-
- key: function (UI) {
- if (this.UJE) {
- if (this.UTF) {
- return this.UJE.key(UI);
- }
- else {
- var _UME = this.UJE;
- _UME.load("us"),
- _UDM = _UME.XMLDocument.documentElement.attrbutes;
- if (_UDM[UI]) {
- return _UDM[UI].name;
- }
- }
- }
- },
-
- length: function () {
- if (this.UJE) {
- if (this.UTF) { return this.UJE.length; }
- else {
- var _UL, _UDM,
- _UME = this.UJE;
- _UME.load("us");
- _UDM = _UME.XMLDocument;
- ((_UDM = _UDM.childNodes[0]) && (_UL = _UDM.attributes.length));
- return _UL;
- }
- }
- }
- }
|