class PriceManager { static var _instance : PriceManager; var _codeToSkuLookup : Array; var _loadData; var _pricing; function PriceManager() { this._codeToSkuLookup = []; this._codeToSkuLookup['6f'] = 'MOTH050D'; this._codeToSkuLookup['6g'] = 'MOTH033D'; this._codeToSkuLookup['6d'] = 'MOTH025D'; this._codeToSkuLookup['6c'] = 'MOTH020D'; this._codeToSkuLookup['6b'] = 'MOTH015D'; this._codeToSkuLookup['6a'] = 'MOTH010D'; this._codeToSkuLookup['500D'] = 'MOTH500L'; this._codeToSkuLookup['250D'] = 'MOTH250L'; this._codeToSkuLookup['375D'] = 'MOTH375L'; this._codeToSkuLookup['500'] = 'MOTH500'; this._codeToSkuLookup['250'] = 'MOTH250'; this._codeToSkuLookup['375'] = 'MOTH375'; } static function get instance() { if (PriceManager._instance == undefined || PriceManager._instance == null) { PriceManager._instance = new PriceManager(); } return PriceManager._instance; } public function codeToSku(code,braceletSize) { trace('codeToSku:' + code + ':' + braceletSize); if (this._codeToSkuLookup[code] != undefined && this._codeToSkuLookup[code] != null) { return this._codeToSkuLookup[code]; } else { if (code.substring(1) == 'd') { return this._codeToSkuLookup[braceletSize + 'D']; } else { return 0; } } } public function skuToPrice(sku) { return Number(this._pricing[sku].Price); } public function codeToPrice(code, braceletSize) { var sku = this.codeToSku(code, braceletSize); if (sku== 0) { return sku; } else { return Number(this._pricing[sku].Price); } } public function set pricing(rawPricing) { this._pricing = []; var i = 0; while (i < rawPricing.length) { this._pricing[rawPricing[i].ID] = rawPricing[i]; ++i; } } public function get pricing() { return this._pricing; } public function getPricing() { this._loadData = new LoadVars(); this._loadData.sendAndLoad(_root.wwwRoot + '/BraceletConfigurator/PriceList.aspx', this._loadData, 'POST'); this._loadData.onData = function (src) { trace(src); PriceManager.instance.pricing = ls.data.DataReader.getTable(src); }; } }