//Oleg Antipov //http://www.blog.anegmetex.com package aneg { import flash.net.SharedObject; public class Cookie { private var _name:String; private var _so:SharedObject; public function Cookie(name:String = "tempCookie") { _name = name; _so = SharedObject.getLocal(name, "/" ); } // Получить имя cookie public function getName():String { return _name; } // Удалить все элементы из cookie public function clear():void { _so.clear(); } // добавить новое значение элементу // key - имя элемента value - значение public function put(key:String, value:*):void { key = "key_"+key; if(_so.data.cookie == undefined) { var obj:Object = {}; obj[key] = value; _so.data.cookie = obj; } else { _so.data.cookie[key] = value; } _so.flush(); } // удалить из cookie элемент по его названию public function remove(key:String):void { if (isKeyExist(key)) { delete _so.data.cookie["key_" + key]; _so.flush(); } } // получить значение элемента с именем key public function get(key:String):Object { return isKeyExist(key)?_so.data.cookie["key_"+key]:null; } // проверить существования элемента с именем key public function isKeyExist(key:String):Boolean { key = "key_" + key; return _so.data.cookie != undefined && _so.data.cookie[key] != undefined; } // проверить существует ли Cookie public function isExist():Boolean { return !(getSize()==0); } //Получить размер cookie в байтах public function getSize():uint { return _so.size; } } }