Your IP : 18.219.40.177


Current Path : /usr/local/mgr5/skins/orion/src/
Upload File :
Current File : //usr/local/mgr5/skins/orion/src/App.Cookie.js

//Cookie module
App.Cookie = (function () {
  "use strict";
  var init = function () {
      EventMgr.bind('menuTypeChanged', updateMenuType);
      EventMgr.bind('groupChanged', updateMenu);
      EventMgr.bind('loadPage', beginCookie);
      EventMgr.bind('menuPositionChanged', updateMenuPos);
    },
  // get began cookie
    beginCookie = function () {
      var menupane = getCookie('menupane'),
        mbar = getCookie('mbar'),
        menupos = getCookie('menupos'),
        cookie = {
          menupane: menupane,
          mbar: mbar,
          menupos: menupos
        };
      EventMgr.trigger('readCookie', cookie);
    },
  //update cookie menu type
    updateMenuType = function (e, data) {
      //check data?
      var name = 'mbar',
        re = new RegExp(pageInfo.product + '-' + pageInfo.level + '-' + '(all|popular|favorite)'),
        value = pageInfo.product + '-' + pageInfo.level + '-' + data,
        curCookie = getCookie(name);

      if (curCookie.match(re)) {
        value = curCookie.replace(re, value);
      } else {
        value = curCookie + ':' + value;
      }
      setCookie(name, value, 600);
    },
  // update cookie menu status items
    updateMenu = function (e, data) {
      //check data?
      //new method for toogle?
      var groups = data.groups,
        value,
        name = 'menupane',
        curCookie = getCookie(name),
        re,
        keyVar;
      curCookie = curCookie.replace(/:+/g,":");
      /* jslint forin:true */
      for (keyVar in groups) {
        re = new RegExp(groups[keyVar].level + '_' + groups[keyVar].id + '-' + '[01]');

        value = groups[keyVar].level + '_' + groups[keyVar].id + '-' + groups[keyVar].status;

        if (curCookie.match(re)) {
          curCookie = curCookie.replace(re, value);
        } else {
          if (curCookie !== '') {
            curCookie += ':' + value;
          } else {
            curCookie += value;
          }
        }
      }
      setCookie(name, curCookie, 600);
    },
  // update cookie menu position
    updateMenuPos = function (e, data) {
      //check data?
      var name = 'menupos',
        re = new RegExp(pageInfo.product + '-' + pageInfo.level + '-' + '(open|closed)'),
        value = pageInfo.product + '-' + pageInfo.level + '-' + data.menupos,
        curCookie = getCookie(name);

      if (curCookie.match(re)) {
        value = curCookie.replace(re, value);
      } else {
        value = curCookie + ':' + value;
      }
      setCookie(name, value, 600);
    };
  return {
    init: init
  };

}());