home *** CD-ROM | disk | FTP | other *** search
- package controller
- {
- import flash.events.Event;
- import flash.events.EventDispatcher;
- import flash.net.SharedObject;
-
- public class SharedObjectController extends EventDispatcher
- {
- private static var _isbn:String;
-
- private static var allowInstantiation:Boolean;
-
- private static var queue:Array;
-
- private static var INIT:String = "oninit";
-
- public static var SMOOTHING:String = "smoothing";
-
- public static var SAVEATCLOSECHANGE:String = "saveatclosechange";
-
- public static var INTROCOMPLETE:String = "introcomplete";
-
- private static var instance:SharedObjectController = null;
-
- private static var _smoothing:Boolean = false;
-
- private static var _introComplete:Boolean = false;
-
- public static var FIRSTTIME_HIGHLIGHT:* = "firsttimehighlight";
-
- public function SharedObjectController()
- {
- super();
- if(!allowInstantiation)
- {
- throw new Error("Error: Instantiation failed: Use SingletonDemo.getInstance() instead of new.");
- }
- }
-
- public static function getInstance(param1:String = null) : SharedObjectController
- {
- if(instance == null)
- {
- trace("ISBN :" + param1);
- _isbn = param1;
- queue = new Array();
- allowInstantiation = true;
- instance = new SharedObjectController();
- allowInstantiation = false;
- }
- return instance;
- }
-
- public function set firstTime(param1:Boolean) : void
- {
- if(param1)
- {
- dispatchEvent(new Event(FIRSTTIME_HIGHLIGHT));
- }
- var _loc2_:SharedObject = SharedObject.getLocal(_isbn + "_global");
- _loc2_.data.firsttime = param1;
- _loc2_.flush();
- }
-
- public function get firstTime() : Boolean
- {
- var _loc1_:SharedObject = SharedObject.getLocal(_isbn + "_global");
- if(_loc1_.data.firsttime != null && _loc1_.data.firsttime != undefined)
- {
- return Boolean(_loc1_.data.firsttime);
- }
- return false;
- }
-
- public function set saveAtClose(param1:Boolean) : void
- {
- dispatchEvent(new Event(SAVEATCLOSECHANGE));
- var _loc2_:SharedObject = SharedObject.getLocal(_isbn + "_global");
- _loc2_.data.saveatclose = param1;
- _loc2_.flush();
- }
-
- public function get saveAtClose() : Boolean
- {
- var _loc1_:SharedObject = SharedObject.getLocal(_isbn + "_global");
- return Boolean(_loc1_.data.saveatclose);
- }
-
- public function set smoothVideos(param1:Boolean) : void
- {
- var _loc2_:SharedObject = SharedObject.getLocal(_isbn + "_global");
- _loc2_.data.smoothVideos = param1;
- _smoothing = param1;
- _loc2_.flush();
- dispatchEvent(new Event(SMOOTHING));
- }
-
- public function get smoothVideos() : Boolean
- {
- var _loc1_:SharedObject = SharedObject.getLocal(_isbn + "_global");
- if(_loc1_.data.smoothVideos == undefined || _loc1_.data.smoothVideos == null)
- {
- this.smoothVideos = true;
- _smoothing = true;
- }
- else
- {
- _smoothing = _loc1_.data.smoothVideos;
- }
- return Boolean(_loc1_.data.smoothVideos);
- }
-
- public function setHistoryBegin(param1:Number, param2:Number) : void
- {
- var _loc3_:SharedObject = SharedObject.getLocal(_isbn + "_histroy");
- if(_loc3_.data["h" + param1 + "_" + param2] == null || _loc3_.data["h" + param1 + "_" + param2] == undefined)
- {
- _loc3_.data["h" + param1 + "_" + param2] = "begin|" + param1 + "|" + param2;
- _loc3_.flush();
- return;
- }
- if(_loc3_.data["h" + param1 + "_" + param2].split("|")[2] != null && _loc3_.data["h" + param1 + "_" + param2].split("|")[0] != "done")
- {
- _loc3_.data["h" + param1 + "_" + param2] = "begin|" + param1 + "|" + param2 + "|begin";
- _loc3_.flush();
- }
- }
-
- public function setHistoryDone(param1:Number, param2:Number) : void
- {
- var _loc3_:SharedObject = SharedObject.getLocal(_isbn + "_histroy");
- _loc3_.data["h" + param1 + "_" + param2] = "done|" + param1 + "|" + param2;
- _loc3_.flush();
- }
-
- public function getHistory() : Array
- {
- var _loc3_:String = null;
- var _loc1_:SharedObject = SharedObject.getLocal(_isbn + "_histroy");
- var _loc2_:Array = new Array();
- for(_loc3_ in _loc1_.data)
- {
- _loc2_.push([_loc1_.data[_loc3_].split("|")[1],_loc1_.data[_loc3_].split("|")[2],_loc1_.data[_loc3_].split("|")[0]]);
- }
- return _loc2_;
- }
-
- public function killHistory() : void
- {
- var _loc1_:SharedObject = SharedObject.getLocal(_isbn + "_histroy");
- _loc1_.clear();
- _loc1_.flush();
- }
-
- public function setLastVideoPosition(param1:Number, param2:Number, param3:Number) : void
- {
- var _loc4_:SharedObject = SharedObject.getLocal(_isbn + "_global");
- _loc4_.data.lastvideoid = param1;
- _loc4_.data.lastvideosubid = param2;
- _loc4_.data.lastvideotimecode = param3;
- _loc4_.flush();
- }
-
- public function getLastVideoPosition() : Array
- {
- var _loc1_:SharedObject = SharedObject.getLocal(_isbn + "_global");
- return [_loc1_.data.lastvideoid,_loc1_.data.lastvideosubid,_loc1_.data.lastvideotimecode];
- }
-
- public function setBookmark(param1:Number, param2:Number, param3:Number, param4:String, param5:String) : void
- {
- trace("set " + param1 + "_" + param2);
- var _loc6_:Number = this.getBookmarks(param1,param2).length;
- var _loc7_:SharedObject = SharedObject.getLocal(_isbn + "_" + param1 + "_" + param2);
- var _loc8_:Date = new Date();
- var _loc9_:Number = Number(_loc8_.getTime());
- _loc7_.data["title" + _loc6_] = String(param4);
- _loc7_.data["notice" + _loc6_] = String(param5);
- _loc7_.data["timecode" + _loc6_] = String(param3);
- _loc7_.data["uid" + _loc6_] = _loc9_;
- _loc7_.flush();
- var _loc10_:int = 0;
- while(_loc10_ < queue.length)
- {
- if(param1 == queue[_loc10_].id && param2 == queue[_loc10_].subid)
- {
- queue[_loc10_].content.push([String(param3),String(param4),String(param5),_loc9_]);
- }
- _loc10_++;
- }
- }
-
- public function deleteBookmark(param1:Number, param2:Number, param3:Number) : void
- {
- var _loc7_:int = 0;
- var _loc8_:int = 0;
- var _loc4_:SharedObject = SharedObject.getLocal(_isbn + "_" + param1 + "_" + param2);
- var _loc5_:Array = this.getBookmarks(param1,param2);
- _loc4_.clear();
- _loc4_.flush();
- var _loc6_:int = 0;
- _loc7_ = 0;
- while(_loc7_ < _loc5_.length)
- {
- if(_loc5_[_loc7_][3] != param3)
- {
- trace("title" + _loc6_ + " | " + _loc5_[_loc7_][1]);
- _loc4_.data["notice" + _loc6_] = _loc5_[_loc7_][2];
- _loc4_.data["timecode" + _loc6_] = _loc5_[_loc7_][0];
- _loc4_.data["uid" + _loc6_] = _loc5_[_loc7_][3];
- _loc4_.data["title" + _loc6_] = _loc5_[_loc7_][1];
- _loc6_++;
- }
- _loc7_++;
- }
- _loc7_ = 0;
- while(_loc7_ < queue.length)
- {
- if(param1 == queue[_loc7_].id && param2 == queue[_loc7_].subid)
- {
- _loc8_ = 0;
- while(_loc8_ < queue[_loc7_].content.length)
- {
- if(queue[_loc7_].content[_loc8_][3] == param3)
- {
- queue[_loc7_].content.splice(_loc8_,1);
- }
- _loc8_++;
- }
- }
- _loc7_++;
- }
- _loc4_.flush();
- }
-
- public function getBookmarks(param1:Number, param2:Number) : Array
- {
- var _loc10_:String = null;
- var _loc11_:int = 0;
- var _loc3_:int = 0;
- while(_loc3_ < queue.length)
- {
- if(param1 == queue[_loc3_].id && param2 == queue[_loc3_].subid)
- {
- return queue[_loc3_].content;
- }
- _loc3_++;
- }
- var _loc4_:SharedObject = SharedObject.getLocal(_isbn + "_" + param1 + "_" + param2);
- var _loc5_:Array = new Array();
- var _loc6_:Array = new Array();
- var _loc7_:Array = new Array();
- var _loc8_:Array = new Array();
- var _loc9_:int = 0;
- for(_loc10_ in _loc4_.data)
- {
- _loc9_++;
- }
- _loc11_ = 0;
- while(_loc11_ < _loc9_ / 4)
- {
- _loc6_.push(_loc4_.data["notice" + _loc11_]);
- _loc5_.push(_loc4_.data["timecode" + _loc11_]);
- _loc7_.push(_loc4_.data["uid" + _loc11_]);
- _loc8_.push(_loc4_.data["title" + _loc11_]);
- _loc11_++;
- }
- var _loc12_:Array = new Array();
- var _loc13_:int = 0;
- while(_loc13_ < _loc5_.length)
- {
- if(_loc5_[_loc13_] != null && _loc8_[_loc13_] != null && _loc7_[_loc13_] != null && _loc6_[_loc13_] != null)
- {
- _loc12_.push([Number(_loc5_[_loc13_]),_loc8_[_loc13_],_loc6_[_loc13_],Number(_loc7_[_loc13_])]);
- trace(_loc5_[_loc13_] + "," + _loc8_[_loc13_] + "," + _loc6_[_loc13_] + "," + _loc7_[_loc13_]);
- }
- _loc13_++;
- }
- queue.push({
- "id":param1,
- "subid":param2,
- "content":_loc12_
- });
- return _loc12_;
- }
-
- public function get smoothing() : Boolean
- {
- return _smoothing;
- }
-
- public function set onIntro(param1:Boolean) : void
- {
- _introComplete = param1;
- dispatchEvent(new Event(INTROCOMPLETE));
- }
-
- public function get onIntro() : Boolean
- {
- return _introComplete;
- }
- }
- }
-
-